From fb6d7ed4752ec94ce414de6e78cdaf3f7515f9e9 Mon Sep 17 00:00:00 2001 From: Renaud Chaput Date: Mon, 21 Oct 2024 09:08:18 +0200 Subject: [PATCH 001/357] Replace `execCommand` for copying text with the modern `clipboard` API (#32598) --- app/javascript/entrypoints/public.tsx | 35 +++++++++++---------------- 1 file changed, 14 insertions(+), 21 deletions(-) diff --git a/app/javascript/entrypoints/public.tsx b/app/javascript/entrypoints/public.tsx index d33e00d5da88ce..c1e8418014af41 100644 --- a/app/javascript/entrypoints/public.tsx +++ b/app/javascript/entrypoints/public.tsx @@ -327,31 +327,24 @@ Rails.delegate(document, '.input-copy button', 'click', ({ target }) => { if (!input) return; - const oldReadOnly = input.readOnly; - - input.readOnly = false; - input.focus(); - input.select(); - input.setSelectionRange(0, input.value.length); - - try { - if (document.execCommand('copy')) { - input.blur(); - + navigator.clipboard + .writeText(input.value) + .then(() => { const parent = target.parentElement; - if (!parent) return; - parent.classList.add('copied'); + if (parent) { + parent.classList.add('copied'); - setTimeout(() => { - parent.classList.remove('copied'); - }, 700); - } - } catch (err) { - console.error(err); - } + setTimeout(() => { + parent.classList.remove('copied'); + }, 700); + } - input.readOnly = oldReadOnly; + return true; + }) + .catch((error: unknown) => { + console.error(error); + }); }); const toggleSidebar = () => { From 52af99ce778495cf843be8fdf4de7e9a5f393889 Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Mon, 21 Oct 2024 09:27:09 +0200 Subject: [PATCH 002/357] Update dependency libvips to v8.15.5 (#32596) 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 a5e35025ae2f6f..bb29ad21fa05ba 100644 --- a/Dockerfile +++ b/Dockerfile @@ -191,7 +191,7 @@ FROM build AS libvips # libvips version to compile, change with [--build-arg VIPS_VERSION="8.15.2"] # renovate: datasource=github-releases depName=libvips packageName=libvips/libvips -ARG VIPS_VERSION=8.15.3 +ARG VIPS_VERSION=8.15.5 # libvips download URL, change with [--build-arg VIPS_URL="https://github.com/libvips/libvips/releases/download"] ARG VIPS_URL=https://github.com/libvips/libvips/releases/download From a19a120769ee5a20851aaca42b98c96e9d659b78 Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Mon, 21 Oct 2024 09:27:27 +0200 Subject: [PATCH 003/357] Update DefinitelyTyped types (non-major) (#32278) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> --- yarn.lock | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/yarn.lock b/yarn.lock index 2e1ad6ade64be6..a4d65ef53e7637 100644 --- a/yarn.lock +++ b/yarn.lock @@ -3756,9 +3756,9 @@ __metadata: linkType: hard "@types/lodash@npm:^4.14.195": - version: 4.17.9 - resolution: "@types/lodash@npm:4.17.9" - checksum: 10c0/54de935e835508b5f835a5dfaedd2b9a299685a21d11e9c5cd2dde57331d03bc2f98b71d2424ca8460f447ecd55a673e45ccdb70e58f9f72745710f6b91abc60 + version: 4.17.12 + resolution: "@types/lodash@npm:4.17.12" + checksum: 10c0/106008f628ea3c74ed7ee7842dee79e230c84e3721ac38c293700031adb5bd130113048c22f476dbde0d0c119506b0fc447d4bd62eca922682d11e00e1377967 languageName: node linkType: hard @@ -3883,11 +3883,11 @@ __metadata: linkType: hard "@types/react-dom@npm:^18.2.4": - version: 18.3.0 - resolution: "@types/react-dom@npm:18.3.0" + version: 18.3.1 + resolution: "@types/react-dom@npm:18.3.1" dependencies: "@types/react": "npm:*" - checksum: 10c0/6c90d2ed72c5a0e440d2c75d99287e4b5df3e7b011838cdc03ae5cd518ab52164d86990e73246b9d812eaf02ec351d74e3b4f5bd325bf341e13bf980392fd53b + checksum: 10c0/8b416551c60bb6bd8ec10e198c957910cfb271bc3922463040b0d57cf4739cdcd24b13224f8d68f10318926e1ec3cd69af0af79f0291b599a992f8c80d47f1eb languageName: node linkType: hard From 8e39cc921877fde1aab24c872125767b0a85cae6 Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Mon, 21 Oct 2024 09:28:01 +0200 Subject: [PATCH 004/357] Update Yarn to v4.5.1 (#32586) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> --- package.json | 2 +- streaming/package.json | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/package.json b/package.json index 24770e6d254d2f..a37b766ef0057e 100644 --- a/package.json +++ b/package.json @@ -1,7 +1,7 @@ { "name": "@mastodon/mastodon", "license": "AGPL-3.0-or-later", - "packageManager": "yarn@4.5.0", + "packageManager": "yarn@4.5.1", "engines": { "node": ">=18" }, diff --git a/streaming/package.json b/streaming/package.json index d573c9b2845139..585c4be4e1b233 100644 --- a/streaming/package.json +++ b/streaming/package.json @@ -1,7 +1,7 @@ { "name": "@mastodon/streaming", "license": "AGPL-3.0-or-later", - "packageManager": "yarn@4.5.0", + "packageManager": "yarn@4.5.1", "engines": { "node": ">=18" }, From 35da47c857ccf6c3aee27af6d2ce9a402dbc3a3e Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Mon, 21 Oct 2024 07:28:35 +0000 Subject: [PATCH 005/357] Update devDependencies (non-major) (#32603) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> --- yarn.lock | 31 ++++++++++++++++++++----------- 1 file changed, 20 insertions(+), 11 deletions(-) diff --git a/yarn.lock b/yarn.lock index a4d65ef53e7637..e7c733ded1d4b0 100644 --- a/yarn.lock +++ b/yarn.lock @@ -2196,8 +2196,8 @@ __metadata: linkType: hard "@formatjs/cli@npm:^6.1.1": - version: 6.2.15 - resolution: "@formatjs/cli@npm:6.2.15" + version: 6.3.0 + resolution: "@formatjs/cli@npm:6.3.0" peerDependencies: "@glimmer/env": ^0.1.7 "@glimmer/reference": ^0.91.1 || ^0.92.0 @@ -2226,7 +2226,7 @@ __metadata: optional: true bin: formatjs: bin/formatjs - checksum: 10c0/e947aa7f3994251392fe15673752a8d8e3c8a30733bb49de5e617d45a327a3e1d16419e2d6b01f7ef2cbe86e2946024342d5b3301e6a8f17de3de9e2e7aedb29 + checksum: 10c0/9a803eacbcf2060c8b3cedcf9eef1300df73722eeadaebf7282ff0e9cc41bdcb98d60cea46c297fb9060a07ccd56d44f70247d659827086a55a1d0787e6bd545 languageName: node linkType: hard @@ -3425,8 +3425,8 @@ __metadata: linkType: hard "@testing-library/jest-dom@npm:^6.0.0": - version: 6.5.0 - resolution: "@testing-library/jest-dom@npm:6.5.0" + version: 6.6.2 + resolution: "@testing-library/jest-dom@npm:6.6.2" dependencies: "@adobe/css-tools": "npm:^4.4.0" aria-query: "npm:^5.0.0" @@ -3435,7 +3435,7 @@ __metadata: dom-accessibility-api: "npm:^0.6.3" lodash: "npm:^4.17.21" redent: "npm:^3.0.0" - checksum: 10c0/fd5936a547f04608d8de15a7de3ae26516f21023f8f45169b10c8c8847015fd20ec259b7309f08aa1031bcbc37c6e5e6f532d1bb85ef8f91bad654193ec66a4c + checksum: 10c0/1c51390f97063ce8b06a7267534aac0d6ac9b1f27042a0ae43ca52d886b32c9d2b0ff85e62e7cfeb7e1f089ef03c4d75fda4f2b7b1f08afb4bdb09a5d56566d9 languageName: node linkType: hard @@ -13220,7 +13220,7 @@ __metadata: languageName: node linkType: hard -"pino-abstract-transport@npm:^1.0.0, pino-abstract-transport@npm:^1.2.0": +"pino-abstract-transport@npm:^1.2.0": version: 1.2.0 resolution: "pino-abstract-transport@npm:1.2.0" dependencies: @@ -13230,6 +13230,15 @@ __metadata: languageName: node linkType: hard +"pino-abstract-transport@npm:^2.0.0": + version: 2.0.0 + resolution: "pino-abstract-transport@npm:2.0.0" + dependencies: + split2: "npm:^4.0.0" + checksum: 10c0/02c05b8f2ffce0d7c774c8e588f61e8b77de8ccb5f8125afd4a7325c9ea0e6af7fb78168999657712ae843e4462bb70ac550dfd6284f930ee57f17f486f25a9f + languageName: node + linkType: hard + "pino-http@npm:^10.0.0": version: 10.3.0 resolution: "pino-http@npm:10.3.0" @@ -13243,8 +13252,8 @@ __metadata: linkType: hard "pino-pretty@npm:^11.0.0": - version: 11.2.2 - resolution: "pino-pretty@npm:11.2.2" + version: 11.3.0 + resolution: "pino-pretty@npm:11.3.0" dependencies: colorette: "npm:^2.0.7" dateformat: "npm:^4.6.3" @@ -13254,7 +13263,7 @@ __metadata: joycon: "npm:^3.1.1" minimist: "npm:^1.2.6" on-exit-leak-free: "npm:^2.1.0" - pino-abstract-transport: "npm:^1.0.0" + pino-abstract-transport: "npm:^2.0.0" pump: "npm:^3.0.0" readable-stream: "npm:^4.0.0" secure-json-parse: "npm:^2.4.0" @@ -13262,7 +13271,7 @@ __metadata: strip-json-comments: "npm:^3.1.1" bin: pino-pretty: bin.js - checksum: 10c0/3ce1769907886a5584f6c8123d9bc987712ad10a375797733a0fe95a238df587dac8e2b709bab291c4e30d41b0cf65808c708c96f8eb98b2778b6df60afa7e66 + checksum: 10c0/8e4d842bfce5fa3fc69d3a6adb1bca873051e000f0fb4879ae1cc5d1410387b2464a7208f6ecc70ec49bb149a9617ec233cb3ec7a5f017ec141cb482d79917c2 languageName: node linkType: hard From 2e0bb35cf70c903467b1daf2fee7f6e718f5871c Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Mon, 21 Oct 2024 09:29:09 +0200 Subject: [PATCH 006/357] Update dependency brakeman to v6.2.2 (#32587) 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 d1ee8e0fa8eacd..264f49a37c7de0 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -137,7 +137,7 @@ GEM blurhash (0.1.8) bootsnap (1.18.4) msgpack (~> 1.2) - brakeman (6.2.1) + brakeman (6.2.2) racc browser (5.3.1) brpoplpush-redis_script (0.1.3) From 650f224328bd1e1e1da9616776b96a894860be7f Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Mon, 21 Oct 2024 07:29:32 +0000 Subject: [PATCH 007/357] Update dependency faker to v3.5.1 (#32588) 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 264f49a37c7de0..40db30cb52eedf 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -233,7 +233,7 @@ GEM tzinfo excon (0.111.0) fabrication (2.31.0) - faker (3.4.2) + faker (3.5.1) i18n (>= 1.8.11, < 2) faraday (1.10.3) faraday-em_http (~> 1.0) From 4a65fa74fa1b9ce81563c4f63651aa7d86dbced8 Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Mon, 21 Oct 2024 07:29:51 +0000 Subject: [PATCH 008/357] Update dependency aws-sdk-s3 to v1.169.0 (#32552) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> --- Gemfile.lock | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/Gemfile.lock b/Gemfile.lock index 40db30cb52eedf..e437760ed1f16c 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -100,17 +100,17 @@ GEM attr_required (1.0.2) awrence (1.2.1) aws-eventstream (1.3.0) - aws-partitions (1.983.0) - aws-sdk-core (3.209.1) + aws-partitions (1.992.0) + aws-sdk-core (3.210.0) aws-eventstream (~> 1, >= 1.3.0) - aws-partitions (~> 1, >= 1.651.0) + aws-partitions (~> 1, >= 1.992.0) aws-sigv4 (~> 1.9) jmespath (~> 1, >= 1.6.1) - aws-sdk-kms (1.94.0) - aws-sdk-core (~> 3, >= 3.207.0) + aws-sdk-kms (1.95.0) + aws-sdk-core (~> 3, >= 3.210.0) aws-sigv4 (~> 1.5) - aws-sdk-s3 (1.167.0) - aws-sdk-core (~> 3, >= 3.207.0) + aws-sdk-s3 (1.169.0) + aws-sdk-core (~> 3, >= 3.210.0) aws-sdk-kms (~> 1) aws-sigv4 (~> 1.5) aws-sigv4 (1.10.0) From 11a63b2db6146a5bc4d85b5c1b56ccd932a212ea Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Mon, 21 Oct 2024 10:03:44 +0200 Subject: [PATCH 009/357] Update eslint (non-major) (#32279) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> Co-authored-by: Renaud Chaput --- app/javascript/mastodon/components/button.tsx | 2 +- .../mastodon/components/short_number.tsx | 1 + .../components/notification_follow.tsx | 2 + .../notification_group_with_status.tsx | 1 + yarn.lock | 296 ++++++++---------- 5 files changed, 127 insertions(+), 175 deletions(-) diff --git a/app/javascript/mastodon/components/button.tsx b/app/javascript/mastodon/components/button.tsx index 3e720f7ceead2a..b349a83f2bbed2 100644 --- a/app/javascript/mastodon/components/button.tsx +++ b/app/javascript/mastodon/components/button.tsx @@ -1,4 +1,4 @@ -import type { PropsWithChildren } from 'react'; +import type { PropsWithChildren, JSX } from 'react'; import { useCallback } from 'react'; import classNames from 'classnames'; diff --git a/app/javascript/mastodon/components/short_number.tsx b/app/javascript/mastodon/components/short_number.tsx index a0b523aaadc920..37201a5e1d7126 100644 --- a/app/javascript/mastodon/components/short_number.tsx +++ b/app/javascript/mastodon/components/short_number.tsx @@ -1,4 +1,5 @@ import { memo } from 'react'; +import type { JSX } from 'react'; import { FormattedMessage, FormattedNumber } from 'react-intl'; diff --git a/app/javascript/mastodon/features/notifications_v2/components/notification_follow.tsx b/app/javascript/mastodon/features/notifications_v2/components/notification_follow.tsx index 2c90777b9f62a4..78ba260fa9e38f 100644 --- a/app/javascript/mastodon/features/notifications_v2/components/notification_follow.tsx +++ b/app/javascript/mastodon/features/notifications_v2/components/notification_follow.tsx @@ -1,3 +1,5 @@ +import type { JSX } from 'react'; + import { FormattedMessage } from 'react-intl'; import { Link } from 'react-router-dom'; diff --git a/app/javascript/mastodon/features/notifications_v2/components/notification_group_with_status.tsx b/app/javascript/mastodon/features/notifications_v2/components/notification_group_with_status.tsx index 91f8ae2d401bdc..861556620fac5a 100644 --- a/app/javascript/mastodon/features/notifications_v2/components/notification_group_with_status.tsx +++ b/app/javascript/mastodon/features/notifications_v2/components/notification_group_with_status.tsx @@ -1,4 +1,5 @@ import { useMemo } from 'react'; +import type { JSX } from 'react'; import classNames from 'classnames'; diff --git a/yarn.lock b/yarn.lock index e7c733ded1d4b0..97177407125be2 100644 --- a/yarn.lock +++ b/yarn.lock @@ -2116,14 +2116,14 @@ __metadata: languageName: node linkType: hard -"@es-joy/jsdoccomment@npm:~0.48.0": - version: 0.48.0 - resolution: "@es-joy/jsdoccomment@npm:0.48.0" +"@es-joy/jsdoccomment@npm:~0.49.0": + version: 0.49.0 + resolution: "@es-joy/jsdoccomment@npm:0.49.0" dependencies: comment-parser: "npm:1.4.1" esquery: "npm:^1.6.0" jsdoc-type-pratt-parser: "npm:~4.1.0" - checksum: 10c0/8d87c7c0426fade009c30ab429d4ede53fd253d40b55079c02bdacdaa4c0fe904aaea5e3084cd98052f2bed6b3030c381d84f4a3251b343a71fee6f681a08bee + checksum: 10c0/16717507d557d37e7b59456fedeefbe0a3bc93aa2d9c043d5db91e24e076509b6fcb10ee6fd1dafcb0c5bbe50ae329b45de5b83541cb5994a98c9e862a45641e languageName: node linkType: hard @@ -2162,10 +2162,10 @@ __metadata: languageName: node linkType: hard -"@eslint/js@npm:8.57.0": - version: 8.57.0 - resolution: "@eslint/js@npm:8.57.0" - checksum: 10c0/9a518bb8625ba3350613903a6d8c622352ab0c6557a59fe6ff6178bf882bf57123f9d92aa826ee8ac3ee74b9c6203fe630e9ee00efb03d753962dcf65ee4bd94 +"@eslint/js@npm:8.57.1": + version: 8.57.1 + resolution: "@eslint/js@npm:8.57.1" + checksum: 10c0/b489c474a3b5b54381c62e82b3f7f65f4b8a5eaaed126546520bf2fede5532a8ed53212919fed1e9048dcf7f37167c8561d58d0ba4492a4244004e7793805223 languageName: node linkType: hard @@ -2436,14 +2436,14 @@ __metadata: languageName: node linkType: hard -"@humanwhocodes/config-array@npm:^0.11.14": - version: 0.11.14 - resolution: "@humanwhocodes/config-array@npm:0.11.14" +"@humanwhocodes/config-array@npm:^0.13.0": + version: 0.13.0 + resolution: "@humanwhocodes/config-array@npm:0.13.0" dependencies: - "@humanwhocodes/object-schema": "npm:^2.0.2" + "@humanwhocodes/object-schema": "npm:^2.0.3" debug: "npm:^4.3.1" minimatch: "npm:^3.0.5" - checksum: 10c0/66f725b4ee5fdd8322c737cb5013e19fac72d4d69c8bf4b7feb192fcb83442b035b92186f8e9497c220e58b2d51a080f28a73f7899bc1ab288c3be172c467541 + checksum: 10c0/205c99e756b759f92e1f44a3dc6292b37db199beacba8f26c2165d4051fe73a4ae52fdcfd08ffa93e7e5cb63da7c88648f0e84e197d154bbbbe137b2e0dd332e languageName: node linkType: hard @@ -2454,10 +2454,10 @@ __metadata: languageName: node linkType: hard -"@humanwhocodes/object-schema@npm:^2.0.2": - version: 2.0.2 - resolution: "@humanwhocodes/object-schema@npm:2.0.2" - checksum: 10c0/6fd83dc320231d71c4541d0244051df61f301817e9f9da9fd4cb7e44ec8aacbde5958c1665b0c419401ab935114fdf532a6ad5d4e7294b1af2f347dd91a6983f +"@humanwhocodes/object-schema@npm:^2.0.3": + version: 2.0.3 + resolution: "@humanwhocodes/object-schema@npm:2.0.3" + checksum: 10c0/80520eabbfc2d32fe195a93557cef50dfe8c8905de447f022675aaf66abc33ae54098f5ea78548d925aa671cd4ab7c7daa5ad704fe42358c9b5e7db60f80696c languageName: node linkType: hard @@ -4170,14 +4170,14 @@ __metadata: linkType: hard "@typescript-eslint/eslint-plugin@npm:^8.0.0": - version: 8.1.0 - resolution: "@typescript-eslint/eslint-plugin@npm:8.1.0" + version: 8.10.0 + resolution: "@typescript-eslint/eslint-plugin@npm:8.10.0" dependencies: "@eslint-community/regexpp": "npm:^4.10.0" - "@typescript-eslint/scope-manager": "npm:8.1.0" - "@typescript-eslint/type-utils": "npm:8.1.0" - "@typescript-eslint/utils": "npm:8.1.0" - "@typescript-eslint/visitor-keys": "npm:8.1.0" + "@typescript-eslint/scope-manager": "npm:8.10.0" + "@typescript-eslint/type-utils": "npm:8.10.0" + "@typescript-eslint/utils": "npm:8.10.0" + "@typescript-eslint/visitor-keys": "npm:8.10.0" graphemer: "npm:^1.4.0" ignore: "npm:^5.3.1" natural-compare: "npm:^1.4.0" @@ -4188,25 +4188,25 @@ __metadata: peerDependenciesMeta: typescript: optional: true - checksum: 10c0/7bbeae588f859b59c34d6a76cac06ef0fa605921b40c5d3b65b94829984280ea84c4dd3f5cb9ce2eb326f5563e9abb4c90ebff05c47f83f4def296c2ea1fa86c + checksum: 10c0/4b77ba9c865a2a14e238cd330b5901f0274b8ce1c13324fccd0339b8eea82a50a4709394c903fd8cd5bd0d3aebace0761ff9a4a19fa20b00bb61349b7671c035 languageName: node linkType: hard "@typescript-eslint/parser@npm:^8.0.0": - version: 8.1.0 - resolution: "@typescript-eslint/parser@npm:8.1.0" + version: 8.10.0 + resolution: "@typescript-eslint/parser@npm:8.10.0" dependencies: - "@typescript-eslint/scope-manager": "npm:8.1.0" - "@typescript-eslint/types": "npm:8.1.0" - "@typescript-eslint/typescript-estree": "npm:8.1.0" - "@typescript-eslint/visitor-keys": "npm:8.1.0" + "@typescript-eslint/scope-manager": "npm:8.10.0" + "@typescript-eslint/types": "npm:8.10.0" + "@typescript-eslint/typescript-estree": "npm:8.10.0" + "@typescript-eslint/visitor-keys": "npm:8.10.0" debug: "npm:^4.3.4" peerDependencies: eslint: ^8.57.0 || ^9.0.0 peerDependenciesMeta: typescript: optional: true - checksum: 10c0/b94b2d3ab5ca505484d100701fad6a04a5dc8d595029bac1b9f5b8a4a91d80fd605b0f65d230b36a97ab7e5d55eeb0c28af2ab63929a3e4ab8fdefd2a548c36b + checksum: 10c0/7becb2457c085c239838d301796074b790f46dd38c9fbc14ec1dec8e993c7115cd8a66cdc07983c3a68a2dd92e24e8acc49d69a4ebcc29e9869957eb52d1cb74 languageName: node linkType: hard @@ -4220,28 +4220,28 @@ __metadata: languageName: node linkType: hard -"@typescript-eslint/scope-manager@npm:8.1.0": - version: 8.1.0 - resolution: "@typescript-eslint/scope-manager@npm:8.1.0" +"@typescript-eslint/scope-manager@npm:8.10.0": + version: 8.10.0 + resolution: "@typescript-eslint/scope-manager@npm:8.10.0" dependencies: - "@typescript-eslint/types": "npm:8.1.0" - "@typescript-eslint/visitor-keys": "npm:8.1.0" - checksum: 10c0/2bcf8cd176a1819bddcae16c572e7da8fba821b995a91cd53d64d8d6b85a17f5a895522f281ba57e34929574bddd4d6684ee3e545ec4e8096be4c3198e253a9a + "@typescript-eslint/types": "npm:8.10.0" + "@typescript-eslint/visitor-keys": "npm:8.10.0" + checksum: 10c0/b8bb8635c4d6c00a3578d6265e3ee0f5d96d0c9dee534ed588aa411c3f4497fd71cce730c3ae7571e52453d955b191bc9edcc47c9af21a20c90e9a20f2371108 languageName: node linkType: hard -"@typescript-eslint/type-utils@npm:8.1.0": - version: 8.1.0 - resolution: "@typescript-eslint/type-utils@npm:8.1.0" +"@typescript-eslint/type-utils@npm:8.10.0": + version: 8.10.0 + resolution: "@typescript-eslint/type-utils@npm:8.10.0" dependencies: - "@typescript-eslint/typescript-estree": "npm:8.1.0" - "@typescript-eslint/utils": "npm:8.1.0" + "@typescript-eslint/typescript-estree": "npm:8.10.0" + "@typescript-eslint/utils": "npm:8.10.0" debug: "npm:^4.3.4" ts-api-utils: "npm:^1.3.0" peerDependenciesMeta: typescript: optional: true - checksum: 10c0/62753941c4136e8d2daa72fe0410dea48e5317a6f12ece6382ca85e29912bd1b3f739b61d1060fc0a1f8c488dfc905beab4c8b8497951a21c3138a659c7271ec + checksum: 10c0/1af8fce8394279e6ac7bcef449a132072ee36e374c8d557564246ffe7150230844901ca0305e29525bf37c87010e03bf8bedec76fccbfe1e41931cb4f274e208 languageName: node linkType: hard @@ -4252,10 +4252,10 @@ __metadata: languageName: node linkType: hard -"@typescript-eslint/types@npm:8.1.0": - version: 8.1.0 - resolution: "@typescript-eslint/types@npm:8.1.0" - checksum: 10c0/ceade44455f45974e68956016c4d1c6626580732f7f9675e14ffa63db80b551752b0df596b20473dae9f0dc6ed966e17417dc2cf36e1a82b6ab0edc97c5eaa50 +"@typescript-eslint/types@npm:8.10.0": + version: 8.10.0 + resolution: "@typescript-eslint/types@npm:8.10.0" + checksum: 10c0/f27dd43c8383e02e914a254257627e393dfc0f08b0f74a253c106813ae361f090271b2f3f2ef588fa3ca1329897d873da595bb5641fe8e3091b25eddca24b5d2 languageName: node linkType: hard @@ -4278,14 +4278,14 @@ __metadata: languageName: node linkType: hard -"@typescript-eslint/typescript-estree@npm:8.1.0": - version: 8.1.0 - resolution: "@typescript-eslint/typescript-estree@npm:8.1.0" +"@typescript-eslint/typescript-estree@npm:8.10.0": + version: 8.10.0 + resolution: "@typescript-eslint/typescript-estree@npm:8.10.0" dependencies: - "@typescript-eslint/types": "npm:8.1.0" - "@typescript-eslint/visitor-keys": "npm:8.1.0" + "@typescript-eslint/types": "npm:8.10.0" + "@typescript-eslint/visitor-keys": "npm:8.10.0" debug: "npm:^4.3.4" - globby: "npm:^11.1.0" + fast-glob: "npm:^3.3.2" is-glob: "npm:^4.0.3" minimatch: "npm:^9.0.4" semver: "npm:^7.6.0" @@ -4293,21 +4293,21 @@ __metadata: peerDependenciesMeta: typescript: optional: true - checksum: 10c0/a7bc8275df1c79c4cb14ef086c56674316dd4907efec53eddca35d0b5220428b69c82178ce2d95138da2e398269c8bd0764cae8020a36417e411e35c3c47bc4b + checksum: 10c0/535a740fe25be0e28fe68c41e3264273d1e5169c9f938e08cc0e3415c357726f43efa44621960108c318fc3305c425d29f3223b6e731d44d67f84058a8947304 languageName: node linkType: hard -"@typescript-eslint/utils@npm:8.1.0": - version: 8.1.0 - resolution: "@typescript-eslint/utils@npm:8.1.0" +"@typescript-eslint/utils@npm:8.10.0": + version: 8.10.0 + resolution: "@typescript-eslint/utils@npm:8.10.0" dependencies: "@eslint-community/eslint-utils": "npm:^4.4.0" - "@typescript-eslint/scope-manager": "npm:8.1.0" - "@typescript-eslint/types": "npm:8.1.0" - "@typescript-eslint/typescript-estree": "npm:8.1.0" + "@typescript-eslint/scope-manager": "npm:8.10.0" + "@typescript-eslint/types": "npm:8.10.0" + "@typescript-eslint/typescript-estree": "npm:8.10.0" peerDependencies: eslint: ^8.57.0 || ^9.0.0 - checksum: 10c0/c95503a6bdcd98b1ff04d1adbf46377b2036b1c510d90a4a056401f996f775f06c3108c95fb81cd6babc9c97b73b91b8e848f0337bc508de8a49c993582f0e75 + checksum: 10c0/a21a2933517176abd00fcd5d8d80023e35dc3d89d5746bbac43790b4e984ab1f371117db08048bce7f42d54c64f4e0e35161149f8f34fd25a27bff9d1110fd16 languageName: node linkType: hard @@ -4338,13 +4338,13 @@ __metadata: languageName: node linkType: hard -"@typescript-eslint/visitor-keys@npm:8.1.0": - version: 8.1.0 - resolution: "@typescript-eslint/visitor-keys@npm:8.1.0" +"@typescript-eslint/visitor-keys@npm:8.10.0": + version: 8.10.0 + resolution: "@typescript-eslint/visitor-keys@npm:8.10.0" dependencies: - "@typescript-eslint/types": "npm:8.1.0" + "@typescript-eslint/types": "npm:8.10.0" eslint-visitor-keys: "npm:^3.4.3" - checksum: 10c0/b7544dbb0eec1ddbfcd95c04b51b9a739c2e768c16d1c88508f976a2b0d1bc02fefb7491930e06e48073a5c07c6f488cd8403bba3a8b918888b93a88d5ac3869 + checksum: 10c0/14721c4ac939640d5fd1ee1b6eeb07604b11a6017e319e21dcc71e7aac2992341fc7ae1992d977bad4433b6a1d0d1c0c279e6927316b26245f6e333f922fa458 languageName: node linkType: hard @@ -4834,7 +4834,7 @@ __metadata: languageName: node linkType: hard -"aria-query@npm:5.3.0, aria-query@npm:^5.0.0": +"aria-query@npm:5.3.0": version: 5.3.0 resolution: "aria-query@npm:5.3.0" dependencies: @@ -4843,12 +4843,10 @@ __metadata: languageName: node linkType: hard -"aria-query@npm:~5.1.3": - version: 5.1.3 - resolution: "aria-query@npm:5.1.3" - dependencies: - deep-equal: "npm:^2.0.5" - checksum: 10c0/edcbc8044c4663d6f88f785e983e6784f98cb62b4ba1e9dd8d61b725d0203e4cfca38d676aee984c31f354103461102a3d583aa4fbe4fd0a89b679744f4e5faf +"aria-query@npm:^5.0.0, aria-query@npm:^5.3.2": + version: 5.3.2 + resolution: "aria-query@npm:5.3.2" + checksum: 10c0/003c7e3e2cff5540bf7a7893775fc614de82b0c5dde8ae823d47b7a28a9d4da1f7ed85f340bdb93d5649caa927755f0e31ecc7ab63edfdfc00c8ef07e505e03e languageName: node linkType: hard @@ -4873,7 +4871,7 @@ __metadata: languageName: node linkType: hard -"array-buffer-byte-length@npm:^1.0.0, array-buffer-byte-length@npm:^1.0.1": +"array-buffer-byte-length@npm:^1.0.1": version: 1.0.1 resolution: "array-buffer-byte-length@npm:1.0.1" dependencies: @@ -7059,32 +7057,6 @@ __metadata: languageName: node linkType: hard -"deep-equal@npm:^2.0.5": - version: 2.2.3 - resolution: "deep-equal@npm:2.2.3" - dependencies: - array-buffer-byte-length: "npm:^1.0.0" - call-bind: "npm:^1.0.5" - es-get-iterator: "npm:^1.1.3" - get-intrinsic: "npm:^1.2.2" - is-arguments: "npm:^1.1.1" - is-array-buffer: "npm:^3.0.2" - is-date-object: "npm:^1.0.5" - is-regex: "npm:^1.1.4" - is-shared-array-buffer: "npm:^1.0.2" - isarray: "npm:^2.0.5" - object-is: "npm:^1.1.5" - object-keys: "npm:^1.1.1" - object.assign: "npm:^4.1.4" - regexp.prototype.flags: "npm:^1.5.1" - side-channel: "npm:^1.0.4" - which-boxed-primitive: "npm:^1.0.2" - which-collection: "npm:^1.0.1" - which-typed-array: "npm:^1.1.13" - checksum: 10c0/a48244f90fa989f63ff5ef0cc6de1e4916b48ea0220a9c89a378561960814794a5800c600254482a2c8fd2e49d6c2e196131dc983976adb024c94a42dfe4949f - languageName: node - linkType: hard - "deep-is@npm:^0.1.3": version: 0.1.4 resolution: "deep-is@npm:0.1.4" @@ -7758,26 +7730,9 @@ __metadata: languageName: node linkType: hard -"es-get-iterator@npm:^1.1.3": - version: 1.1.3 - resolution: "es-get-iterator@npm:1.1.3" - dependencies: - call-bind: "npm:^1.0.2" - get-intrinsic: "npm:^1.1.3" - has-symbols: "npm:^1.0.3" - is-arguments: "npm:^1.1.1" - is-map: "npm:^2.0.2" - is-set: "npm:^2.0.2" - is-string: "npm:^1.0.7" - isarray: "npm:^2.0.5" - stop-iteration-iterator: "npm:^1.0.0" - checksum: 10c0/ebd11effa79851ea75d7f079405f9d0dc185559fd65d986c6afea59a0ff2d46c2ed8675f19f03dce7429d7f6c14ff9aede8d121fbab78d75cfda6a263030bac0 - languageName: node - linkType: hard - -"es-iterator-helpers@npm:^1.0.19": - version: 1.0.19 - resolution: "es-iterator-helpers@npm:1.0.19" +"es-iterator-helpers@npm:^1.0.19, es-iterator-helpers@npm:^1.1.0": + version: 1.1.0 + resolution: "es-iterator-helpers@npm:1.1.0" dependencies: call-bind: "npm:^1.0.7" define-properties: "npm:^1.2.1" @@ -7786,14 +7741,14 @@ __metadata: es-set-tostringtag: "npm:^2.0.3" function-bind: "npm:^1.1.2" get-intrinsic: "npm:^1.2.4" - globalthis: "npm:^1.0.3" + globalthis: "npm:^1.0.4" has-property-descriptors: "npm:^1.0.2" has-proto: "npm:^1.0.3" has-symbols: "npm:^1.0.3" internal-slot: "npm:^1.0.7" - iterator.prototype: "npm:^1.1.2" + iterator.prototype: "npm:^1.1.3" safe-array-concat: "npm:^1.1.2" - checksum: 10c0/ae8f0241e383b3d197383b9842c48def7fce0255fb6ed049311b686ce295595d9e389b466f6a1b7d4e7bb92d82f5e716d6fae55e20c1040249bf976743b038c5 + checksum: 10c0/84d6c240c7da6e62323b336cb1497781546dab16bebdbd879ccfdf588979712d3e941d41165b6c2ffce5a03a7b929d4e6131d3124d330da1a0e2bfa1da7cd99f languageName: node linkType: hard @@ -8002,10 +7957,10 @@ __metadata: linkType: hard "eslint-plugin-jsdoc@npm:^50.0.0": - version: 50.2.2 - resolution: "eslint-plugin-jsdoc@npm:50.2.2" + version: 50.4.3 + resolution: "eslint-plugin-jsdoc@npm:50.4.3" dependencies: - "@es-joy/jsdoccomment": "npm:~0.48.0" + "@es-joy/jsdoccomment": "npm:~0.49.0" are-docs-informative: "npm:^0.0.2" comment-parser: "npm:1.4.1" debug: "npm:^4.3.6" @@ -8018,15 +7973,15 @@ __metadata: synckit: "npm:^0.9.1" peerDependencies: eslint: ^7.0.0 || ^8.0.0 || ^9.0.0 - checksum: 10c0/f41d30246f6a4b6acb55e8cd75cf4fc256315e141ab25f7740fa6fa58cdd24e08cb672b4a350da93aeb126d210bd25981310a50f97cfb108f6a7ce8668b6b90a + checksum: 10c0/96067f8fc3553371e9afdc6d03c166228bfd3cb004fcd70c4357d49185732f384351e20f44c21b0a13ea318c8aabbd584b627804f62a2a80376507646708a786 languageName: node linkType: hard "eslint-plugin-jsx-a11y@npm:~6.10.0": - version: 6.10.0 - resolution: "eslint-plugin-jsx-a11y@npm:6.10.0" + version: 6.10.1 + resolution: "eslint-plugin-jsx-a11y@npm:6.10.1" dependencies: - aria-query: "npm:~5.1.3" + aria-query: "npm:^5.3.2" array-includes: "npm:^3.1.8" array.prototype.flatmap: "npm:^1.3.2" ast-types-flow: "npm:^0.0.8" @@ -8034,17 +7989,17 @@ __metadata: axobject-query: "npm:^4.1.0" damerau-levenshtein: "npm:^1.0.8" emoji-regex: "npm:^9.2.2" - es-iterator-helpers: "npm:^1.0.19" + es-iterator-helpers: "npm:^1.1.0" hasown: "npm:^2.0.2" jsx-ast-utils: "npm:^3.3.5" language-tags: "npm:^1.0.9" minimatch: "npm:^3.1.2" object.fromentries: "npm:^2.0.8" safe-regex-test: "npm:^1.0.3" - string.prototype.includes: "npm:^2.0.0" + string.prototype.includes: "npm:^2.0.1" peerDependencies: eslint: ^3 || ^4 || ^5 || ^6 || ^7 || ^8 || ^9 - checksum: 10c0/9f8e29a3317fb6a82e2ecd333fe0fab3a69fff786d087eb65dc723d6e954473ab681d14a252d7cb2971f5e7f68816cb6f7731766558e1833a77bd73af1b5ab34 + checksum: 10c0/25bf28e3db4f6789c5d4f9300fc6fc54faca19ecc537d0f46e9c873f80ed37103a033e1f716f608fab5f5813dd38af65a9a6ae2e29dd079763ce539ebecf998e languageName: node linkType: hard @@ -8067,8 +8022,8 @@ __metadata: linkType: hard "eslint-plugin-react@npm:^7.33.2": - version: 7.35.2 - resolution: "eslint-plugin-react@npm:7.35.2" + version: 7.37.1 + resolution: "eslint-plugin-react@npm:7.37.1" dependencies: array-includes: "npm:^3.1.8" array.prototype.findlast: "npm:^1.2.5" @@ -8090,7 +8045,7 @@ __metadata: string.prototype.repeat: "npm:^1.0.0" peerDependencies: eslint: ^3 || ^4 || ^5 || ^6 || ^7 || ^8 || ^9.7 - checksum: 10c0/5f891f5a77e902a0ca8d10b23d0b800e90a09400187febe5986c5078d6277baa4b974d6acdbba25baae065dbcf12eb9241b5f5782527d0780314c2ee5006a8af + checksum: 10c0/13cf55666f16d2ca45b14aad1b0e14741d1817679c86d20aff0bc1e802439a8541f40a42c4c8e3486ffb710f1bcc2f3e56697f2b5f724306a7fca174e1ad6433 languageName: node linkType: hard @@ -8129,14 +8084,14 @@ __metadata: linkType: hard "eslint@npm:^8.41.0": - version: 8.57.0 - resolution: "eslint@npm:8.57.0" + version: 8.57.1 + resolution: "eslint@npm:8.57.1" dependencies: "@eslint-community/eslint-utils": "npm:^4.2.0" "@eslint-community/regexpp": "npm:^4.6.1" "@eslint/eslintrc": "npm:^2.1.4" - "@eslint/js": "npm:8.57.0" - "@humanwhocodes/config-array": "npm:^0.11.14" + "@eslint/js": "npm:8.57.1" + "@humanwhocodes/config-array": "npm:^0.13.0" "@humanwhocodes/module-importer": "npm:^1.0.1" "@nodelib/fs.walk": "npm:^1.2.8" "@ungap/structured-clone": "npm:^1.2.0" @@ -8172,7 +8127,7 @@ __metadata: text-table: "npm:^0.2.0" bin: eslint: bin/eslint.js - checksum: 10c0/00bb96fd2471039a312435a6776fe1fd557c056755eaa2b96093ef3a8508c92c8775d5f754768be6b1dddd09fdd3379ddb231eeb9b6c579ee17ea7d68000a529 + checksum: 10c0/1fd31533086c1b72f86770a4d9d7058ee8b4643fd1cfd10c7aac1ecb8725698e88352a87805cf4b2ce890aa35947df4b4da9655fb7fdfa60dbb448a43f6ebcf1 languageName: node linkType: hard @@ -8970,7 +8925,7 @@ __metadata: languageName: node linkType: hard -"get-intrinsic@npm:^1.1.1, get-intrinsic@npm:^1.1.3, get-intrinsic@npm:^1.2.1, get-intrinsic@npm:^1.2.2, get-intrinsic@npm:^1.2.3, get-intrinsic@npm:^1.2.4": +"get-intrinsic@npm:^1.1.1, get-intrinsic@npm:^1.1.3, get-intrinsic@npm:^1.2.1, get-intrinsic@npm:^1.2.3, get-intrinsic@npm:^1.2.4": version: 1.2.4 resolution: "get-intrinsic@npm:1.2.4" dependencies: @@ -9165,12 +9120,13 @@ __metadata: languageName: node linkType: hard -"globalthis@npm:^1.0.3": - version: 1.0.3 - resolution: "globalthis@npm:1.0.3" +"globalthis@npm:^1.0.3, globalthis@npm:^1.0.4": + version: 1.0.4 + resolution: "globalthis@npm:1.0.4" dependencies: - define-properties: "npm:^1.1.3" - checksum: 10c0/0db6e9af102a5254630351557ac15e6909bc7459d3e3f6b001e59fe784c96d31108818f032d9095739355a88467459e6488ff16584ee6250cd8c27dec05af4b0 + define-properties: "npm:^1.2.1" + gopd: "npm:^1.0.1" + checksum: 10c0/9d156f313af79d80b1566b93e19285f481c591ad6d0d319b4be5e03750d004dde40a39a0f26f7e635f9007a3600802f53ecd85a759b86f109e80a5f705e01846 languageName: node linkType: hard @@ -9817,7 +9773,7 @@ __metadata: languageName: node linkType: hard -"internal-slot@npm:^1.0.4, internal-slot@npm:^1.0.7": +"internal-slot@npm:^1.0.7": version: 1.0.7 resolution: "internal-slot@npm:1.0.7" dependencies: @@ -9933,7 +9889,7 @@ __metadata: languageName: node linkType: hard -"is-arguments@npm:^1.0.4, is-arguments@npm:^1.1.1": +"is-arguments@npm:^1.0.4": version: 1.1.1 resolution: "is-arguments@npm:1.1.1" dependencies: @@ -9943,7 +9899,7 @@ __metadata: languageName: node linkType: hard -"is-array-buffer@npm:^3.0.2, is-array-buffer@npm:^3.0.4": +"is-array-buffer@npm:^3.0.4": version: 3.0.4 resolution: "is-array-buffer@npm:3.0.4" dependencies: @@ -10208,7 +10164,7 @@ __metadata: languageName: node linkType: hard -"is-map@npm:^2.0.1, is-map@npm:^2.0.2": +"is-map@npm:^2.0.1": version: 2.0.3 resolution: "is-map@npm:2.0.3" checksum: 10c0/2c4d431b74e00fdda7162cd8e4b763d6f6f217edf97d4f8538b94b8702b150610e2c64961340015fe8df5b1fcee33ccd2e9b62619c4a8a3a155f8de6d6d355fc @@ -10333,7 +10289,7 @@ __metadata: languageName: node linkType: hard -"is-set@npm:^2.0.1, is-set@npm:^2.0.2": +"is-set@npm:^2.0.1": version: 2.0.3 resolution: "is-set@npm:2.0.3" checksum: 10c0/f73732e13f099b2dc879c2a12341cfc22ccaca8dd504e6edae26484bd5707a35d503fba5b4daad530a9b088ced1ae6c9d8200fd92e09b428fe14ea79ce8080b7 @@ -10560,16 +10516,16 @@ __metadata: languageName: node linkType: hard -"iterator.prototype@npm:^1.1.2": - version: 1.1.2 - resolution: "iterator.prototype@npm:1.1.2" +"iterator.prototype@npm:^1.1.3": + version: 1.1.3 + resolution: "iterator.prototype@npm:1.1.3" dependencies: define-properties: "npm:^1.2.1" get-intrinsic: "npm:^1.2.1" has-symbols: "npm:^1.0.3" reflect.getprototypeof: "npm:^1.0.4" set-function-name: "npm:^2.0.1" - checksum: 10c0/a32151326095e916f306990d909f6bbf23e3221999a18ba686419535dcd1749b10ded505e89334b77dc4c7a58a8508978f0eb16c2c8573e6d412eb7eb894ea79 + checksum: 10c0/68b0320c14291fbb3d8ed5a17e255d3127e7971bec19108076667e79c9ff4c7d69f99de4b0b3075c789c3f318366d7a0a35bb086eae0f2cf832dd58465b2f9e6 languageName: node linkType: hard @@ -12529,7 +12485,7 @@ __metadata: languageName: node linkType: hard -"object-is@npm:^1.0.1, object-is@npm:^1.1.5": +"object-is@npm:^1.0.1": version: 1.1.6 resolution: "object-is@npm:1.1.6" dependencies: @@ -15118,7 +15074,7 @@ __metadata: languageName: node linkType: hard -"regexp.prototype.flags@npm:^1.2.0, regexp.prototype.flags@npm:^1.5.1, regexp.prototype.flags@npm:^1.5.2": +"regexp.prototype.flags@npm:^1.2.0, regexp.prototype.flags@npm:^1.5.2": version: 1.5.2 resolution: "regexp.prototype.flags@npm:1.5.2" dependencies: @@ -16336,15 +16292,6 @@ __metadata: languageName: node linkType: hard -"stop-iteration-iterator@npm:^1.0.0": - version: 1.0.0 - resolution: "stop-iteration-iterator@npm:1.0.0" - dependencies: - internal-slot: "npm:^1.0.4" - checksum: 10c0/c4158d6188aac510d9e92925b58709207bd94699e9c31186a040c80932a687f84a51356b5895e6dc72710aad83addb9411c22171832c9ae0e6e11b7d61b0dfb9 - languageName: node - linkType: hard - "stream-browserify@npm:^2.0.1": version: 2.0.2 resolution: "stream-browserify@npm:2.0.2" @@ -16429,13 +16376,14 @@ __metadata: languageName: node linkType: hard -"string.prototype.includes@npm:^2.0.0": - version: 2.0.0 - resolution: "string.prototype.includes@npm:2.0.0" +"string.prototype.includes@npm:^2.0.1": + version: 2.0.1 + resolution: "string.prototype.includes@npm:2.0.1" dependencies: - define-properties: "npm:^1.1.3" - es-abstract: "npm:^1.17.5" - checksum: 10c0/32dff118c9e9dcc87e240b05462fa8ee7248d9e335c0015c1442fe18152261508a2146d9bb87ddae56abab69148a83c61dfaea33f53853812a6a2db737689ed2 + call-bind: "npm:^1.0.7" + define-properties: "npm:^1.2.1" + es-abstract: "npm:^1.23.3" + checksum: 10c0/25ce9c9b49128352a2618fbe8758b46f945817a58a4420f4799419e40a8d28f116e176c7590d767d5327a61e75c8f32c86171063f48e389b9fdd325f1bd04ee5 languageName: node linkType: hard @@ -18280,7 +18228,7 @@ __metadata: languageName: node linkType: hard -"which-typed-array@npm:^1.1.13, which-typed-array@npm:^1.1.14, which-typed-array@npm:^1.1.15, which-typed-array@npm:^1.1.9": +"which-typed-array@npm:^1.1.14, which-typed-array@npm:^1.1.15, which-typed-array@npm:^1.1.9": version: 1.1.15 resolution: "which-typed-array@npm:1.1.15" dependencies: From 29f98b361f77778d9e5675078a9276575cd1cb03 Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Mon, 21 Oct 2024 10:03:59 +0200 Subject: [PATCH 010/357] Update dependency ruby-prof to v1.7.1 (#32599) 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 e437760ed1f16c..f73f43fee4a3fd 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -761,7 +761,7 @@ GEM rubocop-rspec_rails (2.30.0) rubocop (~> 1.61) rubocop-rspec (~> 3, >= 3.0.1) - ruby-prof (1.7.0) + ruby-prof (1.7.1) ruby-progressbar (1.13.0) ruby-saml (1.17.0) nokogiri (>= 1.13.10) From e05f9fed333bb7316e818e19c7f599e721afb050 Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Mon, 21 Oct 2024 08:04:30 +0000 Subject: [PATCH 011/357] Update dependency pino to v9.5.0 (#32511) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> --- yarn.lock | 18 ++++-------------- 1 file changed, 4 insertions(+), 14 deletions(-) diff --git a/yarn.lock b/yarn.lock index 97177407125be2..7b1cd2a7e84d86 100644 --- a/yarn.lock +++ b/yarn.lock @@ -13176,16 +13176,6 @@ __metadata: languageName: node linkType: hard -"pino-abstract-transport@npm:^1.2.0": - version: 1.2.0 - resolution: "pino-abstract-transport@npm:1.2.0" - dependencies: - readable-stream: "npm:^4.0.0" - split2: "npm:^4.0.0" - checksum: 10c0/b4ab59529b7a91f488440147fc58ee0827a6c1c5ca3627292339354b1381072c1a6bfa9b46d03ad27872589e8477ecf74da12cf286e1e6b665ac64a3b806bf07 - languageName: node - linkType: hard - "pino-abstract-transport@npm:^2.0.0": version: 2.0.0 resolution: "pino-abstract-transport@npm:2.0.0" @@ -13239,13 +13229,13 @@ __metadata: linkType: hard "pino@npm:^9.0.0": - version: 9.4.0 - resolution: "pino@npm:9.4.0" + version: 9.5.0 + resolution: "pino@npm:9.5.0" dependencies: atomic-sleep: "npm:^1.0.0" fast-redact: "npm:^3.1.1" on-exit-leak-free: "npm:^2.1.0" - pino-abstract-transport: "npm:^1.2.0" + pino-abstract-transport: "npm:^2.0.0" pino-std-serializers: "npm:^7.0.0" process-warning: "npm:^4.0.0" quick-format-unescaped: "npm:^4.0.3" @@ -13255,7 +13245,7 @@ __metadata: thread-stream: "npm:^3.0.0" bin: pino: bin.js - checksum: 10c0/12a3d74968964d92b18ca7d6095a3c5b86478dc22264a37486d64e102085ed08820fcbe75e640acc3542fdf2937a34e5050b624f98e6ac62dd10f5e1328058a2 + checksum: 10c0/b06590c5f4da43df59905af1aac344432b43154c4c1569ebea168e7ae7fd0a4181ccabb769a6568cf3e781e1d1b9df13d65b3603e25ebb05539bcb02ea04215e languageName: node linkType: hard From 40b4f73c189ae2d3e16db58baab4caa5d40ffc3c Mon Sep 17 00:00:00 2001 From: Matt Jankowski Date: Mon, 21 Oct 2024 04:07:07 -0400 Subject: [PATCH 012/357] Pre-import Rails 7.2 generated config minor changes (#30579) --- config/environments/development.rb | 7 ++----- config/environments/production.rb | 12 +++++------- config/environments/test.rb | 6 +++--- 3 files changed, 10 insertions(+), 15 deletions(-) diff --git a/config/environments/development.rb b/config/environments/development.rb index 74f0913da241c4..f5f22a3c1ff158 100644 --- a/config/environments/development.rb +++ b/config/environments/development.rb @@ -16,7 +16,7 @@ # Show full error reports. config.consider_all_requests_local = true - # Enable server timing + # Enable server timing. config.server_timing = true # Enable/disable caching. By default caching is disabled. @@ -77,9 +77,6 @@ # Annotate rendered view with file names. # config.action_view.annotate_rendered_view_with_filenames = true - # Uncomment if you wish to allow Action Cable access from any origin. - # config.action_cable.disable_request_forgery_protection = true - config.action_mailer.default_options = { from: 'notifications@localhost' } # If using a Heroku, Vagrant or generic remote development environment, @@ -90,7 +87,7 @@ # TODO: Remove once devise-two-factor data migration complete config.x.otp_secret = ENV.fetch('OTP_SECRET', '1fc2b87989afa6351912abeebe31ffc5c476ead9bf8b3d74cbc4a302c7b69a45b40b1bbef3506ddad73e942e15ed5ca4b402bf9a66423626051104f4b5f05109') - # Raise error when a before_action's only/except options reference missing actions + # Raise error when a before_action's only/except options reference missing actions. config.action_controller.raise_on_missing_callback_actions = true end diff --git a/config/environments/production.rb b/config/environments/production.rb index 5129b73e411799..1cf752f3b24904 100644 --- a/config/environments/production.rb +++ b/config/environments/production.rb @@ -15,17 +15,14 @@ config.eager_load = true # Full error reports are disabled and caching is turned on. - config.consider_all_requests_local = false + config.consider_all_requests_local = false config.action_controller.perform_caching = true - config.action_controller.asset_host = ENV['CDN_HOST'] if ENV['CDN_HOST'].present? + config.action_controller.asset_host = ENV['CDN_HOST'] if ENV['CDN_HOST'].present? # Ensures that a master key has been made available in ENV["RAILS_MASTER_KEY"], config/master.key, or an environment # key such as config/credentials/production.key. This key is used to decrypt credentials (and other encrypted files). # config.require_master_key = true - # Compress CSS using a preprocessor. - # config.assets.css_compressor = :sass - # Do not fallback to assets pipeline if a precompiled asset is missed. config.assets.compile = false @@ -42,6 +39,7 @@ # Force all access to the app over SSL, use Strict-Transport-Security, and use secure cookies. config.force_ssl = true + # Skip http-to-https redirect for the default health check endpoint. config.ssl_options = { redirect: { exclude: ->(request) { request.path.start_with?('/health') || request.headers['Host'].end_with?('.onion') || request.headers['Host'].end_with?('.i2p') }, @@ -60,7 +58,7 @@ config.cache_store = :redis_cache_store, REDIS_CONFIGURATION.cache # Use a real queuing backend for Active Job (and separate queues per environment). - # config.active_job.queue_adapter = :resque + # config.active_job.queue_adapter = :resque # config.active_job.queue_name_prefix = "mastodon_production" config.action_mailer.perform_caching = false @@ -70,7 +68,7 @@ # config.action_mailer.raise_delivery_errors = false # Enable locale fallbacks for I18n (makes lookups for any locale fall back to - # English when a translation cannot be found). + # the I18n.default_locale when a translation cannot be found). # This setting would typically be `true` to use the `I18n.default_locale`. # Some locales are missing translation entries and would have errors: # https://github.com/mastodon/mastodon/pull/24727 diff --git a/config/environments/test.rb b/config/environments/test.rb index 716bf8d31f194e..eb29ab1e176775 100644 --- a/config/environments/test.rb +++ b/config/environments/test.rb @@ -22,11 +22,11 @@ config.assets_digest = false # Show full error reports and disable caching. - config.consider_all_requests_local = true + config.consider_all_requests_local = true config.action_controller.perform_caching = false config.cache_store = :memory_store - # Raise exceptions instead of rendering exception templates. + # Render exception templates for rescuable exceptions and raise for other exceptions. config.action_dispatch.show_exceptions = :rescuable # Disable request forgery protection in test environment. @@ -70,7 +70,7 @@ # Annotate rendered view with file names. # config.action_view.annotate_rendered_view_with_filenames = true - # Raise error when a before_action's only/except options reference missing actions + # Raise error when a before_action's only/except options reference missing actions. config.action_controller.raise_on_missing_callback_actions = true end From bd850d1ec0c6bb34fff93efe18a216ba0114a1b9 Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Mon, 21 Oct 2024 10:22:07 +0200 Subject: [PATCH 013/357] Update dependency @reduxjs/toolkit to v2.3.0 (#32497) 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 7b1cd2a7e84d86..38385bf8aa861b 100644 --- a/yarn.lock +++ b/yarn.lock @@ -3110,8 +3110,8 @@ __metadata: linkType: hard "@reduxjs/toolkit@npm:^2.0.1": - version: 2.2.8 - resolution: "@reduxjs/toolkit@npm:2.2.8" + version: 2.3.0 + resolution: "@reduxjs/toolkit@npm:2.3.0" dependencies: immer: "npm:^10.0.3" redux: "npm:^5.0.1" @@ -3125,7 +3125,7 @@ __metadata: optional: true react-redux: optional: true - checksum: 10c0/bf1356d71bfb82e5a181692c79c19b7bc19355260a9966f6562604c995f0cd0ce1154177ccd14095e8b319e73f64cfe86a4e46a83d24edba7876d4ae71fd5ae0 + checksum: 10c0/414e90b706331385a2122fc79e33f90c59a9caf9a59419f1bfd7f5e594bc8e4987902fd1bccbc53eb96d22c65ec2981ff5581f3d2df3ecd381a630f391edfc3e languageName: node linkType: hard From 699f75bb350f80545f37f80796d08feaec8525c9 Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Mon, 21 Oct 2024 10:23:46 +0200 Subject: [PATCH 014/357] Update dependency eslint-plugin-react-hooks to v5 (#32425) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> --- package.json | 2 +- yarn.lock | 12 ++++++------ 2 files changed, 7 insertions(+), 7 deletions(-) diff --git a/package.json b/package.json index a37b766ef0057e..047dbbb806e505 100644 --- a/package.json +++ b/package.json @@ -183,7 +183,7 @@ "eslint-plugin-jsx-a11y": "~6.10.0", "eslint-plugin-promise": "~7.1.0", "eslint-plugin-react": "^7.33.2", - "eslint-plugin-react-hooks": "^4.6.0", + "eslint-plugin-react-hooks": "^5.0.0", "husky": "^9.0.11", "jest": "^29.5.0", "jest-environment-jsdom": "^29.5.0", diff --git a/yarn.lock b/yarn.lock index 38385bf8aa861b..5ed241b03e15c4 100644 --- a/yarn.lock +++ b/yarn.lock @@ -2870,7 +2870,7 @@ __metadata: eslint-plugin-jsx-a11y: "npm:~6.10.0" eslint-plugin-promise: "npm:~7.1.0" eslint-plugin-react: "npm:^7.33.2" - eslint-plugin-react-hooks: "npm:^4.6.0" + eslint-plugin-react-hooks: "npm:^5.0.0" file-loader: "npm:^6.2.0" fuzzysort: "npm:^3.0.0" glob: "npm:^10.2.6" @@ -8012,12 +8012,12 @@ __metadata: languageName: node linkType: hard -"eslint-plugin-react-hooks@npm:^4.6.0": - version: 4.6.2 - resolution: "eslint-plugin-react-hooks@npm:4.6.2" +"eslint-plugin-react-hooks@npm:^5.0.0": + version: 5.0.0 + resolution: "eslint-plugin-react-hooks@npm:5.0.0" peerDependencies: - eslint: ^3.0.0 || ^4.0.0 || ^5.0.0 || ^6.0.0 || ^7.0.0 || ^8.0.0-0 - checksum: 10c0/4844e58c929bc05157fb70ba1e462e34f1f4abcbc8dd5bbe5b04513d33e2699effb8bca668297976ceea8e7ebee4e8fc29b9af9d131bcef52886feaa2308b2cc + eslint: ^3.0.0 || ^4.0.0 || ^5.0.0 || ^6.0.0 || ^7.0.0 || ^8.0.0-0 || ^9.0.0 + checksum: 10c0/bcb74b421f32e4203a7100405b57aab85526be4461e5a1da01bc537969a30012d2ee209a2c2a6cac543833a27188ce1e6ad71e4628d0bb4a2e5365cad86c5002 languageName: node linkType: hard From 4d5b2de6c8a8e574899f488f47ea0433117458a5 Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Mon, 21 Oct 2024 10:24:42 +0200 Subject: [PATCH 015/357] Update dependency mime-types to '~> 3.6.0' (#32215) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> --- Gemfile | 2 +- Gemfile.lock | 7 ++++--- 2 files changed, 5 insertions(+), 4 deletions(-) diff --git a/Gemfile b/Gemfile index bcb19421ab9afe..104fd266b8237f 100644 --- a/Gemfile +++ b/Gemfile @@ -61,7 +61,7 @@ gem 'irb', '~> 1.8' gem 'kaminari', '~> 1.2' gem 'link_header', '~> 0.0' gem 'mario-redis-lock', '~> 1.2', require: 'redis_lock' -gem 'mime-types', '~> 3.5.0', require: 'mime/types/columnar' +gem 'mime-types', '~> 3.6.0', require: 'mime/types/columnar' gem 'nokogiri', '~> 1.15' gem 'oj', '~> 3.14' gem 'ox', '~> 2.14' diff --git a/Gemfile.lock b/Gemfile.lock index f73f43fee4a3fd..957146b16b63f5 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -429,9 +429,10 @@ GEM azure-storage-blob (~> 2.0.1) hashie (~> 5.0) memory_profiler (1.1.0) - mime-types (3.5.2) + mime-types (3.6.0) + logger mime-types-data (~> 3.2015) - mime-types-data (3.2024.0820) + mime-types-data (3.2024.1001) mini_mime (1.1.5) mini_portile2 (2.8.7) minitest (5.25.1) @@ -970,7 +971,7 @@ DEPENDENCIES mario-redis-lock (~> 1.2) md-paperclip-azure (~> 2.2) memory_profiler - mime-types (~> 3.5.0) + mime-types (~> 3.6.0) net-http (~> 0.4.0) net-ldap (~> 0.18) nokogiri (~> 1.15) From 36f1ec164d6f92f5229fed386947d3536bdffee5 Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Mon, 21 Oct 2024 08:29:23 +0000 Subject: [PATCH 016/357] Update dependency ubuntu to v24 (#32280) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> --- .github/workflows/check-i18n.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/check-i18n.yml b/.github/workflows/check-i18n.yml index 5a1c0519665873..7c1004329cc166 100644 --- a/.github/workflows/check-i18n.yml +++ b/.github/workflows/check-i18n.yml @@ -18,7 +18,7 @@ permissions: jobs: check-i18n: - runs-on: ubuntu-22.04 + runs-on: ubuntu-24.04 steps: - uses: actions/checkout@v4 From bb0532530666d877cae6345ce6a11c041b01fc7b Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Mon, 21 Oct 2024 08:37:51 +0000 Subject: [PATCH 017/357] Update dependency eslint-plugin-formatjs to v5 (#32087) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> --- package.json | 2 +- yarn.lock | 187 +++++---------------------------------------------- 2 files changed, 18 insertions(+), 171 deletions(-) diff --git a/package.json b/package.json index 047dbbb806e505..d144b0c156ea39 100644 --- a/package.json +++ b/package.json @@ -177,7 +177,7 @@ "eslint": "^8.41.0", "eslint-define-config": "^2.0.0", "eslint-import-resolver-typescript": "^3.5.5", - "eslint-plugin-formatjs": "^4.10.1", + "eslint-plugin-formatjs": "^5.0.0", "eslint-plugin-import": "~2.30.0", "eslint-plugin-jsdoc": "^50.0.0", "eslint-plugin-jsx-a11y": "~6.10.0", diff --git a/yarn.lock b/yarn.lock index 5ed241b03e15c4..5ef35623408833 100644 --- a/yarn.lock +++ b/yarn.lock @@ -2230,16 +2230,6 @@ __metadata: languageName: node linkType: hard -"@formatjs/ecma402-abstract@npm:2.0.0": - version: 2.0.0 - resolution: "@formatjs/ecma402-abstract@npm:2.0.0" - dependencies: - "@formatjs/intl-localematcher": "npm:0.5.4" - tslib: "npm:^2.4.0" - checksum: 10c0/94cba291aeadffa3ca416087c2c2352c8a741bb4dcb7f47f15c247b1f043ffcef1af5b20a1b7578fbba9e704fc5f1c079923f3537a273d50162be62f8037625c - languageName: node - linkType: hard - "@formatjs/ecma402-abstract@npm:2.2.0": version: 2.2.0 resolution: "@formatjs/ecma402-abstract@npm:2.2.0" @@ -2271,27 +2261,6 @@ __metadata: languageName: node linkType: hard -"@formatjs/icu-messageformat-parser@npm:2.7.8": - version: 2.7.8 - resolution: "@formatjs/icu-messageformat-parser@npm:2.7.8" - dependencies: - "@formatjs/ecma402-abstract": "npm:2.0.0" - "@formatjs/icu-skeleton-parser": "npm:1.8.2" - tslib: "npm:^2.4.0" - checksum: 10c0/a3b759a825fb22ffd7b906f6a07b1a079bbc34f72c745de2c2514e439c4bb75bc1a9442eba1bac7ff3ea3010e12076374cd755ad12116b1d066cc90da5fbcbc9 - languageName: node - linkType: hard - -"@formatjs/icu-skeleton-parser@npm:1.8.2": - version: 1.8.2 - resolution: "@formatjs/icu-skeleton-parser@npm:1.8.2" - dependencies: - "@formatjs/ecma402-abstract": "npm:2.0.0" - tslib: "npm:^2.4.0" - checksum: 10c0/9b15013acc47b8d560b52942e3dab2abaaa9c5a4410bbd1d490a4b22bf5ca36fdd88b71f241d05479bddf856d0d1d57b7ecc9e79738497ac518616aa6d4d0015 - languageName: node - linkType: hard - "@formatjs/icu-skeleton-parser@npm:1.8.4": version: 1.8.4 resolution: "@formatjs/icu-skeleton-parser@npm:1.8.4" @@ -2324,15 +2293,6 @@ __metadata: languageName: node linkType: hard -"@formatjs/intl-localematcher@npm:0.5.4": - version: 0.5.4 - resolution: "@formatjs/intl-localematcher@npm:0.5.4" - dependencies: - tslib: "npm:^2.4.0" - checksum: 10c0/c9ff5d34ca8b6fe59f8f303a3cc31a92d343e095a6987e273e5cc23f0fe99feb557a392a05da95931c7d24106acb6988e588d00ddd05b0934005aafd7fdbafe6 - languageName: node - linkType: hard - "@formatjs/intl-localematcher@npm:0.5.5": version: 0.5.5 resolution: "@formatjs/intl-localematcher@npm:0.5.5" @@ -2373,26 +2333,6 @@ __metadata: languageName: node linkType: hard -"@formatjs/ts-transformer@npm:3.13.14": - version: 3.13.14 - resolution: "@formatjs/ts-transformer@npm:3.13.14" - dependencies: - "@formatjs/icu-messageformat-parser": "npm:2.7.8" - "@types/json-stable-stringify": "npm:^1.0.32" - "@types/node": "npm:14 || 16 || 17" - chalk: "npm:^4.0.0" - json-stable-stringify: "npm:^1.0.1" - tslib: "npm:^2.4.0" - typescript: "npm:5" - peerDependencies: - ts-jest: ">=27" - peerDependenciesMeta: - ts-jest: - optional: true - checksum: 10c0/38450cfce3ec5132f3548c1e9ab098909ca8d2db2b8b6b4b5bb87aa59a4ca1a19bbf6d339ace39bcc931fa80d9946b4c7cf039c9574069b317ae015cd6963bd3 - languageName: node - linkType: hard - "@formatjs/ts-transformer@npm:3.13.16": version: 3.13.16 resolution: "@formatjs/ts-transformer@npm:3.13.16" @@ -2864,7 +2804,7 @@ __metadata: eslint: "npm:^8.41.0" eslint-define-config: "npm:^2.0.0" eslint-import-resolver-typescript: "npm:^3.5.5" - eslint-plugin-formatjs: "npm:^4.10.1" + eslint-plugin-formatjs: "npm:^5.0.0" eslint-plugin-import: "npm:~2.30.0" eslint-plugin-jsdoc: "npm:^50.0.0" eslint-plugin-jsx-a11y: "npm:~6.10.0" @@ -3574,13 +3514,13 @@ __metadata: languageName: node linkType: hard -"@types/eslint@npm:7 || 8": - version: 8.56.10 - resolution: "@types/eslint@npm:8.56.10" +"@types/eslint@npm:9": + version: 9.6.1 + resolution: "@types/eslint@npm:9.6.1" dependencies: "@types/estree": "npm:*" "@types/json-schema": "npm:*" - checksum: 10c0/674349d6c342c3864d70f4d5a9965f96fb253801532752c8c500ad6a1c2e8b219e01ccff5dc8791dcb58b5483012c495708bb9f3ff929f5c9322b3da126c15d3 + checksum: 10c0/69ba24fee600d1e4c5abe0df086c1a4d798abf13792d8cfab912d76817fe1a894359a1518557d21237fbaf6eda93c5ab9309143dee4c59ef54336d1b3570420e languageName: node linkType: hard @@ -3734,7 +3674,7 @@ __metadata: languageName: node linkType: hard -"@types/json-schema@npm:*, @types/json-schema@npm:^7.0.12, @types/json-schema@npm:^7.0.5, @types/json-schema@npm:^7.0.8": +"@types/json-schema@npm:*, @types/json-schema@npm:^7.0.5, @types/json-schema@npm:^7.0.8": version: 7.0.15 resolution: "@types/json-schema@npm:7.0.15" checksum: 10c0/a996a745e6c5d60292f36731dd41341339d4eeed8180bb09226e5c8d23759067692b1d88e5d91d72ee83dfc00d3aca8e7bd43ea120516c17922cbcb7c3e252db @@ -3792,13 +3732,6 @@ __metadata: languageName: node linkType: hard -"@types/node@npm:14 || 16 || 17": - version: 17.0.45 - resolution: "@types/node@npm:17.0.45" - checksum: 10c0/0db377133d709b33a47892581a21a41cd7958f22723a3cc6c71d55ac018121382de42fbfc7970d5ae3e7819dbe5f40e1c6a5174aedf7e7964e9cb8fa72b580b0 - languageName: node - linkType: hard - "@types/node@npm:14 || 16 || 17 || 18": version: 18.19.55 resolution: "@types/node@npm:18.19.55" @@ -4019,13 +3952,6 @@ __metadata: languageName: node linkType: hard -"@types/semver@npm:^7.5.0": - version: 7.5.8 - resolution: "@types/semver@npm:7.5.8" - checksum: 10c0/8663ff927234d1c5fcc04b33062cb2b9fcfbe0f5f351ed26c4d1e1581657deebd506b41ff7fdf89e787e3d33ce05854bc01686379b89e9c49b564c4cfa988efa - languageName: node - linkType: hard - "@types/send@npm:*": version: 0.17.4 resolution: "@types/send@npm:0.17.4" @@ -4210,16 +4136,6 @@ __metadata: languageName: node linkType: hard -"@typescript-eslint/scope-manager@npm:6.21.0": - version: 6.21.0 - resolution: "@typescript-eslint/scope-manager@npm:6.21.0" - dependencies: - "@typescript-eslint/types": "npm:6.21.0" - "@typescript-eslint/visitor-keys": "npm:6.21.0" - checksum: 10c0/eaf868938d811cbbea33e97e44ba7050d2b6892202cea6a9622c486b85ab1cf801979edf78036179a8ba4ac26f1dfdf7fcc83a68c1ff66be0b3a8e9a9989b526 - languageName: node - linkType: hard - "@typescript-eslint/scope-manager@npm:8.10.0": version: 8.10.0 resolution: "@typescript-eslint/scope-manager@npm:8.10.0" @@ -4245,13 +4161,6 @@ __metadata: languageName: node linkType: hard -"@typescript-eslint/types@npm:6.21.0": - version: 6.21.0 - resolution: "@typescript-eslint/types@npm:6.21.0" - checksum: 10c0/020631d3223bbcff8a0da3efbdf058220a8f48a3de221563996ad1dcc30d6c08dadc3f7608cc08830d21c0d565efd2db19b557b9528921c78aabb605eef2d74d - languageName: node - linkType: hard - "@typescript-eslint/types@npm:8.10.0": version: 8.10.0 resolution: "@typescript-eslint/types@npm:8.10.0" @@ -4259,25 +4168,6 @@ __metadata: languageName: node linkType: hard -"@typescript-eslint/typescript-estree@npm:6.21.0": - version: 6.21.0 - resolution: "@typescript-eslint/typescript-estree@npm:6.21.0" - dependencies: - "@typescript-eslint/types": "npm:6.21.0" - "@typescript-eslint/visitor-keys": "npm:6.21.0" - debug: "npm:^4.3.4" - globby: "npm:^11.1.0" - is-glob: "npm:^4.0.3" - minimatch: "npm:9.0.3" - semver: "npm:^7.5.4" - ts-api-utils: "npm:^1.0.1" - peerDependenciesMeta: - typescript: - optional: true - checksum: 10c0/af1438c60f080045ebb330155a8c9bb90db345d5069cdd5d01b67de502abb7449d6c75500519df829f913a6b3f490ade3e8215279b6bdc63d0fb0ae61034df5f - languageName: node - linkType: hard - "@typescript-eslint/typescript-estree@npm:8.10.0": version: 8.10.0 resolution: "@typescript-eslint/typescript-estree@npm:8.10.0" @@ -4311,33 +4201,6 @@ __metadata: languageName: node linkType: hard -"@typescript-eslint/utils@npm:^6.18.1": - version: 6.21.0 - resolution: "@typescript-eslint/utils@npm:6.21.0" - dependencies: - "@eslint-community/eslint-utils": "npm:^4.4.0" - "@types/json-schema": "npm:^7.0.12" - "@types/semver": "npm:^7.5.0" - "@typescript-eslint/scope-manager": "npm:6.21.0" - "@typescript-eslint/types": "npm:6.21.0" - "@typescript-eslint/typescript-estree": "npm:6.21.0" - semver: "npm:^7.5.4" - peerDependencies: - eslint: ^7.0.0 || ^8.0.0 - checksum: 10c0/ab2df3833b2582d4e5467a484d08942b4f2f7208f8e09d67de510008eb8001a9b7460f2f9ba11c12086fd3cdcac0c626761c7995c2c6b5657d5fa6b82030a32d - languageName: node - linkType: hard - -"@typescript-eslint/visitor-keys@npm:6.21.0": - version: 6.21.0 - resolution: "@typescript-eslint/visitor-keys@npm:6.21.0" - dependencies: - "@typescript-eslint/types": "npm:6.21.0" - eslint-visitor-keys: "npm:^3.4.1" - checksum: 10c0/7395f69739cfa1cb83c1fb2fad30afa2a814756367302fb4facd5893eff66abc807e8d8f63eba94ed3b0fe0c1c996ac9a1680bcbf0f83717acedc3f2bb724fbf - languageName: node - linkType: hard - "@typescript-eslint/visitor-keys@npm:8.10.0": version: 8.10.0 resolution: "@typescript-eslint/visitor-keys@npm:8.10.0" @@ -7907,24 +7770,24 @@ __metadata: languageName: node linkType: hard -"eslint-plugin-formatjs@npm:^4.10.1": - version: 4.13.3 - resolution: "eslint-plugin-formatjs@npm:4.13.3" +"eslint-plugin-formatjs@npm:^5.0.0": + version: 5.1.1 + resolution: "eslint-plugin-formatjs@npm:5.1.1" dependencies: - "@formatjs/icu-messageformat-parser": "npm:2.7.8" - "@formatjs/ts-transformer": "npm:3.13.14" - "@types/eslint": "npm:7 || 8" + "@formatjs/icu-messageformat-parser": "npm:2.7.10" + "@formatjs/ts-transformer": "npm:3.13.16" + "@types/eslint": "npm:9" "@types/picomatch": "npm:^2.3.0" - "@typescript-eslint/utils": "npm:^6.18.1" + "@typescript-eslint/utils": "npm:8.10.0" emoji-regex: "npm:^10.2.1" magic-string: "npm:^0.30.0" picomatch: "npm:^2.3.1" - tslib: "npm:2.6.2" + tslib: "npm:^2.7.0" typescript: "npm:5" unicode-emoji-utils: "npm:^1.2.0" peerDependencies: - eslint: 7 || 8 - checksum: 10c0/5e98f487a097189e3bdc64b678d19f4c83502c32d7c89a8959eda4ed9cb664bf16f13ad8871be89ca192cb39c1007d6a158c39bbf5b23c56962d949dbe9abfab + eslint: 9 + checksum: 10c0/b0cf41208fe1bdcd4e7879c0a7099273753ec1e2c5a855c0989679690a740b92123d1625cea7ce862a19412a588fd16e42c0c196807021f13462585ace719dc1 languageName: node linkType: hard @@ -12008,15 +11871,6 @@ __metadata: languageName: node linkType: hard -"minimatch@npm:9.0.3": - version: 9.0.3 - resolution: "minimatch@npm:9.0.3" - dependencies: - brace-expansion: "npm:^2.0.1" - checksum: 10c0/85f407dcd38ac3e180f425e86553911d101455ca3ad5544d6a7cec16286657e4f8a9aa6695803025c55e31e35a91a2252b5dc8e7d527211278b8b65b4dbd5eac - languageName: node - linkType: hard - "minimatch@npm:^3.0.4, minimatch@npm:^3.0.5, minimatch@npm:^3.1.1, minimatch@npm:^3.1.2": version: 3.1.2 resolution: "minimatch@npm:3.1.2" @@ -17193,7 +17047,7 @@ __metadata: languageName: node linkType: hard -"ts-api-utils@npm:^1.0.1, ts-api-utils@npm:^1.3.0": +"ts-api-utils@npm:^1.3.0": version: 1.3.0 resolution: "ts-api-utils@npm:1.3.0" peerDependencies: @@ -17214,13 +17068,6 @@ __metadata: languageName: node linkType: hard -"tslib@npm:2.6.2": - version: 2.6.2 - resolution: "tslib@npm:2.6.2" - checksum: 10c0/e03a8a4271152c8b26604ed45535954c0a45296e32445b4b87f8a5abdb2421f40b59b4ca437c4346af0f28179780d604094eb64546bee2019d903d01c6c19bdb - languageName: node - linkType: hard - "tslib@npm:^2.0.0, tslib@npm:^2.4.0, tslib@npm:^2.6.2, tslib@npm:^2.7.0": version: 2.7.0 resolution: "tslib@npm:2.7.0" From 346cdb998c8b8519292a0a1633a28a3938665f44 Mon Sep 17 00:00:00 2001 From: Emelia Smith Date: Tue, 22 Oct 2024 10:31:53 +0200 Subject: [PATCH 018/357] Fix 'unknown' media attachment type rendering (#32613) --- app/javascript/mastodon/components/status.jsx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/app/javascript/mastodon/components/status.jsx b/app/javascript/mastodon/components/status.jsx index 46926b4aaead34..479213636818c9 100644 --- a/app/javascript/mastodon/components/status.jsx +++ b/app/javascript/mastodon/components/status.jsx @@ -449,7 +449,7 @@ class Status extends ImmutablePureComponent { } else if (status.get('media_attachments').size > 0) { const language = status.getIn(['translation', 'language']) || status.get('language'); - if (['image', 'gifv'].includes(status.getIn(['media_attachments', 0, 'type'])) || status.get('media_attachments').size > 1) { + if (['image', 'gifv', 'unknown'].includes(status.getIn(['media_attachments', 0, 'type'])) || status.get('media_attachments').size > 1) { media = ( {Component => ( From f8a66e99150e50ac7e74f3b68e2881bc0c983ffe Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Tue, 22 Oct 2024 10:36:32 +0200 Subject: [PATCH 019/357] Update formatjs monorepo (#32612) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> --- yarn.lock | 122 +++++++++++++++++++++++++++++++++++------------------- 1 file changed, 80 insertions(+), 42 deletions(-) diff --git a/yarn.lock b/yarn.lock index 5ef35623408833..baf0dec9efbdd3 100644 --- a/yarn.lock +++ b/yarn.lock @@ -2261,6 +2261,17 @@ __metadata: languageName: node linkType: hard +"@formatjs/icu-messageformat-parser@npm:2.8.0": + version: 2.8.0 + resolution: "@formatjs/icu-messageformat-parser@npm:2.8.0" + dependencies: + "@formatjs/ecma402-abstract": "npm:2.2.0" + "@formatjs/icu-skeleton-parser": "npm:1.8.4" + tslib: "npm:^2.7.0" + checksum: 10c0/f8cf835817529ec5c7aed55e60c2584ffe78b6d7f079526e2809af4fdd32d85c4569a01e806861e4352bb5ca996116ea5006870d7e40e01c79878df345e8ba4d + languageName: node + linkType: hard + "@formatjs/icu-skeleton-parser@npm:1.8.4": version: 1.8.4 resolution: "@formatjs/icu-skeleton-parser@npm:1.8.4" @@ -2271,25 +2282,25 @@ __metadata: languageName: node linkType: hard -"@formatjs/intl-displaynames@npm:6.6.10": - version: 6.6.10 - resolution: "@formatjs/intl-displaynames@npm:6.6.10" +"@formatjs/intl-displaynames@npm:6.7.0": + version: 6.7.0 + resolution: "@formatjs/intl-displaynames@npm:6.7.0" dependencies: "@formatjs/ecma402-abstract": "npm:2.2.0" "@formatjs/intl-localematcher": "npm:0.5.5" tslib: "npm:^2.7.0" - checksum: 10c0/e4158f67fc0d6c2345d05b85183aef480fc86c68b60643abdd143ddc66a2203acfcf1b3dc4619658479e54c971c878a2548db34e08f3b035348686f088bf03c4 + checksum: 10c0/d4814ca580ab261681d2926c3d0df26c445df8e18891dff5cc6363f3c7ea9db393ed1056d8c5ab9277b5fb5e40d44444e7f92935f64f8282c8859c9dab8caabf languageName: node linkType: hard -"@formatjs/intl-listformat@npm:7.5.9": - version: 7.5.9 - resolution: "@formatjs/intl-listformat@npm:7.5.9" +"@formatjs/intl-listformat@npm:7.6.0": + version: 7.6.0 + resolution: "@formatjs/intl-listformat@npm:7.6.0" dependencies: "@formatjs/ecma402-abstract": "npm:2.2.0" "@formatjs/intl-localematcher": "npm:0.5.5" tslib: "npm:^2.7.0" - checksum: 10c0/b5041de4d6e011f36ba4b54406aae9aef763f8bc8b22364bdc8447d0b8b3e553111d117b02f801c31f2ab2c0d3abc086bd90db1b83c000babb99316cd15be5e2 + checksum: 10c0/8732f492d0faa3d3c633fc9247af6953c15ca8ae9a7cc7de620afa86bbdcb8a92a8a76e36aaf2dbc1fb25d1e9c0ed48c9031926caef9900f68d18772b7e8ce29 languageName: node linkType: hard @@ -2303,33 +2314,33 @@ __metadata: linkType: hard "@formatjs/intl-pluralrules@npm:^5.2.2": - version: 5.2.16 - resolution: "@formatjs/intl-pluralrules@npm:5.2.16" + version: 5.2.17 + resolution: "@formatjs/intl-pluralrules@npm:5.2.17" dependencies: "@formatjs/ecma402-abstract": "npm:2.2.0" "@formatjs/intl-localematcher": "npm:0.5.5" tslib: "npm:^2.7.0" - checksum: 10c0/2250a96a74a153a5f1e771233c366c42005efd71ac5ff665891a308ce78a68f85709f8c892d28a1e334f974252bfb3407f6a64da616c3adbeb158310ef73d71b + checksum: 10c0/d1389821d8b853433ba4b3b7c1b5c08244d6b2dc5f3e54cc171336c8e6ab545b9eb0f388ce98f1245879693bf3068ffc4df2e5f1c7dee0a1e87a058a5c4ce8fc languageName: node linkType: hard -"@formatjs/intl@npm:2.10.8": - version: 2.10.8 - resolution: "@formatjs/intl@npm:2.10.8" +"@formatjs/intl@npm:2.10.9": + version: 2.10.9 + resolution: "@formatjs/intl@npm:2.10.9" dependencies: "@formatjs/ecma402-abstract": "npm:2.2.0" "@formatjs/fast-memoize": "npm:2.2.1" - "@formatjs/icu-messageformat-parser": "npm:2.7.10" - "@formatjs/intl-displaynames": "npm:6.6.10" - "@formatjs/intl-listformat": "npm:7.5.9" - intl-messageformat: "npm:10.7.0" + "@formatjs/icu-messageformat-parser": "npm:2.8.0" + "@formatjs/intl-displaynames": "npm:6.7.0" + "@formatjs/intl-listformat": "npm:7.6.0" + intl-messageformat: "npm:10.7.1" tslib: "npm:^2.7.0" peerDependencies: typescript: ^4.7 || 5 peerDependenciesMeta: typescript: optional: true - checksum: 10c0/e35a4421f445ef4f7ce362144dde143ad895391b03380fbf896fe261a445fa6b5d886989e07bf9b49e52e83f0a3f9b667cfecbc2684a9ea898c6d25daf07b392 + checksum: 10c0/9be5c6e7e8371904789d0771ee97f04cdf16de3f6f4aa01998b3f8c64aa36d9bf91c491ebf95fa2dc6ec16a7d1bb6e3738ddbec02005c199e786133eb0e5795b languageName: node linkType: hard @@ -2353,6 +2364,26 @@ __metadata: languageName: node linkType: hard +"@formatjs/ts-transformer@npm:3.13.17": + version: 3.13.17 + resolution: "@formatjs/ts-transformer@npm:3.13.17" + dependencies: + "@formatjs/icu-messageformat-parser": "npm:2.8.0" + "@types/json-stable-stringify": "npm:^1.0.32" + "@types/node": "npm:14 || 16 || 17 || 18 || 20" + chalk: "npm:^4.0.0" + json-stable-stringify: "npm:^1.0.1" + tslib: "npm:^2.7.0" + typescript: "npm:5" + peerDependencies: + ts-jest: ">=27" + peerDependenciesMeta: + ts-jest: + optional: true + checksum: 10c0/1619f771d8aa69cf63f05199ebc28b57a5e0850b64dc9c2bd0df73d8f388a3323c47f13bcc742a51a7560349591282d88695e6fb9a646b0e7d4f7d0b07e2c5c0 + languageName: node + linkType: hard + "@gamestdio/websocket@npm:^0.3.2": version: 0.3.2 resolution: "@gamestdio/websocket@npm:0.3.2" @@ -3723,12 +3754,12 @@ __metadata: languageName: node linkType: hard -"@types/node@npm:*": - version: 20.8.10 - resolution: "@types/node@npm:20.8.10" +"@types/node@npm:*, @types/node@npm:14 || 16 || 17 || 18 || 20": + version: 20.16.13 + resolution: "@types/node@npm:20.16.13" dependencies: - undici-types: "npm:~5.26.4" - checksum: 10c0/caaa3ae9294f1bfdacb029a916c64af63cbcea613a52f53ea86f93c91779859af177b2b68113ef835194519f5e76cadda08559929b68297f1a8a568c207f9f66 + undici-types: "npm:~6.19.2" + checksum: 10c0/7f4fd7176db0802c62e11ebbf7a66d0248e2dc8ec9153d9fc8bcb164d9aed581d91c407046c823c522e60d0babfdc24a1618dba7f2c6920ef1a24e1d416c9550 languageName: node linkType: hard @@ -5100,21 +5131,21 @@ __metadata: linkType: hard "babel-plugin-formatjs@npm:^10.5.1": - version: 10.5.18 - resolution: "babel-plugin-formatjs@npm:10.5.18" + version: 10.5.19 + resolution: "babel-plugin-formatjs@npm:10.5.19" dependencies: "@babel/core": "npm:^7.25.0" "@babel/helper-plugin-utils": "npm:^7.25.0" "@babel/plugin-syntax-jsx": "npm:^7.25.0" "@babel/traverse": "npm:^7.25.0" "@babel/types": "npm:^7.25.0" - "@formatjs/icu-messageformat-parser": "npm:2.7.10" - "@formatjs/ts-transformer": "npm:3.13.16" + "@formatjs/icu-messageformat-parser": "npm:2.8.0" + "@formatjs/ts-transformer": "npm:3.13.17" "@types/babel__core": "npm:^7.20.5" "@types/babel__helper-plugin-utils": "npm:^7.10.3" "@types/babel__traverse": "npm:^7.20.6" tslib: "npm:^2.7.0" - checksum: 10c0/3e7753cb1837ea300f7b0d574751758330f4fe56e4f686a1ceb7acc612c0ac1353ed2a918b5af6e4dcaf579c623d56f714159a265d64b71897471a69f15910b8 + checksum: 10c0/29d1e1fe8c97412a1c6c95dde3753ea28ddbe39040aaead90c67106422ce12dad363aee47a2729f685807bacf7f422ef607f015b325203a8201249b74e84bab3 languageName: node linkType: hard @@ -9661,15 +9692,15 @@ __metadata: languageName: node linkType: hard -"intl-messageformat@npm:10.7.0, intl-messageformat@npm:^10.3.5": - version: 10.7.0 - resolution: "intl-messageformat@npm:10.7.0" +"intl-messageformat@npm:10.7.1, intl-messageformat@npm:^10.3.5": + version: 10.7.1 + resolution: "intl-messageformat@npm:10.7.1" dependencies: "@formatjs/ecma402-abstract": "npm:2.2.0" "@formatjs/fast-memoize": "npm:2.2.1" - "@formatjs/icu-messageformat-parser": "npm:2.7.10" + "@formatjs/icu-messageformat-parser": "npm:2.8.0" tslib: "npm:^2.7.0" - checksum: 10c0/772469599fa8ab43dc933d03c75c6290220565c97afdc60cb67d036f2c51f1b3a825b2345933ee7616ecdf018b95ea7704f5ec80ded5a8efc2ce7f4b2962cae3 + checksum: 10c0/b9383a2c0ce7888d34fa7bbb4ba7cc139ea77a372bd9268412e97e8a1357ebd1880beb04affdbd7175ae27db2a57024f21e804b34f2b159fd1c3d221f69c40d4 languageName: node linkType: hard @@ -14381,18 +14412,18 @@ __metadata: linkType: hard "react-intl@npm:^6.4.2": - version: 6.8.0 - resolution: "react-intl@npm:6.8.0" + version: 6.8.1 + resolution: "react-intl@npm:6.8.1" dependencies: "@formatjs/ecma402-abstract": "npm:2.2.0" - "@formatjs/icu-messageformat-parser": "npm:2.7.10" - "@formatjs/intl": "npm:2.10.8" - "@formatjs/intl-displaynames": "npm:6.6.10" - "@formatjs/intl-listformat": "npm:7.5.9" + "@formatjs/icu-messageformat-parser": "npm:2.8.0" + "@formatjs/intl": "npm:2.10.9" + "@formatjs/intl-displaynames": "npm:6.7.0" + "@formatjs/intl-listformat": "npm:7.6.0" "@types/hoist-non-react-statics": "npm:^3.3.1" "@types/react": "npm:^18.3.11" hoist-non-react-statics: "npm:^3.3.2" - intl-messageformat: "npm:10.7.0" + intl-messageformat: "npm:10.7.1" tslib: "npm:^2.7.0" peerDependencies: react: ^16.6.0 || 17 || 18 @@ -14400,7 +14431,7 @@ __metadata: peerDependenciesMeta: typescript: optional: true - checksum: 10c0/e110d8cbfc227cbed3b72b162fe8a75e824aef47eeb5a7879a5a2d9fa5dd35d2d25149ef57460fa06bca7ae106184c729e410c22bcdb349d29bb1ee35f3c5cf0 + checksum: 10c0/4ffdf8fd6e82c10de7d1e195336c8bc98fab5f6bc7fde548f7df553caf05677d632977c3287e9b72915f8a01ed98ff8246fdfccea2f7048902f46a596a0db4b2 languageName: node linkType: hard @@ -17253,6 +17284,13 @@ __metadata: languageName: node linkType: hard +"undici-types@npm:~6.19.2": + version: 6.19.8 + resolution: "undici-types@npm:6.19.8" + checksum: 10c0/078afa5990fba110f6824823ace86073b4638f1d5112ee26e790155f481f2a868cc3e0615505b6f4282bdf74a3d8caad715fd809e870c2bb0704e3ea6082f344 + languageName: node + linkType: hard + "unicode-canonical-property-names-ecmascript@npm:^2.0.0": version: 2.0.0 resolution: "unicode-canonical-property-names-ecmascript@npm:2.0.0" From 16597fa73547f5f894342711ad081a36bd34ee03 Mon Sep 17 00:00:00 2001 From: Eugene Alvin Villar Date: Tue, 22 Oct 2024 16:41:40 +0800 Subject: [PATCH 020/357] Fix tl language native name (#32606) --- app/helpers/languages_helper.rb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/app/helpers/languages_helper.rb b/app/helpers/languages_helper.rb index 394202e39ad78a..0a8ebcde549cdc 100644 --- a/app/helpers/languages_helper.rb +++ b/app/helpers/languages_helper.rb @@ -162,7 +162,7 @@ module LanguagesHelper th: ['Thai', 'ไทย'].freeze, ti: ['Tigrinya', 'ትግርኛ'].freeze, tk: ['Turkmen', 'Türkmen'].freeze, - tl: ['Tagalog', 'Wikang Tagalog'].freeze, + tl: ['Tagalog', 'Tagalog'].freeze, tn: ['Tswana', 'Setswana'].freeze, to: ['Tonga', 'faka Tonga'].freeze, tr: ['Turkish', 'Türkçe'].freeze, From 18659f8163e146a7fea17a2800f039c9a47b7683 Mon Sep 17 00:00:00 2001 From: Jeong Arm Date: Tue, 22 Oct 2024 08:46:32 -0400 Subject: [PATCH 021/357] Fix that blocking was not working on link timeline (#32625) --- app/models/link_feed.rb | 2 ++ 1 file changed, 2 insertions(+) diff --git a/app/models/link_feed.rb b/app/models/link_feed.rb index 32efb331b62656..29ea430cc0175a 100644 --- a/app/models/link_feed.rb +++ b/app/models/link_feed.rb @@ -19,6 +19,8 @@ def get(limit, max_id = nil, since_id = nil, min_id = nil) scope.merge!(discoverable) scope.merge!(attached_to_preview_card) + scope.merge!(account_filters_scope) if account? + scope.merge!(language_scope) if account&.chosen_languages.present? scope.to_a_paginated_by_id(limit, max_id: max_id, since_id: since_id, min_id: min_id) end From 029c99bd7b5bca19b11d63a09c3e71b86306dad4 Mon Sep 17 00:00:00 2001 From: David Roetzel Date: Tue, 22 Oct 2024 14:49:10 +0200 Subject: [PATCH 022/357] Do not change follow counters when already following (#32622) --- app/javascript/mastodon/reducers/accounts.ts | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/app/javascript/mastodon/reducers/accounts.ts b/app/javascript/mastodon/reducers/accounts.ts index 5a9cc7220c7624..2001353b2e81e7 100644 --- a/app/javascript/mastodon/reducers/accounts.ts +++ b/app/javascript/mastodon/reducers/accounts.ts @@ -57,7 +57,10 @@ export const accountsReducer: Reducer = ( return state.setIn([action.payload.id, 'hidden'], false); else if (importAccounts.match(action)) return normalizeAccounts(state, action.payload.accounts); - else if (followAccountSuccess.match(action)) { + else if ( + followAccountSuccess.match(action) && + !action.payload.alreadyFollowing + ) { return state .update(action.payload.relationship.id, (account) => account?.update('followers_count', (n) => n + 1), From 6d2f865862dcadcc6046c2b81df25e51bae134a0 Mon Sep 17 00:00:00 2001 From: Matt Jankowski Date: Wed, 23 Oct 2024 02:39:19 -0400 Subject: [PATCH 023/357] Add coverage for `AccountAlias` validations (#31936) --- spec/models/account_alias_spec.rb | 22 ++++++++++++++++++++++ 1 file changed, 22 insertions(+) diff --git a/spec/models/account_alias_spec.rb b/spec/models/account_alias_spec.rb index fc8c6bd250efde..17c83967a4ab7f 100644 --- a/spec/models/account_alias_spec.rb +++ b/spec/models/account_alias_spec.rb @@ -8,4 +8,26 @@ it { is_expected.to normalize(:acct).from(' @username@domain ').to('username@domain') } end end + + describe 'Validations' do + subject { described_class.new(account:) } + + let(:account) { Fabricate :account } + + it { is_expected.to_not allow_values(nil, '').for(:uri).against(:acct).with_message(not_found_message) } + + it { is_expected.to_not allow_values(account_uri).for(:uri).against(:acct).with_message(self_move_message) } + + def account_uri + ActivityPub::TagManager.instance.uri_for(subject.account) + end + + def not_found_message + I18n.t('migrations.errors.not_found') + end + + def self_move_message + I18n.t('migrations.errors.move_to_self') + end + end end From 0a4a73f9a67d5dc80a66d192af2b89cac41563a1 Mon Sep 17 00:00:00 2001 From: Matt Jankowski Date: Wed, 23 Oct 2024 02:40:29 -0400 Subject: [PATCH 024/357] Add coverage for `api/v1/domain_blocks/preview` endpoint (#32303) --- .../api/v1/domain_blocks/previews_spec.rb | 36 +++++++++++++++++++ 1 file changed, 36 insertions(+) create mode 100644 spec/requests/api/v1/domain_blocks/previews_spec.rb diff --git a/spec/requests/api/v1/domain_blocks/previews_spec.rb b/spec/requests/api/v1/domain_blocks/previews_spec.rb new file mode 100644 index 00000000000000..eb191f436b6f2a --- /dev/null +++ b/spec/requests/api/v1/domain_blocks/previews_spec.rb @@ -0,0 +1,36 @@ +# frozen_string_literal: true + +require 'rails_helper' + +RSpec.describe 'Domain Blocks Previews API' do + let(:user) { Fabricate(:user) } + let(:token) { Fabricate(:accessible_access_token, resource_owner_id: user.id, scopes: scopes) } + let(:scopes) { 'write:blocks' } + let(:headers) { { 'Authorization' => "Bearer #{token.token}" } } + let(:account) { Fabricate(:account, user: user) } + + describe 'GET /api/v1/domain_blocks/preview' do + subject { get '/api/v1/domain_blocks/preview', params: { domain: domain }, headers: headers } + + let(:domain) { 'host.example' } + + before do + Fabricate :follow, account: account, target_account: Fabricate(:account, domain: domain) + Fabricate :follow, target_account: account, account: Fabricate(:account, domain: domain) + end + + it_behaves_like 'forbidden for wrong scope', 'write:statuses' + + it 'returns http success and follower counts' do + subject + + expect(response) + .to have_http_status(200) + expect(response.content_type) + .to start_with('application/json') + expect(response.parsed_body) + .to include(followers_count: 1) + .and include(following_count: 1) + end + end +end From 67403e7b01f22c3089c7062f9f4e8e861357c377 Mon Sep 17 00:00:00 2001 From: Matt Jankowski Date: Wed, 23 Oct 2024 02:41:07 -0400 Subject: [PATCH 025/357] Add coverage for ActivityPub likes/shares endpoints (#32305) --- spec/requests/activitypub/likes_spec.rb | 25 ++++++++++++++++++++++++ spec/requests/activitypub/shares_spec.rb | 25 ++++++++++++++++++++++++ 2 files changed, 50 insertions(+) create mode 100644 spec/requests/activitypub/likes_spec.rb create mode 100644 spec/requests/activitypub/shares_spec.rb diff --git a/spec/requests/activitypub/likes_spec.rb b/spec/requests/activitypub/likes_spec.rb new file mode 100644 index 00000000000000..d780ad51684876 --- /dev/null +++ b/spec/requests/activitypub/likes_spec.rb @@ -0,0 +1,25 @@ +# frozen_string_literal: true + +require 'rails_helper' + +RSpec.describe 'ActivityPub Likes' do + let(:account) { Fabricate(:account) } + let(:status) { Fabricate :status, account: account } + + before { Fabricate :favourite, status: status } + + describe 'GET /accounts/:account_username/statuses/:status_id/likes' do + it 'returns http success and activity json types and correct items count' do + get account_status_likes_path(account, status) + + expect(response) + .to have_http_status(200) + expect(response.media_type) + .to eq 'application/activity+json' + + expect(response.parsed_body) + .to include(type: 'Collection') + .and include(totalItems: 1) + end + end +end diff --git a/spec/requests/activitypub/shares_spec.rb b/spec/requests/activitypub/shares_spec.rb new file mode 100644 index 00000000000000..956bc7d201c04b --- /dev/null +++ b/spec/requests/activitypub/shares_spec.rb @@ -0,0 +1,25 @@ +# frozen_string_literal: true + +require 'rails_helper' + +RSpec.describe 'ActivityPub Shares' do + let(:account) { Fabricate(:account) } + let(:status) { Fabricate :status, account: account } + + before { Fabricate :status, reblog: status } + + describe 'GET /accounts/:account_username/statuses/:status_id/shares' do + it 'returns http success and activity json types and correct items count' do + get account_status_shares_path(account, status) + + expect(response) + .to have_http_status(200) + expect(response.media_type) + .to eq 'application/activity+json' + + expect(response.parsed_body) + .to include(type: 'Collection') + .and include(totalItems: 1) + end + end +end From 1f3722904fd328b7a1490a58304779521acc52df Mon Sep 17 00:00:00 2001 From: Matt Jankowski Date: Wed, 23 Oct 2024 02:42:57 -0400 Subject: [PATCH 026/357] Top off coverage for `Appeal` model (#32464) --- spec/models/appeal_spec.rb | 91 ++++++++++++++++++++++++++++++++------ 1 file changed, 78 insertions(+), 13 deletions(-) diff --git a/spec/models/appeal_spec.rb b/spec/models/appeal_spec.rb index 7e324582ed5d37..e974ff92547f0a 100644 --- a/spec/models/appeal_spec.rb +++ b/spec/models/appeal_spec.rb @@ -4,20 +4,85 @@ RSpec.describe Appeal do describe 'Validations' do - it 'validates text length is under limit' do - appeal = Fabricate.build( - :appeal, - strike: Fabricate(:account_warning), - text: 'a' * described_class::TEXT_LENGTH_LIMIT * 2 - ) - - expect(appeal).to_not be_valid - expect(appeal).to model_have_error_on_field(:text) + subject { Fabricate.build :appeal, strike: Fabricate(:account_warning) } + + it { is_expected.to validate_length_of(:text).is_at_most(described_class::TEXT_LENGTH_LIMIT) } + + context 'with a strike created too long ago' do + let(:strike) { Fabricate.build :account_warning, created_at: 100.days.ago } + + it { is_expected.to_not allow_values(strike).for(:strike).against(:base).on(:create) } + end + end + + describe 'Query methods' do + describe '#pending?' do + subject { Fabricate.build :appeal, approved_at:, rejected_at: } + + context 'with not approved and not rejected' do + let(:approved_at) { nil } + let(:rejected_at) { nil } + + it { expect(subject).to be_pending } + end + + context 'with approved and rejected' do + let(:approved_at) { 1.day.ago } + let(:rejected_at) { 1.day.ago } + + it { expect(subject).to_not be_pending } + end + + context 'with approved and not rejected' do + let(:approved_at) { 1.day.ago } + let(:rejected_at) { nil } + + it { expect(subject).to_not be_pending } + end + + context 'with not approved and rejected' do + let(:approved_at) { nil } + let(:rejected_at) { 1.day.ago } + + it { expect(subject).to_not be_pending } + end + end + + describe '#approved?' do + subject { Fabricate.build :appeal, approved_at: } + + context 'with not approved' do + let(:approved_at) { nil } + + it { expect(subject).to_not be_approved } + end + + context 'with approved' do + let(:approved_at) { 1.day.ago } + + it { expect(subject).to be_approved } + end + end + + describe '#rejected?' do + subject { Fabricate.build :appeal, rejected_at: } + + context 'with not rejected' do + let(:rejected_at) { nil } + + it { expect(subject).to_not be_rejected } + end + + context 'with rejected' do + let(:rejected_at) { 1.day.ago } + + it { expect(subject).to be_rejected } + end end end - describe 'scopes' do - describe 'approved' do + describe 'Scopes' do + describe '.approved' do let(:approved_appeal) { Fabricate(:appeal, approved_at: 10.days.ago) } let(:not_approved_appeal) { Fabricate(:appeal, approved_at: nil) } @@ -27,7 +92,7 @@ end end - describe 'rejected' do + describe '.rejected' do let(:rejected_appeal) { Fabricate(:appeal, rejected_at: 10.days.ago) } let(:not_rejected_appeal) { Fabricate(:appeal, rejected_at: nil) } @@ -37,7 +102,7 @@ end end - describe 'pending' do + describe '.pending' do let(:approved_appeal) { Fabricate(:appeal, approved_at: 10.days.ago) } let(:rejected_appeal) { Fabricate(:appeal, rejected_at: 10.days.ago) } let(:pending_appeal) { Fabricate(:appeal, rejected_at: nil, approved_at: nil) } From c0f46e90314f0cec405974bc7e14d818ed380248 Mon Sep 17 00:00:00 2001 From: Matt Jankowski Date: Wed, 23 Oct 2024 03:46:55 -0400 Subject: [PATCH 027/357] Fortify coverage for `Follow` model (#32472) --- spec/models/follow_spec.rb | 81 +++++++++++++++++++++++++++++++------- 1 file changed, 67 insertions(+), 14 deletions(-) diff --git a/spec/models/follow_spec.rb b/spec/models/follow_spec.rb index f22bd6ea88d53d..8684170dcf0c43 100644 --- a/spec/models/follow_spec.rb +++ b/spec/models/follow_spec.rb @@ -3,27 +3,26 @@ require 'rails_helper' RSpec.describe Follow do - let(:alice) { Fabricate(:account, username: 'alice') } - let(:bob) { Fabricate(:account, username: 'bob') } - - describe 'validations' do - subject { described_class.new(account: alice, target_account: bob, rate_limit: true) } - + describe 'Associations' do it { is_expected.to belong_to(:account).required } it { is_expected.to belong_to(:target_account).required } + end + + describe 'Validations' do + subject { Fabricate.build :follow, rate_limit: true } + + let(:account) { Fabricate(:account) } - it 'is invalid if account already follows too many people' do - alice.update(following_count: FollowLimitValidator::LIMIT) + context 'when account follows too many people' do + before { account.update(following_count: FollowLimitValidator::LIMIT) } - expect(subject).to_not be_valid - expect(subject).to model_have_error_on_field(:base) + it { is_expected.to_not allow_value(account).for(:account).against(:base) } end - it 'is valid if account is only on the brink of following too many people' do - alice.update(following_count: FollowLimitValidator::LIMIT - 1) + context 'when account is on brink of following too many people' do + before { account.update(following_count: FollowLimitValidator::LIMIT - 1) } - expect(subject).to be_valid - expect(subject).to_not model_have_error_on_field(:base) + it { is_expected.to allow_value(account).for(:account).against(:base) } end end @@ -54,4 +53,58 @@ expect(account.requested?(target_account)).to be true end end + + describe '#local?' do + it { is_expected.to_not be_local } + end + + describe 'Callbacks' do + describe 'Setting a URI' do + context 'when URI exists' do + subject { Fabricate.build :follow, uri: 'https://uri/value' } + + it 'does not change' do + expect { subject.save } + .to not_change(subject, :uri) + end + end + + context 'when URI is blank' do + subject { Fabricate.build :follow, uri: nil } + + it 'populates the value' do + expect { subject.save } + .to change(subject, :uri).to(be_present) + end + end + end + + describe 'Maintaining counters' do + subject { Fabricate.build :follow, account:, target_account: } + + let(:account) { Fabricate :account } + let(:target_account) { Fabricate :account } + + before do + account.account_stat.update following_count: 123 + target_account.account_stat.update followers_count: 123 + end + + describe 'saving the follow' do + it 'increments counters' do + expect { subject.save } + .to change(account, :following_count).by(1) + .and(change(target_account, :followers_count).by(1)) + end + end + + describe 'destroying the follow' do + it 'decrements counters' do + expect { subject.destroy } + .to change(account, :following_count).by(-1) + .and(change(target_account, :followers_count).by(-1)) + end + end + end + end end From bd0c826a3dd6dfb4602c573e826a49bb440c4ac8 Mon Sep 17 00:00:00 2001 From: Matt Jankowski Date: Wed, 23 Oct 2024 03:47:46 -0400 Subject: [PATCH 028/357] Simplify model validation specs for `Announcement` (#32481) --- spec/models/announcement_spec.rb | 28 ++++++++++++++++++++-------- 1 file changed, 20 insertions(+), 8 deletions(-) diff --git a/spec/models/announcement_spec.rb b/spec/models/announcement_spec.rb index 8bd1e74b2975b5..884b352cb5ac77 100644 --- a/spec/models/announcement_spec.rb +++ b/spec/models/announcement_spec.rb @@ -67,18 +67,30 @@ it { is_expected.to validate_presence_of(:text) } describe 'ends_at' do - it 'validates presence when starts_at is present' do - record = Fabricate.build(:announcement, starts_at: 1.day.ago) + context 'when starts_at is present' do + subject { Fabricate.build :announcement, starts_at: 1.day.ago } - expect(record).to_not be_valid - expect(record.errors[:ends_at]).to be_present + it { is_expected.to validate_presence_of(:ends_at) } end - it 'does not validate presence when starts_at is missing' do - record = Fabricate.build(:announcement, starts_at: nil) + context 'when starts_at is missing' do + subject { Fabricate.build :announcement, starts_at: nil } - expect(record).to be_valid - expect(record.errors[:ends_at]).to_not be_present + it { is_expected.to_not validate_presence_of(:ends_at) } + end + end + + describe 'starts_at' do + context 'when ends_at is present' do + subject { Fabricate.build :announcement, ends_at: 1.day.ago } + + it { is_expected.to validate_presence_of(:starts_at) } + end + + context 'when ends_at is missing' do + subject { Fabricate.build :announcement, ends_at: nil } + + it { is_expected.to_not validate_presence_of(:starts_at) } end end end From d1b20ea8f70ecc44f78315c1bba1f7e16c0bfa15 Mon Sep 17 00:00:00 2001 From: Matt Jankowski Date: Wed, 23 Oct 2024 03:50:20 -0400 Subject: [PATCH 029/357] Worker specs coverage increase (#32541) --- .../account_conversation_fabricator.rb | 7 ++++ spec/workers/account_refresh_worker_spec.rb | 10 +++-- .../followers_synchronization_worker_spec.rb | 33 ++++++++++++++++ spec/workers/push_conversation_worker_spec.rb | 26 ++++++++++++- spec/workers/push_update_worker_spec.rb | 28 ++++++++++++-- .../remote_account_refresh_worker_spec.rb | 38 +++++++++++++++++++ .../remove_featured_tag_worker_spec.rb | 31 +++++++++++++-- spec/workers/resolve_account_worker_spec.rb | 28 +++++++++++++- 8 files changed, 186 insertions(+), 15 deletions(-) create mode 100644 spec/fabricators/account_conversation_fabricator.rb create mode 100644 spec/workers/activitypub/followers_synchronization_worker_spec.rb create mode 100644 spec/workers/remote_account_refresh_worker_spec.rb diff --git a/spec/fabricators/account_conversation_fabricator.rb b/spec/fabricators/account_conversation_fabricator.rb new file mode 100644 index 00000000000000..6145ed8254cadc --- /dev/null +++ b/spec/fabricators/account_conversation_fabricator.rb @@ -0,0 +1,7 @@ +# frozen_string_literal: true + +Fabricator(:account_conversation) do + account + conversation + status_ids { [Fabricate(:status).id] } +end diff --git a/spec/workers/account_refresh_worker_spec.rb b/spec/workers/account_refresh_worker_spec.rb index 3e88e8db28be7f..4408ef77a9433e 100644 --- a/spec/workers/account_refresh_worker_spec.rb +++ b/spec/workers/account_refresh_worker_spec.rb @@ -7,9 +7,7 @@ let(:service) { instance_double(ResolveAccountService, call: true) } describe '#perform' do - before do - allow(ResolveAccountService).to receive(:new).and_return(service) - end + before { stub_service } context 'when account does not exist' do it 'returns immediately without processing' do @@ -48,5 +46,11 @@ def outdated_webfinger_at (Account::BACKGROUND_REFRESH_INTERVAL + 3.days).ago end end + + def stub_service + allow(ResolveAccountService) + .to receive(:new) + .and_return(service) + end end end diff --git a/spec/workers/activitypub/followers_synchronization_worker_spec.rb b/spec/workers/activitypub/followers_synchronization_worker_spec.rb new file mode 100644 index 00000000000000..0847b247e378ad --- /dev/null +++ b/spec/workers/activitypub/followers_synchronization_worker_spec.rb @@ -0,0 +1,33 @@ +# frozen_string_literal: true + +require 'rails_helper' + +RSpec.describe ActivityPub::FollowersSynchronizationWorker do + let(:worker) { described_class.new } + let(:service) { instance_double(ActivityPub::SynchronizeFollowersService, call: true) } + + describe '#perform' do + before { stub_service } + + let(:account) { Fabricate(:account, domain: 'host.example') } + let(:url) { 'https://sync.url' } + + it 'sends the status to the service' do + worker.perform(account.id, url) + + expect(service).to have_received(:call).with(account, url) + end + + it 'returns nil for non-existent record' do + result = worker.perform(123_123_123, url) + + expect(result).to be(true) + end + end + + def stub_service + allow(ActivityPub::SynchronizeFollowersService) + .to receive(:new) + .and_return(service) + end +end diff --git a/spec/workers/push_conversation_worker_spec.rb b/spec/workers/push_conversation_worker_spec.rb index d651059c9a6ed8..a98c603c17d73c 100644 --- a/spec/workers/push_conversation_worker_spec.rb +++ b/spec/workers/push_conversation_worker_spec.rb @@ -6,8 +6,30 @@ let(:worker) { described_class.new } describe 'perform' do - it 'runs without error for missing record' do - expect { worker.perform(nil) }.to_not raise_error + context 'with missing values' do + it 'runs without error' do + expect { worker.perform(nil) } + .to_not raise_error + end + end + + context 'with valid records' do + let(:account_conversation) { Fabricate :account_conversation } + + before { allow(redis).to receive(:publish) } + + it 'pushes message to timeline' do + expect { worker.perform(account_conversation.id) } + .to_not raise_error + + expect(redis) + .to have_received(:publish) + .with(redis_key, anything) + end + + def redis_key + "timeline:direct:#{account_conversation.account_id}" + end end end end diff --git a/spec/workers/push_update_worker_spec.rb b/spec/workers/push_update_worker_spec.rb index 6206ab59867a27..f3e0a128df55b8 100644 --- a/spec/workers/push_update_worker_spec.rb +++ b/spec/workers/push_update_worker_spec.rb @@ -6,11 +6,31 @@ let(:worker) { described_class.new } describe 'perform' do - it 'runs without error for missing record' do - account_id = nil - status_id = nil + context 'with missing values' do + it 'runs without error' do + expect { worker.perform(nil, nil) } + .to_not raise_error + end + end + + context 'with valid records' do + let(:account) { Fabricate :account } + let(:status) { Fabricate :status } + + before { allow(redis).to receive(:publish) } + + it 'pushes message to timeline' do + expect { worker.perform(account.id, status.id) } + .to_not raise_error + + expect(redis) + .to have_received(:publish) + .with(redis_key, anything) + end - expect { worker.perform(account_id, status_id) }.to_not raise_error + def redis_key + "timeline:#{account.id}" + end end end end diff --git a/spec/workers/remote_account_refresh_worker_spec.rb b/spec/workers/remote_account_refresh_worker_spec.rb new file mode 100644 index 00000000000000..9938d971b9a653 --- /dev/null +++ b/spec/workers/remote_account_refresh_worker_spec.rb @@ -0,0 +1,38 @@ +# frozen_string_literal: true + +require 'rails_helper' + +RSpec.describe RemoteAccountRefreshWorker do + let(:worker) { described_class.new } + let(:service) { instance_double(ActivityPub::FetchRemoteAccountService, call: true) } + + describe '#perform' do + before { stub_service } + + let(:account) { Fabricate(:account, domain: 'host.example') } + + it 'sends the status to the service' do + worker.perform(account.id) + + expect(service).to have_received(:call).with(account.uri) + end + + it 'returns nil for non-existent record' do + result = worker.perform(123_123_123) + + expect(result).to be_nil + end + + it 'returns nil for a local record' do + account = Fabricate :account, domain: nil + result = worker.perform(account) + expect(result).to be_nil + end + + def stub_service + allow(ActivityPub::FetchRemoteAccountService) + .to receive(:new) + .and_return(service) + end + end +end diff --git a/spec/workers/remove_featured_tag_worker_spec.rb b/spec/workers/remove_featured_tag_worker_spec.rb index 7866824ee751fc..a8a5bcea81d7eb 100644 --- a/spec/workers/remove_featured_tag_worker_spec.rb +++ b/spec/workers/remove_featured_tag_worker_spec.rb @@ -4,12 +4,35 @@ RSpec.describe RemoveFeaturedTagWorker do let(:worker) { described_class.new } + let(:service) { instance_double(RemoveFeaturedTagService, call: true) } describe 'perform' do - it 'runs without error for missing record' do - account_id = nil - featured_tag_id = nil - expect { worker.perform(account_id, featured_tag_id) }.to_not raise_error + context 'with missing values' do + it 'runs without error' do + expect { worker.perform(nil, nil) } + .to_not raise_error + end + end + + context 'with real records' do + before { stub_service } + + let(:account) { Fabricate :account } + let(:featured_tag) { Fabricate :featured_tag } + + it 'calls the service for processing' do + worker.perform(account.id, featured_tag.id) + + expect(service) + .to have_received(:call) + .with(be_an(Account), be_an(FeaturedTag)) + end + + def stub_service + allow(RemoveFeaturedTagService) + .to receive(:new) + .and_return(service) + end end end end diff --git a/spec/workers/resolve_account_worker_spec.rb b/spec/workers/resolve_account_worker_spec.rb index de349adacb6f39..58c2c1212924e5 100644 --- a/spec/workers/resolve_account_worker_spec.rb +++ b/spec/workers/resolve_account_worker_spec.rb @@ -4,10 +4,34 @@ RSpec.describe ResolveAccountWorker do let(:worker) { described_class.new } + let(:service) { instance_double(ResolveAccountService, call: true) } describe 'perform' do - it 'runs without error for missing record' do - expect { worker.perform(nil) }.to_not raise_error + context 'with missing values' do + it 'runs without error' do + expect { worker.perform(nil) } + .to_not raise_error + end + end + + context 'with a URI' do + before { stub_service } + + let(:uri) { 'https://host/path/value' } + + it 'initiates account resolution' do + worker.perform(uri) + + expect(service) + .to have_received(:call) + .with(uri) + end + + def stub_service + allow(ResolveAccountService) + .to receive(:new) + .and_return(service) + end end end end From 05f23df3b7ceff2e9debac5f6232271620b78447 Mon Sep 17 00:00:00 2001 From: David Roetzel Date: Wed, 23 Oct 2024 10:02:31 +0200 Subject: [PATCH 030/357] Add endpoint to remove web push subscription (#32626) --- .../api/web/push_subscriptions_controller.rb | 9 ++- app/models/web/push_subscription.rb | 2 + app/workers/web/push_notification_worker.rb | 12 +++- config/routes/api.rb | 2 +- .../api/web/push_subscriptions_spec.rb | 55 +++++++++++++++++++ .../web/push_notification_worker_spec.rb | 1 + 6 files changed, 76 insertions(+), 5 deletions(-) create mode 100644 spec/requests/api/web/push_subscriptions_spec.rb diff --git a/app/controllers/api/web/push_subscriptions_controller.rb b/app/controllers/api/web/push_subscriptions_controller.rb index 167d16fc4d838c..f5159614278a0b 100644 --- a/app/controllers/api/web/push_subscriptions_controller.rb +++ b/app/controllers/api/web/push_subscriptions_controller.rb @@ -1,7 +1,7 @@ # frozen_string_literal: true class Api::Web::PushSubscriptionsController < Api::Web::BaseController - before_action :require_user! + before_action :require_user!, except: :destroy before_action :set_push_subscription, only: :update before_action :destroy_previous_subscriptions, only: :create, if: :prior_subscriptions? after_action :update_session_with_subscription, only: :create @@ -17,6 +17,13 @@ def update render json: @push_subscription, serializer: REST::WebPushSubscriptionSerializer end + def destroy + push_subscription = ::Web::PushSubscription.find_by_token_for(:unsubscribe, params[:id]) + push_subscription&.destroy + + head 200 + end + private def active_session diff --git a/app/models/web/push_subscription.rb b/app/models/web/push_subscription.rb index 9d30881bf38238..656040d2cec43b 100644 --- a/app/models/web/push_subscription.rb +++ b/app/models/web/push_subscription.rb @@ -29,6 +29,8 @@ class Web::PushSubscription < ApplicationRecord delegate :locale, to: :associated_user + generates_token_for :unsubscribe, expires_in: Web::PushNotificationWorker::TTL + def pushable?(notification) policy_allows_notification?(notification) && alert_enabled_for_notification_type?(notification) end diff --git a/app/workers/web/push_notification_worker.rb b/app/workers/web/push_notification_worker.rb index e771928ef31fa7..824e7b59407d6b 100644 --- a/app/workers/web/push_notification_worker.rb +++ b/app/workers/web/push_notification_worker.rb @@ -2,10 +2,11 @@ class Web::PushNotificationWorker include Sidekiq::Worker + include RoutingHelper sidekiq_options queue: 'push', retry: 5 - TTL = 48.hours.to_s + TTL = 48.hours URGENCY = 'normal' def perform(subscription_id, notification_id) @@ -23,12 +24,13 @@ def perform(subscription_id, notification_id) request.add_headers( 'Content-Type' => 'application/octet-stream', - 'Ttl' => TTL, + 'Ttl' => TTL.to_s, 'Urgency' => URGENCY, 'Content-Encoding' => 'aesgcm', 'Encryption' => "salt=#{Webpush.encode64(payload.fetch(:salt)).delete('=')}", 'Crypto-Key' => "dh=#{Webpush.encode64(payload.fetch(:server_public_key)).delete('=')};#{web_push_request.crypto_key_header}", - 'Authorization' => web_push_request.authorization_header + 'Authorization' => web_push_request.authorization_header, + 'Unsubscribe-URL' => subscription_url ) request.perform do |response| @@ -72,4 +74,8 @@ def serialized_notification def request_pool RequestPool.current end + + def subscription_url + api_web_push_subscription_url(id: @subscription.generate_token_for(:unsubscribe)) + end end diff --git a/config/routes/api.rb b/config/routes/api.rb index 46907a1ce2f3db..57ce3ba9fd45c7 100644 --- a/config/routes/api.rb +++ b/config/routes/api.rb @@ -346,7 +346,7 @@ namespace :web do resource :settings, only: [:update] resources :embeds, only: [:show] - resources :push_subscriptions, only: [:create] do + resources :push_subscriptions, only: [:create, :destroy] do member do put :update end diff --git a/spec/requests/api/web/push_subscriptions_spec.rb b/spec/requests/api/web/push_subscriptions_spec.rb new file mode 100644 index 00000000000000..a903dc6f89dae8 --- /dev/null +++ b/spec/requests/api/web/push_subscriptions_spec.rb @@ -0,0 +1,55 @@ +# frozen_string_literal: true + +require 'rails_helper' + +RSpec.describe 'API Web Push Subscriptions' do + describe 'DELETE /api/web/push_subscriptions/:id' do + subject { delete api_web_push_subscription_path(token) } + + context 'when the subscription exists' do + let!(:web_push_subscription) do + Fabricate(:web_push_subscription) + end + let(:token) do + web_push_subscription.generate_token_for(:unsubscribe) + end + + it 'deletes the subscription' do + expect { subject } + .to change(Web::PushSubscription, :count).by(-1) + + expect(response).to have_http_status(200) + end + end + + context 'when the subscription does not exist' do + let(:web_push_subscription) do + Fabricate(:web_push_subscription) + end + let(:token) do + web_push_subscription.generate_token_for(:unsubscribe) + end + + before do + token # memoize before destroying the record + web_push_subscription.destroy! + end + + it 'does nothing' do + subject + + expect(response).to have_http_status(200) + end + end + + context 'when the token is invalid' do + let(:token) { 'invalid--invalid' } + + it 'does nothing' do + subject + + expect(response).to have_http_status(200) + end + end + end +end diff --git a/spec/workers/web/push_notification_worker_spec.rb b/spec/workers/web/push_notification_worker_spec.rb index 7f836d99e431f9..4993d467b36752 100644 --- a/spec/workers/web/push_notification_worker_spec.rb +++ b/spec/workers/web/push_notification_worker_spec.rb @@ -61,6 +61,7 @@ def web_push_endpoint_request 'Ttl' => '172800', 'Urgency' => 'normal', 'Authorization' => 'WebPush jwt.encoded.payload', + 'Unsubscribe-URL' => %r{/api/web/push_subscriptions/}, }, body: "+\xB8\xDBT}\u0013\xB6\xDD.\xF9\xB0\xA7\xC8Ҁ\xFD\x99#\xF7\xAC\x83\xA4\xDB,\u001F\xB5\xB9w\x85>\xF7\xADr" ) From 393f0a0159f8c12316e903979f6a506e44ea2b50 Mon Sep 17 00:00:00 2001 From: Claire Date: Wed, 23 Oct 2024 11:47:23 +0200 Subject: [PATCH 031/357] Redesign Content Warning and filters (#32543) --- .../mastodon/components/content_warning.tsx | 2 +- .../mastodon/components/filter_warning.tsx | 9 ++-- .../mastodon/components/status_banner.tsx | 15 ++++--- app/javascript/mastodon/locales/en.json | 3 +- .../styles/mastodon/components.scss | 41 +++++++------------ 5 files changed, 33 insertions(+), 37 deletions(-) diff --git a/app/javascript/mastodon/components/content_warning.tsx b/app/javascript/mastodon/components/content_warning.tsx index df8afca74d6a86..c1c879b55d27c8 100644 --- a/app/javascript/mastodon/components/content_warning.tsx +++ b/app/javascript/mastodon/components/content_warning.tsx @@ -8,7 +8,7 @@ export const ContentWarning: React.FC<{

diff --git a/app/javascript/mastodon/components/filter_warning.tsx b/app/javascript/mastodon/components/filter_warning.tsx index 4305e43038df9f..5eaaac4ba38686 100644 --- a/app/javascript/mastodon/components/filter_warning.tsx +++ b/app/javascript/mastodon/components/filter_warning.tsx @@ -10,13 +10,16 @@ export const FilterWarning: React.FC<{

{chunks}, + }} />

diff --git a/app/javascript/mastodon/components/status_banner.tsx b/app/javascript/mastodon/components/status_banner.tsx index 8ff17a9b2e4b84..d25c05d6dbe098 100644 --- a/app/javascript/mastodon/components/status_banner.tsx +++ b/app/javascript/mastodon/components/status_banner.tsx @@ -1,8 +1,8 @@ import { FormattedMessage } from 'react-intl'; export enum BannerVariant { - Yellow = 'yellow', - Blue = 'blue', + Warning = 'warning', + Filter = 'filter', } export const StatusBanner: React.FC<{ @@ -11,9 +11,9 @@ export const StatusBanner: React.FC<{ expanded?: boolean; onClick?: () => void; }> = ({ children, variant, expanded, onClick }) => ( -
+ ) : variant === BannerVariant.Warning ? ( + ) : ( )} -
+ ); diff --git a/app/javascript/mastodon/locales/en.json b/app/javascript/mastodon/locales/en.json index 46b7d90dba8d50..f2d37e67a60c43 100644 --- a/app/javascript/mastodon/locales/en.json +++ b/app/javascript/mastodon/locales/en.json @@ -197,6 +197,7 @@ "confirmations.unfollow.title": "Unfollow user?", "content_warning.hide": "Hide post", "content_warning.show": "Show anyway", + "content_warning.show_more": "Show more", "conversation.delete": "Delete conversation", "conversation.mark_as_read": "Mark as read", "conversation.open": "View conversation", @@ -305,7 +306,7 @@ "filter_modal.select_filter.subtitle": "Use an existing category or create a new one", "filter_modal.select_filter.title": "Filter this post", "filter_modal.title.status": "Filter a post", - "filter_warning.matches_filter": "Matches filter “{title}”", + "filter_warning.matches_filter": "Matches filter “{title}”", "filtered_notifications_banner.pending_requests": "From {count, plural, =0 {no one} one {one person} other {# people}} you may know", "filtered_notifications_banner.title": "Filtered notifications", "firehose.all": "All", diff --git a/app/javascript/styles/mastodon/components.scss b/app/javascript/styles/mastodon/components.scss index a20e84ce757a80..673e47f429833b 100644 --- a/app/javascript/styles/mastodon/components.scss +++ b/app/javascript/styles/mastodon/components.scss @@ -11109,19 +11109,21 @@ noscript { } .content-warning { + display: block; box-sizing: border-box; background: rgba($ui-highlight-color, 0.05); color: $secondary-text-color; - border-top: 1px solid; - border-bottom: 1px solid; - border-color: rgba($ui-highlight-color, 0.15); + border: 1px solid rgba($ui-highlight-color, 0.15); + border-radius: 8px; padding: 8px (5px + 8px); position: relative; font-size: 15px; line-height: 22px; + cursor: pointer; p { margin-bottom: 8px; + font-weight: 500; } .link-button { @@ -11130,31 +11132,16 @@ noscript { font-weight: 500; } - &::before, - &::after { - content: ''; - display: block; - position: absolute; - height: 100%; - background: url('../images/warning-stripes.svg') repeat-y; - width: 5px; - top: 0; - } - - &::before { - border-start-start-radius: 4px; - border-end-start-radius: 4px; - inset-inline-start: 0; - } + &--filter { + color: $darker-text-color; - &::after { - border-start-end-radius: 4px; - border-end-end-radius: 4px; - inset-inline-end: 0; - } + p { + font-weight: normal; + } - &--filter::before, - &--filter::after { - background-image: url('../images/filter-stripes.svg'); + .filter-name { + font-weight: 500; + color: $secondary-text-color; + } } } From c3e684b715a9e59344201c87ccdf94ed00d796aa Mon Sep 17 00:00:00 2001 From: Matt Jankowski Date: Wed, 23 Oct 2024 09:25:49 -0400 Subject: [PATCH 032/357] Remove unused svg logos (#32581) --- app/javascript/images/logo_full.svg | 1 - app/javascript/images/logo_transparent.svg | 1 - 2 files changed, 2 deletions(-) delete mode 100644 app/javascript/images/logo_full.svg delete mode 100644 app/javascript/images/logo_transparent.svg diff --git a/app/javascript/images/logo_full.svg b/app/javascript/images/logo_full.svg deleted file mode 100644 index 03bcf93e39d260..00000000000000 --- a/app/javascript/images/logo_full.svg +++ /dev/null @@ -1 +0,0 @@ - diff --git a/app/javascript/images/logo_transparent.svg b/app/javascript/images/logo_transparent.svg deleted file mode 100644 index a1e7b403e034c3..00000000000000 --- a/app/javascript/images/logo_transparent.svg +++ /dev/null @@ -1 +0,0 @@ - From fae1de699cf10879fa66881acb13422b69949b80 Mon Sep 17 00:00:00 2001 From: Matt Jankowski Date: Wed, 23 Oct 2024 09:26:51 -0400 Subject: [PATCH 033/357] Remove duplicate indexes from database (#32454) --- db/migrate/20241014010506_remove_duplicate_indexes.rb | 10 ++++++++++ db/schema.rb | 6 +----- 2 files changed, 11 insertions(+), 5 deletions(-) create mode 100644 db/migrate/20241014010506_remove_duplicate_indexes.rb diff --git a/db/migrate/20241014010506_remove_duplicate_indexes.rb b/db/migrate/20241014010506_remove_duplicate_indexes.rb new file mode 100644 index 00000000000000..50e0e6ffcfc00c --- /dev/null +++ b/db/migrate/20241014010506_remove_duplicate_indexes.rb @@ -0,0 +1,10 @@ +# frozen_string_literal: true + +class RemoveDuplicateIndexes < ActiveRecord::Migration[7.1] + def change + remove_index :account_aliases, :account_id + remove_index :account_relationship_severance_events, :account_id + remove_index :custom_filter_statuses, :status_id + remove_index :webauthn_credentials, :user_id + end +end diff --git a/db/schema.rb b/db/schema.rb index 68067841e03c66..5f7b3a3305cfd5 100644 --- a/db/schema.rb +++ b/db/schema.rb @@ -10,7 +10,7 @@ # # It's strongly recommended that you check this file into your version control system. -ActiveRecord::Schema[7.1].define(version: 2024_10_07_071624) do +ActiveRecord::Schema[7.1].define(version: 2024_10_14_010506) do # These are extensions that must be enabled in order to support this database enable_extension "plpgsql" @@ -21,7 +21,6 @@ t.datetime "created_at", precision: nil, null: false t.datetime "updated_at", precision: nil, null: false t.index ["account_id", "uri"], name: "index_account_aliases_on_account_id_and_uri", unique: true - t.index ["account_id"], name: "index_account_aliases_on_account_id" end create_table "account_conversations", force: :cascade do |t| @@ -99,7 +98,6 @@ t.integer "followers_count", default: 0, null: false t.integer "following_count", default: 0, null: false t.index ["account_id", "relationship_severance_event_id"], name: "idx_on_account_id_relationship_severance_event_id_7bd82bf20e", unique: true - t.index ["account_id"], name: "index_account_relationship_severance_events_on_account_id" t.index ["relationship_severance_event_id"], name: "idx_on_relationship_severance_event_id_403f53e707" end @@ -397,7 +395,6 @@ t.datetime "updated_at", null: false t.index ["custom_filter_id"], name: "index_custom_filter_statuses_on_custom_filter_id" t.index ["status_id", "custom_filter_id"], name: "index_custom_filter_statuses_on_status_id_and_custom_filter_id", unique: true - t.index ["status_id"], name: "index_custom_filter_statuses_on_status_id" end create_table "custom_filters", force: :cascade do |t| @@ -1202,7 +1199,6 @@ t.datetime "updated_at", precision: nil, null: false t.index ["external_id"], name: "index_webauthn_credentials_on_external_id", unique: true t.index ["user_id", "nickname"], name: "index_webauthn_credentials_on_user_id_and_nickname", unique: true - t.index ["user_id"], name: "index_webauthn_credentials_on_user_id" end create_table "webhooks", force: :cascade do |t| From 2f906ed55ab0b9887a3aee66dc8c29cf7c1d7545 Mon Sep 17 00:00:00 2001 From: Matt Jankowski Date: Wed, 23 Oct 2024 09:29:01 -0400 Subject: [PATCH 034/357] Constants for account refresh (#32420) --- app/models/account.rb | 6 ++++-- spec/models/account_spec.rb | 8 ++++---- 2 files changed, 8 insertions(+), 6 deletions(-) diff --git a/app/models/account.rb b/app/models/account.rb index 708415b6eef1ab..957ccc73c46c79 100644 --- a/app/models/account.rb +++ b/app/models/account.rb @@ -65,6 +65,8 @@ class Account < ApplicationRecord ) BACKGROUND_REFRESH_INTERVAL = 1.week.freeze + REFRESH_DEADLINE = 6.hours + STALE_THRESHOLD = 1.day DEFAULT_FIELDS_SIZE = 4 INSTANCE_ACTOR_ID = -99 @@ -229,13 +231,13 @@ def to_webfinger_s end def possibly_stale? - last_webfingered_at.nil? || last_webfingered_at <= 1.day.ago + last_webfingered_at.nil? || last_webfingered_at <= STALE_THRESHOLD.ago end def schedule_refresh_if_stale! return unless last_webfingered_at.present? && last_webfingered_at <= BACKGROUND_REFRESH_INTERVAL.ago - AccountRefreshWorker.perform_in(rand(6.hours.to_i), id) + AccountRefreshWorker.perform_in(rand(REFRESH_DEADLINE), id) end def refresh! diff --git a/spec/models/account_spec.rb b/spec/models/account_spec.rb index a8f6ed74937af4..d129ef280dfad3 100644 --- a/spec/models/account_spec.rb +++ b/spec/models/account_spec.rb @@ -208,16 +208,16 @@ end end - context 'when last_webfingered_at is more than 24 hours before' do - let(:last_webfingered_at) { 25.hours.ago } + context 'when last_webfingered_at is before the threshold' do + let(:last_webfingered_at) { (described_class::STALE_THRESHOLD + 1.hour).ago } it 'returns true' do expect(account.possibly_stale?).to be true end end - context 'when last_webfingered_at is less than 24 hours before' do - let(:last_webfingered_at) { 23.hours.ago } + context 'when last_webfingered_at is after the threshold' do + let(:last_webfingered_at) { (described_class::STALE_THRESHOLD - 1.hour).ago } it 'returns false' do expect(account.possibly_stale?).to be false From a850be4ad3da31f3bc8a708da539499a9b2e1746 Mon Sep 17 00:00:00 2001 From: Matt Jankowski Date: Wed, 23 Oct 2024 09:30:09 -0400 Subject: [PATCH 035/357] Match ruby version in lockfile to version in `.ruby-version` (#31995) --- Gemfile.lock | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/Gemfile.lock b/Gemfile.lock index 957146b16b63f5..f5264e8db233d4 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -1058,7 +1058,7 @@ DEPENDENCIES xorcist (~> 1.1) RUBY VERSION - ruby 3.3.4p94 + ruby 3.3.5p100 BUNDLED WITH - 2.5.18 + 2.5.22 From 5a4f4f3e8361c4155a2c83aa70f4fba6b9f901f6 Mon Sep 17 00:00:00 2001 From: Matt Jankowski Date: Wed, 23 Oct 2024 09:31:03 -0400 Subject: [PATCH 036/357] Remove single-use `ProfileStories` method (#31164) --- spec/support/stories/profile_stories.rb | 14 +------------- spec/system/profile_spec.rb | 4 ++-- 2 files changed, 3 insertions(+), 15 deletions(-) diff --git a/spec/support/stories/profile_stories.rb b/spec/support/stories/profile_stories.rb index 07eaaca9fb93b0..43a8e170ccb5a2 100644 --- a/spec/support/stories/profile_stories.rb +++ b/spec/support/stories/profile_stories.rb @@ -1,7 +1,7 @@ # frozen_string_literal: true module ProfileStories - attr_reader :bob, :alice, :alice_bio + attr_reader :bob def fill_in_auth_details(email, password) fill_in 'user_email', with: email @@ -31,18 +31,6 @@ def as_a_logged_in_admin bob.update!(role: UserRole.find_by!(name: 'Admin')) end - def with_alice_as_local_user - @alice_bio = '@alice and @bob are fictional characters commonly used as' \ - 'placeholder names in #cryptology, as well as #science and' \ - 'engineering 📖 literature. Not affiliated with @pepe.' - - @alice = Fabricate( - :user, - email: 'alice@example.com', password: password, confirmed_at: confirmed_at, - account: Fabricate(:account, username: 'alice', note: @alice_bio) - ) - end - def confirmed_at @confirmed_at ||= Time.zone.now end diff --git a/spec/system/profile_spec.rb b/spec/system/profile_spec.rb index 7e3cbfd334ea44..a05a146fef7af4 100644 --- a/spec/system/profile_spec.rb +++ b/spec/system/profile_spec.rb @@ -11,10 +11,10 @@ before do as_a_logged_in_user - with_alice_as_local_user + Fabricate(:user, account: Fabricate(:account, username: 'alice')) end - it 'I can view Annes public account' do + it 'I can view public account page for Alice' do visit account_path('alice') expect(subject).to have_title("alice (@alice@#{local_domain})") From 35f008aa2a16240dc20d543ecc1089aa19332a00 Mon Sep 17 00:00:00 2001 From: Matt Jankowski Date: Wed, 23 Oct 2024 09:32:18 -0400 Subject: [PATCH 037/357] Move translation service config to `config_for` yml (#30663) --- app/lib/translation_service.rb | 20 +++++++++++++++----- config/application.rb | 2 ++ config/translation.yml | 7 +++++++ 3 files changed, 24 insertions(+), 5 deletions(-) create mode 100644 config/translation.yml diff --git a/app/lib/translation_service.rb b/app/lib/translation_service.rb index bfe5de44f87804..ee268d7a7c3649 100644 --- a/app/lib/translation_service.rb +++ b/app/lib/translation_service.rb @@ -8,17 +8,27 @@ class QuotaExceededError < Error; end class UnexpectedResponseError < Error; end def self.configured - if ENV['DEEPL_API_KEY'].present? - TranslationService::DeepL.new(ENV.fetch('DEEPL_PLAN', 'free'), ENV['DEEPL_API_KEY']) - elsif ENV['LIBRE_TRANSLATE_ENDPOINT'].present? - TranslationService::LibreTranslate.new(ENV['LIBRE_TRANSLATE_ENDPOINT'], ENV['LIBRE_TRANSLATE_API_KEY']) + if configuration.deepl[:api_key].present? + TranslationService::DeepL.new( + configuration.deepl[:plan], + configuration.deepl[:api_key] + ) + elsif configuration.libre_translate[:endpoint].present? + TranslationService::LibreTranslate.new( + configuration.libre_translate[:endpoint], + configuration.libre_translate[:api_key] + ) else raise NotConfiguredError end end def self.configured? - ENV['DEEPL_API_KEY'].present? || ENV['LIBRE_TRANSLATE_ENDPOINT'].present? + configuration.deepl[:api_key].present? || configuration.libre_translate[:endpoint].present? + end + + def self.configuration + Rails.configuration.x.translation end def languages diff --git a/config/application.rb b/config/application.rb index 5e2f44453d4d9c..06411139828185 100644 --- a/config/application.rb +++ b/config/application.rb @@ -109,6 +109,8 @@ class Application < Rails::Application end end + config.x.translation = config_for(:translation) + config.to_prepare do Doorkeeper::AuthorizationsController.layout 'modal' Doorkeeper::AuthorizedApplicationsController.layout 'admin' diff --git a/config/translation.yml b/config/translation.yml new file mode 100644 index 00000000000000..e074c5d0f22732 --- /dev/null +++ b/config/translation.yml @@ -0,0 +1,7 @@ +shared: + deepl: + api_key: <%= ENV.fetch('DEEPL_API_KEY', nil) %> + plan: <%= ENV.fetch('DEEPL_PLAN', 'free') %> + libre_translate: + api_key: <%= ENV.fetch('LIBRE_TRANSLATE_API_KEY', nil) %> + endpoint: <%= ENV.fetch('LIBRE_TRANSLATE_ENDPOINT', nil) %> From 97b18d10b42bb61baeec4a5612036e170af33874 Mon Sep 17 00:00:00 2001 From: Matt Jankowski Date: Wed, 23 Oct 2024 10:25:43 -0400 Subject: [PATCH 038/357] Move hcaptcha service config to `config_for` yml (#30662) --- app/controllers/concerns/auth/captcha_concern.rb | 2 +- app/helpers/admin/settings_helper.rb | 2 +- config/application.rb | 1 + config/captcha.yml | 3 +++ 4 files changed, 6 insertions(+), 2 deletions(-) create mode 100644 config/captcha.yml diff --git a/app/controllers/concerns/auth/captcha_concern.rb b/app/controllers/concerns/auth/captcha_concern.rb index cfd93978cea576..c01da212499f04 100644 --- a/app/controllers/concerns/auth/captcha_concern.rb +++ b/app/controllers/concerns/auth/captcha_concern.rb @@ -10,7 +10,7 @@ module Auth::CaptchaConcern end def captcha_available? - ENV['HCAPTCHA_SECRET_KEY'].present? && ENV['HCAPTCHA_SITE_KEY'].present? + Rails.configuration.x.captcha.secret_key.present? && Rails.configuration.x.captcha.site_key.present? end def captcha_enabled? diff --git a/app/helpers/admin/settings_helper.rb b/app/helpers/admin/settings_helper.rb index 6937331e1a6df9..9b950d5a6370f4 100644 --- a/app/helpers/admin/settings_helper.rb +++ b/app/helpers/admin/settings_helper.rb @@ -2,7 +2,7 @@ module Admin::SettingsHelper def captcha_available? - ENV['HCAPTCHA_SECRET_KEY'].present? && ENV['HCAPTCHA_SITE_KEY'].present? + Rails.configuration.x.captcha.secret_key.present? && Rails.configuration.x.captcha.site_key.present? end def login_activity_title(activity) diff --git a/config/application.rb b/config/application.rb index 06411139828185..f94366d36f49db 100644 --- a/config/application.rb +++ b/config/application.rb @@ -109,6 +109,7 @@ class Application < Rails::Application end end + config.x.captcha = config_for(:captcha) config.x.translation = config_for(:translation) config.to_prepare do diff --git a/config/captcha.yml b/config/captcha.yml new file mode 100644 index 00000000000000..a9f54588c71682 --- /dev/null +++ b/config/captcha.yml @@ -0,0 +1,3 @@ +shared: + secret_key: <%= ENV.fetch('HCAPTCHA_SECRET_KEY', nil) %> + site_key: <%= ENV.fetch('HCAPTCHA_SITE_KEY', nil) %> From d11231a420cf80c3f924233d398002639cac0f8b Mon Sep 17 00:00:00 2001 From: Eugen Rochko Date: Thu, 24 Oct 2024 09:28:22 +0200 Subject: [PATCH 039/357] Change design of rich text elements in web UI (#32633) --- app/javascript/images/quote.svg | 3 + .../styles/mastodon-light/variables.scss | 3 + app/javascript/styles/mastodon/rich_text.scss | 74 +++++++++++++++++-- app/javascript/styles/mastodon/variables.scss | 3 + 4 files changed, 75 insertions(+), 8 deletions(-) create mode 100644 app/javascript/images/quote.svg diff --git a/app/javascript/images/quote.svg b/app/javascript/images/quote.svg new file mode 100644 index 00000000000000..ae6fbbe04a9f9b --- /dev/null +++ b/app/javascript/images/quote.svg @@ -0,0 +1,3 @@ + + + diff --git a/app/javascript/styles/mastodon-light/variables.scss b/app/javascript/styles/mastodon-light/variables.scss index 76bdc4022e3ef0..777c622ace0855 100644 --- a/app/javascript/styles/mastodon-light/variables.scss +++ b/app/javascript/styles/mastodon-light/variables.scss @@ -76,4 +76,7 @@ body { --background-color-tint: rgba(255, 255, 255, 80%); --background-filter: blur(10px); --on-surface-color: #{transparentize($ui-base-color, 0.65)}; + --rich-text-container-color: rgba(255, 216, 231, 100%); + --rich-text-text-color: rgba(114, 47, 83, 100%); + --rich-text-decorations-color: rgba(255, 175, 212, 100%); } diff --git a/app/javascript/styles/mastodon/rich_text.scss b/app/javascript/styles/mastodon/rich_text.scss index c57db26e036c32..52412274b61ef2 100644 --- a/app/javascript/styles/mastodon/rich_text.scss +++ b/app/javascript/styles/mastodon/rich_text.scss @@ -2,9 +2,29 @@ .e-content, .edit-indicator__content, .reply-indicator__content { + code { + background: var(--rich-text-container-color); + padding: 4px; + border-radius: 4px; + color: var(--rich-text-text-color); + font-size: 0.85em; + } + + pre { + background: var(--rich-text-container-color); + padding: 8px; + border-radius: 4px; + color: var(--rich-text-text-color); + + code { + padding: 0; + background: transparent; + } + } + pre, blockquote { - margin-bottom: 20px; + margin-bottom: 22px; white-space: pre-wrap; unicode-bidi: plaintext; @@ -14,19 +34,45 @@ } blockquote { - padding-inline-start: 10px; - border-inline-start: 3px solid $darker-text-color; - color: $darker-text-color; + padding-inline-start: 32px; + color: var(--rich-text-text-color); white-space: normal; + position: relative; + + &::before { + display: block; + content: ''; + width: 24px; + height: 20px; + mask-image: url('../images/quote.svg'); + background-color: var(--rich-text-decorations-color); + position: absolute; + inset-inline-start: 0; + top: 0; + } + + blockquote { + margin-top: 4px; + border-inline-start: 3px solid var(--rich-text-decorations-color); + padding-inline-start: 16px; + + &::before { + display: none; + } + } - p:last-child { + p:last-of-type { margin-bottom: 0; } } & > ul, & > ol { - margin-bottom: 20px; + margin-bottom: 22px; + + &:last-child { + margin-bottom: 0; + } } b, @@ -41,7 +87,15 @@ ul, ol { - margin-inline-start: 2em; + padding-inline-start: 24px; + + li { + padding-inline-start: 8px; + + &::marker { + text-align: end; + } + } p { margin: 0; @@ -49,7 +103,11 @@ } ul { - list-style-type: disc; + list-style-type: '•'; + + li::marker { + text-align: start; + } } ol { diff --git a/app/javascript/styles/mastodon/variables.scss b/app/javascript/styles/mastodon/variables.scss index baaec5f58f5942..fe36e166311e81 100644 --- a/app/javascript/styles/mastodon/variables.scss +++ b/app/javascript/styles/mastodon/variables.scss @@ -116,4 +116,7 @@ $font-monospace: 'mastodon-font-monospace' !default; --error-background-color: #{darken($error-red, 16%)}; --error-active-background-color: #{darken($error-red, 12%)}; --on-error-color: #fff; + --rich-text-container-color: rgba(87, 24, 60, 100%); + --rich-text-text-color: rgba(255, 175, 212, 100%); + --rich-text-decorations-color: rgba(128, 58, 95, 100%); } From 745c4f900af31ef1282fd4ac6b982293fea5bed6 Mon Sep 17 00:00:00 2001 From: Matt Jankowski Date: Thu, 24 Oct 2024 04:02:54 -0400 Subject: [PATCH 040/357] Remove unused `ApplicationHelper#visibility_icon` helper method (#32644) --- app/helpers/application_helper.rb | 12 ------------ spec/helpers/application_helper_spec.rb | 22 ---------------------- 2 files changed, 34 deletions(-) diff --git a/app/helpers/application_helper.rb b/app/helpers/application_helper.rb index 4caf0398fefe65..e36de192557386 100644 --- a/app/helpers/application_helper.rb +++ b/app/helpers/application_helper.rb @@ -120,18 +120,6 @@ def check_icon inline_svg_tag 'check.svg' end - def visibility_icon(status) - if status.public_visibility? - material_symbol('globe', title: I18n.t('statuses.visibilities.public')) - elsif status.unlisted_visibility? - material_symbol('lock_open', title: I18n.t('statuses.visibilities.unlisted')) - elsif status.private_visibility? || status.limited_visibility? - material_symbol('lock', title: I18n.t('statuses.visibilities.private')) - elsif status.direct_visibility? - material_symbol('alternate_email', title: I18n.t('statuses.visibilities.direct')) - end - end - def interrelationships_icon(relationships, account_id) if relationships.following[account_id] && relationships.followed_by[account_id] material_symbol('sync_alt', title: I18n.t('relationships.mutual'), class: 'active passive') diff --git a/spec/helpers/application_helper_spec.rb b/spec/helpers/application_helper_spec.rb index 0f78dc82f511e3..ffcc5b81b66c49 100644 --- a/spec/helpers/application_helper_spec.rb +++ b/spec/helpers/application_helper_spec.rb @@ -227,28 +227,6 @@ def current_theme = 'default' end end - describe 'visibility_icon' do - it 'returns a globe icon for a public visible status' do - result = helper.visibility_icon Status.new(visibility: 'public') - expect(result).to match(/globe/) - end - - it 'returns an unlock icon for a unlisted visible status' do - result = helper.visibility_icon Status.new(visibility: 'unlisted') - expect(result).to match(/lock_open/) - end - - it 'returns a lock icon for a private visible status' do - result = helper.visibility_icon Status.new(visibility: 'private') - expect(result).to match(/lock/) - end - - it 'returns an at icon for a direct visible status' do - result = helper.visibility_icon Status.new(visibility: 'direct') - expect(result).to match(/alternate_email/) - end - end - describe 'title' do it 'returns site title on production environment' do Setting.site_title = 'site title' From 5c910dc82eb07a0e69e7788280321383405f8196 Mon Sep 17 00:00:00 2001 From: Matt Jankowski Date: Thu, 24 Oct 2024 04:04:29 -0400 Subject: [PATCH 041/357] Add coverage for `DatabaseHelper` primary/replica methods (#32642) --- spec/helpers/database_helper_spec.rb | 61 ++++++++++++++++++++++++++++ 1 file changed, 61 insertions(+) create mode 100644 spec/helpers/database_helper_spec.rb diff --git a/spec/helpers/database_helper_spec.rb b/spec/helpers/database_helper_spec.rb new file mode 100644 index 00000000000000..9ea398bf4ca38e --- /dev/null +++ b/spec/helpers/database_helper_spec.rb @@ -0,0 +1,61 @@ +# frozen_string_literal: true + +require 'rails_helper' + +RSpec.describe DatabaseHelper do + context 'when a replica is enabled' do + around do |example| + ClimateControl.modify REPLICA_DB_NAME: 'prod-relay-quantum-tunnel-mirror' do + example.run + end + end + + before { allow(ApplicationRecord).to receive(:connected_to) } + + describe '#with_read_replica' do + it 'uses the replica for connections' do + helper.with_read_replica { _x = 1 } + + expect(ApplicationRecord) + .to have_received(:connected_to).with(role: :reading, prevent_writes: true) + end + end + + describe '#with_primary' do + it 'uses the primary for connections' do + helper.with_primary { _x = 1 } + + expect(ApplicationRecord) + .to have_received(:connected_to).with(role: :writing) + end + end + end + + context 'when a replica is not enabled' do + around do |example| + ClimateControl.modify REPLICA_DB_NAME: nil do + example.run + end + end + + before { allow(ApplicationRecord).to receive(:connected_to) } + + describe '#with_read_replica' do + it 'does not use the replica for connections' do + helper.with_read_replica { _x = 1 } + + expect(ApplicationRecord) + .to_not have_received(:connected_to).with(role: :reading, prevent_writes: true) + end + end + + describe '#with_primary' do + it 'does not use the primary for connections' do + helper.with_primary { _x = 1 } + + expect(ApplicationRecord) + .to_not have_received(:connected_to).with(role: :writing) + end + end + end +end From 67504dbf9c51f458a912d98106ef7b5ae79d63fc Mon Sep 17 00:00:00 2001 From: Matt Jankowski Date: Thu, 24 Oct 2024 08:43:40 -0400 Subject: [PATCH 042/357] Simplify uniqueness validation spec for `IpBlock` (#32066) --- spec/models/ip_block_spec.rb | 13 ++++--------- 1 file changed, 4 insertions(+), 9 deletions(-) diff --git a/spec/models/ip_block_spec.rb b/spec/models/ip_block_spec.rb index ac9f5db601329e..b85856780ae970 100644 --- a/spec/models/ip_block_spec.rb +++ b/spec/models/ip_block_spec.rb @@ -3,18 +3,13 @@ require 'rails_helper' RSpec.describe IpBlock do - describe 'validations' do + describe 'Validations' do + subject { Fabricate.build :ip_block } + it { is_expected.to validate_presence_of(:ip) } it { is_expected.to validate_presence_of(:severity) } - it 'validates ip uniqueness', :aggregate_failures do - described_class.create!(ip: '127.0.0.1', severity: :no_access) - - ip_block = described_class.new(ip: '127.0.0.1', severity: :no_access) - - expect(ip_block).to_not be_valid - expect(ip_block).to model_have_error_on_field(:ip) - end + it { is_expected.to validate_uniqueness_of(:ip) } end describe '#to_log_human_identifier' do From b16435e79f2b695a58effcadc5077ceedd559507 Mon Sep 17 00:00:00 2001 From: Matt Jankowski Date: Thu, 24 Oct 2024 08:44:13 -0400 Subject: [PATCH 043/357] Explore more resplendent model validation specs for `Form::AdminSettings` (#32465) --- spec/models/form/admin_settings_spec.rb | 24 ++++-------------------- 1 file changed, 4 insertions(+), 20 deletions(-) diff --git a/spec/models/form/admin_settings_spec.rb b/spec/models/form/admin_settings_spec.rb index 6080b9e081d39e..73106f2b69ce36 100644 --- a/spec/models/form/admin_settings_spec.rb +++ b/spec/models/form/admin_settings_spec.rb @@ -3,33 +3,17 @@ require 'rails_helper' RSpec.describe Form::AdminSettings do - describe 'validations' do + describe 'Validations' do describe 'site_contact_username' do context 'with no accounts' do - it 'is not valid' do - setting = described_class.new(site_contact_username: 'Test') - setting.valid? - - expect(setting).to model_have_error_on_field(:site_contact_username) - end + it { is_expected.to_not allow_value('Test').for(:site_contact_username) } end context 'with an account' do before { Fabricate(:account, username: 'Glorp') } - it 'is not valid when account doesnt match' do - setting = described_class.new(site_contact_username: 'Test') - setting.valid? - - expect(setting).to model_have_error_on_field(:site_contact_username) - end - - it 'is valid when account matches' do - setting = described_class.new(site_contact_username: 'Glorp') - setting.valid? - - expect(setting).to_not model_have_error_on_field(:site_contact_username) - end + it { is_expected.to_not allow_value('Test').for(:site_contact_username) } + it { is_expected.to allow_value('Glorp').for(:site_contact_username) } end end end From dea6c454fdc1de099918ab4cca33ec397f9f9ce0 Mon Sep 17 00:00:00 2001 From: Matt Jankowski Date: Thu, 24 Oct 2024 08:47:06 -0400 Subject: [PATCH 044/357] Contribute more coverage for `Account` model (#32474) --- spec/models/account_spec.rb | 154 ++++++++++++++---------------------- 1 file changed, 59 insertions(+), 95 deletions(-) diff --git a/spec/models/account_spec.rb b/spec/models/account_spec.rb index d129ef280dfad3..bd897a2999503b 100644 --- a/spec/models/account_spec.rb +++ b/spec/models/account_spec.rb @@ -752,26 +752,42 @@ end end - describe '#prepare_contents' do - subject { Fabricate.build :account, domain: domain, note: ' padded note ', display_name: ' padded name ' } + describe 'Callbacks' do + describe 'Stripping content when required' do + context 'with a remote account' do + subject { Fabricate.build :account, domain: 'host.example', note: ' note ', display_name: ' display name ' } + + it 'preserves content' do + expect { subject.valid? } + .to not_change(subject, :note) + .and not_change(subject, :display_name) + end + end - context 'with local account' do - let(:domain) { nil } + context 'with a local account' do + subject { Fabricate.build :account, domain: nil, note:, display_name: } - it 'strips values' do - expect { subject.valid? } - .to change(subject, :note).to('padded note') - .and(change(subject, :display_name).to('padded name')) - end - end + context 'with populated fields' do + let(:note) { ' note ' } + let(:display_name) { ' display name ' } + + it 'strips content' do + expect { subject.valid? } + .to change(subject, :note).to('note') + .and change(subject, :display_name).to('display name') + end + end - context 'with remote account' do - let(:domain) { 'host.example' } + context 'with empty fields' do + let(:note) { nil } + let(:display_name) { nil } - it 'preserves values' do - expect { subject.valid? } - .to not_change(subject, :note) - .and(not_change(subject, :display_name)) + it 'preserves content' do + expect { subject.valid? } + .to not_change(subject, :note) + .and not_change(subject, :display_name) + end + end end end end @@ -826,32 +842,30 @@ end end - describe 'validations' do + describe 'Validations' do it { is_expected.to validate_presence_of(:username) } - context 'when is local' do - it 'is invalid if the username is not unique in case-insensitive comparison among local accounts' do - _account = Fabricate(:account, username: 'the_doctor') - non_unique_account = Fabricate.build(:account, username: 'the_Doctor') - non_unique_account.valid? - expect(non_unique_account).to model_have_error_on_field(:username) - end + context 'when account is local' do + subject { Fabricate.build :account, domain: nil } - it 'is invalid if the username is reserved' do - account = Fabricate.build(:account, username: 'support') - account.valid? - expect(account).to model_have_error_on_field(:username) + context 'with an existing differently-cased username account' do + before { Fabricate :account, username: 'the_doctor' } + + it { is_expected.to_not allow_value('the_Doctor').for(:username) } end + it { is_expected.to_not allow_value('support').for(:username) } + it 'is valid when username is reserved but record has already been created' do account = Fabricate.build(:account, username: 'support') account.save(validate: false) expect(account.valid?).to be true end - it 'is valid if we are creating an instance actor account with a period' do - account = Fabricate.build(:account, id: described_class::INSTANCE_ACTOR_ID, actor_type: 'Application', locked: true, username: 'example.com') - expect(account.valid?).to be true + context 'with the instance actor' do + subject { Fabricate.build :account, id: described_class::INSTANCE_ACTOR_ID, actor_type: 'Application', locked: true } + + it { is_expected.to allow_value('example.com').for(:username) } end it 'is valid if we are creating a possibly-conflicting instance actor account' do @@ -860,81 +874,31 @@ expect(instance_account.valid?).to be true end - it 'is invalid if the username doesn\'t only contains letters, numbers and underscores' do - account = Fabricate.build(:account, username: 'the-doctor') - account.valid? - expect(account).to model_have_error_on_field(:username) - end - - it 'is invalid if the username contains a period' do - account = Fabricate.build(:account, username: 'the.doctor') - account.valid? - expect(account).to model_have_error_on_field(:username) - end + it { is_expected.to_not allow_values('the-doctor', 'the.doctor').for(:username) } - it 'is invalid if the username is longer than the character limit' do - account = Fabricate.build(:account, username: username_over_limit) - account.valid? - expect(account).to model_have_error_on_field(:username) - end - - it 'is invalid if the display name is longer than the character limit' do - account = Fabricate.build(:account, display_name: display_name_over_limit) - account.valid? - expect(account).to model_have_error_on_field(:display_name) - end + it { is_expected.to validate_length_of(:username).is_at_most(described_class::USERNAME_LENGTH_LIMIT) } + it { is_expected.to validate_length_of(:display_name).is_at_most(described_class::DISPLAY_NAME_LENGTH_LIMIT) } - it 'is invalid if the note is longer than the character limit' do - account = Fabricate.build(:account, note: account_note_over_limit) - account.valid? - expect(account).to model_have_error_on_field(:note) - end + it { is_expected.to_not allow_values(account_note_over_limit).for(:note) } end - context 'when is remote' do - it 'is invalid if the username is same among accounts in the same normalized domain' do - Fabricate(:account, domain: 'にゃん', username: 'username') - account = Fabricate.build(:account, domain: 'xn--r9j5b5b', username: 'username') - account.valid? - expect(account).to model_have_error_on_field(:username) - end + context 'when account is remote' do + subject { Fabricate.build :account, domain: 'host.example' } - it 'is invalid if the username is not unique in case-insensitive comparison among accounts in the same normalized domain' do - Fabricate(:account, domain: 'にゃん', username: 'username') - account = Fabricate.build(:account, domain: 'xn--r9j5b5b', username: 'Username') - account.valid? - expect(account).to model_have_error_on_field(:username) - end + context 'when a normalized domain account exists' do + subject { Fabricate.build :account, domain: 'xn--r9j5b5b' } - it 'is valid even if the username contains hyphens' do - account = Fabricate.build(:account, domain: 'domain', username: 'the-doctor') - account.valid? - expect(account).to_not model_have_error_on_field(:username) - end + before { Fabricate(:account, domain: 'にゃん', username: 'username') } - it 'is invalid if the username doesn\'t only contains letters, numbers, underscores and hyphens' do - account = Fabricate.build(:account, domain: 'domain', username: 'the doctor') - account.valid? - expect(account).to model_have_error_on_field(:username) + it { is_expected.to_not allow_values('username', 'Username').for(:username) } end - it 'is valid even if the username is longer than the character limit' do - account = Fabricate.build(:account, domain: 'domain', username: username_over_limit) - account.valid? - expect(account).to_not model_have_error_on_field(:username) - end + it { is_expected.to allow_values('the-doctor', username_over_limit).for(:username) } + it { is_expected.to_not allow_values('the doctor').for(:username) } - it 'is valid even if the display name is longer than the character limit' do - account = Fabricate.build(:account, domain: 'domain', display_name: display_name_over_limit) - account.valid? - expect(account).to_not model_have_error_on_field(:display_name) - end + it { is_expected.to allow_values(display_name_over_limit).for(:display_name) } - it 'is valid even if the note is longer than the character limit' do - account = Fabricate.build(:account, domain: 'domain', note: account_note_over_limit) - account.valid? - expect(account).to_not model_have_error_on_field(:note) - end + it { is_expected.to allow_values(account_note_over_limit).for(:note) } end def username_over_limit From 37bcbeab4aead09c4884827b8a7625c5070ab192 Mon Sep 17 00:00:00 2001 From: Matt Jankowski Date: Thu, 24 Oct 2024 08:52:38 -0400 Subject: [PATCH 045/357] Simplify model validation spec in AccountModerationNote/ReportNote (#31792) --- spec/models/account_moderation_note_spec.rb | 31 +++++++++------------ spec/models/report_note_spec.rb | 31 +++++++++------------ 2 files changed, 26 insertions(+), 36 deletions(-) diff --git a/spec/models/account_moderation_note_spec.rb b/spec/models/account_moderation_note_spec.rb index 079774c4925b4e..f3bcff4cd66d13 100644 --- a/spec/models/account_moderation_note_spec.rb +++ b/spec/models/account_moderation_note_spec.rb @@ -3,29 +3,24 @@ require 'rails_helper' RSpec.describe AccountModerationNote do - describe 'chronological scope' do - it 'returns account moderation notes oldest to newest' do - account = Fabricate(:account) - note1 = Fabricate(:account_moderation_note, target_account: account) - note2 = Fabricate(:account_moderation_note, target_account: account) + describe 'Scopes' do + describe '.chronological' do + it 'returns account moderation notes oldest to newest' do + account = Fabricate(:account) + note1 = Fabricate(:account_moderation_note, target_account: account) + note2 = Fabricate(:account_moderation_note, target_account: account) - expect(account.targeted_moderation_notes.chronological).to eq [note1, note2] + expect(account.targeted_moderation_notes.chronological).to eq [note1, note2] + end end end - describe 'validations' do - it 'is invalid if the content is empty' do - report = Fabricate.build(:account_moderation_note, content: '') - expect(report.valid?).to be false - end - - it 'is invalid if content is longer than character limit' do - report = Fabricate.build(:account_moderation_note, content: comment_over_limit) - expect(report.valid?).to be false - end + describe 'Validations' do + subject { Fabricate.build :account_moderation_note } - def comment_over_limit - Faker::Lorem.paragraph_by_chars(number: described_class::CONTENT_SIZE_LIMIT * 2) + describe 'content' do + it { is_expected.to_not allow_value('').for(:content) } + it { is_expected.to validate_length_of(:content).is_at_most(described_class::CONTENT_SIZE_LIMIT) } end end end diff --git a/spec/models/report_note_spec.rb b/spec/models/report_note_spec.rb index 417971c9a1e357..0d1c0f619e5957 100644 --- a/spec/models/report_note_spec.rb +++ b/spec/models/report_note_spec.rb @@ -3,29 +3,24 @@ require 'rails_helper' RSpec.describe ReportNote do - describe 'chronological scope' do - it 'returns report notes oldest to newest' do - report = Fabricate(:report) - note1 = Fabricate(:report_note, report: report) - note2 = Fabricate(:report_note, report: report) + describe 'Scopes' do + describe '.chronological' do + it 'returns report notes oldest to newest' do + report = Fabricate(:report) + note1 = Fabricate(:report_note, report: report) + note2 = Fabricate(:report_note, report: report) - expect(report.notes.chronological).to eq [note1, note2] + expect(report.notes.chronological).to eq [note1, note2] + end end end - describe 'validations' do - it 'is invalid if the content is empty' do - report = Fabricate.build(:report_note, content: '') - expect(report.valid?).to be false - end - - it 'is invalid if content is longer than character limit' do - report = Fabricate.build(:report_note, content: comment_over_limit) - expect(report.valid?).to be false - end + describe 'Validations' do + subject { Fabricate.build :report_note } - def comment_over_limit - Faker::Lorem.paragraph_by_chars(number: described_class::CONTENT_SIZE_LIMIT * 2) + describe 'content' do + it { is_expected.to_not allow_value('').for(:content) } + it { is_expected.to validate_length_of(:content).is_at_most(described_class::CONTENT_SIZE_LIMIT) } end end end From e5be4bf8d887bffd6f660ec86b13515a593f21d4 Mon Sep 17 00:00:00 2001 From: Matt Jankowski Date: Fri, 25 Oct 2024 03:55:33 -0400 Subject: [PATCH 046/357] Simplify model validation specs for `PreviewCard` (#32469) --- spec/models/preview_card_spec.rb | 24 ++++-------------------- 1 file changed, 4 insertions(+), 20 deletions(-) diff --git a/spec/models/preview_card_spec.rb b/spec/models/preview_card_spec.rb index c0bc2b6e0e01bf..0fe76c37b07cda 100644 --- a/spec/models/preview_card_spec.rb +++ b/spec/models/preview_card_spec.rb @@ -9,26 +9,10 @@ end end - describe 'validations' do - describe 'urls' do - it 'allows http schemes' do - record = described_class.new(url: 'http://example.host/path') - - expect(record).to be_valid - end - - it 'allows https schemes' do - record = described_class.new(url: 'https://example.host/path') - - expect(record).to be_valid - end - - it 'does not allow javascript: schemes' do - record = described_class.new(url: 'javascript:alert()') - - expect(record).to_not be_valid - expect(record).to model_have_error_on_field(:url) - end + describe 'Validations' do + describe 'url' do + it { is_expected.to allow_values('http://example.host/path', 'https://example.host/path').for(:url) } + it { is_expected.to_not allow_value('javascript:alert()').for(:url) } end end end From 4134ccdbe06b1c34ba28910c9d608a949c69dba3 Mon Sep 17 00:00:00 2001 From: Matt Jankowski Date: Fri, 25 Oct 2024 03:55:45 -0400 Subject: [PATCH 047/357] Simplify model validation specs for `WebauthnCredential` (#32466) --- spec/models/webauthn_credential_spec.rb | 48 ++++--------------------- 1 file changed, 6 insertions(+), 42 deletions(-) diff --git a/spec/models/webauthn_credential_spec.rb b/spec/models/webauthn_credential_spec.rb index c4105d91500622..067c696c1338a6 100644 --- a/spec/models/webauthn_credential_spec.rb +++ b/spec/models/webauthn_credential_spec.rb @@ -3,53 +3,17 @@ require 'rails_helper' RSpec.describe WebauthnCredential do - describe 'validations' do + describe 'Validations' do + subject { Fabricate.build :webauthn_credential } + it { is_expected.to validate_presence_of(:external_id) } it { is_expected.to validate_presence_of(:public_key) } it { is_expected.to validate_presence_of(:nickname) } it { is_expected.to validate_presence_of(:sign_count) } - it 'is invalid if already exist a webauthn credential with the same external id' do - Fabricate(:webauthn_credential, external_id: '_Typ0ygudDnk9YUVWLQayw') - new_webauthn_credential = Fabricate.build(:webauthn_credential, external_id: '_Typ0ygudDnk9YUVWLQayw') - - new_webauthn_credential.valid? - - expect(new_webauthn_credential).to model_have_error_on_field(:external_id) - end - - it 'is invalid if user already registered a webauthn credential with the same nickname' do - user = Fabricate(:user) - Fabricate(:webauthn_credential, user_id: user.id, nickname: 'USB Key') - new_webauthn_credential = Fabricate.build(:webauthn_credential, user_id: user.id, nickname: 'USB Key') - - new_webauthn_credential.valid? - - expect(new_webauthn_credential).to model_have_error_on_field(:nickname) - end - - it 'is invalid if sign_count is not a number' do - webauthn_credential = Fabricate.build(:webauthn_credential, sign_count: 'invalid sign_count') - - webauthn_credential.valid? - - expect(webauthn_credential).to model_have_error_on_field(:sign_count) - end - - it 'is invalid if sign_count is negative number' do - webauthn_credential = Fabricate.build(:webauthn_credential, sign_count: -1) - - webauthn_credential.valid? - - expect(webauthn_credential).to model_have_error_on_field(:sign_count) - end - - it 'is invalid if sign_count is greater than the limit' do - webauthn_credential = Fabricate.build(:webauthn_credential, sign_count: (described_class::SIGN_COUNT_LIMIT * 2)) - - webauthn_credential.valid? + it { is_expected.to validate_uniqueness_of(:external_id) } + it { is_expected.to validate_uniqueness_of(:nickname).scoped_to(:user_id) } - expect(webauthn_credential).to model_have_error_on_field(:sign_count) - end + it { is_expected.to validate_numericality_of(:sign_count).only_integer.is_greater_than_or_equal_to(0).is_less_than_or_equal_to(described_class::SIGN_COUNT_LIMIT - 1) } end end From 2e3bbb6861553f624ef2dc01d46620638ff6b33b Mon Sep 17 00:00:00 2001 From: Matt Jankowski Date: Fri, 25 Oct 2024 03:58:41 -0400 Subject: [PATCH 048/357] Move account suspension related coverage to concern spec (#32432) --- spec/models/account_spec.rb | 66 ------------------- .../concerns/account/suspensions_spec.rb | 65 ++++++++++++++++++ 2 files changed, 65 insertions(+), 66 deletions(-) create mode 100644 spec/models/concerns/account/suspensions_spec.rb diff --git a/spec/models/account_spec.rb b/spec/models/account_spec.rb index bd897a2999503b..7a5deed599c5e4 100644 --- a/spec/models/account_spec.rb +++ b/spec/models/account_spec.rb @@ -10,64 +10,6 @@ let(:bob) { Fabricate(:account, username: 'bob') } - describe '#suspended_locally?' do - context 'when the account is not suspended' do - it 'returns false' do - expect(subject.suspended_locally?).to be false - end - end - - context 'when the account is suspended locally' do - before do - subject.update!(suspended_at: 1.day.ago, suspension_origin: :local) - end - - it 'returns true' do - expect(subject.suspended_locally?).to be true - end - end - - context 'when the account is suspended remotely' do - before do - subject.update!(suspended_at: 1.day.ago, suspension_origin: :remote) - end - - it 'returns false' do - expect(subject.suspended_locally?).to be false - end - end - end - - describe '#suspend!' do - it 'marks the account as suspended and creates a deletion request' do - expect { subject.suspend! } - .to change(subject, :suspended?).from(false).to(true) - .and change(subject, :suspended_locally?).from(false).to(true) - .and(change { AccountDeletionRequest.exists?(account: subject) }.from(false).to(true)) - end - - context 'when the account is of a local user' do - subject { local_user_account } - - let!(:local_user_account) { Fabricate(:user, email: 'foo+bar@domain.org').account } - - it 'creates a canonical domain block' do - subject.suspend! - expect(CanonicalEmailBlock.block?(subject.user_email)).to be true - end - - context 'when a canonical domain block already exists for that email' do - before do - Fabricate(:canonical_email_block, email: subject.user_email) - end - - it 'does not raise an error' do - expect { subject.suspend! }.to_not raise_error - end - end - end - end - describe '#follow!' do it 'creates a follow' do follow = subject.follow!(bob) @@ -1049,14 +991,6 @@ def account_note_over_limit end end - describe 'suspended' do - it 'returns an array of accounts who are suspended' do - suspended_account = Fabricate(:account, suspended: true) - _account = Fabricate(:account, suspended: false) - expect(described_class.suspended).to contain_exactly(suspended_account) - end - end - describe 'searchable' do let!(:suspended_local) { Fabricate(:account, suspended: true, username: 'suspended_local') } let!(:suspended_remote) { Fabricate(:account, suspended: true, domain: 'example.org', username: 'suspended_remote') } diff --git a/spec/models/concerns/account/suspensions_spec.rb b/spec/models/concerns/account/suspensions_spec.rb new file mode 100644 index 00000000000000..3d71f1b723087c --- /dev/null +++ b/spec/models/concerns/account/suspensions_spec.rb @@ -0,0 +1,65 @@ +# frozen_string_literal: true + +require 'rails_helper' + +RSpec.describe Account::Suspensions do + subject { Fabricate(:account) } + + describe '.suspended' do + let!(:suspended_account) { Fabricate :account, suspended: true } + + before { Fabricate :account, suspended: false } + + it 'returns accounts that are suspended' do + expect(Account.suspended) + .to contain_exactly(suspended_account) + end + end + + describe '#suspended_locally?' do + context 'when the account is not suspended' do + it { is_expected.to_not be_suspended_locally } + end + + context 'when the account is suspended locally' do + before { subject.update!(suspended_at: 1.day.ago, suspension_origin: :local) } + + it { is_expected.to be_suspended_locally } + end + + context 'when the account is suspended remotely' do + before { subject.update!(suspended_at: 1.day.ago, suspension_origin: :remote) } + + it { is_expected.to_not be_suspended_locally } + end + end + + describe '#suspend!' do + it 'marks the account as suspended and creates a deletion request' do + expect { subject.suspend! } + .to change(subject, :suspended?).from(false).to(true) + .and change(subject, :suspended_locally?).from(false).to(true) + .and(change { AccountDeletionRequest.exists?(account: subject) }.from(false).to(true)) + end + + context 'when the account is of a local user' do + subject { local_user_account } + + let!(:local_user_account) { Fabricate(:user, email: 'foo+bar@domain.org').account } + + it 'creates a canonical domain block' do + expect { subject.suspend! } + .to change { CanonicalEmailBlock.block?(subject.user_email) }.from(false).to(true) + end + + context 'when a canonical domain block already exists for that email' do + before { Fabricate(:canonical_email_block, email: subject.user_email) } + + it 'does not raise an error' do + expect { subject.suspend! } + .to_not raise_error + end + end + end + end +end From 2a13d6824c4e390b16e2f2d4cd18e4bfd93e0166 Mon Sep 17 00:00:00 2001 From: Matt Jankowski Date: Fri, 25 Oct 2024 03:59:31 -0400 Subject: [PATCH 049/357] Use `subject` for `FeedManager` lib spec (#32486) --- spec/lib/feed_manager_spec.rb | 160 +++++++++++++++++----------------- 1 file changed, 81 insertions(+), 79 deletions(-) diff --git a/spec/lib/feed_manager_spec.rb b/spec/lib/feed_manager_spec.rb index 679309bd11c746..1d704996746338 100644 --- a/spec/lib/feed_manager_spec.rb +++ b/spec/lib/feed_manager_spec.rb @@ -3,6 +3,8 @@ require 'rails_helper' RSpec.describe FeedManager do + subject { described_class.instance } + before do |example| unless example.metadata[:skip_stub] stub_const 'FeedManager::MAX_ITEMS', 10 @@ -32,26 +34,26 @@ it 'returns false for followee\'s status' do status = Fabricate(:status, text: 'Hello world', account: alice) bob.follow!(alice) - expect(described_class.instance.filter?(:home, status, bob)).to be false + expect(subject.filter?(:home, status, bob)).to be false end it 'returns false for reblog by followee' do status = Fabricate(:status, text: 'Hello world', account: jeff) reblog = Fabricate(:status, reblog: status, account: alice) bob.follow!(alice) - expect(described_class.instance.filter?(:home, reblog, bob)).to be false + expect(subject.filter?(:home, reblog, bob)).to be false end it 'returns true for post from account who blocked me' do status = Fabricate(:status, text: 'Hello, World', account: alice) alice.block!(bob) - expect(described_class.instance.filter?(:home, status, bob)).to be true + expect(subject.filter?(:home, status, bob)).to be true end it 'returns true for post from blocked account' do status = Fabricate(:status, text: 'Hello, World', account: alice) bob.block!(alice) - expect(described_class.instance.filter?(:home, status, bob)).to be true + expect(subject.filter?(:home, status, bob)).to be true end it 'returns true for reblog by followee of blocked account' do @@ -59,7 +61,7 @@ reblog = Fabricate(:status, reblog: status, account: alice) bob.follow!(alice) bob.block!(jeff) - expect(described_class.instance.filter?(:home, reblog, bob)).to be true + expect(subject.filter?(:home, reblog, bob)).to be true end it 'returns true for reblog by followee of muted account' do @@ -67,7 +69,7 @@ reblog = Fabricate(:status, reblog: status, account: alice) bob.follow!(alice) bob.mute!(jeff) - expect(described_class.instance.filter?(:home, reblog, bob)).to be true + expect(subject.filter?(:home, reblog, bob)).to be true end it 'returns true for reblog by followee of someone who is blocking recipient' do @@ -75,14 +77,14 @@ reblog = Fabricate(:status, reblog: status, account: alice) bob.follow!(alice) jeff.block!(bob) - expect(described_class.instance.filter?(:home, reblog, bob)).to be true + expect(subject.filter?(:home, reblog, bob)).to be true end it 'returns true for reblog from account with reblogs disabled' do status = Fabricate(:status, text: 'Hello world', account: jeff) reblog = Fabricate(:status, reblog: status, account: alice) bob.follow!(alice, reblogs: false) - expect(described_class.instance.filter?(:home, reblog, bob)).to be true + expect(subject.filter?(:home, reblog, bob)).to be true end it 'returns false for reply by followee to another followee' do @@ -90,49 +92,49 @@ reply = Fabricate(:status, text: 'Nay', thread: status, account: alice) bob.follow!(alice) bob.follow!(jeff) - expect(described_class.instance.filter?(:home, reply, bob)).to be false + expect(subject.filter?(:home, reply, bob)).to be false end it 'returns false for reply by followee to recipient' do status = Fabricate(:status, text: 'Hello world', account: bob) reply = Fabricate(:status, text: 'Nay', thread: status, account: alice) bob.follow!(alice) - expect(described_class.instance.filter?(:home, reply, bob)).to be false + expect(subject.filter?(:home, reply, bob)).to be false end it 'returns false for reply by followee to self' do status = Fabricate(:status, text: 'Hello world', account: alice) reply = Fabricate(:status, text: 'Nay', thread: status, account: alice) bob.follow!(alice) - expect(described_class.instance.filter?(:home, reply, bob)).to be false + expect(subject.filter?(:home, reply, bob)).to be false end it 'returns true for reply by followee to non-followed account' do status = Fabricate(:status, text: 'Hello world', account: jeff) reply = Fabricate(:status, text: 'Nay', thread: status, account: alice) bob.follow!(alice) - expect(described_class.instance.filter?(:home, reply, bob)).to be true + expect(subject.filter?(:home, reply, bob)).to be true end it 'returns true for the second reply by followee to a non-federated status' do reply = Fabricate(:status, text: 'Reply 1', reply: true, account: alice) second_reply = Fabricate(:status, text: 'Reply 2', thread: reply, account: alice) bob.follow!(alice) - expect(described_class.instance.filter?(:home, second_reply, bob)).to be true + expect(subject.filter?(:home, second_reply, bob)).to be true end it 'returns false for status by followee mentioning another account' do bob.follow!(alice) jeff.follow!(alice) status = PostStatusService.new.call(alice, text: 'Hey @jeff') - expect(described_class.instance.filter?(:home, status, bob)).to be false + expect(subject.filter?(:home, status, bob)).to be false end it 'returns true for status by followee mentioning blocked account' do bob.block!(jeff) bob.follow!(alice) status = PostStatusService.new.call(alice, text: 'Hey @jeff') - expect(described_class.instance.filter?(:home, status, bob)).to be true + expect(subject.filter?(:home, status, bob)).to be true end it 'returns true for reblog of a personally blocked domain' do @@ -140,19 +142,19 @@ alice.follow!(jeff) status = Fabricate(:status, text: 'Hello world', account: bob) reblog = Fabricate(:status, reblog: status, account: jeff) - expect(described_class.instance.filter?(:home, reblog, alice)).to be true + expect(subject.filter?(:home, reblog, alice)).to be true end it 'returns true for German post when follow is set to English only' do alice.follow!(bob, languages: %w(en)) status = Fabricate(:status, text: 'Hallo Welt', account: bob, language: 'de') - expect(described_class.instance.filter?(:home, status, alice)).to be true + expect(subject.filter?(:home, status, alice)).to be true end it 'returns false for German post when follow is set to German' do alice.follow!(bob, languages: %w(de)) status = Fabricate(:status, text: 'Hallo Welt', account: bob, language: 'de') - expect(described_class.instance.filter?(:home, status, alice)).to be false + expect(subject.filter?(:home, status, alice)).to be false end it 'returns true for post from followee on exclusive list' do @@ -161,7 +163,7 @@ list.accounts << bob allow(List).to receive(:where).and_return(list) status = Fabricate(:status, text: 'I post a lot', account: bob) - expect(described_class.instance.filter?(:home, status, alice)).to be true + expect(subject.filter?(:home, status, alice)).to be true end it 'returns true for reblog from followee on exclusive list' do @@ -171,7 +173,7 @@ allow(List).to receive(:where).and_return(list) status = Fabricate(:status, text: 'I post a lot', account: bob) reblog = Fabricate(:status, reblog: status, account: jeff) - expect(described_class.instance.filter?(:home, reblog, alice)).to be true + expect(subject.filter?(:home, reblog, alice)).to be true end it 'returns false for post from followee on non-exclusive list' do @@ -179,7 +181,7 @@ alice.follow!(bob) list.accounts << bob status = Fabricate(:status, text: 'I post a lot', account: bob) - expect(described_class.instance.filter?(:home, status, alice)).to be false + expect(subject.filter?(:home, status, alice)).to be false end it 'returns false for reblog from followee on non-exclusive list' do @@ -188,7 +190,7 @@ list.accounts << jeff status = Fabricate(:status, text: 'I post a lot', account: bob) reblog = Fabricate(:status, reblog: status, account: jeff) - expect(described_class.instance.filter?(:home, reblog, alice)).to be false + expect(subject.filter?(:home, reblog, alice)).to be false end end @@ -196,27 +198,27 @@ it 'returns true for status that mentions blocked account' do bob.block!(jeff) status = PostStatusService.new.call(alice, text: 'Hey @jeff') - expect(described_class.instance.filter?(:mentions, status, bob)).to be true + expect(subject.filter?(:mentions, status, bob)).to be true end it 'returns true for status that replies to a blocked account' do status = Fabricate(:status, text: 'Hello world', account: jeff) reply = Fabricate(:status, text: 'Nay', thread: status, account: alice) bob.block!(jeff) - expect(described_class.instance.filter?(:mentions, reply, bob)).to be true + expect(subject.filter?(:mentions, reply, bob)).to be true end it 'returns false for status by limited account who recipient is not following' do status = Fabricate(:status, text: 'Hello world', account: alice) alice.silence! - expect(described_class.instance.filter?(:mentions, status, bob)).to be false + expect(subject.filter?(:mentions, status, bob)).to be false end it 'returns false for status by followed limited account' do status = Fabricate(:status, text: 'Hello world', account: alice) alice.silence! bob.follow!(alice) - expect(described_class.instance.filter?(:mentions, status, bob)).to be false + expect(subject.filter?(:mentions, status, bob)).to be false end end end @@ -228,7 +230,7 @@ members = Array.new(described_class::MAX_ITEMS) { |count| [count, count] } redis.zadd("feed:home:#{account.id}", members) - described_class.instance.push_to_home(account, status) + subject.push_to_home(account, status) expect(redis.zcard("feed:home:#{account.id}")).to eq described_class::MAX_ITEMS end @@ -239,7 +241,7 @@ reblogged = Fabricate(:status) reblog = Fabricate(:status, reblog: reblogged) - expect(described_class.instance.push_to_home(account, reblog)).to be true + expect(subject.push_to_home(account, reblog)).to be true end it 'does not save a new reblog of a recent status' do @@ -247,9 +249,9 @@ reblogged = Fabricate(:status) reblog = Fabricate(:status, reblog: reblogged) - described_class.instance.push_to_home(account, reblogged) + subject.push_to_home(account, reblogged) - expect(described_class.instance.push_to_home(account, reblog)).to be false + expect(subject.push_to_home(account, reblog)).to be false end it 'saves a new reblog of an old status' do @@ -257,14 +259,14 @@ reblogged = Fabricate(:status) reblog = Fabricate(:status, reblog: reblogged) - described_class.instance.push_to_home(account, reblogged) + subject.push_to_home(account, reblogged) # Fill the feed with intervening statuses described_class::REBLOG_FALLOFF.times do - described_class.instance.push_to_home(account, Fabricate(:status)) + subject.push_to_home(account, Fabricate(:status)) end - expect(described_class.instance.push_to_home(account, reblog)).to be true + expect(subject.push_to_home(account, reblog)).to be true end it 'does not save a new reblog of a recently-reblogged status' do @@ -273,10 +275,10 @@ reblogs = Array.new(2) { Fabricate(:status, reblog: reblogged) } # The first reblog will be accepted - described_class.instance.push_to_home(account, reblogs.first) + subject.push_to_home(account, reblogs.first) # The second reblog should be ignored - expect(described_class.instance.push_to_home(account, reblogs.last)).to be false + expect(subject.push_to_home(account, reblogs.last)).to be false end it 'saves a new reblog of a recently-reblogged status when previous reblog has been deleted' do @@ -285,15 +287,15 @@ old_reblog = Fabricate(:status, reblog: reblogged) # The first reblog should be accepted - expect(described_class.instance.push_to_home(account, old_reblog)).to be true + expect(subject.push_to_home(account, old_reblog)).to be true # The first reblog should be successfully removed - expect(described_class.instance.unpush_from_home(account, old_reblog)).to be true + expect(subject.unpush_from_home(account, old_reblog)).to be true reblog = Fabricate(:status, reblog: reblogged) # The second reblog should be accepted - expect(described_class.instance.push_to_home(account, reblog)).to be true + expect(subject.push_to_home(account, reblog)).to be true end it 'does not save a new reblog of a multiply-reblogged-then-unreblogged status' do @@ -302,14 +304,14 @@ reblogs = Array.new(3) { Fabricate(:status, reblog: reblogged) } # Accept the reblogs - described_class.instance.push_to_home(account, reblogs[0]) - described_class.instance.push_to_home(account, reblogs[1]) + subject.push_to_home(account, reblogs[0]) + subject.push_to_home(account, reblogs[1]) # Unreblog the first one - described_class.instance.unpush_from_home(account, reblogs[0]) + subject.unpush_from_home(account, reblogs[0]) # The last reblog should still be ignored - expect(described_class.instance.push_to_home(account, reblogs.last)).to be false + expect(subject.push_to_home(account, reblogs.last)).to be false end it 'saves a new reblog of a long-ago-reblogged status' do @@ -318,15 +320,15 @@ reblogs = Array.new(2) { Fabricate(:status, reblog: reblogged) } # The first reblog will be accepted - described_class.instance.push_to_home(account, reblogs.first) + subject.push_to_home(account, reblogs.first) # Fill the feed with intervening statuses described_class::REBLOG_FALLOFF.times do - described_class.instance.push_to_home(account, Fabricate(:status)) + subject.push_to_home(account, Fabricate(:status)) end # The second reblog should also be accepted - expect(described_class.instance.push_to_home(account, reblogs.last)).to be true + expect(subject.push_to_home(account, reblogs.last)).to be true end end @@ -334,9 +336,9 @@ account = Fabricate(:account) reblog = Fabricate(:status) status = Fabricate(:status, reblog: reblog) - described_class.instance.push_to_home(account, status) + subject.push_to_home(account, status) - expect(described_class.instance.push_to_home(account, reblog)).to be false + expect(subject.push_to_home(account, reblog)).to be false end end @@ -359,9 +361,9 @@ it "does not push when the given status's reblog is already inserted" do reblog = Fabricate(:status) status = Fabricate(:status, reblog: reblog) - described_class.instance.push_to_list(list, status) + subject.push_to_list(list, status) - expect(described_class.instance.push_to_list(list, reblog)).to be false + expect(subject.push_to_list(list, reblog)).to be false end context 'when replies policy is set to no replies' do @@ -371,19 +373,19 @@ it 'pushes statuses that are not replies' do status = Fabricate(:status, text: 'Hello world', account: bob) - expect(described_class.instance.push_to_list(list, status)).to be true + expect(subject.push_to_list(list, status)).to be true end it 'pushes statuses that are replies to list owner' do status = Fabricate(:status, text: 'Hello world', account: owner) reply = Fabricate(:status, text: 'Nay', thread: status, account: bob) - expect(described_class.instance.push_to_list(list, reply)).to be true + expect(subject.push_to_list(list, reply)).to be true end it 'does not push replies to another member of the list' do status = Fabricate(:status, text: 'Hello world', account: alice) reply = Fabricate(:status, text: 'Nay', thread: status, account: bob) - expect(described_class.instance.push_to_list(list, reply)).to be false + expect(subject.push_to_list(list, reply)).to be false end end @@ -394,25 +396,25 @@ it 'pushes statuses that are not replies' do status = Fabricate(:status, text: 'Hello world', account: bob) - expect(described_class.instance.push_to_list(list, status)).to be true + expect(subject.push_to_list(list, status)).to be true end it 'pushes statuses that are replies to list owner' do status = Fabricate(:status, text: 'Hello world', account: owner) reply = Fabricate(:status, text: 'Nay', thread: status, account: bob) - expect(described_class.instance.push_to_list(list, reply)).to be true + expect(subject.push_to_list(list, reply)).to be true end it 'pushes replies to another member of the list' do status = Fabricate(:status, text: 'Hello world', account: alice) reply = Fabricate(:status, text: 'Nay', thread: status, account: bob) - expect(described_class.instance.push_to_list(list, reply)).to be true + expect(subject.push_to_list(list, reply)).to be true end it 'does not push replies to someone not a member of the list' do status = Fabricate(:status, text: 'Hello world', account: eve) reply = Fabricate(:status, text: 'Nay', thread: status, account: bob) - expect(described_class.instance.push_to_list(list, reply)).to be false + expect(subject.push_to_list(list, reply)).to be false end end @@ -423,25 +425,25 @@ it 'pushes statuses that are not replies' do status = Fabricate(:status, text: 'Hello world', account: bob) - expect(described_class.instance.push_to_list(list, status)).to be true + expect(subject.push_to_list(list, status)).to be true end it 'pushes statuses that are replies to list owner' do status = Fabricate(:status, text: 'Hello world', account: owner) reply = Fabricate(:status, text: 'Nay', thread: status, account: bob) - expect(described_class.instance.push_to_list(list, reply)).to be true + expect(subject.push_to_list(list, reply)).to be true end it 'pushes replies to another member of the list' do status = Fabricate(:status, text: 'Hello world', account: alice) reply = Fabricate(:status, text: 'Nay', thread: status, account: bob) - expect(described_class.instance.push_to_list(list, reply)).to be true + expect(subject.push_to_list(list, reply)).to be true end it 'pushes replies to someone not a member of the list' do status = Fabricate(:status, text: 'Hello world', account: eve) reply = Fabricate(:status, text: 'Nay', thread: status, account: bob) - expect(described_class.instance.push_to_list(list, reply)).to be true + expect(subject.push_to_list(list, reply)).to be true end end end @@ -451,9 +453,9 @@ account = Fabricate(:account, id: 0) reblog = Fabricate(:status) status = Fabricate(:status, reblog: reblog) - described_class.instance.push_to_home(account, status) + subject.push_to_home(account, status) - described_class.instance.merge_into_home(account, reblog.account) + subject.merge_into_home(account, reblog.account) expect(redis.zscore('feed:home:0', reblog.id)).to be_nil end @@ -466,14 +468,14 @@ reblogged = Fabricate(:status) status = Fabricate(:status, reblog: reblogged) - described_class.instance.push_to_home(receiver, reblogged) - described_class::REBLOG_FALLOFF.times { described_class.instance.push_to_home(receiver, Fabricate(:status)) } - described_class.instance.push_to_home(receiver, status) + subject.push_to_home(receiver, reblogged) + described_class::REBLOG_FALLOFF.times { subject.push_to_home(receiver, Fabricate(:status)) } + subject.push_to_home(receiver, status) # The reblogging status should show up under normal conditions. expect(redis.zrange("feed:home:#{receiver.id}", 0, -1)).to include(status.id.to_s) - described_class.instance.unpush_from_home(receiver, status) + subject.unpush_from_home(receiver, status) # Restore original status expect(redis.zrange("feed:home:#{receiver.id}", 0, -1)).to_not include(status.id.to_s) @@ -484,12 +486,12 @@ reblogged = Fabricate(:status) status = Fabricate(:status, reblog: reblogged) - described_class.instance.push_to_home(receiver, status) + subject.push_to_home(receiver, status) # The reblogging status should show up under normal conditions. expect(redis.zrange("feed:home:#{receiver.id}", 0, -1)).to eq [status.id.to_s] - described_class.instance.unpush_from_home(receiver, status) + subject.unpush_from_home(receiver, status) expect(redis.zrange("feed:home:#{receiver.id}", 0, -1)).to be_empty end @@ -499,14 +501,14 @@ reblogs = Array.new(3) { Fabricate(:status, reblog: reblogged) } reblogs.each do |reblog| - described_class.instance.push_to_home(receiver, reblog) + subject.push_to_home(receiver, reblog) end # The reblogging status should show up under normal conditions. expect(redis.zrange("feed:home:#{receiver.id}", 0, -1)).to eq [reblogs.first.id.to_s] reblogs[0...-1].each do |reblog| - described_class.instance.unpush_from_home(receiver, reblog) + subject.unpush_from_home(receiver, reblog) end expect(redis.zrange("feed:home:#{receiver.id}", 0, -1)).to eq [reblogs.last.id.to_s] @@ -515,10 +517,10 @@ it 'sends push updates' do status = Fabricate(:status) - described_class.instance.push_to_home(receiver, status) + subject.push_to_home(receiver, status) allow(redis).to receive_messages(publish: nil) - described_class.instance.unpush_from_home(receiver, status) + subject.unpush_from_home(receiver, status) deletion = Oj.dump(event: :delete, payload: status.id.to_s) expect(redis).to have_received(:publish).with("timeline:#{receiver.id}", deletion) @@ -532,9 +534,9 @@ it 'leaves a tagged status' do status = Fabricate(:status) status.tags << tag - described_class.instance.push_to_home(receiver, status) + subject.push_to_home(receiver, status) - described_class.instance.unmerge_tag_from_home(tag, receiver) + subject.unmerge_tag_from_home(tag, receiver) expect(redis.zrange("feed:home:#{receiver.id}", 0, -1)).to_not include(status.id.to_s) end @@ -545,9 +547,9 @@ status = Fabricate(:status, account: followee) status.tags << tag - described_class.instance.push_to_home(receiver, status) + subject.push_to_home(receiver, status) - described_class.instance.unmerge_tag_from_home(tag, receiver) + subject.unmerge_tag_from_home(tag, receiver) expect(redis.zrange("feed:home:#{receiver.id}", 0, -1)).to include(status.id.to_s) end @@ -555,9 +557,9 @@ it 'remains a tagged status written by receiver' do status = Fabricate(:status, account: receiver) status.tags << tag - described_class.instance.push_to_home(receiver, status) + subject.push_to_home(receiver, status) - described_class.instance.unmerge_tag_from_home(tag, receiver) + subject.unmerge_tag_from_home(tag, receiver) expect(redis.zrange("feed:home:#{receiver.id}", 0, -1)).to include(status.id.to_s) end @@ -588,7 +590,7 @@ end it 'correctly cleans the home timeline' do - described_class.instance.clear_from_home(account, target_account) + subject.clear_from_home(account, target_account) expect(redis.zrange("feed:home:#{account.id}", 0, -1)).to eq [status_from_followed_account_first.id.to_s, status_from_followed_account_next.id.to_s] end From 86132f7dd3d41d777090d283b83d371246e0220e Mon Sep 17 00:00:00 2001 From: Matt Jankowski Date: Fri, 25 Oct 2024 04:00:58 -0400 Subject: [PATCH 050/357] Provide `establish_policy` helper method in `AccountStatusesCleanupPolicy` spec (#32490) --- .../account_statuses_cleanup_policy_spec.rb | 91 ++++++------------- 1 file changed, 27 insertions(+), 64 deletions(-) diff --git a/spec/models/account_statuses_cleanup_policy_spec.rb b/spec/models/account_statuses_cleanup_policy_spec.rb index c142a0359ac6fe..114ebb38fe0615 100644 --- a/spec/models/account_statuses_cleanup_policy_spec.rb +++ b/spec/models/account_statuses_cleanup_policy_spec.rb @@ -339,14 +339,7 @@ end context 'when policy is set to keep DMs and reject everything else' do - before do - account_statuses_cleanup_policy.keep_direct = true - account_statuses_cleanup_policy.keep_pinned = false - account_statuses_cleanup_policy.keep_polls = false - account_statuses_cleanup_policy.keep_media = false - account_statuses_cleanup_policy.keep_self_fav = false - account_statuses_cleanup_policy.keep_self_bookmark = false - end + before { establish_policy(keep_direct: true) } it 'returns every old status except does not return the old direct message for deletion' do expect(subject.pluck(:id)) @@ -356,14 +349,7 @@ end context 'when policy is set to keep self-bookmarked toots and reject everything else' do - before do - account_statuses_cleanup_policy.keep_direct = false - account_statuses_cleanup_policy.keep_pinned = false - account_statuses_cleanup_policy.keep_polls = false - account_statuses_cleanup_policy.keep_media = false - account_statuses_cleanup_policy.keep_self_fav = false - account_statuses_cleanup_policy.keep_self_bookmark = true - end + before { establish_policy(keep_self_bookmark: true) } it 'returns every old status but does not return the old self-bookmarked message for deletion' do expect(subject.pluck(:id)) @@ -373,14 +359,7 @@ end context 'when policy is set to keep self-faved toots and reject everything else' do - before do - account_statuses_cleanup_policy.keep_direct = false - account_statuses_cleanup_policy.keep_pinned = false - account_statuses_cleanup_policy.keep_polls = false - account_statuses_cleanup_policy.keep_media = false - account_statuses_cleanup_policy.keep_self_fav = true - account_statuses_cleanup_policy.keep_self_bookmark = false - end + before { establish_policy(keep_self_fav: true) } it 'returns every old status but does not return the old self-faved message for deletion' do expect(subject.pluck(:id)) @@ -390,14 +369,7 @@ end context 'when policy is set to keep toots with media and reject everything else' do - before do - account_statuses_cleanup_policy.keep_direct = false - account_statuses_cleanup_policy.keep_pinned = false - account_statuses_cleanup_policy.keep_polls = false - account_statuses_cleanup_policy.keep_media = true - account_statuses_cleanup_policy.keep_self_fav = false - account_statuses_cleanup_policy.keep_self_bookmark = false - end + before { establish_policy(keep_media: true) } it 'returns every old status but does not return the old message with media for deletion' do expect(subject.pluck(:id)) @@ -407,14 +379,7 @@ end context 'when policy is set to keep toots with polls and reject everything else' do - before do - account_statuses_cleanup_policy.keep_direct = false - account_statuses_cleanup_policy.keep_pinned = false - account_statuses_cleanup_policy.keep_polls = true - account_statuses_cleanup_policy.keep_media = false - account_statuses_cleanup_policy.keep_self_fav = false - account_statuses_cleanup_policy.keep_self_bookmark = false - end + before { establish_policy(keep_polls: true) } it 'returns every old status but does not return the old poll message for deletion' do expect(subject.pluck(:id)) @@ -424,14 +389,7 @@ end context 'when policy is set to keep pinned toots and reject everything else' do - before do - account_statuses_cleanup_policy.keep_direct = false - account_statuses_cleanup_policy.keep_pinned = true - account_statuses_cleanup_policy.keep_polls = false - account_statuses_cleanup_policy.keep_media = false - account_statuses_cleanup_policy.keep_self_fav = false - account_statuses_cleanup_policy.keep_self_bookmark = false - end + before { establish_policy(keep_pinned: true) } it 'returns every old status but does not return the old pinned message for deletion' do expect(subject.pluck(:id)) @@ -441,14 +399,7 @@ end context 'when policy is to not keep any special messages' do - before do - account_statuses_cleanup_policy.keep_direct = false - account_statuses_cleanup_policy.keep_pinned = false - account_statuses_cleanup_policy.keep_polls = false - account_statuses_cleanup_policy.keep_media = false - account_statuses_cleanup_policy.keep_self_fav = false - account_statuses_cleanup_policy.keep_self_bookmark = false - end + before { establish_policy } it 'returns every old status but does not return the recent or unrelated statuses' do expect(subject.pluck(:id)) @@ -459,14 +410,7 @@ end context 'when policy is set to keep every category of toots' do - before do - account_statuses_cleanup_policy.keep_direct = true - account_statuses_cleanup_policy.keep_pinned = true - account_statuses_cleanup_policy.keep_polls = true - account_statuses_cleanup_policy.keep_media = true - account_statuses_cleanup_policy.keep_self_fav = true - account_statuses_cleanup_policy.keep_self_bookmark = true - end + before { establish_policy(keep_direct: true, keep_pinned: true, keep_polls: true, keep_media: true, keep_self_fav: true, keep_self_bookmark: true) } it 'returns normal statuses and does not return unrelated old status' do expect(subject.pluck(:id)) @@ -502,5 +446,24 @@ .and include(very_old_status.id, faved_primary.id, reblogged_primary.id, reblogged_secondary.id) end end + + private + + def establish_policy(options = {}) + default_policy_options.merge(options).each do |attribute, value| + account_statuses_cleanup_policy.send :"#{attribute}=", value + end + end + + def default_policy_options + { + keep_direct: false, + keep_media: false, + keep_pinned: false, + keep_polls: false, + keep_self_bookmark: false, + keep_self_fav: false, + } + end end end From 15f6336cddcf342ad7c6b79e443d1a39bee3f7a1 Mon Sep 17 00:00:00 2001 From: Matt Jankowski Date: Fri, 25 Oct 2024 04:02:13 -0400 Subject: [PATCH 051/357] Simplify model validation specs for `AccountMigration` (#32494) --- spec/models/account_migration_spec.rb | 16 +++++----------- 1 file changed, 5 insertions(+), 11 deletions(-) diff --git a/spec/models/account_migration_spec.rb b/spec/models/account_migration_spec.rb index d658915ce3c4e6..b92771e8f5c737 100644 --- a/spec/models/account_migration_spec.rb +++ b/spec/models/account_migration_spec.rb @@ -9,8 +9,8 @@ end end - describe 'validations' do - subject { described_class.new(account: source_account, acct: target_acct) } + describe 'Validations' do + subject { Fabricate.build :account_migration, account: source_account } let(:source_account) { Fabricate(:account) } let(:target_acct) { target_account.acct } @@ -26,9 +26,7 @@ allow(service_double).to receive(:call).with(target_acct, anything).and_return(target_account) end - it 'passes validations' do - expect(subject).to be_valid - end + it { is_expected.to allow_value(target_account.acct).for(:acct) } end context 'with unresolvable account' do @@ -40,17 +38,13 @@ allow(service_double).to receive(:call).with(target_acct, anything).and_return(nil) end - it 'has errors on acct field' do - expect(subject).to model_have_error_on_field(:acct) - end + it { is_expected.to_not allow_value(target_acct).for(:acct) } end context 'with a space in the domain part' do let(:target_acct) { 'target@remote. org' } - it 'has errors on acct field' do - expect(subject).to model_have_error_on_field(:acct) - end + it { is_expected.to_not allow_value(target_acct).for(:acct) } end end end From 66c047151572d126b815622a6f935f4c745b625e Mon Sep 17 00:00:00 2001 From: Matt Jankowski Date: Fri, 25 Oct 2024 04:35:07 -0400 Subject: [PATCH 052/357] Enrich coverage for `IpBlock` model (#32471) --- app/models/ip_block.rb | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/app/models/ip_block.rb b/app/models/ip_block.rb index d6242efbf7db24..5ed4d2a84626d4 100644 --- a/app/models/ip_block.rb +++ b/app/models/ip_block.rb @@ -36,9 +36,14 @@ def to_log_human_identifier class << self def blocked?(remote_ip) - blocked_ips_map = Rails.cache.fetch(CACHE_KEY) { FastIpMap.new(IpBlock.where(severity: :no_access).pluck(:ip)) } blocked_ips_map.include?(remote_ip) end + + private + + def blocked_ips_map + Rails.cache.fetch(CACHE_KEY) { FastIpMap.new(severity_no_access.pluck(:ip)) } + end end private From 9464281f2964ca1d3d39f2ab72ed8f07e7900eca Mon Sep 17 00:00:00 2001 From: Matt Jankowski Date: Fri, 25 Oct 2024 04:41:24 -0400 Subject: [PATCH 053/357] Simplify model validation specs for `AccountStatusCleanupPolicy` (#32495) --- spec/models/account_statuses_cleanup_policy_spec.rb | 13 ++++++------- 1 file changed, 6 insertions(+), 7 deletions(-) diff --git a/spec/models/account_statuses_cleanup_policy_spec.rb b/spec/models/account_statuses_cleanup_policy_spec.rb index 114ebb38fe0615..9bbbefa08eb489 100644 --- a/spec/models/account_statuses_cleanup_policy_spec.rb +++ b/spec/models/account_statuses_cleanup_policy_spec.rb @@ -5,13 +5,12 @@ RSpec.describe AccountStatusesCleanupPolicy do let(:account) { Fabricate(:account, username: 'alice', domain: nil) } - describe 'validation' do - it 'disallow remote accounts' do - account.update(domain: 'example.com') - account_statuses_cleanup_policy = Fabricate.build(:account_statuses_cleanup_policy, account: account) - account_statuses_cleanup_policy.valid? - expect(account_statuses_cleanup_policy).to model_have_error_on_field(:account) - end + describe 'Validations' do + subject { Fabricate.build :account_statuses_cleanup_policy } + + let(:remote_account) { Fabricate(:account, domain: 'example.com') } + + it { is_expected.to_not allow_value(remote_account).for(:account) } end describe 'save hooks' do From 1775e151ecc93ee21c993303a6b51f89f24fd2d1 Mon Sep 17 00:00:00 2001 From: Matt Jankowski Date: Fri, 25 Oct 2024 04:42:14 -0400 Subject: [PATCH 054/357] Simplify model validation specs for `DomainAllow` (#32496) --- spec/models/domain_allow_spec.rb | 9 ++++----- 1 file changed, 4 insertions(+), 5 deletions(-) diff --git a/spec/models/domain_allow_spec.rb b/spec/models/domain_allow_spec.rb index d8f438f07eea2e..fbb324657e21b4 100644 --- a/spec/models/domain_allow_spec.rb +++ b/spec/models/domain_allow_spec.rb @@ -6,11 +6,10 @@ describe 'Validations' do it { is_expected.to validate_presence_of(:domain) } - it 'is invalid if the same normalized domain already exists' do - _domain_allow = Fabricate(:domain_allow, domain: 'にゃん') - domain_allow_with_normalized_value = Fabricate.build(:domain_allow, domain: 'xn--r9j5b5b') - domain_allow_with_normalized_value.valid? - expect(domain_allow_with_normalized_value).to model_have_error_on_field(:domain) + context 'when a normalized domain exists' do + before { Fabricate(:domain_allow, domain: 'にゃん') } + + it { is_expected.to_not allow_value('xn--r9j5b5b').for(:domain) } end end end From 0970cf818a5791206872703be8edcc9edb07edac Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Fri, 25 Oct 2024 11:04:53 +0200 Subject: [PATCH 055/357] Update dependency pg to v1.5.9 (#32655) 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 f5264e8db233d4..cf60b23bc94708 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -591,7 +591,7 @@ GEM parslet (2.0.0) pastel (0.8.0) tty-color (~> 0.5) - pg (1.5.8) + pg (1.5.9) pghero (3.6.1) activerecord (>= 6.1) premailer (1.27.0) From 097942a291913b984e7bf86403e7506e52ce6dca Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Fri, 25 Oct 2024 11:15:22 +0200 Subject: [PATCH 056/357] Update dependency pg to v8.13.1 (#32650) 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 baf0dec9efbdd3..96c30cfe793cdd 100644 --- a/yarn.lock +++ b/yarn.lock @@ -12971,8 +12971,8 @@ __metadata: linkType: hard "pg@npm:^8.5.0": - version: 8.13.0 - resolution: "pg@npm:8.13.0" + version: 8.13.1 + resolution: "pg@npm:8.13.1" dependencies: pg-cloudflare: "npm:^1.1.1" pg-connection-string: "npm:^2.7.0" @@ -12988,7 +12988,7 @@ __metadata: peerDependenciesMeta: pg-native: optional: true - checksum: 10c0/1521189063d2293d62f3fac61e797a3096a62a69668c223827d00b83c17a320805f31f0b5316feb80f8d9eed0c6c32f95146d8aca866af05816a66fd2ba8e32a + checksum: 10c0/c13bc661cbdb115337bc8519254836faf4bd79106dfd7ed588c8ece8c8b2dd3b7376bfec9a9a2f7646fa095b0b310cec77a83c3ba2ea4872331446eb93fd9055 languageName: node linkType: hard From 5f58357bbe73fde0ca9b0e0c07b35117bc6d2f96 Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Fri, 25 Oct 2024 11:15:46 +0200 Subject: [PATCH 057/357] Update opentelemetry-ruby (non-major) (#32631) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> --- Gemfile | 4 ++-- Gemfile.lock | 16 ++++++++-------- 2 files changed, 10 insertions(+), 10 deletions(-) diff --git a/Gemfile b/Gemfile index 104fd266b8237f..6f4559b00f9f05 100644 --- a/Gemfile +++ b/Gemfile @@ -111,8 +111,8 @@ group :opentelemetry do gem 'opentelemetry-instrumentation-http_client', '~> 0.22.3', require: false gem 'opentelemetry-instrumentation-net_http', '~> 0.22.4', require: false gem 'opentelemetry-instrumentation-pg', '~> 0.29.0', require: false - gem 'opentelemetry-instrumentation-rack', '~> 0.24.1', require: false - gem 'opentelemetry-instrumentation-rails', '~> 0.31.0', require: false + gem 'opentelemetry-instrumentation-rack', '~> 0.25.0', require: false + gem 'opentelemetry-instrumentation-rails', '~> 0.32.0', require: false gem 'opentelemetry-instrumentation-redis', '~> 0.25.3', require: false gem 'opentelemetry-instrumentation-sidekiq', '~> 0.25.2', require: false gem 'opentelemetry-sdk', '~> 1.4', require: false diff --git a/Gemfile.lock b/Gemfile.lock index cf60b23bc94708..8421f06588d292 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -504,7 +504,7 @@ GEM opentelemetry-semantic_conventions opentelemetry-helpers-sql-obfuscation (0.2.0) opentelemetry-common (~> 0.21) - opentelemetry-instrumentation-action_mailer (0.1.0) + opentelemetry-instrumentation-action_mailer (0.2.0) opentelemetry-api (~> 1.0) opentelemetry-instrumentation-active_support (~> 0.1) opentelemetry-instrumentation-base (~> 0.22.1) @@ -522,7 +522,7 @@ GEM opentelemetry-instrumentation-active_model_serializers (0.20.2) opentelemetry-api (~> 1.0) opentelemetry-instrumentation-base (~> 0.22.1) - opentelemetry-instrumentation-active_record (0.7.3) + opentelemetry-instrumentation-active_record (0.8.0) opentelemetry-api (~> 1.0) opentelemetry-instrumentation-base (~> 0.22.1) opentelemetry-instrumentation-active_support (0.6.0) @@ -554,16 +554,16 @@ GEM opentelemetry-api (~> 1.0) opentelemetry-helpers-sql-obfuscation opentelemetry-instrumentation-base (~> 0.22.1) - opentelemetry-instrumentation-rack (0.24.6) + opentelemetry-instrumentation-rack (0.25.0) opentelemetry-api (~> 1.0) opentelemetry-instrumentation-base (~> 0.22.1) - opentelemetry-instrumentation-rails (0.31.2) + opentelemetry-instrumentation-rails (0.32.0) opentelemetry-api (~> 1.0) - opentelemetry-instrumentation-action_mailer (~> 0.1.0) + opentelemetry-instrumentation-action_mailer (~> 0.2.0) opentelemetry-instrumentation-action_pack (~> 0.9.0) opentelemetry-instrumentation-action_view (~> 0.7.0) opentelemetry-instrumentation-active_job (~> 0.7.0) - opentelemetry-instrumentation-active_record (~> 0.7.0) + opentelemetry-instrumentation-active_record (~> 0.8.0) opentelemetry-instrumentation-active_support (~> 0.6.0) opentelemetry-instrumentation-base (~> 0.22.1) opentelemetry-instrumentation-redis (0.25.7) @@ -992,8 +992,8 @@ DEPENDENCIES opentelemetry-instrumentation-http_client (~> 0.22.3) opentelemetry-instrumentation-net_http (~> 0.22.4) opentelemetry-instrumentation-pg (~> 0.29.0) - opentelemetry-instrumentation-rack (~> 0.24.1) - opentelemetry-instrumentation-rails (~> 0.31.0) + opentelemetry-instrumentation-rack (~> 0.25.0) + opentelemetry-instrumentation-rails (~> 0.32.0) opentelemetry-instrumentation-redis (~> 0.25.3) opentelemetry-instrumentation-sidekiq (~> 0.25.2) opentelemetry-sdk (~> 1.4) From 60b0ad07714ecd4a361a47559e72ced43453cb4b Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Fri, 25 Oct 2024 09:17:22 +0000 Subject: [PATCH 058/357] Update dependency postcss-preset-env to v10.0.8 (#32647) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> --- yarn.lock | 521 ++++++++++++++++++++++++++++-------------------------- 1 file changed, 270 insertions(+), 251 deletions(-) diff --git a/yarn.lock b/yarn.lock index 96c30cfe793cdd..3951c1c8cbd0e9 100644 --- a/yarn.lock +++ b/yarn.lock @@ -1462,13 +1462,13 @@ __metadata: languageName: node linkType: hard -"@csstools/cascade-layer-name-parser@npm:^2.0.2": - version: 2.0.2 - resolution: "@csstools/cascade-layer-name-parser@npm:2.0.2" +"@csstools/cascade-layer-name-parser@npm:^2.0.3": + version: 2.0.3 + resolution: "@csstools/cascade-layer-name-parser@npm:2.0.3" peerDependencies: - "@csstools/css-parser-algorithms": ^3.0.2 + "@csstools/css-parser-algorithms": ^3.0.3 "@csstools/css-tokenizer": ^3.0.2 - checksum: 10c0/2cc840445328400bb3e1e4186e6081e6519a23d9abde36a16c95892b6ad75155b3af3410d79fdda1c53a068384f970cabff4b5f5ba6867578168cbd3419016c8 + checksum: 10c0/a0f0d6c94122d0a82b0da94ee2619915a9e6e98211de6e1f28afebe34332a29cab1b7905a34b6e5c1df30a125df9f9860ce5fa960c676484417d4ef2c4db4757 languageName: node linkType: hard @@ -1479,35 +1479,35 @@ __metadata: languageName: node linkType: hard -"@csstools/css-calc@npm:^2.0.2": - version: 2.0.2 - resolution: "@csstools/css-calc@npm:2.0.2" +"@csstools/css-calc@npm:^2.0.3": + version: 2.0.3 + resolution: "@csstools/css-calc@npm:2.0.3" peerDependencies: - "@csstools/css-parser-algorithms": ^3.0.2 + "@csstools/css-parser-algorithms": ^3.0.3 "@csstools/css-tokenizer": ^3.0.2 - checksum: 10c0/b36e655b4abc8ea39b300725e33cd43b1875d759dd60bee8155bf7841065615a7f24cf53199382e30aa10bb137f64021043e4af7e11b7199b674a6e6cf3ccd01 + checksum: 10c0/a3dacda66bde67edab0f2384e85462dcd46b5bb62bc2a6396f0577a006d9ad59eae270353cbd6fe1a5f7081d0546fe4b1fd9b2df242758da54ec8b7022296570 languageName: node linkType: hard -"@csstools/css-color-parser@npm:^3.0.3": - version: 3.0.3 - resolution: "@csstools/css-color-parser@npm:3.0.3" +"@csstools/css-color-parser@npm:^3.0.4": + version: 3.0.4 + resolution: "@csstools/css-color-parser@npm:3.0.4" dependencies: "@csstools/color-helpers": "npm:^5.0.1" - "@csstools/css-calc": "npm:^2.0.2" + "@csstools/css-calc": "npm:^2.0.3" peerDependencies: - "@csstools/css-parser-algorithms": ^3.0.2 + "@csstools/css-parser-algorithms": ^3.0.3 "@csstools/css-tokenizer": ^3.0.2 - checksum: 10c0/02367ffc222254132c47f9cbc856f65fe0b81ee4a5e7381251b95c4064138b5ed99a5e5a79c0c8689f9e75e3d900f94773258a161a97f467c3f0420838c10e04 + checksum: 10c0/8f05264254d3768e45e46ce10e9355fe8ca0f6e4d2f648a22572f46c6d05b2378c37c2e5d970ed3b7bdfa0b152ea2af0c56a0556249bd85973aee9db7b091aa7 languageName: node linkType: hard -"@csstools/css-parser-algorithms@npm:^3.0.1, @csstools/css-parser-algorithms@npm:^3.0.2": - version: 3.0.2 - resolution: "@csstools/css-parser-algorithms@npm:3.0.2" +"@csstools/css-parser-algorithms@npm:^3.0.1, @csstools/css-parser-algorithms@npm:^3.0.3": + version: 3.0.3 + resolution: "@csstools/css-parser-algorithms@npm:3.0.3" peerDependencies: "@csstools/css-tokenizer": ^3.0.2 - checksum: 10c0/246afbf518ee9eaa24ed7f083360eb66884f1172fd4f8c663bff8c6099de2a8abd1e2a31d5b6fe42e010277d238469d780cff62bc7fdc6a52e7a90626b8924dc + checksum: 10c0/c1e634384affb10c3726a36f090867247005a2a470cb223de88debeab07921b78c0e7875e7847d90949c2b0ba88a290c71565f1839f7739c21a5bf1c870e137d languageName: node linkType: hard @@ -1528,82 +1528,82 @@ __metadata: languageName: node linkType: hard -"@csstools/media-query-list-parser@npm:^4.0.0": - version: 4.0.0 - resolution: "@csstools/media-query-list-parser@npm:4.0.0" +"@csstools/media-query-list-parser@npm:^4.0.1": + version: 4.0.1 + resolution: "@csstools/media-query-list-parser@npm:4.0.1" peerDependencies: - "@csstools/css-parser-algorithms": ^3.0.2 + "@csstools/css-parser-algorithms": ^3.0.3 "@csstools/css-tokenizer": ^3.0.2 - checksum: 10c0/416417bcfd84c18a2df8dc77f31c87830e151dc20530fe7f0d8f13a0848b1a9090858abdf7792d82bf2edb41ddedb7b57b34eb78b68b5c10755ae02c019e496a + checksum: 10c0/037f57520b6ca7d58ba1d71a477bd99bdbe3a6d8e7b972ed0f436d649e574f5b429e54fc47d0272daa2ac24ffb819bd9d260a90e154c4a265b8ee4d1cfb1d279 languageName: node linkType: hard -"@csstools/postcss-cascade-layers@npm:^5.0.0": - version: 5.0.0 - resolution: "@csstools/postcss-cascade-layers@npm:5.0.0" +"@csstools/postcss-cascade-layers@npm:^5.0.1": + version: 5.0.1 + resolution: "@csstools/postcss-cascade-layers@npm:5.0.1" dependencies: - "@csstools/selector-specificity": "npm:^4.0.0" - postcss-selector-parser: "npm:^6.1.0" + "@csstools/selector-specificity": "npm:^5.0.0" + postcss-selector-parser: "npm:^7.0.0" peerDependencies: postcss: ^8.4 - checksum: 10c0/b608c69c12671682676598e451dcd79bfc6f5030a4e17b4d1bf9659e531f1daf03526be023f9aafdc952ecc87c87b04f379a763309e3eadb2140572cd4aa5b60 + checksum: 10c0/5cc3c6f220d9216f7ab16e716a20d6db845f127c917521e6236342bfa871accd63eb662a04c1e24a28e396412dcb47b1c4abccc490b88e4010cd704d14a702f1 languageName: node linkType: hard -"@csstools/postcss-color-function@npm:^4.0.3": - version: 4.0.3 - resolution: "@csstools/postcss-color-function@npm:4.0.3" +"@csstools/postcss-color-function@npm:^4.0.4": + version: 4.0.4 + resolution: "@csstools/postcss-color-function@npm:4.0.4" dependencies: - "@csstools/css-color-parser": "npm:^3.0.3" - "@csstools/css-parser-algorithms": "npm:^3.0.2" + "@csstools/css-color-parser": "npm:^3.0.4" + "@csstools/css-parser-algorithms": "npm:^3.0.3" "@csstools/css-tokenizer": "npm:^3.0.2" "@csstools/postcss-progressive-custom-properties": "npm:^4.0.0" "@csstools/utilities": "npm:^2.0.0" peerDependencies: postcss: ^8.4 - checksum: 10c0/c994660ca0e2652755d9ad181c8cb46a07220c972086c97c843fa9bacf690be10c642770f898aeec4acc47c2b718dfc7372107285a678361f34d84d9e9c11e0c + checksum: 10c0/e7735c6d7c84f039c84dc1b180410aa4db7c404d55477c2e7872bc8306a3150bf37883583ec080ebd8b40b765f700cc78892d61dc167578f76e324543d551c04 languageName: node linkType: hard -"@csstools/postcss-color-mix-function@npm:^3.0.3": - version: 3.0.3 - resolution: "@csstools/postcss-color-mix-function@npm:3.0.3" +"@csstools/postcss-color-mix-function@npm:^3.0.4": + version: 3.0.4 + resolution: "@csstools/postcss-color-mix-function@npm:3.0.4" dependencies: - "@csstools/css-color-parser": "npm:^3.0.3" - "@csstools/css-parser-algorithms": "npm:^3.0.2" + "@csstools/css-color-parser": "npm:^3.0.4" + "@csstools/css-parser-algorithms": "npm:^3.0.3" "@csstools/css-tokenizer": "npm:^3.0.2" "@csstools/postcss-progressive-custom-properties": "npm:^4.0.0" "@csstools/utilities": "npm:^2.0.0" peerDependencies: postcss: ^8.4 - checksum: 10c0/4ba358eb9030fc485bfe2922d897eeb712725762cc399eaba60ba665c84dc3e56a4d5a52dfb320093c0b217d32fedb9b5197fa45738cade53d9afcbefdadf04f + checksum: 10c0/3e01f04853e49c9f69ee0538b817209b630649844039ee5b195cfbae94d41cf6e0d8a50a3d02dbe066f84855eefa1b7047f6750e4744858519978468577e567f languageName: node linkType: hard -"@csstools/postcss-content-alt-text@npm:^2.0.2": - version: 2.0.2 - resolution: "@csstools/postcss-content-alt-text@npm:2.0.2" +"@csstools/postcss-content-alt-text@npm:^2.0.3": + version: 2.0.3 + resolution: "@csstools/postcss-content-alt-text@npm:2.0.3" dependencies: - "@csstools/css-parser-algorithms": "npm:^3.0.2" + "@csstools/css-parser-algorithms": "npm:^3.0.3" "@csstools/css-tokenizer": "npm:^3.0.2" "@csstools/postcss-progressive-custom-properties": "npm:^4.0.0" "@csstools/utilities": "npm:^2.0.0" peerDependencies: postcss: ^8.4 - checksum: 10c0/e52d40f6567b9b23b32a6c40f9b2a74d57f99a9921b4cae015f51f72453474236c760bb13120682f8815698a615e0ad7bed22314c29dca89c34b5480d83a7a6d + checksum: 10c0/0389292a1ba11483f58db1bdd38cc774b0ec18c73f03d1db5f4a1f38edc861bb8b8d750b5c5b3615a98aaf995c0464dcfd6db5421888be0f868548c69455b5b3 languageName: node linkType: hard -"@csstools/postcss-exponential-functions@npm:^2.0.2": - version: 2.0.2 - resolution: "@csstools/postcss-exponential-functions@npm:2.0.2" +"@csstools/postcss-exponential-functions@npm:^2.0.3": + version: 2.0.3 + resolution: "@csstools/postcss-exponential-functions@npm:2.0.3" dependencies: - "@csstools/css-calc": "npm:^2.0.2" - "@csstools/css-parser-algorithms": "npm:^3.0.2" + "@csstools/css-calc": "npm:^2.0.3" + "@csstools/css-parser-algorithms": "npm:^3.0.3" "@csstools/css-tokenizer": "npm:^3.0.2" peerDependencies: postcss: ^8.4 - checksum: 10c0/034ff89089872f63a6b00bda670c5ff11361babd221ed3e441dde969a718059e5d44ab0ed331868f137bb205331b808ecbcc4cb641d5c945238ebca28aa3ed59 + checksum: 10c0/690ac6c5ec72e085160401100cc8465a040fd70d59efadf61ef767094edac28bbb2653f53ea7cfa47d8220d0be0b9e23c3e3c2b80d9e93ad07b1db8031163d70 languageName: node linkType: hard @@ -1619,46 +1619,46 @@ __metadata: languageName: node linkType: hard -"@csstools/postcss-gamut-mapping@npm:^2.0.3": - version: 2.0.3 - resolution: "@csstools/postcss-gamut-mapping@npm:2.0.3" +"@csstools/postcss-gamut-mapping@npm:^2.0.4": + version: 2.0.4 + resolution: "@csstools/postcss-gamut-mapping@npm:2.0.4" dependencies: - "@csstools/css-color-parser": "npm:^3.0.3" - "@csstools/css-parser-algorithms": "npm:^3.0.2" + "@csstools/css-color-parser": "npm:^3.0.4" + "@csstools/css-parser-algorithms": "npm:^3.0.3" "@csstools/css-tokenizer": "npm:^3.0.2" peerDependencies: postcss: ^8.4 - checksum: 10c0/21f5708f63e9c3b7603f8b72b5f288e0a021e9710a6abf4aaa713ff4d04bae057d1861e1f28d7670ea39ba463ac04f1507876d4a11178934e7cc7a1c6a780084 + checksum: 10c0/60c6ff13cc71a0cda7ce184fa8b42924975f2bd05e3bc096059de853ae01d48e36f27d02d7e6286d9e8c4eb4dfd526f7c302ff51be19c5f7949dd6079915a3a9 languageName: node linkType: hard -"@csstools/postcss-gradients-interpolation-method@npm:^5.0.3": - version: 5.0.3 - resolution: "@csstools/postcss-gradients-interpolation-method@npm:5.0.3" +"@csstools/postcss-gradients-interpolation-method@npm:^5.0.4": + version: 5.0.4 + resolution: "@csstools/postcss-gradients-interpolation-method@npm:5.0.4" dependencies: - "@csstools/css-color-parser": "npm:^3.0.3" - "@csstools/css-parser-algorithms": "npm:^3.0.2" + "@csstools/css-color-parser": "npm:^3.0.4" + "@csstools/css-parser-algorithms": "npm:^3.0.3" "@csstools/css-tokenizer": "npm:^3.0.2" "@csstools/postcss-progressive-custom-properties": "npm:^4.0.0" "@csstools/utilities": "npm:^2.0.0" peerDependencies: postcss: ^8.4 - checksum: 10c0/062d27148438309c940a1973bfc7d42a06caa9397bf2382c7a61979f5be3d6f3fae1bc8ddf94d2dd8e6c807e0530a9e76179510266aaddc439677bf79447a765 + checksum: 10c0/3b6aa4404851be09a083f35b596acc7e3f74f525386dcd2887720438638ca1893f79e699e5dad0e3a35487cb9527e08d0dcd29f1331f87800f53c13423321d6e languageName: node linkType: hard -"@csstools/postcss-hwb-function@npm:^4.0.3": - version: 4.0.3 - resolution: "@csstools/postcss-hwb-function@npm:4.0.3" +"@csstools/postcss-hwb-function@npm:^4.0.4": + version: 4.0.4 + resolution: "@csstools/postcss-hwb-function@npm:4.0.4" dependencies: - "@csstools/css-color-parser": "npm:^3.0.3" - "@csstools/css-parser-algorithms": "npm:^3.0.2" + "@csstools/css-color-parser": "npm:^3.0.4" + "@csstools/css-parser-algorithms": "npm:^3.0.3" "@csstools/css-tokenizer": "npm:^3.0.2" "@csstools/postcss-progressive-custom-properties": "npm:^4.0.0" "@csstools/utilities": "npm:^2.0.0" peerDependencies: postcss: ^8.4 - checksum: 10c0/faf2bfbafeec765391e37c7a5cbc7b4647d9ab1ffa51e922c7dfffa545c3d436d15604dfdfb9d7684e760042e62bb42e0243dd4ebd8c3c14694a9f7be4e57b30 + checksum: 10c0/2460cc7e6324f0793d12976de175ff33344c3410ff7a04ca8a5ce0560ee3354d1d8034f9f07c0759c2b7e222a4681d02298f6a29c2a326c76b33060830da83b4 languageName: node linkType: hard @@ -1684,29 +1684,29 @@ __metadata: languageName: node linkType: hard -"@csstools/postcss-is-pseudo-class@npm:^5.0.0": - version: 5.0.0 - resolution: "@csstools/postcss-is-pseudo-class@npm:5.0.0" +"@csstools/postcss-is-pseudo-class@npm:^5.0.1": + version: 5.0.1 + resolution: "@csstools/postcss-is-pseudo-class@npm:5.0.1" dependencies: - "@csstools/selector-specificity": "npm:^4.0.0" - postcss-selector-parser: "npm:^6.1.0" + "@csstools/selector-specificity": "npm:^5.0.0" + postcss-selector-parser: "npm:^7.0.0" peerDependencies: postcss: ^8.4 - checksum: 10c0/738eb84728b24bfe19ca06ccf6ff773a423552df2f31c87704ce79da4abfd2ccf2a45d5d6d3e11e71e42cc3d92eb35a856209b9cd6116c879acf15ac75454683 + checksum: 10c0/3aaab18ebb2dcf5565efa79813eaa987d40de1e086765358524392a09631c68ad1ee952e6aff8f42513b2c18ab84891787e065fe287f696128498fc641520b6c languageName: node linkType: hard -"@csstools/postcss-light-dark-function@npm:^2.0.5": - version: 2.0.5 - resolution: "@csstools/postcss-light-dark-function@npm:2.0.5" +"@csstools/postcss-light-dark-function@npm:^2.0.6": + version: 2.0.6 + resolution: "@csstools/postcss-light-dark-function@npm:2.0.6" dependencies: - "@csstools/css-parser-algorithms": "npm:^3.0.2" + "@csstools/css-parser-algorithms": "npm:^3.0.3" "@csstools/css-tokenizer": "npm:^3.0.2" "@csstools/postcss-progressive-custom-properties": "npm:^4.0.0" "@csstools/utilities": "npm:^2.0.0" peerDependencies: postcss: ^8.4 - checksum: 10c0/80635ee312d2a8f42aa5ce6792f1dc4a71199c384c66a3270d37e998d96db55beaa6836d689cda3b7e4828227960582fae04659ba5e4e0f64fd4543cbf15c6ab + checksum: 10c0/f3e93b58a23f0f01c9d032a892070a18e3393e60997e1d2b57c5bddb2cb36f7ee6cbaeaeb3d531b065a545a03e54d86567d34b45eddf85ed48ac360eb4ab66cd languageName: node linkType: hard @@ -1760,30 +1760,30 @@ __metadata: languageName: node linkType: hard -"@csstools/postcss-media-minmax@npm:^2.0.2": - version: 2.0.2 - resolution: "@csstools/postcss-media-minmax@npm:2.0.2" +"@csstools/postcss-media-minmax@npm:^2.0.3": + version: 2.0.3 + resolution: "@csstools/postcss-media-minmax@npm:2.0.3" dependencies: - "@csstools/css-calc": "npm:^2.0.2" - "@csstools/css-parser-algorithms": "npm:^3.0.2" + "@csstools/css-calc": "npm:^2.0.3" + "@csstools/css-parser-algorithms": "npm:^3.0.3" "@csstools/css-tokenizer": "npm:^3.0.2" - "@csstools/media-query-list-parser": "npm:^4.0.0" + "@csstools/media-query-list-parser": "npm:^4.0.1" peerDependencies: postcss: ^8.4 - checksum: 10c0/83cf10742884fca3baa7ae26e2cb34123ce5a022622390566c139b4587ea8583fab00acbb85545786b36398e2201d2a94301e0fae805e55f375f1b5c38f67ce8 + checksum: 10c0/87c1ed6fe6ed487125e383ae7bc356ba0f68885c41cd129b85c323af69255031a8ac7b2e994d4f9b6b65d6a9f6833aeb1301ca230b592547825aedb3e3acab4b languageName: node linkType: hard -"@csstools/postcss-media-queries-aspect-ratio-number-values@npm:^3.0.2": - version: 3.0.2 - resolution: "@csstools/postcss-media-queries-aspect-ratio-number-values@npm:3.0.2" +"@csstools/postcss-media-queries-aspect-ratio-number-values@npm:^3.0.3": + version: 3.0.3 + resolution: "@csstools/postcss-media-queries-aspect-ratio-number-values@npm:3.0.3" dependencies: - "@csstools/css-parser-algorithms": "npm:^3.0.2" + "@csstools/css-parser-algorithms": "npm:^3.0.3" "@csstools/css-tokenizer": "npm:^3.0.2" - "@csstools/media-query-list-parser": "npm:^4.0.0" + "@csstools/media-query-list-parser": "npm:^4.0.1" peerDependencies: postcss: ^8.4 - checksum: 10c0/3ac4073d2e958bfb24ae45f673070dd805f0fcf07bc8d00a9a98f596d1096e7be282c8d8e87df3abde90f33fcbe2c7705e972b8c1a58e43ec44729f470b76096 + checksum: 10c0/3bbadd5c79ff2102b4a2e0f107d7f3cbb89d2840b935915531d0a1bfc711d58386e6e234fccb9b4abb37e48f07cdfaa4dd66b5c795dfac9e317fa8b5cfd38e06 languageName: node linkType: hard @@ -1810,18 +1810,18 @@ __metadata: languageName: node linkType: hard -"@csstools/postcss-oklab-function@npm:^4.0.3": - version: 4.0.3 - resolution: "@csstools/postcss-oklab-function@npm:4.0.3" +"@csstools/postcss-oklab-function@npm:^4.0.4": + version: 4.0.4 + resolution: "@csstools/postcss-oklab-function@npm:4.0.4" dependencies: - "@csstools/css-color-parser": "npm:^3.0.3" - "@csstools/css-parser-algorithms": "npm:^3.0.2" + "@csstools/css-color-parser": "npm:^3.0.4" + "@csstools/css-parser-algorithms": "npm:^3.0.3" "@csstools/css-tokenizer": "npm:^3.0.2" "@csstools/postcss-progressive-custom-properties": "npm:^4.0.0" "@csstools/utilities": "npm:^2.0.0" peerDependencies: postcss: ^8.4 - checksum: 10c0/650bcb4f664308972588a8f789f806d63c4069e2e008cfc3b5c80bf9df992c62972dce279b8f434c7f78823e97095942ee4f0e37bc549258887213e72acb7ef8 + checksum: 10c0/4fd2a5c22ebaf69053e005d9d009ccb41b6879f0246677159bfb6a28208e90af857446c443d34fe3efdaf50bccdd67b16fcd0c1e7c52961396a48bd84e45311f languageName: node linkType: hard @@ -1836,42 +1836,42 @@ __metadata: languageName: node linkType: hard -"@csstools/postcss-relative-color-syntax@npm:^3.0.3": - version: 3.0.3 - resolution: "@csstools/postcss-relative-color-syntax@npm:3.0.3" +"@csstools/postcss-relative-color-syntax@npm:^3.0.4": + version: 3.0.4 + resolution: "@csstools/postcss-relative-color-syntax@npm:3.0.4" dependencies: - "@csstools/css-color-parser": "npm:^3.0.3" - "@csstools/css-parser-algorithms": "npm:^3.0.2" + "@csstools/css-color-parser": "npm:^3.0.4" + "@csstools/css-parser-algorithms": "npm:^3.0.3" "@csstools/css-tokenizer": "npm:^3.0.2" "@csstools/postcss-progressive-custom-properties": "npm:^4.0.0" "@csstools/utilities": "npm:^2.0.0" peerDependencies: postcss: ^8.4 - checksum: 10c0/c241fe6b725d775f6d2085be1dff3868d189b176fa91ab1eb1133e30e30c8151bded4e50d17a845edd0bdd0a7adf9e8883cb2634fea3394872591fe9ad2a7e86 + checksum: 10c0/f2ae6f9053e976e2431d08bdc5aa40ca5242754e23370abdfd7b6087d7ed56037e46911d1be801cf7e760aa8aee94bcab6a46f4f68696cf6befacf707c1534b7 languageName: node linkType: hard -"@csstools/postcss-scope-pseudo-class@npm:^4.0.0": - version: 4.0.0 - resolution: "@csstools/postcss-scope-pseudo-class@npm:4.0.0" +"@csstools/postcss-scope-pseudo-class@npm:^4.0.1": + version: 4.0.1 + resolution: "@csstools/postcss-scope-pseudo-class@npm:4.0.1" dependencies: - postcss-selector-parser: "npm:^6.1.0" + postcss-selector-parser: "npm:^7.0.0" peerDependencies: postcss: ^8.4 - checksum: 10c0/a6f562df1417c6f257c0fec95babf4cea99a25622573a2dbcfb416e2fcb8e1e53561127f5e7277d19fcb2a4603bdbc64dd6a4c416429623503c604050c99229a + checksum: 10c0/6a0ca50fae655f4498200d1ce298ca794c85fbe2e3fd5d6419843254f055df5007a973e09b5f1e78e376c02b54278e411516c8d824300c68b265d3e5b311d7ee languageName: node linkType: hard -"@csstools/postcss-stepped-value-functions@npm:^4.0.2": - version: 4.0.2 - resolution: "@csstools/postcss-stepped-value-functions@npm:4.0.2" +"@csstools/postcss-stepped-value-functions@npm:^4.0.3": + version: 4.0.3 + resolution: "@csstools/postcss-stepped-value-functions@npm:4.0.3" dependencies: - "@csstools/css-calc": "npm:^2.0.2" - "@csstools/css-parser-algorithms": "npm:^3.0.2" + "@csstools/css-calc": "npm:^2.0.3" + "@csstools/css-parser-algorithms": "npm:^3.0.3" "@csstools/css-tokenizer": "npm:^3.0.2" peerDependencies: postcss: ^8.4 - checksum: 10c0/444a27d725bc7a8e1554469e8ac69e248ff525b728fbe058523b0f1aefcff80ca707f543d21fead0a22d51603b1669190fb01f0f2dcd599a01768a37e0d62bc3 + checksum: 10c0/31af5a650d4b2de97d3a3ef77e7ad0777b3f013f7463e23455ac31ffc946d2f79f365a1fdead52c7c535176232ab57f6f086ecdbeca1bb0b250161b1302e8c8c languageName: node linkType: hard @@ -1887,16 +1887,16 @@ __metadata: languageName: node linkType: hard -"@csstools/postcss-trigonometric-functions@npm:^4.0.2": - version: 4.0.2 - resolution: "@csstools/postcss-trigonometric-functions@npm:4.0.2" +"@csstools/postcss-trigonometric-functions@npm:^4.0.3": + version: 4.0.3 + resolution: "@csstools/postcss-trigonometric-functions@npm:4.0.3" dependencies: - "@csstools/css-calc": "npm:^2.0.2" - "@csstools/css-parser-algorithms": "npm:^3.0.2" + "@csstools/css-calc": "npm:^2.0.3" + "@csstools/css-parser-algorithms": "npm:^3.0.3" "@csstools/css-tokenizer": "npm:^3.0.2" peerDependencies: postcss: ^8.4 - checksum: 10c0/eaecb2ea891162e4fcbbccf4f660c99e9e59f21937b70fe6aec3b51441eff2a12c1a2dc13fff426722629a7929919fd866311eaa68d74ee9d1f5387a23502fe2 + checksum: 10c0/a13dd72c00e45e6db16c03e135f1cd1b2b412e83b7681696b49feef3a4c36ab80f5f806f3589d33405e2d14dd0dfb13572ec12007ebe3d294077b0bd3d645b2b languageName: node linkType: hard @@ -1909,12 +1909,12 @@ __metadata: languageName: node linkType: hard -"@csstools/selector-resolve-nested@npm:^2.0.0": - version: 2.0.0 - resolution: "@csstools/selector-resolve-nested@npm:2.0.0" +"@csstools/selector-resolve-nested@npm:^3.0.0": + version: 3.0.0 + resolution: "@csstools/selector-resolve-nested@npm:3.0.0" peerDependencies: - postcss-selector-parser: ^6.1.0 - checksum: 10c0/10516fd1db5e0a3963063caa57d24eeb1d1f69fcb63f0b5aec5d7a44f8b36ff07b1eded3012e8a9b92fc1f484e1a5a9def0cf57d788aa7f944ee79877837cc77 + postcss-selector-parser: ^7.0.0 + checksum: 10c0/2b01c36b3fa81388d5bddd8db962766465d76b021a815c8bb5a48c3a42c530154cc155fc496707ade627dbba6745eb8ecd9fa840c1972133c0f7d8811e0a959d languageName: node linkType: hard @@ -1927,6 +1927,15 @@ __metadata: languageName: node linkType: hard +"@csstools/selector-specificity@npm:^5.0.0": + version: 5.0.0 + resolution: "@csstools/selector-specificity@npm:5.0.0" + peerDependencies: + postcss-selector-parser: ^7.0.0 + checksum: 10c0/186b444cabcdcdeb553bfe021f80c58bfe9ef38dcc444f2b1f34a5aab9be063ab4e753022b2d5792049c041c28cfbb78e4b707ec398459300e402030d35c07eb + languageName: node + linkType: hard + "@csstools/utilities@npm:^2.0.0": version: 2.0.0 resolution: "@csstools/utilities@npm:2.0.0" @@ -6493,14 +6502,14 @@ __metadata: languageName: node linkType: hard -"css-blank-pseudo@npm:^7.0.0": - version: 7.0.0 - resolution: "css-blank-pseudo@npm:7.0.0" +"css-blank-pseudo@npm:^7.0.1": + version: 7.0.1 + resolution: "css-blank-pseudo@npm:7.0.1" dependencies: - postcss-selector-parser: "npm:^6.1.0" + postcss-selector-parser: "npm:^7.0.0" peerDependencies: postcss: ^8.4 - checksum: 10c0/74c6c0af773a8d2c8c5a53bcfc2b2c06f9c3fd4a8bd756b7aafc102b91a1060b179a4f0aa21475b54685b62bfd9724fee90778dd992b42e0cd3ea3698132af92 + checksum: 10c0/46c3d3a611972fdb0c264db7c0b34fe437bc4300961d11945145cf04962f52a545a6ef55bc8ff4afd82b605bd692b4970f2b54582616dea00441105e725d4618 languageName: node linkType: hard @@ -6520,16 +6529,16 @@ __metadata: languageName: node linkType: hard -"css-has-pseudo@npm:^7.0.0": - version: 7.0.0 - resolution: "css-has-pseudo@npm:7.0.0" +"css-has-pseudo@npm:^7.0.1": + version: 7.0.1 + resolution: "css-has-pseudo@npm:7.0.1" dependencies: - "@csstools/selector-specificity": "npm:^4.0.0" - postcss-selector-parser: "npm:^6.1.0" + "@csstools/selector-specificity": "npm:^5.0.0" + postcss-selector-parser: "npm:^7.0.0" postcss-value-parser: "npm:^4.2.0" peerDependencies: postcss: ^8.4 - checksum: 10c0/2c72602ca9bcdb3afe2cce3b014e7dd17548658904c17560042ebf4bd6727b1ed8706961b1f44bff43bbdb8dc932c30a0b29f536c353df858e300e68e163b872 + checksum: 10c0/13789b08b70169204be786d652190356ace9313099d3656bd2fc38afbdd28f3d9620f0e0b07425480961b7a1ec789794961d0472f205b959d3f64c9a78ce511c languageName: node linkType: hard @@ -6665,10 +6674,10 @@ __metadata: languageName: node linkType: hard -"cssdb@npm:^8.1.1": - version: 8.1.1 - resolution: "cssdb@npm:8.1.1" - checksum: 10c0/d60facfad3bca70e21100fc35b9205cb9d3d0ac642f44f0a687e54bf787f21c43d28ce2d17fcd405f67950fb4709516108fe1f3cb15df570eff1007b5fbbc787 +"cssdb@npm:^8.1.2": + version: 8.1.2 + resolution: "cssdb@npm:8.1.2" + checksum: 10c0/056149e713a78921f56d9ef0cd734577cedb93c27966c3d0eab01956a2aa8d3c260a911766064b57ded8b4d9c55dd5275626cbb022ccd8d2d0b93b53fefd1603 languageName: node linkType: hard @@ -13184,14 +13193,14 @@ __metadata: languageName: node linkType: hard -"postcss-attribute-case-insensitive@npm:^7.0.0": - version: 7.0.0 - resolution: "postcss-attribute-case-insensitive@npm:7.0.0" +"postcss-attribute-case-insensitive@npm:^7.0.1": + version: 7.0.1 + resolution: "postcss-attribute-case-insensitive@npm:7.0.1" dependencies: - postcss-selector-parser: "npm:^6.1.0" + postcss-selector-parser: "npm:^7.0.0" peerDependencies: postcss: ^8.4 - checksum: 10c0/ce2a96bc29f59a6113953f1f72bfa2d4d34e54b194ff4d49aad0d548aa738835afaf479f22060a2605952b842f63aeae278b44e41f8f3a05731df28d08e2df97 + checksum: 10c0/48945abe2024e2d2e4c37d30b8c1aaf37af720f24f6a996f7ea7e7ed33621f5c22cf247ed22028c0c922de040c58c0802729bc39b903cb1693f4b63c0b49da34 languageName: node linkType: hard @@ -13218,18 +13227,18 @@ __metadata: languageName: node linkType: hard -"postcss-color-functional-notation@npm:^7.0.3": - version: 7.0.3 - resolution: "postcss-color-functional-notation@npm:7.0.3" +"postcss-color-functional-notation@npm:^7.0.4": + version: 7.0.4 + resolution: "postcss-color-functional-notation@npm:7.0.4" dependencies: - "@csstools/css-color-parser": "npm:^3.0.3" - "@csstools/css-parser-algorithms": "npm:^3.0.2" + "@csstools/css-color-parser": "npm:^3.0.4" + "@csstools/css-parser-algorithms": "npm:^3.0.3" "@csstools/css-tokenizer": "npm:^3.0.2" "@csstools/postcss-progressive-custom-properties": "npm:^4.0.0" "@csstools/utilities": "npm:^2.0.0" peerDependencies: postcss: ^8.4 - checksum: 10c0/5e04c81002512c960784043c096bc91ebc76b8fddb9259a2418b0e121eb65042944cc0f78946f6b7e5774ff1fee087849019655e4848af1f88879e3ab9ff7c17 + checksum: 10c0/1e39c47f27610ebf6a6308cfea2904fbe1f157b13654325ada23153a944666722c6132b53dfc7660632406a636479dda68eeb97a246c2e593ad6eed1e9bf838d languageName: node linkType: hard @@ -13283,57 +13292,57 @@ __metadata: languageName: node linkType: hard -"postcss-custom-media@npm:^11.0.3": - version: 11.0.3 - resolution: "postcss-custom-media@npm:11.0.3" +"postcss-custom-media@npm:^11.0.4": + version: 11.0.4 + resolution: "postcss-custom-media@npm:11.0.4" dependencies: - "@csstools/cascade-layer-name-parser": "npm:^2.0.2" - "@csstools/css-parser-algorithms": "npm:^3.0.2" + "@csstools/cascade-layer-name-parser": "npm:^2.0.3" + "@csstools/css-parser-algorithms": "npm:^3.0.3" "@csstools/css-tokenizer": "npm:^3.0.2" - "@csstools/media-query-list-parser": "npm:^4.0.0" + "@csstools/media-query-list-parser": "npm:^4.0.1" peerDependencies: postcss: ^8.4 - checksum: 10c0/bd3f0cf17d7422385d26afed510dc2acebb1d8c25fce13e2bbee1c49cdc7fe95ebe7f50b89ef0a88ebdd5f6826e89d99e26b905881ceff788df655670dba93d8 + checksum: 10c0/31e82e5802f6933a15f5fcf64ff41c8107af9c1d5dcba3c4422a6de3fac77bce9e3dc4ed2b79ae7f6ae460549c5da5a013669af05c1ae21549dbb09b66a9492d languageName: node linkType: hard -"postcss-custom-properties@npm:^14.0.2": - version: 14.0.2 - resolution: "postcss-custom-properties@npm:14.0.2" +"postcss-custom-properties@npm:^14.0.3": + version: 14.0.3 + resolution: "postcss-custom-properties@npm:14.0.3" dependencies: - "@csstools/cascade-layer-name-parser": "npm:^2.0.2" - "@csstools/css-parser-algorithms": "npm:^3.0.2" + "@csstools/cascade-layer-name-parser": "npm:^2.0.3" + "@csstools/css-parser-algorithms": "npm:^3.0.3" "@csstools/css-tokenizer": "npm:^3.0.2" "@csstools/utilities": "npm:^2.0.0" postcss-value-parser: "npm:^4.2.0" peerDependencies: postcss: ^8.4 - checksum: 10c0/ea2e0cb60c558bb1afb4e601dcc64a38e1b28e5df3e47b83b858fc12d909d0e3453013e6b368fc05a7db7098ffcdc702a30a92f1a3c0ef67dfb97bf089021f1a + checksum: 10c0/878ffd171ab9bbbba711930cf1b5bd48a12779e3b45d69f41366c2f65d84518f9338a92a277c0e390518c9e12272e06892cdc6575783bcdecfa6d26ebde3d043 languageName: node linkType: hard -"postcss-custom-selectors@npm:^8.0.2": - version: 8.0.2 - resolution: "postcss-custom-selectors@npm:8.0.2" +"postcss-custom-selectors@npm:^8.0.3": + version: 8.0.3 + resolution: "postcss-custom-selectors@npm:8.0.3" dependencies: - "@csstools/cascade-layer-name-parser": "npm:^2.0.2" - "@csstools/css-parser-algorithms": "npm:^3.0.2" + "@csstools/cascade-layer-name-parser": "npm:^2.0.3" + "@csstools/css-parser-algorithms": "npm:^3.0.3" "@csstools/css-tokenizer": "npm:^3.0.2" - postcss-selector-parser: "npm:^6.1.0" + postcss-selector-parser: "npm:^7.0.0" peerDependencies: postcss: ^8.4 - checksum: 10c0/81673ffb0874f63c0f5e14315a5808259ec80ae8452aaf10d28112d30a9aaabbf61d13edb02f8be2965f44b943968c7eda051a1693da436ef157e77fcff0d752 + checksum: 10c0/3acdada43e385c23130f1dde41b189acc7739e5bbd14751ae28b2bd97b0d97f30c2a53da4f9558d108a893cc48717f76b28395a9ff38dcbbe3c3a1721ee4a68a languageName: node linkType: hard -"postcss-dir-pseudo-class@npm:^9.0.0": - version: 9.0.0 - resolution: "postcss-dir-pseudo-class@npm:9.0.0" +"postcss-dir-pseudo-class@npm:^9.0.1": + version: 9.0.1 + resolution: "postcss-dir-pseudo-class@npm:9.0.1" dependencies: - postcss-selector-parser: "npm:^6.1.0" + postcss-selector-parser: "npm:^7.0.0" peerDependencies: postcss: ^8.4 - checksum: 10c0/debae71bf508c0e494ebb1892ce6b3c1c4eeb6b23231180151a93920a12fec771815510cdec54db54605e090ae56af9f07c68ef6a61260d0c837adc719f9e1e4 + checksum: 10c0/da9d3387648c5c3161a653d354c8f3e70a299108df3977e8aa65cf10793e4dd58a2711b3426cd63716245b13584ca8d95adcd6e10e3c9adbc61d08743e2d8690 languageName: node linkType: hard @@ -13388,25 +13397,25 @@ __metadata: languageName: node linkType: hard -"postcss-focus-visible@npm:^10.0.0": - version: 10.0.0 - resolution: "postcss-focus-visible@npm:10.0.0" +"postcss-focus-visible@npm:^10.0.1": + version: 10.0.1 + resolution: "postcss-focus-visible@npm:10.0.1" dependencies: - postcss-selector-parser: "npm:^6.1.0" + postcss-selector-parser: "npm:^7.0.0" peerDependencies: postcss: ^8.4 - checksum: 10c0/b86b825bac597092b300127c2686c0669ce0766165716ecda42f298f21ca69dda721e44917732cbcb2611a4ab650f1231bf8c5d4d07c9daefef815329251ae8a + checksum: 10c0/c5ecc8536a708a49a99d0abd68a88a160664e6c832c808db8edd9f0221e7017a258daa87e49daf2cb098cb037005d46cf492403c8c9c92ad8835d30adaccf665 languageName: node linkType: hard -"postcss-focus-within@npm:^9.0.0": - version: 9.0.0 - resolution: "postcss-focus-within@npm:9.0.0" +"postcss-focus-within@npm:^9.0.1": + version: 9.0.1 + resolution: "postcss-focus-within@npm:9.0.1" dependencies: - postcss-selector-parser: "npm:^6.1.0" + postcss-selector-parser: "npm:^7.0.0" peerDependencies: postcss: ^8.4 - checksum: 10c0/1d6f1b4f4d12e23a2824f394652d520942f00fd582d3016c933a492fe0ba38aaf26bc1855576878aaeaeda1d6fc38da39bb51e8e6470c50ef03f3ea9a286b3d1 + checksum: 10c0/d6ab49d2a7f33485a9e137dc77ec92c5619a3ec92e1e672734fc604853ff1f3c0c189085c12461614be4fcb03ea0347d91791a45986a18d50b5228d161eda57a languageName: node linkType: hard @@ -13440,18 +13449,18 @@ __metadata: languageName: node linkType: hard -"postcss-lab-function@npm:^7.0.3": - version: 7.0.3 - resolution: "postcss-lab-function@npm:7.0.3" +"postcss-lab-function@npm:^7.0.4": + version: 7.0.4 + resolution: "postcss-lab-function@npm:7.0.4" dependencies: - "@csstools/css-color-parser": "npm:^3.0.3" - "@csstools/css-parser-algorithms": "npm:^3.0.2" + "@csstools/css-color-parser": "npm:^3.0.4" + "@csstools/css-parser-algorithms": "npm:^3.0.3" "@csstools/css-tokenizer": "npm:^3.0.2" "@csstools/postcss-progressive-custom-properties": "npm:^4.0.0" "@csstools/utilities": "npm:^2.0.0" peerDependencies: postcss: ^8.4 - checksum: 10c0/c50a73a9ed54b4194998c4627599d1f42074235f572edbbcdb0e00717f3ae2121dc8378d917792b281860c5650a617d923823da6f395515f610b5760d115354d + checksum: 10c0/79ce3cc20484aef0e0bbc2d18c8f91d7362226a3db52f06a931ac8e1c58ffbc60876c6439f364093e5f16ef92260a420230cfb2a9e7b95c6c11e6f7d57626260 languageName: node linkType: hard @@ -13608,16 +13617,16 @@ __metadata: languageName: node linkType: hard -"postcss-nesting@npm:^13.0.0": - version: 13.0.0 - resolution: "postcss-nesting@npm:13.0.0" +"postcss-nesting@npm:^13.0.1": + version: 13.0.1 + resolution: "postcss-nesting@npm:13.0.1" dependencies: - "@csstools/selector-resolve-nested": "npm:^2.0.0" - "@csstools/selector-specificity": "npm:^4.0.0" - postcss-selector-parser: "npm:^6.1.0" + "@csstools/selector-resolve-nested": "npm:^3.0.0" + "@csstools/selector-specificity": "npm:^5.0.0" + postcss-selector-parser: "npm:^7.0.0" peerDependencies: postcss: ^8.4 - checksum: 10c0/b82a3c7010f7c6097bd3f3fe6c03f3f3af9a63a58e255f120dadd506a0ea9444aeeaba994f2a3fa34fb26e666dc72032edf5786c5fbdade790b02ad07d91ef95 + checksum: 10c0/549307c272cdd4cb5105d8fbcd582f15a1cb74e5bba240b05b27f77fe0422730be966699a49a9ad15fd9d1bc551c1edbaefb21a69686a9b131b585dbc9d90ebf languageName: node linkType: hard @@ -13772,84 +13781,84 @@ __metadata: linkType: hard "postcss-preset-env@npm:^10.0.0": - version: 10.0.7 - resolution: "postcss-preset-env@npm:10.0.7" - dependencies: - "@csstools/postcss-cascade-layers": "npm:^5.0.0" - "@csstools/postcss-color-function": "npm:^4.0.3" - "@csstools/postcss-color-mix-function": "npm:^3.0.3" - "@csstools/postcss-content-alt-text": "npm:^2.0.2" - "@csstools/postcss-exponential-functions": "npm:^2.0.2" + version: 10.0.8 + resolution: "postcss-preset-env@npm:10.0.8" + dependencies: + "@csstools/postcss-cascade-layers": "npm:^5.0.1" + "@csstools/postcss-color-function": "npm:^4.0.4" + "@csstools/postcss-color-mix-function": "npm:^3.0.4" + "@csstools/postcss-content-alt-text": "npm:^2.0.3" + "@csstools/postcss-exponential-functions": "npm:^2.0.3" "@csstools/postcss-font-format-keywords": "npm:^4.0.0" - "@csstools/postcss-gamut-mapping": "npm:^2.0.3" - "@csstools/postcss-gradients-interpolation-method": "npm:^5.0.3" - "@csstools/postcss-hwb-function": "npm:^4.0.3" + "@csstools/postcss-gamut-mapping": "npm:^2.0.4" + "@csstools/postcss-gradients-interpolation-method": "npm:^5.0.4" + "@csstools/postcss-hwb-function": "npm:^4.0.4" "@csstools/postcss-ic-unit": "npm:^4.0.0" "@csstools/postcss-initial": "npm:^2.0.0" - "@csstools/postcss-is-pseudo-class": "npm:^5.0.0" - "@csstools/postcss-light-dark-function": "npm:^2.0.5" + "@csstools/postcss-is-pseudo-class": "npm:^5.0.1" + "@csstools/postcss-light-dark-function": "npm:^2.0.6" "@csstools/postcss-logical-float-and-clear": "npm:^3.0.0" "@csstools/postcss-logical-overflow": "npm:^2.0.0" "@csstools/postcss-logical-overscroll-behavior": "npm:^2.0.0" "@csstools/postcss-logical-resize": "npm:^3.0.0" "@csstools/postcss-logical-viewport-units": "npm:^3.0.2" - "@csstools/postcss-media-minmax": "npm:^2.0.2" - "@csstools/postcss-media-queries-aspect-ratio-number-values": "npm:^3.0.2" + "@csstools/postcss-media-minmax": "npm:^2.0.3" + "@csstools/postcss-media-queries-aspect-ratio-number-values": "npm:^3.0.3" "@csstools/postcss-nested-calc": "npm:^4.0.0" "@csstools/postcss-normalize-display-values": "npm:^4.0.0" - "@csstools/postcss-oklab-function": "npm:^4.0.3" + "@csstools/postcss-oklab-function": "npm:^4.0.4" "@csstools/postcss-progressive-custom-properties": "npm:^4.0.0" - "@csstools/postcss-relative-color-syntax": "npm:^3.0.3" - "@csstools/postcss-scope-pseudo-class": "npm:^4.0.0" - "@csstools/postcss-stepped-value-functions": "npm:^4.0.2" + "@csstools/postcss-relative-color-syntax": "npm:^3.0.4" + "@csstools/postcss-scope-pseudo-class": "npm:^4.0.1" + "@csstools/postcss-stepped-value-functions": "npm:^4.0.3" "@csstools/postcss-text-decoration-shorthand": "npm:^4.0.1" - "@csstools/postcss-trigonometric-functions": "npm:^4.0.2" + "@csstools/postcss-trigonometric-functions": "npm:^4.0.3" "@csstools/postcss-unset-value": "npm:^4.0.0" autoprefixer: "npm:^10.4.19" browserslist: "npm:^4.23.1" - css-blank-pseudo: "npm:^7.0.0" - css-has-pseudo: "npm:^7.0.0" + css-blank-pseudo: "npm:^7.0.1" + css-has-pseudo: "npm:^7.0.1" css-prefers-color-scheme: "npm:^10.0.0" - cssdb: "npm:^8.1.1" - postcss-attribute-case-insensitive: "npm:^7.0.0" + cssdb: "npm:^8.1.2" + postcss-attribute-case-insensitive: "npm:^7.0.1" postcss-clamp: "npm:^4.1.0" - postcss-color-functional-notation: "npm:^7.0.3" + postcss-color-functional-notation: "npm:^7.0.4" postcss-color-hex-alpha: "npm:^10.0.0" postcss-color-rebeccapurple: "npm:^10.0.0" - postcss-custom-media: "npm:^11.0.3" - postcss-custom-properties: "npm:^14.0.2" - postcss-custom-selectors: "npm:^8.0.2" - postcss-dir-pseudo-class: "npm:^9.0.0" + postcss-custom-media: "npm:^11.0.4" + postcss-custom-properties: "npm:^14.0.3" + postcss-custom-selectors: "npm:^8.0.3" + postcss-dir-pseudo-class: "npm:^9.0.1" postcss-double-position-gradients: "npm:^6.0.0" - postcss-focus-visible: "npm:^10.0.0" - postcss-focus-within: "npm:^9.0.0" + postcss-focus-visible: "npm:^10.0.1" + postcss-focus-within: "npm:^9.0.1" postcss-font-variant: "npm:^5.0.0" postcss-gap-properties: "npm:^6.0.0" postcss-image-set-function: "npm:^7.0.0" - postcss-lab-function: "npm:^7.0.3" + postcss-lab-function: "npm:^7.0.4" postcss-logical: "npm:^8.0.0" - postcss-nesting: "npm:^13.0.0" + postcss-nesting: "npm:^13.0.1" postcss-opacity-percentage: "npm:^3.0.0" postcss-overflow-shorthand: "npm:^6.0.0" postcss-page-break: "npm:^3.0.4" postcss-place: "npm:^10.0.0" - postcss-pseudo-class-any-link: "npm:^10.0.0" + postcss-pseudo-class-any-link: "npm:^10.0.1" postcss-replace-overflow-wrap: "npm:^4.0.0" - postcss-selector-not: "npm:^8.0.0" + postcss-selector-not: "npm:^8.0.1" peerDependencies: postcss: ^8.4 - checksum: 10c0/f789000e0504fd827e854bb0feb8b4c218d381314e4d863c5a36df925df412d0844c912952fe27892a320433640aeaff03ee94a3057b42011bf5d32b3963f333 + checksum: 10c0/3f7dc8eb2e7f4e7a5eee0a9456972a5b18bd40109d1aa3328f60cd645d352f3a70c83c507ea58f83b820153b0f5c3f14af3f376573c56599c36d5739c943b6f1 languageName: node linkType: hard -"postcss-pseudo-class-any-link@npm:^10.0.0": - version: 10.0.0 - resolution: "postcss-pseudo-class-any-link@npm:10.0.0" +"postcss-pseudo-class-any-link@npm:^10.0.1": + version: 10.0.1 + resolution: "postcss-pseudo-class-any-link@npm:10.0.1" dependencies: - postcss-selector-parser: "npm:^6.1.0" + postcss-selector-parser: "npm:^7.0.0" peerDependencies: postcss: ^8.4 - checksum: 10c0/8357716e0ba0f01c70dba65a1efd268f610249ac2fbd41833e5e87dc19ffa7911c8d5e234d0d7c77d94ba6cdfa04fe7f0f98461c34f64cdbb59abd9737ab7d32 + checksum: 10c0/95e883996e87baf14fc09d25f9a763a2e9d599eb3b9c6b736e83a8c3d0b55841bcb886bccdf51b5b7fefc128cbd0187ad8841f59878f85bd1613642e592d7673 languageName: node linkType: hard @@ -13910,18 +13919,18 @@ __metadata: languageName: node linkType: hard -"postcss-selector-not@npm:^8.0.0": - version: 8.0.0 - resolution: "postcss-selector-not@npm:8.0.0" +"postcss-selector-not@npm:^8.0.1": + version: 8.0.1 + resolution: "postcss-selector-not@npm:8.0.1" dependencies: - postcss-selector-parser: "npm:^6.1.0" + postcss-selector-parser: "npm:^7.0.0" peerDependencies: postcss: ^8.4 - checksum: 10c0/677f2cd9d0cd481d276663b57001b2ba96db94ad5bba397f277e53d560ccb074b27c21792deff44720a9f2d96da85fa34f438bb1d33198305b5866b35f1a4708 + checksum: 10c0/491ea3dcc421cd90135be786078521605e2062fb93624ea8813cfd5ba0d35143f931e2e608d5f20effd5ea7d3f4786d2afea2afa42d117779a0288e135f132b6 languageName: node linkType: hard -"postcss-selector-parser@npm:^6.0.13, postcss-selector-parser@npm:^6.0.2, postcss-selector-parser@npm:^6.0.4, postcss-selector-parser@npm:^6.1.0, postcss-selector-parser@npm:^6.1.2": +"postcss-selector-parser@npm:^6.0.13, postcss-selector-parser@npm:^6.0.2, postcss-selector-parser@npm:^6.0.4, postcss-selector-parser@npm:^6.1.2": version: 6.1.2 resolution: "postcss-selector-parser@npm:6.1.2" dependencies: @@ -13931,6 +13940,16 @@ __metadata: languageName: node linkType: hard +"postcss-selector-parser@npm:^7.0.0": + version: 7.0.0 + resolution: "postcss-selector-parser@npm:7.0.0" + dependencies: + cssesc: "npm:^3.0.0" + util-deprecate: "npm:^1.0.2" + checksum: 10c0/e96e096afcce70bf5c97789f5ea09d7415ae5eb701d82b05b5e8532885d31363b484fcb1ca9488c9a331f30508d9e5bb6c3109eb2eb5067ef3d3919f9928cd9d + languageName: node + linkType: hard + "postcss-svgo@npm:^7.0.1": version: 7.0.1 resolution: "postcss-svgo@npm:7.0.1" From aa29e42cf8ceedbd65778f73e508f8180042c33c Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Fri, 25 Oct 2024 09:17:41 +0000 Subject: [PATCH 059/357] Update babel monorepo to v7.25.9 (#32628) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> --- yarn.lock | 1276 ++++++++++++++++++++++++++--------------------------- 1 file changed, 634 insertions(+), 642 deletions(-) diff --git a/yarn.lock b/yarn.lock index 3951c1c8cbd0e9..5b563d52d659ae 100644 --- a/yarn.lock +++ b/yarn.lock @@ -42,127 +42,127 @@ __metadata: languageName: node linkType: hard -"@babel/code-frame@npm:^7.0.0, @babel/code-frame@npm:^7.10.4, @babel/code-frame@npm:^7.12.13, @babel/code-frame@npm:^7.25.7": - version: 7.25.7 - resolution: "@babel/code-frame@npm:7.25.7" +"@babel/code-frame@npm:^7.0.0, @babel/code-frame@npm:^7.10.4, @babel/code-frame@npm:^7.12.13, @babel/code-frame@npm:^7.25.9": + version: 7.25.9 + resolution: "@babel/code-frame@npm:7.25.9" dependencies: - "@babel/highlight": "npm:^7.25.7" + "@babel/highlight": "npm:^7.25.9" picocolors: "npm:^1.0.0" - checksum: 10c0/14825c298bdec914caf3d24d1383b6d4cd6b030714686004992f4fc251831ecf432236652896f99d5d341f17170ae9a07b58d8d7b15aa0df8cfa1c5a7d5474bc + checksum: 10c0/88562eba0eeb5960b7004e108790aa00183d90cbbe70ce10dad01c2c48141d2ef54d6dcd0c678cc1e456de770ffeb68e28559f4d222c01a110c79aea8733074b languageName: node linkType: hard -"@babel/compat-data@npm:^7.22.6, @babel/compat-data@npm:^7.25.7, @babel/compat-data@npm:^7.25.8": - version: 7.25.8 - resolution: "@babel/compat-data@npm:7.25.8" - checksum: 10c0/8b81c17580e5fb4cbb6a3c52079f8c283fc59c0c6bd2fe14cfcf9c44b32d2eaab71b02c5633e2c679f5896f73f8ac4036ba2e67a4c806e8f428e4b11f526d7f4 +"@babel/compat-data@npm:^7.22.6, @babel/compat-data@npm:^7.25.9": + version: 7.25.9 + resolution: "@babel/compat-data@npm:7.25.9" + checksum: 10c0/8d9fc2074311ce61aaf5bccf740a808644d19d4859caf5fa46d8a7186a1ee0b0d8cbbc23f9371f8b397e84a885bdeab58d5f22d6799ddde55973252aac351a27 languageName: node linkType: hard "@babel/core@npm:^7.11.6, @babel/core@npm:^7.12.3, @babel/core@npm:^7.22.1, @babel/core@npm:^7.24.4, @babel/core@npm:^7.25.0": - version: 7.25.8 - resolution: "@babel/core@npm:7.25.8" + version: 7.25.9 + resolution: "@babel/core@npm:7.25.9" dependencies: "@ampproject/remapping": "npm:^2.2.0" - "@babel/code-frame": "npm:^7.25.7" - "@babel/generator": "npm:^7.25.7" - "@babel/helper-compilation-targets": "npm:^7.25.7" - "@babel/helper-module-transforms": "npm:^7.25.7" - "@babel/helpers": "npm:^7.25.7" - "@babel/parser": "npm:^7.25.8" - "@babel/template": "npm:^7.25.7" - "@babel/traverse": "npm:^7.25.7" - "@babel/types": "npm:^7.25.8" + "@babel/code-frame": "npm:^7.25.9" + "@babel/generator": "npm:^7.25.9" + "@babel/helper-compilation-targets": "npm:^7.25.9" + "@babel/helper-module-transforms": "npm:^7.25.9" + "@babel/helpers": "npm:^7.25.9" + "@babel/parser": "npm:^7.25.9" + "@babel/template": "npm:^7.25.9" + "@babel/traverse": "npm:^7.25.9" + "@babel/types": "npm:^7.25.9" convert-source-map: "npm:^2.0.0" debug: "npm:^4.1.0" gensync: "npm:^1.0.0-beta.2" json5: "npm:^2.2.3" semver: "npm:^6.3.1" - checksum: 10c0/8411ea506e6f7c8a39ab5c1524b00589fa3b087edb47389708f7fe07170929192171734666e3ea10b95a951643a531a6d09eedfe071572c9ea28516646265086 + checksum: 10c0/40d3064ebe906f65ed4153a0f4d75c679a19e4d71e425035b7bbe2d292a9167274f1a0d908d4d6c8f484fcddeb10bd91e0c7878fdb3dfad1bb00f6a319ce431d languageName: node linkType: hard -"@babel/generator@npm:^7.25.7, @babel/generator@npm:^7.7.2": - version: 7.25.7 - resolution: "@babel/generator@npm:7.25.7" +"@babel/generator@npm:^7.25.9, @babel/generator@npm:^7.7.2": + version: 7.25.9 + resolution: "@babel/generator@npm:7.25.9" dependencies: - "@babel/types": "npm:^7.25.7" + "@babel/types": "npm:^7.25.9" "@jridgewell/gen-mapping": "npm:^0.3.5" "@jridgewell/trace-mapping": "npm:^0.3.25" jsesc: "npm:^3.0.2" - checksum: 10c0/c03a26c79864d60d04ce36b649c3fa0d6fd7b2bf6a22e22854a0457aa09206508392dd73ee40e7bc8d50b3602f9ff068afa47770cda091d332e7db1ca382ee96 + checksum: 10c0/fca49a1440ac550bb835a73c0e8314849cd493a468a5431ca7f9dbb3d3443e3a1a6dcba2426752e8a97cc2feed4a3b7a0c639e1c45871c4a9dd0c994f08dd25a languageName: node linkType: hard -"@babel/helper-annotate-as-pure@npm:^7.25.7": - version: 7.25.7 - resolution: "@babel/helper-annotate-as-pure@npm:7.25.7" +"@babel/helper-annotate-as-pure@npm:^7.25.9": + version: 7.25.9 + resolution: "@babel/helper-annotate-as-pure@npm:7.25.9" dependencies: - "@babel/types": "npm:^7.25.7" - checksum: 10c0/2f020b0fa9d336b5778485cc2de3141561ec436a7591b685457a5bcdae4ce41d9ddee68169c95504e0789e5a4327e73b8b7e72e5b60e82e96d730c4d19255248 + "@babel/types": "npm:^7.25.9" + checksum: 10c0/095b6ba50489d797733abebc4596a81918316a99e3632755c9f02508882912b00c2ae5e468532a25a5c2108d109ddbe9b7da78333ee7cc13817fc50c00cf06fe languageName: node linkType: hard -"@babel/helper-builder-binary-assignment-operator-visitor@npm:^7.25.7": - version: 7.25.7 - resolution: "@babel/helper-builder-binary-assignment-operator-visitor@npm:7.25.7" +"@babel/helper-builder-binary-assignment-operator-visitor@npm:^7.25.9": + version: 7.25.9 + resolution: "@babel/helper-builder-binary-assignment-operator-visitor@npm:7.25.9" dependencies: - "@babel/traverse": "npm:^7.25.7" - "@babel/types": "npm:^7.25.7" - checksum: 10c0/e9dc5a7920a1d74150dec53ccd5e34f2b31ae307df7cdeec6289866f7bda97ecb1328b49a7710ecde5db5b6daad768c904a030f9a0fa3184963b0017622c42aa + "@babel/traverse": "npm:^7.25.9" + "@babel/types": "npm:^7.25.9" + checksum: 10c0/a6068bb813e7f72d12b72edeecb99167f60cd7964cacedfb60e01fff5e7bed4a5a7f4f7414de7cf352a1b71487df5f8dab8c2b5230de4ad5aea16adf32e14219 languageName: node linkType: hard -"@babel/helper-builder-react-jsx@npm:^7.25.7": - version: 7.25.7 - resolution: "@babel/helper-builder-react-jsx@npm:7.25.7" +"@babel/helper-builder-react-jsx@npm:^7.25.9": + version: 7.25.9 + resolution: "@babel/helper-builder-react-jsx@npm:7.25.9" dependencies: - "@babel/helper-annotate-as-pure": "npm:^7.25.7" - "@babel/types": "npm:^7.25.7" - checksum: 10c0/f8123a76e8c3fcdbb24cc14bfefc80e4c7bf58112ab26bea3247298748c674cbaee70591c362d0d881e4d88154ea4809b145f3ddcf96221cf55ba27bfde535c6 + "@babel/helper-annotate-as-pure": "npm:^7.25.9" + "@babel/types": "npm:^7.25.9" + checksum: 10c0/99d6e87eede0971f25b5e638220f5f966c56c03f6a6278a693c73ac0a31acddb86110208a89d948aa337c8cf7998fb317c00e8baf2e9fa0a42b9207b977dc9c6 languageName: node linkType: hard -"@babel/helper-compilation-targets@npm:^7.22.6, @babel/helper-compilation-targets@npm:^7.25.7": - version: 7.25.7 - resolution: "@babel/helper-compilation-targets@npm:7.25.7" +"@babel/helper-compilation-targets@npm:^7.22.6, @babel/helper-compilation-targets@npm:^7.25.9": + version: 7.25.9 + resolution: "@babel/helper-compilation-targets@npm:7.25.9" dependencies: - "@babel/compat-data": "npm:^7.25.7" - "@babel/helper-validator-option": "npm:^7.25.7" + "@babel/compat-data": "npm:^7.25.9" + "@babel/helper-validator-option": "npm:^7.25.9" browserslist: "npm:^4.24.0" lru-cache: "npm:^5.1.1" semver: "npm:^6.3.1" - checksum: 10c0/705be7e5274a3fdade68e3e2cf42e2b600316ab52794e13b91299a16f16c926f15886b6e9d6df20eb943ccc1cdba5a363d4766f8d01e47b8e6f4e01175f5e66c + checksum: 10c0/a6b26a1e4222e69ef8e62ee19374308f060b007828bc11c65025ecc9e814aba21ff2175d6d3f8bf53c863edd728ee8f94ba7870f8f90a37d39552ad9933a8aaa languageName: node linkType: hard -"@babel/helper-create-class-features-plugin@npm:^7.25.7": - version: 7.25.7 - resolution: "@babel/helper-create-class-features-plugin@npm:7.25.7" +"@babel/helper-create-class-features-plugin@npm:^7.25.9": + version: 7.25.9 + resolution: "@babel/helper-create-class-features-plugin@npm:7.25.9" dependencies: - "@babel/helper-annotate-as-pure": "npm:^7.25.7" - "@babel/helper-member-expression-to-functions": "npm:^7.25.7" - "@babel/helper-optimise-call-expression": "npm:^7.25.7" - "@babel/helper-replace-supers": "npm:^7.25.7" - "@babel/helper-skip-transparent-expression-wrappers": "npm:^7.25.7" - "@babel/traverse": "npm:^7.25.7" + "@babel/helper-annotate-as-pure": "npm:^7.25.9" + "@babel/helper-member-expression-to-functions": "npm:^7.25.9" + "@babel/helper-optimise-call-expression": "npm:^7.25.9" + "@babel/helper-replace-supers": "npm:^7.25.9" + "@babel/helper-skip-transparent-expression-wrappers": "npm:^7.25.9" + "@babel/traverse": "npm:^7.25.9" semver: "npm:^6.3.1" peerDependencies: "@babel/core": ^7.0.0 - checksum: 10c0/405c3c1a137acda1206380a96993cf2cfd808b3bee1c11c4af47ee0f03a20858497aa53394d6adc5431793c543be5e02010620e871a5ab39d938ae90a54b50f2 + checksum: 10c0/b2bdd39f38056a76b9ba00ec5b209dd84f5c5ebd998d0f4033cf0e73d5f2c357fbb49d1ce52db77a2709fb29ee22321f84a5734dc9914849bdfee9ad12ce8caf languageName: node linkType: hard -"@babel/helper-create-regexp-features-plugin@npm:^7.18.6, @babel/helper-create-regexp-features-plugin@npm:^7.25.7": - version: 7.25.7 - resolution: "@babel/helper-create-regexp-features-plugin@npm:7.25.7" +"@babel/helper-create-regexp-features-plugin@npm:^7.18.6, @babel/helper-create-regexp-features-plugin@npm:^7.25.9": + version: 7.25.9 + resolution: "@babel/helper-create-regexp-features-plugin@npm:7.25.9" dependencies: - "@babel/helper-annotate-as-pure": "npm:^7.25.7" + "@babel/helper-annotate-as-pure": "npm:^7.25.9" regexpu-core: "npm:^6.1.1" semver: "npm:^6.3.1" peerDependencies: "@babel/core": ^7.0.0 - checksum: 10c0/75919fd5a67cd7be8497b56f7b9ed6b4843cb401956ba8d403aa9ae5b005bc28e35c7f27e704d820edbd1154394ed7a7984d4719916795d89d716f6980fe8bd4 + checksum: 10c0/3adc60a758febbf07d65a15eaccab1f7b9fcc55e7141e59122f13c9f81fc0d1cce4525b7f4af50285d27c93b34c859fd2c39c39820c5fb92211898c3bbdc77ef languageName: node linkType: hard @@ -181,223 +181,223 @@ __metadata: languageName: node linkType: hard -"@babel/helper-member-expression-to-functions@npm:^7.25.7": - version: 7.25.7 - resolution: "@babel/helper-member-expression-to-functions@npm:7.25.7" +"@babel/helper-member-expression-to-functions@npm:^7.25.9": + version: 7.25.9 + resolution: "@babel/helper-member-expression-to-functions@npm:7.25.9" dependencies: - "@babel/traverse": "npm:^7.25.7" - "@babel/types": "npm:^7.25.7" - checksum: 10c0/1e948162ab48d84593a7c6ec9570d14c906146f1697144fc369c59dbeb00e4a062da67dd06cb0d8f98a044cd8389002dcf2ab6f5613d99c35748307846ec63fc + "@babel/traverse": "npm:^7.25.9" + "@babel/types": "npm:^7.25.9" + checksum: 10c0/e08c7616f111e1fb56f398365e78858e26e466d4ac46dff25921adc5ccae9b232f66e952a2f4162bbe336627ba336c7fd9eca4835b6548935973d3380d77eaff languageName: node linkType: hard -"@babel/helper-module-imports@npm:^7.0.0-beta.49, @babel/helper-module-imports@npm:^7.10.4, @babel/helper-module-imports@npm:^7.16.7, @babel/helper-module-imports@npm:^7.25.7": - version: 7.25.7 - resolution: "@babel/helper-module-imports@npm:7.25.7" +"@babel/helper-module-imports@npm:^7.0.0-beta.49, @babel/helper-module-imports@npm:^7.10.4, @babel/helper-module-imports@npm:^7.16.7, @babel/helper-module-imports@npm:^7.25.9": + version: 7.25.9 + resolution: "@babel/helper-module-imports@npm:7.25.9" dependencies: - "@babel/traverse": "npm:^7.25.7" - "@babel/types": "npm:^7.25.7" - checksum: 10c0/0fd0c3673835e5bf75558e184bcadc47c1f6dd2fe2016d53ebe1e5a6ae931a44e093015c2f9a6651c1a89f25c76d9246710c2b0b460b95ee069c464f2837fa2c + "@babel/traverse": "npm:^7.25.9" + "@babel/types": "npm:^7.25.9" + checksum: 10c0/078d3c2b45d1f97ffe6bb47f61961be4785d2342a4156d8b42c92ee4e1b7b9e365655dd6cb25329e8fe1a675c91eeac7e3d04f0c518b67e417e29d6e27b6aa70 languageName: node linkType: hard -"@babel/helper-module-transforms@npm:^7.25.7": - version: 7.25.7 - resolution: "@babel/helper-module-transforms@npm:7.25.7" +"@babel/helper-module-transforms@npm:^7.25.9": + version: 7.25.9 + resolution: "@babel/helper-module-transforms@npm:7.25.9" dependencies: - "@babel/helper-module-imports": "npm:^7.25.7" - "@babel/helper-simple-access": "npm:^7.25.7" - "@babel/helper-validator-identifier": "npm:^7.25.7" - "@babel/traverse": "npm:^7.25.7" + "@babel/helper-module-imports": "npm:^7.25.9" + "@babel/helper-simple-access": "npm:^7.25.9" + "@babel/helper-validator-identifier": "npm:^7.25.9" + "@babel/traverse": "npm:^7.25.9" peerDependencies: "@babel/core": ^7.0.0 - checksum: 10c0/f37fa7d1d4df21690535b278468cbd5faf0133a3080f282000cfa4f3ffc9462a1458f866b04b6a2f2d1eec4691236cba9a867da61270dab3ab19846e62f05090 + checksum: 10c0/cd005e7585806845d79c5c0ca9e8926f186b430b0a558dad08a3611365eaad3ac587672b0d903530117dec454f48b6bdc3d164b19ea1b71ca1b4eb3be7b452ef languageName: node linkType: hard -"@babel/helper-optimise-call-expression@npm:^7.25.7": - version: 7.25.7 - resolution: "@babel/helper-optimise-call-expression@npm:7.25.7" +"@babel/helper-optimise-call-expression@npm:^7.25.9": + version: 7.25.9 + resolution: "@babel/helper-optimise-call-expression@npm:7.25.9" dependencies: - "@babel/types": "npm:^7.25.7" - checksum: 10c0/19b4cc7e77811b1fedca4928dbc14026afef913c2ba4142e5e110ebdcb5c3b2efc0f0fbee9f362c23a194674147b9d627adea71c289b9be08b9067bc0085308b + "@babel/types": "npm:^7.25.9" + checksum: 10c0/90203e6607edeadd2a154940803fd616c0ed92c1013d6774c4b8eb491f1a5a3448b68faae6268141caa5c456e55e3ee49a4ed2bd7ddaf2365daea321c435914c languageName: node linkType: hard -"@babel/helper-plugin-utils@npm:^7.0.0, @babel/helper-plugin-utils@npm:^7.10.4, @babel/helper-plugin-utils@npm:^7.12.13, @babel/helper-plugin-utils@npm:^7.14.5, @babel/helper-plugin-utils@npm:^7.18.6, @babel/helper-plugin-utils@npm:^7.22.5, @babel/helper-plugin-utils@npm:^7.25.0, @babel/helper-plugin-utils@npm:^7.25.7, @babel/helper-plugin-utils@npm:^7.8.0": - version: 7.25.7 - resolution: "@babel/helper-plugin-utils@npm:7.25.7" - checksum: 10c0/241f8cf3c5b7700e91cab7cfe5b432a3c710ae3cd5bb96dc554da536a6d25f5b9f000cc0c0917501ceb4f76ba92599ee3beb25e10adaf96be59f8df89a842faf +"@babel/helper-plugin-utils@npm:^7.0.0, @babel/helper-plugin-utils@npm:^7.10.4, @babel/helper-plugin-utils@npm:^7.12.13, @babel/helper-plugin-utils@npm:^7.14.5, @babel/helper-plugin-utils@npm:^7.18.6, @babel/helper-plugin-utils@npm:^7.22.5, @babel/helper-plugin-utils@npm:^7.25.0, @babel/helper-plugin-utils@npm:^7.25.9, @babel/helper-plugin-utils@npm:^7.8.0": + version: 7.25.9 + resolution: "@babel/helper-plugin-utils@npm:7.25.9" + checksum: 10c0/483066a1ba36ff16c0116cd24f93de05de746a603a777cd695ac7a1b034928a65a4ecb35f255761ca56626435d7abdb73219eba196f9aa83b6c3c3169325599d languageName: node linkType: hard -"@babel/helper-remap-async-to-generator@npm:^7.25.7": - version: 7.25.7 - resolution: "@babel/helper-remap-async-to-generator@npm:7.25.7" +"@babel/helper-remap-async-to-generator@npm:^7.25.9": + version: 7.25.9 + resolution: "@babel/helper-remap-async-to-generator@npm:7.25.9" dependencies: - "@babel/helper-annotate-as-pure": "npm:^7.25.7" - "@babel/helper-wrap-function": "npm:^7.25.7" - "@babel/traverse": "npm:^7.25.7" + "@babel/helper-annotate-as-pure": "npm:^7.25.9" + "@babel/helper-wrap-function": "npm:^7.25.9" + "@babel/traverse": "npm:^7.25.9" peerDependencies: "@babel/core": ^7.0.0 - checksum: 10c0/972d84876adce6ab61c87a2df47e1afc790b73cff0d1767d0a1c5d9f7aa5e91d8c581a272b66b2051a26cfbb167d8a780564705e488e3ce1f477f1c15059bc5f + checksum: 10c0/6798b562f2788210980f29c5ee96056d90dc73458c88af5bd32f9c82e28e01975588aa2a57bb866c35556bd9b76bac937e824ee63ba472b6430224b91b4879e9 languageName: node linkType: hard -"@babel/helper-replace-supers@npm:^7.25.7": - version: 7.25.7 - resolution: "@babel/helper-replace-supers@npm:7.25.7" +"@babel/helper-replace-supers@npm:^7.25.9": + version: 7.25.9 + resolution: "@babel/helper-replace-supers@npm:7.25.9" dependencies: - "@babel/helper-member-expression-to-functions": "npm:^7.25.7" - "@babel/helper-optimise-call-expression": "npm:^7.25.7" - "@babel/traverse": "npm:^7.25.7" + "@babel/helper-member-expression-to-functions": "npm:^7.25.9" + "@babel/helper-optimise-call-expression": "npm:^7.25.9" + "@babel/traverse": "npm:^7.25.9" peerDependencies: "@babel/core": ^7.0.0 - checksum: 10c0/761d64ee74429f7326a6aa65e2cd5bfcb8de9e3bc3f1efb14b8f610d2410f003b0fca52778dc801d49ff8fbc90b057e8f51b27c62b0b05c95eaf23140ca1287b + checksum: 10c0/0b40d7d2925bd3ba4223b3519e2e4d2456d471ad69aa458f1c1d1783c80b522c61f8237d3a52afc9e47c7174129bbba650df06393a6787d5722f2ec7f223c3f4 languageName: node linkType: hard -"@babel/helper-simple-access@npm:^7.25.7": - version: 7.25.7 - resolution: "@babel/helper-simple-access@npm:7.25.7" +"@babel/helper-simple-access@npm:^7.25.9": + version: 7.25.9 + resolution: "@babel/helper-simple-access@npm:7.25.9" dependencies: - "@babel/traverse": "npm:^7.25.7" - "@babel/types": "npm:^7.25.7" - checksum: 10c0/eed1b499bfb4f613c18debd61517e3de77b6da2727ca025aa05ac81599e0269f1dddb5237db04e8bb598115d015874752e0a7f11ff38672d74a4976097417059 + "@babel/traverse": "npm:^7.25.9" + "@babel/types": "npm:^7.25.9" + checksum: 10c0/3f1bcdb88ee3883ccf86959869a867f6bbf8c4737cd44fb9f799c38e54f67474590bc66802500ae9fe18161792875b2cfb7ec15673f48ed6c8663f6d09686ca8 languageName: node linkType: hard -"@babel/helper-skip-transparent-expression-wrappers@npm:^7.25.7": - version: 7.25.7 - resolution: "@babel/helper-skip-transparent-expression-wrappers@npm:7.25.7" +"@babel/helper-skip-transparent-expression-wrappers@npm:^7.25.9": + version: 7.25.9 + resolution: "@babel/helper-skip-transparent-expression-wrappers@npm:7.25.9" dependencies: - "@babel/traverse": "npm:^7.25.7" - "@babel/types": "npm:^7.25.7" - checksum: 10c0/5804adb893849a9d8cfb548e3812566a81d95cb0c9a10d66b52912d13f488e577c33063bf19bc06ac70e6333162a7370d67ba1a1c3544d37fb50d5f4a00db4de + "@babel/traverse": "npm:^7.25.9" + "@babel/types": "npm:^7.25.9" + checksum: 10c0/09ace0c6156961624ac9524329ce7f45350bab94bbe24335cbe0da7dfaa1448e658771831983cb83fe91cf6635b15d0a3cab57c03b92657480bfb49fb56dd184 languageName: node linkType: hard -"@babel/helper-string-parser@npm:^7.25.7": - version: 7.25.7 - resolution: "@babel/helper-string-parser@npm:7.25.7" - checksum: 10c0/73ef2ceb81f8294678a0afe8ab0103729c0370cac2e830e0d5128b03be5f6a2635838af31d391d763e3c5a4460ed96f42fd7c9b552130670d525be665913bc4c +"@babel/helper-string-parser@npm:^7.25.9": + version: 7.25.9 + resolution: "@babel/helper-string-parser@npm:7.25.9" + checksum: 10c0/7244b45d8e65f6b4338a6a68a8556f2cb161b782343e97281a5f2b9b93e420cad0d9f5773a59d79f61d0c448913d06f6a2358a87f2e203cf112e3c5b53522ee6 languageName: node linkType: hard -"@babel/helper-validator-identifier@npm:^7.25.7": - version: 7.25.7 - resolution: "@babel/helper-validator-identifier@npm:7.25.7" - checksum: 10c0/07438e5bf01ab2882a15027fdf39ac3b0ba1b251774a5130917907014684e2f70fef8fd620137ca062c4c4eedc388508d2ea7a3a7d9936a32785f4fe116c68c0 +"@babel/helper-validator-identifier@npm:^7.25.9": + version: 7.25.9 + resolution: "@babel/helper-validator-identifier@npm:7.25.9" + checksum: 10c0/4fc6f830177b7b7e887ad3277ddb3b91d81e6c4a24151540d9d1023e8dc6b1c0505f0f0628ae653601eb4388a8db45c1c14b2c07a9173837aef7e4116456259d languageName: node linkType: hard -"@babel/helper-validator-option@npm:^7.25.7": - version: 7.25.7 - resolution: "@babel/helper-validator-option@npm:7.25.7" - checksum: 10c0/12ed418c8e3ed9ed44c8c80d823f4e42d399b5eb2e423adccb975e31a31a008cd3b5d8eab688b31f740caff4a1bb28fe06ea2fa7d635aee34cc0ad6995d50f0a +"@babel/helper-validator-option@npm:^7.25.9": + version: 7.25.9 + resolution: "@babel/helper-validator-option@npm:7.25.9" + checksum: 10c0/27fb195d14c7dcb07f14e58fe77c44eea19a6a40a74472ec05c441478fa0bb49fa1c32b2d64be7a38870ee48ef6601bdebe98d512f0253aea0b39756c4014f3e languageName: node linkType: hard -"@babel/helper-wrap-function@npm:^7.25.7": - version: 7.25.7 - resolution: "@babel/helper-wrap-function@npm:7.25.7" +"@babel/helper-wrap-function@npm:^7.25.9": + version: 7.25.9 + resolution: "@babel/helper-wrap-function@npm:7.25.9" dependencies: - "@babel/template": "npm:^7.25.7" - "@babel/traverse": "npm:^7.25.7" - "@babel/types": "npm:^7.25.7" - checksum: 10c0/b5d412f72697f4a4ce4cb9784fbaf82501c63cf95066c0eadd3179e3439cbbf0aa5fa4858d93590083671943cd357aeb87286958df34aa56fdf8a4c9dea39755 + "@babel/template": "npm:^7.25.9" + "@babel/traverse": "npm:^7.25.9" + "@babel/types": "npm:^7.25.9" + checksum: 10c0/b6627d83291e7b80df020f8ee2890c52b8d49272962cac0114ef90f189889c90f1027985873d1b5261a4e986e109b2754292dc112392f0b1fcbfc91cc08bd003 languageName: node linkType: hard -"@babel/helpers@npm:^7.25.7": - version: 7.25.7 - resolution: "@babel/helpers@npm:7.25.7" +"@babel/helpers@npm:^7.25.9": + version: 7.25.9 + resolution: "@babel/helpers@npm:7.25.9" dependencies: - "@babel/template": "npm:^7.25.7" - "@babel/types": "npm:^7.25.7" - checksum: 10c0/3b3ae9e373bd785414195ef8f59976a69d5a6ebe0ef2165fdcc5165e5c3ee09e0fcee94bb457df2ddb8c0532e4146d0a9b7a96b3497399a4bff4ffe196b30228 + "@babel/template": "npm:^7.25.9" + "@babel/types": "npm:^7.25.9" + checksum: 10c0/4354fbf050291937d0f127f6f927a0c471b604524e0767516fefb91dc36427f25904dd0d2b2b3bbc66bce1894c680cc37eac9ab46970d70f24bf3e53375612de languageName: node linkType: hard -"@babel/highlight@npm:^7.25.7": - version: 7.25.7 - resolution: "@babel/highlight@npm:7.25.7" +"@babel/highlight@npm:^7.25.9": + version: 7.25.9 + resolution: "@babel/highlight@npm:7.25.9" dependencies: - "@babel/helper-validator-identifier": "npm:^7.25.7" + "@babel/helper-validator-identifier": "npm:^7.25.9" chalk: "npm:^2.4.2" js-tokens: "npm:^4.0.0" picocolors: "npm:^1.0.0" - checksum: 10c0/1f5894fdb0a0af6101fb2822369b2eeeae32cbeae2ef73ff73fc6a0a4a20471565cd9cfa589f54ed69df66adeca7c57266031ca9134b7bd244d023a488d419aa + checksum: 10c0/ae0ed93c151b85a07df42936117fa593ce91563a22dfc8944a90ae7088c9679645c33e00dcd20b081c1979665d65f986241172dae1fc9e5922692fc3ff685a49 languageName: node linkType: hard -"@babel/parser@npm:^7.1.0, @babel/parser@npm:^7.14.7, @babel/parser@npm:^7.20.7, @babel/parser@npm:^7.25.7, @babel/parser@npm:^7.25.8": - version: 7.25.8 - resolution: "@babel/parser@npm:7.25.8" +"@babel/parser@npm:^7.1.0, @babel/parser@npm:^7.14.7, @babel/parser@npm:^7.20.7, @babel/parser@npm:^7.25.9": + version: 7.25.9 + resolution: "@babel/parser@npm:7.25.9" dependencies: - "@babel/types": "npm:^7.25.8" + "@babel/types": "npm:^7.25.9" bin: parser: ./bin/babel-parser.js - checksum: 10c0/a1a13845b7e8dda4c970791814a4bbf60004969882f18f470e260ad822d2e1f8941948f851e9335895563610f240fa6c98481ce8019865e469502bbf21daafa4 + checksum: 10c0/143faff8a72331be5ed94080e0f4645cbeea814fb488cd9210154083735f67cb66fde32f6a4a80efd6c4cdf12c6f8b50995a465846093c7f65c5da8d7829627c languageName: node linkType: hard -"@babel/plugin-bugfix-firefox-class-in-computed-class-key@npm:^7.25.7": - version: 7.25.7 - resolution: "@babel/plugin-bugfix-firefox-class-in-computed-class-key@npm:7.25.7" +"@babel/plugin-bugfix-firefox-class-in-computed-class-key@npm:^7.25.9": + version: 7.25.9 + resolution: "@babel/plugin-bugfix-firefox-class-in-computed-class-key@npm:7.25.9" dependencies: - "@babel/helper-plugin-utils": "npm:^7.25.7" - "@babel/traverse": "npm:^7.25.7" + "@babel/helper-plugin-utils": "npm:^7.25.9" + "@babel/traverse": "npm:^7.25.9" peerDependencies: "@babel/core": ^7.0.0 - checksum: 10c0/c6ba97c39973897a2ab021c4a77221e1e93e853a5811d498db325da1bd692e41fa521db6d91bb709ccafd4e54ddd00869ffb35846923c3ccd49d46124b316904 + checksum: 10c0/7aab47fcbb8c1ddc195a3cd66609edcad54c5022f018db7de40185f0182950389690e953e952f117a1737b72f665ff02ad30de6c02b49b97f1d8f4ccdffedc34 languageName: node linkType: hard -"@babel/plugin-bugfix-safari-class-field-initializer-scope@npm:^7.25.7": - version: 7.25.7 - resolution: "@babel/plugin-bugfix-safari-class-field-initializer-scope@npm:7.25.7" +"@babel/plugin-bugfix-safari-class-field-initializer-scope@npm:^7.25.9": + version: 7.25.9 + resolution: "@babel/plugin-bugfix-safari-class-field-initializer-scope@npm:7.25.9" dependencies: - "@babel/helper-plugin-utils": "npm:^7.25.7" + "@babel/helper-plugin-utils": "npm:^7.25.9" peerDependencies: "@babel/core": ^7.0.0 - checksum: 10c0/ac284868bf410f952c6959b0d77708464127160416f003b05c8127d30e64792d671abc167ebf778b17707e32174223ea8d3ff487276991fa90297d92f0dac6e2 + checksum: 10c0/3a652b3574ca62775c5f101f8457950edc540c3581226579125da535d67765f41ad7f0e6327f8efeb2540a5dad5bb0c60a89fb934af3f67472e73fb63612d004 languageName: node linkType: hard -"@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression@npm:^7.25.7": - version: 7.25.7 - resolution: "@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression@npm:7.25.7" +"@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression@npm:^7.25.9": + version: 7.25.9 + resolution: "@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression@npm:7.25.9" dependencies: - "@babel/helper-plugin-utils": "npm:^7.25.7" + "@babel/helper-plugin-utils": "npm:^7.25.9" peerDependencies: "@babel/core": ^7.0.0 - checksum: 10c0/1bffc0a20c8c82b4c77515eb4c99b961b38184116f008bb42bed4e12d3379ba7b2bc6cf299bcea8118d645bb7a5e0caa83969842f16dd1fce49fb3a050e4ac65 + checksum: 10c0/18fc9004104a150f9f5da9f3307f361bc3104d16778bb593b7523d5110f04a8df19a2587e6bdd5e726fb1d397191add45223f4f731bb556c33f14f2779d596e8 languageName: node linkType: hard -"@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining@npm:^7.25.7": - version: 7.25.7 - resolution: "@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining@npm:7.25.7" +"@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining@npm:^7.25.9": + version: 7.25.9 + resolution: "@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining@npm:7.25.9" dependencies: - "@babel/helper-plugin-utils": "npm:^7.25.7" - "@babel/helper-skip-transparent-expression-wrappers": "npm:^7.25.7" - "@babel/plugin-transform-optional-chaining": "npm:^7.25.7" + "@babel/helper-plugin-utils": "npm:^7.25.9" + "@babel/helper-skip-transparent-expression-wrappers": "npm:^7.25.9" + "@babel/plugin-transform-optional-chaining": "npm:^7.25.9" peerDependencies: "@babel/core": ^7.13.0 - checksum: 10c0/32223f012614a0b2657579317ded7d0d09af2aa316285715c5012f974d0f15c2ce2fe0d8e80fdd9bac6c10c21c93cc925a9dfd6c8e21ce7ba1a9fe06a58088b4 + checksum: 10c0/3f6c8781a2f7aa1791a31d2242399ca884df2ab944f90c020b6f112fb19f05fa6dad5be143d274dad1377e40415b63d24d5489faf5060b9c4a99e55d8f0c317c languageName: node linkType: hard -"@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly@npm:^7.25.7": - version: 7.25.7 - resolution: "@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly@npm:7.25.7" +"@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly@npm:^7.25.9": + version: 7.25.9 + resolution: "@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly@npm:7.25.9" dependencies: - "@babel/helper-plugin-utils": "npm:^7.25.7" - "@babel/traverse": "npm:^7.25.7" + "@babel/helper-plugin-utils": "npm:^7.25.9" + "@babel/traverse": "npm:^7.25.9" peerDependencies: "@babel/core": ^7.0.0 - checksum: 10c0/aa2ee7a5954d187de6cbcca0e0b64cfb79c4d224c332d1eb1e0e4afd92ef1a1f4bc4af24f66154097ccb348c08121a875456f47baed220b1b9e93584e6a19b65 + checksum: 10c0/02b365f0cc4df8b8b811c68697c93476da387841e5f153fe42766f34241b685503ea51110d5ed6df7132759820b93e48d9fa3743cffc091eed97c19f7e5fe272 languageName: node linkType: hard @@ -443,25 +443,25 @@ __metadata: languageName: node linkType: hard -"@babel/plugin-syntax-import-assertions@npm:^7.25.7": - version: 7.25.7 - resolution: "@babel/plugin-syntax-import-assertions@npm:7.25.7" +"@babel/plugin-syntax-import-assertions@npm:^7.25.9": + version: 7.25.9 + resolution: "@babel/plugin-syntax-import-assertions@npm:7.25.9" dependencies: - "@babel/helper-plugin-utils": "npm:^7.25.7" + "@babel/helper-plugin-utils": "npm:^7.25.9" peerDependencies: "@babel/core": ^7.0.0-0 - checksum: 10c0/0fee0d971f3c654749fdf92e09b6556bba26ab014c8e99b7252f6a7f1ca108f17edd7ceefb5401d7b7008e98ab1b6f8c3c6a5db72862e7c7b2fcd649d000d690 + checksum: 10c0/f5a022b8a7f3585cf1586535224b06ae380983d3c14f7127b82792ef50cd8194047080540c8abec7aa8f8bfe7d774d71a1ee91f4fd3fa0277f7ffe2d3c6c4977 languageName: node linkType: hard -"@babel/plugin-syntax-import-attributes@npm:^7.25.7": - version: 7.25.7 - resolution: "@babel/plugin-syntax-import-attributes@npm:7.25.7" +"@babel/plugin-syntax-import-attributes@npm:^7.25.9": + version: 7.25.9 + resolution: "@babel/plugin-syntax-import-attributes@npm:7.25.9" dependencies: - "@babel/helper-plugin-utils": "npm:^7.25.7" + "@babel/helper-plugin-utils": "npm:^7.25.9" peerDependencies: "@babel/core": ^7.0.0-0 - checksum: 10c0/fe00cdb96fd289ab126830a98e1dcf5ab7b529a6ef1c01a72506b5e7b1197d6e46c3c4d029cd90d1d61eb9a15ef77c282d156d0c02c7e32f168bb09d84150db4 + checksum: 10c0/bbdf97ba088c3d482492f6c3376422752b1723ce32e3ac11b000faf3c942d68e418c8a911431cb05d5e300d008cc37cd5518e89807a5813c2ac8fdd82d171f8d languageName: node linkType: hard @@ -487,14 +487,14 @@ __metadata: languageName: node linkType: hard -"@babel/plugin-syntax-jsx@npm:^7.25.0, @babel/plugin-syntax-jsx@npm:^7.25.7, @babel/plugin-syntax-jsx@npm:^7.7.2": - version: 7.25.7 - resolution: "@babel/plugin-syntax-jsx@npm:7.25.7" +"@babel/plugin-syntax-jsx@npm:^7.25.0, @babel/plugin-syntax-jsx@npm:^7.25.9, @babel/plugin-syntax-jsx@npm:^7.7.2": + version: 7.25.9 + resolution: "@babel/plugin-syntax-jsx@npm:7.25.9" dependencies: - "@babel/helper-plugin-utils": "npm:^7.25.7" + "@babel/helper-plugin-utils": "npm:^7.25.9" peerDependencies: "@babel/core": ^7.0.0-0 - checksum: 10c0/17db499c31fcfaa94d5408726d943955d51d478353d1e2dd84eda6024f7e3d104b9456a77f8aabfae0db7f4dc32f810d08357112f7fcbe305e7c9fcf5b3cac13 + checksum: 10c0/d56597aff4df39d3decda50193b6dfbe596ca53f437ff2934622ce19a743bf7f43492d3fb3308b0289f5cee2b825d99ceb56526a2b9e7b68bf04901546c5618c languageName: node linkType: hard @@ -575,14 +575,14 @@ __metadata: languageName: node linkType: hard -"@babel/plugin-syntax-typescript@npm:^7.25.7, @babel/plugin-syntax-typescript@npm:^7.7.2": - version: 7.25.7 - resolution: "@babel/plugin-syntax-typescript@npm:7.25.7" +"@babel/plugin-syntax-typescript@npm:^7.25.9, @babel/plugin-syntax-typescript@npm:^7.7.2": + version: 7.25.9 + resolution: "@babel/plugin-syntax-typescript@npm:7.25.9" dependencies: - "@babel/helper-plugin-utils": "npm:^7.25.7" + "@babel/helper-plugin-utils": "npm:^7.25.9" peerDependencies: "@babel/core": ^7.0.0-0 - checksum: 10c0/ed51fd81a5cf571a89fc4cf4c0e3b0b91285c367237374c133d2e5e718f3963cfa61b81997df39220a8837dc99f9e9a8ab7701d259c09fae379e4843d9db60c2 + checksum: 10c0/5192ebe11bd46aea68b7a60fd9555465c59af7e279e71126788e59121b86e00b505816685ab4782abe159232b0f73854e804b54449820b0d950b397ee158caa2 languageName: node linkType: hard @@ -598,454 +598,454 @@ __metadata: languageName: node linkType: hard -"@babel/plugin-transform-arrow-functions@npm:^7.25.7": - version: 7.25.7 - resolution: "@babel/plugin-transform-arrow-functions@npm:7.25.7" +"@babel/plugin-transform-arrow-functions@npm:^7.25.9": + version: 7.25.9 + resolution: "@babel/plugin-transform-arrow-functions@npm:7.25.9" dependencies: - "@babel/helper-plugin-utils": "npm:^7.25.7" + "@babel/helper-plugin-utils": "npm:^7.25.9" peerDependencies: "@babel/core": ^7.0.0-0 - checksum: 10c0/c8d75ead93f130bf113b6d29493aca695092661ef039336d2a227169c3b7895aa5e9bcc548c42a95a6eaaaf49e512317b00699940bd40ccefd77443e703d3935 + checksum: 10c0/851fef9f58be60a80f46cc0ce1e46a6f7346a6f9d50fa9e0fa79d46ec205320069d0cc157db213e2bea88ef5b7d9bd7618bb83f0b1996a836e2426c3a3a1f622 languageName: node linkType: hard -"@babel/plugin-transform-async-generator-functions@npm:^7.25.8": - version: 7.25.8 - resolution: "@babel/plugin-transform-async-generator-functions@npm:7.25.8" +"@babel/plugin-transform-async-generator-functions@npm:^7.25.9": + version: 7.25.9 + resolution: "@babel/plugin-transform-async-generator-functions@npm:7.25.9" dependencies: - "@babel/helper-plugin-utils": "npm:^7.25.7" - "@babel/helper-remap-async-to-generator": "npm:^7.25.7" - "@babel/traverse": "npm:^7.25.7" + "@babel/helper-plugin-utils": "npm:^7.25.9" + "@babel/helper-remap-async-to-generator": "npm:^7.25.9" + "@babel/traverse": "npm:^7.25.9" peerDependencies: "@babel/core": ^7.0.0-0 - checksum: 10c0/1698d0757d3dc895047120346cdbe6d539dae4a7bb930caf958c3623e89c850d378d1ebd971a1a8b4cba39c8f001cd9c25a1d6f430099022ab1e87aeddb5dd88 + checksum: 10c0/e3fcb9fc3d6ab6cbd4fcd956b48c17b5e92fe177553df266ffcd2b2c1f2f758b893e51b638e77ed867941e0436487d2b8b505908d615c41799241699b520dec6 languageName: node linkType: hard -"@babel/plugin-transform-async-to-generator@npm:^7.25.7": - version: 7.25.7 - resolution: "@babel/plugin-transform-async-to-generator@npm:7.25.7" +"@babel/plugin-transform-async-to-generator@npm:^7.25.9": + version: 7.25.9 + resolution: "@babel/plugin-transform-async-to-generator@npm:7.25.9" dependencies: - "@babel/helper-module-imports": "npm:^7.25.7" - "@babel/helper-plugin-utils": "npm:^7.25.7" - "@babel/helper-remap-async-to-generator": "npm:^7.25.7" + "@babel/helper-module-imports": "npm:^7.25.9" + "@babel/helper-plugin-utils": "npm:^7.25.9" + "@babel/helper-remap-async-to-generator": "npm:^7.25.9" peerDependencies: "@babel/core": ^7.0.0-0 - checksum: 10c0/1dbefba9c1455f7a92b8c59a93c622091db945294c936fc2c09b1648308c5b4cb2ecaae92baae0d07a324ab890a8a2ee27ceb046bc120932845d27aede275821 + checksum: 10c0/c443d9e462ddef733ae56360064f32fc800105803d892e4ff32d7d6a6922b3765fa97b9ddc9f7f1d3f9d8c2d95721d85bef9dbf507804214c6cf6466b105c168 languageName: node linkType: hard -"@babel/plugin-transform-block-scoped-functions@npm:^7.25.7": - version: 7.25.7 - resolution: "@babel/plugin-transform-block-scoped-functions@npm:7.25.7" +"@babel/plugin-transform-block-scoped-functions@npm:^7.25.9": + version: 7.25.9 + resolution: "@babel/plugin-transform-block-scoped-functions@npm:7.25.9" dependencies: - "@babel/helper-plugin-utils": "npm:^7.25.7" + "@babel/helper-plugin-utils": "npm:^7.25.9" peerDependencies: "@babel/core": ^7.0.0-0 - checksum: 10c0/b1e77492295d1b271ef850a81b0404cf3d0dd6a2bcbeab28a0fd99e61c6de4bda91dff583bb42138eec61bf71282bdd3b1bebcb53b7e373035e77fd6ba66caeb + checksum: 10c0/e92ba0e3d72c038513844d8fca1cc8437dcb35cd42778e97fd03cb8303380b201468611e7ecfdcae3de33473b2679fe2de1552c5f925d112c5693425cf851f10 languageName: node linkType: hard -"@babel/plugin-transform-block-scoping@npm:^7.25.7": - version: 7.25.7 - resolution: "@babel/plugin-transform-block-scoping@npm:7.25.7" +"@babel/plugin-transform-block-scoping@npm:^7.25.9": + version: 7.25.9 + resolution: "@babel/plugin-transform-block-scoping@npm:7.25.9" dependencies: - "@babel/helper-plugin-utils": "npm:^7.25.7" + "@babel/helper-plugin-utils": "npm:^7.25.9" peerDependencies: "@babel/core": ^7.0.0-0 - checksum: 10c0/b2057e00535cd0e8bd5ee5d4640aa2e952564aeafb1bcf4e7b6de33442422877bb0ca8669ad0a48262ec077271978c61eae87b6b3bc8f472d830fa781d6f7e44 + checksum: 10c0/a76e30becb6c75b4d87a2cd53556fddb7c88ddd56bfadb965287fd944810ac159aa8eb5705366fc37336041f63154ed9fab3862fb10482a45bf5ede63fd55fda languageName: node linkType: hard -"@babel/plugin-transform-class-properties@npm:^7.25.7": - version: 7.25.7 - resolution: "@babel/plugin-transform-class-properties@npm:7.25.7" +"@babel/plugin-transform-class-properties@npm:^7.25.9": + version: 7.25.9 + resolution: "@babel/plugin-transform-class-properties@npm:7.25.9" dependencies: - "@babel/helper-create-class-features-plugin": "npm:^7.25.7" - "@babel/helper-plugin-utils": "npm:^7.25.7" + "@babel/helper-create-class-features-plugin": "npm:^7.25.9" + "@babel/helper-plugin-utils": "npm:^7.25.9" peerDependencies: "@babel/core": ^7.0.0-0 - checksum: 10c0/1f41e6934b20ad3e05df63959cff9bc600ff3119153b9acbbd44c1731e7df04866397e6e17799173f4c53cdee6115e155632859aee20bf47ec7dcef3f2168a47 + checksum: 10c0/f0603b6bd34d8ba62c03fc0572cb8bbc75874d097ac20cc7c5379e001081210a84dba1749e7123fca43b978382f605bb9973c99caf2c5b4c492d5c0a4a441150 languageName: node linkType: hard -"@babel/plugin-transform-class-static-block@npm:^7.25.8": - version: 7.25.8 - resolution: "@babel/plugin-transform-class-static-block@npm:7.25.8" +"@babel/plugin-transform-class-static-block@npm:^7.25.9": + version: 7.25.9 + resolution: "@babel/plugin-transform-class-static-block@npm:7.25.9" dependencies: - "@babel/helper-create-class-features-plugin": "npm:^7.25.7" - "@babel/helper-plugin-utils": "npm:^7.25.7" + "@babel/helper-create-class-features-plugin": "npm:^7.25.9" + "@babel/helper-plugin-utils": "npm:^7.25.9" peerDependencies: "@babel/core": ^7.12.0 - checksum: 10c0/4f37853aef6920875022bbb2d7c6523218d9d718291464e2cacd9cc6f2c22d86a69948d8ea38f9248843bbfe9343f3fd18cf16b1615560124198bf999e3ba612 + checksum: 10c0/696a3a8acde79d6fee4f685ee1353bf483c4cd50a38e586a1a044268df72d87f9b1a3b7c473def6cde836aa69931fd5a75560bb9ee3a635ebde8911575ed49ca languageName: node linkType: hard -"@babel/plugin-transform-classes@npm:^7.25.7": - version: 7.25.7 - resolution: "@babel/plugin-transform-classes@npm:7.25.7" +"@babel/plugin-transform-classes@npm:^7.25.9": + version: 7.25.9 + resolution: "@babel/plugin-transform-classes@npm:7.25.9" dependencies: - "@babel/helper-annotate-as-pure": "npm:^7.25.7" - "@babel/helper-compilation-targets": "npm:^7.25.7" - "@babel/helper-plugin-utils": "npm:^7.25.7" - "@babel/helper-replace-supers": "npm:^7.25.7" - "@babel/traverse": "npm:^7.25.7" + "@babel/helper-annotate-as-pure": "npm:^7.25.9" + "@babel/helper-compilation-targets": "npm:^7.25.9" + "@babel/helper-plugin-utils": "npm:^7.25.9" + "@babel/helper-replace-supers": "npm:^7.25.9" + "@babel/traverse": "npm:^7.25.9" globals: "npm:^11.1.0" peerDependencies: "@babel/core": ^7.0.0-0 - checksum: 10c0/8121781e1d8acd80e6169019106f73a399475ad9c895c1988a344dfed5a6ddd340938ac55123dc1e423bb8f25f255f5d11031116ad756ba3c314595a97c973af + checksum: 10c0/02742ea7cd25be286c982e672619effca528d7a931626a6f3d6cea11852951b7ee973276127eaf6418ac0e18c4d749a16b520709c707e86a67012bd23ff2927d languageName: node linkType: hard -"@babel/plugin-transform-computed-properties@npm:^7.25.7": - version: 7.25.7 - resolution: "@babel/plugin-transform-computed-properties@npm:7.25.7" +"@babel/plugin-transform-computed-properties@npm:^7.25.9": + version: 7.25.9 + resolution: "@babel/plugin-transform-computed-properties@npm:7.25.9" dependencies: - "@babel/helper-plugin-utils": "npm:^7.25.7" - "@babel/template": "npm:^7.25.7" + "@babel/helper-plugin-utils": "npm:^7.25.9" + "@babel/template": "npm:^7.25.9" peerDependencies: "@babel/core": ^7.0.0-0 - checksum: 10c0/7ad0a1c126f50935a02e77d438ebc39078a9d644b3a60de60bec32c5d9f49e7f2b193fcecb8c61bb1bc3cdd4af1e93f72d022d448511fa76a171527c633cd1bf + checksum: 10c0/948c0ae3ce0ba2375241d122a9bc7cda4a7ac8110bd8a62cd804bc46a5fdb7a7a42c7799c4cd972e14e0a579d2bd0999b92e53177b73f240bb0d4b09972c758b languageName: node linkType: hard -"@babel/plugin-transform-destructuring@npm:^7.25.7": - version: 7.25.7 - resolution: "@babel/plugin-transform-destructuring@npm:7.25.7" +"@babel/plugin-transform-destructuring@npm:^7.25.9": + version: 7.25.9 + resolution: "@babel/plugin-transform-destructuring@npm:7.25.9" dependencies: - "@babel/helper-plugin-utils": "npm:^7.25.7" + "@babel/helper-plugin-utils": "npm:^7.25.9" peerDependencies: "@babel/core": ^7.0.0-0 - checksum: 10c0/a563123b2fb267e03aa50104005f00b56226a685938906c42c1b251462e0cc9fc89e587d5656d3324159071eb8ebda8c68a6011f11d5a00fb1436cb5a5411b7b + checksum: 10c0/7beec5fda665d108f69d5023aa7c298a1e566b973dd41290faa18aeea70f6f571295c1ece0a058f3ceb6c6c96de76de7cd34f5a227fbf09a1b8d8a735d28ca49 languageName: node linkType: hard -"@babel/plugin-transform-dotall-regex@npm:^7.25.7": - version: 7.25.7 - resolution: "@babel/plugin-transform-dotall-regex@npm:7.25.7" +"@babel/plugin-transform-dotall-regex@npm:^7.25.9": + version: 7.25.9 + resolution: "@babel/plugin-transform-dotall-regex@npm:7.25.9" dependencies: - "@babel/helper-create-regexp-features-plugin": "npm:^7.25.7" - "@babel/helper-plugin-utils": "npm:^7.25.7" + "@babel/helper-create-regexp-features-plugin": "npm:^7.25.9" + "@babel/helper-plugin-utils": "npm:^7.25.9" peerDependencies: "@babel/core": ^7.0.0-0 - checksum: 10c0/7f1db3ec20b7fae46db4a9c4c257d75418b0896b72c0a3de20b3044f952801480f0a2e75ebb0d64f13e8cd4db0e49aa42c5c0edff372b23c41679b1ea5dd3ed4 + checksum: 10c0/7c3471ae5cf7521fd8da5b03e137e8d3733fc5ee4524ce01fb0c812f0bb77cb2c9657bc8a6253186be3a15bb4caa8974993c7ddc067f554ecc6a026f0a3b5e12 languageName: node linkType: hard -"@babel/plugin-transform-duplicate-keys@npm:^7.25.7": - version: 7.25.7 - resolution: "@babel/plugin-transform-duplicate-keys@npm:7.25.7" +"@babel/plugin-transform-duplicate-keys@npm:^7.25.9": + version: 7.25.9 + resolution: "@babel/plugin-transform-duplicate-keys@npm:7.25.9" dependencies: - "@babel/helper-plugin-utils": "npm:^7.25.7" + "@babel/helper-plugin-utils": "npm:^7.25.9" peerDependencies: "@babel/core": ^7.0.0-0 - checksum: 10c0/b4079981e2db19737a0f1a00254e7388e2d3c01ce36e9fd826e4d86d3c1755339495e29c71fd7c84a068201ec24687328d48f3bf53b32b6d6224f51d9a34da74 + checksum: 10c0/d0c74894b9bf6ff2a04189afffb9cd43d87ebd7b7943e51a827c92d2aaa40fa89ac81565a2fd6fbeabf9e38413a9264c45862eee2b017f1d49046cc3c8ff06b4 languageName: node linkType: hard -"@babel/plugin-transform-duplicate-named-capturing-groups-regex@npm:^7.25.7": - version: 7.25.7 - resolution: "@babel/plugin-transform-duplicate-named-capturing-groups-regex@npm:7.25.7" +"@babel/plugin-transform-duplicate-named-capturing-groups-regex@npm:^7.25.9": + version: 7.25.9 + resolution: "@babel/plugin-transform-duplicate-named-capturing-groups-regex@npm:7.25.9" dependencies: - "@babel/helper-create-regexp-features-plugin": "npm:^7.25.7" - "@babel/helper-plugin-utils": "npm:^7.25.7" + "@babel/helper-create-regexp-features-plugin": "npm:^7.25.9" + "@babel/helper-plugin-utils": "npm:^7.25.9" peerDependencies: "@babel/core": ^7.0.0 - checksum: 10c0/e4946090ff6d88d54b78265ee653079ec34c117ac046e22f66f7c4ac44249cdc2dfca385bc5bf4386db668b9948eeb12985589500188bc252e684c7714c31475 + checksum: 10c0/a8039a6d2b90e011c7b30975edee47b5b1097cf3c2f95ec1f5ddd029898d783a995f55f7d6eb8d6bb8873c060fb64f9f1ccba938dfe22d118d09cf68e0cd3bf6 languageName: node linkType: hard -"@babel/plugin-transform-dynamic-import@npm:^7.25.8": - version: 7.25.8 - resolution: "@babel/plugin-transform-dynamic-import@npm:7.25.8" +"@babel/plugin-transform-dynamic-import@npm:^7.25.9": + version: 7.25.9 + resolution: "@babel/plugin-transform-dynamic-import@npm:7.25.9" dependencies: - "@babel/helper-plugin-utils": "npm:^7.25.7" + "@babel/helper-plugin-utils": "npm:^7.25.9" peerDependencies: "@babel/core": ^7.0.0-0 - checksum: 10c0/9726abc1b07771a9c1e3670908ac425d21e29f54c775d10ed7a4e2bc0a18e07600f70bbc531deba3fb3ff7f6763c189200593264c6f784dac583e653b66fe754 + checksum: 10c0/5e643a8209072b668350f5788f23c64e9124f81f958b595c80fecca6561086d8ef346c04391b9e5e4cad8b8cbe22c258f0cd5f4ea89b97e74438e7d1abfd98cf languageName: node linkType: hard -"@babel/plugin-transform-exponentiation-operator@npm:^7.25.7": - version: 7.25.7 - resolution: "@babel/plugin-transform-exponentiation-operator@npm:7.25.7" +"@babel/plugin-transform-exponentiation-operator@npm:^7.25.9": + version: 7.25.9 + resolution: "@babel/plugin-transform-exponentiation-operator@npm:7.25.9" dependencies: - "@babel/helper-builder-binary-assignment-operator-visitor": "npm:^7.25.7" - "@babel/helper-plugin-utils": "npm:^7.25.7" + "@babel/helper-builder-binary-assignment-operator-visitor": "npm:^7.25.9" + "@babel/helper-plugin-utils": "npm:^7.25.9" peerDependencies: "@babel/core": ^7.0.0-0 - checksum: 10c0/c8537b9f3cddc5a8d3710f6980196dc7a0f4389f8f82617312a5f7b8b15bcd8ddaeba783c687c3ac6031eb0a4ba0bc380a98da6bf7efe98e225602a98ad42a1e + checksum: 10c0/3b42f65bab3fee28c385115ce6bcb6ba544dff187012df408a432c9fb44c980afd898911020c723dc1c9257aaf3d7d0131ad83ba15102bf30ad9a86fc2a8a912 languageName: node linkType: hard -"@babel/plugin-transform-export-namespace-from@npm:^7.25.8": - version: 7.25.8 - resolution: "@babel/plugin-transform-export-namespace-from@npm:7.25.8" +"@babel/plugin-transform-export-namespace-from@npm:^7.25.9": + version: 7.25.9 + resolution: "@babel/plugin-transform-export-namespace-from@npm:7.25.9" dependencies: - "@babel/helper-plugin-utils": "npm:^7.25.7" + "@babel/helper-plugin-utils": "npm:^7.25.9" peerDependencies: "@babel/core": ^7.0.0-0 - checksum: 10c0/8a2e1205dd727a96a9adef0e981d68c61b1c286480b9136e2aa67ce3e2c742be4f87feb9fb4c5548a401aba0953d43d66e9ec36a54dea6a7c15f1ee9345baf57 + checksum: 10c0/f291ea2ec5f36de9028a00cbd5b32f08af281b8183bf047200ff001f4cb260be56f156b2449f42149448a4a033bd6e86a3a7f06d0c2825532eb0ae6b03058dfb languageName: node linkType: hard -"@babel/plugin-transform-for-of@npm:^7.25.7": - version: 7.25.7 - resolution: "@babel/plugin-transform-for-of@npm:7.25.7" +"@babel/plugin-transform-for-of@npm:^7.25.9": + version: 7.25.9 + resolution: "@babel/plugin-transform-for-of@npm:7.25.9" dependencies: - "@babel/helper-plugin-utils": "npm:^7.25.7" - "@babel/helper-skip-transparent-expression-wrappers": "npm:^7.25.7" + "@babel/helper-plugin-utils": "npm:^7.25.9" + "@babel/helper-skip-transparent-expression-wrappers": "npm:^7.25.9" peerDependencies: "@babel/core": ^7.0.0-0 - checksum: 10c0/08a37a1742368a422d095c998ed76f60f6bf3f9cc060033be121d803fd2dddc08fe543e48ee49c022bdc9ed80893ca79d084958d83d30684178b088774754277 + checksum: 10c0/bf11abc71934a1f369f39cd7a33cf3d4dc5673026a53f70b7c1238c4fcc44e68b3ca1bdbe3db2076f60defb6ffe117cbe10b90f3e1a613b551d88f7c4e693bbe languageName: node linkType: hard -"@babel/plugin-transform-function-name@npm:^7.25.7": - version: 7.25.7 - resolution: "@babel/plugin-transform-function-name@npm:7.25.7" +"@babel/plugin-transform-function-name@npm:^7.25.9": + version: 7.25.9 + resolution: "@babel/plugin-transform-function-name@npm:7.25.9" dependencies: - "@babel/helper-compilation-targets": "npm:^7.25.7" - "@babel/helper-plugin-utils": "npm:^7.25.7" - "@babel/traverse": "npm:^7.25.7" + "@babel/helper-compilation-targets": "npm:^7.25.9" + "@babel/helper-plugin-utils": "npm:^7.25.9" + "@babel/traverse": "npm:^7.25.9" peerDependencies: "@babel/core": ^7.0.0-0 - checksum: 10c0/ca98e1116c0ada7211ed43e4b7f21ca15f95bbbdad70f2fbe1ec2d90a97daedf9f22fcb0a25c8b164a5e394f509f2e4d1f7609d26dc938a58d37c5ee9b80088a + checksum: 10c0/8e67fbd1dd367927b8b6afdf0a6e7cb3a3fd70766c52f700ca77428b6d536f6c9d7ec643e7762d64b23093233765c66bffa40e31aabe6492682879bcb45423e1 languageName: node linkType: hard -"@babel/plugin-transform-json-strings@npm:^7.25.8": - version: 7.25.8 - resolution: "@babel/plugin-transform-json-strings@npm:7.25.8" +"@babel/plugin-transform-json-strings@npm:^7.25.9": + version: 7.25.9 + resolution: "@babel/plugin-transform-json-strings@npm:7.25.9" dependencies: - "@babel/helper-plugin-utils": "npm:^7.25.7" + "@babel/helper-plugin-utils": "npm:^7.25.9" peerDependencies: "@babel/core": ^7.0.0-0 - checksum: 10c0/2a6cf69ebe8deebc39c56adae75d609e16786dc4cbd83577eefdc838bd89ca8974671d47e2669b8e65ef9b7ace427f7c2c5a9fc6aa09247b10e141d15fee81cf + checksum: 10c0/00bc2d4751dfc9d44ab725be16ee534de13cfd7e77dfb386e5dac9e48101ce8fcbc5971df919dc25b3f8a0fa85d6dc5f2a0c3cf7ec9d61c163d9823c091844f0 languageName: node linkType: hard -"@babel/plugin-transform-literals@npm:^7.25.7": - version: 7.25.7 - resolution: "@babel/plugin-transform-literals@npm:7.25.7" +"@babel/plugin-transform-literals@npm:^7.25.9": + version: 7.25.9 + resolution: "@babel/plugin-transform-literals@npm:7.25.9" dependencies: - "@babel/helper-plugin-utils": "npm:^7.25.7" + "@babel/helper-plugin-utils": "npm:^7.25.9" peerDependencies: "@babel/core": ^7.0.0-0 - checksum: 10c0/c2c2488102f33e566f45becdcb632e53bd052ecfb2879deb07a614b3e9437e3b624c3b16d080096d50b0b622edebd03e438acbf9260bcc41167897963f64560e + checksum: 10c0/00b14e9c14cf1e871c1f3781bf6334cac339c360404afd6aba63d2f6aca9270854d59a2b40abff1c4c90d4ffdca614440842d3043316c2f0ceb155fdf7726b3b languageName: node linkType: hard -"@babel/plugin-transform-logical-assignment-operators@npm:^7.25.8": - version: 7.25.8 - resolution: "@babel/plugin-transform-logical-assignment-operators@npm:7.25.8" +"@babel/plugin-transform-logical-assignment-operators@npm:^7.25.9": + version: 7.25.9 + resolution: "@babel/plugin-transform-logical-assignment-operators@npm:7.25.9" dependencies: - "@babel/helper-plugin-utils": "npm:^7.25.7" + "@babel/helper-plugin-utils": "npm:^7.25.9" peerDependencies: "@babel/core": ^7.0.0-0 - checksum: 10c0/9adc2634c94b283b682fbf71bbec553bd8448196213491a0ef9ea167993c9c36dcb2fbefbd834e113cfed843a67290131bc99e463f8702043c3f4e3a99bb807e + checksum: 10c0/6e2051e10b2d6452980fc4bdef9da17c0d6ca48f81b8529e8804b031950e4fff7c74a7eb3de4a2b6ad22ffb631d0b67005425d232cce6e2b29ce861c78ed04f5 languageName: node linkType: hard -"@babel/plugin-transform-member-expression-literals@npm:^7.25.7": - version: 7.25.7 - resolution: "@babel/plugin-transform-member-expression-literals@npm:7.25.7" +"@babel/plugin-transform-member-expression-literals@npm:^7.25.9": + version: 7.25.9 + resolution: "@babel/plugin-transform-member-expression-literals@npm:7.25.9" dependencies: - "@babel/helper-plugin-utils": "npm:^7.25.7" + "@babel/helper-plugin-utils": "npm:^7.25.9" peerDependencies: "@babel/core": ^7.0.0-0 - checksum: 10c0/d6936b98ae4d3daed850dc4e064042ea4375f815219ba9d8591373bf1fba4cfdb5be42623ae8882f2d666cc34af650a4855e2a5ad89e3c235d73a6f172f9969c + checksum: 10c0/91d17b451bcc5ea9f1c6f8264144057ade3338d4b92c0b248366e4db3a7790a28fd59cc56ac433a9627a9087a17a5684e53f4995dd6ae92831cb72f1bd540b54 languageName: node linkType: hard -"@babel/plugin-transform-modules-amd@npm:^7.25.7": - version: 7.25.7 - resolution: "@babel/plugin-transform-modules-amd@npm:7.25.7" +"@babel/plugin-transform-modules-amd@npm:^7.25.9": + version: 7.25.9 + resolution: "@babel/plugin-transform-modules-amd@npm:7.25.9" dependencies: - "@babel/helper-module-transforms": "npm:^7.25.7" - "@babel/helper-plugin-utils": "npm:^7.25.7" + "@babel/helper-module-transforms": "npm:^7.25.9" + "@babel/helper-plugin-utils": "npm:^7.25.9" peerDependencies: "@babel/core": ^7.0.0-0 - checksum: 10c0/c0bc999206c3834c090e6559a6c8a55d7672d3573104e832223ebe7df99bd1b82fc850e15ba32f512c84b0db1cdb613b66fa60abe9abb9c7e8dcbff91649b356 + checksum: 10c0/849957d9484d0a2d93331226ed6cf840cee7d57454549534c447c93f8b839ef8553eae9877f8f550e3c39f14d60992f91244b2e8e7502a46064b56c5d68ba855 languageName: node linkType: hard -"@babel/plugin-transform-modules-commonjs@npm:^7.25.7": - version: 7.25.7 - resolution: "@babel/plugin-transform-modules-commonjs@npm:7.25.7" +"@babel/plugin-transform-modules-commonjs@npm:^7.25.9": + version: 7.25.9 + resolution: "@babel/plugin-transform-modules-commonjs@npm:7.25.9" dependencies: - "@babel/helper-module-transforms": "npm:^7.25.7" - "@babel/helper-plugin-utils": "npm:^7.25.7" - "@babel/helper-simple-access": "npm:^7.25.7" + "@babel/helper-module-transforms": "npm:^7.25.9" + "@babel/helper-plugin-utils": "npm:^7.25.9" + "@babel/helper-simple-access": "npm:^7.25.9" peerDependencies: "@babel/core": ^7.0.0-0 - checksum: 10c0/2f1c945fc3c9b690b0ddcf2c80156b2e4fbf2cf15aac43ac8fe6e4b34125869528839a53d07c564e62e4aed394ebdc1d2c3b796b547374455522581c11b7599c + checksum: 10c0/6ce771fb04d4810257fc8900374fece877dacaed74b05eaa16ad9224b390f43795c4d046cbe9ae304e1eb5aad035d37383895e3c64496d647c2128d183916e74 languageName: node linkType: hard -"@babel/plugin-transform-modules-systemjs@npm:^7.25.7": - version: 7.25.7 - resolution: "@babel/plugin-transform-modules-systemjs@npm:7.25.7" +"@babel/plugin-transform-modules-systemjs@npm:^7.25.9": + version: 7.25.9 + resolution: "@babel/plugin-transform-modules-systemjs@npm:7.25.9" dependencies: - "@babel/helper-module-transforms": "npm:^7.25.7" - "@babel/helper-plugin-utils": "npm:^7.25.7" - "@babel/helper-validator-identifier": "npm:^7.25.7" - "@babel/traverse": "npm:^7.25.7" + "@babel/helper-module-transforms": "npm:^7.25.9" + "@babel/helper-plugin-utils": "npm:^7.25.9" + "@babel/helper-validator-identifier": "npm:^7.25.9" + "@babel/traverse": "npm:^7.25.9" peerDependencies: "@babel/core": ^7.0.0-0 - checksum: 10c0/95eaea7082636710c61e49e58b3907e85ec79db4327411d3784f28592509fbe94a53cc3d20a36a1cf245efc6d3f0017eae15b45ffd645c1ab949bb4e1670e6bb + checksum: 10c0/8299e3437542129c2684b86f98408c690df27db4122a79edded4782cf04e755d6ecb05b1e812c81a34224a81e664303392d5f3c36f3d2d51fdc99bb91c881e9a languageName: node linkType: hard -"@babel/plugin-transform-modules-umd@npm:^7.25.7": - version: 7.25.7 - resolution: "@babel/plugin-transform-modules-umd@npm:7.25.7" +"@babel/plugin-transform-modules-umd@npm:^7.25.9": + version: 7.25.9 + resolution: "@babel/plugin-transform-modules-umd@npm:7.25.9" dependencies: - "@babel/helper-module-transforms": "npm:^7.25.7" - "@babel/helper-plugin-utils": "npm:^7.25.7" + "@babel/helper-module-transforms": "npm:^7.25.9" + "@babel/helper-plugin-utils": "npm:^7.25.9" peerDependencies: "@babel/core": ^7.0.0-0 - checksum: 10c0/8849ab04eecdb73cd37e2d7289449fa5256331832b0304c220b2a6aaa12e2d2dd87684f2813412d1fc5bdb3d6b55cc08c6386d3273fe05a65177c09bee5b6769 + checksum: 10c0/fa11a621f023e2ac437b71d5582f819e667c94306f022583d77da9a8f772c4128861a32bbb63bef5cba581a70cd7dbe87a37238edaafcfacf889470c395e7076 languageName: node linkType: hard -"@babel/plugin-transform-named-capturing-groups-regex@npm:^7.25.7": - version: 7.25.7 - resolution: "@babel/plugin-transform-named-capturing-groups-regex@npm:7.25.7" +"@babel/plugin-transform-named-capturing-groups-regex@npm:^7.25.9": + version: 7.25.9 + resolution: "@babel/plugin-transform-named-capturing-groups-regex@npm:7.25.9" dependencies: - "@babel/helper-create-regexp-features-plugin": "npm:^7.25.7" - "@babel/helper-plugin-utils": "npm:^7.25.7" + "@babel/helper-create-regexp-features-plugin": "npm:^7.25.9" + "@babel/helper-plugin-utils": "npm:^7.25.9" peerDependencies: "@babel/core": ^7.0.0 - checksum: 10c0/eb55fec55dc930cd122911f3e4a421320fa8b1b4de85bfd7ef11b46c611ec69b0213c114a6e1c6bc224d6b954ff183a0caa7251267d5258ecc0f00d6d9ca1d52 + checksum: 10c0/32b14fda5c885d1706863f8af2ee6c703d39264355b57482d3a24fce7f6afbd4c7a0896e501c0806ed2b0759beb621bf7f3f7de1fbbc82026039a98d961e78ef languageName: node linkType: hard -"@babel/plugin-transform-new-target@npm:^7.25.7": - version: 7.25.7 - resolution: "@babel/plugin-transform-new-target@npm:7.25.7" +"@babel/plugin-transform-new-target@npm:^7.25.9": + version: 7.25.9 + resolution: "@babel/plugin-transform-new-target@npm:7.25.9" dependencies: - "@babel/helper-plugin-utils": "npm:^7.25.7" + "@babel/helper-plugin-utils": "npm:^7.25.9" peerDependencies: "@babel/core": ^7.0.0-0 - checksum: 10c0/8e5dce6d027e0f3fd394578ea1af7f515de157793a15c23a5aad7034a6d8a4005ef280238e67a232bb4dd4fafd3a264fed462deb149128ddd9ce59ff6f575cff + checksum: 10c0/7b5f1b7998f1cf183a7fa646346e2f3742e5805b609f28ad5fee22d666a15010f3e398b7e1ab78cddb7901841a3d3f47135929af23d54e8bf4ce69b72051f71e languageName: node linkType: hard -"@babel/plugin-transform-nullish-coalescing-operator@npm:^7.22.3, @babel/plugin-transform-nullish-coalescing-operator@npm:^7.25.8": - version: 7.25.8 - resolution: "@babel/plugin-transform-nullish-coalescing-operator@npm:7.25.8" +"@babel/plugin-transform-nullish-coalescing-operator@npm:^7.22.3, @babel/plugin-transform-nullish-coalescing-operator@npm:^7.25.9": + version: 7.25.9 + resolution: "@babel/plugin-transform-nullish-coalescing-operator@npm:7.25.9" dependencies: - "@babel/helper-plugin-utils": "npm:^7.25.7" + "@babel/helper-plugin-utils": "npm:^7.25.9" peerDependencies: "@babel/core": ^7.0.0-0 - checksum: 10c0/3cb7c44cffccae42e104755acb31b4f00bc27d8c88102ae6f30dca508832f98fa5b746bead0fc7c0c6ddcf83f336829be4b64245c6c7ce26b3ef591937ec54a4 + checksum: 10c0/eb623db5be078a1c974afe7c7797b0309ba2ea9e9237c0b6831ade0f56d8248bb4ab3432ab34495ff8c877ec2fe412ff779d1e9b3c2b8139da18e1753d950bc3 languageName: node linkType: hard -"@babel/plugin-transform-numeric-separator@npm:^7.25.8": - version: 7.25.8 - resolution: "@babel/plugin-transform-numeric-separator@npm:7.25.8" +"@babel/plugin-transform-numeric-separator@npm:^7.25.9": + version: 7.25.9 + resolution: "@babel/plugin-transform-numeric-separator@npm:7.25.9" dependencies: - "@babel/helper-plugin-utils": "npm:^7.25.7" + "@babel/helper-plugin-utils": "npm:^7.25.9" peerDependencies: "@babel/core": ^7.0.0-0 - checksum: 10c0/d23b3ebc50513f24510791ac2cad43e3c6ea08579f54dccfd4ed5e5d5084f02da0576ea42ea999fb51e1f94f42857cac96a1a29ac6728fc262fbe87ec966dc18 + checksum: 10c0/ad63ad341977844b6f9535fcca15ca0d6d6ad112ed9cc509d4f6b75e9bf4b1b1a96a0bcb1986421a601505d34025373608b5f76d420d924b4e21f86b1a1f2749 languageName: node linkType: hard -"@babel/plugin-transform-object-rest-spread@npm:^7.25.8": - version: 7.25.8 - resolution: "@babel/plugin-transform-object-rest-spread@npm:7.25.8" +"@babel/plugin-transform-object-rest-spread@npm:^7.25.9": + version: 7.25.9 + resolution: "@babel/plugin-transform-object-rest-spread@npm:7.25.9" dependencies: - "@babel/helper-compilation-targets": "npm:^7.25.7" - "@babel/helper-plugin-utils": "npm:^7.25.7" - "@babel/plugin-transform-parameters": "npm:^7.25.7" + "@babel/helper-compilation-targets": "npm:^7.25.9" + "@babel/helper-plugin-utils": "npm:^7.25.9" + "@babel/plugin-transform-parameters": "npm:^7.25.9" peerDependencies: "@babel/core": ^7.0.0-0 - checksum: 10c0/058d5f5bb61068997fb78855011dd175d441da84717640852bbfd12a5919acf8d8c5a14c1debfe87d230f3f4c47c22fcad3d7fa1acd72e5e48b2fff93b6c1dd9 + checksum: 10c0/02077d8abd83bf6a48ff0b59e98d7561407cf75b591cffd3fdc5dc5e9a13dec1c847a7a690983762a3afecddb244831e897e0515c293e7c653b262c30cd614af languageName: node linkType: hard -"@babel/plugin-transform-object-super@npm:^7.25.7": - version: 7.25.7 - resolution: "@babel/plugin-transform-object-super@npm:7.25.7" +"@babel/plugin-transform-object-super@npm:^7.25.9": + version: 7.25.9 + resolution: "@babel/plugin-transform-object-super@npm:7.25.9" dependencies: - "@babel/helper-plugin-utils": "npm:^7.25.7" - "@babel/helper-replace-supers": "npm:^7.25.7" + "@babel/helper-plugin-utils": "npm:^7.25.9" + "@babel/helper-replace-supers": "npm:^7.25.9" peerDependencies: "@babel/core": ^7.0.0-0 - checksum: 10c0/7f2968d4da997101b63fd3b74445c9b16f56bd32cd8a0a16c368af9d3e983e7675c1b05d18601f32307cb06e7d884ee11d13ff18a1f6830c0db243a9a852afab + checksum: 10c0/0348d00e76f1f15ada44481a76e8c923d24cba91f6e49ee9b30d6861eb75344e7f84d62a18df8a6f9e9a7eacf992f388174b7f9cc4ce48287bcefca268c07600 languageName: node linkType: hard -"@babel/plugin-transform-optional-catch-binding@npm:^7.25.8": - version: 7.25.8 - resolution: "@babel/plugin-transform-optional-catch-binding@npm:7.25.8" +"@babel/plugin-transform-optional-catch-binding@npm:^7.25.9": + version: 7.25.9 + resolution: "@babel/plugin-transform-optional-catch-binding@npm:7.25.9" dependencies: - "@babel/helper-plugin-utils": "npm:^7.25.7" + "@babel/helper-plugin-utils": "npm:^7.25.9" peerDependencies: "@babel/core": ^7.0.0-0 - checksum: 10c0/f4360e62ca4aa998db31548d0ef06836d958bcb29dee58f5c62d0c29b6b2bff1b54871195bd032825fe3dd79a4fd8275e165148c8d4b57694bcf72135c8f7d24 + checksum: 10c0/722fd5ee12ab905309d4e84421584fce4b6d9e6b639b06afb20b23fa809e6ab251e908a8d5e8b14d066a28186b8ef8f58d69fd6eca9ce1b9ef7af08333378f6c languageName: node linkType: hard -"@babel/plugin-transform-optional-chaining@npm:^7.25.7, @babel/plugin-transform-optional-chaining@npm:^7.25.8": - version: 7.25.8 - resolution: "@babel/plugin-transform-optional-chaining@npm:7.25.8" +"@babel/plugin-transform-optional-chaining@npm:^7.25.9": + version: 7.25.9 + resolution: "@babel/plugin-transform-optional-chaining@npm:7.25.9" dependencies: - "@babel/helper-plugin-utils": "npm:^7.25.7" - "@babel/helper-skip-transparent-expression-wrappers": "npm:^7.25.7" + "@babel/helper-plugin-utils": "npm:^7.25.9" + "@babel/helper-skip-transparent-expression-wrappers": "npm:^7.25.9" peerDependencies: "@babel/core": ^7.0.0-0 - checksum: 10c0/a1cdbfc249619fa6b37e57f81600701281629d86a57e616b0c2b29816d0c43114a2296ce089564afd3aa7870c8aad62e907658ffef2c110662af14ee23d5247f + checksum: 10c0/041ad2beae5affb8e68a0bcb6882a2dadb758db3c629a0e012f57488ab43a822ac1ea17a29db8ef36560a28262a5dfa4dbbbf06ed6e431db55abe024b7cd3961 languageName: node linkType: hard -"@babel/plugin-transform-parameters@npm:^7.25.7": - version: 7.25.7 - resolution: "@babel/plugin-transform-parameters@npm:7.25.7" +"@babel/plugin-transform-parameters@npm:^7.25.9": + version: 7.25.9 + resolution: "@babel/plugin-transform-parameters@npm:7.25.9" dependencies: - "@babel/helper-plugin-utils": "npm:^7.25.7" + "@babel/helper-plugin-utils": "npm:^7.25.9" peerDependencies: "@babel/core": ^7.0.0-0 - checksum: 10c0/b40ba70278842ce1e800d7ab400df730994941550da547ef453780023bd61a9b8acf4b9fb8419c1b5bcbe09819a1146ff59369db11db07eb71870bef86a12422 + checksum: 10c0/aecb446754b9e09d6b6fa95fd09e7cf682f8aaeed1d972874ba24c0a30a7e803ad5f014bb1fffc7bfeed22f93c0d200947407894ea59bf7687816f2f464f8df3 languageName: node linkType: hard -"@babel/plugin-transform-private-methods@npm:^7.25.7": - version: 7.25.7 - resolution: "@babel/plugin-transform-private-methods@npm:7.25.7" +"@babel/plugin-transform-private-methods@npm:^7.25.9": + version: 7.25.9 + resolution: "@babel/plugin-transform-private-methods@npm:7.25.9" dependencies: - "@babel/helper-create-class-features-plugin": "npm:^7.25.7" - "@babel/helper-plugin-utils": "npm:^7.25.7" + "@babel/helper-create-class-features-plugin": "npm:^7.25.9" + "@babel/helper-plugin-utils": "npm:^7.25.9" peerDependencies: "@babel/core": ^7.0.0-0 - checksum: 10c0/92e076f63f7c4696e1321dafdd56c4212eb41784cdadba0ebc39091f959a76d357c3df61a6c668be81d6b6ad8964ee458e85752ab0c6cfbbaf2066903edda732 + checksum: 10c0/64bd71de93d39daefa3e6c878d6f2fd238ed7d4ecfb13b0e771ddbbc131487def3ceb405b62b534a5cbb5043046b504e1b189b0a45229cc75af979a9fbcaa7bd languageName: node linkType: hard -"@babel/plugin-transform-private-property-in-object@npm:^7.25.8": - version: 7.25.8 - resolution: "@babel/plugin-transform-private-property-in-object@npm:7.25.8" +"@babel/plugin-transform-private-property-in-object@npm:^7.25.9": + version: 7.25.9 + resolution: "@babel/plugin-transform-private-property-in-object@npm:7.25.9" dependencies: - "@babel/helper-annotate-as-pure": "npm:^7.25.7" - "@babel/helper-create-class-features-plugin": "npm:^7.25.7" - "@babel/helper-plugin-utils": "npm:^7.25.7" + "@babel/helper-annotate-as-pure": "npm:^7.25.9" + "@babel/helper-create-class-features-plugin": "npm:^7.25.9" + "@babel/helper-plugin-utils": "npm:^7.25.9" peerDependencies: "@babel/core": ^7.0.0-0 - checksum: 10c0/61b5e3a4eb94caf38d6e9ff7bff1ac8927758141aaa4891036d3490866ecee53beaefd7893519fec42a4c55f33374a17fc0e49694cdaf95668082073f0fe4a79 + checksum: 10c0/d4965de19d9f204e692cc74dbc39f0bb469e5f29df96dd4457ea23c5e5596fba9d5af76eaa96f9d48a9fc20ec5f12a94c679285e36b8373406868ea228109e27 languageName: node linkType: hard -"@babel/plugin-transform-property-literals@npm:^7.25.7": - version: 7.25.7 - resolution: "@babel/plugin-transform-property-literals@npm:7.25.7" +"@babel/plugin-transform-property-literals@npm:^7.25.9": + version: 7.25.9 + resolution: "@babel/plugin-transform-property-literals@npm:7.25.9" dependencies: - "@babel/helper-plugin-utils": "npm:^7.25.7" + "@babel/helper-plugin-utils": "npm:^7.25.9" peerDependencies: "@babel/core": ^7.0.0-0 - checksum: 10c0/6d5bccdc772207906666ad5201bd91e4e132e1d806dbcf4163a1d08e18c57cc3795578c4e10596514bcd6afaf9696f478ea4f0dea890176d93b9cb077b9e5c55 + checksum: 10c0/1639e35b2438ccf3107af760d34e6a8e4f9acdd3ae6186ae771a6e3029bd59dfe778e502d67090f1185ecda5c16addfed77561e39c518a3f51ff10d41790e106 languageName: node linkType: hard @@ -1060,290 +1060,290 @@ __metadata: languageName: node linkType: hard -"@babel/plugin-transform-react-display-name@npm:^7.25.7": - version: 7.25.7 - resolution: "@babel/plugin-transform-react-display-name@npm:7.25.7" +"@babel/plugin-transform-react-display-name@npm:^7.25.9": + version: 7.25.9 + resolution: "@babel/plugin-transform-react-display-name@npm:7.25.9" dependencies: - "@babel/helper-plugin-utils": "npm:^7.25.7" + "@babel/helper-plugin-utils": "npm:^7.25.9" peerDependencies: "@babel/core": ^7.0.0-0 - checksum: 10c0/a0c537cc7c328ed7468d3b6a37bf0d9cb15d94afcdf3f2849ce6e5a68494fc61f0fa4fc529482a6b95b00f3c5c734f310bf18085293bff40702789f06c816f36 + checksum: 10c0/63a0f962d64e71baf87c212755419e25c637d2d95ea6fdc067df26b91e606ae186442ae815b99a577eca9bf5404d9577ecad218a3cf42d0e9e286ca7b003a992 languageName: node linkType: hard "@babel/plugin-transform-react-inline-elements@npm:^7.21.0": - version: 7.25.7 - resolution: "@babel/plugin-transform-react-inline-elements@npm:7.25.7" + version: 7.25.9 + resolution: "@babel/plugin-transform-react-inline-elements@npm:7.25.9" dependencies: - "@babel/helper-builder-react-jsx": "npm:^7.25.7" - "@babel/helper-plugin-utils": "npm:^7.25.7" + "@babel/helper-builder-react-jsx": "npm:^7.25.9" + "@babel/helper-plugin-utils": "npm:^7.25.9" peerDependencies: "@babel/core": ^7.0.0-0 - checksum: 10c0/de85180c09002083cb330ef28d5b31b44e6ac6565c700b603be76e629f5a92c59ff69f79c08cc1dbd2dd1f271f44fe8d4c751deaf66c059ba721aa3cb43c881e + checksum: 10c0/d745bcfa8e51acc497b5ea2ff2fc4215cd39ebdb54703f2973962e3818a4829081ebc9e7818db28f90d1295e0b02e140986509ba48eef8aaa9de8c09b9434646 languageName: node linkType: hard -"@babel/plugin-transform-react-jsx-development@npm:^7.25.7": - version: 7.25.7 - resolution: "@babel/plugin-transform-react-jsx-development@npm:7.25.7" +"@babel/plugin-transform-react-jsx-development@npm:^7.25.9": + version: 7.25.9 + resolution: "@babel/plugin-transform-react-jsx-development@npm:7.25.9" dependencies: - "@babel/plugin-transform-react-jsx": "npm:^7.25.7" + "@babel/plugin-transform-react-jsx": "npm:^7.25.9" peerDependencies: "@babel/core": ^7.0.0-0 - checksum: 10c0/a3dc14644d09a6d22875af7b5584393ab53e467e0531cd192fc6242504dacaffa421e89265ba7f84fd4edef2b7b100d2e2ebf092a4dce2b55cf9c5fe29390c18 + checksum: 10c0/c0b92ff9eb029620abf320ff74aae182cea87524723d740fb48a4373d0d16bddf5edbe1116e7ba341332a5337e55c2ceaee8b8cad5549e78af7f4b3cfe77debb languageName: node linkType: hard -"@babel/plugin-transform-react-jsx@npm:^7.25.7": - version: 7.25.7 - resolution: "@babel/plugin-transform-react-jsx@npm:7.25.7" +"@babel/plugin-transform-react-jsx@npm:^7.25.9": + version: 7.25.9 + resolution: "@babel/plugin-transform-react-jsx@npm:7.25.9" dependencies: - "@babel/helper-annotate-as-pure": "npm:^7.25.7" - "@babel/helper-module-imports": "npm:^7.25.7" - "@babel/helper-plugin-utils": "npm:^7.25.7" - "@babel/plugin-syntax-jsx": "npm:^7.25.7" - "@babel/types": "npm:^7.25.7" + "@babel/helper-annotate-as-pure": "npm:^7.25.9" + "@babel/helper-module-imports": "npm:^7.25.9" + "@babel/helper-plugin-utils": "npm:^7.25.9" + "@babel/plugin-syntax-jsx": "npm:^7.25.9" + "@babel/types": "npm:^7.25.9" peerDependencies: "@babel/core": ^7.0.0-0 - checksum: 10c0/6766b0357b8bbfcb77fca5350f06cf822c89bbe75ddcaea24614601ef23957504da24e76597d743038ce8fa081373b0663c8ad0c86d7c7226e8185f0680b8b56 + checksum: 10c0/5c9947e8ed141f7606f54da3e05eea1074950c5b8354c39df69cb7f43cb5a83c6c9d7973b24bc3d89341c8611f8ad50830a98ab10d117d850e6bdd8febdce221 languageName: node linkType: hard -"@babel/plugin-transform-react-pure-annotations@npm:^7.25.7": - version: 7.25.7 - resolution: "@babel/plugin-transform-react-pure-annotations@npm:7.25.7" +"@babel/plugin-transform-react-pure-annotations@npm:^7.25.9": + version: 7.25.9 + resolution: "@babel/plugin-transform-react-pure-annotations@npm:7.25.9" dependencies: - "@babel/helper-annotate-as-pure": "npm:^7.25.7" - "@babel/helper-plugin-utils": "npm:^7.25.7" + "@babel/helper-annotate-as-pure": "npm:^7.25.9" + "@babel/helper-plugin-utils": "npm:^7.25.9" peerDependencies: "@babel/core": ^7.0.0-0 - checksum: 10c0/d92c9b511850fb6dea71966a0d4f313d67e317db7fc3633a7ff2e27d6df2e95cbc91c4c25abdb6c8db651fcda842a0cb7433835a8a9d4a3fdc5d452068428101 + checksum: 10c0/7c8eac04644ad19dcd71bb8e949b0ae22b9e548fa4a58e545d3d0342f647fb89db7f8789a7c5b8074d478ce6d3d581eaf47dd4b36027e16fd68211c383839abc languageName: node linkType: hard -"@babel/plugin-transform-regenerator@npm:^7.25.7": - version: 7.25.7 - resolution: "@babel/plugin-transform-regenerator@npm:7.25.7" +"@babel/plugin-transform-regenerator@npm:^7.25.9": + version: 7.25.9 + resolution: "@babel/plugin-transform-regenerator@npm:7.25.9" dependencies: - "@babel/helper-plugin-utils": "npm:^7.25.7" + "@babel/helper-plugin-utils": "npm:^7.25.9" regenerator-transform: "npm:^0.15.2" peerDependencies: "@babel/core": ^7.0.0-0 - checksum: 10c0/7ee3a57c4050bc908ef7ac392d810826b294970a7182f4ec34a8ca93dbe36deb21bc862616d46a6f3d881d6b5749930e1679e875b638a00866d844a4250df212 + checksum: 10c0/eef3ffc19f7d291b863635f32b896ad7f87806d9219a0d3404a470219abcfc5b43aabecd691026c48e875b965760d9c16abee25e6447272233f30cd07f453ec7 languageName: node linkType: hard -"@babel/plugin-transform-reserved-words@npm:^7.25.7": - version: 7.25.7 - resolution: "@babel/plugin-transform-reserved-words@npm:7.25.7" +"@babel/plugin-transform-reserved-words@npm:^7.25.9": + version: 7.25.9 + resolution: "@babel/plugin-transform-reserved-words@npm:7.25.9" dependencies: - "@babel/helper-plugin-utils": "npm:^7.25.7" + "@babel/helper-plugin-utils": "npm:^7.25.9" peerDependencies: "@babel/core": ^7.0.0-0 - checksum: 10c0/920c98130daff6c1288fb13a9a2d2e45863bba93e619cb88d90e1f5b5cb358a3ee8880a425a3adb1b4bd5dbb6bd0500eea3370fc612633045eec851b08cc586c + checksum: 10c0/8b028b80d1983e3e02f74e21924323cc66ba930e5c5758909a122aa7d80e341b8b0f42e1698e42b50d47a6ba911332f584200b28e1a4e2104b7514d9dc011e96 languageName: node linkType: hard "@babel/plugin-transform-runtime@npm:^7.22.4": - version: 7.25.7 - resolution: "@babel/plugin-transform-runtime@npm:7.25.7" + version: 7.25.9 + resolution: "@babel/plugin-transform-runtime@npm:7.25.9" dependencies: - "@babel/helper-module-imports": "npm:^7.25.7" - "@babel/helper-plugin-utils": "npm:^7.25.7" + "@babel/helper-module-imports": "npm:^7.25.9" + "@babel/helper-plugin-utils": "npm:^7.25.9" babel-plugin-polyfill-corejs2: "npm:^0.4.10" babel-plugin-polyfill-corejs3: "npm:^0.10.6" babel-plugin-polyfill-regenerator: "npm:^0.6.1" semver: "npm:^6.3.1" peerDependencies: "@babel/core": ^7.0.0-0 - checksum: 10c0/9b2514e9079361ac8e7e500ffd522dad869d61a3894302da7e29bbac80de00276c8a1b4394d1dcf0b51c57b2c854919928df9648be336139fdf1d6ecd6d1bb32 + checksum: 10c0/888a4998ba0a2313de347954c9a8dfeccbff0633c69d33aee385b8878eba2b429dbfb00c3cc04f6bca454b9be8afa01ebbd73defb7fbbb6e2d3086205c07758b languageName: node linkType: hard -"@babel/plugin-transform-shorthand-properties@npm:^7.25.7": - version: 7.25.7 - resolution: "@babel/plugin-transform-shorthand-properties@npm:7.25.7" +"@babel/plugin-transform-shorthand-properties@npm:^7.25.9": + version: 7.25.9 + resolution: "@babel/plugin-transform-shorthand-properties@npm:7.25.9" dependencies: - "@babel/helper-plugin-utils": "npm:^7.25.7" + "@babel/helper-plugin-utils": "npm:^7.25.9" peerDependencies: "@babel/core": ^7.0.0-0 - checksum: 10c0/4250f89a0072f0f400be7a2e3515227b8e2518737899bd57d497e5173284a0e05d812e4a3c219ffcd484e9fa9a01c19fce5acd77bbb898f4d594512c56701eb4 + checksum: 10c0/05a20d45f0fb62567644c507ccd4e379c1a74dacf887d2b2cac70247415e3f6d7d3bf4850c8b336053144715fedb6200fc38f7130c4b76c94eec9b9c0c2a8e9b languageName: node linkType: hard -"@babel/plugin-transform-spread@npm:^7.25.7": - version: 7.25.7 - resolution: "@babel/plugin-transform-spread@npm:7.25.7" +"@babel/plugin-transform-spread@npm:^7.25.9": + version: 7.25.9 + resolution: "@babel/plugin-transform-spread@npm:7.25.9" dependencies: - "@babel/helper-plugin-utils": "npm:^7.25.7" - "@babel/helper-skip-transparent-expression-wrappers": "npm:^7.25.7" + "@babel/helper-plugin-utils": "npm:^7.25.9" + "@babel/helper-skip-transparent-expression-wrappers": "npm:^7.25.9" peerDependencies: "@babel/core": ^7.0.0-0 - checksum: 10c0/258bd1b52388cd7425d0ae25fa39538734f7540ea503a1d8a72211d33f6f214cb4e3b73d6cd03016cbcff5d41169f1e578b9ea331965ad224d223591983e90a7 + checksum: 10c0/996c8fed238efc30e0664f9f58bd7ec8c148f4659f84425f68923a094fe891245711d26eb10d1f815f50c124434e076e860dbe9662240844d1b77cd09907dcdf languageName: node linkType: hard -"@babel/plugin-transform-sticky-regex@npm:^7.25.7": - version: 7.25.7 - resolution: "@babel/plugin-transform-sticky-regex@npm:7.25.7" +"@babel/plugin-transform-sticky-regex@npm:^7.25.9": + version: 7.25.9 + resolution: "@babel/plugin-transform-sticky-regex@npm:7.25.9" dependencies: - "@babel/helper-plugin-utils": "npm:^7.25.7" + "@babel/helper-plugin-utils": "npm:^7.25.9" peerDependencies: "@babel/core": ^7.0.0-0 - checksum: 10c0/0e466cfc3ca1e0db4bb11eb630215b0e1f43066d7678325e5ddadcf5a118b2351a528f67205729c32ac5b78ab68ab7f40517dd33bcb1fb6b456509f5f54ce097 + checksum: 10c0/e9612b0615dab4c4fba1c560769616a9bd7b9226c73191ef84b6c3ee185c8b719b4f887cdd8336a0a13400ce606ab4a0d33bc8fa6b4fcdb53e2896d07f2568f6 languageName: node linkType: hard -"@babel/plugin-transform-template-literals@npm:^7.25.7": - version: 7.25.7 - resolution: "@babel/plugin-transform-template-literals@npm:7.25.7" +"@babel/plugin-transform-template-literals@npm:^7.25.9": + version: 7.25.9 + resolution: "@babel/plugin-transform-template-literals@npm:7.25.9" dependencies: - "@babel/helper-plugin-utils": "npm:^7.25.7" + "@babel/helper-plugin-utils": "npm:^7.25.9" peerDependencies: "@babel/core": ^7.0.0-0 - checksum: 10c0/a3455303b6841cb536ac66d1a2d03c194b9f371519482d8d1e8edbd33bf5ca7cdd5db1586b2b0ea5f909ebf74a0eafacf0fb28d257e4905445282dcdccfa6139 + checksum: 10c0/5144da6036807bbd4e9d2a8b92ae67a759543929f34f4db9b463448a77298f4a40bf1e92e582db208fe08ee116224806a3bd0bed75d9da404fc2c0af9e6da540 languageName: node linkType: hard -"@babel/plugin-transform-typeof-symbol@npm:^7.25.7": - version: 7.25.7 - resolution: "@babel/plugin-transform-typeof-symbol@npm:7.25.7" +"@babel/plugin-transform-typeof-symbol@npm:^7.25.9": + version: 7.25.9 + resolution: "@babel/plugin-transform-typeof-symbol@npm:7.25.9" dependencies: - "@babel/helper-plugin-utils": "npm:^7.25.7" + "@babel/helper-plugin-utils": "npm:^7.25.9" peerDependencies: "@babel/core": ^7.0.0-0 - checksum: 10c0/ce1a0744a900b05de1372a70508c4148f17eb941c482da26eb369b9f0347570dce45470c8a86d907bc3a0443190344da1e18489ecfecb30388ab6178e8a9916b + checksum: 10c0/2b19fd88608589d9bc6b607ff17b06791d35c67ef3249f4659283454e6a9984241e3bd4c4eb72bb8b3d860a73223f3874558b861adb7314aa317c1c6a2f0cafb languageName: node linkType: hard -"@babel/plugin-transform-typescript@npm:^7.25.7": - version: 7.25.7 - resolution: "@babel/plugin-transform-typescript@npm:7.25.7" +"@babel/plugin-transform-typescript@npm:^7.25.9": + version: 7.25.9 + resolution: "@babel/plugin-transform-typescript@npm:7.25.9" dependencies: - "@babel/helper-annotate-as-pure": "npm:^7.25.7" - "@babel/helper-create-class-features-plugin": "npm:^7.25.7" - "@babel/helper-plugin-utils": "npm:^7.25.7" - "@babel/helper-skip-transparent-expression-wrappers": "npm:^7.25.7" - "@babel/plugin-syntax-typescript": "npm:^7.25.7" + "@babel/helper-annotate-as-pure": "npm:^7.25.9" + "@babel/helper-create-class-features-plugin": "npm:^7.25.9" + "@babel/helper-plugin-utils": "npm:^7.25.9" + "@babel/helper-skip-transparent-expression-wrappers": "npm:^7.25.9" + "@babel/plugin-syntax-typescript": "npm:^7.25.9" peerDependencies: "@babel/core": ^7.0.0-0 - checksum: 10c0/5fa839b9560221698edff5e00b5cccc658c7875efaa7971c66d478f5b026770f12dd47b1be024463a44f9e29b4e14e8ddddbf4a2b324b0b94f58370dd5ae7195 + checksum: 10c0/c607ddb45f7e33cfcb928aad05cb1b18b1ecb564d2329d8f8e427f75192511aa821dee42d26871f1bdffbd883853e150ba81436664646c6e6b13063e65ce1475 languageName: node linkType: hard -"@babel/plugin-transform-unicode-escapes@npm:^7.25.7": - version: 7.25.7 - resolution: "@babel/plugin-transform-unicode-escapes@npm:7.25.7" +"@babel/plugin-transform-unicode-escapes@npm:^7.25.9": + version: 7.25.9 + resolution: "@babel/plugin-transform-unicode-escapes@npm:7.25.9" dependencies: - "@babel/helper-plugin-utils": "npm:^7.25.7" + "@babel/helper-plugin-utils": "npm:^7.25.9" peerDependencies: "@babel/core": ^7.0.0-0 - checksum: 10c0/8b1f71fda0a832c6e26ba4c00f99e9033e6f9b36ced542a512921f4ad861a70e2fec2bd54a91a5ca2efa46aaa8c8893e4c602635c4ef172bd3ed6eef3178c70b + checksum: 10c0/615c84d7c53e1575d54ba9257e753e0b98c5de1e3225237d92f55226eaab8eb5bceb74df43f50f4aa162b0bbcc934ed11feafe2b60b8ec4934ce340fad4b8828 languageName: node linkType: hard -"@babel/plugin-transform-unicode-property-regex@npm:^7.25.7": - version: 7.25.7 - resolution: "@babel/plugin-transform-unicode-property-regex@npm:7.25.7" +"@babel/plugin-transform-unicode-property-regex@npm:^7.25.9": + version: 7.25.9 + resolution: "@babel/plugin-transform-unicode-property-regex@npm:7.25.9" dependencies: - "@babel/helper-create-regexp-features-plugin": "npm:^7.25.7" - "@babel/helper-plugin-utils": "npm:^7.25.7" + "@babel/helper-create-regexp-features-plugin": "npm:^7.25.9" + "@babel/helper-plugin-utils": "npm:^7.25.9" peerDependencies: "@babel/core": ^7.0.0-0 - checksum: 10c0/b4bfcf7529138d00671bf5cdfe606603d52cfe57ec1be837da57683f404fc0b0c171834a02515eb03379e5c806121866d097b90e31cb437d21d0ea59368ad82b + checksum: 10c0/1685836fc38af4344c3d2a9edbd46f7c7b28d369b63967d5b83f2f6849ec45b97223461cea3d14cc3f0be6ebb284938e637a5ca3955c0e79c873d62f593d615c languageName: node linkType: hard -"@babel/plugin-transform-unicode-regex@npm:^7.25.7": - version: 7.25.7 - resolution: "@babel/plugin-transform-unicode-regex@npm:7.25.7" +"@babel/plugin-transform-unicode-regex@npm:^7.25.9": + version: 7.25.9 + resolution: "@babel/plugin-transform-unicode-regex@npm:7.25.9" dependencies: - "@babel/helper-create-regexp-features-plugin": "npm:^7.25.7" - "@babel/helper-plugin-utils": "npm:^7.25.7" + "@babel/helper-create-regexp-features-plugin": "npm:^7.25.9" + "@babel/helper-plugin-utils": "npm:^7.25.9" peerDependencies: "@babel/core": ^7.0.0-0 - checksum: 10c0/73ae34c02ea8b7ac7e4efa690f8c226089c074e3fef658d2a630ad898a93550d84146ce05e073c271c8b2bbba61cbbfd5a2002a7ea940dcad3274e5b5dcb6bcf + checksum: 10c0/448004f978279e726af26acd54f63f9002c9e2582ecd70d1c5c4436f6de490fcd817afb60016d11c52f5ef17dbaac2590e8cc7bfaf4e91b58c452cf188c7920f languageName: node linkType: hard -"@babel/plugin-transform-unicode-sets-regex@npm:^7.25.7": - version: 7.25.7 - resolution: "@babel/plugin-transform-unicode-sets-regex@npm:7.25.7" +"@babel/plugin-transform-unicode-sets-regex@npm:^7.25.9": + version: 7.25.9 + resolution: "@babel/plugin-transform-unicode-sets-regex@npm:7.25.9" dependencies: - "@babel/helper-create-regexp-features-plugin": "npm:^7.25.7" - "@babel/helper-plugin-utils": "npm:^7.25.7" + "@babel/helper-create-regexp-features-plugin": "npm:^7.25.9" + "@babel/helper-plugin-utils": "npm:^7.25.9" peerDependencies: "@babel/core": ^7.0.0 - checksum: 10c0/39e45ae3db7adfc3457b1d6ba5608ffbace957ad019785967e5357a6639f261765bda12363f655d39265f5a2834af26327037751420191d0b73152ccc7ce3c35 + checksum: 10c0/56ee04fbe236b77cbcd6035cbf0be7566d1386b8349154ac33244c25f61170c47153a9423cd1d92855f7d6447b53a4a653d9e8fd1eaeeee14feb4b2baf59bd9f languageName: node linkType: hard "@babel/preset-env@npm:^7.11.0, @babel/preset-env@npm:^7.12.1, @babel/preset-env@npm:^7.22.4": - version: 7.25.8 - resolution: "@babel/preset-env@npm:7.25.8" - dependencies: - "@babel/compat-data": "npm:^7.25.8" - "@babel/helper-compilation-targets": "npm:^7.25.7" - "@babel/helper-plugin-utils": "npm:^7.25.7" - "@babel/helper-validator-option": "npm:^7.25.7" - "@babel/plugin-bugfix-firefox-class-in-computed-class-key": "npm:^7.25.7" - "@babel/plugin-bugfix-safari-class-field-initializer-scope": "npm:^7.25.7" - "@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression": "npm:^7.25.7" - "@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining": "npm:^7.25.7" - "@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly": "npm:^7.25.7" + version: 7.25.9 + resolution: "@babel/preset-env@npm:7.25.9" + dependencies: + "@babel/compat-data": "npm:^7.25.9" + "@babel/helper-compilation-targets": "npm:^7.25.9" + "@babel/helper-plugin-utils": "npm:^7.25.9" + "@babel/helper-validator-option": "npm:^7.25.9" + "@babel/plugin-bugfix-firefox-class-in-computed-class-key": "npm:^7.25.9" + "@babel/plugin-bugfix-safari-class-field-initializer-scope": "npm:^7.25.9" + "@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression": "npm:^7.25.9" + "@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining": "npm:^7.25.9" + "@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly": "npm:^7.25.9" "@babel/plugin-proposal-private-property-in-object": "npm:7.21.0-placeholder-for-preset-env.2" - "@babel/plugin-syntax-import-assertions": "npm:^7.25.7" - "@babel/plugin-syntax-import-attributes": "npm:^7.25.7" + "@babel/plugin-syntax-import-assertions": "npm:^7.25.9" + "@babel/plugin-syntax-import-attributes": "npm:^7.25.9" "@babel/plugin-syntax-unicode-sets-regex": "npm:^7.18.6" - "@babel/plugin-transform-arrow-functions": "npm:^7.25.7" - "@babel/plugin-transform-async-generator-functions": "npm:^7.25.8" - "@babel/plugin-transform-async-to-generator": "npm:^7.25.7" - "@babel/plugin-transform-block-scoped-functions": "npm:^7.25.7" - "@babel/plugin-transform-block-scoping": "npm:^7.25.7" - "@babel/plugin-transform-class-properties": "npm:^7.25.7" - "@babel/plugin-transform-class-static-block": "npm:^7.25.8" - "@babel/plugin-transform-classes": "npm:^7.25.7" - "@babel/plugin-transform-computed-properties": "npm:^7.25.7" - "@babel/plugin-transform-destructuring": "npm:^7.25.7" - "@babel/plugin-transform-dotall-regex": "npm:^7.25.7" - "@babel/plugin-transform-duplicate-keys": "npm:^7.25.7" - "@babel/plugin-transform-duplicate-named-capturing-groups-regex": "npm:^7.25.7" - "@babel/plugin-transform-dynamic-import": "npm:^7.25.8" - "@babel/plugin-transform-exponentiation-operator": "npm:^7.25.7" - "@babel/plugin-transform-export-namespace-from": "npm:^7.25.8" - "@babel/plugin-transform-for-of": "npm:^7.25.7" - "@babel/plugin-transform-function-name": "npm:^7.25.7" - "@babel/plugin-transform-json-strings": "npm:^7.25.8" - "@babel/plugin-transform-literals": "npm:^7.25.7" - "@babel/plugin-transform-logical-assignment-operators": "npm:^7.25.8" - "@babel/plugin-transform-member-expression-literals": "npm:^7.25.7" - "@babel/plugin-transform-modules-amd": "npm:^7.25.7" - "@babel/plugin-transform-modules-commonjs": "npm:^7.25.7" - "@babel/plugin-transform-modules-systemjs": "npm:^7.25.7" - "@babel/plugin-transform-modules-umd": "npm:^7.25.7" - "@babel/plugin-transform-named-capturing-groups-regex": "npm:^7.25.7" - "@babel/plugin-transform-new-target": "npm:^7.25.7" - "@babel/plugin-transform-nullish-coalescing-operator": "npm:^7.25.8" - "@babel/plugin-transform-numeric-separator": "npm:^7.25.8" - "@babel/plugin-transform-object-rest-spread": "npm:^7.25.8" - "@babel/plugin-transform-object-super": "npm:^7.25.7" - "@babel/plugin-transform-optional-catch-binding": "npm:^7.25.8" - "@babel/plugin-transform-optional-chaining": "npm:^7.25.8" - "@babel/plugin-transform-parameters": "npm:^7.25.7" - "@babel/plugin-transform-private-methods": "npm:^7.25.7" - "@babel/plugin-transform-private-property-in-object": "npm:^7.25.8" - "@babel/plugin-transform-property-literals": "npm:^7.25.7" - "@babel/plugin-transform-regenerator": "npm:^7.25.7" - "@babel/plugin-transform-reserved-words": "npm:^7.25.7" - "@babel/plugin-transform-shorthand-properties": "npm:^7.25.7" - "@babel/plugin-transform-spread": "npm:^7.25.7" - "@babel/plugin-transform-sticky-regex": "npm:^7.25.7" - "@babel/plugin-transform-template-literals": "npm:^7.25.7" - "@babel/plugin-transform-typeof-symbol": "npm:^7.25.7" - "@babel/plugin-transform-unicode-escapes": "npm:^7.25.7" - "@babel/plugin-transform-unicode-property-regex": "npm:^7.25.7" - "@babel/plugin-transform-unicode-regex": "npm:^7.25.7" - "@babel/plugin-transform-unicode-sets-regex": "npm:^7.25.7" + "@babel/plugin-transform-arrow-functions": "npm:^7.25.9" + "@babel/plugin-transform-async-generator-functions": "npm:^7.25.9" + "@babel/plugin-transform-async-to-generator": "npm:^7.25.9" + "@babel/plugin-transform-block-scoped-functions": "npm:^7.25.9" + "@babel/plugin-transform-block-scoping": "npm:^7.25.9" + "@babel/plugin-transform-class-properties": "npm:^7.25.9" + "@babel/plugin-transform-class-static-block": "npm:^7.25.9" + "@babel/plugin-transform-classes": "npm:^7.25.9" + "@babel/plugin-transform-computed-properties": "npm:^7.25.9" + "@babel/plugin-transform-destructuring": "npm:^7.25.9" + "@babel/plugin-transform-dotall-regex": "npm:^7.25.9" + "@babel/plugin-transform-duplicate-keys": "npm:^7.25.9" + "@babel/plugin-transform-duplicate-named-capturing-groups-regex": "npm:^7.25.9" + "@babel/plugin-transform-dynamic-import": "npm:^7.25.9" + "@babel/plugin-transform-exponentiation-operator": "npm:^7.25.9" + "@babel/plugin-transform-export-namespace-from": "npm:^7.25.9" + "@babel/plugin-transform-for-of": "npm:^7.25.9" + "@babel/plugin-transform-function-name": "npm:^7.25.9" + "@babel/plugin-transform-json-strings": "npm:^7.25.9" + "@babel/plugin-transform-literals": "npm:^7.25.9" + "@babel/plugin-transform-logical-assignment-operators": "npm:^7.25.9" + "@babel/plugin-transform-member-expression-literals": "npm:^7.25.9" + "@babel/plugin-transform-modules-amd": "npm:^7.25.9" + "@babel/plugin-transform-modules-commonjs": "npm:^7.25.9" + "@babel/plugin-transform-modules-systemjs": "npm:^7.25.9" + "@babel/plugin-transform-modules-umd": "npm:^7.25.9" + "@babel/plugin-transform-named-capturing-groups-regex": "npm:^7.25.9" + "@babel/plugin-transform-new-target": "npm:^7.25.9" + "@babel/plugin-transform-nullish-coalescing-operator": "npm:^7.25.9" + "@babel/plugin-transform-numeric-separator": "npm:^7.25.9" + "@babel/plugin-transform-object-rest-spread": "npm:^7.25.9" + "@babel/plugin-transform-object-super": "npm:^7.25.9" + "@babel/plugin-transform-optional-catch-binding": "npm:^7.25.9" + "@babel/plugin-transform-optional-chaining": "npm:^7.25.9" + "@babel/plugin-transform-parameters": "npm:^7.25.9" + "@babel/plugin-transform-private-methods": "npm:^7.25.9" + "@babel/plugin-transform-private-property-in-object": "npm:^7.25.9" + "@babel/plugin-transform-property-literals": "npm:^7.25.9" + "@babel/plugin-transform-regenerator": "npm:^7.25.9" + "@babel/plugin-transform-reserved-words": "npm:^7.25.9" + "@babel/plugin-transform-shorthand-properties": "npm:^7.25.9" + "@babel/plugin-transform-spread": "npm:^7.25.9" + "@babel/plugin-transform-sticky-regex": "npm:^7.25.9" + "@babel/plugin-transform-template-literals": "npm:^7.25.9" + "@babel/plugin-transform-typeof-symbol": "npm:^7.25.9" + "@babel/plugin-transform-unicode-escapes": "npm:^7.25.9" + "@babel/plugin-transform-unicode-property-regex": "npm:^7.25.9" + "@babel/plugin-transform-unicode-regex": "npm:^7.25.9" + "@babel/plugin-transform-unicode-sets-regex": "npm:^7.25.9" "@babel/preset-modules": "npm:0.1.6-no-external-plugins" babel-plugin-polyfill-corejs2: "npm:^0.4.10" babel-plugin-polyfill-corejs3: "npm:^0.10.6" @@ -1352,7 +1352,7 @@ __metadata: semver: "npm:^6.3.1" peerDependencies: "@babel/core": ^7.0.0-0 - checksum: 10c0/a45cd64ca082262998f6cf508b413ff8a9e967bf33e58337a1fe41c6c939a4c25cc73cd58387792c00d43905cf5fb0ea5ef88dfdc2addf2e8133743088c86c72 + checksum: 10c0/b8b391e3fe69918a2a4f4366034113bd6f57c9748974dbe1b807a728bc41434f1e003cb4204ca63a2a01cbb7c05ba96036261b64756243374374353931d346e6 languageName: node linkType: hard @@ -1370,33 +1370,33 @@ __metadata: linkType: hard "@babel/preset-react@npm:^7.12.5, @babel/preset-react@npm:^7.22.3": - version: 7.25.7 - resolution: "@babel/preset-react@npm:7.25.7" + version: 7.25.9 + resolution: "@babel/preset-react@npm:7.25.9" dependencies: - "@babel/helper-plugin-utils": "npm:^7.25.7" - "@babel/helper-validator-option": "npm:^7.25.7" - "@babel/plugin-transform-react-display-name": "npm:^7.25.7" - "@babel/plugin-transform-react-jsx": "npm:^7.25.7" - "@babel/plugin-transform-react-jsx-development": "npm:^7.25.7" - "@babel/plugin-transform-react-pure-annotations": "npm:^7.25.7" + "@babel/helper-plugin-utils": "npm:^7.25.9" + "@babel/helper-validator-option": "npm:^7.25.9" + "@babel/plugin-transform-react-display-name": "npm:^7.25.9" + "@babel/plugin-transform-react-jsx": "npm:^7.25.9" + "@babel/plugin-transform-react-jsx-development": "npm:^7.25.9" + "@babel/plugin-transform-react-pure-annotations": "npm:^7.25.9" peerDependencies: "@babel/core": ^7.0.0-0 - checksum: 10c0/b133b1a2f46c70a337d8b1ef442e09e3dbdaecb0d6bed8f1cb64dfddc31c16e248b017385ab909caeebd8462111c9c0e1c5409deb10f2be5cb5bcfdaa4d27718 + checksum: 10c0/c294b475ee741f01f63ea0d828862811c453fabc6023f01814ce983bc316388e9d73290164d2b1384c2684db9c330803a3d4d2170285b105dcbacd483329eb93 languageName: node linkType: hard "@babel/preset-typescript@npm:^7.21.5": - version: 7.25.7 - resolution: "@babel/preset-typescript@npm:7.25.7" + version: 7.25.9 + resolution: "@babel/preset-typescript@npm:7.25.9" dependencies: - "@babel/helper-plugin-utils": "npm:^7.25.7" - "@babel/helper-validator-option": "npm:^7.25.7" - "@babel/plugin-syntax-jsx": "npm:^7.25.7" - "@babel/plugin-transform-modules-commonjs": "npm:^7.25.7" - "@babel/plugin-transform-typescript": "npm:^7.25.7" + "@babel/helper-plugin-utils": "npm:^7.25.9" + "@babel/helper-validator-option": "npm:^7.25.9" + "@babel/plugin-syntax-jsx": "npm:^7.25.9" + "@babel/plugin-transform-modules-commonjs": "npm:^7.25.9" + "@babel/plugin-transform-typescript": "npm:^7.25.9" peerDependencies: "@babel/core": ^7.0.0-0 - checksum: 10c0/8dc1258e3c5230bbe42ff9811f08924509238e6bd32fa0b7b0c0a6c5e1419512a8e1f733e1b114454d367b7c164beca2cf33acf2ed9e0d99be010c1c5cdbef0c + checksum: 10c0/cbcc5b4bf2891e367627338961113febbe58d361e9a03bd2c8340ede914870f74db35ee367cfd8d0fca0872149bfb58b090d0a4815de7c05d0a8abb3d961eead languageName: node linkType: hard @@ -1410,48 +1410,47 @@ __metadata: linkType: hard "@babel/runtime@npm:^7.0.0, @babel/runtime@npm:^7.1.2, @babel/runtime@npm:^7.11.2, @babel/runtime@npm:^7.12.0, @babel/runtime@npm:^7.12.13, @babel/runtime@npm:^7.12.5, @babel/runtime@npm:^7.13.8, @babel/runtime@npm:^7.18.3, @babel/runtime@npm:^7.2.0, @babel/runtime@npm:^7.20.13, @babel/runtime@npm:^7.22.3, @babel/runtime@npm:^7.3.1, @babel/runtime@npm:^7.5.5, @babel/runtime@npm:^7.6.3, @babel/runtime@npm:^7.8.4, @babel/runtime@npm:^7.8.7, @babel/runtime@npm:^7.9.2": - version: 7.25.7 - resolution: "@babel/runtime@npm:7.25.7" + version: 7.25.9 + resolution: "@babel/runtime@npm:7.25.9" dependencies: regenerator-runtime: "npm:^0.14.0" - checksum: 10c0/86b7829d2fc9343714a9afe92757cf96c4dc799006ca61d73cda62f4b9e29bfa1ce36794955bc6cb4c188f5b10db832c949339895e1bbe81a69022d9d578ce29 + checksum: 10c0/d1727a47eab67b8a742cbf1ef336a20c3d906fe65d6316d073c72479125addfa4358c44dd7b95d114f241b93409b134fad7cea43f3bf8ca7e2ef344177eb72d8 languageName: node linkType: hard -"@babel/template@npm:^7.25.7, @babel/template@npm:^7.3.3": - version: 7.25.7 - resolution: "@babel/template@npm:7.25.7" +"@babel/template@npm:^7.25.9, @babel/template@npm:^7.3.3": + version: 7.25.9 + resolution: "@babel/template@npm:7.25.9" dependencies: - "@babel/code-frame": "npm:^7.25.7" - "@babel/parser": "npm:^7.25.7" - "@babel/types": "npm:^7.25.7" - checksum: 10c0/8ae9e36e4330ee83d4832531d1d9bec7dc2ef6a2a8afa1ef1229506fd60667abcb17f306d1c3d7e582251270597022990c845d5d69e7add70a5aea66720decb9 + "@babel/code-frame": "npm:^7.25.9" + "@babel/parser": "npm:^7.25.9" + "@babel/types": "npm:^7.25.9" + checksum: 10c0/ebe677273f96a36c92cc15b7aa7b11cc8bc8a3bb7a01d55b2125baca8f19cae94ff3ce15f1b1880fb8437f3a690d9f89d4e91f16fc1dc4d3eb66226d128983ab languageName: node linkType: hard -"@babel/traverse@npm:^7.25.0, @babel/traverse@npm:^7.25.7": - version: 7.25.7 - resolution: "@babel/traverse@npm:7.25.7" +"@babel/traverse@npm:^7.25.0, @babel/traverse@npm:^7.25.9": + version: 7.25.9 + resolution: "@babel/traverse@npm:7.25.9" dependencies: - "@babel/code-frame": "npm:^7.25.7" - "@babel/generator": "npm:^7.25.7" - "@babel/parser": "npm:^7.25.7" - "@babel/template": "npm:^7.25.7" - "@babel/types": "npm:^7.25.7" + "@babel/code-frame": "npm:^7.25.9" + "@babel/generator": "npm:^7.25.9" + "@babel/parser": "npm:^7.25.9" + "@babel/template": "npm:^7.25.9" + "@babel/types": "npm:^7.25.9" debug: "npm:^4.3.1" globals: "npm:^11.1.0" - checksum: 10c0/75d73e52c507a7a7a4c7971d6bf4f8f26fdd094e0d3a0193d77edf6a5efa36fc3db91ec5cc48e8b94e6eb5d5ad21af0a1040e71309172851209415fd105efb1a + checksum: 10c0/e90be586a714da4adb80e6cb6a3c5cfcaa9b28148abdafb065e34cc109676fc3db22cf98cd2b2fff66ffb9b50c0ef882cab0f466b6844be0f6c637b82719bba1 languageName: node linkType: hard -"@babel/types@npm:^7.0.0, @babel/types@npm:^7.0.0-beta.49, @babel/types@npm:^7.12.6, @babel/types@npm:^7.20.7, @babel/types@npm:^7.25.0, @babel/types@npm:^7.25.7, @babel/types@npm:^7.25.8, @babel/types@npm:^7.3.3, @babel/types@npm:^7.4.4": - version: 7.25.8 - resolution: "@babel/types@npm:7.25.8" +"@babel/types@npm:^7.0.0, @babel/types@npm:^7.0.0-beta.49, @babel/types@npm:^7.12.6, @babel/types@npm:^7.20.7, @babel/types@npm:^7.25.0, @babel/types@npm:^7.25.9, @babel/types@npm:^7.3.3, @babel/types@npm:^7.4.4": + version: 7.25.9 + resolution: "@babel/types@npm:7.25.9" dependencies: - "@babel/helper-string-parser": "npm:^7.25.7" - "@babel/helper-validator-identifier": "npm:^7.25.7" - to-fast-properties: "npm:^2.0.0" - checksum: 10c0/55ca2d6df6426c98db2769ce884ce5e9de83a512ea2dd7bcf56c811984dc14351cacf42932a723630c5afcff2455809323decd645820762182f10b7b5252b59f + "@babel/helper-string-parser": "npm:^7.25.9" + "@babel/helper-validator-identifier": "npm:^7.25.9" + checksum: 10c0/33890d08bcb06b26a3a60e4c6c996cbdf2b8d8a3c212664de659c2775f80b002c5f2bceedaa309c384ff5e99bd579794fe6a7e41de07df70246f43c55016d349 languageName: node linkType: hard @@ -16981,13 +16980,6 @@ __metadata: languageName: node linkType: hard -"to-fast-properties@npm:^2.0.0": - version: 2.0.0 - resolution: "to-fast-properties@npm:2.0.0" - checksum: 10c0/b214d21dbfb4bce3452b6244b336806ffea9c05297148d32ebb428d5c43ce7545bdfc65a1ceb58c9ef4376a65c0cb2854d645f33961658b3e3b4f84910ddcdd7 - languageName: node - linkType: hard - "to-object-path@npm:^0.3.0": version: 0.3.0 resolution: "to-object-path@npm:0.3.0" From 3aa38841bd1bf76b0c2ecccce241c186db1aa397 Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Fri, 25 Oct 2024 11:36:14 +0200 Subject: [PATCH 060/357] Update formatjs monorepo (#32651) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> --- yarn.lock | 238 ++++++++++++++++++++++++++++++++---------------------- 1 file changed, 140 insertions(+), 98 deletions(-) diff --git a/yarn.lock b/yarn.lock index 5b563d52d659ae..cfe57e724c6104 100644 --- a/yarn.lock +++ b/yarn.lock @@ -2249,6 +2249,17 @@ __metadata: languageName: node linkType: hard +"@formatjs/ecma402-abstract@npm:2.2.1": + version: 2.2.1 + resolution: "@formatjs/ecma402-abstract@npm:2.2.1" + dependencies: + "@formatjs/fast-memoize": "npm:2.2.2" + "@formatjs/intl-localematcher": "npm:0.5.6" + tslib: "npm:2" + checksum: 10c0/bb0b01282368d201d9bcfb3232963af90069f6048da5824d38a674118fd49a0cb92b05d19d2526fe6d035428b2e47e1abd671bb59a673317f1418e67974253fa + languageName: node + linkType: hard + "@formatjs/fast-memoize@npm:2.2.1": version: 2.2.1 resolution: "@formatjs/fast-memoize@npm:2.2.1" @@ -2258,6 +2269,15 @@ __metadata: languageName: node linkType: hard +"@formatjs/fast-memoize@npm:2.2.2": + version: 2.2.2 + resolution: "@formatjs/fast-memoize@npm:2.2.2" + dependencies: + tslib: "npm:2" + checksum: 10c0/cebbf632a6ed8798ed67dba59d05be8bbe81c9ada7bcbc8ce69798fbaa5e0117c35792f212097d28b8b06fb99cf73bdbc7754702c06cda34f847e5082814643b + languageName: node + linkType: hard + "@formatjs/icu-messageformat-parser@npm:2.7.10": version: 2.7.10 resolution: "@formatjs/icu-messageformat-parser@npm:2.7.10" @@ -2269,14 +2289,14 @@ __metadata: languageName: node linkType: hard -"@formatjs/icu-messageformat-parser@npm:2.8.0": - version: 2.8.0 - resolution: "@formatjs/icu-messageformat-parser@npm:2.8.0" +"@formatjs/icu-messageformat-parser@npm:2.9.1": + version: 2.9.1 + resolution: "@formatjs/icu-messageformat-parser@npm:2.9.1" dependencies: - "@formatjs/ecma402-abstract": "npm:2.2.0" - "@formatjs/icu-skeleton-parser": "npm:1.8.4" - tslib: "npm:^2.7.0" - checksum: 10c0/f8cf835817529ec5c7aed55e60c2584ffe78b6d7f079526e2809af4fdd32d85c4569a01e806861e4352bb5ca996116ea5006870d7e40e01c79878df345e8ba4d + "@formatjs/ecma402-abstract": "npm:2.2.1" + "@formatjs/icu-skeleton-parser": "npm:1.8.5" + tslib: "npm:2" + checksum: 10c0/53554edc7d41f6bd737dc3bb3e03dcd4b4081b4fc9a70383612b87993c1639747d1d3827d8ebb13f8bf3566c60442549a0a42df4959699eef76633d4c7b49b25 languageName: node linkType: hard @@ -2290,25 +2310,35 @@ __metadata: languageName: node linkType: hard -"@formatjs/intl-displaynames@npm:6.7.0": - version: 6.7.0 - resolution: "@formatjs/intl-displaynames@npm:6.7.0" +"@formatjs/icu-skeleton-parser@npm:1.8.5": + version: 1.8.5 + resolution: "@formatjs/icu-skeleton-parser@npm:1.8.5" dependencies: - "@formatjs/ecma402-abstract": "npm:2.2.0" - "@formatjs/intl-localematcher": "npm:0.5.5" - tslib: "npm:^2.7.0" - checksum: 10c0/d4814ca580ab261681d2926c3d0df26c445df8e18891dff5cc6363f3c7ea9db393ed1056d8c5ab9277b5fb5e40d44444e7f92935f64f8282c8859c9dab8caabf + "@formatjs/ecma402-abstract": "npm:2.2.1" + tslib: "npm:2" + checksum: 10c0/3e5ddd26e5dc983547320ca09b4a5daa692a00c15382e85474a9a539c223b581dba2290708d71aae12589c3ddd053b3bfd0dab0a07a11c44033fb313605566bc languageName: node linkType: hard -"@formatjs/intl-listformat@npm:7.6.0": - version: 7.6.0 - resolution: "@formatjs/intl-listformat@npm:7.6.0" +"@formatjs/intl-displaynames@npm:6.8.1": + version: 6.8.1 + resolution: "@formatjs/intl-displaynames@npm:6.8.1" dependencies: - "@formatjs/ecma402-abstract": "npm:2.2.0" - "@formatjs/intl-localematcher": "npm:0.5.5" - tslib: "npm:^2.7.0" - checksum: 10c0/8732f492d0faa3d3c633fc9247af6953c15ca8ae9a7cc7de620afa86bbdcb8a92a8a76e36aaf2dbc1fb25d1e9c0ed48c9031926caef9900f68d18772b7e8ce29 + "@formatjs/ecma402-abstract": "npm:2.2.1" + "@formatjs/intl-localematcher": "npm:0.5.6" + tslib: "npm:2" + checksum: 10c0/6d39c7bbc3cf0b1398463d662662e5c7c8b873fe977e93b7d702a337f1ed639246492b71b7138c1f193df9e1045add5609edb3fd3efc76c6174ce134c02a186f + languageName: node + linkType: hard + +"@formatjs/intl-listformat@npm:7.7.1": + version: 7.7.1 + resolution: "@formatjs/intl-listformat@npm:7.7.1" + dependencies: + "@formatjs/ecma402-abstract": "npm:2.2.1" + "@formatjs/intl-localematcher": "npm:0.5.6" + tslib: "npm:2" + checksum: 10c0/9ac38d34956ee8018c000bbd594c84f1de283d18441f1376b072658844735a4ebee61ac4711f824dd0a89f4a855acfc7a24159e4cd8a4747609b1d2153316a61 languageName: node linkType: hard @@ -2321,34 +2351,43 @@ __metadata: languageName: node linkType: hard +"@formatjs/intl-localematcher@npm:0.5.6": + version: 0.5.6 + resolution: "@formatjs/intl-localematcher@npm:0.5.6" + dependencies: + tslib: "npm:2" + checksum: 10c0/39fc454641b7871f4b37416a01c7851624db6f1bf6cdcd5c854dfe06b95c0ca7540ec7c803a654140fc3f1c758596a684de8054bc95c4d6c7962091c251f5671 + languageName: node + linkType: hard + "@formatjs/intl-pluralrules@npm:^5.2.2": - version: 5.2.17 - resolution: "@formatjs/intl-pluralrules@npm:5.2.17" + version: 5.3.1 + resolution: "@formatjs/intl-pluralrules@npm:5.3.1" dependencies: - "@formatjs/ecma402-abstract": "npm:2.2.0" - "@formatjs/intl-localematcher": "npm:0.5.5" - tslib: "npm:^2.7.0" - checksum: 10c0/d1389821d8b853433ba4b3b7c1b5c08244d6b2dc5f3e54cc171336c8e6ab545b9eb0f388ce98f1245879693bf3068ffc4df2e5f1c7dee0a1e87a058a5c4ce8fc + "@formatjs/ecma402-abstract": "npm:2.2.1" + "@formatjs/intl-localematcher": "npm:0.5.6" + tslib: "npm:2" + checksum: 10c0/71a87aa81d5d69d56dca0636144f8f9714176b95fe3bc92ae1e455322c09b5b09ba0018315d81def00e89fc95e4fbffe41110104c86eb189ba6d58ac09efa48c languageName: node linkType: hard -"@formatjs/intl@npm:2.10.9": - version: 2.10.9 - resolution: "@formatjs/intl@npm:2.10.9" +"@formatjs/intl@npm:2.10.11": + version: 2.10.11 + resolution: "@formatjs/intl@npm:2.10.11" dependencies: - "@formatjs/ecma402-abstract": "npm:2.2.0" - "@formatjs/fast-memoize": "npm:2.2.1" - "@formatjs/icu-messageformat-parser": "npm:2.8.0" - "@formatjs/intl-displaynames": "npm:6.7.0" - "@formatjs/intl-listformat": "npm:7.6.0" - intl-messageformat: "npm:10.7.1" - tslib: "npm:^2.7.0" + "@formatjs/ecma402-abstract": "npm:2.2.1" + "@formatjs/fast-memoize": "npm:2.2.2" + "@formatjs/icu-messageformat-parser": "npm:2.9.1" + "@formatjs/intl-displaynames": "npm:6.8.1" + "@formatjs/intl-listformat": "npm:7.7.1" + intl-messageformat: "npm:10.7.3" + tslib: "npm:2" peerDependencies: typescript: ^4.7 || 5 peerDependenciesMeta: typescript: optional: true - checksum: 10c0/9be5c6e7e8371904789d0771ee97f04cdf16de3f6f4aa01998b3f8c64aa36d9bf91c491ebf95fa2dc6ec16a7d1bb6e3738ddbec02005c199e786133eb0e5795b + checksum: 10c0/83baa76d1194dbaae38c21d28cdc4e1ce024f8c49a37e2c02629a9f6afe18912f640435e346fae11af7d8128dac6355b36b93cff37685542ab3095edf3ec6d19 languageName: node linkType: hard @@ -2372,23 +2411,23 @@ __metadata: languageName: node linkType: hard -"@formatjs/ts-transformer@npm:3.13.17": - version: 3.13.17 - resolution: "@formatjs/ts-transformer@npm:3.13.17" +"@formatjs/ts-transformer@npm:3.13.20": + version: 3.13.20 + resolution: "@formatjs/ts-transformer@npm:3.13.20" dependencies: - "@formatjs/icu-messageformat-parser": "npm:2.8.0" - "@types/json-stable-stringify": "npm:^1.0.32" + "@formatjs/icu-messageformat-parser": "npm:2.9.1" + "@types/json-stable-stringify": "npm:1" "@types/node": "npm:14 || 16 || 17 || 18 || 20" - chalk: "npm:^4.0.0" - json-stable-stringify: "npm:^1.0.1" - tslib: "npm:^2.7.0" + chalk: "npm:4" + json-stable-stringify: "npm:1" + tslib: "npm:2" typescript: "npm:5" peerDependencies: ts-jest: ">=27" peerDependenciesMeta: ts-jest: optional: true - checksum: 10c0/1619f771d8aa69cf63f05199ebc28b57a5e0850b64dc9c2bd0df73d8f388a3323c47f13bcc742a51a7560349591282d88695e6fb9a646b0e7d4f7d0b07e2c5c0 + checksum: 10c0/0c1a203ce2e0efc24b9c1fc087771330f9630ebb4220e34dd2fffe64d5ee94816554df8ed8402a54dd588c186617765efb6c200a3373cf1d5dfb093ba8d70416 languageName: node linkType: hard @@ -3627,7 +3666,7 @@ __metadata: languageName: node linkType: hard -"@types/hoist-non-react-statics@npm:^3.3.1": +"@types/hoist-non-react-statics@npm:3, @types/hoist-non-react-statics@npm:^3.3.1": version: 3.3.5 resolution: "@types/hoist-non-react-statics@npm:3.3.5" dependencies: @@ -3720,10 +3759,10 @@ __metadata: languageName: node linkType: hard -"@types/json-stable-stringify@npm:^1.0.32": - version: 1.0.35 - resolution: "@types/json-stable-stringify@npm:1.0.35" - checksum: 10c0/67b50a86478f932c932ba21515b80700a8844d55e0656b3abe2c32c41c1c405c70fcd10b30ff8f38d1869871af2deae63ffdea54ce72cc2ee92e94a9d1cf2b6f +"@types/json-stable-stringify@npm:1, @types/json-stable-stringify@npm:^1.0.32": + version: 1.1.0 + resolution: "@types/json-stable-stringify@npm:1.1.0" + checksum: 10c0/8f69944701510243cd3a83aa44363a8a4d366f11a659b258f69fb3ad0f94ab1e2533206a2c929ac7fd18784d201b663b3f02a45934f545c926f051d8cb4df095 languageName: node linkType: hard @@ -5139,21 +5178,21 @@ __metadata: linkType: hard "babel-plugin-formatjs@npm:^10.5.1": - version: 10.5.19 - resolution: "babel-plugin-formatjs@npm:10.5.19" + version: 10.5.22 + resolution: "babel-plugin-formatjs@npm:10.5.22" dependencies: "@babel/core": "npm:^7.25.0" "@babel/helper-plugin-utils": "npm:^7.25.0" "@babel/plugin-syntax-jsx": "npm:^7.25.0" "@babel/traverse": "npm:^7.25.0" "@babel/types": "npm:^7.25.0" - "@formatjs/icu-messageformat-parser": "npm:2.8.0" - "@formatjs/ts-transformer": "npm:3.13.17" + "@formatjs/icu-messageformat-parser": "npm:2.9.1" + "@formatjs/ts-transformer": "npm:3.13.20" "@types/babel__core": "npm:^7.20.5" "@types/babel__helper-plugin-utils": "npm:^7.10.3" "@types/babel__traverse": "npm:^7.20.6" - tslib: "npm:^2.7.0" - checksum: 10c0/29d1e1fe8c97412a1c6c95dde3753ea28ddbe39040aaead90c67106422ce12dad363aee47a2729f685807bacf7f422ef607f015b325203a8201249b74e84bab3 + tslib: "npm:2" + checksum: 10c0/c35ec81d89eb228d23d3d62e7e4d0e5d7216f0d09f91b1dc3c46e049c5515a201fcfe77c1079924c6bfb9883b2941af91431f479a0f5a24a0574b695f18b64bc languageName: node linkType: hard @@ -5809,6 +5848,16 @@ __metadata: languageName: node linkType: hard +"chalk@npm:4, chalk@npm:^4.0, chalk@npm:^4.0.0, chalk@npm:^4.0.2, chalk@npm:^4.1.0": + version: 4.1.2 + resolution: "chalk@npm:4.1.2" + dependencies: + ansi-styles: "npm:^4.1.0" + supports-color: "npm:^7.1.0" + checksum: 10c0/4a3fef5cc34975c898ffe77141450f679721df9dde00f6c304353fa9c8b571929123b26a0e4617bde5018977eb655b31970c297b91b63ee83bb82aeb04666880 + languageName: node + linkType: hard + "chalk@npm:^2.4.1, chalk@npm:^2.4.2": version: 2.4.2 resolution: "chalk@npm:2.4.2" @@ -5830,16 +5879,6 @@ __metadata: languageName: node linkType: hard -"chalk@npm:^4.0, chalk@npm:^4.0.0, chalk@npm:^4.0.2, chalk@npm:^4.1.0": - version: 4.1.2 - resolution: "chalk@npm:4.1.2" - dependencies: - ansi-styles: "npm:^4.1.0" - supports-color: "npm:^7.1.0" - checksum: 10c0/4a3fef5cc34975c898ffe77141450f679721df9dde00f6c304353fa9c8b571929123b26a0e4617bde5018977eb655b31970c297b91b63ee83bb82aeb04666880 - languageName: node - linkType: hard - "chalk@npm:~5.3.0": version: 5.3.0 resolution: "chalk@npm:5.3.0" @@ -9259,7 +9298,7 @@ __metadata: languageName: node linkType: hard -"hoist-non-react-statics@npm:^3.1.0, hoist-non-react-statics@npm:^3.3.0, hoist-non-react-statics@npm:^3.3.1, hoist-non-react-statics@npm:^3.3.2": +"hoist-non-react-statics@npm:3, hoist-non-react-statics@npm:^3.1.0, hoist-non-react-statics@npm:^3.3.0, hoist-non-react-statics@npm:^3.3.1, hoist-non-react-statics@npm:^3.3.2": version: 3.3.2 resolution: "hoist-non-react-statics@npm:3.3.2" dependencies: @@ -9700,15 +9739,15 @@ __metadata: languageName: node linkType: hard -"intl-messageformat@npm:10.7.1, intl-messageformat@npm:^10.3.5": - version: 10.7.1 - resolution: "intl-messageformat@npm:10.7.1" +"intl-messageformat@npm:10.7.3, intl-messageformat@npm:^10.3.5": + version: 10.7.3 + resolution: "intl-messageformat@npm:10.7.3" dependencies: - "@formatjs/ecma402-abstract": "npm:2.2.0" - "@formatjs/fast-memoize": "npm:2.2.1" - "@formatjs/icu-messageformat-parser": "npm:2.8.0" - tslib: "npm:^2.7.0" - checksum: 10c0/b9383a2c0ce7888d34fa7bbb4ba7cc139ea77a372bd9268412e97e8a1357ebd1880beb04affdbd7175ae27db2a57024f21e804b34f2b159fd1c3d221f69c40d4 + "@formatjs/ecma402-abstract": "npm:2.2.1" + "@formatjs/fast-memoize": "npm:2.2.2" + "@formatjs/icu-messageformat-parser": "npm:2.9.1" + tslib: "npm:2" + checksum: 10c0/7ddd118c04023c9ecdf9a2270753abd876e90a428d5106ce8373622ddefe72ff1daa33993b12065a3339b7f838e9266c3db9048aa7dd20012c8703c6ebe26fd4 languageName: node linkType: hard @@ -11126,12 +11165,15 @@ __metadata: languageName: node linkType: hard -"json-stable-stringify@npm:^1.0.1": - version: 1.0.2 - resolution: "json-stable-stringify@npm:1.0.2" +"json-stable-stringify@npm:1, json-stable-stringify@npm:^1.0.1": + version: 1.1.1 + resolution: "json-stable-stringify@npm:1.1.1" dependencies: + call-bind: "npm:^1.0.5" + isarray: "npm:^2.0.5" jsonify: "npm:^0.0.1" - checksum: 10c0/502d021c3c59c09587faa40d7693d77c00460fd6c68bae95d6e35804909ec8c4aec71b136d3a09df61a7ebf803eb6e820f23ede76b77e74b8b02c76afb2ada8c + object-keys: "npm:^1.1.1" + checksum: 10c0/3801e3eeccbd030afb970f54bea690a079cfea7d9ed206a1b17ca9367f4b7772c764bf77a48f03e56b50e5f7ee7d11c52339fe20d8d7ccead003e4ca69e4cfde languageName: node linkType: hard @@ -14430,26 +14472,26 @@ __metadata: linkType: hard "react-intl@npm:^6.4.2": - version: 6.8.1 - resolution: "react-intl@npm:6.8.1" - dependencies: - "@formatjs/ecma402-abstract": "npm:2.2.0" - "@formatjs/icu-messageformat-parser": "npm:2.8.0" - "@formatjs/intl": "npm:2.10.9" - "@formatjs/intl-displaynames": "npm:6.7.0" - "@formatjs/intl-listformat": "npm:7.6.0" - "@types/hoist-non-react-statics": "npm:^3.3.1" + version: 6.8.4 + resolution: "react-intl@npm:6.8.4" + dependencies: + "@formatjs/ecma402-abstract": "npm:2.2.1" + "@formatjs/icu-messageformat-parser": "npm:2.9.1" + "@formatjs/intl": "npm:2.10.11" + "@formatjs/intl-displaynames": "npm:6.8.1" + "@formatjs/intl-listformat": "npm:7.7.1" + "@types/hoist-non-react-statics": "npm:3" "@types/react": "npm:^18.3.11" - hoist-non-react-statics: "npm:^3.3.2" - intl-messageformat: "npm:10.7.1" - tslib: "npm:^2.7.0" + hoist-non-react-statics: "npm:3" + intl-messageformat: "npm:10.7.3" + tslib: "npm:2" peerDependencies: react: ^16.6.0 || 17 || 18 typescript: ^4.7 || 5 peerDependenciesMeta: typescript: optional: true - checksum: 10c0/4ffdf8fd6e82c10de7d1e195336c8bc98fab5f6bc7fde548f7df553caf05677d632977c3287e9b72915f8a01ed98ff8246fdfccea2f7048902f46a596a0db4b2 + checksum: 10c0/a6b417c1cfb36ffe38645fe9daaaf3e1a25660468b8dbd4ccf386be063cc7c0fdeecc3c0490c671721408696b6578262b8db5882d00b76d4ec48d94601b14eab languageName: node linkType: hard @@ -17110,10 +17152,10 @@ __metadata: languageName: node linkType: hard -"tslib@npm:^2.0.0, tslib@npm:^2.4.0, tslib@npm:^2.6.2, tslib@npm:^2.7.0": - version: 2.7.0 - resolution: "tslib@npm:2.7.0" - checksum: 10c0/469e1d5bf1af585742128827000711efa61010b699cb040ab1800bcd3ccdd37f63ec30642c9e07c4439c1db6e46345582614275daca3e0f4abae29b0083f04a6 +"tslib@npm:2, tslib@npm:^2.0.0, tslib@npm:^2.4.0, tslib@npm:^2.6.2, tslib@npm:^2.7.0": + version: 2.8.0 + resolution: "tslib@npm:2.8.0" + checksum: 10c0/31e4d14dc1355e9b89e4d3c893a18abb7f90b6886b089c2da91224d0a7752c79f3ddc41bc1aa0a588ac895bd97bb99c5bc2bfdb2f86de849f31caeb3ba79bbe5 languageName: node linkType: hard From 77cd16f4ee7ab807df6fffb1538a6659a8182a9e Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Fri, 25 Oct 2024 09:44:02 +0000 Subject: [PATCH 061/357] Update dependency opentelemetry-instrumentation-active_job to v0.7.8 (#32657) 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 8421f06588d292..103bd80b815b3a 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -516,7 +516,7 @@ GEM opentelemetry-api (~> 1.0) opentelemetry-instrumentation-active_support (~> 0.1) opentelemetry-instrumentation-base (~> 0.22.1) - opentelemetry-instrumentation-active_job (0.7.7) + opentelemetry-instrumentation-active_job (0.7.8) opentelemetry-api (~> 1.0) opentelemetry-instrumentation-base (~> 0.22.1) opentelemetry-instrumentation-active_model_serializers (0.20.2) From d304540ebc8cf9d28130d8f6e0186b8bafe2ee15 Mon Sep 17 00:00:00 2001 From: Renaud Chaput Date: Mon, 21 Oct 2024 09:08:18 +0200 Subject: [PATCH 062/357] [Glitch] Replace `execCommand` for copying text with the modern `clipboard` API Port fb6d7ed4752ec94ce414de6e78cdaf3f7515f9e9 to glitch-soc Signed-off-by: Claire --- .../flavours/glitch/entrypoints/public.tsx | 35 ++++++++----------- 1 file changed, 14 insertions(+), 21 deletions(-) diff --git a/app/javascript/flavours/glitch/entrypoints/public.tsx b/app/javascript/flavours/glitch/entrypoints/public.tsx index 41c0e343968757..e8b9825ac9417a 100644 --- a/app/javascript/flavours/glitch/entrypoints/public.tsx +++ b/app/javascript/flavours/glitch/entrypoints/public.tsx @@ -327,31 +327,24 @@ Rails.delegate(document, '.input-copy button', 'click', ({ target }) => { if (!input) return; - const oldReadOnly = input.readOnly; - - input.readOnly = false; - input.focus(); - input.select(); - input.setSelectionRange(0, input.value.length); - - try { - if (document.execCommand('copy')) { - input.blur(); - + navigator.clipboard + .writeText(input.value) + .then(() => { const parent = target.parentElement; - if (!parent) return; - parent.classList.add('copied'); + if (parent) { + parent.classList.add('copied'); - setTimeout(() => { - parent.classList.remove('copied'); - }, 700); - } - } catch (err) { - console.error(err); - } + setTimeout(() => { + parent.classList.remove('copied'); + }, 700); + } - input.readOnly = oldReadOnly; + return true; + }) + .catch((error: unknown) => { + console.error(error); + }); }); const toggleSidebar = () => { From 28287eb3b2857f0fb52cac2dab904f228572bca6 Mon Sep 17 00:00:00 2001 From: Emelia Smith Date: Tue, 22 Oct 2024 10:31:53 +0200 Subject: [PATCH 063/357] [Glitch] Fix 'unknown' media attachment type rendering Port 346cdb998c8b8519292a0a1633a28a3938665f44 to glitch-soc Signed-off-by: Claire --- app/javascript/flavours/glitch/components/status.jsx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/app/javascript/flavours/glitch/components/status.jsx b/app/javascript/flavours/glitch/components/status.jsx index 493ef4f68a8983..db3e8d77ed600e 100644 --- a/app/javascript/flavours/glitch/components/status.jsx +++ b/app/javascript/flavours/glitch/components/status.jsx @@ -648,7 +648,7 @@ class Status extends ImmutablePureComponent { media={status.get('media_attachments')} />, ); - } else if (['image', 'gifv'].includes(status.getIn(['media_attachments', 0, 'type'])) || status.get('media_attachments').size > 1) { + } else if (['image', 'gifv', 'unknown'].includes(status.getIn(['media_attachments', 0, 'type'])) || status.get('media_attachments').size > 1) { media.push( {Component => ( From 50a40d1b2fe7c6b47c957c3a3d67405ea20b8840 Mon Sep 17 00:00:00 2001 From: David Roetzel Date: Tue, 22 Oct 2024 14:49:10 +0200 Subject: [PATCH 064/357] [Glitch] Do not change follow counters when already following Port 029c99bd7b5bca19b11d63a09c3e71b86306dad4 to glitch-soc Signed-off-by: Claire --- app/javascript/flavours/glitch/reducers/accounts.ts | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/app/javascript/flavours/glitch/reducers/accounts.ts b/app/javascript/flavours/glitch/reducers/accounts.ts index c9d7b5fe129adb..cbdfbcd83285cb 100644 --- a/app/javascript/flavours/glitch/reducers/accounts.ts +++ b/app/javascript/flavours/glitch/reducers/accounts.ts @@ -57,7 +57,10 @@ export const accountsReducer: Reducer = ( return state.setIn([action.payload.id, 'hidden'], false); else if (importAccounts.match(action)) return normalizeAccounts(state, action.payload.accounts); - else if (followAccountSuccess.match(action)) { + else if ( + followAccountSuccess.match(action) && + !action.payload.alreadyFollowing + ) { return state .update(action.payload.relationship.id, (account) => account?.update('followers_count', (n) => n + 1), From 227bf772529be57b15921bfd94be5a32c76b563e Mon Sep 17 00:00:00 2001 From: Eugen Rochko Date: Thu, 24 Oct 2024 09:28:22 +0200 Subject: [PATCH 065/357] [Glitch] Change design of rich text elements in web UI Port d11231a420cf80c3f924233d398002639cac0f8b to glitch-soc Signed-off-by: Claire --- .../styles/mastodon-light/variables.scss | 3 + .../flavours/glitch/styles/rich_text.scss | 74 +++++++++++++++++-- .../flavours/glitch/styles/variables.scss | 3 + 3 files changed, 72 insertions(+), 8 deletions(-) diff --git a/app/javascript/flavours/glitch/styles/mastodon-light/variables.scss b/app/javascript/flavours/glitch/styles/mastodon-light/variables.scss index 76bdc4022e3ef0..777c622ace0855 100644 --- a/app/javascript/flavours/glitch/styles/mastodon-light/variables.scss +++ b/app/javascript/flavours/glitch/styles/mastodon-light/variables.scss @@ -76,4 +76,7 @@ body { --background-color-tint: rgba(255, 255, 255, 80%); --background-filter: blur(10px); --on-surface-color: #{transparentize($ui-base-color, 0.65)}; + --rich-text-container-color: rgba(255, 216, 231, 100%); + --rich-text-text-color: rgba(114, 47, 83, 100%); + --rich-text-decorations-color: rgba(255, 175, 212, 100%); } diff --git a/app/javascript/flavours/glitch/styles/rich_text.scss b/app/javascript/flavours/glitch/styles/rich_text.scss index 266a09eb8e82d8..30f89a5710f550 100644 --- a/app/javascript/flavours/glitch/styles/rich_text.scss +++ b/app/javascript/flavours/glitch/styles/rich_text.scss @@ -2,9 +2,29 @@ .e-content, .edit-indicator__content, .reply-indicator__content { + code { + background: var(--rich-text-container-color); + padding: 4px; + border-radius: 4px; + color: var(--rich-text-text-color); + font-size: 0.85em; + } + + pre { + background: var(--rich-text-container-color); + padding: 8px; + border-radius: 4px; + color: var(--rich-text-text-color); + + code { + padding: 0; + background: transparent; + } + } + pre, blockquote { - margin-bottom: 20px; + margin-bottom: 22px; white-space: pre-wrap; unicode-bidi: plaintext; @@ -14,19 +34,45 @@ } blockquote { - padding-inline-start: 10px; - border-inline-start: 3px solid $darker-text-color; - color: $darker-text-color; + padding-inline-start: 32px; + color: var(--rich-text-text-color); white-space: normal; + position: relative; + + &::before { + display: block; + content: ''; + width: 24px; + height: 20px; + mask-image: url('~images/quote.svg'); + background-color: var(--rich-text-decorations-color); + position: absolute; + inset-inline-start: 0; + top: 0; + } + + blockquote { + margin-top: 4px; + border-inline-start: 3px solid var(--rich-text-decorations-color); + padding-inline-start: 16px; + + &::before { + display: none; + } + } - p:last-child { + p:last-of-type { margin-bottom: 0; } } & > ul, & > ol { - margin-bottom: 20px; + margin-bottom: 22px; + + &:last-child { + margin-bottom: 0; + } } h1, @@ -76,7 +122,15 @@ ul, ol { - margin-inline-start: 2em; + padding-inline-start: 24px; + + li { + padding-inline-start: 8px; + + &::marker { + text-align: end; + } + } p { margin: 0; @@ -84,7 +138,11 @@ } ul { - list-style-type: disc; + list-style-type: '•'; + + li::marker { + text-align: start; + } } ol { diff --git a/app/javascript/flavours/glitch/styles/variables.scss b/app/javascript/flavours/glitch/styles/variables.scss index d19db06855957b..0b3bb73fe1fe6b 100644 --- a/app/javascript/flavours/glitch/styles/variables.scss +++ b/app/javascript/flavours/glitch/styles/variables.scss @@ -122,4 +122,7 @@ $dismiss-overlay-width: 4rem; --error-background-color: #{darken($error-red, 16%)}; --error-active-background-color: #{darken($error-red, 12%)}; --on-error-color: #fff; + --rich-text-container-color: rgba(87, 24, 60, 100%); + --rich-text-text-color: rgba(255, 175, 212, 100%); + --rich-text-decorations-color: rgba(128, 58, 95, 100%); } From 8a222b39513c2e0d1c2149aa66556bee9875b1b2 Mon Sep 17 00:00:00 2001 From: Claire Date: Sat, 26 Oct 2024 13:54:36 +0200 Subject: [PATCH 066/357] Fix assets build failure on glitch-soc --- app/javascript/styles/mastodon/rich_text.scss | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/app/javascript/styles/mastodon/rich_text.scss b/app/javascript/styles/mastodon/rich_text.scss index 52412274b61ef2..0c9237caae5bda 100644 --- a/app/javascript/styles/mastodon/rich_text.scss +++ b/app/javascript/styles/mastodon/rich_text.scss @@ -44,7 +44,7 @@ content: ''; width: 24px; height: 20px; - mask-image: url('../images/quote.svg'); + mask-image: url('~images/quote.svg'); background-color: var(--rich-text-decorations-color); position: absolute; inset-inline-start: 0; From e8d23f6bcb2b5840abd6e087146cc6f2e84fcf83 Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Mon, 21 Oct 2024 10:03:44 +0200 Subject: [PATCH 067/357] [Glitch] Update eslint (non-major) Port 11a63b2db6146a5bc4d85b5c1b56ccd932a212ea to glitch-soc Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> Co-authored-by: Renaud Chaput Signed-off-by: Claire --- app/javascript/flavours/glitch/components/button.tsx | 2 +- app/javascript/flavours/glitch/components/short_number.tsx | 1 + .../notifications_v2/components/notification_follow.tsx | 2 ++ .../components/notification_group_with_status.tsx | 1 + 4 files changed, 5 insertions(+), 1 deletion(-) diff --git a/app/javascript/flavours/glitch/components/button.tsx b/app/javascript/flavours/glitch/components/button.tsx index 3e720f7ceead2a..b349a83f2bbed2 100644 --- a/app/javascript/flavours/glitch/components/button.tsx +++ b/app/javascript/flavours/glitch/components/button.tsx @@ -1,4 +1,4 @@ -import type { PropsWithChildren } from 'react'; +import type { PropsWithChildren, JSX } from 'react'; import { useCallback } from 'react'; import classNames from 'classnames'; diff --git a/app/javascript/flavours/glitch/components/short_number.tsx b/app/javascript/flavours/glitch/components/short_number.tsx index a0b523aaadc920..37201a5e1d7126 100644 --- a/app/javascript/flavours/glitch/components/short_number.tsx +++ b/app/javascript/flavours/glitch/components/short_number.tsx @@ -1,4 +1,5 @@ import { memo } from 'react'; +import type { JSX } from 'react'; import { FormattedMessage, FormattedNumber } from 'react-intl'; diff --git a/app/javascript/flavours/glitch/features/notifications_v2/components/notification_follow.tsx b/app/javascript/flavours/glitch/features/notifications_v2/components/notification_follow.tsx index cabb671815a99b..068f56cd18b76f 100644 --- a/app/javascript/flavours/glitch/features/notifications_v2/components/notification_follow.tsx +++ b/app/javascript/flavours/glitch/features/notifications_v2/components/notification_follow.tsx @@ -1,3 +1,5 @@ +import type { JSX } from 'react'; + import { FormattedMessage } from 'react-intl'; import { Link } from 'react-router-dom'; diff --git a/app/javascript/flavours/glitch/features/notifications_v2/components/notification_group_with_status.tsx b/app/javascript/flavours/glitch/features/notifications_v2/components/notification_group_with_status.tsx index 99045fa53b2b9f..5be3791161120a 100644 --- a/app/javascript/flavours/glitch/features/notifications_v2/components/notification_group_with_status.tsx +++ b/app/javascript/flavours/glitch/features/notifications_v2/components/notification_group_with_status.tsx @@ -1,4 +1,5 @@ import { useMemo } from 'react'; +import type { JSX } from 'react'; import classNames from 'classnames'; From 1d3d549e964e5691f60269576c7c4ad1450ef9ac Mon Sep 17 00:00:00 2001 From: Claire Date: Wed, 23 Oct 2024 11:47:23 +0200 Subject: [PATCH 068/357] [Glitch] Redesign Content Warning and filters Port 393f0a0159f8c12316e903979f6a506e44ea2b50 to glitch-soc Signed-off-by: Claire --- .../glitch/components/content_warning.tsx | 10 ++++- .../glitch/components/filter_warning.tsx | 9 ++-- .../glitch/components/status_banner.tsx | 15 ++++--- .../flavours/glitch/locales/en.json | 2 - .../flavours/glitch/styles/components.scss | 41 +++++++------------ 5 files changed, 38 insertions(+), 39 deletions(-) diff --git a/app/javascript/flavours/glitch/components/content_warning.tsx b/app/javascript/flavours/glitch/components/content_warning.tsx index 82f9ca83ed4907..e7e01ee14c2de3 100644 --- a/app/javascript/flavours/glitch/components/content_warning.tsx +++ b/app/javascript/flavours/glitch/components/content_warning.tsx @@ -17,9 +17,15 @@ export const ContentWarning: React.FC<{ aria-expanded={expanded} > {expanded ? ( - + ) : ( - + )} {icons} diff --git a/app/javascript/flavours/glitch/components/filter_warning.tsx b/app/javascript/flavours/glitch/components/filter_warning.tsx index 4305e43038df9f..5eaaac4ba38686 100644 --- a/app/javascript/flavours/glitch/components/filter_warning.tsx +++ b/app/javascript/flavours/glitch/components/filter_warning.tsx @@ -10,13 +10,16 @@ export const FilterWarning: React.FC<{

{chunks}, + }} />

diff --git a/app/javascript/flavours/glitch/components/status_banner.tsx b/app/javascript/flavours/glitch/components/status_banner.tsx index 8ff17a9b2e4b84..d25c05d6dbe098 100644 --- a/app/javascript/flavours/glitch/components/status_banner.tsx +++ b/app/javascript/flavours/glitch/components/status_banner.tsx @@ -1,8 +1,8 @@ import { FormattedMessage } from 'react-intl'; export enum BannerVariant { - Yellow = 'yellow', - Blue = 'blue', + Warning = 'warning', + Filter = 'filter', } export const StatusBanner: React.FC<{ @@ -11,9 +11,9 @@ export const StatusBanner: React.FC<{ expanded?: boolean; onClick?: () => void; }> = ({ children, variant, expanded, onClick }) => ( -
+ ) : variant === BannerVariant.Warning ? ( + ) : ( )} -
+ ); diff --git a/app/javascript/flavours/glitch/locales/en.json b/app/javascript/flavours/glitch/locales/en.json index 3b0439e7ed5f51..e60a2d87205b4d 100644 --- a/app/javascript/flavours/glitch/locales/en.json +++ b/app/javascript/flavours/glitch/locales/en.json @@ -154,7 +154,5 @@ "status.is_poll": "This toot is a poll", "status.local_only": "Only visible from your instance", "status.show_filter_reason": "Show anyway", - "status.show_less": "Show less", - "status.show_more": "Show more", "status.uncollapse": "Uncollapse" } diff --git a/app/javascript/flavours/glitch/styles/components.scss b/app/javascript/flavours/glitch/styles/components.scss index b66312a1653488..07d225e4eb9389 100644 --- a/app/javascript/flavours/glitch/styles/components.scss +++ b/app/javascript/flavours/glitch/styles/components.scss @@ -11648,19 +11648,21 @@ noscript { } .content-warning { + display: block; box-sizing: border-box; background: rgba($ui-highlight-color, 0.05); color: $secondary-text-color; - border-top: 1px solid; - border-bottom: 1px solid; - border-color: rgba($ui-highlight-color, 0.15); + border: 1px solid rgba($ui-highlight-color, 0.15); + border-radius: 8px; padding: 8px (5px + 8px); position: relative; font-size: 15px; line-height: 22px; + cursor: pointer; p { margin-bottom: 8px; + font-weight: 500; } .link-button { @@ -11669,31 +11671,16 @@ noscript { font-weight: 500; } - &::before, - &::after { - content: ''; - display: block; - position: absolute; - height: 100%; - background: url('~images/warning-stripes.svg') repeat-y; - width: 5px; - top: 0; - } - - &::before { - border-start-start-radius: 4px; - border-end-start-radius: 4px; - inset-inline-start: 0; - } + &--filter { + color: $darker-text-color; - &::after { - border-start-end-radius: 4px; - border-end-end-radius: 4px; - inset-inline-end: 0; - } + p { + font-weight: normal; + } - &--filter::before, - &--filter::after { - background-image: url('~images/filter-stripes.svg'); + .filter-name { + font-weight: 500; + color: $secondary-text-color; + } } } From 40b3c206e4ca69f415960cc7a1617a6aae012749 Mon Sep 17 00:00:00 2001 From: Claire Date: Sun, 27 Oct 2024 16:08:01 +0100 Subject: [PATCH 069/357] Change Content Warning design to match upstream's (#2890) --- .../glitch/components/content_warning.tsx | 34 +++++-------------- .../glitch/components/status_content.jsx | 2 +- .../flavours/glitch/styles/components.scss | 27 +++++---------- 3 files changed, 18 insertions(+), 45 deletions(-) diff --git a/app/javascript/flavours/glitch/components/content_warning.tsx b/app/javascript/flavours/glitch/components/content_warning.tsx index e7e01ee14c2de3..982365b0392308 100644 --- a/app/javascript/flavours/glitch/components/content_warning.tsx +++ b/app/javascript/flavours/glitch/components/content_warning.tsx @@ -1,6 +1,4 @@ -/* Significantly rewritten from upstream to keep the old design for now */ - -import { FormattedMessage } from 'react-intl'; +import { StatusBanner, BannerVariant } from './status_banner'; export const ContentWarning: React.FC<{ text: string; @@ -8,26 +6,12 @@ export const ContentWarning: React.FC<{ onClick?: () => void; icons?: React.ReactNode[]; }> = ({ text, expanded, onClick, icons }) => ( -

- {' '} - -

+ + {icons} +

+ ); diff --git a/app/javascript/flavours/glitch/components/status_content.jsx b/app/javascript/flavours/glitch/components/status_content.jsx index a15a4df25a85ee..9ee2e683a582e1 100644 --- a/app/javascript/flavours/glitch/components/status_content.jsx +++ b/app/javascript/flavours/glitch/components/status_content.jsx @@ -378,7 +378,7 @@ class StatusContent extends PureComponent { )).reduce((aggregate, item) => [...aggregate, item, ' '], []); let spoilerIcons = []; - if (hidden && mediaIcons) { + if (mediaIcons) { const mediaComponents = { 'link': LinkIcon, 'picture-o': ImageIcon, diff --git a/app/javascript/flavours/glitch/styles/components.scss b/app/javascript/flavours/glitch/styles/components.scss index 07d225e4eb9389..418a4311b4c85e 100644 --- a/app/javascript/flavours/glitch/styles/components.scss +++ b/app/javascript/flavours/glitch/styles/components.scss @@ -1399,9 +1399,9 @@ body > [data-popper-placement] { } .status__content__spoiler-link { - display: inline-flex; // glitch: media icon in spoiler button + display: inline-block; border-radius: 2px; - background: $action-button-color; // glitch: design used in more places + background: transparent; border: 0; color: $inverted-text-color; font-weight: 700; @@ -1411,23 +1411,6 @@ body > [data-popper-placement] { line-height: 20px; cursor: pointer; vertical-align: top; - align-items: center; // glitch: content indicator - - &:hover { - // glitch: design used in more places - background: lighten($action-button-color, 7%); - text-decoration: none; - } - - .status__content__spoiler-icon { - display: inline-block; - margin-inline-start: 5px; - border-inline-start: 1px solid currentColor; - padding: 0; - padding-inline-start: 4px; - width: 16px; - height: 16px; - } } .status__wrapper--filtered { @@ -11683,4 +11666,10 @@ noscript { color: $secondary-text-color; } } + + .status__content__spoiler-icon { + float: inline-end; + width: 20px; + height: 20px; + } } From e44a800887bd8da51ca869259b48c55e566cf55e Mon Sep 17 00:00:00 2001 From: Claire Date: Sun, 27 Oct 2024 21:08:59 +0100 Subject: [PATCH 070/357] Fix missing CSS for CW margins (#2891) --- app/javascript/flavours/glitch/styles/components.scss | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/app/javascript/flavours/glitch/styles/components.scss b/app/javascript/flavours/glitch/styles/components.scss index 418a4311b4c85e..e5ff4c96f55e92 100644 --- a/app/javascript/flavours/glitch/styles/components.scss +++ b/app/javascript/flavours/glitch/styles/components.scss @@ -1922,6 +1922,14 @@ body > [data-popper-placement] { margin-bottom: 16px; } + .content-warning { + margin-bottom: 16px; + + &:last-child { + margin-bottom: 0; + } + } + .logo { width: 40px; height: 40px; From 9074c1fac930db91dbf7fb6aad4b73f628b11e94 Mon Sep 17 00:00:00 2001 From: Jonny Saunders Date: Sun, 27 Oct 2024 21:55:18 -0700 Subject: [PATCH 071/357] Use `likes` and `shares` totalItems on status creations and updates (#32620) --- app/lib/activitypub/activity/create.rb | 13 ++++ app/lib/activitypub/parser/status_parser.rb | 8 +++ app/models/status.rb | 26 +++++++- app/models/status_stat.rb | 27 ++++++-- app/serializers/rest/status_serializer.rb | 4 +- .../process_status_update_service.rb | 15 +++++ ..._untrusted_reblogs_count_to_status_stat.rb | 8 +++ db/schema.rb | 4 +- spec/lib/activitypub/activity/create_spec.rb | 26 ++++++++ spec/lib/activitypub/activity/update_spec.rb | 64 +++++++++++++++++++ spec/models/status_spec.rb | 50 +++++++++++++++ spec/requests/api/v1/trends/statuses_spec.rb | 36 +++++++++++ .../rest/status_serializer_spec.rb | 55 ++++++++++++++++ spec/spec_helper.rb | 4 +- 14 files changed, 326 insertions(+), 14 deletions(-) create mode 100644 db/migrate/20241022214312_add_untrusted_favourites_count_and_untrusted_reblogs_count_to_status_stat.rb create mode 100644 spec/serializers/rest/status_serializer_spec.rb diff --git a/app/lib/activitypub/activity/create.rb b/app/lib/activitypub/activity/create.rb index d04f7226a0d2e4..85a66c68526578 100644 --- a/app/lib/activitypub/activity/create.rb +++ b/app/lib/activitypub/activity/create.rb @@ -53,6 +53,7 @@ def process_status ApplicationRecord.transaction do @status = Status.create!(@params) attach_tags(@status) + attach_counts(@status) end resolve_thread(@status) @@ -166,6 +167,18 @@ def attach_tags(status) end end + def attach_counts(status) + likes = @status_parser.favourites_count + shares = @status_parser.reblogs_count + return if likes.nil? && shares.nil? + + status.status_stat.tap do |status_stat| + status_stat.untrusted_reblogs_count = shares unless shares.nil? + status_stat.untrusted_favourites_count = likes unless likes.nil? + status_stat.save if status_stat.changed? + end + end + def process_tags return if @object['tag'].nil? diff --git a/app/lib/activitypub/parser/status_parser.rb b/app/lib/activitypub/parser/status_parser.rb index 2940aea44b7b95..3d2be3c66cc922 100644 --- a/app/lib/activitypub/parser/status_parser.rb +++ b/app/lib/activitypub/parser/status_parser.rb @@ -93,6 +93,14 @@ def language lang.presence && NORMALIZED_LOCALE_NAMES.fetch(lang.downcase.to_sym, lang) end + def favourites_count + @object.dig(:likes, :totalItems) + end + + def reblogs_count + @object.dig(:shares, :totalItems) + end + private def raw_language_code diff --git a/app/models/status.rb b/app/models/status.rb index e0630733d897fd..f0a4f50ff6f6ad 100644 --- a/app/models/status.rb +++ b/app/models/status.rb @@ -303,12 +303,34 @@ def favourites_count status_stat&.favourites_count || 0 end + # Reblogs count received from an external instance + def untrusted_reblogs_count + status_stat&.untrusted_reblogs_count unless local? + end + + # Favourites count received from an external instance + def untrusted_favourites_count + status_stat&.untrusted_favourites_count unless local? + end + def increment_count!(key) - update_status_stat!(key => public_send(key) + 1) + if key == :favourites_count && !untrusted_favourites_count.nil? + update_status_stat!(favourites_count: favourites_count + 1, untrusted_favourites_count: untrusted_favourites_count + 1) + elsif key == :reblogs_count && !untrusted_reblogs_count.nil? + update_status_stat!(reblogs_count: reblogs_count + 1, untrusted_reblogs_count: untrusted_reblogs_count + 1) + else + update_status_stat!(key => public_send(key) + 1) + end end def decrement_count!(key) - update_status_stat!(key => [public_send(key) - 1, 0].max) + if key == :favourites_count && !untrusted_favourites_count.nil? + update_status_stat!(favourites_count: [favourites_count - 1, 0].max, untrusted_favourites_count: [untrusted_favourites_count - 1, 0].max) + elsif key == :reblogs_count && !untrusted_reblogs_count.nil? + update_status_stat!(reblogs_count: [reblogs_count - 1, 0].max, untrusted_reblogs_count: [untrusted_reblogs_count - 1, 0].max) + else + update_status_stat!(key => [public_send(key) - 1, 0].max) + end end def trendable? diff --git a/app/models/status_stat.rb b/app/models/status_stat.rb index 47aa1447775abd..14a02071a7b74c 100644 --- a/app/models/status_stat.rb +++ b/app/models/status_stat.rb @@ -4,18 +4,24 @@ # # Table name: status_stats # -# id :bigint(8) not null, primary key -# status_id :bigint(8) not null -# replies_count :bigint(8) default(0), not null -# reblogs_count :bigint(8) default(0), not null -# favourites_count :bigint(8) default(0), not null -# created_at :datetime not null -# updated_at :datetime not null +# id :bigint(8) not null, primary key +# status_id :bigint(8) not null +# replies_count :bigint(8) default(0), not null +# reblogs_count :bigint(8) default(0), not null +# favourites_count :bigint(8) default(0), not null +# created_at :datetime not null +# updated_at :datetime not null +# untrusted_favourites_count :bigint(8) +# untrusted_reblogs_count :bigint(8) # class StatusStat < ApplicationRecord belongs_to :status, inverse_of: :status_stat + before_validation :clamp_untrusted_counts + + MAX_UNTRUSTED_COUNT = 100_000_000 + def replies_count [attributes['replies_count'], 0].max end @@ -27,4 +33,11 @@ def reblogs_count def favourites_count [attributes['favourites_count'], 0].max end + + private + + def clamp_untrusted_counts + self.untrusted_favourites_count = untrusted_favourites_count.to_i.clamp(0, MAX_UNTRUSTED_COUNT) if untrusted_favourites_count.present? + self.untrusted_reblogs_count = untrusted_reblogs_count.to_i.clamp(0, MAX_UNTRUSTED_COUNT) if untrusted_reblogs_count.present? + end end diff --git a/app/serializers/rest/status_serializer.rb b/app/serializers/rest/status_serializer.rb index e17e8c823e76fa..e108c789c7a8dc 100644 --- a/app/serializers/rest/status_serializer.rb +++ b/app/serializers/rest/status_serializer.rb @@ -84,11 +84,11 @@ def url end def reblogs_count - relationships&.attributes_map&.dig(object.id, :reblogs_count) || object.reblogs_count + object.untrusted_reblogs_count || relationships&.attributes_map&.dig(object.id, :reblogs_count) || object.reblogs_count end def favourites_count - relationships&.attributes_map&.dig(object.id, :favourites_count) || object.favourites_count + object.untrusted_favourites_count || relationships&.attributes_map&.dig(object.id, :favourites_count) || object.favourites_count end def favourited diff --git a/app/services/activitypub/process_status_update_service.rb b/app/services/activitypub/process_status_update_service.rb index 141ad24e92716a..1c7584b7696267 100644 --- a/app/services/activitypub/process_status_update_service.rb +++ b/app/services/activitypub/process_status_update_service.rb @@ -43,6 +43,7 @@ def handle_explicit_update! update_poll! update_immediate_attributes! update_metadata! + update_counts! create_edits! end @@ -62,6 +63,7 @@ def handle_implicit_update! with_redis_lock("create:#{@uri}") do update_poll!(allow_significant_changes: false) queue_poll_notifications! + update_counts! end end @@ -239,6 +241,19 @@ def update_emojis! end end + def update_counts! + likes = @status_parser.favourites_count + shares = @status_parser.reblogs_count + return if likes.nil? && shares.nil? + + @status.status_stat.tap do |status_stat| + status_stat.untrusted_reblogs_count = shares unless shares.nil? + status_stat.untrusted_favourites_count = likes unless likes.nil? + + status_stat.save if status_stat.changed? + end + end + def expected_type? equals_or_includes_any?(@json['type'], %w(Note Question)) end diff --git a/db/migrate/20241022214312_add_untrusted_favourites_count_and_untrusted_reblogs_count_to_status_stat.rb b/db/migrate/20241022214312_add_untrusted_favourites_count_and_untrusted_reblogs_count_to_status_stat.rb new file mode 100644 index 00000000000000..e34caff24020f8 --- /dev/null +++ b/db/migrate/20241022214312_add_untrusted_favourites_count_and_untrusted_reblogs_count_to_status_stat.rb @@ -0,0 +1,8 @@ +# frozen_string_literal: true + +class AddUntrustedFavouritesCountAndUntrustedReblogsCountToStatusStat < ActiveRecord::Migration[7.1] + def change + add_column :status_stats, :untrusted_favourites_count, :bigint, null: true + add_column :status_stats, :untrusted_reblogs_count, :bigint, null: true + end +end diff --git a/db/schema.rb b/db/schema.rb index 5f7b3a3305cfd5..bea9ad46be5a19 100644 --- a/db/schema.rb +++ b/db/schema.rb @@ -10,7 +10,7 @@ # # It's strongly recommended that you check this file into your version control system. -ActiveRecord::Schema[7.1].define(version: 2024_10_14_010506) do +ActiveRecord::Schema[7.1].define(version: 2024_10_22_214312) do # These are extensions that must be enabled in order to support this database enable_extension "plpgsql" @@ -1008,6 +1008,8 @@ t.bigint "favourites_count", default: 0, null: false t.datetime "created_at", precision: nil, null: false t.datetime "updated_at", precision: nil, null: false + t.bigint "untrusted_favourites_count" + t.bigint "untrusted_reblogs_count" t.index ["status_id"], name: "index_status_stats_on_status_id", unique: true end diff --git a/spec/lib/activitypub/activity/create_spec.rb b/spec/lib/activitypub/activity/create_spec.rb index bdc8fd9d519080..9482a309592d4c 100644 --- a/spec/lib/activitypub/activity/create_spec.rb +++ b/spec/lib/activitypub/activity/create_spec.rb @@ -928,6 +928,32 @@ def activity_for_object(json) expect(poll.votes.first).to be_nil end end + + context 'with counts' do + let(:object_json) do + { + id: [ActivityPub::TagManager.instance.uri_for(sender), '#bar'].join, + type: 'Note', + content: 'Lorem ipsum', + likes: { + id: [ActivityPub::TagManager.instance.uri_for(sender), '#bar', '/likes'].join, + type: 'Collection', + totalItems: 50, + }, + shares: { + id: [ActivityPub::TagManager.instance.uri_for(sender), '#bar', '/shares'].join, + type: 'Collection', + totalItems: 100, + }, + } + end + + it 'uses the counts from the created object' do + status = sender.statuses.first + expect(status.untrusted_favourites_count).to eq 50 + expect(status.untrusted_reblogs_count).to eq 100 + end + end end context 'when object URI uses bearcaps' do diff --git a/spec/lib/activitypub/activity/update_spec.rb b/spec/lib/activitypub/activity/update_spec.rb index 87e96d2d1b12cb..b829f3a5ad6d06 100644 --- a/spec/lib/activitypub/activity/update_spec.rb +++ b/spec/lib/activitypub/activity/update_spec.rb @@ -115,5 +115,69 @@ expect(status.edited_at).to be_nil end end + + context 'with a Note object' do + let(:updated) { nil } + let(:favourites) { 50 } + let(:reblogs) { 100 } + + let!(:status) { Fabricate(:status, uri: 'https://example.com/statuses/poll', account: sender) } + let(:json) do + { + '@context': 'https://www.w3.org/ns/activitystreams', + id: 'foo', + type: 'Update', + actor: sender.uri, + object: { + type: 'Note', + id: status.uri, + content: 'Foo', + updated: updated, + likes: { + id: "#{status.uri}/likes", + type: 'Collection', + totalItems: favourites, + }, + shares: { + id: "#{status.uri}/shares", + type: 'Collection', + totalItems: reblogs, + }, + }, + }.with_indifferent_access + end + + shared_examples 'updates counts' do + it 'updates the reblog count' do + expect(status.untrusted_reblogs_count).to eq reblogs + end + + it 'updates the favourites count' do + expect(status.untrusted_favourites_count).to eq favourites + end + end + + context 'with an implicit update' do + before do + status.update!(uri: ActivityPub::TagManager.instance.uri_for(status)) + subject.perform + end + + it_behaves_like 'updates counts' + end + + context 'with an explicit update' do + let(:favourites) { 150 } + let(:reblogs) { 200 } + let(:updated) { Time.now.utc.iso8601 } + + before do + status.update!(uri: ActivityPub::TagManager.instance.uri_for(status)) + subject.perform + end + + it_behaves_like 'updates counts' + end + end end end diff --git a/spec/models/status_spec.rb b/spec/models/status_spec.rb index 90f5968438644f..36b13df815c94c 100644 --- a/spec/models/status_spec.rb +++ b/spec/models/status_spec.rb @@ -164,6 +164,31 @@ end end + describe '#untrusted_reblogs_count' do + before do + alice.update(domain: 'example.com') + subject.status_stat.tap do |status_stat| + status_stat.untrusted_reblogs_count = 0 + status_stat.save + end + subject.save + end + + it 'is incremented by the number of reblogs' do + Fabricate(:status, account: bob, reblog: subject) + Fabricate(:status, account: alice, reblog: subject) + + expect(subject.untrusted_reblogs_count).to eq 2 + end + + it 'is decremented when reblog is removed' do + reblog = Fabricate(:status, account: bob, reblog: subject) + expect(subject.untrusted_reblogs_count).to eq 1 + reblog.destroy + expect(subject.untrusted_reblogs_count).to eq 0 + end + end + describe '#replies_count' do it 'is the number of replies' do Fabricate(:status, account: bob, thread: subject) @@ -194,6 +219,31 @@ end end + describe '#untrusted_favourites_count' do + before do + alice.update(domain: 'example.com') + subject.status_stat.tap do |status_stat| + status_stat.untrusted_favourites_count = 0 + status_stat.save + end + subject.save + end + + it 'is incremented by favorites' do + Fabricate(:favourite, account: bob, status: subject) + Fabricate(:favourite, account: alice, status: subject) + + expect(subject.untrusted_favourites_count).to eq 2 + end + + it 'is decremented when favourite is removed' do + favourite = Fabricate(:favourite, account: bob, status: subject) + expect(subject.untrusted_favourites_count).to eq 1 + favourite.destroy + expect(subject.untrusted_favourites_count).to eq 0 + end + end + describe '#proper' do it 'is itself for original statuses' do expect(subject.proper).to eq subject diff --git a/spec/requests/api/v1/trends/statuses_spec.rb b/spec/requests/api/v1/trends/statuses_spec.rb index fe00c9c6458564..414d7651b99a98 100644 --- a/spec/requests/api/v1/trends/statuses_spec.rb +++ b/spec/requests/api/v1/trends/statuses_spec.rb @@ -39,6 +39,42 @@ def prepare_trends end Trends::Statuses.new(threshold: 1, decay_threshold: -1).refresh end + + context 'with a comically inflated external interactions count' do + def prepare_fake_trends + fake_remote_account = Fabricate(:account, domain: 'other.com') + fake_status = Fabricate(:status, account: fake_remote_account, text: 'I am a big faker', trendable: true, language: 'en') + fake_status.status_stat.tap do |status_stat| + status_stat.reblogs_count = 0 + status_stat.favourites_count = 0 + status_stat.untrusted_reblogs_count = 1_000_000_000 + status_stat.untrusted_favourites_count = 1_000_000_000 + status_stat.save + end + real_remote_account = Fabricate(:account, domain: 'other.com') + real_status = Fabricate(:status, account: real_remote_account, text: 'I make real friends online', trendable: true, language: 'en') + real_status.status_stat.tap do |status_stat| + status_stat.reblogs_count = 10 + status_stat.favourites_count = 10 + status_stat.untrusted_reblogs_count = 10 + status_stat.untrusted_favourites_count = 10 + status_stat.save + end + Trends.statuses.add(fake_status, 100) + Trends.statuses.add(real_status, 101) + Trends::Statuses.new(threshold: 1, decay_threshold: 1).refresh + end + + it 'ignores the feeble attempts at deception' do + prepare_fake_trends + stub_const('Api::BaseController::DEFAULT_STATUSES_LIMIT', 10) + get '/api/v1/trends/statuses' + + expect(response).to have_http_status(200) + expect(response.parsed_body.length).to eq(1) + expect(response.parsed_body[0]['content']).to eq('I make real friends online') + end + end end end end diff --git a/spec/serializers/rest/status_serializer_spec.rb b/spec/serializers/rest/status_serializer_spec.rb new file mode 100644 index 00000000000000..e96d1fbe67ba52 --- /dev/null +++ b/spec/serializers/rest/status_serializer_spec.rb @@ -0,0 +1,55 @@ +# frozen_string_literal: true + +require 'rails_helper' + +RSpec.describe REST::StatusSerializer do + subject do + serialized_record_json( + status, + described_class, + options: { + scope: current_user, + scope_name: :current_user, + } + ) + end + + let(:current_user) { Fabricate(:user) } + let(:alice) { Fabricate(:account, username: 'alice') } + let(:bob) { Fabricate(:account, username: 'bob', domain: 'other.com') } + let(:status) { Fabricate(:status, account: alice) } + + context 'with a remote status' do + let(:status) { Fabricate(:status, account: bob) } + + before do + status.status_stat.tap do |status_stat| + status_stat.reblogs_count = 10 + status_stat.favourites_count = 20 + status_stat.save + end + end + + context 'with only trusted counts' do + it 'shows the trusted counts' do + expect(subject['reblogs_count']).to eq(10) + expect(subject['favourites_count']).to eq(20) + end + end + + context 'with untrusted counts' do + before do + status.status_stat.tap do |status_stat| + status_stat.untrusted_reblogs_count = 30 + status_stat.untrusted_favourites_count = 40 + status_stat.save + end + end + + it 'shows the untrusted counts' do + expect(subject['reblogs_count']).to eq(30) + expect(subject['favourites_count']).to eq(40) + end + end + end +end diff --git a/spec/spec_helper.rb b/spec/spec_helper.rb index 2a27544407ba26..13683e404e0e8f 100644 --- a/spec/spec_helper.rb +++ b/spec/spec_helper.rb @@ -34,8 +34,8 @@ end end -def serialized_record_json(record, serializer, adapter: nil) - options = { serializer: serializer } +def serialized_record_json(record, serializer, adapter: nil, options: {}) + options[:serializer] = serializer options[:adapter] = adapter if adapter.present? JSON.parse( ActiveModelSerializers::SerializableResource.new( From 1edb527072b8004b0ac25157d49f992b697ff800 Mon Sep 17 00:00:00 2001 From: Matt Jankowski Date: Mon, 28 Oct 2024 03:34:58 -0400 Subject: [PATCH 072/357] Enhance coverage for `StatusPin` model (#32515) --- app/models/status_pin.rb | 12 +++- spec/models/status_pin_spec.rb | 116 +++++++++++++++++++++------------ 2 files changed, 82 insertions(+), 46 deletions(-) diff --git a/app/models/status_pin.rb b/app/models/status_pin.rb index dae4a5b4e6ba7f..83711dde42da93 100644 --- a/app/models/status_pin.rb +++ b/app/models/status_pin.rb @@ -17,11 +17,17 @@ class StatusPin < ApplicationRecord validates_with StatusPinValidator - after_destroy :invalidate_cleanup_info + after_destroy :invalidate_cleanup_info, if: %i(account_matches_status_account? account_local?) - def invalidate_cleanup_info - return unless status&.account_id == account_id && account.local? + delegate :local?, to: :account, prefix: true + + private + def invalidate_cleanup_info account.statuses_cleanup_policy&.invalidate_last_inspected(status, :unpin) end + + def account_matches_status_account? + status&.account_id == account_id + end end diff --git a/spec/models/status_pin_spec.rb b/spec/models/status_pin_spec.rb index da375009aedd5b..1501d43cc4e430 100644 --- a/spec/models/status_pin_spec.rb +++ b/spec/models/status_pin_spec.rb @@ -3,70 +3,100 @@ require 'rails_helper' RSpec.describe StatusPin do - describe 'validations' do - it 'allows pins of own statuses' do - account = Fabricate(:account) - status = Fabricate(:status, account: account) + describe 'Validations' do + subject { Fabricate.build :status_pin } - expect(described_class.new(account: account, status: status).save).to be true - end + context 'with an account pinning statuses' do + subject { Fabricate.build :status_pin, account: account } - it 'does not allow pins of statuses by someone else' do - account = Fabricate(:account) - status = Fabricate(:status) + let(:account) { Fabricate(:account) } - expect(described_class.new(account: account, status: status).save).to be false - end + context 'with a self-owned status' do + let(:status) { Fabricate(:status, account: account) } - it 'does not allow pins of reblogs' do - account = Fabricate(:account) - status = Fabricate(:status, account: account) - reblog = Fabricate(:status, reblog: status) + it { is_expected.to allow_value(status).for(:status) } + end - expect(described_class.new(account: account, status: reblog).save).to be false - end + context 'with a status from someone else' do + let(:status) { Fabricate(:status) } - it 'does allow pins of direct statuses' do - account = Fabricate(:account) - status = Fabricate(:status, account: account, visibility: :private) + it { is_expected.to_not allow_value(status).for(:status).against(:base) } + end - expect(described_class.new(account: account, status: status).save).to be true - end + context 'with a reblog status' do + let(:status) { Fabricate(:status, reblog: Fabricate(:status, account: account)) } - it 'does not allow pins of direct statuses' do - account = Fabricate(:account) - status = Fabricate(:status, account: account, visibility: :direct) + it { is_expected.to_not allow_value(status).for(:status).against(:base) } + end + + context 'with a private status' do + let(:status) { Fabricate(:status, account: account, visibility: :private) } + + it { is_expected.to allow_value(status).for(:status).against(:base) } + end + + context 'with a direct status' do + let(:status) { Fabricate(:status, account: account, visibility: :direct) } - expect(described_class.new(account: account, status: status).save).to be false + it { is_expected.to_not allow_value(status).for(:status).against(:base) } + end end - context 'with a pin limit' do + context 'with a validator pin limit' do before { stub_const('StatusPinValidator::PIN_LIMIT', 2) } - it 'does not allow pins above the max' do - account = Fabricate(:account) + context 'with a local account at the limit' do + let(:account) { Fabricate :account } - Fabricate.times(StatusPinValidator::PIN_LIMIT, :status_pin, account: account) + before { Fabricate.times(StatusPinValidator::PIN_LIMIT, :status_pin, account: account) } - pin = described_class.new(account: account, status: Fabricate(:status, account: account)) - expect(pin.save) - .to be(false) + it { is_expected.to_not allow_value(account).for(:account).against(:base).with_message(I18n.t('statuses.pin_errors.limit')) } + end + + context 'with a remote account at the limit' do + let(:account) { Fabricate :account, domain: 'remote.test' } + + before { Fabricate.times(StatusPinValidator::PIN_LIMIT, :status_pin, account: account) } - expect(pin.errors[:base]) - .to contain_exactly(I18n.t('statuses.pin_errors.limit')) + it { is_expected.to allow_value(account).for(:account) } end + end + end + + describe 'Callbacks' do + describe 'Invalidating status via policy' do + subject { Fabricate :status_pin, status: Fabricate(:status, account: account), account: account } - it 'allows pins above the max for remote accounts' do - account = Fabricate(:account, domain: 'remote.test', username: 'bob', url: 'https://remote.test/') + context 'with a local account that owns the status and has a policy' do + let(:account) { Fabricate :account, domain: nil } - Fabricate.times(StatusPinValidator::PIN_LIMIT, :status_pin, account: account) + before do + Fabricate :account_statuses_cleanup_policy, account: account + account.statuses_cleanup_policy.record_last_inspected(subject.status.id + 1_024) + end + + it 'calls the invalidator on destroy' do + expect { subject.destroy } + .to change(account.statuses_cleanup_policy, :last_inspected) + end + end + + context 'with a local account that owns the status and does not have a policy' do + let(:account) { Fabricate :account, domain: nil } + + it 'does not call the invalidator on destroy' do + expect { subject.destroy } + .to_not change(account, :updated_at) + end + end - pin = described_class.new(account: account, status: Fabricate(:status, account: account)) - expect(pin.save) - .to be(true) + context 'with a remote account' do + let(:account) { Fabricate :account, domain: 'host.example' } - expect(pin.errors[:base]) - .to be_empty + it 'does not call the invalidator on destroy' do + expect { subject.destroy } + .to_not change(account, :updated_at) + end end end end From d547bf2f1e4198d6d5b8c8b200e7287bf03e9961 Mon Sep 17 00:00:00 2001 From: Matt Jankowski Date: Mon, 28 Oct 2024 03:37:32 -0400 Subject: [PATCH 073/357] Update rails to version 7.1.4.2 (#32670) --- Gemfile.lock | 106 +++++++++++++++++++++++++-------------------------- package.json | 2 +- yarn.lock | 10 ++--- 3 files changed, 59 insertions(+), 59 deletions(-) diff --git a/Gemfile.lock b/Gemfile.lock index 103bd80b815b3a..4c9ccaabd175bc 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -10,35 +10,35 @@ GIT GEM remote: https://rubygems.org/ specs: - actioncable (7.1.4.1) - actionpack (= 7.1.4.1) - activesupport (= 7.1.4.1) + actioncable (7.1.4.2) + actionpack (= 7.1.4.2) + activesupport (= 7.1.4.2) nio4r (~> 2.0) websocket-driver (>= 0.6.1) zeitwerk (~> 2.6) - actionmailbox (7.1.4.1) - actionpack (= 7.1.4.1) - activejob (= 7.1.4.1) - activerecord (= 7.1.4.1) - activestorage (= 7.1.4.1) - activesupport (= 7.1.4.1) + actionmailbox (7.1.4.2) + actionpack (= 7.1.4.2) + activejob (= 7.1.4.2) + activerecord (= 7.1.4.2) + activestorage (= 7.1.4.2) + activesupport (= 7.1.4.2) mail (>= 2.7.1) net-imap net-pop net-smtp - actionmailer (7.1.4.1) - actionpack (= 7.1.4.1) - actionview (= 7.1.4.1) - activejob (= 7.1.4.1) - activesupport (= 7.1.4.1) + actionmailer (7.1.4.2) + actionpack (= 7.1.4.2) + actionview (= 7.1.4.2) + activejob (= 7.1.4.2) + activesupport (= 7.1.4.2) mail (~> 2.5, >= 2.5.4) net-imap net-pop net-smtp rails-dom-testing (~> 2.2) - actionpack (7.1.4.1) - actionview (= 7.1.4.1) - activesupport (= 7.1.4.1) + actionpack (7.1.4.2) + actionview (= 7.1.4.2) + activesupport (= 7.1.4.2) nokogiri (>= 1.8.5) racc rack (>= 2.2.4) @@ -46,15 +46,15 @@ GEM rack-test (>= 0.6.3) rails-dom-testing (~> 2.2) rails-html-sanitizer (~> 1.6) - actiontext (7.1.4.1) - actionpack (= 7.1.4.1) - activerecord (= 7.1.4.1) - activestorage (= 7.1.4.1) - activesupport (= 7.1.4.1) + actiontext (7.1.4.2) + actionpack (= 7.1.4.2) + activerecord (= 7.1.4.2) + activestorage (= 7.1.4.2) + activesupport (= 7.1.4.2) globalid (>= 0.6.0) nokogiri (>= 1.8.5) - actionview (7.1.4.1) - activesupport (= 7.1.4.1) + actionview (7.1.4.2) + activesupport (= 7.1.4.2) builder (~> 3.1) erubi (~> 1.11) rails-dom-testing (~> 2.2) @@ -64,22 +64,22 @@ GEM activemodel (>= 4.1) case_transform (>= 0.2) jsonapi-renderer (>= 0.1.1.beta1, < 0.3) - activejob (7.1.4.1) - activesupport (= 7.1.4.1) + activejob (7.1.4.2) + activesupport (= 7.1.4.2) globalid (>= 0.3.6) - activemodel (7.1.4.1) - activesupport (= 7.1.4.1) - activerecord (7.1.4.1) - activemodel (= 7.1.4.1) - activesupport (= 7.1.4.1) + activemodel (7.1.4.2) + activesupport (= 7.1.4.2) + activerecord (7.1.4.2) + activemodel (= 7.1.4.2) + activesupport (= 7.1.4.2) timeout (>= 0.4.0) - activestorage (7.1.4.1) - actionpack (= 7.1.4.1) - activejob (= 7.1.4.1) - activerecord (= 7.1.4.1) - activesupport (= 7.1.4.1) + activestorage (7.1.4.2) + actionpack (= 7.1.4.2) + activejob (= 7.1.4.2) + activerecord (= 7.1.4.2) + activesupport (= 7.1.4.2) marcel (~> 1.0) - activesupport (7.1.4.1) + activesupport (7.1.4.2) base64 bigdecimal concurrent-ruby (~> 1.0, >= 1.0.2) @@ -639,20 +639,20 @@ GEM rackup (1.0.0) rack (< 3) webrick - rails (7.1.4.1) - actioncable (= 7.1.4.1) - actionmailbox (= 7.1.4.1) - actionmailer (= 7.1.4.1) - actionpack (= 7.1.4.1) - actiontext (= 7.1.4.1) - actionview (= 7.1.4.1) - activejob (= 7.1.4.1) - activemodel (= 7.1.4.1) - activerecord (= 7.1.4.1) - activestorage (= 7.1.4.1) - activesupport (= 7.1.4.1) + rails (7.1.4.2) + actioncable (= 7.1.4.2) + actionmailbox (= 7.1.4.2) + actionmailer (= 7.1.4.2) + actionpack (= 7.1.4.2) + actiontext (= 7.1.4.2) + actionview (= 7.1.4.2) + activejob (= 7.1.4.2) + activemodel (= 7.1.4.2) + activerecord (= 7.1.4.2) + activestorage (= 7.1.4.2) + activesupport (= 7.1.4.2) bundler (>= 1.15.0) - railties (= 7.1.4.1) + railties (= 7.1.4.2) rails-controller-testing (1.0.5) actionpack (>= 5.0.1.rc1) actionview (>= 5.0.1.rc1) @@ -667,9 +667,9 @@ GEM rails-i18n (7.0.9) i18n (>= 0.7, < 2) railties (>= 6.0.0, < 8) - railties (7.1.4.1) - actionpack (= 7.1.4.1) - activesupport (= 7.1.4.1) + railties (7.1.4.2) + actionpack (= 7.1.4.2) + activesupport (= 7.1.4.2) irb rackup (>= 1.0.0) rake (>= 12.2) diff --git a/package.json b/package.json index d144b0c156ea39..f907dc4f6c7d0d 100644 --- a/package.json +++ b/package.json @@ -48,7 +48,7 @@ "@formatjs/intl-pluralrules": "^5.2.2", "@gamestdio/websocket": "^0.3.2", "@github/webauthn-json": "^2.1.1", - "@rails/ujs": "7.1.401", + "@rails/ujs": "7.1.402", "@reduxjs/toolkit": "^2.0.1", "@svgr/webpack": "^5.5.0", "arrow-key-navigation": "^1.2.0", diff --git a/yarn.lock b/yarn.lock index cfe57e724c6104..b8f9d50cf6e5c5 100644 --- a/yarn.lock +++ b/yarn.lock @@ -2821,7 +2821,7 @@ __metadata: "@formatjs/intl-pluralrules": "npm:^5.2.2" "@gamestdio/websocket": "npm:^0.3.2" "@github/webauthn-json": "npm:^2.1.1" - "@rails/ujs": "npm:7.1.401" + "@rails/ujs": "npm:7.1.402" "@reduxjs/toolkit": "npm:^2.0.1" "@svgr/webpack": "npm:^5.5.0" "@testing-library/dom": "npm:^10.2.0" @@ -3120,10 +3120,10 @@ __metadata: languageName: node linkType: hard -"@rails/ujs@npm:7.1.401": - version: 7.1.401 - resolution: "@rails/ujs@npm:7.1.401" - checksum: 10c0/08eae084c80e837e47cc01d0be25a431495f7dea381dcaaa4ce39a3217fac46bf87d169b3dfcf304ae16e0714de7435c2b8c5eb8d5052e3ba70ef3050a72fa3c +"@rails/ujs@npm:7.1.402": + version: 7.1.402 + resolution: "@rails/ujs@npm:7.1.402" + checksum: 10c0/ccab74b8013ed8a8ab8d7497d0fa510a6ec079725b5fcf679936d80c342940e462b60243ad2cb98128f29db5708a094e319767e8f33a18eb63ceb745de63d1e0 languageName: node linkType: hard From 48f6f46072f009a4e6e2c434a94b90fd58017c25 Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Mon, 28 Oct 2024 14:20:47 +0100 Subject: [PATCH 074/357] Update dependency react-select to v5.8.2 (#32661) 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 b8f9d50cf6e5c5..eb509cfdc4b225 100644 --- a/yarn.lock +++ b/yarn.lock @@ -14652,8 +14652,8 @@ __metadata: linkType: hard "react-select@npm:^5.7.3": - version: 5.8.1 - resolution: "react-select@npm:5.8.1" + version: 5.8.2 + resolution: "react-select@npm:5.8.2" dependencies: "@babel/runtime": "npm:^7.12.0" "@emotion/cache": "npm:^11.4.0" @@ -14667,7 +14667,7 @@ __metadata: peerDependencies: react: ^16.8.0 || ^17.0.0 || ^18.0.0 react-dom: ^16.8.0 || ^17.0.0 || ^18.0.0 - checksum: 10c0/0fd73e1e472105f980e09c86f0e6adbdc9f2f5c1befa275b08c71653becdd1829f596155a81b5085cb86f18b20bf4f4cc439ab5fe23e68f326e169dcfe00ccf6 + checksum: 10c0/3089b8bfb23f556a7b1de07ea654fc5f5976f531a731a0231bbcbc195afb9294c36f49d712712f2deefc13eb6d7ede4aa1d80cb45b80afd3e26fde2f09db35eb languageName: node linkType: hard From c3919289d2d1b4bcb74b789533debd109bf77f9b Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Mon, 28 Oct 2024 14:21:01 +0100 Subject: [PATCH 075/357] Update DefinitelyTyped types (non-major) (#32674) 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 eb509cfdc4b225..ac78bdc5a251c0 100644 --- a/yarn.lock +++ b/yarn.lock @@ -3725,12 +3725,12 @@ __metadata: linkType: hard "@types/jest@npm:^29.5.2": - version: 29.5.13 - resolution: "@types/jest@npm:29.5.13" + version: 29.5.14 + resolution: "@types/jest@npm:29.5.14" dependencies: expect: "npm:^29.0.0" pretty-format: "npm:^29.0.0" - checksum: 10c0/9c31af0b155387b9860908830de63c6b79011d7c87c8b61b39da124e26e55423dd51b006749aafe4f0ef3a065016619a1f93ef4b055157d43727f448e67824b7 + checksum: 10c0/18e0712d818890db8a8dab3d91e9ea9f7f19e3f83c2e50b312f557017dc81466207a71f3ed79cf4428e813ba939954fa26ffa0a9a7f153181ba174581b1c2aed languageName: node linkType: hard @@ -3997,12 +3997,12 @@ __metadata: linkType: hard "@types/react@npm:*, @types/react@npm:>=16.9.11, @types/react@npm:^18.2.7, @types/react@npm:^18.3.11": - version: 18.3.11 - resolution: "@types/react@npm:18.3.11" + version: 18.3.12 + resolution: "@types/react@npm:18.3.12" dependencies: "@types/prop-types": "npm:*" csstype: "npm:^3.0.2" - checksum: 10c0/ce80512246ca5bda69db85b9f4f1835189334acfb6b2c4f3eda8cabff1ff1a3ea9ce4f3b895bdbc18c94140aa45592331aa3fdeb557f525c1b048de7ce84fc0e + checksum: 10c0/8bae8d9a41619804561574792e29112b413044eb0d53746dde2b9720c1f9a59f71c895bbd7987cd8ce9500b00786e53bc032dced38cddf42910458e145675290 languageName: node linkType: hard @@ -4135,8 +4135,8 @@ __metadata: linkType: hard "@types/webpack@npm:^4.41.33": - version: 4.41.39 - resolution: "@types/webpack@npm:4.41.39" + version: 4.41.40 + resolution: "@types/webpack@npm:4.41.40" dependencies: "@types/node": "npm:*" "@types/tapable": "npm:^1" @@ -4144,7 +4144,7 @@ __metadata: "@types/webpack-sources": "npm:*" anymatch: "npm:^3.0.0" source-map: "npm:^0.6.0" - checksum: 10c0/740420d092abb80b70263b02609bde209801b060d8e6f3a399a129945cb09182c2ce63dc816908bfbcdb123b35dc4c4fb51367aac2b5974537694cac2631db21 + checksum: 10c0/ecd530e5db4c21ec61795eec538026f96c126323836249a83e72805afd1d0b1141fc781f14d4a59d77f877523384b4c5d79dc391cfb901e7a781a9aa085f8198 languageName: node linkType: hard From 6a5a59c28ca081554026e13c0e71763c0fdc033c Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Mon, 28 Oct 2024 13:21:24 +0000 Subject: [PATCH 076/357] Update dependency @formatjs/cli to v6.3.5 (#32675) 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 ac78bdc5a251c0..4ef44a7591cef1 100644 --- a/yarn.lock +++ b/yarn.lock @@ -2204,8 +2204,8 @@ __metadata: linkType: hard "@formatjs/cli@npm:^6.1.1": - version: 6.3.0 - resolution: "@formatjs/cli@npm:6.3.0" + version: 6.3.5 + resolution: "@formatjs/cli@npm:6.3.5" peerDependencies: "@glimmer/env": ^0.1.7 "@glimmer/reference": ^0.91.1 || ^0.92.0 @@ -2234,7 +2234,7 @@ __metadata: optional: true bin: formatjs: bin/formatjs - checksum: 10c0/9a803eacbcf2060c8b3cedcf9eef1300df73722eeadaebf7282ff0e9cc41bdcb98d60cea46c297fb9060a07ccd56d44f70247d659827086a55a1d0787e6bd545 + checksum: 10c0/f3fd57de6df3ef0cfa668813c49acd7dcbecbf52444f30e8edec4ee7bc2d8c47c2e6fb4b7ce3c9c5b4595bdf8416c37953ebb05b400f99874a7f810943f6265b languageName: node linkType: hard From 0426cb78f7f162c0ff46c61081ada5025875874b Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" <41898282+github-actions[bot]@users.noreply.github.com> Date: Mon, 28 Oct 2024 13:23:13 +0000 Subject: [PATCH 077/357] New Crowdin Translations (automated) (#32589) Co-authored-by: GitHub Actions --- app/javascript/mastodon/locales/ar.json | 1 - app/javascript/mastodon/locales/be.json | 1 - app/javascript/mastodon/locales/br.json | 2 + app/javascript/mastodon/locales/ca.json | 4 +- app/javascript/mastodon/locales/cy.json | 43 +++---- app/javascript/mastodon/locales/da.json | 3 +- app/javascript/mastodon/locales/de.json | 9 +- app/javascript/mastodon/locales/el.json | 1 - app/javascript/mastodon/locales/en-GB.json | 1 - app/javascript/mastodon/locales/eo.json | 7 +- app/javascript/mastodon/locales/es-AR.json | 5 +- app/javascript/mastodon/locales/es-MX.json | 3 +- app/javascript/mastodon/locales/es.json | 5 +- app/javascript/mastodon/locales/et.json | 1 - app/javascript/mastodon/locales/eu.json | 1 - app/javascript/mastodon/locales/fa.json | 18 ++- app/javascript/mastodon/locales/fi.json | 3 +- app/javascript/mastodon/locales/fo.json | 3 +- app/javascript/mastodon/locales/fr-CA.json | 2 +- app/javascript/mastodon/locales/fr.json | 2 +- app/javascript/mastodon/locales/fy.json | 1 - app/javascript/mastodon/locales/ga.json | 3 +- app/javascript/mastodon/locales/gd.json | 4 +- app/javascript/mastodon/locales/gl.json | 3 +- app/javascript/mastodon/locales/he.json | 3 +- app/javascript/mastodon/locales/hu.json | 3 +- app/javascript/mastodon/locales/ia.json | 1 - app/javascript/mastodon/locales/id.json | 9 ++ app/javascript/mastodon/locales/io.json | 1 - app/javascript/mastodon/locales/is.json | 3 +- app/javascript/mastodon/locales/it.json | 3 +- app/javascript/mastodon/locales/ja.json | 16 ++- app/javascript/mastodon/locales/ko.json | 3 +- app/javascript/mastodon/locales/la.json | 3 + app/javascript/mastodon/locales/lt.json | 4 +- app/javascript/mastodon/locales/lv.json | 24 ++-- app/javascript/mastodon/locales/nl.json | 3 +- app/javascript/mastodon/locales/nn.json | 1 - app/javascript/mastodon/locales/no.json | 1 - app/javascript/mastodon/locales/pl.json | 3 +- app/javascript/mastodon/locales/pt-BR.json | 3 +- app/javascript/mastodon/locales/pt-PT.json | 3 +- app/javascript/mastodon/locales/ru.json | 5 +- app/javascript/mastodon/locales/sk.json | 3 +- app/javascript/mastodon/locales/sq.json | 3 +- app/javascript/mastodon/locales/sv.json | 9 +- app/javascript/mastodon/locales/th.json | 11 +- app/javascript/mastodon/locales/tr.json | 3 +- app/javascript/mastodon/locales/uk.json | 7 +- app/javascript/mastodon/locales/vi.json | 3 +- app/javascript/mastodon/locales/zh-CN.json | 3 +- app/javascript/mastodon/locales/zh-HK.json | 10 ++ app/javascript/mastodon/locales/zh-TW.json | 41 +++---- config/locales/activerecord.fa.yml | 6 + config/locales/devise.eo.yml | 2 + config/locales/doorkeeper.eo.yml | 4 + config/locales/doorkeeper.lv.yml | 19 +-- config/locales/doorkeeper.th.yml | 1 + config/locales/es-AR.yml | 6 +- config/locales/fa.yml | 127 ++++++++++++++++++++- config/locales/ga.yml | 3 + config/locales/hu.yml | 3 + config/locales/ja.yml | 3 + config/locales/ko.yml | 3 + config/locales/lv.yml | 78 +++++++------ config/locales/nn.yml | 34 ++++++ config/locales/simple_form.eo.yml | 2 + config/locales/simple_form.es-MX.yml | 2 +- config/locales/simple_form.fa.yml | 4 + config/locales/simple_form.ga.yml | 2 + config/locales/simple_form.hu.yml | 2 + config/locales/simple_form.ja.yml | 2 + config/locales/simple_form.ko.yml | 2 + config/locales/simple_form.lv.yml | 4 +- config/locales/simple_form.nl.yml | 2 +- config/locales/simple_form.nn.yml | 2 + config/locales/simple_form.sq.yml | 2 + config/locales/simple_form.sv.yml | 2 + config/locales/simple_form.th.yml | 2 + config/locales/simple_form.uk.yml | 2 + config/locales/sk.yml | 5 + config/locales/sq.yml | 3 + config/locales/sv.yml | 41 ++++++- config/locales/th.yml | 29 +++++ config/locales/uk.yml | 2 + config/locales/vi.yml | 6 +- 86 files changed, 544 insertions(+), 174 deletions(-) diff --git a/app/javascript/mastodon/locales/ar.json b/app/javascript/mastodon/locales/ar.json index 6d8290f8a13294..54ed1cb8c85b5a 100644 --- a/app/javascript/mastodon/locales/ar.json +++ b/app/javascript/mastodon/locales/ar.json @@ -301,7 +301,6 @@ "filter_modal.select_filter.subtitle": "استخدم فئة موجودة أو قم بإنشاء فئة جديدة", "filter_modal.select_filter.title": "تصفية هذا المنشور", "filter_modal.title.status": "تصفية منشور", - "filter_warning.matches_filter": "يطابق عامل التصفية \"{title}\"", "filtered_notifications_banner.title": "الإشعارات المصفاة", "firehose.all": "الكل", "firehose.local": "هذا الخادم", diff --git a/app/javascript/mastodon/locales/be.json b/app/javascript/mastodon/locales/be.json index eb5cd5053dd5a9..8423e36ba0527d 100644 --- a/app/javascript/mastodon/locales/be.json +++ b/app/javascript/mastodon/locales/be.json @@ -300,7 +300,6 @@ "filter_modal.select_filter.subtitle": "Скарыстайцеся існуючай катэгорыяй або стварыце новую", "filter_modal.select_filter.title": "Фільтраваць гэты допіс", "filter_modal.title.status": "Фільтраваць допіс", - "filter_warning.matches_filter": "Адпавядае фільтру \"{title}\"", "filtered_notifications_banner.pending_requests": "Ад {count, plural, =0 {# людзей якіх} one {# чалавека якіх} few {# чалавек якіх} many {# людзей якіх} other {# чалавека якіх}} вы магчыма ведаеце", "filtered_notifications_banner.title": "Адфільтраваныя апавяшчэнні", "firehose.all": "Усе", diff --git a/app/javascript/mastodon/locales/br.json b/app/javascript/mastodon/locales/br.json index 1f0c90efcb048b..575bc567241b6a 100644 --- a/app/javascript/mastodon/locales/br.json +++ b/app/javascript/mastodon/locales/br.json @@ -171,6 +171,7 @@ "confirmations.reply.message": "Respont bremañ a zilamo ar gemennadenn emaoc'h o skrivañ. Sur e oc'h e fell deoc'h kenderc'hel ganti?", "confirmations.unfollow.confirm": "Diheuliañ", "confirmations.unfollow.message": "Ha sur oc'h e fell deoc'h paouez da heuliañ {name} ?", + "content_warning.show_more": "Diskouez muioc'h", "conversation.delete": "Dilemel ar gaozeadenn", "conversation.mark_as_read": "Merkañ evel lennet", "conversation.open": "Gwelout ar gaozeadenn", @@ -249,6 +250,7 @@ "filter_modal.select_filter.subtitle": "Implijout ur rummad a zo anezhañ pe krouiñ unan nevez", "filter_modal.select_filter.title": "Silañ an toud-mañ", "filter_modal.title.status": "Silañ un toud", + "filter_warning.matches_filter": "A glot gant ar sil “{title}”", "firehose.all": "Pep tra", "firehose.local": "Ar servijer-mañ", "firehose.remote": "Servijerioù all", diff --git a/app/javascript/mastodon/locales/ca.json b/app/javascript/mastodon/locales/ca.json index 990a3ef97d373e..678f4da1752609 100644 --- a/app/javascript/mastodon/locales/ca.json +++ b/app/javascript/mastodon/locales/ca.json @@ -158,6 +158,7 @@ "compose_form.poll.duration": "Durada de l'enquesta", "compose_form.poll.multiple": "Opcions múltiples", "compose_form.poll.option_placeholder": "Opció {number}", + "compose_form.poll.single": "Única opció", "compose_form.poll.switch_to_multiple": "Canvia l’enquesta per a permetre múltiples opcions", "compose_form.poll.switch_to_single": "Canvia l’enquesta per a permetre una única opció", "compose_form.poll.type": "Estil", @@ -304,7 +305,6 @@ "filter_modal.select_filter.subtitle": "Usa una categoria existent o crea'n una de nova", "filter_modal.select_filter.title": "Filtra aquest tut", "filter_modal.title.status": "Filtra un tut", - "filter_warning.matches_filter": "Coincideix amb el filtre “{title}”", "filtered_notifications_banner.pending_requests": "{count, plural, =0 {De ningú} one {D'una persona} other {De # persones}} que potser coneixes", "filtered_notifications_banner.title": "Notificacions filtrades", "firehose.all": "Tots", @@ -507,6 +507,7 @@ "notification.favourite": "{name} ha afavorit el teu tut", "notification.favourite.name_and_others_with_link": "{name} i {count, plural, one {# altre} other {# altres}} han afavorit la vostra publicació", "notification.follow": "{name} et segueix", + "notification.follow.name_and_others": "{name} i {count, plural, one {# altre} other {# altres}} us han seguit", "notification.follow_request": "{name} ha sol·licitat de seguir-te", "notification.follow_request.name_and_others": "{name} i {count, plural, one {# altre} other {# altres}} han demanat de seguir-vos", "notification.label.mention": "Menció", @@ -565,6 +566,7 @@ "notifications.column_settings.filter_bar.category": "Barra ràpida de filtres", "notifications.column_settings.follow": "Nous seguidors:", "notifications.column_settings.follow_request": "Noves sol·licituds de seguiment:", + "notifications.column_settings.group": "Agrupa", "notifications.column_settings.mention": "Mencions:", "notifications.column_settings.poll": "Resultats de l’enquesta:", "notifications.column_settings.push": "Notificacions push", diff --git a/app/javascript/mastodon/locales/cy.json b/app/javascript/mastodon/locales/cy.json index 723e8ae37d5e62..3c4a6aa40cc6a3 100644 --- a/app/javascript/mastodon/locales/cy.json +++ b/app/javascript/mastodon/locales/cy.json @@ -36,7 +36,7 @@ "account.followers.empty": "Does neb yn dilyn y defnyddiwr hwn eto.", "account.followers_counter": "{count, plural, one {{counter} dilynwr} two {{counter} ddilynwr} other {{counter} dilynwyr}}", "account.following": "Yn dilyn", - "account.following_counter": "{count, plural, one {Yn dilyn {counter}} other {Yn dilyn {counter}}}", + "account.following_counter": "{count, plural, one {Yn dilyn {counter}} other {Yn dilyn {counter} arall}}", "account.follows.empty": "Nid yw'r defnyddiwr hwn yn dilyn unrhyw un eto.", "account.go_to_profile": "Mynd i'r proffil", "account.hide_reblogs": "Cuddio hybiau gan @{name}", @@ -62,7 +62,7 @@ "account.requested_follow": "Mae {name} wedi gwneud cais i'ch dilyn", "account.share": "Rhannwch broffil @{name}", "account.show_reblogs": "Dangos hybiau gan @{name}", - "account.statuses_counter": "{count, plural, one {{counter} post} two {{counter} bost} few {{counter} phost} many {{counter} post} other {{counter} post}}", + "account.statuses_counter": "{count, plural, one {{counter} postiad} two {{counter} bostiad} few {{counter} phostiad} many {{counter} postiad} other {{counter} postiad}}", "account.unblock": "Dadflocio @{name}", "account.unblock_domain": "Dadflocio parth {domain}", "account.unblock_short": "Dadflocio", @@ -197,6 +197,7 @@ "confirmations.unfollow.title": "Dad-ddilyn defnyddiwr?", "content_warning.hide": "Cuddio'r postiad", "content_warning.show": "Dangos beth bynnag", + "content_warning.show_more": "Dangos rhagor", "conversation.delete": "Dileu sgwrs", "conversation.mark_as_read": "Nodi fel wedi'i ddarllen", "conversation.open": "Gweld sgwrs", @@ -305,8 +306,8 @@ "filter_modal.select_filter.subtitle": "Defnyddiwch gategori sy'n bodoli eisoes neu crëu un newydd", "filter_modal.select_filter.title": "Hidlo'r postiad hwn", "filter_modal.title.status": "Hidlo postiad", - "filter_warning.matches_filter": "Yn cydweddu'r hidlydd “{title}”", - "filtered_notifications_banner.pending_requests": "Gan {count, plural, =0 {no one} one {un person} two {# berson} few {# pherson} other {# person}} efallai eich bod yn eu hadnabod", + "filter_warning.matches_filter": "Yn cyd-fynd â'r hidlydd “ {title} ”", + "filtered_notifications_banner.pending_requests": "Oddi wrth {count, plural, =0 {no one} one {un person} two {# berson} few {# pherson} other {# person}} efallai eich bod yn eu hadnabod", "filtered_notifications_banner.title": "Hysbysiadau wedi'u hidlo", "firehose.all": "Popeth", "firehose.local": "Gweinydd hwn", @@ -349,12 +350,12 @@ "hashtag.column_settings.tag_mode.any": "Unrhyw un o'r rhain", "hashtag.column_settings.tag_mode.none": "Dim o'r rhain", "hashtag.column_settings.tag_toggle": "Include additional tags in this column", - "hashtag.counter_by_accounts": "{cyfrif, lluosog, un {{counter} cyfranogwr} arall {{counter} cyfranogwr}}", + "hashtag.counter_by_accounts": "{count, plural, one {{counter} cyfranogwr} other {{counter} cyfranogwr}}", "hashtag.counter_by_uses": "{count, plural, one {postiad {counter}} other {postiad {counter}}}", - "hashtag.counter_by_uses_today": "{cyfrif, lluosog, un {{counter} postiad} arall {{counter} postiad}} heddiw", + "hashtag.counter_by_uses_today": "{count, plural, one {{counter} postiad} other {{counter} postiad}} heddiw", "hashtag.follow": "Dilyn hashnod", "hashtag.unfollow": "Dad-ddilyn hashnod", - "hashtags.and_other": "…a {count, plural, other {# more}}", + "hashtags.and_other": "…a {count, plural, other {# arall}}", "hints.profiles.followers_may_be_missing": "Mae'n bosibl bod dilynwyr y proffil hwn ar goll.", "hints.profiles.follows_may_be_missing": "Mae'n bosibl bod dilynwyr y proffil hwn ar goll.", "hints.profiles.posts_may_be_missing": "Mae'n bosibl bod rhai postiadau y proffil hwn ar goll.", @@ -442,7 +443,7 @@ "limited_account_hint.title": "Mae'r proffil hwn wedi cael ei guddio gan gymedrolwyr {domain}.", "link_preview.author": "Gan {name}", "link_preview.more_from_author": "Mwy gan {name}", - "link_preview.shares": "{count, plural, one {{counter} ostiad } two {{counter} bostiad } few {{counter} postiad} many {{counter} postiad} other {{counter} postiad}}", + "link_preview.shares": "{count, plural, one {{counter} postiad } two {{counter} bostiad } few {{counter} postiad} many {{counter} postiad} other {{counter} postiad}}", "lists.account.add": "Ychwanegu at restr", "lists.account.remove": "Tynnu o'r rhestr", "lists.delete": "Dileu rhestr", @@ -499,18 +500,18 @@ "navigation_bar.security": "Diogelwch", "not_signed_in_indicator.not_signed_in": "Rhaid i chi fewngofnodi i weld yr adnodd hwn.", "notification.admin.report": "Adroddwyd ar {name} {target}", - "notification.admin.report_account": "{name} reported {count, plural, one {un postiad} other {# postiad}} from {target} for {category}", - "notification.admin.report_account_other": "Adroddodd {name} {count, plural, one {un postiad} two {# bostiad} few {# phost} other {# postiad}} gan {target}", + "notification.admin.report_account": "Adroddodd {name} {count, plural, one {un postiad} other {# postiad}} gan {target} oherwydd {category}", + "notification.admin.report_account_other": "Adroddodd {name} {count, plural, one {un postiad} two {# bostiad} few {# postiad} other {# postiad}} gan {target}", "notification.admin.report_statuses": "Adroddodd {name} {target} ar gyfer {category}", "notification.admin.report_statuses_other": "Adroddodd {name} {target}", "notification.admin.sign_up": "Cofrestrodd {name}", - "notification.admin.sign_up.name_and_others": "Cofrestrodd {name} {count, plural, one {ac # arall} other {a # eraill}}", + "notification.admin.sign_up.name_and_others": "Cofrestrodd {name} {count, plural, one {ac # arall} other {a # arall}}", "notification.favourite": "Ffafriodd {name} eich postiad", - "notification.favourite.name_and_others_with_link": "Ffafriodd {name} a {count, plural, one {# arall} other {# eraill}} eich postiad", + "notification.favourite.name_and_others_with_link": "Ffafriodd {name} a {count, plural, one {# arall} other {# arall}} eich postiad", "notification.follow": "Dilynodd {name} chi", - "notification.follow.name_and_others": "Mae {name} a {count, plural, zero {}one {# other} two {# others} few {# others} many {# others} other {# others}} nawr yn eich dilyn chi", + "notification.follow.name_and_others": "Mae {name} a {count, plural, zero {}one {# arall} two {# arall} few {# arall} many {# others} other {# arall}} nawr yn eich dilyn chi", "notification.follow_request": "Mae {name} wedi gwneud cais i'ch dilyn", - "notification.follow_request.name_and_others": "Mae {name} a{count, plural, one {# other} other {# others}} wedi gofyn i'ch dilyn chi", + "notification.follow_request.name_and_others": "Mae {name} a{count, plural, one {# arall} other {# arall}} wedi gofyn i'ch dilyn chi", "notification.label.mention": "Crybwyll", "notification.label.private_mention": "Crybwyll preifat", "notification.label.private_reply": "Ateb preifat", @@ -529,7 +530,7 @@ "notification.own_poll": "Mae eich pleidlais wedi dod i ben", "notification.poll": "Mae arolwg y gwnaethoch bleidleisio ynddo wedi dod i ben", "notification.reblog": "Hybodd {name} eich post", - "notification.reblog.name_and_others_with_link": "Mae {name} a {count, plural, one {# other} other {# others}} wedi hybu eich postiad", + "notification.reblog.name_and_others_with_link": "Mae {name} a {count, plural, one {# arall} other {# arall}} wedi hybu eich postiad", "notification.relationships_severance_event": "Wedi colli cysylltiad â {name}", "notification.relationships_severance_event.account_suspension": "Mae gweinyddwr o {from} wedi atal {target}, sy'n golygu na allwch dderbyn diweddariadau ganddynt mwyach na rhyngweithio â nhw.", "notification.relationships_severance_event.domain_block": "Mae gweinyddwr o {from} wedi blocio {target}, gan gynnwys {followersCount} o'ch dilynwyr a {followingCount, plural, one {# cyfrif} other {# cyfrif}} arall rydych chi'n ei ddilyn.", @@ -538,9 +539,9 @@ "notification.status": "{name} newydd ei bostio", "notification.update": "Golygodd {name} bostiad", "notification_requests.accept": "Derbyn", - "notification_requests.accept_multiple": "{count, plural, one {Accept # request…} other {Accept # requests…}}", - "notification_requests.confirm_accept_multiple.button": "{count, plural, one {Accept request} other {Accept requests}}", - "notification_requests.confirm_accept_multiple.message": "Rydych ar fin derbyn {count, plural, one {one notification request} other {# notification requests}}. Ydych chi'n siŵr eich bod am barhau?", + "notification_requests.accept_multiple": "{count, plural, one {Derbyn # cais…} other {Derbyn # cais…}}", + "notification_requests.confirm_accept_multiple.button": "{count, plural, one {Derbyn cais} other {Derbyn cais}}", + "notification_requests.confirm_accept_multiple.message": "Rydych ar fin derbyn {count, plural, one {un cais hysbysiad} other {# cais hysbysiad}}. Ydych chi'n siŵr eich bod am barhau?", "notification_requests.confirm_accept_multiple.title": "Derbyn ceisiadau hysbysu?", "notification_requests.confirm_dismiss_multiple.button": "{count, plural, one {Diystyru cais} other {Diystyru ceisiadau}}", "notification_requests.confirm_dismiss_multiple.message": "Rydych ar fin diystyru {count, plural, one {un cais hysbysu} other {# cais hysbysiad}}. Fyddwch chi ddim yn gallu cyrchu {count, plural, one {it} other {them}} yn hawdd eto. Ydych chi'n yn siŵr eich bod am fwrw ymlaen?", @@ -689,7 +690,7 @@ "relative_time.minutes": "{number} munud", "relative_time.seconds": "{number} eiliad", "relative_time.today": "heddiw", - "reply_indicator.attachments": "{count, plural, one {# attachment} arall {# attachments}}", + "reply_indicator.attachments": "{count, plural, one {# atodiad} other {# atodiad}}", "reply_indicator.cancel": "Canslo", "reply_indicator.poll": "Arolwg", "report.block": "Blocio", @@ -732,7 +733,7 @@ "report.thanks.title_actionable": "Diolch am adrodd, byddwn yn ymchwilio i hyn.", "report.unfollow": "Dad-ddilyn @{name}", "report.unfollow_explanation": "Rydych chi'n dilyn y cyfrif hwn. I beidio â gweld eu postiadau yn eich ffrwd gartref mwyach, dad-ddilynwch nhw.", - "report_notification.attached_statuses": "{count, plural, one {{count} postiad} arall {{count} postiad}} atodwyd", + "report_notification.attached_statuses": "{count, plural, one {{count} postiad} other {{count} postiad}} wedi'i atodi", "report_notification.categories.legal": "Cyfreithiol", "report_notification.categories.legal_sentence": "cynnwys anghyfreithlon", "report_notification.categories.other": "Arall", @@ -812,7 +813,7 @@ "status.reblog": "Hybu", "status.reblog_private": "Hybu i'r gynulleidfa wreiddiol", "status.reblogged_by": "Hybodd {name}", - "status.reblogs": "{count, plural, one {hwb} other {hwb}}", + "status.reblogs": "{count, plural, one {# hwb} other {# hwb}}", "status.reblogs.empty": "Does neb wedi hybio'r post yma eto. Pan y bydd rhywun yn gwneud, byddent yn ymddangos yma.", "status.redraft": "Dileu ac ailddrafftio", "status.remove_bookmark": "Tynnu nod tudalen", diff --git a/app/javascript/mastodon/locales/da.json b/app/javascript/mastodon/locales/da.json index 0227702d515d28..f8a1f2ad65aa0b 100644 --- a/app/javascript/mastodon/locales/da.json +++ b/app/javascript/mastodon/locales/da.json @@ -196,6 +196,7 @@ "confirmations.unfollow.title": "Følg ikke længere bruger?", "content_warning.hide": "Skjul indlæg", "content_warning.show": "Vis alligevel", + "content_warning.show_more": "Vis flere", "conversation.delete": "Slet samtale", "conversation.mark_as_read": "Markér som læst", "conversation.open": "Vis samtale", @@ -304,7 +305,7 @@ "filter_modal.select_filter.subtitle": "Vælg en eksisterende kategori eller opret en ny", "filter_modal.select_filter.title": "Filtrér dette indlæg", "filter_modal.title.status": "Filtrér et indlæg", - "filter_warning.matches_filter": "Matcher filteret “{title}”", + "filter_warning.matches_filter": "Matcher filteret “{title}”", "filtered_notifications_banner.pending_requests": "Fra {count, plural, =0 {ingen} one {én person} other {# personer}}, man måske kender", "filtered_notifications_banner.title": "Filtrerede notifikationer", "firehose.all": "Alle", diff --git a/app/javascript/mastodon/locales/de.json b/app/javascript/mastodon/locales/de.json index 75672a60d6c378..a02f13aef0a9b0 100644 --- a/app/javascript/mastodon/locales/de.json +++ b/app/javascript/mastodon/locales/de.json @@ -197,6 +197,7 @@ "confirmations.unfollow.title": "Profil entfolgen?", "content_warning.hide": "Beitrag ausblenden", "content_warning.show": "Trotzdem anzeigen", + "content_warning.show_more": "Mehr anzeigen", "conversation.delete": "Unterhaltung löschen", "conversation.mark_as_read": "Als gelesen markieren", "conversation.open": "Unterhaltung anzeigen", @@ -305,7 +306,7 @@ "filter_modal.select_filter.subtitle": "Einem vorhandenen Filter hinzufügen oder einen neuen erstellen", "filter_modal.select_filter.title": "Diesen Beitrag filtern", "filter_modal.title.status": "Beitrag per Filter ausblenden", - "filter_warning.matches_filter": "Übereinstimmend mit dem Filter „{title}“", + "filter_warning.matches_filter": "Übereinstimmend mit dem Filter „{title}“", "filtered_notifications_banner.pending_requests": "Von {count, plural, =0 {keinem, den} one {einer Person, die} other {# Personen, die}} du möglicherweise kennst", "filtered_notifications_banner.title": "Gefilterte Benachrichtigungen", "firehose.all": "Alles", @@ -598,15 +599,15 @@ "notifications.policy.filter": "Filtern", "notifications.policy.filter_hint": "An gefilterte Benachrichtigungen im Posteingang senden", "notifications.policy.filter_limited_accounts_hint": "Durch Server-Moderator*innen eingeschränkt", - "notifications.policy.filter_limited_accounts_title": "Moderierte Konten", + "notifications.policy.filter_limited_accounts_title": "moderierten Konten", "notifications.policy.filter_new_accounts.hint": "Innerhalb {days, plural, one {des letzten Tages} other {der letzten # Tagen}} erstellt", - "notifications.policy.filter_new_accounts_title": "Neuen Konten", + "notifications.policy.filter_new_accounts_title": "neuen Konten", "notifications.policy.filter_not_followers_hint": "Einschließlich Profilen, die dir seit weniger als {days, plural, one {einem Tag} other {# Tagen}} folgen", "notifications.policy.filter_not_followers_title": "Profilen, die mir nicht folgen", "notifications.policy.filter_not_following_hint": "Bis du sie manuell genehmigst", "notifications.policy.filter_not_following_title": "Profilen, denen ich nicht folge", "notifications.policy.filter_private_mentions_hint": "Solange sie keine Antwort auf deine Erwähnung ist oder du dem Profil nicht folgst", - "notifications.policy.filter_private_mentions_title": "Unerwünschten privaten Erwähnungen", + "notifications.policy.filter_private_mentions_title": "unerwünschten privaten Erwähnungen", "notifications.policy.title": "Benachrichtigungen verwalten von …", "notifications_permission_banner.enable": "Aktiviere Desktop-Benachrichtigungen", "notifications_permission_banner.how_to_control": "Um Benachrichtigungen zu erhalten, wenn Mastodon nicht geöffnet ist, aktiviere die Desktop-Benachrichtigungen. Du kannst genau bestimmen, welche Arten von Interaktionen Desktop-Benachrichtigungen über die {icon} -Taste erzeugen, sobald diese aktiviert sind.", diff --git a/app/javascript/mastodon/locales/el.json b/app/javascript/mastodon/locales/el.json index e362d9b89bb345..40517f8340901c 100644 --- a/app/javascript/mastodon/locales/el.json +++ b/app/javascript/mastodon/locales/el.json @@ -304,7 +304,6 @@ "filter_modal.select_filter.subtitle": "Χρησιμοποιήστε μια υπάρχουσα κατηγορία ή δημιουργήστε μια νέα", "filter_modal.select_filter.title": "Φιλτράρισμα αυτής της ανάρτησης", "filter_modal.title.status": "Φιλτράρισμα μιας ανάρτησης", - "filter_warning.matches_filter": "Ταιριάζει με το φίλτρο “{title}”", "filtered_notifications_banner.pending_requests": "Από {count, plural, =0 {κανένα} one {ένα άτομο} other {# άτομα}} που μπορεί να ξέρεις", "filtered_notifications_banner.title": "Φιλτραρισμένες ειδοποιήσεις", "firehose.all": "Όλα", diff --git a/app/javascript/mastodon/locales/en-GB.json b/app/javascript/mastodon/locales/en-GB.json index 728ca89c73260b..d482ec21dd399a 100644 --- a/app/javascript/mastodon/locales/en-GB.json +++ b/app/javascript/mastodon/locales/en-GB.json @@ -304,7 +304,6 @@ "filter_modal.select_filter.subtitle": "Use an existing category or create a new one", "filter_modal.select_filter.title": "Filter this post", "filter_modal.title.status": "Filter a post", - "filter_warning.matches_filter": "Matches filter “{title}”", "filtered_notifications_banner.pending_requests": "From {count, plural, =0 {no one} one {one person} other {# people}} you may know", "filtered_notifications_banner.title": "Filtered notifications", "firehose.all": "All", diff --git a/app/javascript/mastodon/locales/eo.json b/app/javascript/mastodon/locales/eo.json index 6beb5a9716542f..0c9118228546c9 100644 --- a/app/javascript/mastodon/locales/eo.json +++ b/app/javascript/mastodon/locales/eo.json @@ -2,7 +2,7 @@ "about.blocks": "Administritaj serviloj", "about.contact": "Kontakto:", "about.disclaimer": "Mastodon estas libera, malfermitkoda programo kaj varmarko de la firmao Mastodon gGmbH.", - "about.domain_blocks.no_reason_available": "Kialo ne disponebla", + "about.domain_blocks.no_reason_available": "Kialo ne disponeblas", "about.domain_blocks.preamble": "Mastodon ĝenerale rajtigas vidi la enhavojn de uzantoj el aliaj serviloj en la fediverso, kaj komuniki kun ili. Jen la limigoj deciditaj de tiu ĉi servilo mem.", "about.domain_blocks.silenced.explanation": "Vi ne ĝenerale vidos profilojn kaj enhavojn de ĉi tiu servilo, krom se vi eksplice trovas aŭ estas permesita de via sekvato.", "about.domain_blocks.silenced.title": "Limigita", @@ -197,6 +197,7 @@ "confirmations.unfollow.title": "Ĉu ĉesi sekvi uzanton?", "content_warning.hide": "Kaŝi afiŝon", "content_warning.show": "Montri ĉiukaze", + "content_warning.show_more": "Montri pli", "conversation.delete": "Forigi konversacion", "conversation.mark_as_read": "Marku kiel legita", "conversation.open": "Vidi konversacion", @@ -305,7 +306,7 @@ "filter_modal.select_filter.subtitle": "Uzu ekzistantan kategorion aŭ kreu novan", "filter_modal.select_filter.title": "Filtri ĉi tiun afiŝon", "filter_modal.title.status": "Filtri afiŝon", - "filter_warning.matches_filter": "Filtrilo de kongruoj “{title}”", + "filter_warning.matches_filter": "Filtrilo de kongruoj “{title}”", "filtered_notifications_banner.pending_requests": "El {count, plural, =0 {neniu} one {unu persono} other {# homoj}} vi eble konas", "filtered_notifications_banner.title": "Filtritaj sciigoj", "firehose.all": "Ĉiuj", @@ -567,7 +568,7 @@ "notifications.column_settings.filter_bar.category": "Rapida filtrila breto", "notifications.column_settings.follow": "Novaj sekvantoj:", "notifications.column_settings.follow_request": "Novaj petoj de sekvado:", - "notifications.column_settings.group": "Grupo", + "notifications.column_settings.group": "Grupigi", "notifications.column_settings.mention": "Mencioj:", "notifications.column_settings.poll": "Balotenketaj rezultoj:", "notifications.column_settings.push": "Puŝsciigoj", diff --git a/app/javascript/mastodon/locales/es-AR.json b/app/javascript/mastodon/locales/es-AR.json index 2410c278a6122b..55e64faba58ad3 100644 --- a/app/javascript/mastodon/locales/es-AR.json +++ b/app/javascript/mastodon/locales/es-AR.json @@ -197,6 +197,7 @@ "confirmations.unfollow.title": "¿Dejar de seguir al usuario?", "content_warning.hide": "Ocultar mensaje", "content_warning.show": "Mostrar de todos modos", + "content_warning.show_more": "Mostrar más", "conversation.delete": "Eliminar conversación", "conversation.mark_as_read": "Marcar como leída", "conversation.open": "Ver conversación", @@ -305,7 +306,7 @@ "filter_modal.select_filter.subtitle": "Usar una categoría existente o crear una nueva", "filter_modal.select_filter.title": "Filtrar este mensaje", "filter_modal.title.status": "Filtrar un mensaje", - "filter_warning.matches_filter": "Coincide con el filtro “{title}”", + "filter_warning.matches_filter": "Coincide con el filtro “{title}”", "filtered_notifications_banner.pending_requests": "De {count, plural, =0 {nadie} one {una persona} other {# personas}} que podrías conocer", "filtered_notifications_banner.title": "Notificaciones filtradas", "firehose.all": "Todos", @@ -856,7 +857,7 @@ "upload_form.description": "Agregá una descripción para personas con dificultades visuales", "upload_form.drag_and_drop.instructions": "Para recoger un archivo multimedia, pulsá la barra espaciadora o la tecla Enter. Mientras arrastrás, usá las teclas de flecha para mover el archivo multimedia en cualquier dirección. Volvé a pulsar la barra espaciadora o la tecla Enter para soltar el archivo multimedia en su nueva posición, o pulsá la tecla Escape para cancelar.", "upload_form.drag_and_drop.on_drag_cancel": "Se canceló el arrastre. Se eliminó el archivo adjunto {item}.", - "upload_form.drag_and_drop.on_drag_end": "El archivo adjunto {item} ha sido eliminado.", + "upload_form.drag_and_drop.on_drag_end": "El archivo adjunto {item} fue soltado.", "upload_form.drag_and_drop.on_drag_over": "El archivo adjunto {item} fue movido.", "upload_form.drag_and_drop.on_drag_start": "Se ha recogido el archivo adjunto {item}.", "upload_form.edit": "Editar", diff --git a/app/javascript/mastodon/locales/es-MX.json b/app/javascript/mastodon/locales/es-MX.json index 2f9d1feb0139c2..f4e0352450d930 100644 --- a/app/javascript/mastodon/locales/es-MX.json +++ b/app/javascript/mastodon/locales/es-MX.json @@ -197,6 +197,7 @@ "confirmations.unfollow.title": "¿Dejar de seguir al usuario?", "content_warning.hide": "Ocultar publicación", "content_warning.show": "Mostrar de todos modos", + "content_warning.show_more": "Mostrar más", "conversation.delete": "Borrar conversación", "conversation.mark_as_read": "Marcar como leído", "conversation.open": "Ver conversación", @@ -305,7 +306,7 @@ "filter_modal.select_filter.subtitle": "Usar una categoría existente o crear una nueva", "filter_modal.select_filter.title": "Filtrar esta publicación", "filter_modal.title.status": "Filtrar una publicación", - "filter_warning.matches_filter": "Coincide con el filtro “{title}”", + "filter_warning.matches_filter": "Coincide con el filtro “{title}”", "filtered_notifications_banner.pending_requests": "De {count, plural, =0 {nadie} one {una persona} other {# people}} que puede que tú conozcas", "filtered_notifications_banner.title": "Notificaciones filtradas", "firehose.all": "Todas", diff --git a/app/javascript/mastodon/locales/es.json b/app/javascript/mastodon/locales/es.json index fa4159abce7710..30a4b91fa23645 100644 --- a/app/javascript/mastodon/locales/es.json +++ b/app/javascript/mastodon/locales/es.json @@ -197,6 +197,7 @@ "confirmations.unfollow.title": "¿Dejar de seguir al usuario?", "content_warning.hide": "Ocultar publicación", "content_warning.show": "Mostrar de todos modos", + "content_warning.show_more": "Mostrar más", "conversation.delete": "Borrar conversación", "conversation.mark_as_read": "Marcar como leído", "conversation.open": "Ver conversación", @@ -305,7 +306,7 @@ "filter_modal.select_filter.subtitle": "Usar una categoría existente o crear una nueva", "filter_modal.select_filter.title": "Filtrar esta publicación", "filter_modal.title.status": "Filtrar una publicación", - "filter_warning.matches_filter": "Coincide con el filtro “{title}”", + "filter_warning.matches_filter": "Coincide con el filtro “{title}”", "filtered_notifications_banner.pending_requests": "De {count, plural, =0 {nadie} one {una persona} other {# personas}} que puede que conozcas", "filtered_notifications_banner.title": "Notificaciones filtradas", "firehose.all": "Todas", @@ -567,7 +568,7 @@ "notifications.column_settings.filter_bar.category": "Barra de filtrado rápido", "notifications.column_settings.follow": "Nuevos seguidores:", "notifications.column_settings.follow_request": "Nuevas solicitudes de seguimiento:", - "notifications.column_settings.group": "Grupo", + "notifications.column_settings.group": "Agrupar", "notifications.column_settings.mention": "Menciones:", "notifications.column_settings.poll": "Resultados de la votación:", "notifications.column_settings.push": "Notificaciones push", diff --git a/app/javascript/mastodon/locales/et.json b/app/javascript/mastodon/locales/et.json index 3c58548eb77892..c360a3aa23405e 100644 --- a/app/javascript/mastodon/locales/et.json +++ b/app/javascript/mastodon/locales/et.json @@ -304,7 +304,6 @@ "filter_modal.select_filter.subtitle": "Kasuta olemasolevat kategooriat või loo uus", "filter_modal.select_filter.title": "Filtreeri seda postitust", "filter_modal.title.status": "Postituse filtreerimine", - "filter_warning.matches_filter": "Sobib filtriga “{title}”", "filtered_notifications_banner.pending_requests": "{count, plural, =0 {Mitte üheltki inimeselt} one {Ühelt inimeselt} other {# inimeselt}}, keda võid teada", "filtered_notifications_banner.title": "Filtreeritud teavitused", "firehose.all": "Kõik", diff --git a/app/javascript/mastodon/locales/eu.json b/app/javascript/mastodon/locales/eu.json index cd8fbeefbc44b1..c8349dc6a1a0d8 100644 --- a/app/javascript/mastodon/locales/eu.json +++ b/app/javascript/mastodon/locales/eu.json @@ -302,7 +302,6 @@ "filter_modal.select_filter.subtitle": "Hautatu lehendik dagoen kategoria bat edo sortu berria", "filter_modal.select_filter.title": "Iragazi bidalketa hau", "filter_modal.title.status": "Iragazi bidalketa bat", - "filter_warning.matches_filter": "“{title}” iragazkiarekin bat dator", "filtered_notifications_banner.pending_requests": "Ezagutu dezakezun {count, plural, =0 {inoren} one {pertsona baten} other {# pertsonen}}", "filtered_notifications_banner.title": "Iragazitako jakinarazpenak", "firehose.all": "Guztiak", diff --git a/app/javascript/mastodon/locales/fa.json b/app/javascript/mastodon/locales/fa.json index 6afdb537466f96..3bc96cf9f2e4eb 100644 --- a/app/javascript/mastodon/locales/fa.json +++ b/app/javascript/mastodon/locales/fa.json @@ -158,6 +158,7 @@ "compose_form.poll.duration": "مدت نظرسنجی", "compose_form.poll.multiple": "چند گزینه‌ای", "compose_form.poll.option_placeholder": "گزینهٔ {number}", + "compose_form.poll.single": "تک گزینه‌ای", "compose_form.poll.switch_to_multiple": "تغییر نظرسنجی برای اجازه به چندین گزینه", "compose_form.poll.switch_to_single": "تبدیل به نظرسنجی تک‌گزینه‌ای", "compose_form.poll.type": "سبک", @@ -195,7 +196,7 @@ "confirmations.unfollow.message": "مطمئنید که می‌خواهید به پی‌گیری از {name} پایان دهید؟", "confirmations.unfollow.title": "ناپی‌گیری کاربر؟", "content_warning.hide": "نهفتن فرسته", - "content_warning.show": "نمایش به هر روی", + "content_warning.show": "در هر صورت نشان داده شود", "conversation.delete": "حذف گفتگو", "conversation.mark_as_read": "علامت‌گذاری به عنوان خوانده شده", "conversation.open": "دیدن گفتگو", @@ -221,6 +222,7 @@ "domain_block_modal.they_cant_follow": "هیچ‌کسی از این کارساز نمی‌تواند پیتان بگیرد.", "domain_block_modal.they_wont_know": "نخواهند دانست که مسدود شده‌اند.", "domain_block_modal.title": "انسداد دامنه؟", + "domain_block_modal.you_will_lose_num_followers": "تعداد {followersCount, plural,other {{followersCount}}} پی‌گیرنده و {followingCount, plural,other {{followingCount}}} شخص پی‌گرفته شده را از دست خواهید داد.", "domain_block_modal.you_will_lose_relationships": "شما تمام پیگیرکنندگان و افرادی که از این کارساز پیگیری می‌کنید را از دست خواهید داد.", "domain_block_modal.you_wont_see_posts": "فرسته‌ها یا آگاهی‌ها از کاربران روی این کارساز را نخواهید دید.", "domain_pill.activitypub_lets_connect": "این به شما اجازه می‌دهد تا نه تنها در ماستودون، بلکه در برنامه‌های اجتماعی مختلف نیز با افراد ارتباط برقرار کرده و تعامل داشته باشید.", @@ -302,7 +304,6 @@ "filter_modal.select_filter.subtitle": "استفاده از یک دستهً موجود یا ایجاد دسته‌ای جدید", "filter_modal.select_filter.title": "پالایش این فرسته", "filter_modal.title.status": "پالایش یک فرسته", - "filter_warning.matches_filter": "مطابق با پالایهٔ «{title}»", "filtered_notifications_banner.pending_requests": "از {count, plural, =0 {هیچ‌کسی} one {فردی} other {# نفر}} که ممکن است بشناسید", "filtered_notifications_banner.title": "آگاهی‌های پالوده", "firehose.all": "همه", @@ -367,6 +368,7 @@ "home.pending_critical_update.link": "دیدن به‌روز رسانی‌ها", "home.pending_critical_update.title": "به‌روز رسانی امنیتی بحرانی موجود است!", "home.show_announcements": "نمایش اعلامیه‌ها", + "ignore_notifications_modal.filter_instead": "به جایش پالوده شود", "ignore_notifications_modal.ignore": "چشم‌پوشی از آگاهی‌ها", "ignore_notifications_modal.limited_accounts_title": "چشم‌پوشی از آگاهی‌های حساب‌های نظارت شده؟", "ignore_notifications_modal.new_accounts_title": "چشم‌پوشی از آگاهی‌های حساب‌های جدید؟", @@ -428,6 +430,8 @@ "lightbox.close": "بستن", "lightbox.next": "بعدی", "lightbox.previous": "قبلی", + "lightbox.zoom_in": "بزرگ‌نمایی به اندازهٔ اصلی", + "lightbox.zoom_out": "بزرگ نمایی برای برازش", "limited_account_hint.action": "به هر روی نمایه نشان داده شود", "limited_account_hint.title": "این نمایه از سوی ناظم‌های {domain} پنهان شده.", "link_preview.author": "از {name}", @@ -455,6 +459,7 @@ "mute_modal.hide_options": "گزینه‌های نهفتن", "mute_modal.indefinite": "تا وقتی ناخموشش کنم", "mute_modal.show_options": "نمایش گزینه‌ها", + "mute_modal.they_can_mention_and_follow": "می‌توانند به شما اشاره کرده و پیتان بگیرند، ولی نخواهید دیدشان.", "mute_modal.they_wont_know": "نخواهند دانست که خموش شده‌اند.", "mute_modal.title": "خموشی کاربر؟", "mute_modal.you_wont_see_mentions": "فرسته‌هایی که به او اشاره کرده‌اند را نخواهید دید.", @@ -494,6 +499,7 @@ "notification.favourite": "{name} فرسته‌تان را برگزید", "notification.favourite.name_and_others_with_link": "{name} و {count, plural, one {# نفر دیگر} other {# نفر دیگر}} فرسته‌تان را برگزیدند", "notification.follow": "‫{name}‬ پی‌گیرتان شد", + "notification.follow.name_and_others": "{name} و {count, plural, other {#}} نفر دیگر پیتان گرفتند", "notification.follow_request": "{name} درخواست پی‌گیریتان را داد", "notification.follow_request.name_and_others": "{name} و {count, plural, one {# نفر دیگر} other {# نفر دیگر}} درخواست پی‌گیریتان را دادند", "notification.label.mention": "اشاره", @@ -501,6 +507,7 @@ "notification.label.private_reply": "پاسخ خصوصی", "notification.label.reply": "پاسخ", "notification.mention": "اشاره", + "notification.mentioned_you": "‫{name}‬ از شما نام برد", "notification.moderation-warning.learn_more": "بیشتر بدانید", "notification.moderation_warning": "هشداری مدیریتی گرفته‌اید", "notification.moderation_warning.action_delete_statuses": "برخی از فرسته‌هایتان برداشته شدند.", @@ -519,7 +526,10 @@ "notification.status": "{name} چیزی فرستاد", "notification.update": "{name} فرسته‌ای را ویرایش کرد", "notification_requests.accept": "پذیرش", + "notification_requests.confirm_accept_multiple.button": "پذیرش {count, plural,one {درخواست} other {درخواست‌ها}}", + "notification_requests.confirm_accept_multiple.message": "در حال پذیرش {count, plural,one {یک}other {#}} درخواست آگاهی هستید. مطمئنید که می‌خواهید ادامه دهید؟", "notification_requests.confirm_accept_multiple.title": "پذیرش درخواست‌های آگاهی؟", + "notification_requests.confirm_dismiss_multiple.button": "رد {count, plural,one {درخواست} other {درخواست‌ها}}", "notification_requests.confirm_dismiss_multiple.title": "رد کردن درخواست‌های آگاهی؟", "notification_requests.dismiss": "دورانداختن", "notification_requests.edit_selection": "ویرایش", @@ -540,6 +550,7 @@ "notifications.column_settings.filter_bar.category": "نوار پالایش سریع", "notifications.column_settings.follow": "پی‌گیرندگان جدید:", "notifications.column_settings.follow_request": "درخواست‌های جدید پی‌گیری:", + "notifications.column_settings.group": "گروه", "notifications.column_settings.mention": "اشاره‌ها:", "notifications.column_settings.poll": "نتایج نظرسنجی:", "notifications.column_settings.push": "آگاهی‌های ارسالی", @@ -595,7 +606,7 @@ "onboarding.profile.discoverable_hint": "خواسته‌اید روی ماستودون کشف شوید. ممکن است فرسته‌هایتان در نتیحهٔ جست‌وجوها و فرسته‌های داغ ظاهر شده و نمایه‌تان به افرادی با علایق مشابهتان پیشنهاد شود.", "onboarding.profile.display_name": "نام نمایشی", "onboarding.profile.display_name_hint": "نام کامل یا نام باحالتان…", - "onboarding.profile.lead": "همواره می‌توانید این مورد را در تنظیمات که گزینه‌ّای شخصی سازی بیش‌تری نیز دارد کامل کنید.", + "onboarding.profile.lead": "همواره می‌توانید این مورد را در تنظیمات که گزینه‌های شخصی سازی بیش‌تری نیز دارد کامل کنید.", "onboarding.profile.note": "درباره شما", "onboarding.profile.note_hint": "می‌توانید افراد دیگر را @نام‌بردن یا #برچسب بزنید…", "onboarding.profile.save_and_continue": "ذخیره کن و ادامه بده", @@ -760,6 +771,7 @@ "status.edit": "ویرایش", "status.edited": "آخرین ویرایش {date}", "status.edited_x_times": "{count, plural, one {{count} مرتبه} other {{count} مرتبه}} ویرایش شد", + "status.embed": "گرفتن کد تعبیه", "status.favourite": "برگزیده‌", "status.favourites": "{count, plural, one {برگزیده} other {برگزیده}}", "status.filter": "پالایش این فرسته", diff --git a/app/javascript/mastodon/locales/fi.json b/app/javascript/mastodon/locales/fi.json index 717ea78559d713..37f3b87e84fae5 100644 --- a/app/javascript/mastodon/locales/fi.json +++ b/app/javascript/mastodon/locales/fi.json @@ -197,6 +197,7 @@ "confirmations.unfollow.title": "Lopetetaanko käyttäjän seuraaminen?", "content_warning.hide": "Piilota julkaisu", "content_warning.show": "Näytä kuitenkin", + "content_warning.show_more": "Näytä lisää", "conversation.delete": "Poista keskustelu", "conversation.mark_as_read": "Merkitse luetuksi", "conversation.open": "Näytä keskustelu", @@ -305,7 +306,7 @@ "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", - "filter_warning.matches_filter": "Vastaa suodatinta ”{title}”", + "filter_warning.matches_filter": "Vastaa suodatinta ”{title}”", "filtered_notifications_banner.pending_requests": "{count, plural, =0 {Ei keneltäkään, jonka} one {Yhdeltä käyttäjältä, jonka} other {# käyttäjältä, jotka}} saatat tuntea", "filtered_notifications_banner.title": "Suodatetut ilmoitukset", "firehose.all": "Kaikki", diff --git a/app/javascript/mastodon/locales/fo.json b/app/javascript/mastodon/locales/fo.json index 0e2bc88136921b..921f38468c130c 100644 --- a/app/javascript/mastodon/locales/fo.json +++ b/app/javascript/mastodon/locales/fo.json @@ -197,6 +197,7 @@ "confirmations.unfollow.title": "Gevst at fylgja brúkara?", "content_warning.hide": "Fjal post", "content_warning.show": "Vís kortini", + "content_warning.show_more": "Vís meiri", "conversation.delete": "Strika samrøðu", "conversation.mark_as_read": "Merk sum lisið", "conversation.open": "Vís samrøðu", @@ -305,7 +306,7 @@ "filter_modal.select_filter.subtitle": "Brúka ein verandi bólk ella skapa ein nýggjan", "filter_modal.select_filter.title": "Filtrera hendan postin", "filter_modal.title.status": "Filtrera ein post", - "filter_warning.matches_filter": "Samsvarar við filtrið “{title}”", + "filter_warning.matches_filter": "Samsvarar við filtrið “{title}”", "filtered_notifications_banner.pending_requests": "Frá {count, plural, =0 {ongum} one {einum persóni} other {# persónum}}, sum tú kanska kennir", "filtered_notifications_banner.title": "Filtreraðar fráboðanir", "firehose.all": "Allar", diff --git a/app/javascript/mastodon/locales/fr-CA.json b/app/javascript/mastodon/locales/fr-CA.json index e73a3249cbd949..65bbc25c211b8e 100644 --- a/app/javascript/mastodon/locales/fr-CA.json +++ b/app/javascript/mastodon/locales/fr-CA.json @@ -305,7 +305,6 @@ "filter_modal.select_filter.subtitle": "Utilisez une catégorie existante ou en créer une nouvelle", "filter_modal.select_filter.title": "Filtrer cette publication", "filter_modal.title.status": "Filtrer une publication", - "filter_warning.matches_filter": "Correspond au filtre « {title} »", "filtered_notifications_banner.pending_requests": "De la part {count, plural, =0 {d’aucune personne} one {d'une personne} other {de # personnes}} que vous pourriez connaître", "filtered_notifications_banner.title": "Notifications filtrées", "firehose.all": "Tout", @@ -856,6 +855,7 @@ "upload_form.description": "Décrire pour les malvoyants", "upload_form.drag_and_drop.instructions": "Pour choisir un média joint, appuyez sur la touche espace ou entrée. Tout en faisant glisser, utilisez les touches fléchées pour déplacer le fichier média dans une direction donnée. Appuyez à nouveau sur la touche espace ou entrée pour déposer le fichier média dans sa nouvelle position, ou appuyez sur la touche Echap pour annuler.", "upload_form.drag_and_drop.on_drag_cancel": "Le glissement a été annulé. La pièce jointe {item} n'a pas été ajoutée.", + "upload_form.drag_and_drop.on_drag_over": "La pièce jointe du média {item} a été déplacée.", "upload_form.edit": "Modifier", "upload_form.thumbnail": "Changer la vignette", "upload_form.video_description": "Décrire pour les personnes ayant des problèmes de vue ou d'audition", diff --git a/app/javascript/mastodon/locales/fr.json b/app/javascript/mastodon/locales/fr.json index 319316272be590..ed751c244b50a3 100644 --- a/app/javascript/mastodon/locales/fr.json +++ b/app/javascript/mastodon/locales/fr.json @@ -305,7 +305,6 @@ "filter_modal.select_filter.subtitle": "Utilisez une catégorie existante ou créez-en une nouvelle", "filter_modal.select_filter.title": "Filtrer ce message", "filter_modal.title.status": "Filtrer un message", - "filter_warning.matches_filter": "Correspond au filtre « {title} »", "filtered_notifications_banner.pending_requests": "De la part {count, plural, =0 {d’aucune personne} one {d'une personne} other {de # personnes}} que vous pourriez connaître", "filtered_notifications_banner.title": "Notifications filtrées", "firehose.all": "Tout", @@ -856,6 +855,7 @@ "upload_form.description": "Décrire pour les malvoyant·e·s", "upload_form.drag_and_drop.instructions": "Pour choisir un média joint, appuyez sur la touche espace ou entrée. Tout en faisant glisser, utilisez les touches fléchées pour déplacer le fichier média dans une direction donnée. Appuyez à nouveau sur la touche espace ou entrée pour déposer le fichier média dans sa nouvelle position, ou appuyez sur la touche Echap pour annuler.", "upload_form.drag_and_drop.on_drag_cancel": "Le glissement a été annulé. La pièce jointe {item} n'a pas été ajoutée.", + "upload_form.drag_and_drop.on_drag_over": "La pièce jointe du média {item} a été déplacée.", "upload_form.edit": "Modifier", "upload_form.thumbnail": "Changer la vignette", "upload_form.video_description": "Décrire pour les personnes ayant des problèmes de vue ou d'audition", diff --git a/app/javascript/mastodon/locales/fy.json b/app/javascript/mastodon/locales/fy.json index 0790a0dc574fd5..e1c090cb0cb8cb 100644 --- a/app/javascript/mastodon/locales/fy.json +++ b/app/javascript/mastodon/locales/fy.json @@ -304,7 +304,6 @@ "filter_modal.select_filter.subtitle": "In besteande kategory brûke of in nije oanmeitsje", "filter_modal.select_filter.title": "Dit berjocht filterje", "filter_modal.title.status": "In berjocht filterje", - "filter_warning.matches_filter": "Komt oerien mei filter ‘{title}’", "filtered_notifications_banner.pending_requests": "Fan {count, plural, =0 {net ien} one {ien persoan} other {# persoanen}} dy’t jo mooglik kinne", "filtered_notifications_banner.title": "Filtere meldingen", "firehose.all": "Alles", diff --git a/app/javascript/mastodon/locales/ga.json b/app/javascript/mastodon/locales/ga.json index 81b93816ea08a3..aa7892163bcd54 100644 --- a/app/javascript/mastodon/locales/ga.json +++ b/app/javascript/mastodon/locales/ga.json @@ -197,6 +197,7 @@ "confirmations.unfollow.title": "Dílean ​​an t-úsáideoir?", "content_warning.hide": "Folaigh postáil", "content_warning.show": "Taispeáin ar aon nós", + "content_warning.show_more": "Taispeáin níos mó", "conversation.delete": "Scrios comhrá", "conversation.mark_as_read": "Marcáil mar léite", "conversation.open": "Féach ar comhrá", @@ -305,7 +306,7 @@ "filter_modal.select_filter.subtitle": "Bain úsáid as catagóir reatha nó cruthaigh ceann nua", "filter_modal.select_filter.title": "Déan scagadh ar an bpostáil seo", "filter_modal.title.status": "Déan scagadh ar phostáil", - "filter_warning.matches_filter": "Meaitseálann an scagaire “{title}”", + "filter_warning.matches_filter": "Meaitseálann an scagaire “{title}”", "filtered_notifications_banner.pending_requests": "Ó {count, plural, =0 {duine ar bith} one {duine amháin} two {# daoine} few {# daoine} many {# daoine} other {# daoine}} b’fhéidir go bhfuil aithne agat orthu", "filtered_notifications_banner.title": "Fógraí scagtha", "firehose.all": "Gach", diff --git a/app/javascript/mastodon/locales/gd.json b/app/javascript/mastodon/locales/gd.json index a9da2cd5ec4b55..47a90334408422 100644 --- a/app/javascript/mastodon/locales/gd.json +++ b/app/javascript/mastodon/locales/gd.json @@ -158,6 +158,7 @@ "compose_form.poll.duration": "Faide a’ chunntais", "compose_form.poll.multiple": "Iomadh-roghainn", "compose_form.poll.option_placeholder": "Roghainn {number}", + "compose_form.poll.single": "Aon taghadh", "compose_form.poll.switch_to_multiple": "Atharraich an cunntas-bheachd ach an gabh iomadh roghainn a thaghadh", "compose_form.poll.switch_to_single": "Atharraich an cunntas-bheachd gus nach gabh ach aon roghainn a thaghadh", "compose_form.poll.type": "Stoidhle", @@ -304,7 +305,6 @@ "filter_modal.select_filter.subtitle": "Cleachd roinn-seòrsa a tha ann no cruthaich tè ùr", "filter_modal.select_filter.title": "Criathraich am post seo", "filter_modal.title.status": "Criathraich post", - "filter_warning.matches_filter": "A’ maidseadh na criathraige “{title}”", "filtered_notifications_banner.pending_requests": "{count, plural, =0 {Chan eil gin ann} one {O # neach} two {O # neach} few {O # daoine} other {O # duine}} air a bheil thu eòlach ’s dòcha", "filtered_notifications_banner.title": "Brathan criathraichte", "firehose.all": "Na h-uile", @@ -507,6 +507,7 @@ "notification.favourite": "Is annsa le {name} am post agad", "notification.favourite.name_and_others_with_link": "Is annsa le {name} ’s {count, plural, one {# eile} two {# eile} few {# eile} other {# eile}} am post agad", "notification.follow": "Tha {name} ’gad leantainn a-nis", + "notification.follow.name_and_others": "Lean {name} ’s {count, plural, one {# eile} two {# eile} few {# eile} other {# eile}} thu", "notification.follow_request": "Dh’iarr {name} ’gad leantainn", "notification.follow_request.name_and_others": "Dh’iarr {name} ’s {count, plural, one {# eile} two {# eile} few {# eile} other {# eile}} ’gad leantainn", "notification.label.mention": "Iomradh", @@ -565,6 +566,7 @@ "notifications.column_settings.filter_bar.category": "Bàr-criathraidh luath", "notifications.column_settings.follow": "Luchd-leantainn ùr:", "notifications.column_settings.follow_request": "Iarrtasan leantainn ùra:", + "notifications.column_settings.group": "Buidheann", "notifications.column_settings.mention": "Iomraidhean:", "notifications.column_settings.poll": "Toraidhean cunntais-bheachd:", "notifications.column_settings.push": "Brathan putaidh", diff --git a/app/javascript/mastodon/locales/gl.json b/app/javascript/mastodon/locales/gl.json index 5e40b0e4290769..a772dbc0f78034 100644 --- a/app/javascript/mastodon/locales/gl.json +++ b/app/javascript/mastodon/locales/gl.json @@ -197,6 +197,7 @@ "confirmations.unfollow.title": "Deixar de seguir á usuaria?", "content_warning.hide": "Agochar publicación", "content_warning.show": "Mostrar igualmente", + "content_warning.show_more": "Mostrar máis", "conversation.delete": "Eliminar conversa", "conversation.mark_as_read": "Marcar como lido", "conversation.open": "Ver conversa", @@ -305,7 +306,7 @@ "filter_modal.select_filter.subtitle": "Usar unha categoría existente ou crear unha nova", "filter_modal.select_filter.title": "Filtrar esta publicación", "filter_modal.title.status": "Filtrar unha publicación", - "filter_warning.matches_filter": "Debido ao filtro “{title}”", + "filter_warning.matches_filter": "Concorda co filtro «{title}»", "filtered_notifications_banner.pending_requests": "De {count, plural, =0 {ninguén} one {unha persoa} other {# persoas}} que igual coñeces", "filtered_notifications_banner.title": "Notificacións filtradas", "firehose.all": "Todo", diff --git a/app/javascript/mastodon/locales/he.json b/app/javascript/mastodon/locales/he.json index be1dde65280554..087eed903032cc 100644 --- a/app/javascript/mastodon/locales/he.json +++ b/app/javascript/mastodon/locales/he.json @@ -197,6 +197,7 @@ "confirmations.unfollow.title": "לבטל מעקב אחר המשתמש.ת?", "content_warning.hide": "הסתרת חיצרוץ", "content_warning.show": "להציג בכל זאת", + "content_warning.show_more": "הצג עוד", "conversation.delete": "מחיקת שיחה", "conversation.mark_as_read": "סמן כנקרא", "conversation.open": "צפו בשיחה", @@ -305,7 +306,7 @@ "filter_modal.select_filter.subtitle": "שימוש בקטגורייה קיימת או יצירת אחת חדשה", "filter_modal.select_filter.title": "סינון ההודעה הזו", "filter_modal.title.status": "סנן הודעה", - "filter_warning.matches_filter": "תואם לסנן “{title}”", + "filter_warning.matches_filter": "תואם לסנן “{title}”", "filtered_notifications_banner.pending_requests": "{count, plural,=0 {אין בקשות ממשתמשים }one {בקשה אחת ממישהו/מישהי }two {יש בקשותיים ממשתמשים }other {יש # בקשות ממשתמשים }}שאולי מוכרים לך", "filtered_notifications_banner.title": "התראות מסוננות", "firehose.all": "הכל", diff --git a/app/javascript/mastodon/locales/hu.json b/app/javascript/mastodon/locales/hu.json index a6bd621a485f22..af0d83954dc420 100644 --- a/app/javascript/mastodon/locales/hu.json +++ b/app/javascript/mastodon/locales/hu.json @@ -197,6 +197,7 @@ "confirmations.unfollow.title": "Megszünteted a felhasználó követését?", "content_warning.hide": "Bejegyzés elrejtése", "content_warning.show": "Megjelenítés mindenképp", + "content_warning.show_more": "Több megjelenítése", "conversation.delete": "Beszélgetés törlése", "conversation.mark_as_read": "Megjelölés olvasottként", "conversation.open": "Beszélgetés megtekintése", @@ -305,7 +306,7 @@ "filter_modal.select_filter.subtitle": "Válassz egy meglévő kategóriát, vagy hozz létre egy újat", "filter_modal.select_filter.title": "E bejegyzés szűrése", "filter_modal.title.status": "Egy bejegyzés szűrése", - "filter_warning.matches_filter": "Megfelel a szűrőnek: „{title}”", + "filter_warning.matches_filter": "Megfelel a szűrőnek: „{title}”", "filtered_notifications_banner.pending_requests": "{count, plural, =0 {senkitől} one {egy valószínűleg ismerős személytől} other {# valószínűleg ismerős személytől}}", "filtered_notifications_banner.title": "Szűrt értesítések", "firehose.all": "Összes", diff --git a/app/javascript/mastodon/locales/ia.json b/app/javascript/mastodon/locales/ia.json index 58e978cd146ec7..e41d390a3f123d 100644 --- a/app/javascript/mastodon/locales/ia.json +++ b/app/javascript/mastodon/locales/ia.json @@ -304,7 +304,6 @@ "filter_modal.select_filter.subtitle": "Usa un categoria existente o crea un nove", "filter_modal.select_filter.title": "Filtrar iste message", "filter_modal.title.status": "Filtrar un message", - "filter_warning.matches_filter": "Corresponde al filtro “{title}”", "filtered_notifications_banner.pending_requests": "De {count, plural, =0 {nemo} one {un persona} other {# personas}} que tu pote cognoscer", "filtered_notifications_banner.title": "Notificationes filtrate", "firehose.all": "Toto", diff --git a/app/javascript/mastodon/locales/id.json b/app/javascript/mastodon/locales/id.json index 085705714e3ebb..4b4336396036b3 100644 --- a/app/javascript/mastodon/locales/id.json +++ b/app/javascript/mastodon/locales/id.json @@ -85,6 +85,7 @@ "alert.rate_limited.title": "Jumlah akses dibatasi", "alert.unexpected.message": "Terjadi kesalahan yang tidak terduga.", "alert.unexpected.title": "Ups!", + "alt_text_badge.title": "Teks Alternatif", "announcement.announcement": "Pengumuman", "attachments_list.unprocessed": "(tidak diproses)", "audio.hide": "Sembunyikan audio", @@ -97,6 +98,8 @@ "block_modal.title": "Blokir pengguna?", "block_modal.you_wont_see_mentions": "Anda tidak akan melihat kiriman yang menyebutkan mereka.", "boost_modal.combo": "Anda dapat menekan {combo} untuk melewati ini", + "boost_modal.reblog": "Pacu kiriman?", + "boost_modal.undo_reblog": "Jangan pacu kiriman?", "bundle_column_error.copy_stacktrace": "Salin laporan kesalahan", "bundle_column_error.error.body": "Laman yang diminta tidak dapat ditampilkan. Mungkin karena sebuah kutu dalam kode kami, atau masalah kompatibilitas peramban.", "bundle_column_error.error.title": "Oh, tidak!", @@ -155,6 +158,7 @@ "compose_form.poll.duration": "Durasi japat", "compose_form.poll.multiple": "Pilihan ganda", "compose_form.poll.option_placeholder": "Opsi {number}", + "compose_form.poll.single": "Pilihan tunggal", "compose_form.poll.switch_to_multiple": "Ubah japat menjadi pilihan ganda", "compose_form.poll.switch_to_single": "Ubah japat menjadi pilihan tunggal", "compose_form.poll.type": "Gaya", @@ -218,6 +222,7 @@ "domain_block_modal.they_cant_follow": "Tidak ada seorangpun dari server ini yang dapat mengikuti anda.", "domain_block_modal.they_wont_know": "Mereka tidak akan tahu bahwa mereka diblokir.", "domain_block_modal.title": "Blokir domain?", + "domain_block_modal.you_will_lose_relationships": "Kamu akan kehilangan semua pengikut dan orang yang kamu ikuti dari server ini.", "domain_block_modal.you_wont_see_posts": "Anda tidak akan melihat postingan atau notifikasi dari pengguna di server ini.", "domain_pill.activitypub_lets_connect": "Ini memungkinkan anda terhubung dan berinteraksi dengan orang-orang tidak hanya di Mastodon, tetapi juga di berbagai aplikasi sosial.", "domain_pill.activitypub_like_language": "ActivityPub seperti bahasa yang digunakan Mastodon dengan jejaring sosial lainnya.", @@ -231,6 +236,7 @@ "domain_pill.who_you_are": ".", "domain_pill.your_handle": "Nama pengguna anda:", "domain_pill.your_server": "Your digital home, where all of your posts live. Don’t like this one? Transfer servers at any time and bring your followers, too.", + "domain_pill.your_username": "Pengenal unik anda di server ini. Itu memungkinkan dapat mencari pengguna dengan nama yang sama di server lain.", "embed.instructions": "Sematkan kiriman ini di situs web Anda dengan menyalin kode di bawah ini.", "embed.preview": "Tampilan akan seperti ini nantinya:", "emoji_button.activity": "Aktivitas", @@ -293,6 +299,7 @@ "filter_modal.select_filter.subtitle": "Gunakan kategori yang sudah ada atau buat yang baru", "filter_modal.select_filter.title": "Saring kiriman ini", "filter_modal.title.status": "Saring sebuah kiriman", + "filtered_notifications_banner.title": "Notifikasi yang disaring", "firehose.all": "Semua", "firehose.local": "Server Ini", "firehose.remote": "Server Lain", @@ -301,6 +308,7 @@ "follow_requests.unlocked_explanation": "Meskipun akun Anda tidak dikunci, staf {domain} menyarankan Anda untuk meninjau permintaan mengikuti dari akun-akun ini secara manual.", "follow_suggestions.curated_suggestion": "Pilihan staf", "follow_suggestions.dismiss": "Jangan tampilkan lagi", + "follow_suggestions.friends_of_friends_longer": "Populer di antara orang yang anda ikuti", "follow_suggestions.hints.featured": "Profil ini telah dipilih sendiri oleh tim {domain}.", "follow_suggestions.hints.friends_of_friends": "Profil ini populer di kalangan orang yang anda ikuti.", "follow_suggestions.personalized_suggestion": "Saran yang dipersonalisasi", @@ -308,6 +316,7 @@ "follow_suggestions.popular_suggestion_longer": "Populer di {domain}", "follow_suggestions.similar_to_recently_followed_longer": "Serupa dengan profil yang baru Anda ikuti", "follow_suggestions.view_all": "Lihat semua", + "follow_suggestions.who_to_follow": "Siapa yang harus diikuti", "followed_tags": "Tagar yang diikuti", "footer.about": "Tentang", "footer.directory": "Direktori profil", diff --git a/app/javascript/mastodon/locales/io.json b/app/javascript/mastodon/locales/io.json index 21a8a084e75f3b..f9173b65f9f90b 100644 --- a/app/javascript/mastodon/locales/io.json +++ b/app/javascript/mastodon/locales/io.json @@ -304,7 +304,6 @@ "filter_modal.select_filter.subtitle": "Usez disponebla grupo o kreez novajo", "filter_modal.select_filter.title": "Filtragez ca posto", "filter_modal.title.status": "Filtragez posto", - "filter_warning.matches_filter": "Sama kam filtrilo \"{title}\"", "filtered_notifications_banner.pending_requests": "De {count, plural,=0 {nulu} one {1 persono} other {# personi}} quan vu forsan konocas", "filtered_notifications_banner.title": "Filtrilita savigi", "firehose.all": "Omno", diff --git a/app/javascript/mastodon/locales/is.json b/app/javascript/mastodon/locales/is.json index a6f85304cdf1a5..d1601c7634cb54 100644 --- a/app/javascript/mastodon/locales/is.json +++ b/app/javascript/mastodon/locales/is.json @@ -197,6 +197,7 @@ "confirmations.unfollow.title": "Hætta að fylgjast með viðkomandi?", "content_warning.hide": "Fela færslu", "content_warning.show": "Birta samt", + "content_warning.show_more": "Sýna meira", "conversation.delete": "Eyða samtali", "conversation.mark_as_read": "Merkja sem lesið", "conversation.open": "Skoða samtal", @@ -305,7 +306,7 @@ "filter_modal.select_filter.subtitle": "Notaðu fyrirliggjandi flokk eða útbúðu nýjan", "filter_modal.select_filter.title": "Sía þessa færslu", "filter_modal.title.status": "Sía færslu", - "filter_warning.matches_filter": "Samsvarar síunni“{title}”", + "filter_warning.matches_filter": "Samsvarar síunni “{title}”", "filtered_notifications_banner.pending_requests": "Frá {count, plural, =0 {engum} one {einum aðila} other {# manns}} sem þú gætir þekkt", "filtered_notifications_banner.title": "Síaðar tilkynningar", "firehose.all": "Allt", diff --git a/app/javascript/mastodon/locales/it.json b/app/javascript/mastodon/locales/it.json index 44040cc716a7fb..68201e18ded4e9 100644 --- a/app/javascript/mastodon/locales/it.json +++ b/app/javascript/mastodon/locales/it.json @@ -197,6 +197,7 @@ "confirmations.unfollow.title": "Smettere di seguire l'utente?", "content_warning.hide": "Nascondi post", "content_warning.show": "Mostra comunque", + "content_warning.show_more": "Mostra di più", "conversation.delete": "Elimina conversazione", "conversation.mark_as_read": "Segna come letto", "conversation.open": "Visualizza conversazione", @@ -305,7 +306,7 @@ "filter_modal.select_filter.subtitle": "Usa una categoria esistente o creane una nuova", "filter_modal.select_filter.title": "Filtra questo post", "filter_modal.title.status": "Filtra un post", - "filter_warning.matches_filter": "Corrisponde al filtro \"{title}\"", + "filter_warning.matches_filter": "Corrisponde al filtro “{title}”", "filtered_notifications_banner.pending_requests": "Da {count, plural, =0 {nessuno} one {una persona} other {# persone}} che potresti conoscere", "filtered_notifications_banner.title": "Notifiche filtrate", "firehose.all": "Tutto", diff --git a/app/javascript/mastodon/locales/ja.json b/app/javascript/mastodon/locales/ja.json index 9aea55ec3f4c82..c0ef224b70e664 100644 --- a/app/javascript/mastodon/locales/ja.json +++ b/app/javascript/mastodon/locales/ja.json @@ -158,6 +158,7 @@ "compose_form.poll.duration": "アンケート期間", "compose_form.poll.multiple": "複数選択", "compose_form.poll.option_placeholder": "項目{number}", + "compose_form.poll.single": "単一選択", "compose_form.poll.switch_to_multiple": "複数選択に変更", "compose_form.poll.switch_to_single": "単一選択に変更", "compose_form.poll.type": "スタイル", @@ -195,7 +196,8 @@ "confirmations.unfollow.message": "本当に{name}さんのフォローを解除しますか?", "confirmations.unfollow.title": "フォローを解除しようとしています", "content_warning.hide": "内容を隠す", - "content_warning.show": "承知の上で表示", + "content_warning.show": "承知して表示", + "content_warning.show_more": "続きを表示", "conversation.delete": "会話を削除", "conversation.mark_as_read": "既読にする", "conversation.open": "会話を表示", @@ -304,7 +306,7 @@ "filter_modal.select_filter.subtitle": "既存のカテゴリーを使用するか新規作成します", "filter_modal.select_filter.title": "この投稿をフィルターする", "filter_modal.title.status": "投稿をフィルターする", - "filter_warning.matches_filter": "フィルター「{title}」に一致する投稿です", + "filter_warning.matches_filter": "フィルター「{title}」に一致する投稿", "filtered_notifications_banner.pending_requests": "{count, plural, =0 {すべて完了しました} other {#人の通知がブロックされています}}", "filtered_notifications_banner.title": "保留中の通知", "firehose.all": "すべて", @@ -503,12 +505,13 @@ "notification.admin.report_statuses": "{name}さんが{target}さんを「{category}」として通報しました", "notification.admin.report_statuses_other": "{name}さんが{target}さんを通報しました", "notification.admin.sign_up": "{name}さんがサインアップしました", - "notification.admin.sign_up.name_and_others": "{name}さんほか{count, plural, other {#人}}がサインアップしました", + "notification.admin.sign_up.name_and_others": "{name}さんとほか{count, plural, other {#人}}がサインアップしました", "notification.favourite": "{name}さんがお気に入りしました", - "notification.favourite.name_and_others_with_link": "{name}さんほか{count, plural, other {#人}}がお気に入りしました", + "notification.favourite.name_and_others_with_link": "{name}さんとほか{count, plural, other {#人}}がお気に入りしました", "notification.follow": "{name}さんにフォローされました", + "notification.follow.name_and_others": "{name}さんとほか{count, plural, other {#人}}にフォローされました", "notification.follow_request": "{name}さんがあなたにフォローリクエストしました", - "notification.follow_request.name_and_others": "{name}さんほか{count, plural, other {#人}}があなたにフォローリクエストしました", + "notification.follow_request.name_and_others": "{name}さんとほか{count, plural, other {#人}}があなたにフォローリクエストしました", "notification.label.mention": "メンション", "notification.label.private_mention": "非公開の返信 (メンション)", "notification.label.private_reply": "非公開の返信", @@ -527,7 +530,7 @@ "notification.own_poll": "アンケートが終了しました", "notification.poll": "投票したアンケートが終了しました", "notification.reblog": "{name}さんがあなたの投稿をブーストしました", - "notification.reblog.name_and_others_with_link": "{name}さんほか{count, plural, other {#人}}にブーストされました", + "notification.reblog.name_and_others_with_link": "{name}さんとほか{count, plural, other {#人}}がブーストしました", "notification.relationships_severance_event": "{name} との関係が失われました", "notification.relationships_severance_event.account_suspension": "{from} の管理者が {target} さんを停止したため、今後このユーザーとの交流や新しい投稿の受け取りができなくなりました。", "notification.relationships_severance_event.domain_block": "{from} の管理者が {target} をブロックしました。これにより{followersCount}フォロワーと{followingCount, plural, other {#フォロー}}が失われました。", @@ -565,6 +568,7 @@ "notifications.column_settings.filter_bar.category": "クイックフィルターバー:", "notifications.column_settings.follow": "新しいフォロワー:", "notifications.column_settings.follow_request": "新しいフォローリクエスト:", + "notifications.column_settings.group": "グループ", "notifications.column_settings.mention": "返信:", "notifications.column_settings.poll": "アンケート結果:", "notifications.column_settings.push": "プッシュ通知", diff --git a/app/javascript/mastodon/locales/ko.json b/app/javascript/mastodon/locales/ko.json index 6b1dc6b365dda1..532fc01ab1ea00 100644 --- a/app/javascript/mastodon/locales/ko.json +++ b/app/javascript/mastodon/locales/ko.json @@ -197,6 +197,7 @@ "confirmations.unfollow.title": "사용자를 언팔로우 할까요?", "content_warning.hide": "게시물 숨기기", "content_warning.show": "무시하고 보기", + "content_warning.show_more": "더 보기", "conversation.delete": "대화 삭제", "conversation.mark_as_read": "읽은 상태로 표시", "conversation.open": "대화 보기", @@ -305,7 +306,7 @@ "filter_modal.select_filter.subtitle": "기존의 카테고리를 사용하거나 새로 하나를 만듧니다", "filter_modal.select_filter.title": "이 게시물을 필터", "filter_modal.title.status": "게시물 필터", - "filter_warning.matches_filter": "\"{title}\" 필터에 걸림", + "filter_warning.matches_filter": "\"{title}\" 필터에 걸림", "filtered_notifications_banner.pending_requests": "알 수도 있는 {count, plural, =0 {0 명} one {한 명} other {# 명}}의 사람들로부터", "filtered_notifications_banner.title": "걸러진 알림", "firehose.all": "모두", diff --git a/app/javascript/mastodon/locales/la.json b/app/javascript/mastodon/locales/la.json index ac95b590e3b307..55678dbdf83655 100644 --- a/app/javascript/mastodon/locales/la.json +++ b/app/javascript/mastodon/locales/la.json @@ -13,6 +13,8 @@ "account.edit_profile": "Recolere notionem", "account.featured_tags.last_status_never": "Nulla contributa", "account.featured_tags.title": "Hashtag notātī {name}", + "account.followers_counter": "{count, plural, one {{counter} sectator} other {{counter} sectatores}}", + "account.following_counter": "{count, plural, one {{counter} sectans} other {{counter} sectans}}", "account.moved_to": "{name} significavit eum suam rationem novam nunc esse:", "account.muted": "Confutatus", "account.requested_follow": "{name} postulavit ut te sequeretur", @@ -230,6 +232,7 @@ "search_results.all": "Omnis", "server_banner.active_users": "Usūrāriī āctīvī", "server_banner.administered_by": "Administratur:", + "server_banner.is_one_of_many": "{domain} est unum ex multis independentibus servientibus Mastodon quos adhibere potes ut participes in fediverso.", "sign_in_banner.sign_in": "Sign in", "status.admin_status": "Open this status in the moderation interface", "status.block": "Impedire @{name}", diff --git a/app/javascript/mastodon/locales/lt.json b/app/javascript/mastodon/locales/lt.json index 60d0acf7a1007e..b2740b0165ee7d 100644 --- a/app/javascript/mastodon/locales/lt.json +++ b/app/javascript/mastodon/locales/lt.json @@ -158,6 +158,7 @@ "compose_form.poll.duration": "Apklausos trukmė", "compose_form.poll.multiple": "Keli pasirinkimai", "compose_form.poll.option_placeholder": "{number} parinktis", + "compose_form.poll.single": "Vienas pasirinkimas", "compose_form.poll.switch_to_multiple": "Keisti apklausą, kad būtų leidžiama pasirinkti kelis pasirinkimus", "compose_form.poll.switch_to_single": "Keisti apklausą, kad būtų leidžiama pasirinkti vieną pasirinkimą", "compose_form.poll.type": "Stilius", @@ -196,6 +197,7 @@ "confirmations.unfollow.title": "Nebesekti naudotoją?", "content_warning.hide": "Slėpti įrašą", "content_warning.show": "Rodyti vis tiek", + "content_warning.show_more": "Rodyti daugiau", "conversation.delete": "Ištrinti pokalbį", "conversation.mark_as_read": "Žymėti kaip skaitytą", "conversation.open": "Peržiūrėti pokalbį", @@ -304,7 +306,7 @@ "filter_modal.select_filter.subtitle": "Naudok esamą kategoriją arba sukurk naują.", "filter_modal.select_filter.title": "Filtruoti šį įrašą", "filter_modal.title.status": "Filtruoti įrašą", - "filter_warning.matches_filter": "Atitinka filtrą „{title}“", + "filter_warning.matches_filter": "Atitinka filtrą „{title}“", "filtered_notifications_banner.pending_requests": "Iš {count, plural, =0 {nė vieno} one {žmogaus} few {# žmonių} many {# žmonių} other {# žmonių}}, kuriuos galbūt pažįsti", "filtered_notifications_banner.title": "Filtruojami pranešimai", "firehose.all": "Visi", diff --git a/app/javascript/mastodon/locales/lv.json b/app/javascript/mastodon/locales/lv.json index 7d325c057d3d32..d7507ee8843dcd 100644 --- a/app/javascript/mastodon/locales/lv.json +++ b/app/javascript/mastodon/locales/lv.json @@ -146,7 +146,7 @@ "compose.saved.body": "Ziņa saglabāta.", "compose_form.direct_message_warning_learn_more": "Uzzināt vairāk", "compose_form.encryption_warning": "Mastodon ieraksti nav pilnībā šifrēti. Nedalies ar jebkādu jutīgu informāciju caur Mastodon!", - "compose_form.hashtag_warning": "Šī ziņa netiks norādīta zem nevienas atsauces, jo tā nav publiska. Tikai publiskās ziņās var meklēt pēc atsauces.", + "compose_form.hashtag_warning": "Šis ieraksts netiks uzrādīts nevienā tēmturī, jo tas nav redzams visiem. Tikai visiem redzamos ierakstus var meklēt pēc tēmtura.", "compose_form.lock_disclaimer": "Tavs konts nav {locked}. Ikviens var Tev sekot, lai redzētu tikai sekotājiem paredzētos ierakstus.", "compose_form.lock_disclaimer.lock": "slēgts", "compose_form.placeholder": "Kas Tev padomā?", @@ -208,7 +208,7 @@ "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": "Šie ir ieraksti, kas šodien gūst arvien lielāku ievērību visā sociālajā tīklā. Augstāk tiek kārtoti jaunāki ieraksti, kuri tiek vairāk pastiprināti un ievietoti izlasēs.", - "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.explore_tags": "Šie ir tēmturi, kas šodien gūst uzmanību sabiedriskajā tīmeklī. Tēmturi, kurus izmanto vairāk dažādu cilvēku, tiek vērtēti augstāk.", "dismissable_banner.public_timeline": "Šie ir jaunākie publiskie ieraksti no lietotājiem sociālajā tīmeklī, kuriem {domain} seko cilvēki.", "domain_block_modal.block": "Bloķēt serveri", "domain_block_modal.they_cant_follow": "Neviens šajā serverī nevar Tev sekot.", @@ -246,7 +246,7 @@ "empty_column.favourited_statuses": "Tev vēl nav iecienītāko ierakstu. Kad pievienosi kādu izlasei, tas tiks parādīts šeit.", "empty_column.favourites": "Šo ziņu neviens vēl nav pievienojis izlasei. Kad kāds to izdarīs, tas parādīsies šeit.", "empty_column.follow_requests": "Šobrīd Tev nav sekošanas pieprasījumu. Kad saņemsi kādu, tas parādīsies šeit.", - "empty_column.followed_tags": "Tu vēl neesi sekojis nevienam tēmturim. Kad to izdarīsi, tie tiks parādīti šeit.", + "empty_column.followed_tags": "Tu vēl neseko nevienam tēmturim. Kad to izdarīsi, tie tiks parādīti šeit.", "empty_column.hashtag": "Ar šo tēmturi nekas nav atrodams.", "empty_column.home": "Tava mājas laikjosla ir tukša. Seko vairāk cilvēkiem, lai to piepildītu!", "empty_column.list": "Pagaidām šajā sarakstā nekā nav. Kad šī saraksta dalībnieki ievietos jaunus ierakstus, tie parādīsies šeit.", @@ -282,7 +282,6 @@ "filter_modal.select_filter.subtitle": "Izmanto esošu kategoriju vai izveido jaunu", "filter_modal.select_filter.title": "Filtrēt šo ziņu", "filter_modal.title.status": "Filtrēt ziņu", - "filter_warning.matches_filter": "Atbilst filtram “{title}”", "firehose.all": "Visi", "firehose.local": "Šis serveris", "firehose.remote": "Citi serveri", @@ -315,8 +314,8 @@ "hashtag.column_settings.tag_mode.all": "Visi no šiem", "hashtag.column_settings.tag_mode.any": "Kāds no šiem", "hashtag.column_settings.tag_mode.none": "Neviens no šiem", - "hashtag.column_settings.tag_toggle": "Pievienot kolonnai papildu tēmturus", - "hashtag.counter_by_accounts": "{count, plural, one {{counter} dalībnieks} other {{counter} dalībnieki}}", + "hashtag.column_settings.tag_toggle": "Iekļaut šajā kolonnā papildu birkas", + "hashtag.counter_by_accounts": "{count, plural, zero{{counter} dalībnieku} one {{counter} dalībnieks} other {{counter} dalībnieki}}", "hashtag.counter_by_uses": "{count, plural, zero {{counter} ierakstu} one {{counter} ieraksts} other {{counter} ieraksti}}", "hashtag.counter_by_uses_today": "{count, plural, zero {{counter} ierakstu} one {{counter} ieraksts} other {{counter} ieraksti}} šodien", "hashtag.follow": "Sekot tēmturim", @@ -412,6 +411,7 @@ "mute_modal.show_options": "Parādīt iespējas", "mute_modal.title": "Apklusināt lietotāju?", "navigation_bar.about": "Par", + "navigation_bar.administration": "Pārvaldība", "navigation_bar.advanced_interface": "Atvērt paplašinātā tīmekļa saskarnē", "navigation_bar.blocks": "Bloķētie lietotāji", "navigation_bar.bookmarks": "Grāmatzīmes", @@ -428,6 +428,7 @@ "navigation_bar.follows_and_followers": "Sekojamie un sekotāji", "navigation_bar.lists": "Saraksti", "navigation_bar.logout": "Iziet", + "navigation_bar.moderation": "Satura pārraudzība", "navigation_bar.mutes": "Apklusinātie lietotāji", "navigation_bar.opened_in_classic_interface": "Ieraksti, konti un citas noteiktas lapas pēc noklusējuma tiek atvērtas klasiskajā tīmekļa saskarnē.", "navigation_bar.personal": "Personīgie", @@ -443,9 +444,11 @@ "notification.follow": "{name} uzsāka Tev sekot", "notification.follow_request": "{name} nosūtīja Tev sekošanas pieprasījumu", "notification.moderation-warning.learn_more": "Uzzināt vairāk", + "notification.moderation_warning": "Ir saņemts satura pārraudzības brīdinājums", "notification.moderation_warning.action_delete_statuses": "Daži no Taviem ierakstiem tika noņemti.", "notification.moderation_warning.action_disable": "Tavs konts tika atspējots.", "notification.moderation_warning.action_mark_statuses_as_sensitive": "Daži no Taviem ierakstiem tika atzīmēti kā jutīgi.", + "notification.moderation_warning.action_none": "Konts ir saņēmis satura pārraudzības brīdinājumu.", "notification.moderation_warning.action_sensitive": "Tavi ieraksti turpmāk tiks atzīmēti kā jutīgi.", "notification.moderation_warning.action_silence": "Tavs konts tika ierobežots.", "notification.moderation_warning.action_suspend": "Tava konta darbība tika apturēta.", @@ -554,7 +557,8 @@ "privacy.private.long": "Tikai Tavi sekotāji", "privacy.private.short": "Sekotāji", "privacy.public.long": "Jebkurš Mastodon un ārpus tā", - "privacy.public.short": "Publiska", + "privacy.public.short": "Redzams visiem", + "privacy.unlisted.additional": "Šis uzvedas tieši kā publisks, izņemot to, ka ieraksts neparādīsies tiešraides barotnēs vai tēmturos, izpētē vai Mastodon meklēšanā, pat ja esi to norādījis visa konta ietvaros.", "privacy.unlisted.long": "Mazāk algoritmisku fanfaru", "privacy_policy.last_updated": "Pēdējo reizi atjaunināta {date}", "privacy_policy.title": "Privātuma politika", @@ -652,9 +656,9 @@ "sign_in_banner.create_account": "Izveidot kontu", "sign_in_banner.sign_in": "Pieteikties", "sign_in_banner.sso_redirect": "Piesakies vai Reģistrējies", - "status.admin_account": "Atvērt @{name} moderēšanas saskarni", - "status.admin_domain": "Atvērt {domain} moderēšanas saskarni", - "status.admin_status": "Atvērt šo ziņu moderācijas saskarnē", + "status.admin_account": "Atvērt @{name} satura pārraudzības saskarni", + "status.admin_domain": "Atvērt {domain} satura pārraudzības saskarni", + "status.admin_status": "Atvērt šo ziņu satura pārraudzības saskarnē", "status.block": "Bloķēt @{name}", "status.bookmark": "Grāmatzīme", "status.cancel_reblog_private": "Nepastiprināt", diff --git a/app/javascript/mastodon/locales/nl.json b/app/javascript/mastodon/locales/nl.json index 8df1fc4d1f6f68..e7add2e8c7b5a7 100644 --- a/app/javascript/mastodon/locales/nl.json +++ b/app/javascript/mastodon/locales/nl.json @@ -197,6 +197,7 @@ "confirmations.unfollow.title": "Gebruiker ontvolgen?", "content_warning.hide": "Bericht verbergen", "content_warning.show": "Alsnog tonen", + "content_warning.show_more": "Meer tonen", "conversation.delete": "Gesprek verwijderen", "conversation.mark_as_read": "Als gelezen markeren", "conversation.open": "Gesprek tonen", @@ -305,7 +306,7 @@ "filter_modal.select_filter.subtitle": "Een bestaande categorie gebruiken of een nieuwe aanmaken", "filter_modal.select_filter.title": "Dit bericht filteren", "filter_modal.title.status": "Een bericht filteren", - "filter_warning.matches_filter": "Komt overeen met filter “{title}”", + "filter_warning.matches_filter": "Komt overeen met filter \"{title}\"", "filtered_notifications_banner.pending_requests": "Van {count, plural, =0 {niemand} one {een persoon} other {# personen}} die je mogelijk kent", "filtered_notifications_banner.title": "Gefilterde meldingen", "firehose.all": "Alles", diff --git a/app/javascript/mastodon/locales/nn.json b/app/javascript/mastodon/locales/nn.json index e2a6ac9c26fe0e..6bd16f3cfd01b6 100644 --- a/app/javascript/mastodon/locales/nn.json +++ b/app/javascript/mastodon/locales/nn.json @@ -305,7 +305,6 @@ "filter_modal.select_filter.subtitle": "Bruk ein eksisterande kategori eller opprett ein ny", "filter_modal.select_filter.title": "Filtrer dette innlegget", "filter_modal.title.status": "Filtrer eit innlegg", - "filter_warning.matches_filter": "Passar med filteret «{title}»", "filtered_notifications_banner.pending_requests": "Frå {count, plural, =0 {ingen} one {éin person} other {# personar}} du kanskje kjenner", "filtered_notifications_banner.title": "Filtrerte varslingar", "firehose.all": "Alle", diff --git a/app/javascript/mastodon/locales/no.json b/app/javascript/mastodon/locales/no.json index b709fbea5e21a6..9a5f37979701ad 100644 --- a/app/javascript/mastodon/locales/no.json +++ b/app/javascript/mastodon/locales/no.json @@ -301,7 +301,6 @@ "filter_modal.select_filter.subtitle": "Bruk en eksisterende kategori eller opprett en ny", "filter_modal.select_filter.title": "Filtrer dette innlegget", "filter_modal.title.status": "Filtrer et innlegg", - "filter_warning.matches_filter": "Passer med filteret «{title}»", "filtered_notifications_banner.pending_requests": "Fra {count, plural, =0 {ingen} one {en person} other {# folk}} du kanskje kjenner", "filtered_notifications_banner.title": "Filtrerte varsler", "firehose.all": "Alt", diff --git a/app/javascript/mastodon/locales/pl.json b/app/javascript/mastodon/locales/pl.json index 21a1c365f02002..5867d6c1a0e0b4 100644 --- a/app/javascript/mastodon/locales/pl.json +++ b/app/javascript/mastodon/locales/pl.json @@ -197,6 +197,7 @@ "confirmations.unfollow.title": "Przestać obserwować?", "content_warning.hide": "Ukryj wpis", "content_warning.show": "Pokaż mimo to", + "content_warning.show_more": "Rozwiń", "conversation.delete": "Usuń konwersację", "conversation.mark_as_read": "Oznacz jako przeczytane", "conversation.open": "Zobacz konwersację", @@ -305,7 +306,7 @@ "filter_modal.select_filter.subtitle": "Użyj istniejącej kategorii lub utwórz nową", "filter_modal.select_filter.title": "Filtruj ten wpis", "filter_modal.title.status": "Filtruj wpis", - "filter_warning.matches_filter": "Pasuje do filtra \"{title}\"", + "filter_warning.matches_filter": "Pasuje do filtra \"{title}\"", "filtered_notifications_banner.pending_requests": "Od {count, plural, =0 {żadnej osoby którą możesz znać} one {# osoby którą możesz znać} other {# osób które możesz znać}}", "filtered_notifications_banner.title": "Powiadomienia filtrowane", "firehose.all": "Wszystko", diff --git a/app/javascript/mastodon/locales/pt-BR.json b/app/javascript/mastodon/locales/pt-BR.json index f5b6481a837e36..28c6a07e019191 100644 --- a/app/javascript/mastodon/locales/pt-BR.json +++ b/app/javascript/mastodon/locales/pt-BR.json @@ -197,6 +197,7 @@ "confirmations.unfollow.title": "Deixar de seguir o usuário?", "content_warning.hide": "Ocultar post", "content_warning.show": "Mostrar mesmo assim", + "content_warning.show_more": "Mostrar mais", "conversation.delete": "Excluir conversa", "conversation.mark_as_read": "Marcar como lida", "conversation.open": "Ver conversa", @@ -305,7 +306,7 @@ "filter_modal.select_filter.subtitle": "Use uma categoria existente ou crie uma nova", "filter_modal.select_filter.title": "Filtrar esta publicação", "filter_modal.title.status": "Filtrar uma publicação", - "filter_warning.matches_filter": "Correspondente ao filtro “{title}”", + "filter_warning.matches_filter": "Corresponder filtro “{title}”", "filtered_notifications_banner.pending_requests": "Por {count, plural, =0 {no one} one {one person} other {# people}} que você talvez conheça", "filtered_notifications_banner.title": "Notificações filtradas", "firehose.all": "Tudo", diff --git a/app/javascript/mastodon/locales/pt-PT.json b/app/javascript/mastodon/locales/pt-PT.json index fe18444ce10dc4..a4f2e274013f1a 100644 --- a/app/javascript/mastodon/locales/pt-PT.json +++ b/app/javascript/mastodon/locales/pt-PT.json @@ -301,7 +301,6 @@ "filter_modal.select_filter.subtitle": "Utilize uma categoria existente ou crie uma nova", "filter_modal.select_filter.title": "Filtrar esta publicação", "filter_modal.title.status": "Filtrar uma publicação", - "filter_warning.matches_filter": "Corresponde ao filtro “{title}”", "filtered_notifications_banner.pending_requests": "De {count, plural, =0 {ninguém} one {uma pessoa} other {# pessoas}} que pode conhecer", "filtered_notifications_banner.title": "Notificações filtradas", "firehose.all": "Todas", @@ -773,7 +772,7 @@ "status.bookmark": "Guardar nos marcadores", "status.cancel_reblog_private": "Deixar de reforçar", "status.cannot_reblog": "Não é possível partilhar esta publicação", - "status.continued_thread": "Continuação da conserva", + "status.continued_thread": "Continuação da conversa", "status.copy": "Copiar hiperligação para a publicação", "status.delete": "Eliminar", "status.detailed_status": "Vista pormenorizada da conversa", diff --git a/app/javascript/mastodon/locales/ru.json b/app/javascript/mastodon/locales/ru.json index 46463be76f5f4b..2a985a1f848221 100644 --- a/app/javascript/mastodon/locales/ru.json +++ b/app/javascript/mastodon/locales/ru.json @@ -36,7 +36,7 @@ "account.followers.empty": "На этого пользователя пока никто не подписан.", "account.followers_counter": "{count, plural, one {{counter} подписчик} few {{counter} подписчика} other {{counter} подписчиков}}", "account.following": "Подписки", - "account.following_counter": "{count, plural, one {{counter} последующий} other {{counter} последующие}}", + "account.following_counter": "{count, plural, one {# подписка} many {# подписок} other {# подписки}}", "account.follows.empty": "Этот пользователь пока ни на кого не подписался.", "account.go_to_profile": "Перейти к профилю", "account.hide_reblogs": "Скрыть продвижения от @{name}", @@ -303,8 +303,7 @@ "filter_modal.select_filter.subtitle": "Используйте существующую категорию или создайте новую", "filter_modal.select_filter.title": "Фильтровать этот пост", "filter_modal.title.status": "Фильтровать пост", - "filter_warning.matches_filter": "Соответствует фильтру \"{title}\"", - "filtered_notifications_banner.pending_requests": "Вы можете знать {count, plural, =0 {ни один} one {один человек} other {# люди}}", + "filtered_notifications_banner.pending_requests": "Вы можете знать {count, plural, =0 {ни одного человека} one {одного человека} other {# человек}}", "filtered_notifications_banner.title": "Отфильтрованные уведомления", "firehose.all": "Все", "firehose.local": "Текущий сервер", diff --git a/app/javascript/mastodon/locales/sk.json b/app/javascript/mastodon/locales/sk.json index ffca0914e580a6..a1bcdb9ff9fd0c 100644 --- a/app/javascript/mastodon/locales/sk.json +++ b/app/javascript/mastodon/locales/sk.json @@ -155,6 +155,7 @@ "compose_form.poll.duration": "Trvanie ankety", "compose_form.poll.multiple": "Viacero možností", "compose_form.poll.option_placeholder": "Možnosť {number}", + "compose_form.poll.single": "Jediná voľba", "compose_form.poll.switch_to_multiple": "Zmeniť anketu a povoliť viaceré možnosti", "compose_form.poll.switch_to_single": "Zmeniť anketu na jediný povolený výber", "compose_form.poll.type": "Typ", @@ -290,7 +291,6 @@ "filter_modal.select_filter.subtitle": "Použite existujúcu kategóriu alebo vytvorte novú", "filter_modal.select_filter.title": "Filtrovanie tohto príspevku", "filter_modal.title.status": "Filtrovanie príspevku", - "filter_warning.matches_filter": "Zhody triedenia “{title}”", "filtered_notifications_banner.title": "Filtrované oznámenia", "firehose.all": "Všetko", "firehose.local": "Tento server", @@ -404,6 +404,7 @@ "limited_account_hint.title": "Tento profil bol skrytý správcami servera {domain}.", "link_preview.author": "Autor: {name}", "link_preview.more_from_author": "Viac od {name}", + "link_preview.shares": "{count, plural, one {{counter} príspevok} other {{counter} príspevkov}}", "lists.account.add": "Pridať do zoznamu", "lists.account.remove": "Odstrániť zo zoznamu", "lists.delete": "Vymazať zoznam", diff --git a/app/javascript/mastodon/locales/sq.json b/app/javascript/mastodon/locales/sq.json index e38ea796f60d02..c0199d00783ca6 100644 --- a/app/javascript/mastodon/locales/sq.json +++ b/app/javascript/mastodon/locales/sq.json @@ -197,6 +197,7 @@ "confirmations.unfollow.title": "Të ndalet ndjekja e përdoruesit?", "content_warning.hide": "Fshihe postimin", "content_warning.show": "Shfaqe, sido qoftë", + "content_warning.show_more": "Shfaq më tepër", "conversation.delete": "Fshije bisedën", "conversation.mark_as_read": "Vëri shenjë si të lexuar", "conversation.open": "Shfaq bisedën", @@ -305,7 +306,7 @@ "filter_modal.select_filter.subtitle": "Përdorni një kategori ekzistuese, ose krijoni një të re", "filter_modal.select_filter.title": "Filtroje këtë postim", "filter_modal.title.status": "Filtroni një postim", - "filter_warning.matches_filter": "Ka përkim me filtrin “{title}”", + "filter_warning.matches_filter": "Ka përkim me filtrin “{title}”", "filtered_notifications_banner.pending_requests": "Nga {count, plural, =0 {askush} one {një person} other {# vetë}} që mund të njihni", "filtered_notifications_banner.title": "Njoftime të filtruar", "firehose.all": "Krejt", diff --git a/app/javascript/mastodon/locales/sv.json b/app/javascript/mastodon/locales/sv.json index d9d4da4ad0a8c7..eae02649a179b6 100644 --- a/app/javascript/mastodon/locales/sv.json +++ b/app/javascript/mastodon/locales/sv.json @@ -22,7 +22,7 @@ "account.cancel_follow_request": "Återkalla din begäran om att få följa", "account.copy": "Kopiera länk till profil", "account.direct": "Nämn @{name} privat", - "account.disable_notifications": "Sluta notifiera mig när @{name} gör inlägg", + "account.disable_notifications": "Sluta meddela mig när @{name} skriver ett inlägg", "account.domain_blocked": "Domän blockerad", "account.edit_profile": "Redigera profil", "account.enable_notifications": "Notifiera mig när @{name} gör inlägg", @@ -44,7 +44,7 @@ "account.joined_short": "Gick med", "account.languages": "Ändra vilka språk du helst vill se i ditt flöde", "account.link_verified_on": "Ägarskap för denna länk kontrollerades den {date}", - "account.locked_info": "För detta konto har ägaren valt att manuellt godkänna vem som kan följa hen.", + "account.locked_info": "Detta konto har låst integritetsstatus. Ägaren väljer manuellt vem som kan följa det.", "account.media": "Media", "account.mention": "Nämn @{name}", "account.moved_to": "{name} har indikerat att hen har ett nytt konto:", @@ -197,6 +197,7 @@ "confirmations.unfollow.title": "Avfölj %s?", "content_warning.hide": "Dölj inlägg", "content_warning.show": "Visa ändå", + "content_warning.show_more": "Visa mer", "conversation.delete": "Radera konversation", "conversation.mark_as_read": "Markera som läst", "conversation.open": "Visa konversation", @@ -305,7 +306,7 @@ "filter_modal.select_filter.subtitle": "Använd en befintlig kategori eller skapa en ny", "filter_modal.select_filter.title": "Filtrera detta inlägg", "filter_modal.title.status": "Filtrera ett inlägg", - "filter_warning.matches_filter": "Matchar filtret \"{title}\"", + "filter_warning.matches_filter": "Matchar filtret \"{title}\"", "filtered_notifications_banner.pending_requests": "Från {count, plural, =0 {ingen} one {en person} other {# personer}} du kanske känner", "filtered_notifications_banner.title": "Filtrerade aviseringar", "firehose.all": "Allt", @@ -508,6 +509,7 @@ "notification.favourite": "{name} favoritmarkerade ditt inlägg", "notification.favourite.name_and_others_with_link": "{name} och {count, plural, one {# annan} other {# andra}} har favoritmarkerat ditt inlägg", "notification.follow": "{name} följer dig", + "notification.follow.name_and_others": "{name} och {count, plural, one {# annan} other {# andra}} följer dig", "notification.follow_request": "{name} har begärt att följa dig", "notification.follow_request.name_and_others": "{name} och {count, plural, one {# en annan} other {# andra}} har bett att följa dig", "notification.label.mention": "Nämn", @@ -566,6 +568,7 @@ "notifications.column_settings.filter_bar.category": "Snabbfilter", "notifications.column_settings.follow": "Nya följare:", "notifications.column_settings.follow_request": "Ny följ-förfrågan:", + "notifications.column_settings.group": "Gruppera", "notifications.column_settings.mention": "Omnämningar:", "notifications.column_settings.poll": "Omröstningsresultat:", "notifications.column_settings.push": "Push-aviseringar", diff --git a/app/javascript/mastodon/locales/th.json b/app/javascript/mastodon/locales/th.json index d05840aa83e4ac..9e845c35e7d34d 100644 --- a/app/javascript/mastodon/locales/th.json +++ b/app/javascript/mastodon/locales/th.json @@ -158,6 +158,7 @@ "compose_form.poll.duration": "ระยะเวลาการสำรวจความคิดเห็น", "compose_form.poll.multiple": "หลายตัวเลือก", "compose_form.poll.option_placeholder": "ตัวเลือก {number}", + "compose_form.poll.single": "ตัวเลือกเดียว", "compose_form.poll.switch_to_multiple": "เปลี่ยนการสำรวจความคิดเห็นเป็นอนุญาตหลายตัวเลือก", "compose_form.poll.switch_to_single": "เปลี่ยนการสำรวจความคิดเห็นเป็นอนุญาตตัวเลือกเดียว", "compose_form.poll.type": "ลักษณะ", @@ -196,6 +197,7 @@ "confirmations.unfollow.title": "เลิกติดตามผู้ใช้?", "content_warning.hide": "ซ่อนโพสต์", "content_warning.show": "แสดงต่อไป", + "content_warning.show_more": "แสดงเพิ่มเติม", "conversation.delete": "ลบการสนทนา", "conversation.mark_as_read": "ทำเครื่องหมายว่าอ่านแล้ว", "conversation.open": "ดูการสนทนา", @@ -304,7 +306,7 @@ "filter_modal.select_filter.subtitle": "ใช้หมวดหมู่ที่มีอยู่หรือสร้างหมวดหมู่ใหม่", "filter_modal.select_filter.title": "กรองโพสต์นี้", "filter_modal.title.status": "กรองโพสต์", - "filter_warning.matches_filter": "ตรงกับตัวกรอง “{title}”", + "filter_warning.matches_filter": "ตรงกับตัวกรอง “{title}”", "filtered_notifications_banner.pending_requests": "จาก {count, plural, =0 {ไม่มีใคร} other {# คน}} ที่คุณอาจรู้จัก", "filtered_notifications_banner.title": "การแจ้งเตือนที่กรองอยู่", "firehose.all": "ทั้งหมด", @@ -507,6 +509,7 @@ "notification.favourite": "{name} ได้ชื่นชอบโพสต์ของคุณ", "notification.favourite.name_and_others_with_link": "{name} และ {count, plural, other {# อื่น ๆ}} ได้ชื่นชอบโพสต์ของคุณ", "notification.follow": "{name} ได้ติดตามคุณ", + "notification.follow.name_and_others": "{name} และ {count, plural, other {# อื่น ๆ}} ได้ติดตามคุณ", "notification.follow_request": "{name} ได้ขอติดตามคุณ", "notification.follow_request.name_and_others": "{name} และ {count, plural, other {# อื่น ๆ}} ได้ขอติดตามคุณ", "notification.label.mention": "การกล่าวถึง", @@ -565,6 +568,7 @@ "notifications.column_settings.filter_bar.category": "แถบตัวกรองด่วน", "notifications.column_settings.follow": "ผู้ติดตามใหม่:", "notifications.column_settings.follow_request": "คำขอติดตามใหม่:", + "notifications.column_settings.group": "จัดกลุ่ม", "notifications.column_settings.mention": "การกล่าวถึง:", "notifications.column_settings.poll": "ผลลัพธ์การสำรวจความคิดเห็น:", "notifications.column_settings.push": "การแจ้งเตือนแบบผลัก", @@ -851,6 +855,11 @@ "upload_error.poll": "ไม่อนุญาตการอัปโหลดไฟล์โดยมีการสำรวจความคิดเห็น", "upload_form.audio_description": "อธิบายสำหรับผู้ที่สูญเสียการได้ยิน", "upload_form.description": "อธิบายสำหรับผู้คนที่พิการทางการมองเห็นหรือมีสายตาเลือนราง", + "upload_form.drag_and_drop.instructions": "หากต้องการเลือกไฟล์สื่อ ให้กดปุ่มที Space หรือ Enter บนแป้นพิมพ์ เมื่อเลือกไฟล์ได้แล้ว ก็สามารถใช้ปุ่มลูกศรเพื่อเลื่อนไฟล์ไปในทิศทางที่ต้องการได้ เมื่อต้องการวางไฟล์ในตำแหน่งใหม่ ให้กดปุ่ม Space หรือ Enter ดูอีกครั้ง หรือหากต้องการยกเลิกการเลือก ให้กดปุ่ม Esc ได้", + "upload_form.drag_and_drop.on_drag_cancel": "การลากไฟล์นั้นหยุดชะงัก ไฟล์ที่กำลังแนบมาถูกยกเลิก {item} ได้ถูกลบทิ้งแล้ว", + "upload_form.drag_and_drop.on_drag_end": "ไฟล์แนบ {item} ได้ถูกยกเลิกแล้ว", + "upload_form.drag_and_drop.on_drag_over": "ไฟล์แนบ {item} ได้ถูกย้ายไปแล้ว", + "upload_form.drag_and_drop.on_drag_start": "ได้รับไฟล์แนบเรียบร้อยแล้ว {item}.", "upload_form.edit": "แก้ไข", "upload_form.thumbnail": "เปลี่ยนภาพขนาดย่อ", "upload_form.video_description": "อธิบายสำหรับผู้คนที่พิการทางการได้ยิน ได้ยินไม่ชัด พิการทางการมองเห็น หรือมีสายตาเลือนราง", diff --git a/app/javascript/mastodon/locales/tr.json b/app/javascript/mastodon/locales/tr.json index dae573370a637f..fbbe76b431ecb1 100644 --- a/app/javascript/mastodon/locales/tr.json +++ b/app/javascript/mastodon/locales/tr.json @@ -197,6 +197,7 @@ "confirmations.unfollow.title": "Kullanıcıyı takipten çık?", "content_warning.hide": "Gönderiyi gizle", "content_warning.show": "Yine de göster", + "content_warning.show_more": "Daha fazla göster", "conversation.delete": "Sohbeti sil", "conversation.mark_as_read": "Okundu olarak işaretle", "conversation.open": "Sohbeti görüntüle", @@ -305,7 +306,7 @@ "filter_modal.select_filter.subtitle": "Mevcut bir kategoriyi kullan veya yeni bir tane oluştur", "filter_modal.select_filter.title": "Bu gönderiyi süzgeçle", "filter_modal.title.status": "Bir gönderi süzgeçle", - "filter_warning.matches_filter": "“{title}” filtresiyle eşleşiyor", + "filter_warning.matches_filter": "“{title}” filtresiyle eşleşiyor", "filtered_notifications_banner.pending_requests": "Bildiğiniz {count, plural, =0 {hiç kimseden} one {bir kişiden} other {# kişiden}}", "filtered_notifications_banner.title": "Filtrelenmiş bildirimler", "firehose.all": "Tümü", diff --git a/app/javascript/mastodon/locales/uk.json b/app/javascript/mastodon/locales/uk.json index 66392afd79fcb3..9afa5816aad719 100644 --- a/app/javascript/mastodon/locales/uk.json +++ b/app/javascript/mastodon/locales/uk.json @@ -158,6 +158,7 @@ "compose_form.poll.duration": "Тривалість опитування", "compose_form.poll.multiple": "Кілька варіантів", "compose_form.poll.option_placeholder": "Варіант {number}", + "compose_form.poll.single": "Один вибір", "compose_form.poll.switch_to_multiple": "Дозволити вибір декількох відповідей", "compose_form.poll.switch_to_single": "Перемкнути у режим вибору однієї відповіді", "compose_form.poll.type": "Стиль", @@ -196,6 +197,7 @@ "confirmations.unfollow.title": "Відписатися від користувача?", "content_warning.hide": "Сховати допис", "content_warning.show": "Усе одно показати", + "content_warning.show_more": "Показати більше", "conversation.delete": "Видалити бесіду", "conversation.mark_as_read": "Позначити як прочитане", "conversation.open": "Переглянути бесіду", @@ -304,7 +306,7 @@ "filter_modal.select_filter.subtitle": "Використати наявну категорію або створити нову", "filter_modal.select_filter.title": "Фільтрувати цей допис", "filter_modal.title.status": "Фільтрувати допис", - "filter_warning.matches_filter": "Збігається з фільтром “{title}”", + "filter_warning.matches_filter": "Збігається з фільтром “{title}”", "filtered_notifications_banner.pending_requests": "Від {count, plural, =0 {жодної особи} one {однієї особи} few {# осіб} many {# осіб} other {# особи}}, котрих ви можете знати", "filtered_notifications_banner.title": "Відфільтровані сповіщення", "firehose.all": "Всі", @@ -507,6 +509,7 @@ "notification.favourite": "Ваш допис сподобався {name}", "notification.favourite.name_and_others_with_link": "{name} та {count, plural, one {# інший} few {# інших} many {# інших} other {# інший}} вподобали ваш допис", "notification.follow": "{name} підписалися на вас", + "notification.follow.name_and_others": "{name} та {count, plural, one {# інший} few {# інших} many {# інших} other {# інший}} стежать за вами", "notification.follow_request": "{name} відправили запит на підписку", "notification.follow_request.name_and_others": "{name} та {count, plural, one {# інший} few {# інших} many {# інших} other {# інший}} надсилають вам запит на стеження", "notification.label.mention": "Згадка", @@ -565,7 +568,7 @@ "notifications.column_settings.filter_bar.category": "Панель швидкого фільтра", "notifications.column_settings.follow": "Нові підписники:", "notifications.column_settings.follow_request": "Нові запити на підписку:", - "notifications.column_settings.group": "Група", + "notifications.column_settings.group": "Групувати", "notifications.column_settings.mention": "Згадки:", "notifications.column_settings.poll": "Результати опитування:", "notifications.column_settings.push": "Push-сповіщення", diff --git a/app/javascript/mastodon/locales/vi.json b/app/javascript/mastodon/locales/vi.json index 1daeada1a28986..0fcd3e43dd3711 100644 --- a/app/javascript/mastodon/locales/vi.json +++ b/app/javascript/mastodon/locales/vi.json @@ -197,6 +197,7 @@ "confirmations.unfollow.title": "Bỏ theo dõi", "content_warning.hide": "Ẩn lại", "content_warning.show": "Nhấn để xem", + "content_warning.show_more": "Hiện thêm", "conversation.delete": "Xóa tin nhắn này", "conversation.mark_as_read": "Đánh dấu là đã đọc", "conversation.open": "Xem toàn bộ tin nhắn", @@ -305,7 +306,7 @@ "filter_modal.select_filter.subtitle": "Sử dụng một danh mục hiện có hoặc tạo một danh mục mới", "filter_modal.select_filter.title": "Lọc tút này", "filter_modal.title.status": "Lọc một tút", - "filter_warning.matches_filter": "Khớp bộ lọc “{title}”", + "filter_warning.matches_filter": "Khớp bộ lọc “{title}”", "filtered_notifications_banner.pending_requests": "Từ {count, plural, =0 {không ai} other {# người}} bạn có thể biết", "filtered_notifications_banner.title": "Thông báo đã lọc", "firehose.all": "Toàn bộ", diff --git a/app/javascript/mastodon/locales/zh-CN.json b/app/javascript/mastodon/locales/zh-CN.json index 3b1e6b813de9e0..f8da5933ae506c 100644 --- a/app/javascript/mastodon/locales/zh-CN.json +++ b/app/javascript/mastodon/locales/zh-CN.json @@ -197,6 +197,7 @@ "confirmations.unfollow.title": "是否取消关注用户?", "content_warning.hide": "隐藏嘟文", "content_warning.show": "仍然显示", + "content_warning.show_more": "显示更多", "conversation.delete": "删除对话", "conversation.mark_as_read": "标记为已读", "conversation.open": "查看对话", @@ -305,7 +306,7 @@ "filter_modal.select_filter.subtitle": "使用一个已存在类别,或创建一个新类别", "filter_modal.select_filter.title": "过滤此嘟文", "filter_modal.title.status": "过滤一条嘟文", - "filter_warning.matches_filter": "命中过滤规则 “{title}”", + "filter_warning.matches_filter": "命中过滤规则 “{title}”", "filtered_notifications_banner.pending_requests": "来自你可能认识的 {count, plural, =0 {0 个人} other {# 个人}}", "filtered_notifications_banner.title": "通知(已过滤)", "firehose.all": "全部", diff --git a/app/javascript/mastodon/locales/zh-HK.json b/app/javascript/mastodon/locales/zh-HK.json index 62a43fa7e4b723..8acd6df078ebb6 100644 --- a/app/javascript/mastodon/locales/zh-HK.json +++ b/app/javascript/mastodon/locales/zh-HK.json @@ -11,6 +11,7 @@ "about.not_available": "本伺服器尚未提供這資訊。", "about.powered_by": "由 {mastodon} 提供之去中心化社交媒體", "about.rules": "伺服器規則", + "account.account_note_header": "個人筆記", "account.add_or_remove_from_list": "從列表中新增或移除", "account.badges.bot": "機械人", "account.badges.group": "群組", @@ -33,6 +34,7 @@ "account.follow_back": "追蹤對方", "account.followers": "追蹤者", "account.followers.empty": "尚未有人追蹤這位使用者。", + "account.followers_counter": "{count, plural, other {{counter} 個追蹤者}}", "account.following": "正在追蹤", "account.follows.empty": "這位使用者尚未追蹤任何人。", "account.go_to_profile": "前往個人檔案", @@ -81,6 +83,7 @@ "alert.rate_limited.title": "已限速", "alert.unexpected.message": "發生意外錯誤。", "alert.unexpected.title": "失敗!", + "alt_text_badge.title": "替代文字", "announcement.announcement": "公告", "attachments_list.unprocessed": "(未處理)", "audio.hide": "隱藏音訊", @@ -151,6 +154,7 @@ "compose_form.poll.duration": "投票期限", "compose_form.poll.multiple": "多選", "compose_form.poll.option_placeholder": "選項 {number}", + "compose_form.poll.single": "單一選擇", "compose_form.poll.switch_to_multiple": "變更投票為允許多個選項", "compose_form.poll.switch_to_single": "變更投票為限定單一選項", "compose_form.poll.type": "風格", @@ -168,6 +172,7 @@ "confirmations.delete.title": "刪除帖文?", "confirmations.delete_list.confirm": "刪除", "confirmations.delete_list.message": "你確定要永久刪除這列表嗎?", + "confirmations.delete_list.title": "刪除列表?", "confirmations.discard_edit_media.confirm": "捨棄", "confirmations.discard_edit_media.message": "您在媒體描述或預覽有尚未儲存的變更。確定要捨棄它們嗎?", "confirmations.edit.confirm": "編輯", @@ -182,6 +187,9 @@ "confirmations.reply.message": "現在回覆將蓋掉您目前正在撰寫的訊息。是否仍要回覆?", "confirmations.unfollow.confirm": "取消追蹤", "confirmations.unfollow.message": "真的不要繼續追蹤 {name} 了嗎?", + "confirmations.unfollow.title": "取消追蹤使用者?", + "content_warning.hide": "隱藏嘟文", + "content_warning.show": "仍要顯示", "conversation.delete": "刪除對話", "conversation.mark_as_read": "標為已讀", "conversation.open": "檢視對話", @@ -343,6 +351,7 @@ "home.pending_critical_update.link": "查看更新", "home.pending_critical_update.title": "有重要的安全更新!", "home.show_announcements": "顯示公告", + "ignore_notifications_modal.ignore": "忽略推播通知", "interaction_modal.description.favourite": "有了 Mastodon 的帳號,你便可以把這篇帖文加入最愛,讓作者知道你欣賞他的作品,並可以稍後再閱讀。", "interaction_modal.description.follow": "在 Mastodon 上有個帳號的話,您可以追蹤 {name} 以於首頁時間軸接收他們的帖文。", "interaction_modal.description.reblog": "在 Mastodon 上有個帳號的話,您可以向自己的追縱者們轉發此帖文。", @@ -417,6 +426,7 @@ "lists.subheading": "列表", "load_pending": "{count, plural, other {# 個新項目}}", "loading_indicator.label": "載入中…", + "media_gallery.hide": "隱藏", "moved_to_account_banner.text": "您的帳號 {disabledAccount} 目前已停用,因為您已搬家至 {movedToAccount}。", "mute_modal.hide_from_notifications": "隱藏通知", "mute_modal.hide_options": "隱藏選項", diff --git a/app/javascript/mastodon/locales/zh-TW.json b/app/javascript/mastodon/locales/zh-TW.json index 388e09fc98ac03..8903573dec3e32 100644 --- a/app/javascript/mastodon/locales/zh-TW.json +++ b/app/javascript/mastodon/locales/zh-TW.json @@ -1,7 +1,7 @@ { "about.blocks": "被限制的伺服器", "about.contact": "聯絡我們:", - "about.disclaimer": "Mastodon 是一個自由的開源軟體,是 Mastodon gGmbH 的註冊商標。", + "about.disclaimer": "Mastodon 是一個自由的開源軟體,是 Mastodon gGmbH 之註冊商標。", "about.domain_blocks.no_reason_available": "無法存取的原因", "about.domain_blocks.preamble": "Mastodon 基本上允許您瀏覽聯邦宇宙中任何伺服器的內容並與使用者互動。以下是在本伺服器上設定的例外。", "about.domain_blocks.silenced.explanation": "一般來說您不會看到來自這個伺服器的個人檔案和內容,除非您明確搜尋或主動跟隨對方。", @@ -197,6 +197,7 @@ "confirmations.unfollow.title": "是否取消跟隨該使用者?", "content_warning.hide": "隱藏嘟文", "content_warning.show": "仍要顯示", + "content_warning.show_more": "顯示更多", "conversation.delete": "刪除對話", "conversation.mark_as_read": "標記為已讀", "conversation.open": "檢視對話", @@ -305,7 +306,7 @@ "filter_modal.select_filter.subtitle": "使用既有的類別或是新增", "filter_modal.select_filter.title": "過濾此嘟文", "filter_modal.title.status": "過濾一則嘟文", - "filter_warning.matches_filter": "匹配過濾器「{title}」", + "filter_warning.matches_filter": "符合過濾器「{title}」", "filtered_notifications_banner.pending_requests": "來自您可能認識的 {count, plural, =0 {0 人} other {# 人}}", "filtered_notifications_banner.title": "已過濾之推播通知", "firehose.all": "全部", @@ -396,9 +397,9 @@ "interaction_modal.title.follow": "跟隨 {name}", "interaction_modal.title.reblog": "轉嘟 {name} 的嘟文", "interaction_modal.title.reply": "回覆 {name} 的嘟文", - "intervals.full.days": "{number, plural, one {# 天} other {# 天}}", - "intervals.full.hours": "{number, plural, one {# 小時} other {# 小時}}", - "intervals.full.minutes": "{number, plural, one {# 分鐘} other {# 分鐘}}", + "intervals.full.days": "{number, plural, other {# 天}}", + "intervals.full.hours": "{number, plural, other {# 小時}}", + "intervals.full.minutes": "{number, plural, other {# 分鐘}}", "keyboard_shortcuts.back": "上一頁", "keyboard_shortcuts.blocked": "開啟「封鎖使用者」列表", "keyboard_shortcuts.boost": "轉嘟", @@ -457,7 +458,7 @@ "lists.replies_policy.title": "顯示回覆:", "lists.search": "搜尋您跟隨之使用者", "lists.subheading": "您的列表", - "load_pending": "{count, plural, one {# 個新項目} other {# 個新項目}}", + "load_pending": "{count, plural, other {# 個新項目}}", "loading_indicator.label": "正在載入...", "media_gallery.hide": "隱藏", "moved_to_account_banner.text": "您的帳號 {disabledAccount} 目前已停用,因為您已搬家至 {movedToAccount}。", @@ -499,8 +500,8 @@ "navigation_bar.security": "安全性", "not_signed_in_indicator.not_signed_in": "您需要登入才能存取此資源。", "notification.admin.report": "{name} 已檢舉 {target}", - "notification.admin.report_account": "{name} 已檢舉來自 {target} 關於 {category} 之 {count, plural, other {# 則嘟文}} ", - "notification.admin.report_account_other": "{name} 已檢舉來自 {target} 之 {count, plural, other {# 則嘟文}} ", + "notification.admin.report_account": "{name} 已檢舉來自 {target} 關於 {category} 之 {count, plural, other {# 則嘟文}}", + "notification.admin.report_account_other": "{name} 已檢舉來自 {target} 之 {count, plural, other {# 則嘟文}}", "notification.admin.report_statuses": "{name} 已檢舉 {target} 關於 {category}", "notification.admin.report_statuses_other": "{name} 已檢舉 {target}", "notification.admin.sign_up": "{name} 已經註冊", @@ -655,11 +656,11 @@ "poll.closed": "已關閉", "poll.refresh": "重新整理", "poll.reveal": "檢視結果", - "poll.total_people": "{count, plural, one {# 個投票} other {# 個投票}}", - "poll.total_votes": "{count, plural, one {# 個投票} other {# 個投票}}", + "poll.total_people": "{count, plural, other {# 個人}}", + "poll.total_votes": "{count, plural, other {# 張票}}", "poll.vote": "投票", "poll.voted": "您已對此問題投票", - "poll.votes": "{votes, plural, one {# 張票} other {# 張票}}", + "poll.votes": "{votes, plural, other {# 張票}}", "poll_button.add_poll": "新增投票", "poll_button.remove_poll": "移除投票", "privacy.change": "調整嘟文隱私狀態", @@ -680,10 +681,10 @@ "regeneration_indicator.sublabel": "您的首頁時間軸正在準備中!", "relative_time.days": "{number} 天", "relative_time.full.days": "{number, plural, other {# 天}}前", - "relative_time.full.hours": "{number, plural, one {# 小時} other {# 小時}}前", + "relative_time.full.hours": "{number, plural, other {# 小時}}前", "relative_time.full.just_now": "剛剛", - "relative_time.full.minutes": "{number, plural, one {# 分鐘} other {# 分鐘}}前", - "relative_time.full.seconds": "{number, plural, one {# 秒} other {# 秒}}前", + "relative_time.full.minutes": "{number, plural, other {# 分鐘}}前", + "relative_time.full.seconds": "{number, plural, other {# 秒}}前", "relative_time.hours": "{number} 小時前", "relative_time.just_now": "剛剛", "relative_time.minutes": "{number} 分鐘前", @@ -793,7 +794,7 @@ "status.edited_x_times": "已編輯 {count, plural, one {{count} 次} other {{count} 次}}", "status.embed": "取得嵌入程式碼", "status.favourite": "最愛", - "status.favourites": "{count, plural, other {# 則最愛}}", + "status.favourites": "{count, plural, other {則最愛}}", "status.filter": "過濾此嘟文", "status.history.created": "{name} 於 {date} 建立", "status.history.edited": "{name} 於 {date} 修改", @@ -812,7 +813,7 @@ "status.reblog": "轉嘟", "status.reblog_private": "依照原嘟可見性轉嘟", "status.reblogged_by": "{name} 已轉嘟", - "status.reblogs": "{count, plural, other {# 則轉嘟}}", + "status.reblogs": "{count, plural, other {則轉嘟}}", "status.reblogs.empty": "還沒有人轉嘟過這則嘟文。當有人轉嘟時,它將於此顯示。", "status.redraft": "刪除並重新編輯", "status.remove_bookmark": "移除書籤", @@ -837,11 +838,11 @@ "subscribed_languages.target": "變更 {target} 的訂閱語言", "tabs_bar.home": "首頁", "tabs_bar.notifications": "通知", - "time_remaining.days": "剩餘 {number, plural, one {# 天} other {# 天}}", - "time_remaining.hours": "剩餘 {number, plural, one {# 小時} other {# 小時}}", - "time_remaining.minutes": "剩餘 {number, plural, one {# 分鐘} other {# 分鐘}}", + "time_remaining.days": "剩餘 {number, plural, other {# 天}}", + "time_remaining.hours": "剩餘{number, plural, other {# 小時}}", + "time_remaining.minutes": "剩餘{number, plural, other {# 分鐘}}", "time_remaining.moments": "剩餘時間", - "time_remaining.seconds": "剩餘 {number, plural, one {# 秒} other {# 秒}}", + "time_remaining.seconds": "剩餘{number, plural, other {# 秒}}", "trends.counter_by_accounts": "{count, plural, one {{counter} 人} other {{counter} 人}}於過去 {days, plural, one {日} other {{days} 日}} 之間", "trends.trending_now": "現正熱門趨勢", "ui.beforeunload": "如果離開 Mastodon,您的草稿將會不見。", diff --git a/config/locales/activerecord.fa.yml b/config/locales/activerecord.fa.yml index 3d1e8012bfc305..81e54ed3a95f39 100644 --- a/config/locales/activerecord.fa.yml +++ b/config/locales/activerecord.fa.yml @@ -15,6 +15,12 @@ fa: user/invite_request: text: دلیل errors: + attributes: + domain: + invalid: نام دامنهٔ معتبری نیست + messages: + invalid_domain_on_line: "%{value} نام دامنهٔ معتبری نیست" + too_many_lines: بیش از کران %{limit} خط است models: account: attributes: diff --git a/config/locales/devise.eo.yml b/config/locales/devise.eo.yml index 88514ab5e2824f..754fa015504295 100644 --- a/config/locales/devise.eo.yml +++ b/config/locales/devise.eo.yml @@ -53,12 +53,14 @@ eo: subtitle: Dupaŝa aŭtentigo por via konto estas malŝaltita. title: 2FA estas malŝaltita two_factor_enabled: + explanation: Tokeno generita de la parigita TOTP-aplikaĵo estos necesa por ensaluti. subject: 'Mastodon: Dufaktora aŭtentigo ebligita' subtitle: Dupaŝa aŭtentigo por via konto estas ŝaltita. title: 2FA aktivigita two_factor_recovery_codes_changed: explanation: La antaŭaj reakiraj kodoj estis nuligitaj kaj novaj estis generitaj. subject: 'Mastodon: Reakiraj kodoj de dufaktora aŭtentigo rekreitaj' + subtitle: La antaŭaj restarigaj kodoj estis malvalidigitaj kaj novaj estis generitaj. title: Reakiraj kodoj de 2FA estas ŝanĝitaj unlock_instructions: subject: 'Mastodon: Instrukcioj por malŝlosi' diff --git a/config/locales/doorkeeper.eo.yml b/config/locales/doorkeeper.eo.yml index 12e120f8befa67..36a5ed19746b13 100644 --- a/config/locales/doorkeeper.eo.yml +++ b/config/locales/doorkeeper.eo.yml @@ -60,6 +60,7 @@ eo: error: title: Eraro okazis new: + prompt_html: "%{client_name} ŝatus permeson aliri vian konton. Nur aprobu ĉi tiun peton se vi rekonas kaj fidas ĉi tiun fonton." review_permissions: Revizu permesojn title: Rajtigo bezonata show: @@ -82,6 +83,7 @@ eo: access_denied: La posedanto de la rimedo aŭ de la rajtiga servilo rifuzis vian peton. credential_flow_not_configured: La sendado de la identigiloj de la posedanto de la rimedo malsukcesis ĉar Doorkeeper.configure.resource_owner_from_credentials ne estis agordita. invalid_client: Klienta aŭtentigo malsukcesa pro nekonata kliento, neniu klienta aŭtentigo inkluzivita, aŭ nesubtenata aŭtentiga metodo. + invalid_code_challenge_method: La koda defia metodo devas esti S256, ebenaĵo estas nesubtenata. invalid_grant: La rajtiga konsento ne estas valida, ne plu estas valida, estis forigita, ne kongruas kun la plusenda URI uzita en la aŭtentiga peto, aŭ estis sendita al alia kliento. invalid_redirect_uri: La plusenda URI uzita ne estas valida. invalid_request: @@ -134,6 +136,7 @@ eo: media: Plurmediaj aldonaĵoj mutes: Silentigitaj notifications: Sciigoj + profile: Via Mastodon-profilo push: Puŝsciigoj reports: Raportoj search: Serĉi @@ -164,6 +167,7 @@ eo: admin:write:reports: plenumi agojn de kontrolo sur signaloj crypto: uzi fin-al-finan ĉifradon follow: ŝanĝi rilatojn al aliaj kontoj + profile: legu nur la profilinformojn de via konto push: ricevi viajn puŝ-sciigojn read: legi ĉiujn datumojn de via konto read:accounts: vidi la informojn de la kontoj diff --git a/config/locales/doorkeeper.lv.yml b/config/locales/doorkeeper.lv.yml index 55e288a9d67aa4..af892d79faae51 100644 --- a/config/locales/doorkeeper.lv.yml +++ b/config/locales/doorkeeper.lv.yml @@ -60,6 +60,7 @@ lv: error: title: Radās kļūda new: + prompt_html: "%{client_name} vēlas atļauju piekļūt Tavam kontam. Apstiprini šo pieprasījumu tikai tad, ja atpazīsti un uzticies šim avotam!" review_permissions: Pārskatīt atļaujas title: Nepieciešama autorizācija show: @@ -119,9 +120,9 @@ lv: write: Tikai rakstīšanas piekļuve title: accounts: Konti - admin/accounts: Kontu administrēšana + admin/accounts: Kontu pārvaldīšana admin/all: Visas administrēšanas funkcijas - admin/reports: Ziņojumu administrēšana + admin/reports: Ziņojumu pārvaldīšana all: Pilna piekļuve tavam Mastodon kontam blocks: Bloķētie bookmarks: Grāmatzīmes @@ -157,13 +158,13 @@ lv: admin:read:ip_blocks: lasīt sensitīvu informāciju par visiem IP blokiem admin:read:reports: lasīt sensitīvu informāciju no visiem pārskatiem un kontiem, par kuriem ziņots admin:write: modificēt visus datus uz servera - admin:write:accounts: veikt moderācijas darbības kontos - admin:write:canonical_email_blocks: veikt regulēšanas darbības kanoniskajos e-pasta blokos - admin:write:domain_allows: veikt moderēšanas darbības domēna atļaujā - admin:write:domain_blocks: veikt moderēšanas darbības domēna blokos - admin:write:email_domain_blocks: veikt moderēšanas darbības e-pasta domēna blokos - admin:write:ip_blocks: veikt moderēšanas darbības IP blokos - admin:write:reports: veikt moderācijas darbības pārskatos + admin:write:accounts: veikt satura pārraudzības darbības kontos + admin:write:canonical_email_blocks: veikt satura pārraudzības darbības kanoniskajos e-pasta blokos + admin:write:domain_allows: veikt satura pārraudzības darbības domēna atļaujā + admin:write:domain_blocks: veikt satura pārraudzības darbības domēna blokos + admin:write:email_domain_blocks: veikt satura pārraudzības darbības e-pasta domēna blokos + admin:write:ip_blocks: veikt satura pārraudzības darbības IP blokos + admin:write:reports: veikt satura pārraudzības darbības pārskatos crypto: lieto pilnīgu šifrēšanu follow: mainīt konta attiecības profile: lasīt tikai Tava konta profila informāciju diff --git a/config/locales/doorkeeper.th.yml b/config/locales/doorkeeper.th.yml index e7ed0ba8a3bdb5..2dfc72cd6ccc9b 100644 --- a/config/locales/doorkeeper.th.yml +++ b/config/locales/doorkeeper.th.yml @@ -60,6 +60,7 @@ th: error: title: เกิดข้อผิดพลาด new: + prompt_html: "%{client_name} ร้องขอสิทธิ์ในการเข้าถึงข้อมูลในบัญชีของคุณ อนุมัติคำขอนี้ได้ก็ต่อเมื่อคุณมั่นใจและเชื่อถือในแหล่งที่มาของข้อมูลนี้" review_permissions: ตรวจทานสิทธิอนุญาต title: ต้องการการอนุญาต show: diff --git a/config/locales/es-AR.yml b/config/locales/es-AR.yml index a27ba1a5484448..79bfdfbdbf7050 100644 --- a/config/locales/es-AR.yml +++ b/config/locales/es-AR.yml @@ -1166,11 +1166,11 @@ es-AR: use_security_key: Usar la llave de seguridad author_attribution: example_title: Texto de ejemplo - hint_html: "¿Escribes noticias o artículos de blog fuera de Mastodon? Controla cómo se te acredita cuando se comparten en Mastodon." - instructions: 'Asegúrate de que este código está en el HTML de tu artículo:' + hint_html: "¿Escribís artículos de noticias o de blog fuera de Mastodon? Controlá cómo se te acredita cuando se comparten en Mastodon." + instructions: 'Asegurate de que este código está en el HTML de tu artículo:' more_from_html: Más de %{name} s_blog: Blog de %{name} - then_instructions: A continuación, añade el nombre de dominio de la publicación en el campo inferior. + then_instructions: Luego, agregá el nombre de dominio de la publicación en el campo de abajo. title: Atribución del autor challenge: confirm: Continuar diff --git a/config/locales/fa.yml b/config/locales/fa.yml index 3083bc13cbcdd9..603cfe8de18491 100644 --- a/config/locales/fa.yml +++ b/config/locales/fa.yml @@ -190,9 +190,11 @@ fa: create_user_role: ایجاد نقش demote_user: تنزل کاربر destroy_announcement: حذف اعلامیه + destroy_canonical_email_block: حذف انسداد رایانامه destroy_custom_emoji: حذف اموجی سفارشی destroy_domain_allow: حذف اجازهٔ دامنه destroy_domain_block: حذف انسداد دامنه + destroy_email_domain_block: حذف انسداد دامنهٔ رایانامه destroy_instance: پاکسازی دامنه destroy_ip_block: حذف قاعدهٔ آی‌پی destroy_status: حذف وضعیت @@ -200,8 +202,10 @@ fa: destroy_user_role: نابودی نقش disable_2fa_user: از کار انداختن ورود دومرحله‌ای disable_custom_emoji: از کار انداختن اموجی سفارشی + disable_sign_in_token_auth_user: از کار انداختن تأیید هویت ژتون رایانامه‌ای برای کاربر disable_user: از کار انداختن کاربر enable_custom_emoji: به کار انداختن اموجی سفارشی + enable_sign_in_token_auth_user: به کار انداختن تأیید هویت ژتون رایانامه‌ای برای کاربر enable_user: به کار انداختن کاربر memorialize_account: یادسپاری حساب promote_user: ترفیع کاربر @@ -231,20 +235,26 @@ fa: approve_appeal_html: "%{name} درخواست تجدیدنظر تصمیم مدیر را از %{target} پذیرفت" approve_user_html: "%{name} ثبت نام %{target} را تایید کرد" assigned_to_self_report_html: "%{name} رسیدگی به گزارش %{target} را به عهده گرفت" + change_email_user_html: "%{name} نشانی رایانامهٔ کاربر %{target} را عوض کرد" change_role_user_html: "%{name} نقش %{target} را تغییر داد" + confirm_user_html: "%{name} نشانی رایانامهٔ کاربر %{target} را تأیید کرد" create_account_warning_html: "%{name} هشداری برای %{target} فرستاد" create_announcement_html: "%{name} اعلامیه‌ای جدید ایجاد کرد %{target}" + create_canonical_email_block_html: "%{name} رایانامه با درهم‌ریزی %{target} را مسدود کرد" create_custom_emoji_html: "%{name} اموجی تازهٔ %{target} را بارگذاشت" create_domain_allow_html: "%{name} دامنهٔ %{target} را مجاز کرد" create_domain_block_html: "%{name} دامنهٔ %{target} را مسدود کرد" + create_email_domain_block_html: "%{name} دامنهٔ رایانامهٔ %{target} را مسدود کرد" create_ip_block_html: "%{name} برای آی‌پی %{target} قانونی ایجاد کرد" create_unavailable_domain_html: "%{name} تحویل محتوا به دامنه %{target} را متوقف کرد" create_user_role_html: "%{name} نقش %{target} را ایجاد کرد" demote_user_html: "%{name} کاربر %{target} را تنزل داد" destroy_announcement_html: "%{name} اعلامیهٔ %{target} را حذف کرد" + destroy_canonical_email_block_html: "%{name} رایانامه با درهم‌ریزی %{target} را نامسدود کرد" destroy_custom_emoji_html: "%{name} شکلک %{target} را حذف کرد" destroy_domain_allow_html: "%{name} دامنهٔ %{target} را از فهرست مجاز برداشت" destroy_domain_block_html: "%{name} انسداد دامنهٔ %{target} را رفع کرد" + destroy_email_domain_block_html: "%{name} انسداد دامنهٔ رایانامهٔ %{target} را برداشت" destroy_instance_html: "%{name} دامنه %{target} را پاکسازی کرد" destroy_ip_block_html: "%{name} قاعدهٔ آی‌پی %{target} را حذف کرد" destroy_status_html: "%{name} وضعیت %{target} را برداشت" @@ -252,8 +262,10 @@ fa: destroy_user_role_html: "%{name} نقش %{target} را حذف کرد" disable_2fa_user_html: "%{name} ضرورت ورود دو مرحله‌ای را برای کاربر %{target} غیر فعال کرد" disable_custom_emoji_html: "%{name} شکلک %{target} را غیرفعال کرد" + disable_sign_in_token_auth_user_html: "%{name}، احراز هویت با توکن رایانامه را برای %{target} غیرفعال کرد" disable_user_html: "%{name} ورود را برای کاربر %{target} غیرفعال کرد" enable_custom_emoji_html: "%{name} شکلک %{target} را فعال کرد" + enable_sign_in_token_auth_user_html: "%{name}، احراز هویت با توکن رایانامه را برای %{target} فعال کرد" enable_user_html: "%{name} ورود را برای کاربر %{target} فعال کرد" memorialize_account_html: "%{name} حساب %{target} را تبدیل به صفحهٔ یادمان کرد" promote_user_html: "%{name} کاربر %{target} را ترفیع داد" @@ -478,6 +490,7 @@ fa: instance_followers_measure: پی‌گیرندگانمان در آن‌جا instance_follows_measure: پی‌گیرندگانشان در این‌جا instance_languages_dimension: زبان‌های برتر + instance_media_attachments_measure: پیوست‌های رسانه‌ای ذخیره شده instance_reports_measure: گزارش‌ها درباره‌شان instance_statuses_measure: فرسته‌های ذخیره شده delivery: @@ -565,6 +578,9 @@ fa: other_description_html: دیدن انتخاب های بیشتر برای کنترل رفتار حساب و سفارشی سازی ارتباط با حساب گزارش شده. resolve_description_html: هیچ کنشی علیه حساب گزارش شده انجام نخواهد شد. هیچ شکایتی ضبط نشده و گزارش بسته خواهد شد. add_to_report: افزودن بیش‌تر به گزارش + already_suspended_badges: + local: از پیش روی این کارساز معلّق شده + remote: از پیش روی کارسازشان معلّق شده are_you_sure: مطمئنید؟ assign_to_self: به عهدهٔ من بگذار assigned: مدیر عهده‌دار @@ -574,6 +590,7 @@ fa: comment: none: هیچ confirm: تأیید + confirm_action: تأیید کنش مدیریتی برای ‪@%{acct}‬ created_at: گزارش‌شده delete_and_resolve: حذف فرسته‌ها forwarded: هدایت شده @@ -594,6 +611,7 @@ fa: report: 'گزارش #%{id}' reported_account: حساب گزارش‌شده reported_by: گزارش از طرف + reported_with_application: گزارش شده با برنامه resolved: حل‌شده resolved_msg: گزارش با موفقیت حل شد! skip_to_actions: پرش به کنش‌ها @@ -665,6 +683,8 @@ fa: title: ظاهر branding: title: ویژندگی + content_retention: + danger_zone: منطقهٔ خطر default_noindex: title: درخواست خروج از اندیس‌گذاری پیش‌گزیدهٔ موتور جست‌وجو discovery: @@ -752,6 +772,9 @@ fa: message_html: هیچ قانون کارسازی تعریف نکرده‌اید. sidekiq_process_check: message_html: صف(های) %{value} فاقد هیچونه فرایند Sidekiq هستند. لطفا تنظیمات Sidekiq خود را بازبینی کنید + software_version_check: + action: دیدن به‌روز رسانی‌های موجود + message_html: به‌روز رسانی ماستودون موجود است. software_version_critical_check: action: مشاهده به‌روزرسانی‌های موجود message_html: یک به‌روزرسانی حیاتی ماستودون موجود است، لطفا در اسرع وقت به‌روزرسانی کنید. @@ -775,16 +798,27 @@ fa: trendable: قابل داغ شدن unreviewed: بررسی نشده usable: قابل استفاده + name: نام + newest: جدیدترین + oldest: قدیمی‌ترین + open: دیدن عمومی + reset: بازنشانی review: وضعیت بازبینی + search: جست‌وجو + title: برچسب‌ها updated_msg: تنظیمات برچسب‌ها با موفقیت به‌روز شد title: مدیریت trends: allow: اجازه approved: تأیید شده + confirm_allow: مطمئنید که می‌خواهید برچسب‌های گزیده را مجاز کنید؟ + confirm_disallow: مطمئنید که می‌خواهید برچسب‌های گزیده را ممنوع کنید؟ disallow: اجازه ندادن links: allow: اجازه به پیوند allow_provider: اجازه به ناشر + confirm_allow: مطمئنید که می‌خواهید پیوندهای گزیده را مجاز کنید؟ + confirm_allow_provider: مطمئنید که می‌خواهید فراهم‌کننده‌های گزیده را مجاز کنید؟ confirm_disallow: مطمئنید که می خواهید پیوندهای گزیده را ممنوع کنید؟ confirm_disallow_provider: مطمئنید که می خواهید فراهم کننده‌های گزیده را ممنوع کنید؟ disallow: اجازه ندادن به پیوند @@ -792,18 +826,32 @@ fa: no_link_selected: هیچ پیوندی تغییر نکرد زیرا هیچ‌کدام از آن‌ها انتخاب نشده بودند publishers: no_publisher_selected: هیچ ناشری تغییر نکرد زیرا هیچ‌کدام از آن‌ها انتخاب نشده بودند + shared_by_over_week: + one: هم‌رسانده به دست یک نفر در هفتهٔ گذشته + other: هم‌رسانده به دست %{count} نفر در هفتهٔ گذشته title: پیوندهای داغ + usage_comparison: امروز %{today} بار هم‌رسانی شده. در مقایسه با %{yesterday} بار دیروز not_allowed_to_trend: اجازهٔ داغ شدن ندارد + only_allowed: فقط مجازها pending_review: بازبینی منتظر preview_card_providers: + allowed: پیوندها از این ناشر می‌توانند داغ شوند + rejected: پیوندها از این ناشر داغ نخواهند شد title: ناشران rejected: رد شده statuses: allow: اجازه به فرسته allow_account: اجازه به نگارنده + confirm_allow: مطمئنید که می‌خواهید وضعیت‌های گزیده را مجاز کنید؟ + confirm_allow_account: مطمئنید که می‌خواهید حساب‌های گزیده را مجاز کنید؟ + confirm_disallow: مطمئنید که می‌خواهید وضعیت‌های گزیده را ممنوع کنید؟ + confirm_disallow_account: مطمئنید که می‌خواهید حساب‌های گزیده را ممنوع کنید؟ disallow: ممنوع کردن فرسته disallow_account: ممنوع کردن نگارنده no_status_selected: هیچ فرستهٔ داغی تغییری نکرد زیرا هیچ‌کدام از آن‌ها انتخاب نشده بودند + shared_by: + one: یک بار برگزیده یا هم‌رسانی شده + other: "%{friendly_count} بار برگزیده یا هم‌رسانی شده" title: فرسته‌های داغ tags: current_score: امتیاز کنونی %{score} @@ -812,8 +860,9 @@ fa: tag_languages_dimension: زبان‌های برتر tag_servers_dimension: کارسازهای برتر tag_servers_measure: کارسازهای گوناگون - tag_uses_measure: کل استفاده‌ّا + tag_uses_measure: کل استفاده‌ها listable: می‌تواند پیشنهاد شود + no_tag_selected: هیچ برچسبی تغییر نکرد زیرا هیچ‌کدام گزیده نبودند not_listable: پیشنهاد نخواهد شد not_usable: غیر قابل استفاده title: برچسب‌های پرطرفدار @@ -908,7 +957,9 @@ fa: title: بررسی های امنیتی confirmations: awaiting_review_title: ثبت‌نامتان دارد بررسی می‌شود + clicking_this_link: زدن این پیوند login_link: ورود + proceed_to_login_html: می‌توانید به %{login_link} ادامه دهید. welcome_title: خوش آمدید، %{name}! delete_account: پاک‌کردن حساب delete_account_html: اگر می‌خواهید حساب خود را پاک کنید، از این‌جا پیش بروید. از شما درخواست تأیید خواهد شد. @@ -930,6 +981,7 @@ fa: or_log_in_with: یا ورود به وسیلهٔ privacy_policy_agreement_html: سیاست محرمانگی را خوانده و پذیرفته‌ام progress: + confirm: تأیید رایانامه details: جزئیات شما review: بررسی ما rules: پذیرش قوانین @@ -943,6 +995,7 @@ fa: rules: accept: پذیرفتن back: بازگشت + invited_by: 'با سپاس از دعوتی از این فرد دریافت کرده‌اید می‌توانید به %{domain} بپیوندید:' title_invited: شما دعوت شده اید. security: امنیت set_new_password: تعین گذرواژه جدید @@ -952,17 +1005,23 @@ fa: title: صندوق ورودیتان را بررسی کنید sign_in: title: ورود به %{domain} + sign_up: + title: بیایید روی %{domain} برپایتان کنیم. status: account_status: وضعیت حساب + confirming: منتظر کامل شدن تأیید رایانامه. functional: حسابتان کاملاً قابل استفاده است. + pending: درخواستتان منتظر بازبینی مسئولان است. ممکن است کمی طول بکشد. اگر درخواستتان پذیرفته شود رایانامه‌ای خواهید گرفت. redirecting_to: حساب شما غیرفعال است زیرا هم‌اکنون به %{acct} منتقل شده است. view_strikes: دیدن شکایت‌های گذشته از حسابتان too_fast: فرم با سرعت بسیار زیادی فرستاده شد، دوباره تلاش کنید. use_security_key: استفاده از کلید امنیتی author_attribution: example_title: متن نمونه + instructions: 'مطمئن شوید این کد در HTML مقاله‌تان وجود دارد:' more_from_html: بیش‌تر از %{name} s_blog: بلاگ %{name} + then_instructions: سپس نام دامنهٔ مقاله را در زمینهٔ زیر بیفزایید. title: اعتباردهی به نگارنده challenge: confirm: ادامه @@ -1000,6 +1059,9 @@ fa: before: 'پیش از ادامه،‌ لطفاً نکته‌های زیر را به دقت بخوانید:' caches: ممکن است محتواهایی که دیگر کارسازها ذخیره کرده‌اند، همچنان باقی بماند data_removal: نوشته‌ها و داده‌های شما برای همیشه پاک خواهند شد + email_change_html: می‌توانید بدون حذف حسابتان نشانی رایانامه‌تان را تغییر دهید + email_contact_html: اگر هنوز نرسیده، می‌توانید برای راهنمایی به %{email} رایانامه دهید + email_reconfirmation_html: اگر رایانامهٔ تأیید را نگرفته‌اید، می‌توانید دوباره درخواستش دهید irreversible: شما نخواهید توانست حساب خود را بازیابی یا فعال‌سازی کنید more_details_html: برای اطلاعات بیشتر سیاست رازداری را ببینید. username_available: نام کاربری شما دوباره در دسترس خواهد بود @@ -1092,8 +1154,10 @@ fa: deprecated_api_multiple_keywords: این پارامترها نمی‌توانند از این برنامه تغییر یابند؛ چرا که به بیش از یک کلیدواژهٔ پالایه اعمال می‌شود. از برنامه‌ای جدیدتر یا میانای وب استفاده کنید. invalid_context: زمینه‌ای موجود نیست یا نامعتبر است index: + contexts: پالایه‌ها در %{contexts} delete: پاک‌کردن empty: هیچ پالایه‌ای ندارید. + expires_in: در %{distance} منقضی می شود expires_on: در %{date} منقضی می شود keywords: one: "%{count} کلیدواژه" @@ -1116,6 +1180,9 @@ fa: title: فرسته‌های پالوده generic: all: همه + all_items_on_page_selected_html: + one: "%{count} مورد در این صفحه گزیده شده." + other: همهٔ %{count} مورد این صفحه گزیده شده‌اند. all_matching_items_selected_html: one: "%{count} مورد مطابق با جست‌وجویتان گزیده شده." other: "%{count} مورد مطابق با جست‌وجویتان گزیده شدند." @@ -1137,6 +1204,9 @@ fa: other: یک چیزی هنوز درست نیست! لطفاً %{count} خطای زیر را ببینید imports: errors: + empty: پروندهٔ خالی CSV + incompatible_type: ناسازگار با گونهٔ درون‌ریزی گزیده + invalid_csv_file: 'پروندهٔ CSV نامعتبر. خطا: %{error}' over_rows_processing_limit: دارای بیش از %{count} ردیف too_large: حجم فایل خیلی بزرگ است failures: شکست‌ها @@ -1214,7 +1284,15 @@ fa: title: تاریخچهٔ تأیید هویت mail_subscriptions: unsubscribe: + action: بله. لغو اشتراک complete: لغو اشتراک شد + emails: + notification_emails: + favourite: رایانامه‌های آگاهی برگزیدن + follow: رایانامه‌های آگاهی پی‌گیری + follow_request: رایانامه‌های درخواست پی‌گیری + mention: رایانامه‌های آگاهی اشاره + reblog: رایانامه‌های آگاهی تقویت title: لغو اشتراک media_attachments: validations: @@ -1295,6 +1373,7 @@ fa: update: subject: "%{name} فرسته‌ای را ویرایست" notifications: + administration_emails: آگاهی‌های رایانامه‌ای مدیر email_events: رویدادها برای آگاهی‌های رایانامه‌ای email_events_hint: 'گزینش رویدادهایی که می‌خواهید برایشان آگاهی دریافت کنید:' number: @@ -1352,12 +1431,16 @@ fa: errors: limit_reached: تجاوز از کران واکنش‌های مختلف unrecognized_emoji: شکلک شناخته‌شده‌ای نیست + redirects: + prompt: اگر به این پویند اطمینان دارید برای ادامه بزنید. + title: دارید %{instance} را ترک می‌کنید. relationships: activity: فعالیت حساب confirm_follow_selected_followers: آیا مطمئنید که می خواهید دنبال کننده های انتخابی را دنبال کنید؟ confirm_remove_selected_followers: آیا شما واقعا می خواهید دنبال کننده های انتخابی را حذف کنید؟ confirm_remove_selected_follows: آیا شما واقعا می خواهید دنبال شده های انتخابی را حذف کنید؟ dormant: غیرفعال + follow_failure: نتوانست برخی از حساب‌های گزیده را پی بگیرد. follow_selected_followers: پیگیری پیگیران انتخاب شده followers: پی‌گیران following: پی می‌گیرد @@ -1462,7 +1545,7 @@ fa: domain_block: تعلیق کارساز (%{target_name}) user_domain_block: "%{target_name} را مسدود کردید" lost_followers: پی‌گیرندگان از دست رفته - lost_follows: پی‌گرفته‌ّای از دست رفته + lost_follows: پی‌گرفته‌های از دست رفته preamble: وقتی دامنه‌ای را مسدود کرده یا ناظرانتان تصمیم به تعلیق کارسازی دوردست می‌گیرند، ممکن است پی‌گیران و پی‌گرفته‌هایتان را از دست بدهید. با این حال قادرید سیاهه‌هایی از ارتباط‌های قطع شده را برای بررسی و درون‌ریزی احتمالی روی کارسازی دیگر بار بگیرید. purged: اطّلاعات دربارهٔ این کارساز به دست مدیران کارسازتان پاک سازی شده. type: رویداد @@ -1571,16 +1654,23 @@ fa: webauthn: کلیدهای امنیتی user_mailer: appeal_approved: + action: تنظیمات حساب explanation: درخواست تجدیدنظر اخطار علیه حساب شما در %{strike_date} که در %{appeal_date} ارسال کرده‌اید، پذیرفته شده است. حساب شما بار دیگر در وضعیت خوبی قرار دارد. subject: درخواست تجدیدنظر شما در %{date} پذیرفته شد + subtitle: حسابتان دوباره در وضعیت مناسب است. title: درخواست تجدیدنظر پذیرفته شد appeal_rejected: explanation: درخواست تجدیدنظر اخطار علیه حساب شما در %{strike_date} که در %{appeal_date} ارسال کرده‌اید، رد شده است. subject: درخواست تجدیدنظر شما در %{date} رد شده است + subtitle: درخواست تجدیدنظرتان رد شد. title: درخواست تجدیدنظر رد شد backup_ready: + explanation: درخواست پشتیبانی کامل از حساب ماستودونتان کردید. + extra: اکنون آمادهٔ بارگیری است! subject: بایگانی شما آمادهٔ دریافت است title: گرفتن بایگانی + failed_2fa: + details: 'جزییات تلاش‌ها برای ورد:' suspicious_sign_in: change_password: تغییر گذرواژه‌تان details: 'جزییات ورود:' @@ -1592,8 +1682,11 @@ fa: spam: هرزنامه reason: 'دلیل:' subject: + delete_statuses: فرسته‌هایتان روی %{acct} برداشته شده‌اند disable: حساب %{acct} شما متوقف شده است + mark_statuses_as_sensitive: فرسته‌هایتان روی %{acct} به عنوان حسّاس علامت خورده‌اند none: هشدار برای %{acct} + sensitive: فرسته‌هایتان روی %{acct} از اکنون به عنوان حسّاس علامت خواهند خورد silence: حساب %{acct} شما محدود شده است suspend: حساب %{acct} شما معلق شده است title: @@ -1609,11 +1702,39 @@ fa: apps_ios_action: بارگیری روی فروشگاه کاره apps_step: بارگیری کارهٔ رسمیمان. apps_title: کاره‌های ماستودون + checklist_subtitle: 'بیایید روی این مرز اجتماعی جدید راهتان بیندازیم:' + checklist_title: سیاههٔ بررسی خوش‌آمد edit_profile_action: شخصی سازی + edit_profile_step: تقویت تعامل‌هایتان با داشتن نمایه‌ای جامع. + edit_profile_title: شخصی سازی نمایه‌تان explanation: نکته‌هایی که برای آغاز کار به شما کمک می‌کنند + feature_action: دانشتن بیش‌تر + feature_audience: ماستودون بدون حضور فرد میانی، فرصتی منحصربه‌فرد برای مدیریت مخاطبان ارائه می‌کند. ماستودونی که روی زیرساخت خودتان استقرار یافته باشد، می‌گذارد بدون بودن زیر واپایش کسی غیر از خودتان، دیگر کارسازهای برخط ماستودون را دنبال کرده و به دست آن‌ها دنبال شوید. + feature_audience_title: مخاطبان‌تان را با اطمینان بسازید + feature_control: شما بهتر از هر کسی دیگری می‌دونید که چه می‌خواهید ببینید. هیچ الگوریتم یا تبلیغی وقت شما را تلف نمی‌کند. تنها با یک حساب، هر کسی را روی هر کارساز ماستودون دیگری دنبال کرده و فرسته‌هایشان را به ترتیب زمانی دریافت کنید. گوشهٔ دنج اینترنتی خودتان را بیشتر شبیه خودتان کنید. + feature_control_title: کنترل خط زمانی‌تان را به دست بگیرید + feature_creativity: ماستودون از فرسته‌های تصویری، ویدئویی و شنیداری، توضیحات دسترس‌پذیری، نظرسنجی، هشدار محتوا، تصاویر نمایهٔ پویا، شکلک‌های سفارشی، کنترل برش تصاویر بندانگشتی و بسیاری موارد دیگر پشتیبانی می‌کند تا به شما برای ابزار کردن خود در فضای برخط کمک کند. چه بخواهید یک اثر هنری، موسیقی یا پادکست منتشر کنید، ماستودون در خدمت شماست. + feature_creativity_title: خلاقیت بی‌همتا + feature_moderation: ماستودن، تصمیم‌گیری را به شما باز می‌گرداند. هر کارساز قوانین و شرایط استفاده خاص خودش را وضع می‌کند که فقط به صورت محلی اعمال می‌شود و نه به صورت از بالا به پایین در سکوهای اجتماعی شرکتی. این موضوع باعث افزایش انعطاف در پاسخ‌گویی به نیازهای گروه‌های مختلف می‌شود. به کارسازی با قوانین مورد پسندتان بپیوندید، و یا نمونه خود را میزبانی کنید. + feature_moderation_title: نظارت به شکلی که باید باشد follow_action: پی‌گیری + follow_step: You curate your own feed. Lets fill it with interesting people. + follow_title: شخصی سازی خوراک خانگیتان + follows_subtitle: پی گرفتن حساب‌های شناخته شده + follows_title: افرادی برای پی‌گیری + follows_view_more: دیدن افرادی بیش‌تر برای پی‌گیری + hashtags_recent_count: + one: "%{people} نفر در ۲ روز اخیر" + other: "%{people} نفر در ۲ روز اخیر" + hashtags_subtitle: کشف گرایه‌ها در ۲ روز گذشته + hashtags_title: برچسب‌های داغ + hashtags_view_more: دیدن برچسب‌های داغ بیش‌تر post_action: ایجاد + post_step: سلام کردن به جهان با متن، عکس، ویدیو یا نظرسنجی. + post_title: ساخت نخستین نظرسنجیتان share_action: هم‌رسانی + share_step: بگذارید دوستانتان بدانند چگونه روی ماستودون بیابندتان. + share_title: هم‌رسانی نمایهٔ ماستودونتان sign_in_action: ورود subject: به ماستودون خوش آمدید title: خوش آمدید، کاربر %{name}! @@ -1622,6 +1743,8 @@ fa: go_to_sso_account_settings: به تنظیمات حساب فراهمگر هوبتتان بروید invalid_otp_token: کد ورود دومرحله‌ای نامعتبر است otp_lost_help_html: اگر شما دسترسی به هیچ‌کدامشان ندارید، باید با ایمیل %{email} تماس بگیرید + rate_limited: تلاش ّای هویت‌سنجی بیش از حد. لطفاً بعداً دوباره تلاش کنید. + seamless_external_login: با خدمتی خارجی وارد شده‌اید، برای همین تنظیمات رایانامه و گذرواژه در دسترس نیستند. signed_in_as: 'واردشده به نام:' verification: extra_instructions_html: نکته: پیوند روی پایگاه وبتان می‌تواند نامرئی باشد. بخش مهم rel="me" است که از جعل هویت روی پایگاه‌هایی با محتوای تولید شده به دست کاربر جلوگیری می‌کند. حتا می‌توانید به جای برچسب a از برچسب link در سرایند صفحه استفاده کنید؛ ولی HTML باید بدون اجرای جاوااسکریپت در دسترس باشد. diff --git a/config/locales/ga.yml b/config/locales/ga.yml index 0657f827d1b293..5e5ecb238e3e6d 100644 --- a/config/locales/ga.yml +++ b/config/locales/ga.yml @@ -1220,8 +1220,11 @@ ga: use_security_key: Úsáid eochair shlándála author_attribution: example_title: Téacs samplach + hint_html: An bhfuil tú ag scríobh altanna nuachta nó blag lasmuigh de Mastodon? Rialú conas a gheobhaidh tú creidmheas nuair a roinntear iad ar Mastodon. + instructions: 'Cinntigh go bhfuil an cód seo i HTML d''alt:' more_from_html: Tuilleadh ó %{name} s_blog: Blag %{name} + then_instructions: Ansin, cuir ainm fearainn an fhoilseacháin sa réimse thíos. title: Leithdháil an údair challenge: confirm: Lean ar aghaidh diff --git a/config/locales/hu.yml b/config/locales/hu.yml index 4f18e3b4d4861d..47bd24fccf2767 100644 --- a/config/locales/hu.yml +++ b/config/locales/hu.yml @@ -1166,8 +1166,11 @@ hu: use_security_key: Biztonsági kulcs használata author_attribution: example_title: Mintaszöveg + hint_html: Mastodonon kívül írsz híreket vagy blogbejegyzéseket? Szabályozd, hogyan tüntethetnek fel szerzőként, amikor Mastodonon osztják meg őket. + instructions: 'Győződj meg róla, hogy ez a kód a cikked HTML-jében van:' more_from_html: 'Több tőle: %{name}' s_blog: "%{name} blogja" + then_instructions: Aztán add meg a publikáció domain-nevét az alábbi mezőben. title: Szerző forrásmegjelölése challenge: confirm: Folytatás diff --git a/config/locales/ja.yml b/config/locales/ja.yml index 66791a622d2fae..a70ae680e44be3 100644 --- a/config/locales/ja.yml +++ b/config/locales/ja.yml @@ -1148,8 +1148,11 @@ ja: use_security_key: セキュリティキーを使用 author_attribution: example_title: サンプルテキスト + hint_html: Mastodonの外でニュースやブログなどを執筆しているユーザーは、Mastodonで自分の記事が共有されたときに著者情報を表示させることができます。 + instructions: 以下のコードを自分の記事のHTMLに貼り付けます。 more_from_html: "%{name} のその他の情報" s_blog: "%{name} のブログ" + then_instructions: その後、記事の公開に使用しているドメイン名を以下の入力欄に追加してください。 title: 著者の帰属 challenge: confirm: 続ける diff --git a/config/locales/ko.yml b/config/locales/ko.yml index 43944fe0f651cc..6bff1703e68d97 100644 --- a/config/locales/ko.yml +++ b/config/locales/ko.yml @@ -1150,8 +1150,11 @@ ko: use_security_key: 보안 키 사용 author_attribution: example_title: 예시 텍스트 + hint_html: 마스토돈 밖에서 뉴스나 블로그 글을 쓰시나요? 마스토돈에 공유되었을 때 어떻게 표시될지를 제어하세요. + instructions: '이 코드가 글의 HTML 안에 포함되는지 확인하세요:' more_from_html: "%{name}의 게시물 더 보기" s_blog: "%{name}의 블로그" + then_instructions: 그리고 발행처의 도메인 네임을 아래 입력란에 추가하세요. title: 작성자 기여 challenge: confirm: 계속 diff --git a/config/locales/lv.yml b/config/locales/lv.yml index 908b15e851bc09..9e9515511045eb 100644 --- a/config/locales/lv.yml +++ b/config/locales/lv.yml @@ -29,11 +29,11 @@ lv: action: Veikt darbību already_silenced: Šis konts jau ir ierobežots. already_suspended: Šis konts jau ir aizturēts. - title: Veikt moderācijas darbību %{acct} + title: Veikt satura pārraudzības darbību %{acct} account_moderation_notes: create: Atstāt piezīmi - created_msg: Moderācijas piezīme ir veiksmīgi izveidota! - destroyed_msg: Moderācijas piezīme ir veiksmīgi iznīcināta! + created_msg: Satura pārraudzības piezīme ir veiksmīgi izveidota. + destroyed_msg: Satura pārraudzības piezīme ir veiksmīgi iznīcināta. accounts: add_email_domain_block: Liegt e-pasta domēnu approve: Apstiprināt @@ -96,12 +96,12 @@ lv: moderation: active: Aktīvie all: Visi - disabled: Atspējots + disabled: Atspējota pending: Gaida - silenced: Ierobežotie - suspended: Apturētie - title: Moderācija - moderation_notes: Moderācijas piezīmes + silenced: Ierobežoti + suspended: Apturēti + title: Satura pārraudzība + moderation_notes: Satura pārraudzības piezīmes most_recent_activity: Pati pēdējā darbība most_recent_ip: Pati pēdējā IP no_account_selected: Neviens konts netika mainīts, jo neviens netika atlasīts @@ -236,7 +236,7 @@ lv: update_status: Atjaunināt ziņu update_user_role: Atjaunināt lomu actions: - approve_appeal_html: "%{name} apstiprināja moderācijas lēmuma apelāciju no %{target}" + approve_appeal_html: "%{name} apstiprināja satura pārraudzības lēmuma iebildumu no %{target}" approve_user_html: "%{name} apstiprināja reģistrēšanos no %{target}" assigned_to_self_report_html: "%{name} piešķīra pārskatu %{target} sev" change_email_user_html: "%{name} nomainīja lietotāja %{target} e-pasta adresi" @@ -267,7 +267,7 @@ lv: enable_user_html: "%{name} iespējoja pieteikšanos lietotājam %{target}" memorialize_account_html: "%{name} pārvērta %{target} kontu par atmiņas lapu" promote_user_html: "%{name} paaugstināja lietotāju %{target}" - reject_appeal_html: "%{name} noraidīja moderācijas lēmuma apelāciju no %{target}" + reject_appeal_html: "%{name} noraidīja satura pārraudzības lēmuma iebildumu no %{target}" reject_user_html: "%{name} noraidīja reģistrēšanos no %{target}" remove_avatar_user_html: "%{name} noņēma %{target} profila attēlu" reopen_report_html: "%{name} atkārtoti atvēra ziņojumu %{target}" @@ -362,9 +362,9 @@ lv: other: "%{count}ziņojumi gaida" zero: "%{count}ziņojumi gaida" pending_tags_html: - one: "%{count}tēmturis gaida" - other: "%{count}tēmturi gaida" - zero: "%{count}tēmturi gaida" + one: "%{count} tēmturis rindā" + other: "%{count} tēmturi rindā" + zero: "%{count} tēmturu rindā" pending_users_html: one: "%{count}lietotājs gaida" other: "%{count}lietotāji gaida" @@ -409,7 +409,7 @@ lv: import: Importēt new: create: Izveodot bloku - hint: Domēna bloķēšana netraucēs izveidot kontu ierakstus datu bāzē, bet ar atpakaļejošu datumu un automātiski tiks piemērotas noteiktas moderēšanas metodes šajos kontos. + hint: Domēna aizturēšana netraucēs izveidot kontu ierakstus datubāzē, bet šajos kontos ar atpakaļejošu datumu un automātiski tiks piemērotas noteikti satura pārraudzības veidi. severity: desc_html: "Ierobežojums padarīs ziņas no šī domēna kontiem neredzamas ikvienam, kas tiem neseko. Apturēšana no tava servera noņems visu šī domēna kontu saturu, multividi un profila datus. Izmanto Nav, ja vēlies vienkārši noraidīt multivides failus." noop: Neviens @@ -532,7 +532,7 @@ lv: moderation: all: Visas limited: Ierobežotās - title: Moderācija + title: Satura pārraudzība private_comment: Privāts komentārs public_comment: Publisks komentārs purge: Iztīrīt @@ -619,7 +619,7 @@ lv: none: Neviens comment_description_html: 'Lai sniegtu vairāk informācijas, %{name} rakstīja:' confirm: Apstiprināt - confirm_action: Apstipriniet regulēšanas darbību pret @%{acct} + confirm_action: Apstiprināt satura pārraudzības darbību pret @%{acct} created_at: Ziņoti delete_and_resolve: Izdzēst rakstus forwarded: Pārsūtīti @@ -667,7 +667,7 @@ lv: delete_data_html: Dzēsiet lietotāja @%{acct} profilu un saturu pēc 30 dienām, ja vien to darbība pa šo laiku netiks atcelta preview_preamble_html: "@%{acct} saņems brīdinājumu ar šādu saturu:" record_strike_html: Ierakstiet brīdinājumu pret @%{acct}, lai palīdzētu jums izvērst turpmākus pārkāpumus no šī konta - warning_placeholder: Izvēles papildu pamatojums regulēšanas darbībai. + warning_placeholder: Izvēles papildu pamatojums satura pārraudzības darbībai. target_origin: Ziņotā konta izcelsme title: Ziņojumi unassign: Atsaukt @@ -682,10 +682,10 @@ lv: other: "%{count} lietotāji" zero: "%{count} lietotāju" categories: - administration: Administrēšana + administration: Pārvaldība devops: DevOps invites: Uzaicinājumi - moderation: Moderācija + moderation: Satura pārraudzība special: Īpašās delete: Dzēst description_html: Izmantojot lietotāju lomas, vari pielāgot, kurām Mastodon funkcijām un apgabaliem var piekļūt tavi lietotāji. @@ -706,7 +706,7 @@ lv: manage_announcements: Pārvaldīt Paziņojumus manage_announcements_description: Ļauj lietotājiem pārvaldīt paziņojumus serverī manage_appeals: Pārvaldīt Pārsūdzības - manage_appeals_description: Ļauj lietotājiem izskatīt apelācijas pret regulēšanas darbībām + manage_appeals_description: Ļauj lietotājiem pārskatīt iebildumus pret satura pārraudzības darbībām manage_blocks: Pārvaldīt Bloķus manage_custom_emojis: Pārvaldīt Pielāgotās Emocijzīmes manage_custom_emojis_description: Ļauj lietotājiem pārvaldīt pielāgotās emocijzīmes serverī @@ -715,7 +715,7 @@ lv: manage_invites: Pārvaldīt Uzaicinājumus manage_invites_description: Ļauj lietotājiem pārlūkot un deaktivizēt uzaicinājuma saites manage_reports: Pārvaldīt Pārskatus - manage_reports_description: Ļauj lietotājiem pārskatīt pārskatus un veikt pret tiem regulēšanas darbības + manage_reports_description: Ļauj lietotājiem pārskatīt ziņojumus un veikt pret tiem satura pārraudzības darbības manage_roles: Pārvaldīt Lomas manage_roles_description: Ļauj lietotājiem pārvaldīt un piešķirt lomas, kas ir zemākas par viņu lomu manage_rules: Pārvaldīt Noteikumus @@ -723,10 +723,10 @@ lv: manage_settings: Pārvaldīt Iestatījumus manage_settings_description: Ļauj lietotājiem mainīt vietnes iestatījumus manage_taxonomies: Pārvaldīt Taksonomijas - manage_taxonomies_description: Ļauj lietotājiem pārskatīt aktuālāko saturu un atjaunināt atsauces iestatījumus + manage_taxonomies_description: Ļauj lietotājiem pārskatīt aktuālāko saturu un atjaunināt tēmturu iestatījumus manage_user_access: Pārvaldīt Lietotāju Piekļuves manage_users: Pārvaldīt Lietotājus - manage_users_description: Ļauj lietotājiem skatīt citu lietotāju informāciju un veikt pret viņiem regulēšanas darbības + manage_users_description: Ļauj lietotājiem skatīt citu lietotāju informāciju un veikt pret viņiem satura pārraudzības darbības manage_webhooks: Pārvaldīt Tīmekļa Aizķeres manage_webhooks_description: Ļauj lietotājiem iestatīt tīmekļa aizķeres administratīviem pasākumiem view_audit_log: Skatīt Audita Žurnālu @@ -779,6 +779,7 @@ lv: disabled: Nevienam users: Vietējiem reģistrētiem lietotājiem registrations: + moderation_recommandation: Lūgums nodrošināt, ka Tev ir pieņemama un atsaucīga satura pārraudzības komanda, pirms padari reģistrēšanos visiem pieejamu. preamble: Kontrolē, kurš var izveidot kontu tavā serverī. title: Reģistrācijas registrations_mode: @@ -786,6 +787,7 @@ lv: approved: Reģistrācijai nepieciešams apstiprinājums none: Neviens nevar reģistrēties open: Jebkurš var reģistrēties + warning_hint: Mēs iesakām izmantot "Nepieciešams reģistrēšanās apstiprinājums", izņemot, ja esi pārliecināts, ka Tava satura pārraudzības komanda var laicīgi apstrādāt mēstules un ļaunprātīgas reģistrācijas. security: authorized_fetch: Pieprasīt autentifikāciju no federētajiem serveriem authorized_fetch_hint: Pieprasot autentifikāciju no federētajiem serveriem, tiek nodrošināta stingrāka gan lietotāja līmeņa, gan servera līmeņa bloku izpilde. Tomēr tas ir saistīts ar izpildes sodu, samazina tavu atbilžu sasniedzamību un var radīt saderības problēmas ar dažiem federētajiem pakalpojumiem. Turklāt tas netraucēs īpašiem dalībniekiem ienest tavas publiskās ziņas un kontus. @@ -889,6 +891,8 @@ lv: review_requested: Pieprasīta pārskatīšana reviewed: Pārskatīts title: Stāvoklis + unreviewed: Nepārskatīts + usable: Izmantojams name: Nosaukums newest: Jaunākie oldest: Vecākie @@ -897,7 +901,7 @@ lv: search: Meklēt title: Tēmturi updated_msg: Tēmtura iestatījumi ir veiksmīgi atjaunināti - title: Administrēšana + title: Pārvaldība trends: allow: Atļaut approved: Apstiprināts @@ -1001,9 +1005,9 @@ lv: sensitive: lai atzīmētu viņu kontu kā sensitīvu silence: lai ierobežotu viņu kontu suspend: lai apturētu viņu kontu - body: "%{target} pārsūdzēja %{action_taken_by} moderēšanas lēmumu no %{date}, kas bija %{type}. Viņi rakstīja:" - next_steps: Varat apstiprināt apelāciju, lai atsauktu regulēšanas lēmumu, vai ignorēt to. - subject: "%{username} pārsūdz moderēšanas lēmumu par %{instance}" + body: "%{target} iebilst %{action_taken_by} satura pārraudzības lēmumam no %{date}, kas bija %{type}. Viņi rakstīja:" + next_steps: Vari apstiprināt iebildumu, lai atsauktu satura pārraudzības lēmumu, vai neņemt to vērā. + subject: "%{username} iebilst satura pārraudzības lēmumam par %{instance}" new_critical_software_updates: body: Ir izlaistas jaunas Mastodon svarīgās versijas, iespējams, vēlēsies to atjaunināt pēc iespējas ātrāk! subject: "%{instance} ir pieejami svarīgi Mastodon atjauninājumi!" @@ -1456,7 +1460,7 @@ lv: other_data: Nekādi citi dati netiks automātiski pārvietoti redirect: Tava pašreizējā konta profils tiks atjaunināts ar novirzīšanas paziņojumu un tiks izslēgts no meklēšanas moderation: - title: Moderācija + title: Satura pārraudzība move_handler: carry_blocks_over_text: Šis lietotājs pārcēlās no %{acct}, kuru tu biji bloķējis. carry_mutes_over_text: Šis lietotājs pārcēlās no %{acct}, kuru tu biji apklusinājis. @@ -1498,6 +1502,7 @@ lv: update: subject: "%{name} laboja ierakstu" notifications: + administration_emails: Pārvaldītāju e-pasta paziņojumi email_events_hint: 'Atlasi notikumus, par kuriem vēlies saņemt paziņojumus:' number: human: @@ -1546,7 +1551,7 @@ lv: reach: Sasniedzamība reach_hint_html: Kontrolē, vai vēlies, lai tevi atklātu un sekotu jauni cilvēki. Vai vēlies, lai tavas ziņas tiktu parādītas ekrānā Izpēte? Vai vēlies, lai citi cilvēki tevi redzētu savos ieteikumos? Vai vēlies automātiski pieņemt visus jaunos sekotājus vai arī tev ir pilnīga kontrole pār katru? search: Meklēt - search_hint_html: Kontrolē, kā vēlies tikt atrasts. Vai vēlies, lai cilvēki tevi atrod pēc tā, ko esi publiski publicējis? Vai vēlies, lai cilvēki ārpus Mastodon atrastu tavu profilu, meklējot tīmeklī? Lūdzu, ņem vērā, ka nevar garantēt publiskas informācijas pilnīgu izslēgšanu no visām meklētājprogrammām. + search_hint_html: Nosaki, kā vēlies tikt atrasts! Vai vēlies, lai cilvēki Tevi atrod pēc tā, par ko esi veicis visiem redzamus ierakstus? Vai vēlies, lai cilvēki ārpus Mastodon atrastu Tavu profilu, meklējot tīmeklī? Lūdzu, ņem vērā, ka nevar nodrošināt visiem redzamas informācijas pilnīgu izslēgšanu no visām meklētājiem! title: Privātums un sasniedzamība privacy_policy: title: Privātuma Politika @@ -1583,8 +1588,8 @@ lv: rss: content_warning: 'Satura brīdinājums:' descriptions: - account: Publiskas ziņas no @%{acct} - tag: 'Publiskas ziņas ar atzīmi #%{hashtag}' + account: Visiem redzami ieraksti no @%{acct} + tag: 'Visiem redzami ieraksti ar tēmturi #%{hashtag}' scheduled_statuses: over_daily_limit: Tu esi pārsniedzis šodien ieplānoto %{limit} ziņu ierobežojumu over_total_limit: Tu esi pārsniedzis ieplānoto %{limit} ziņu ierobežojumu @@ -1658,7 +1663,7 @@ lv: relationships: Sekojamie un sekotāji severed_relationships: Pārtrauktās attiecības statuses_cleanup: Automātiska ziņu dzēšana - strikes: Moderācijas aizrādījumi + strikes: Satura pārraudzības aizrādījumi two_factor_authentication: Divpakāpju autentifikācija webauthn_authentication: Drošības atslēgas severed_relationships: @@ -1687,7 +1692,7 @@ lv: disallowed_hashtags: one: 'saturēja neatļautu tēmturi: %{tags}' other: 'saturēja neatļautus tēmturus: %{tags}' - zero: 'neatļauti tēmturi: %{tags}' + zero: 'saturēja neatļautus tēmturus: %{tags}' edited_at_html: Labots %{date} errors: in_reply_not_found: Šķiet, ka ziņa, uz kuru tu mēģini atbildēt, nepastāv. @@ -1705,7 +1710,7 @@ lv: public: Publisks public_long: Visi var redzēt unlisted: Nerindota - unlisted_long: Redzama visiem, bet nav iekļauta publiskajās ziņu lentās + unlisted_long: Redzams visiem, bet nav uzskaitīts visiem pieejamās laika joslās statuses_cleanup: enabled: Automātiski dzēst vecās ziņas enabled_hint: Automātiski izdzēš tavas ziņas, tiklīdz tās sasniedz noteiktu vecuma slieksni, ja vien tās neatbilst kādam no tālāk norādītajiem izņēmumiem @@ -1838,7 +1843,8 @@ lv: explanation: Šeit ir daži padomi, kā sākt darbu feature_action: Uzzināt vairāk feature_creativity: Mastodon nodrošina skaņas, video un attēlu ierakstus, pieejamības aprakstus, aptaujas, satura brīdinājumus, animētus profila attēlus, pielāgotas emocijzīmes, sīktēlu apgriešanas vadīklas un vēl, lai palīdzētu Tev sevi izpaust tiešsaistē. Vai Tu izplati savu mākslu, mūziku vai aplādes, Mastodon ir šeit ar Tevi. - feature_moderation_title: Moderēšana, kādai tai būtu jābūt + feature_moderation: Mastodon nodod lēmumu pieņemšanu atpakaļ Tavās rokās. Katrs serveris izveido savus noteikumus un nosacījumus, kas tiek nodrošināti vietēji, ne kā lieliem uzņēmumiem piederošos sabiedriskajos medijiem, padarot katru serveri par vispielāgojamāko un visatsaucīgāko dažādu cilvēku kopu vajadzībām. Pievienojies serverim, kura noteikumiem Tu piekrīti, vai izvieto savu! + feature_moderation_title: Satura pārraudzība, kādai tai būtu jābūt follow_action: Sekot follow_step: Sekošana aizraujošiem cilvēkiem ir viss, par ko ir Mastodon. follow_title: Pielāgo savu mājas barotni @@ -1849,7 +1855,7 @@ lv: one: "%{people} cilvēks pēdējās 2 dienās" other: "%{people} cilvēki pēdējās 2 dienās" zero: "%{people} cilvēku pēdējās divās dienās" - hashtags_subtitle: Izpēti, kas pēdējās divās dienāš ir piesasitījis cilvēku uzmanību + hashtags_subtitle: Izpēti, kas pēdējās divās dienās ir piesasitījis cilvēku uzmanību hashtags_title: Izplatīti tēmturi hashtags_view_more: Skatīt vairāk izplatītu tēmturu post_action: Rakstīt diff --git a/config/locales/nn.yml b/config/locales/nn.yml index e6edc2c4b2e18d..9ec4f29f42682e 100644 --- a/config/locales/nn.yml +++ b/config/locales/nn.yml @@ -1166,8 +1166,11 @@ nn: use_security_key: Bruk sikkerhetsnøkkel author_attribution: example_title: Eksempeltekst + hint_html: Skriv du nyhende eller blogginnlegg utanfor Mastodon? Her kan du kontrollera korleis du blir kreditert når artiklane dine blir delte på Mastodon. + instructions: 'Sjå til at denne koden er i HTML-koden i artikkelen din:' more_from_html: Meir frå %{name} s_blog: Bloggen til %{name} + then_instructions: Så legg du til domenenamnet for publikasjonen i feltet under. title: Forfattarkreditering challenge: confirm: Hald fram @@ -1369,6 +1372,37 @@ nn: blocking_html: one: Du skal til å byta ut blokkeringslista di med opp til %{count} brukarkonto frå %{filename}. other: Du skal til å byta ut blokkeringslista di med opp til %{count} brukarkontoar frå %{filename}. + bookmarks_html: + one: Du skal til å byta ut bokmerka dine med opp til %{count} innlegg frå %{filename}. + other: Du skal til å byta ut bokmerka dine med opp til %{count} innlegg frå %{filename}. + domain_blocking_html: + one: Du skal til å byta ut domeneblokkeringslista di med opp til %{count} domene frå %{filename}. + other: Du skal til å byta ut domeneblokkeringslista di med opp til %{count} domene frå %{filename}. + following_html: + one: Du skal til å fylgja opp til %{count} brukarkonto frå %{filename} og slutta å fylgja alle andre. + other: Du skal til å fylgja opp til %{count} brukarkontoar frå %{filename} og slutta å fylgja alle andre. + muting_html: + one: Du skal til å byta ut lista di over dempa brukarkontoar med opp til %{count} brukarkonto frå %{filename}. + other: Du skal til å byta ut lista di over dempa brukarkontoar med opp til %{count} brukarkontoar frå %{filename}. + preambles: + blocking_html: + one: Du skal til å blokkera opp til %{count} brukarkonto frå %{filename}. + other: Du skal til å blokkera opp til %{count} brukarkontoar frå %{filename}. + bookmarks_html: + one: Du er i ferd med å leggja til opp til %{count} innlegg frå %{filename} til bokmerka dine. + other: Du er i ferd med å leggja til opp til %{count} innlegg frå %{filename} til bokmerka dine. + domain_blocking_html: + one: Du skal til å blokkera opp til %{count} domene frå %{filename}. + other: Du skal til å blokkera opp til %{count} domene frå %{filename}. + following_html: + one: Du er i ferd med å fylgja opp til %{count} brukarkonto frå %{filename}. + other: Du er i ferd med å fylgja opp til %{count} brukarkontoar frå %{filename}. + lists_html: + one: Du er i ferd med å leggja til opptil %{count} konto frå %{filename} til i listene dine. Nye lister vil blir oppretta om ingen lister finst frå før. + other: Du er i ferd med å leggja til opptil %{count} kontoar frå %{filename} til i listene dine. Nye lister vil blir oppretta om ingen lister finst frå før. + muting_html: + one: Du er i ferd med å dempa opp til %{count} brukarkonto frå %{filename}. + other: Du er i ferd med å dempa opp til %{count} brukarkontoar frå %{filename}. preface: Du kan henta inn data som du har eksportert frå ein annan tenar, som t.d. ei liste over folka du fylgjer eller blokkerer. recent_imports: Siste importar states: diff --git a/config/locales/simple_form.eo.yml b/config/locales/simple_form.eo.yml index cfb5578f5dba4e..184f1120bd9d17 100644 --- a/config/locales/simple_form.eo.yml +++ b/config/locales/simple_form.eo.yml @@ -3,6 +3,7 @@ eo: simple_form: hints: account: + attribution_domains_as_text: Unu por linio. Protektas kontraŭ falsaj atribuoj. discoverable: Viaj publikaj afiŝoj kaj profilo povas esti prezentitaj aŭ rekomenditaj en diversaj lokoj de Mastodon kaj via profilo povas esti proponita al aliaj uzantoj. display_name: Via plena nomo aŭ via kromnomo. fields: Via retpaĝo, pronomoj, aĝo, ĉio, kion vi volas. @@ -138,6 +139,7 @@ eo: url: Kien eventoj sendotas labels: account: + attribution_domains_as_text: Retejoj permesitaj krediti vin discoverable: Elstarigi profilon kaj afiŝojn en eltrovantaj algoritmoj fields: name: Etikedo diff --git a/config/locales/simple_form.es-MX.yml b/config/locales/simple_form.es-MX.yml index 9d7809ef3ab3ea..2b5d22aee83210 100644 --- a/config/locales/simple_form.es-MX.yml +++ b/config/locales/simple_form.es-MX.yml @@ -3,7 +3,7 @@ es-MX: simple_form: hints: account: - attribution_domains_as_text: One per line. Protects from false attributions. + attribution_domains_as_text: Uno por línea. Protege contra atribuciones falsas. discoverable: Tu perfil y las publicaciones públicas pueden ser destacadas o recomendadas en varias áreas de Mastodon y tu perfil puede ser sugerido a otros usuarios. display_name: Tu nombre completo o tu nick. fields: Tu página de inicio, pronombres, edad, todo lo que quieras. diff --git a/config/locales/simple_form.fa.yml b/config/locales/simple_form.fa.yml index 6121467768445f..f51a4ce8bfe5f9 100644 --- a/config/locales/simple_form.fa.yml +++ b/config/locales/simple_form.fa.yml @@ -3,6 +3,7 @@ fa: simple_form: hints: account: + attribution_domains_as_text: یکی در هر خط. محافظت از اعتباردهی‌های اشتباه. discoverable: ممکن است نمایه و فرسته‌های عمومیتان در جاهای مختلف ماستودون نمایانده و توصیه شود و نمایه‌تان به دیگر کاربران پیشنهاد شود. display_name: نام کامل یا باحالتان. fields: صفحهٔ خانگی، تلفّظ، سن و هرچیزی که دوست دارید. @@ -90,6 +91,7 @@ fa: site_short_description: شرحی کوتاه برای کمک به شناسایی یکتای کارسازتان. چه‌کسی می‌گرداندش و برای چه کسیست؟ site_terms: از سیاست محرمانگی خوتان استفاده کرده یا برای استفاده از سیاست پیش‌گزیده خالی بگذارید. می‌تواند در قالب مارک‌دون باشد. site_title: چگونه مردم ممکن است به کارساز شما علاوه بر نام دامنه آن مراجعه کنند. + theme: زمینه‌ای که بینندگان خارج شده و کاربران جدید می‌بینند. form_challenge: current_password: شما در حال ورود به یک منطقهٔ‌ حفاظت‌شده هستید imports: @@ -122,6 +124,7 @@ fa: url: جایی که رویدادها فرستاده می‌شوند labels: account: + attribution_domains_as_text: پابگاه‌های وبی که اجازهٔ اعتبار دهی به شما را دارند discoverable: معرّفی نمایه و فرسته‌ها در الگوریتم‌های کشف fields: name: برچسب @@ -227,6 +230,7 @@ fa: bootstrap_timeline_accounts: پیشنهاد همیشگی این حساب‌ها به کاربران جدید closed_registrations_message: پیام سفارشی هنگام در دسترس نبودن ثبت‌نام‌ها custom_css: سبک CSS سفارشی + favicon: نمادک mascot: نشان سفارشی (قدیمی) media_cache_retention_period: دورهٔ نگه‌داری انبارهٔ رسانه peers_api_enabled: انتشار سیاههٔ کارسازهای کشف شده در API diff --git a/config/locales/simple_form.ga.yml b/config/locales/simple_form.ga.yml index 7c125b165a0cd4..f8257a9da9dd10 100644 --- a/config/locales/simple_form.ga.yml +++ b/config/locales/simple_form.ga.yml @@ -3,6 +3,7 @@ ga: simple_form: hints: account: + attribution_domains_as_text: Ceann in aghaidh an líne. Cosnaíonn sé ó sannadh bréagach. discoverable: Seans go mbeidh do phostálacha poiblí agus do phróifíl le feiceáil nó molta i réimsí éagsúla de Mastodon agus is féidir do phróifíl a mholadh d’úsáideoirí eile. display_name: D'ainm iomlán nó d'ainm spraoi. fields: Do leathanach baile, forainmneacha, aois, rud ar bith is mian leat. @@ -143,6 +144,7 @@ ga: url: An áit a seolfar imeachtaí chuig labels: account: + attribution_domains_as_text: Tá cead ag suíomhanna Gréasáin creidmheas a thabhairt duit discoverable: Próifíl gné agus postálacha in halgartaim fionnachtana fields: name: Lipéad diff --git a/config/locales/simple_form.hu.yml b/config/locales/simple_form.hu.yml index 545fd4a8e91fd0..230965fe87f8cc 100644 --- a/config/locales/simple_form.hu.yml +++ b/config/locales/simple_form.hu.yml @@ -3,6 +3,7 @@ hu: simple_form: hints: account: + attribution_domains_as_text: Megvéd a hamis forrásmegjelölésektől. discoverable: A nyilvános bejegyzéseid és a profilod kiemelhető vagy ajánlható a Mastodon különböző területein, a profilod más felhasználóknak is javasolható. display_name: Teljes neved vagy vicces neved. fields: Weboldalad, megszólításaid, korod, bármi, amit szeretnél. @@ -143,6 +144,7 @@ hu: url: Ahová az eseményket küldjük labels: account: + attribution_domains_as_text: Weboldalak, melyek szerzőként tüntethetnek fel discoverable: Profil és bejegyzések szerepeltetése a felfedezési algoritmusokban fields: name: Címke diff --git a/config/locales/simple_form.ja.yml b/config/locales/simple_form.ja.yml index 6ce16b64480153..27e98341cb8152 100644 --- a/config/locales/simple_form.ja.yml +++ b/config/locales/simple_form.ja.yml @@ -3,6 +3,7 @@ ja: simple_form: hints: account: + attribution_domains_as_text: 1行につき1つずつ入力してください。この設定は関わりのないwebサイトに対して虚偽の帰属表示が行われることを防止する役割があります。 discoverable: プロフィールと公開投稿をMastodonのおすすめやハイライトとしてほかのユーザーに表示することを許可します。 display_name: フルネーム、ハンドルネームなど fields: ホームページ、代名詞、年齢など何でも構いません。 @@ -143,6 +144,7 @@ ja: url: イベントの送信先 labels: account: + attribution_domains_as_text: あなたの著者表示を許可するwebサイト discoverable: アカウントを見つけやすくする fields: name: ラベル diff --git a/config/locales/simple_form.ko.yml b/config/locales/simple_form.ko.yml index fee07fa5e0ff66..c40814d61b1593 100644 --- a/config/locales/simple_form.ko.yml +++ b/config/locales/simple_form.ko.yml @@ -3,6 +3,7 @@ ko: simple_form: hints: account: + attribution_domains_as_text: 한 줄에 하나씩. 가짜 기여로부터 보호합니다. discoverable: 내 공개 게시물과 프로필이 마스토돈의 다양한 추천 기능에 나타날 수 있고 프로필이 다른 사용자에게 제안될 수 있습니다 display_name: 진짜 이름 또는 재미난 이름. fields: 홈페이지, 호칭, 나이, 뭐든지 적고 싶은 것들. @@ -143,6 +144,7 @@ ko: url: 이벤트가 어디로 전송될 지 labels: account: + attribution_domains_as_text: 나를 기여자로 올릴 수 있도록 허용된 웹사이트들 discoverable: 발견하기 알고리즘에 프로필과 게시물을 추천하기 fields: name: 라벨 diff --git a/config/locales/simple_form.lv.yml b/config/locales/simple_form.lv.yml index 4303ba9b41458a..974008b5ebc5e9 100644 --- a/config/locales/simple_form.lv.yml +++ b/config/locales/simple_form.lv.yml @@ -3,6 +3,7 @@ lv: simple_form: hints: account: + attribution_domains_as_text: Viens katrā līnijā. Aizsargā no nepatiesa attiecinājuma. discoverable: Tavas publiskās ziņas un profils var tikt piedāvāti vai ieteikti dažādās Mastodon vietās, un tavs profils var tikt ieteikts citiem lietotājiem. display_name: Tavs pilnais vārds vai tavs joku vārds. fields: Tava mājas lapa, vietniekvārdi, vecums, viss, ko vēlies. @@ -18,7 +19,7 @@ lv: text: Vari izmantot ziņu sintaksi, piemēram, URL, atsauces un pieminējumus title: Neobligāts. Saņēmējam nav redzams admin_account_action: - include_statuses: Lietotājs redzēs, kuras ziņas izraisījušas moderācijas darbību vai brīdinājumu + include_statuses: Lietotājs redzēs, kuras ziņas izraisījušas satura pārraudzības darbību vai brīdinājumu send_email_notification: Lietotājs saņems paskaidrojumu par to, kas notika ar viņa kontu text_html: Neobligāts. Tu vari lietot ziņu sintaksi. Lai ietaupītu laiku, tu vari pievienot brīdinājuma sākotnējos iestatījumus type_html: Izvēlies, ko darīt ar %{acct} @@ -143,6 +144,7 @@ lv: url: Kur notikumi tiks nosūtīti labels: account: + attribution_domains_as_text: Tīmekļvietnes, kurām ir tiesības uzskaitīt Tevi discoverable: Funkcijas profils un ziņas atklāšanas algoritmos fields: name: Marķējums diff --git a/config/locales/simple_form.nl.yml b/config/locales/simple_form.nl.yml index afd3624785a5aa..7280ba6d801626 100644 --- a/config/locales/simple_form.nl.yml +++ b/config/locales/simple_form.nl.yml @@ -213,7 +213,7 @@ nl: setting_default_privacy: Zichtbaarheid van nieuwe berichten setting_default_sensitive: Media altijd als gevoelig markeren setting_delete_modal: Vraag voor het verwijderen van een bericht een bevestiging - setting_disable_hover_cards: Profielvoorbeelden door eroverheen te zweven uitschakelen + setting_disable_hover_cards: Hover-kaarten met profielvoorbeelden uitschakelen setting_disable_swiping: Swipebewegingen uitschakelen setting_display_media: Mediaweergave setting_display_media_default: Standaard diff --git a/config/locales/simple_form.nn.yml b/config/locales/simple_form.nn.yml index f963d3bc72d196..46b7af4bdb08d8 100644 --- a/config/locales/simple_form.nn.yml +++ b/config/locales/simple_form.nn.yml @@ -3,6 +3,7 @@ nn: simple_form: hints: account: + attribution_domains_as_text: Ein per line. Vernar mot falske krediteringar. discoverable: Dei offentlege innlegga dine og profilen din kan dukka opp i tilrådingar på ulike stader på Mastodon, og profilen din kan bli føreslegen for andre folk. display_name: Ditt fulle namn eller ditt tøysenamn. fields: Heimesida di, pronomen, alder, eller kva du måtte ynskje. @@ -143,6 +144,7 @@ nn: url: Kvar hendingar skal sendast labels: account: + attribution_domains_as_text: Nettstader som har lov å kreditera deg discoverable: Ta med profilen og innlegga i oppdagingsalgoritmar fields: name: Merkelapp diff --git a/config/locales/simple_form.sq.yml b/config/locales/simple_form.sq.yml index 3d865572824706..1ca9037e63464c 100644 --- a/config/locales/simple_form.sq.yml +++ b/config/locales/simple_form.sq.yml @@ -3,6 +3,7 @@ sq: simple_form: hints: account: + attribution_domains_as_text: Një për rresht. Kjo mbron nga atribuime të rreme. discoverable: Postimet dhe profili juaj publik mund të shfaqen, ose rekomandohen në zona të ndryshme të Mastodon-it dhe profili juaj mund të sugjerohet përdoruesve të tjerë. display_name: Emri juaj i plotë, ose emri juaj lojcak. fields: Faqja juaj hyrëse, përemra, moshë, ç’të keni qejf. @@ -143,6 +144,7 @@ sq: url: Ku do të dërgohen aktet labels: account: + attribution_domains_as_text: Sajte të lejuar t’ju japin hakë discoverable: Profilin dhe postimet bëji objekt të algoritmeve të zbulimit fields: name: Etiketë diff --git a/config/locales/simple_form.sv.yml b/config/locales/simple_form.sv.yml index 297e96a2bdf125..36d1def01244d4 100644 --- a/config/locales/simple_form.sv.yml +++ b/config/locales/simple_form.sv.yml @@ -3,6 +3,7 @@ sv: simple_form: hints: account: + attribution_domains_as_text: En per rad. Skyddar mot falska attributioner. discoverable: Dina offentliga inlägg och din profil kan komma att presenteras eller rekommenderas inom olika områden av Mastodon och din profil kan komma att föreslås till andra användare. display_name: Ditt fullständiga namn eller ditt roliga namn. fields: Din hemsida, ditt pronomen, din ålder, vadhelst du vill. @@ -143,6 +144,7 @@ sv: url: Dit händelser kommer skickas labels: account: + attribution_domains_as_text: Webbplatser som får kreditera dig discoverable: Presentera profil och inlägg med upptäcktsalgoritmer fields: name: Etikett diff --git a/config/locales/simple_form.th.yml b/config/locales/simple_form.th.yml index 8bd782c1405d32..f8f4d3f11947cf 100644 --- a/config/locales/simple_form.th.yml +++ b/config/locales/simple_form.th.yml @@ -3,6 +3,7 @@ th: simple_form: hints: account: + attribution_domains_as_text: หนึ่งรายการต่อบรรทัด ปกป้องจากการระบุแหล่งที่มาที่ผิด discoverable: อาจแสดงหรือแนะนำโพสต์และโปรไฟล์สาธารณะของคุณในพื้นที่ต่าง ๆ ของ Mastodon และอาจเสนอแนะโปรไฟล์ของคุณให้กับผู้ใช้อื่น ๆ display_name: ชื่อเต็มของคุณหรือชื่อแบบสนุกสนานของคุณ fields: หน้าแรก, สรรพนาม, อายุของคุณ สิ่งใดก็ตามที่คุณต้องการ @@ -143,6 +144,7 @@ th: url: ที่ซึ่งจะส่งเหตุการณ์ไปยัง labels: account: + attribution_domains_as_text: เว็บไซต์ที่ได้รับอนุญาตให้ให้เครดิตคุณ discoverable: แสดงโปรไฟล์และโพสต์ในอัลกอริทึมการค้นพบ fields: name: ป้ายชื่อ diff --git a/config/locales/simple_form.uk.yml b/config/locales/simple_form.uk.yml index e2a1562b53499e..74dcd3f9087589 100644 --- a/config/locales/simple_form.uk.yml +++ b/config/locales/simple_form.uk.yml @@ -3,6 +3,7 @@ uk: simple_form: hints: account: + attribution_domains_as_text: Один на рядок. Захищає від фальшивих атрибутів. discoverable: Ваші дописи та профіль можуть бути рекомендовані в різних частинах Mastodon і ваш профіль може бути запропонований іншим користувачам. display_name: Ваше повне ім'я або ваш псевдонім. fields: Ваша домашня сторінка, займенники, вік, все, що вам заманеться. @@ -143,6 +144,7 @@ uk: url: Куди надсилатимуться події labels: account: + attribution_domains_as_text: Сайти дозволяють вам вказувати ваше авторство discoverable: Функції профілю та дописів у алгоритмах виявлення fields: name: Мітка diff --git a/config/locales/sk.yml b/config/locales/sk.yml index 399ecc061af0db..6ef78a8f211407 100644 --- a/config/locales/sk.yml +++ b/config/locales/sk.yml @@ -49,6 +49,7 @@ sk: title: Zmeň email pre %{username} change_role: changed_msg: Postavenie úspešne zmenené! + edit_roles: Spravuj role užívateľov label: Zmeň pozíciu no_role: Žiadna pozícia title: Zmeň pozíciu pre %{username} @@ -61,6 +62,7 @@ sk: demote: Degraduj destroyed_msg: "%{username} je teraz zaradený do fronty na okamžité vymazanie" disable: Zablokuj + disable_sign_in_token_auth: Vypni overovanie e-mailovým tokenom disable_two_factor_authentication: Vypni dvoj-faktorové overovanie disabled: Blokovaný display_name: Ukáž meno @@ -69,6 +71,7 @@ sk: email: Email email_status: Stav emailu enable: Povoľ + enable_sign_in_token_auth: Povoľ overovania e-mailovým tokenom enabled: Povolený enabled_msg: Úspešne rozmrazené konto %{username} followers: Sledujúci @@ -822,6 +825,7 @@ sk: prefix_invited_by_user: "@%{name} ťa pozýva na tento Mastodon server!" prefix_sign_up: Zaregistruj sa na Mastodone už dnes! suffix: S účtom budeš môcť nasledovať ľudí, posielať príspevky, a vymieňať si správy s užívateľmi z hocijakého Mastodon servera a viac! + didnt_get_confirmation: Neobdržal/a si odkaz na potvrdenie? dont_have_your_security_key: Nemáš svoj bezpečnostný kľúč? forgot_password: Zabudnuté heslo? invalid_reset_password_token: Token na obnovu hesla vypršal. Prosím vypítaj si nový. @@ -832,6 +836,7 @@ sk: migrate_account_html: Ak si želáš presmerovať tento účet na nejaký iný, môžeš si to nastaviť tu. or_log_in_with: Alebo prihlás s progress: + confirm: Potvrď email details: Tvoje údaje rules: Súhlas s pravidlami register: Zaregistruj sa diff --git a/config/locales/sq.yml b/config/locales/sq.yml index c113308eea9b70..980eff1aa58eac 100644 --- a/config/locales/sq.yml +++ b/config/locales/sq.yml @@ -1159,8 +1159,11 @@ sq: use_security_key: Përdor kyç sigurie author_attribution: example_title: Tekst shembull + hint_html: Shkruani lajme, apo artikuj blogu jashtë Mastodon-it? Kontrolloni se si ju jepet hakë, kur ndahen me të tjerët në Mastodon. + instructions: 'Sigurohuni që ky kod të jetë në HTML-në e artikullit tuaj:' more_from_html: Më tepër nga %{name} s_blog: Blogu i %{name} + then_instructions: Mandej, shtoni te fusha më poshtë emrin e përkatësisë së botimit. title: Atribuim autorësh challenge: confirm: Vazhdo diff --git a/config/locales/sv.yml b/config/locales/sv.yml index b79820310c76ac..f3ce6443f6d65b 100644 --- a/config/locales/sv.yml +++ b/config/locales/sv.yml @@ -542,7 +542,7 @@ sv: total_followed_by_them: Följs av dem total_followed_by_us: Följs av oss total_reported: Rapporter om dem - total_storage: Media-bilagor + total_storage: Mediebilagor totals_time_period_hint_html: Totalsummorna som visas nedan inkluderar data för all tid. unknown_instance: Det finns för närvarande inga uppgifter om denna domän på denna server. invites: @@ -893,6 +893,7 @@ sv: message_html: "Din objektlagring är felkonfigurerad. Sekretessen för dina användare är i riskzonen." tags: moderation: + not_trendable: Kan inte trenda not_usable: Inte användbar pending_review: Väntar på granskning review_requested: Granskning begärd @@ -904,6 +905,7 @@ sv: name: Namn newest: Nyaste oldest: Äldsta + open: Visa offentligt reset: Återställ review: Granskningsstatus search: Sök @@ -1164,8 +1166,11 @@ sv: use_security_key: Använd säkerhetsnyckel author_attribution: example_title: Exempeltext + hint_html: Skriver du nyheter eller bloggartiklar utanför Mastodon? Kontrollera hur du får krediteras när de delas på Mastodon. + instructions: 'Se till att den här koden finns i din artikels HTML:' more_from_html: Mer från %{name} s_blog: "%{name}s blogg" + then_instructions: Lägg sedan till domännamnet för publikationen i fältet nedan. title: Författarattribution challenge: confirm: Fortsätt @@ -1364,9 +1369,43 @@ sv: overwrite: Skriv över overwrite_long: Ersätt de nuvarande uppgifterna med de nya overwrite_preambles: + blocking_html: + one: Du är på väg att ersätta din blockeringslista med upp till %{count} konto från %{filename}. + other: Du är på väg att ersätta din blockeringslista med upp till %{count} konton från %{filename}. bookmarks_html: one: Du är på väg att ersätta din blockeringslista med upp till %{count} inlägg från %{filename}. other: Du är på väg att ersätta din blockeringslista med upp till %{count} inlägg från %{filename}. + domain_blocking_html: + one: Du är på väg att ersätta din blockeringslista med upp till %{count} domän från %{filename}. + other: Du är på väg att ersätta din blockeringslista med upp till %{count} domäner från %{filename}. + following_html: + one: Du är på väg till följ upp till %{count} konto från %{filename} och sluta följa någon annan. + other: Du är på väg till följ upp till %{count} konton från %{filename} och sluta följa någon annan. + lists_html: + one: Du är på väg att ersätta dina listor med innehållet i %{filename}. Upp till %{count} konto kommer att läggas till i nya listor. + other: Du är på väg att ersätta dina listor med innehållet i %{filename}. Upp till %{count} konton kommer att läggas till i nya listor. + muting_html: + one: Du är på väg att ersätta din lista med tystade konton med upp till %{count} konto från %{filename}. + other: Du är på väg att ersätta din lista med tystade konton med upp till %{count} konton från %{filename}. + preambles: + blocking_html: + one: Du är på väg att blockera med upp till %{count} konto från %{filename}. + other: Du är på väg att blockera med upp till %{count} konton från %{filename}. + bookmarks_html: + one: Du håller på att lägga upp till %{count} inlägg från %{filename} till dina bokmärken. + other: Du håller på att lägga upp till %{count} inlägg från %{filename} till dina bokmärken. + domain_blocking_html: + one: Du är på väg att blockera upp till %{count} domän från %{filename}. + other: Du är på väg att blockera upp till %{count} domäner från %{filename}. + following_html: + one: Du är på väg att följa upp till %{count} konto från %{filename}. + other: Du är på väg att följa upp till %{count} konton från %{filename}. + lists_html: + one: Du håller på att lägga upp till %{count} konto från %{filename} till dina listor. Nya listor kommer att skapas om det inte finns någon lista att lägga till. + other: Du håller på att lägga upp till %{count} konton från %{filename} till dina listor. Nya listor kommer att skapas om det inte finns någon lista att lägga till. + muting_html: + one: Du är på väg att tysta upp till %{count} konto från %{filename}. + other: Du är på väg att tysta upp till %{count} konton från %{filename}. preface: Du kan importera data som du exporterat från en annan instans, till exempel en lista över personer du följer eller blockerar. recent_imports: Nyligen importerade states: diff --git a/config/locales/th.yml b/config/locales/th.yml index 2c21687a460bd0..cdc56d98ce0f17 100644 --- a/config/locales/th.yml +++ b/config/locales/th.yml @@ -1148,8 +1148,11 @@ th: use_security_key: ใช้กุญแจความปลอดภัย author_attribution: example_title: ข้อความตัวอย่าง + hint_html: คุณเขียนข่าวหรือลงบทความที่อื่นๆที่นอกจาก Mastodon บ้างไหม? ถ้าหากคุณเขียนอยู่ล่ะก็ คุณสามารถบอกได้นะว่าอยากให้คนอื่นให้เครดิตคุณยังไงเวลาแชร์ไปที่ Mastodon นะ + instructions: 'โปรดตรวจสอบให้แน่ใจว่าโค้ดนี้ได้มีอยู่ในบทความของคุณแล้ว HTML:' more_from_html: เพิ่มเติมจาก %{name} s_blog: บล็อกของ %{name} + then_instructions: จากนั้น ให้เพิ่มใส่ชื่อเว็บไซต์ของสิ่งพิมพ์ลงไปในช่องว่างข้างล่าง title: การระบุแหล่งที่มาผู้สร้าง challenge: confirm: ดำเนินการต่อ @@ -1340,6 +1343,32 @@ th: merge_long: เก็บระเบียนที่มีอยู่และเพิ่มระเบียนใหม่ overwrite: เขียนทับ overwrite_long: แทนที่ระเบียนปัจจุบันด้วยระเบียนใหม่ + overwrite_preambles: + blocking_html: + other: คุณกำลังจะ แทนที่รายการการปิดกั้นของคุณ ด้วยมากถึง %{count} บัญชี จาก %{filename} + bookmarks_html: + other: คุณกำลังจะ แทนที่ที่คั่นหน้าของคุณ ด้วยมากถึง %{count} โพสต์ จาก %{filename} + domain_blocking_html: + other: คุณกำลังจะ แทนที่รายการการปิดกั้นโดเมนของคุณ ด้วยมากถึง %{count} โดเมน จาก %{filename} + following_html: + other: คุณกำลังจะ ติดตาม มากถึง %{count} บัญชี จาก %{filename} และ หยุดการติดตามคนอื่นใด + lists_html: + other: คุณกำลังจะ แทนที่รายการของคุณ ด้วยเนื้อหาของ %{filename} จะเพิ่มมากถึง %{count} บัญชี ไปยังรายการใหม่ + muting_html: + other: คุณกำลังจะ แทนที่รายการบัญชีที่ซ่อนอยู่ของคุณ ด้วยมากถึง %{count} บัญชี จาก %{filename} + preambles: + blocking_html: + other: คุณกำลังจะ ปิดกั้น มากถึง %{count} บัญชี จาก %{filename} + bookmarks_html: + other: คุณกำลังจะเพิ่มมากถึง %{count} โพสต์ จาก %{filename} ไปยัง ที่คั่นหน้า ของคุณ + domain_blocking_html: + other: คุณกำลังจะ ปิดกั้น มากถึง %{count} โดเมน จาก %{filename} + following_html: + other: คุณกำลังจะ ติดตาม มากถึง %{count} บัญชี จาก %{filename} + lists_html: + other: คุณกำลังจะเพิ่มมากถึง %{count} บัญชี จาก %{filename} ไปยัง รายการ ของคุณ จะสร้างรายการใหม่หากไม่มีรายการที่จะเพิ่มไปยัง + muting_html: + other: คุณกำลังจะ ซ่อน มากถึง %{count} บัญชี จาก %{filename} preface: คุณสามารถนำเข้าข้อมูลที่คุณได้ส่งออกจากเซิร์ฟเวอร์อื่น เช่น รายการผู้คนที่คุณกำลังติดตามหรือกำลังปิดกั้น recent_imports: การนำเข้าล่าสุด states: diff --git a/config/locales/uk.yml b/config/locales/uk.yml index ab50ac4deea134..e6a765267fde81 100644 --- a/config/locales/uk.yml +++ b/config/locales/uk.yml @@ -1202,6 +1202,8 @@ uk: use_security_key: Використовувати ключ безпеки author_attribution: example_title: Зразок тексту + hint_html: Ви пишете новини чи статті в блозі за межами Mastodon? Контролюйте, як вони підписуються, коли ними діляться на Mastodon. + instructions: 'Переконайтесь, що цей код розміщено в HTML-коді вашої статті:' more_from_html: Більше від %{name} s_blog: Блог %{name} then_instructions: Потім додайте доменне ім'я публікації у поле нижче. diff --git a/config/locales/vi.yml b/config/locales/vi.yml index 00431ba4250662..172ce55a3d4a44 100644 --- a/config/locales/vi.yml +++ b/config/locales/vi.yml @@ -832,8 +832,8 @@ vi: sensitive: "%{name} đã đánh dấu %{target} là nhạy cảm" silence: "%{name} đã ẩn %{target}" suspend: "%{name} đã vô hiệu hóa %{target}" - appeal_approved: Đã khiếu nại - appeal_pending: Đang kháng cáo + appeal_approved: Khiếu nại được chấp nhận + appeal_pending: Đang khiếu nại appeal_rejected: Khiếu nại bị từ chối system_checks: database_schema_check: @@ -1148,7 +1148,7 @@ vi: use_security_key: Dùng khóa bảo mật author_attribution: example_title: Văn bản mẫu - hint_html: Bạn là nhà báo hoặc blogger bên ngoài Mastodon? Kiểm soát cách bạn được ghi nhận khi chúng được chia sẻ trên Mastodon. + hint_html: Bạn là nhà báo hoặc blogger bên ngoài Mastodon? Kiểm soát cách bài viết của bạn được ghi nhận khi chia sẻ trên Mastodon. instructions: 'Đặt mã này trong HTML bài viết:' more_from_html: Viết bởi %{name} s_blog: "%{name}'s Blog" From dc0b1948beea5eed657bc32a3a7deaab0d41c693 Mon Sep 17 00:00:00 2001 From: Emelia Smith Date: Mon, 28 Oct 2024 14:27:37 +0100 Subject: [PATCH 078/357] Feat: Implement interaction modal for Polls (#32609) --- app/javascript/mastodon/components/poll.jsx | 12 +++++++++--- .../mastodon/components/status_content.jsx | 2 +- app/javascript/mastodon/containers/poll_container.js | 12 ++++++++++++ .../mastodon/features/interaction_modal/index.jsx | 8 +++++++- app/javascript/mastodon/locales/en.json | 2 ++ 5 files changed, 31 insertions(+), 5 deletions(-) diff --git a/app/javascript/mastodon/components/poll.jsx b/app/javascript/mastodon/components/poll.jsx index 7b836f00b1abab..06b09f5b3520e9 100644 --- a/app/javascript/mastodon/components/poll.jsx +++ b/app/javascript/mastodon/components/poll.jsx @@ -41,12 +41,14 @@ const makeEmojiMap = record => record.get('emojis').reduce((obj, emoji) => { class Poll extends ImmutablePureComponent { static propTypes = { identity: identityContextPropShape, - poll: ImmutablePropTypes.map, + poll: ImmutablePropTypes.map.isRequired, + status: ImmutablePropTypes.map.isRequired, lang: PropTypes.string, intl: PropTypes.object.isRequired, disabled: PropTypes.bool, refresh: PropTypes.func, onVote: PropTypes.func, + onInteractionModal: PropTypes.func, }; state = { @@ -117,7 +119,11 @@ class Poll extends ImmutablePureComponent { return; } - this.props.onVote(Object.keys(this.state.selected)); + if (this.props.identity.signedIn) { + this.props.onVote(Object.keys(this.state.selected)); + } else { + this.props.onInteractionModal('vote', this.props.status); + } }; handleRefresh = () => { @@ -232,7 +238,7 @@ class Poll extends ImmutablePureComponent {

- {!showResults && } + {!showResults && } {!showResults && <> · } {showResults && !this.props.disabled && <> · } {votesCount} diff --git a/app/javascript/mastodon/components/status_content.jsx b/app/javascript/mastodon/components/status_content.jsx index 3316be8350603c..4950c896f97e7e 100644 --- a/app/javascript/mastodon/components/status_content.jsx +++ b/app/javascript/mastodon/components/status_content.jsx @@ -245,7 +245,7 @@ class StatusContent extends PureComponent { ); const poll = !!status.get('poll') && ( - + ); if (this.props.onClick) { diff --git a/app/javascript/mastodon/containers/poll_container.js b/app/javascript/mastodon/containers/poll_container.js index 8482345431673f..db378cba7c2b6a 100644 --- a/app/javascript/mastodon/containers/poll_container.js +++ b/app/javascript/mastodon/containers/poll_container.js @@ -2,6 +2,7 @@ import { connect } from 'react-redux'; import { debounce } from 'lodash'; +import { openModal } from 'mastodon/actions/modal'; import { fetchPoll, vote } from 'mastodon/actions/polls'; import Poll from 'mastodon/components/poll'; @@ -17,6 +18,17 @@ const mapDispatchToProps = (dispatch, { pollId }) => ({ onVote (choices) { dispatch(vote(pollId, choices)); }, + + onInteractionModal (type, status) { + dispatch(openModal({ + modalType: 'INTERACTION', + modalProps: { + type, + accountId: status.getIn(['account', 'id']), + url: status.get('uri'), + }, + })); + } }); const mapStateToProps = (state, { pollId }) => ({ diff --git a/app/javascript/mastodon/features/interaction_modal/index.jsx b/app/javascript/mastodon/features/interaction_modal/index.jsx index 723e27ae1c7857..446cc2586a03a2 100644 --- a/app/javascript/mastodon/features/interaction_modal/index.jsx +++ b/app/javascript/mastodon/features/interaction_modal/index.jsx @@ -9,6 +9,7 @@ import { connect } from 'react-redux'; import { throttle, escapeRegExp } from 'lodash'; +import InsertChartIcon from '@/material-icons/400-24px/insert_chart.svg?react'; import PersonAddIcon from '@/material-icons/400-24px/person_add.svg?react'; import RepeatIcon from '@/material-icons/400-24px/repeat.svg?react'; import ReplyIcon from '@/material-icons/400-24px/reply.svg?react'; @@ -340,7 +341,7 @@ class InteractionModal extends React.PureComponent { static propTypes = { displayNameHtml: PropTypes.string, url: PropTypes.string, - type: PropTypes.oneOf(['reply', 'reblog', 'favourite', 'follow']), + type: PropTypes.oneOf(['reply', 'reblog', 'favourite', 'follow', 'vote']), onSignupClick: PropTypes.func.isRequired, signupUrl: PropTypes.string.isRequired, }; @@ -377,6 +378,11 @@ class InteractionModal extends React.PureComponent { title = ; actionDescription = ; break; + case 'vote': + icon = ; + title = ; + actionDescription = ; + break; } let signupButton; diff --git a/app/javascript/mastodon/locales/en.json b/app/javascript/mastodon/locales/en.json index f2d37e67a60c43..e91d6e52fce60d 100644 --- a/app/javascript/mastodon/locales/en.json +++ b/app/javascript/mastodon/locales/en.json @@ -386,6 +386,7 @@ "interaction_modal.description.follow": "With an account on Mastodon, you can follow {name} to receive their posts in your home feed.", "interaction_modal.description.reblog": "With an account on Mastodon, you can boost this post to share it with your own followers.", "interaction_modal.description.reply": "With an account on Mastodon, you can respond to this post.", + "interaction_modal.description.vote": "With an account on Mastodon, you can vote in this poll.", "interaction_modal.login.action": "Take me home", "interaction_modal.login.prompt": "Domain of your home server, e.g. mastodon.social", "interaction_modal.no_account_yet": "Not on Mastodon?", @@ -397,6 +398,7 @@ "interaction_modal.title.follow": "Follow {name}", "interaction_modal.title.reblog": "Boost {name}'s post", "interaction_modal.title.reply": "Reply to {name}'s post", + "interaction_modal.title.vote": "Vote in {name}'s poll", "intervals.full.days": "{number, plural, one {# day} other {# days}}", "intervals.full.hours": "{number, plural, one {# hour} other {# hours}}", "intervals.full.minutes": "{number, plural, one {# minute} other {# minutes}}", From b1d3c645255db900de0a7ed3b1bd1e033c21cae8 Mon Sep 17 00:00:00 2001 From: Hugo Gameiro Date: Mon, 28 Oct 2024 13:32:56 +0000 Subject: [PATCH 079/357] Fix and improve batch attachment deletion handling when using OpenStack Swift (#32637) --- app/lib/attachment_batch.rb | 16 ++++++++++++++-- 1 file changed, 14 insertions(+), 2 deletions(-) diff --git a/app/lib/attachment_batch.rb b/app/lib/attachment_batch.rb index 32ccb0b13c1fb1..374abfac49038d 100644 --- a/app/lib/attachment_batch.rb +++ b/app/lib/attachment_batch.rb @@ -77,10 +77,22 @@ def remove_files when :fog logger.debug { "Deleting #{attachment.path(style)}" } + retries = 0 begin attachment.send(:directory).files.new(key: attachment.path(style)).destroy - rescue Fog::Storage::OpenStack::NotFound - # Ignore failure to delete a file that has already been deleted + rescue Fog::OpenStack::Storage::NotFound + logger.debug "Will ignore because file is not found #{attachment.path(style)}" + rescue => e + retries += 1 + + if retries < MAX_RETRY + logger.debug "Retry #{retries}/#{MAX_RETRY} after #{e.message}" + sleep 2**retries + retry + else + logger.error "Batch deletion from fog failed after #{e.message}" + raise e + end end when :azure logger.debug { "Deleting #{attachment.path(style)}" } From 6f5eb22135d24c6e9669989a89c643fe343173bf Mon Sep 17 00:00:00 2001 From: Matt Jankowski Date: Mon, 28 Oct 2024 09:41:56 -0400 Subject: [PATCH 080/357] Mailer header partial access cleanup (#32585) --- app/views/application/mailer/_heading.html.haml | 12 ++++++------ app/views/notification_mailer/favourite.html.haml | 5 ++++- app/views/notification_mailer/follow.html.haml | 5 ++++- .../notification_mailer/follow_request.html.haml | 5 ++++- app/views/notification_mailer/mention.html.haml | 5 ++++- app/views/notification_mailer/reblog.html.haml | 5 ++++- app/views/user_mailer/appeal_approved.html.haml | 5 ++++- app/views/user_mailer/appeal_rejected.html.haml | 5 ++++- app/views/user_mailer/backup_ready.html.haml | 5 ++++- .../user_mailer/confirmation_instructions.html.haml | 4 +++- app/views/user_mailer/email_changed.html.haml | 5 ++++- app/views/user_mailer/failed_2fa.html.haml | 5 ++++- app/views/user_mailer/password_change.html.haml | 5 ++++- .../reconfirmation_instructions.html.haml | 4 +++- .../reset_password_instructions.html.haml | 5 ++++- app/views/user_mailer/suspicious_sign_in.html.haml | 5 ++++- app/views/user_mailer/two_factor_disabled.html.haml | 5 ++++- app/views/user_mailer/two_factor_enabled.html.haml | 5 ++++- .../two_factor_recovery_codes_changed.html.haml | 5 ++++- app/views/user_mailer/warning.html.haml | 4 +++- .../user_mailer/webauthn_credential_added.html.haml | 5 ++++- .../webauthn_credential_deleted.html.haml | 5 ++++- app/views/user_mailer/webauthn_disabled.html.haml | 5 ++++- app/views/user_mailer/webauthn_enabled.html.haml | 5 ++++- app/views/user_mailer/welcome.html.haml | 4 +++- 25 files changed, 98 insertions(+), 30 deletions(-) diff --git a/app/views/application/mailer/_heading.html.haml b/app/views/application/mailer/_heading.html.haml index 9fc5dc7471b5e4..8b1f3f9ffc9659 100644 --- a/app/views/application/mailer/_heading.html.haml +++ b/app/views/application/mailer/_heading.html.haml @@ -1,13 +1,13 @@ +-# locals: (title:, image_url: nil, subtitle: nil) %table.email-w-full.email-header-heading-table{ cellspacing: 0, cellpadding: 0, border: 0, role: 'presentation' } %tr %td.email-header-heading-td %table.email-w-full{ cellspacing: 0, cellpadding: 0, border: 0, role: 'presentation' } %tr - - if defined?(heading_image_url) + - if image_url %td.email-header-heading-img-td - = image_tag heading_image_url, alt: '', width: 56, height: 56 + = image_tag image_url, alt: '', width: 56, height: 56 %td.email-header-heading-txt-td - - if defined?(heading_title) - %h1= heading_title - - if defined?(heading_subtitle) - %p= heading_subtitle + %h1= title + - if subtitle + %p= subtitle diff --git a/app/views/notification_mailer/favourite.html.haml b/app/views/notification_mailer/favourite.html.haml index 62c0a39abe14f0..ec2a048ba7f97d 100644 --- a/app/views/notification_mailer/favourite.html.haml +++ b/app/views/notification_mailer/favourite.html.haml @@ -1,5 +1,8 @@ = content_for :heading do - = render 'application/mailer/heading', heading_title: t('notification_mailer.favourite.title'), heading_subtitle: t('notification_mailer.favourite.body', name: @account.pretty_acct), heading_image_url: frontend_asset_url('images/mailer-new/heading/favorite.png') + = render 'application/mailer/heading', + image_url: frontend_asset_url('images/mailer-new/heading/favorite.png'), + subtitle: t('notification_mailer.favourite.body', name: @account.pretty_acct), + title: t('notification_mailer.favourite.title') %table.email-w-full{ cellspacing: 0, cellpadding: 0, border: 0, role: 'presentation' } %tr %td.email-body-padding-td diff --git a/app/views/notification_mailer/follow.html.haml b/app/views/notification_mailer/follow.html.haml index 8247aa5b448d21..4e23f7fae71b38 100644 --- a/app/views/notification_mailer/follow.html.haml +++ b/app/views/notification_mailer/follow.html.haml @@ -1,5 +1,8 @@ = content_for :heading do - = render 'application/mailer/heading', heading_title: t('notification_mailer.follow.title'), heading_subtitle: t('notification_mailer.follow.body', name: @account.pretty_acct), heading_image_url: frontend_asset_url('images/mailer-new/heading/user.png') + = render 'application/mailer/heading', + image_url: frontend_asset_url('images/mailer-new/heading/user.png'), + subtitle: t('notification_mailer.follow.body', name: @account.pretty_acct), + title: t('notification_mailer.follow.title') %table.email-w-full{ cellspacing: 0, cellpadding: 0, border: 0, role: 'presentation' } %tr %td.email-body-padding-td diff --git a/app/views/notification_mailer/follow_request.html.haml b/app/views/notification_mailer/follow_request.html.haml index 9344ef7eb38031..13a5cf87e8ef84 100644 --- a/app/views/notification_mailer/follow_request.html.haml +++ b/app/views/notification_mailer/follow_request.html.haml @@ -1,5 +1,8 @@ = content_for :heading do - = render 'application/mailer/heading', heading_title: t('notification_mailer.follow_request.title'), heading_subtitle: t('notification_mailer.follow_request.body', name: @account.pretty_acct), heading_image_url: frontend_asset_url('images/mailer-new/heading/follow.png') + = render 'application/mailer/heading', + image_url: frontend_asset_url('images/mailer-new/heading/follow.png'), + subtitle: t('notification_mailer.follow_request.body', name: @account.pretty_acct), + title: t('notification_mailer.follow_request.title') %table.email-w-full{ cellspacing: 0, cellpadding: 0, border: 0, role: 'presentation' } %tr %td.email-body-padding-td diff --git a/app/views/notification_mailer/mention.html.haml b/app/views/notification_mailer/mention.html.haml index 83fa5086a6b252..419d0b76eaa018 100644 --- a/app/views/notification_mailer/mention.html.haml +++ b/app/views/notification_mailer/mention.html.haml @@ -1,5 +1,8 @@ = content_for :heading do - = render 'application/mailer/heading', heading_title: t('notification_mailer.mention.title'), heading_subtitle: t('notification_mailer.mention.body', name: @status.account.pretty_acct), heading_image_url: frontend_asset_url('images/mailer-new/heading/mention.png') + = render 'application/mailer/heading', + image_url: frontend_asset_url('images/mailer-new/heading/mention.png'), + subtitle: t('notification_mailer.mention.body', name: @status.account.pretty_acct), + title: t('notification_mailer.mention.title') %table.email-w-full{ cellspacing: 0, cellpadding: 0, border: 0, role: 'presentation' } %tr %td.email-body-padding-td diff --git a/app/views/notification_mailer/reblog.html.haml b/app/views/notification_mailer/reblog.html.haml index f91c678cf535f2..f097211bc5aa70 100644 --- a/app/views/notification_mailer/reblog.html.haml +++ b/app/views/notification_mailer/reblog.html.haml @@ -1,5 +1,8 @@ = content_for :heading do - = render 'application/mailer/heading', heading_title: t('notification_mailer.reblog.title'), heading_subtitle: t('notification_mailer.reblog.body', name: @account.pretty_acct), heading_image_url: frontend_asset_url('images/mailer-new/heading/boost.png') + = render 'application/mailer/heading', + image_url: frontend_asset_url('images/mailer-new/heading/boost.png'), + subtitle: t('notification_mailer.reblog.body', name: @account.pretty_acct), + title: t('notification_mailer.reblog.title') %table.email-w-full{ cellspacing: 0, cellpadding: 0, border: 0, role: 'presentation' } %tr %td.email-body-padding-td diff --git a/app/views/user_mailer/appeal_approved.html.haml b/app/views/user_mailer/appeal_approved.html.haml index 54e9a94a544c16..2da3e0d3eb6c24 100644 --- a/app/views/user_mailer/appeal_approved.html.haml +++ b/app/views/user_mailer/appeal_approved.html.haml @@ -1,5 +1,8 @@ = content_for :heading do - = render 'application/mailer/heading', heading_title: t('user_mailer.appeal_approved.title'), heading_subtitle: t('user_mailer.appeal_approved.subtitle'), heading_image_url: frontend_asset_url('images/mailer-new/heading/appeal-approved.png') + = render 'application/mailer/heading', + image_url: frontend_asset_url('images/mailer-new/heading/appeal-approved.png'), + subtitle: t('user_mailer.appeal_approved.subtitle'), + title: t('user_mailer.appeal_approved.title') %table.email-w-full{ cellspacing: 0, cellpadding: 0, border: 0, role: 'presentation' } %tr %td.email-body-padding-td diff --git a/app/views/user_mailer/appeal_rejected.html.haml b/app/views/user_mailer/appeal_rejected.html.haml index b493712b05cf56..6f9282507b34b9 100644 --- a/app/views/user_mailer/appeal_rejected.html.haml +++ b/app/views/user_mailer/appeal_rejected.html.haml @@ -1,5 +1,8 @@ = content_for :heading do - = render 'application/mailer/heading', heading_title: t('user_mailer.appeal_rejected.title'), heading_subtitle: t('user_mailer.appeal_rejected.subtitle'), heading_image_url: frontend_asset_url('images/mailer-new/heading/appeal-rejected.png') + = render 'application/mailer/heading', + image_url: frontend_asset_url('images/mailer-new/heading/appeal-rejected.png'), + subtitle: t('user_mailer.appeal_rejected.subtitle'), + title: t('user_mailer.appeal_rejected.title') %table.email-w-full{ cellspacing: 0, cellpadding: 0, border: 0, role: 'presentation' } %tr %td.email-body-padding-td diff --git a/app/views/user_mailer/backup_ready.html.haml b/app/views/user_mailer/backup_ready.html.haml index 99a48e7fdb4a3d..c25f0b45ddd860 100644 --- a/app/views/user_mailer/backup_ready.html.haml +++ b/app/views/user_mailer/backup_ready.html.haml @@ -1,5 +1,8 @@ = content_for :heading do - = render 'application/mailer/heading', heading_title: t('user_mailer.backup_ready.title'), heading_subtitle: t('user_mailer.backup_ready.explanation'), heading_image_url: frontend_asset_url('images/mailer-new/heading/archive.png') + = render 'application/mailer/heading', + image_url: frontend_asset_url('images/mailer-new/heading/archive.png'), + subtitle: t('user_mailer.backup_ready.explanation'), + title: t('user_mailer.backup_ready.title') %table.email-w-full{ cellspacing: 0, cellpadding: 0, border: 0, role: 'presentation' } %tr %td.email-body-padding-td diff --git a/app/views/user_mailer/confirmation_instructions.html.haml b/app/views/user_mailer/confirmation_instructions.html.haml index 13e68c722b2fc8..d3e3e8f9305102 100644 --- a/app/views/user_mailer/confirmation_instructions.html.haml +++ b/app/views/user_mailer/confirmation_instructions.html.haml @@ -1,5 +1,7 @@ = content_for :heading do - = render 'application/mailer/heading', heading_title: t('devise.mailer.confirmation_instructions.title'), heading_image_url: frontend_asset_url('images/mailer-new/heading/email.png') + = render 'application/mailer/heading', + image_url: frontend_asset_url('images/mailer-new/heading/email.png'), + title: t('devise.mailer.confirmation_instructions.title') %table.email-w-full{ cellspacing: 0, cellpadding: 0, border: 0, role: 'presentation' } %tr %td.email-body-padding-td diff --git a/app/views/user_mailer/email_changed.html.haml b/app/views/user_mailer/email_changed.html.haml index 71678ad029aead..33e35a314b6c1d 100644 --- a/app/views/user_mailer/email_changed.html.haml +++ b/app/views/user_mailer/email_changed.html.haml @@ -1,5 +1,8 @@ = content_for :heading do - = render 'application/mailer/heading', heading_title: t('devise.mailer.email_changed.title'), heading_subtitle: t('devise.mailer.email_changed.explanation'), heading_image_url: frontend_asset_url('images/mailer-new/heading/email.png') + = render 'application/mailer/heading', + image_url: frontend_asset_url('images/mailer-new/heading/email.png'), + subtitle: t('devise.mailer.email_changed.explanation'), + title: t('devise.mailer.email_changed.title') %table.email-w-full{ cellspacing: 0, cellpadding: 0, border: 0, role: 'presentation' } %tr %td.email-body-padding-td diff --git a/app/views/user_mailer/failed_2fa.html.haml b/app/views/user_mailer/failed_2fa.html.haml index e1da35ce062c21..edac8ef63b67e3 100644 --- a/app/views/user_mailer/failed_2fa.html.haml +++ b/app/views/user_mailer/failed_2fa.html.haml @@ -1,5 +1,8 @@ = content_for :heading do - = render 'application/mailer/heading', heading_title: t('user_mailer.failed_2fa.title'), heading_subtitle: t('user_mailer.failed_2fa.explanation'), heading_image_url: frontend_asset_url('images/mailer-new/heading/login.png') + = render 'application/mailer/heading', + image_url: frontend_asset_url('images/mailer-new/heading/login.png'), + subtitle: t('user_mailer.failed_2fa.explanation'), + title: t('user_mailer.failed_2fa.title') %table.email-w-full{ cellspacing: 0, cellpadding: 0, border: 0, role: 'presentation' } %tr %td.email-body-padding-td diff --git a/app/views/user_mailer/password_change.html.haml b/app/views/user_mailer/password_change.html.haml index 44c8c0dcafb9b7..350f5bd996727a 100644 --- a/app/views/user_mailer/password_change.html.haml +++ b/app/views/user_mailer/password_change.html.haml @@ -1,5 +1,8 @@ = content_for :heading do - = render 'application/mailer/heading', heading_title: t('devise.mailer.password_change.title'), heading_subtitle: t('devise.mailer.password_change.explanation'), heading_image_url: frontend_asset_url('images/mailer-new/heading/password.png') + = render 'application/mailer/heading', + image_url: frontend_asset_url('images/mailer-new/heading/password.png'), + subtitle: t('devise.mailer.password_change.explanation'), + title: t('devise.mailer.password_change.title') %table.email-w-full{ cellspacing: 0, cellpadding: 0, border: 0, role: 'presentation' } %tr %td.email-body-padding-td diff --git a/app/views/user_mailer/reconfirmation_instructions.html.haml b/app/views/user_mailer/reconfirmation_instructions.html.haml index 854887a7e01ba0..6f6954f705ab1a 100644 --- a/app/views/user_mailer/reconfirmation_instructions.html.haml +++ b/app/views/user_mailer/reconfirmation_instructions.html.haml @@ -1,5 +1,7 @@ = content_for :heading do - = render 'application/mailer/heading', heading_title: t('devise.mailer.reconfirmation_instructions.title'), heading_image_url: frontend_asset_url('images/mailer-new/heading/email.png') + = render 'application/mailer/heading', + image_url: frontend_asset_url('images/mailer-new/heading/email.png'), + title: t('devise.mailer.reconfirmation_instructions.title') %table.email-w-full{ cellspacing: 0, cellpadding: 0, border: 0, role: 'presentation' } %tr %td.email-body-padding-td diff --git a/app/views/user_mailer/reset_password_instructions.html.haml b/app/views/user_mailer/reset_password_instructions.html.haml index a1384fcc270a6d..5a1480867c97c3 100644 --- a/app/views/user_mailer/reset_password_instructions.html.haml +++ b/app/views/user_mailer/reset_password_instructions.html.haml @@ -1,5 +1,8 @@ = content_for :heading do - = render 'application/mailer/heading', heading_title: t('devise.mailer.reset_password_instructions.title'), heading_subtitle: t('devise.mailer.reset_password_instructions.explanation'), heading_image_url: frontend_asset_url('images/mailer-new/heading/password.png') + = render 'application/mailer/heading', + image_url: frontend_asset_url('images/mailer-new/heading/password.png'), + subtitle: t('devise.mailer.reset_password_instructions.explanation'), + title: t('devise.mailer.reset_password_instructions.title') %table.email-w-full{ cellspacing: 0, cellpadding: 0, border: 0, role: 'presentation' } %tr %td.email-body-padding-td diff --git a/app/views/user_mailer/suspicious_sign_in.html.haml b/app/views/user_mailer/suspicious_sign_in.html.haml index deee7a1ce16db1..890d883c44008b 100644 --- a/app/views/user_mailer/suspicious_sign_in.html.haml +++ b/app/views/user_mailer/suspicious_sign_in.html.haml @@ -1,5 +1,8 @@ = content_for :heading do - = render 'application/mailer/heading', heading_title: t('user_mailer.suspicious_sign_in.title'), heading_subtitle: t('user_mailer.suspicious_sign_in.explanation'), heading_image_url: frontend_asset_url('images/mailer-new/heading/login.png') + = render 'application/mailer/heading', + image_url: frontend_asset_url('images/mailer-new/heading/login.png'), + subtitle: t('user_mailer.suspicious_sign_in.explanation'), + title: t('user_mailer.suspicious_sign_in.title') %table.email-w-full{ cellspacing: 0, cellpadding: 0, border: 0, role: 'presentation' } %tr %td.email-body-padding-td diff --git a/app/views/user_mailer/two_factor_disabled.html.haml b/app/views/user_mailer/two_factor_disabled.html.haml index 28f6ca66007bc8..4f1559d86cd72b 100644 --- a/app/views/user_mailer/two_factor_disabled.html.haml +++ b/app/views/user_mailer/two_factor_disabled.html.haml @@ -1,5 +1,8 @@ = content_for :heading do - = render 'application/mailer/heading', heading_title: t('devise.mailer.two_factor_disabled.title'), heading_subtitle: t('devise.mailer.two_factor_disabled.subtitle'), heading_image_url: frontend_asset_url('images/mailer-new/heading/2fa-disabled.png') + = render 'application/mailer/heading', + image_url: frontend_asset_url('images/mailer-new/heading/2fa-disabled.png'), + subtitle: t('devise.mailer.two_factor_disabled.subtitle'), + title: t('devise.mailer.two_factor_disabled.title') %table.email-w-full{ cellspacing: 0, cellpadding: 0, border: 0, role: 'presentation' } %tr %td.email-body-padding-td diff --git a/app/views/user_mailer/two_factor_enabled.html.haml b/app/views/user_mailer/two_factor_enabled.html.haml index 691dc661a09c5d..0ed57ea32b7691 100644 --- a/app/views/user_mailer/two_factor_enabled.html.haml +++ b/app/views/user_mailer/two_factor_enabled.html.haml @@ -1,5 +1,8 @@ = content_for :heading do - = render 'application/mailer/heading', heading_title: t('devise.mailer.two_factor_enabled.title'), heading_subtitle: t('devise.mailer.two_factor_enabled.subtitle'), heading_image_url: frontend_asset_url('images/mailer-new/heading/2fa-enabled.png') + = render 'application/mailer/heading', + image_url: frontend_asset_url('images/mailer-new/heading/2fa-enabled.png'), + subtitle: t('devise.mailer.two_factor_enabled.subtitle'), + title: t('devise.mailer.two_factor_enabled.title') %table.email-w-full{ cellspacing: 0, cellpadding: 0, border: 0, role: 'presentation' } %tr %td.email-body-padding-td diff --git a/app/views/user_mailer/two_factor_recovery_codes_changed.html.haml b/app/views/user_mailer/two_factor_recovery_codes_changed.html.haml index 2d063e4c76919e..cc4c21b83b77f1 100644 --- a/app/views/user_mailer/two_factor_recovery_codes_changed.html.haml +++ b/app/views/user_mailer/two_factor_recovery_codes_changed.html.haml @@ -1,5 +1,8 @@ = content_for :heading do - = render 'application/mailer/heading', heading_title: t('devise.mailer.two_factor_recovery_codes_changed.title'), heading_subtitle: t('devise.mailer.two_factor_recovery_codes_changed.subtitle'), heading_image_url: frontend_asset_url('images/mailer-new/heading/2fa-recovery.png') + = render 'application/mailer/heading', + image_url: frontend_asset_url('images/mailer-new/heading/2fa-recovery.png'), + subtitle: t('devise.mailer.two_factor_recovery_codes_changed.subtitle'), + title: t('devise.mailer.two_factor_recovery_codes_changed.title') %table.email-w-full{ cellspacing: 0, cellpadding: 0, border: 0, role: 'presentation' } %tr %td.email-body-padding-td diff --git a/app/views/user_mailer/warning.html.haml b/app/views/user_mailer/warning.html.haml index 837cde550e5a4d..fe8db974ee93f5 100644 --- a/app/views/user_mailer/warning.html.haml +++ b/app/views/user_mailer/warning.html.haml @@ -1,5 +1,7 @@ = content_for :heading do - = render 'application/mailer/heading', heading_title: t("user_mailer.warning.title.#{@warning.action}"), heading_image_url: frontend_asset_url('images/mailer-new/heading/warning.png') + = render 'application/mailer/heading', + image_url: frontend_asset_url('images/mailer-new/heading/warning.png'), + title: t("user_mailer.warning.title.#{@warning.action}") %table.email-w-full{ cellspacing: 0, cellpadding: 0, border: 0, role: 'presentation' } %tr %td.email-body-padding-td diff --git a/app/views/user_mailer/webauthn_credential_added.html.haml b/app/views/user_mailer/webauthn_credential_added.html.haml index 3e167662380884..9c5cbdd6762f1b 100644 --- a/app/views/user_mailer/webauthn_credential_added.html.haml +++ b/app/views/user_mailer/webauthn_credential_added.html.haml @@ -1,5 +1,8 @@ = content_for :heading do - = render 'application/mailer/heading', heading_title: t('devise.mailer.webauthn_credential.added.title'), heading_subtitle: t('devise.mailer.webauthn_credential.added.explanation'), heading_image_url: frontend_asset_url('images/mailer-new/heading/key-added.png') + = render 'application/mailer/heading', + image_url: frontend_asset_url('images/mailer-new/heading/key-added.png'), + subtitle: t('devise.mailer.webauthn_credential.added.explanation'), + title: t('devise.mailer.webauthn_credential.added.title') %table.email-w-full{ cellspacing: 0, cellpadding: 0, border: 0, role: 'presentation' } %tr %td.email-body-padding-td diff --git a/app/views/user_mailer/webauthn_credential_deleted.html.haml b/app/views/user_mailer/webauthn_credential_deleted.html.haml index 59dcb75d3a812e..decfc02c227108 100644 --- a/app/views/user_mailer/webauthn_credential_deleted.html.haml +++ b/app/views/user_mailer/webauthn_credential_deleted.html.haml @@ -1,5 +1,8 @@ = content_for :heading do - = render 'application/mailer/heading', heading_title: t('devise.mailer.webauthn_credential.deleted.title'), heading_subtitle: t('devise.mailer.webauthn_credential.deleted.explanation'), heading_image_url: frontend_asset_url('images/mailer-new/heading/key-deleted.png') + = render 'application/mailer/heading', + image_url: frontend_asset_url('images/mailer-new/heading/key-deleted.png'), + subtitle: t('devise.mailer.webauthn_credential.deleted.explanation'), + title: t('devise.mailer.webauthn_credential.deleted.title') %table.email-w-full{ cellspacing: 0, cellpadding: 0, border: 0, role: 'presentation' } %tr %td.email-body-padding-td diff --git a/app/views/user_mailer/webauthn_disabled.html.haml b/app/views/user_mailer/webauthn_disabled.html.haml index 0f7c534bc4505e..232c9519157db3 100644 --- a/app/views/user_mailer/webauthn_disabled.html.haml +++ b/app/views/user_mailer/webauthn_disabled.html.haml @@ -1,5 +1,8 @@ = content_for :heading do - = render 'application/mailer/heading', heading_title: t('devise.mailer.webauthn_disabled.title'), heading_subtitle: t('devise.mailer.webauthn_disabled.explanation'), heading_image_url: frontend_asset_url('images/mailer-new/heading/key-disabled.png') + = render 'application/mailer/heading', + image_url: frontend_asset_url('images/mailer-new/heading/key-disabled.png'), + subtitle: t('devise.mailer.webauthn_disabled.explanation'), + title: t('devise.mailer.webauthn_disabled.title') %table.email-w-full{ cellspacing: 0, cellpadding: 0, border: 0, role: 'presentation' } %tr %td.email-body-padding-td diff --git a/app/views/user_mailer/webauthn_enabled.html.haml b/app/views/user_mailer/webauthn_enabled.html.haml index cd11aa5a40fe97..955a557de4a07b 100644 --- a/app/views/user_mailer/webauthn_enabled.html.haml +++ b/app/views/user_mailer/webauthn_enabled.html.haml @@ -1,5 +1,8 @@ = content_for :heading do - = render 'application/mailer/heading', heading_title: t('devise.mailer.webauthn_enabled.title'), heading_subtitle: t('devise.mailer.webauthn_enabled.explanation'), heading_image_url: frontend_asset_url('images/mailer-new/heading/key-enabled.png') + = render 'application/mailer/heading', + image_url: frontend_asset_url('images/mailer-new/heading/key-enabled.png'), + subtitle: t('devise.mailer.webauthn_enabled.explanation'), + title: t('devise.mailer.webauthn_enabled.title') %table.email-w-full{ cellspacing: 0, cellpadding: 0, border: 0, role: 'presentation' } %tr %td.email-body-padding-td diff --git a/app/views/user_mailer/welcome.html.haml b/app/views/user_mailer/welcome.html.haml index efc6cad3934526..c37104da799d34 100644 --- a/app/views/user_mailer/welcome.html.haml +++ b/app/views/user_mailer/welcome.html.haml @@ -1,7 +1,9 @@ = content_for :heading do .email-desktop-flex .email-header-left - = render 'application/mailer/heading', heading_title: t('user_mailer.welcome.title', name: @resource.account.username), heading_subtitle: t('user_mailer.welcome.explanation') + = render 'application/mailer/heading', + subtitle: t('user_mailer.welcome.explanation'), + title: t('user_mailer.welcome.title', name: @resource.account.username) .email-header-right .email-header-card %table.email-header-card-table{ cellspacing: 0, cellpadding: 0, border: 0, role: 'presentation' } From cff1846f803b25ef79ef6db2a30affd2e617faee Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Mon, 28 Oct 2024 14:55:45 +0000 Subject: [PATCH 081/357] Update babel monorepo to v7.26.0 (#32659) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> --- yarn.lock | 160 +++++++++++++++++++++++++++--------------------------- 1 file changed, 81 insertions(+), 79 deletions(-) diff --git a/yarn.lock b/yarn.lock index 4ef44a7591cef1..1a129ac3675ced 100644 --- a/yarn.lock +++ b/yarn.lock @@ -42,55 +42,57 @@ __metadata: languageName: node linkType: hard -"@babel/code-frame@npm:^7.0.0, @babel/code-frame@npm:^7.10.4, @babel/code-frame@npm:^7.12.13, @babel/code-frame@npm:^7.25.9": - version: 7.25.9 - resolution: "@babel/code-frame@npm:7.25.9" +"@babel/code-frame@npm:^7.0.0, @babel/code-frame@npm:^7.10.4, @babel/code-frame@npm:^7.12.13, @babel/code-frame@npm:^7.25.9, @babel/code-frame@npm:^7.26.0": + version: 7.26.0 + resolution: "@babel/code-frame@npm:7.26.0" dependencies: - "@babel/highlight": "npm:^7.25.9" + "@babel/helper-validator-identifier": "npm:^7.25.9" + js-tokens: "npm:^4.0.0" picocolors: "npm:^1.0.0" - checksum: 10c0/88562eba0eeb5960b7004e108790aa00183d90cbbe70ce10dad01c2c48141d2ef54d6dcd0c678cc1e456de770ffeb68e28559f4d222c01a110c79aea8733074b + checksum: 10c0/46f7e367714be736b52ea3c01b24f47e2102e210fb83021d1c8237d8fc511b9538909e16e2fcdbb5cb6173e0794e28624309a59014e52fcfb7bde908f5284388 languageName: node linkType: hard -"@babel/compat-data@npm:^7.22.6, @babel/compat-data@npm:^7.25.9": - version: 7.25.9 - resolution: "@babel/compat-data@npm:7.25.9" - checksum: 10c0/8d9fc2074311ce61aaf5bccf740a808644d19d4859caf5fa46d8a7186a1ee0b0d8cbbc23f9371f8b397e84a885bdeab58d5f22d6799ddde55973252aac351a27 +"@babel/compat-data@npm:^7.22.6, @babel/compat-data@npm:^7.25.9, @babel/compat-data@npm:^7.26.0": + version: 7.26.0 + resolution: "@babel/compat-data@npm:7.26.0" + checksum: 10c0/6325c9151a3c9b0a3a807e854a26255ef66d989bff331475a935af9bb18f160e0fffe6aed550e4e96b63f91efcd874bfbaab2a1f4a2f8d25645d712a0de590fb languageName: node linkType: hard "@babel/core@npm:^7.11.6, @babel/core@npm:^7.12.3, @babel/core@npm:^7.22.1, @babel/core@npm:^7.24.4, @babel/core@npm:^7.25.0": - version: 7.25.9 - resolution: "@babel/core@npm:7.25.9" + version: 7.26.0 + resolution: "@babel/core@npm:7.26.0" dependencies: "@ampproject/remapping": "npm:^2.2.0" - "@babel/code-frame": "npm:^7.25.9" - "@babel/generator": "npm:^7.25.9" + "@babel/code-frame": "npm:^7.26.0" + "@babel/generator": "npm:^7.26.0" "@babel/helper-compilation-targets": "npm:^7.25.9" - "@babel/helper-module-transforms": "npm:^7.25.9" - "@babel/helpers": "npm:^7.25.9" - "@babel/parser": "npm:^7.25.9" + "@babel/helper-module-transforms": "npm:^7.26.0" + "@babel/helpers": "npm:^7.26.0" + "@babel/parser": "npm:^7.26.0" "@babel/template": "npm:^7.25.9" "@babel/traverse": "npm:^7.25.9" - "@babel/types": "npm:^7.25.9" + "@babel/types": "npm:^7.26.0" convert-source-map: "npm:^2.0.0" debug: "npm:^4.1.0" gensync: "npm:^1.0.0-beta.2" json5: "npm:^2.2.3" semver: "npm:^6.3.1" - checksum: 10c0/40d3064ebe906f65ed4153a0f4d75c679a19e4d71e425035b7bbe2d292a9167274f1a0d908d4d6c8f484fcddeb10bd91e0c7878fdb3dfad1bb00f6a319ce431d + checksum: 10c0/91de73a7ff5c4049fbc747930aa039300e4d2670c2a91f5aa622f1b4868600fc89b01b6278385fbcd46f9574186fa3d9b376a9e7538e50f8d118ec13cfbcb63e languageName: node linkType: hard -"@babel/generator@npm:^7.25.9, @babel/generator@npm:^7.7.2": - version: 7.25.9 - resolution: "@babel/generator@npm:7.25.9" +"@babel/generator@npm:^7.25.9, @babel/generator@npm:^7.26.0, @babel/generator@npm:^7.7.2": + version: 7.26.0 + resolution: "@babel/generator@npm:7.26.0" dependencies: - "@babel/types": "npm:^7.25.9" + "@babel/parser": "npm:^7.26.0" + "@babel/types": "npm:^7.26.0" "@jridgewell/gen-mapping": "npm:^0.3.5" "@jridgewell/trace-mapping": "npm:^0.3.25" jsesc: "npm:^3.0.2" - checksum: 10c0/fca49a1440ac550bb835a73c0e8314849cd493a468a5431ca7f9dbb3d3443e3a1a6dcba2426752e8a97cc2feed4a3b7a0c639e1c45871c4a9dd0c994f08dd25a + checksum: 10c0/b6bb9185f19a97eaf58e04a6d39a13237076678e7ed16b6321dea914535d4bf6a8d7727c9dcb65539845aa0096b326eb67be4bab764bd74bcfd848e2eda68609 languageName: node linkType: hard @@ -201,17 +203,16 @@ __metadata: languageName: node linkType: hard -"@babel/helper-module-transforms@npm:^7.25.9": - version: 7.25.9 - resolution: "@babel/helper-module-transforms@npm:7.25.9" +"@babel/helper-module-transforms@npm:^7.25.9, @babel/helper-module-transforms@npm:^7.26.0": + version: 7.26.0 + resolution: "@babel/helper-module-transforms@npm:7.26.0" dependencies: "@babel/helper-module-imports": "npm:^7.25.9" - "@babel/helper-simple-access": "npm:^7.25.9" "@babel/helper-validator-identifier": "npm:^7.25.9" "@babel/traverse": "npm:^7.25.9" peerDependencies: "@babel/core": ^7.0.0 - checksum: 10c0/cd005e7585806845d79c5c0ca9e8926f186b430b0a558dad08a3611365eaad3ac587672b0d903530117dec454f48b6bdc3d164b19ea1b71ca1b4eb3be7b452ef + checksum: 10c0/ee111b68a5933481d76633dad9cdab30c41df4479f0e5e1cc4756dc9447c1afd2c9473b5ba006362e35b17f4ebddd5fca090233bef8dfc84dca9d9127e56ec3a languageName: node linkType: hard @@ -309,36 +310,24 @@ __metadata: languageName: node linkType: hard -"@babel/helpers@npm:^7.25.9": - version: 7.25.9 - resolution: "@babel/helpers@npm:7.25.9" +"@babel/helpers@npm:^7.26.0": + version: 7.26.0 + resolution: "@babel/helpers@npm:7.26.0" dependencies: "@babel/template": "npm:^7.25.9" - "@babel/types": "npm:^7.25.9" - checksum: 10c0/4354fbf050291937d0f127f6f927a0c471b604524e0767516fefb91dc36427f25904dd0d2b2b3bbc66bce1894c680cc37eac9ab46970d70f24bf3e53375612de + "@babel/types": "npm:^7.26.0" + checksum: 10c0/343333cced6946fe46617690a1d0789346960910225ce359021a88a60a65bc0d791f0c5d240c0ed46cf8cc63b5fd7df52734ff14e43b9c32feae2b61b1647097 languageName: node linkType: hard -"@babel/highlight@npm:^7.25.9": - version: 7.25.9 - resolution: "@babel/highlight@npm:7.25.9" +"@babel/parser@npm:^7.1.0, @babel/parser@npm:^7.14.7, @babel/parser@npm:^7.20.7, @babel/parser@npm:^7.25.9, @babel/parser@npm:^7.26.0": + version: 7.26.1 + resolution: "@babel/parser@npm:7.26.1" dependencies: - "@babel/helper-validator-identifier": "npm:^7.25.9" - chalk: "npm:^2.4.2" - js-tokens: "npm:^4.0.0" - picocolors: "npm:^1.0.0" - checksum: 10c0/ae0ed93c151b85a07df42936117fa593ce91563a22dfc8944a90ae7088c9679645c33e00dcd20b081c1979665d65f986241172dae1fc9e5922692fc3ff685a49 - languageName: node - linkType: hard - -"@babel/parser@npm:^7.1.0, @babel/parser@npm:^7.14.7, @babel/parser@npm:^7.20.7, @babel/parser@npm:^7.25.9": - version: 7.25.9 - resolution: "@babel/parser@npm:7.25.9" - dependencies: - "@babel/types": "npm:^7.25.9" + "@babel/types": "npm:^7.26.0" bin: parser: ./bin/babel-parser.js - checksum: 10c0/143faff8a72331be5ed94080e0f4645cbeea814fb488cd9210154083735f67cb66fde32f6a4a80efd6c4cdf12c6f8b50995a465846093c7f65c5da8d7829627c + checksum: 10c0/dc7d4e6b7eb667fa0784e7e2c3f6f92ca12ad72242f6d4311995310dae55093f02acdb595b69b0dbbf04cb61ad87156ac03186ff32eacfa35149c655bc22c14b languageName: node linkType: hard @@ -443,25 +432,25 @@ __metadata: languageName: node linkType: hard -"@babel/plugin-syntax-import-assertions@npm:^7.25.9": - version: 7.25.9 - resolution: "@babel/plugin-syntax-import-assertions@npm:7.25.9" +"@babel/plugin-syntax-import-assertions@npm:^7.26.0": + version: 7.26.0 + resolution: "@babel/plugin-syntax-import-assertions@npm:7.26.0" dependencies: "@babel/helper-plugin-utils": "npm:^7.25.9" peerDependencies: "@babel/core": ^7.0.0-0 - checksum: 10c0/f5a022b8a7f3585cf1586535224b06ae380983d3c14f7127b82792ef50cd8194047080540c8abec7aa8f8bfe7d774d71a1ee91f4fd3fa0277f7ffe2d3c6c4977 + checksum: 10c0/525b174e60b210d96c1744c1575fc2ddedcc43a479cba64a5344cf77bd0541754fc58120b5a11ff832ba098437bb05aa80900d1f49bb3d888c5e349a4a3a356e languageName: node linkType: hard -"@babel/plugin-syntax-import-attributes@npm:^7.25.9": - version: 7.25.9 - resolution: "@babel/plugin-syntax-import-attributes@npm:7.25.9" +"@babel/plugin-syntax-import-attributes@npm:^7.26.0": + version: 7.26.0 + resolution: "@babel/plugin-syntax-import-attributes@npm:7.26.0" dependencies: "@babel/helper-plugin-utils": "npm:^7.25.9" peerDependencies: "@babel/core": ^7.0.0-0 - checksum: 10c0/bbdf97ba088c3d482492f6c3376422752b1723ce32e3ac11b000faf3c942d68e418c8a911431cb05d5e300d008cc37cd5518e89807a5813c2ac8fdd82d171f8d + checksum: 10c0/e594c185b12bfe0bbe7ca78dfeebe870e6d569a12128cac86f3164a075fe0ff70e25ddbd97fd0782906b91f65560c9dc6957716b7b4a68aba2516c9b7455e352 languageName: node linkType: hard @@ -669,15 +658,15 @@ __metadata: languageName: node linkType: hard -"@babel/plugin-transform-class-static-block@npm:^7.25.9": - version: 7.25.9 - resolution: "@babel/plugin-transform-class-static-block@npm:7.25.9" +"@babel/plugin-transform-class-static-block@npm:^7.26.0": + version: 7.26.0 + resolution: "@babel/plugin-transform-class-static-block@npm:7.26.0" dependencies: "@babel/helper-create-class-features-plugin": "npm:^7.25.9" "@babel/helper-plugin-utils": "npm:^7.25.9" peerDependencies: "@babel/core": ^7.12.0 - checksum: 10c0/696a3a8acde79d6fee4f685ee1353bf483c4cd50a38e586a1a044268df72d87f9b1a3b7c473def6cde836aa69931fd5a75560bb9ee3a635ebde8911575ed49ca + checksum: 10c0/cdcf5545ae6514ed75fbd73cccfa209c6a5dfdf0c2bb7bb62c0fb4ec334a32281bcf1bc16ace494d9dbe93feb8bdc0bd3cf9d9ccb6316e634a67056fa13b741b languageName: node linkType: hard @@ -1133,6 +1122,18 @@ __metadata: languageName: node linkType: hard +"@babel/plugin-transform-regexp-modifiers@npm:^7.26.0": + version: 7.26.0 + resolution: "@babel/plugin-transform-regexp-modifiers@npm:7.26.0" + dependencies: + "@babel/helper-create-regexp-features-plugin": "npm:^7.25.9" + "@babel/helper-plugin-utils": "npm:^7.25.9" + peerDependencies: + "@babel/core": ^7.0.0 + checksum: 10c0/4abc1db6c964efafc7a927cda814c7275275afa4b530483e0936fd614de23cb5802f7ca43edaa402008a723d4e7eac282b6f5283aa2eeb3b27da6d6c1dd7f8ed + languageName: node + linkType: hard + "@babel/plugin-transform-reserved-words@npm:^7.25.9": version: 7.25.9 resolution: "@babel/plugin-transform-reserved-words@npm:7.25.9" @@ -1279,10 +1280,10 @@ __metadata: linkType: hard "@babel/preset-env@npm:^7.11.0, @babel/preset-env@npm:^7.12.1, @babel/preset-env@npm:^7.22.4": - version: 7.25.9 - resolution: "@babel/preset-env@npm:7.25.9" + version: 7.26.0 + resolution: "@babel/preset-env@npm:7.26.0" dependencies: - "@babel/compat-data": "npm:^7.25.9" + "@babel/compat-data": "npm:^7.26.0" "@babel/helper-compilation-targets": "npm:^7.25.9" "@babel/helper-plugin-utils": "npm:^7.25.9" "@babel/helper-validator-option": "npm:^7.25.9" @@ -1292,8 +1293,8 @@ __metadata: "@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining": "npm:^7.25.9" "@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly": "npm:^7.25.9" "@babel/plugin-proposal-private-property-in-object": "npm:7.21.0-placeholder-for-preset-env.2" - "@babel/plugin-syntax-import-assertions": "npm:^7.25.9" - "@babel/plugin-syntax-import-attributes": "npm:^7.25.9" + "@babel/plugin-syntax-import-assertions": "npm:^7.26.0" + "@babel/plugin-syntax-import-attributes": "npm:^7.26.0" "@babel/plugin-syntax-unicode-sets-regex": "npm:^7.18.6" "@babel/plugin-transform-arrow-functions": "npm:^7.25.9" "@babel/plugin-transform-async-generator-functions": "npm:^7.25.9" @@ -1301,7 +1302,7 @@ __metadata: "@babel/plugin-transform-block-scoped-functions": "npm:^7.25.9" "@babel/plugin-transform-block-scoping": "npm:^7.25.9" "@babel/plugin-transform-class-properties": "npm:^7.25.9" - "@babel/plugin-transform-class-static-block": "npm:^7.25.9" + "@babel/plugin-transform-class-static-block": "npm:^7.26.0" "@babel/plugin-transform-classes": "npm:^7.25.9" "@babel/plugin-transform-computed-properties": "npm:^7.25.9" "@babel/plugin-transform-destructuring": "npm:^7.25.9" @@ -1334,6 +1335,7 @@ __metadata: "@babel/plugin-transform-private-property-in-object": "npm:^7.25.9" "@babel/plugin-transform-property-literals": "npm:^7.25.9" "@babel/plugin-transform-regenerator": "npm:^7.25.9" + "@babel/plugin-transform-regexp-modifiers": "npm:^7.26.0" "@babel/plugin-transform-reserved-words": "npm:^7.25.9" "@babel/plugin-transform-shorthand-properties": "npm:^7.25.9" "@babel/plugin-transform-spread": "npm:^7.25.9" @@ -1352,7 +1354,7 @@ __metadata: semver: "npm:^6.3.1" peerDependencies: "@babel/core": ^7.0.0-0 - checksum: 10c0/b8b391e3fe69918a2a4f4366034113bd6f57c9748974dbe1b807a728bc41434f1e003cb4204ca63a2a01cbb7c05ba96036261b64756243374374353931d346e6 + checksum: 10c0/26e19dc407cfa1c5166be638b4c54239d084fe15d8d7e6306d8c6dc7bc1decc51070a8dcf28352c1a2feeefbe52a06d193a12e302327ad5f529583df75fb7a26 languageName: node linkType: hard @@ -1386,8 +1388,8 @@ __metadata: linkType: hard "@babel/preset-typescript@npm:^7.21.5": - version: 7.25.9 - resolution: "@babel/preset-typescript@npm:7.25.9" + version: 7.26.0 + resolution: "@babel/preset-typescript@npm:7.26.0" dependencies: "@babel/helper-plugin-utils": "npm:^7.25.9" "@babel/helper-validator-option": "npm:^7.25.9" @@ -1396,7 +1398,7 @@ __metadata: "@babel/plugin-transform-typescript": "npm:^7.25.9" peerDependencies: "@babel/core": ^7.0.0-0 - checksum: 10c0/cbcc5b4bf2891e367627338961113febbe58d361e9a03bd2c8340ede914870f74db35ee367cfd8d0fca0872149bfb58b090d0a4815de7c05d0a8abb3d961eead + checksum: 10c0/20d86bc45d2bbfde2f84fc7d7b38746fa6481d4bde6643039ad4b1ff0b804c6d210ee43e6830effd8571f2ff43fa7ffd27369f42f2b3a2518bb92dc86c780c61 languageName: node linkType: hard @@ -1410,11 +1412,11 @@ __metadata: linkType: hard "@babel/runtime@npm:^7.0.0, @babel/runtime@npm:^7.1.2, @babel/runtime@npm:^7.11.2, @babel/runtime@npm:^7.12.0, @babel/runtime@npm:^7.12.13, @babel/runtime@npm:^7.12.5, @babel/runtime@npm:^7.13.8, @babel/runtime@npm:^7.18.3, @babel/runtime@npm:^7.2.0, @babel/runtime@npm:^7.20.13, @babel/runtime@npm:^7.22.3, @babel/runtime@npm:^7.3.1, @babel/runtime@npm:^7.5.5, @babel/runtime@npm:^7.6.3, @babel/runtime@npm:^7.8.4, @babel/runtime@npm:^7.8.7, @babel/runtime@npm:^7.9.2": - version: 7.25.9 - resolution: "@babel/runtime@npm:7.25.9" + version: 7.26.0 + resolution: "@babel/runtime@npm:7.26.0" dependencies: regenerator-runtime: "npm:^0.14.0" - checksum: 10c0/d1727a47eab67b8a742cbf1ef336a20c3d906fe65d6316d073c72479125addfa4358c44dd7b95d114f241b93409b134fad7cea43f3bf8ca7e2ef344177eb72d8 + checksum: 10c0/12c01357e0345f89f4f7e8c0e81921f2a3e3e101f06e8eaa18a382b517376520cd2fa8c237726eb094dab25532855df28a7baaf1c26342b52782f6936b07c287 languageName: node linkType: hard @@ -1444,13 +1446,13 @@ __metadata: languageName: node linkType: hard -"@babel/types@npm:^7.0.0, @babel/types@npm:^7.0.0-beta.49, @babel/types@npm:^7.12.6, @babel/types@npm:^7.20.7, @babel/types@npm:^7.25.0, @babel/types@npm:^7.25.9, @babel/types@npm:^7.3.3, @babel/types@npm:^7.4.4": - version: 7.25.9 - resolution: "@babel/types@npm:7.25.9" +"@babel/types@npm:^7.0.0, @babel/types@npm:^7.0.0-beta.49, @babel/types@npm:^7.12.6, @babel/types@npm:^7.20.7, @babel/types@npm:^7.25.0, @babel/types@npm:^7.25.9, @babel/types@npm:^7.26.0, @babel/types@npm:^7.3.3, @babel/types@npm:^7.4.4": + version: 7.26.0 + resolution: "@babel/types@npm:7.26.0" dependencies: "@babel/helper-string-parser": "npm:^7.25.9" "@babel/helper-validator-identifier": "npm:^7.25.9" - checksum: 10c0/33890d08bcb06b26a3a60e4c6c996cbdf2b8d8a3c212664de659c2775f80b002c5f2bceedaa309c384ff5e99bd579794fe6a7e41de07df70246f43c55016d349 + checksum: 10c0/b694f41ad1597127e16024d766c33a641508aad037abd08d0d1f73af753e1119fa03b4a107d04b5f92cc19c095a594660547ae9bead1db2299212d644b0a5cb8 languageName: node linkType: hard From dc077437d5daa5e5cb154f0be7878d2fe8028529 Mon Sep 17 00:00:00 2001 From: Matt Jankowski Date: Tue, 29 Oct 2024 04:37:43 -0400 Subject: [PATCH 082/357] Misc gem version bumps (#32684) --- Gemfile.lock | 34 +++++++++++++++++----------------- 1 file changed, 17 insertions(+), 17 deletions(-) diff --git a/Gemfile.lock b/Gemfile.lock index 4c9ccaabd175bc..8fff112872cd89 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -100,8 +100,8 @@ GEM attr_required (1.0.2) awrence (1.2.1) aws-eventstream (1.3.0) - aws-partitions (1.992.0) - aws-sdk-core (3.210.0) + aws-partitions (1.997.0) + aws-sdk-core (3.211.0) aws-eventstream (~> 1, >= 1.3.0) aws-partitions (~> 1, >= 1.992.0) aws-sigv4 (~> 1.9) @@ -113,7 +113,7 @@ GEM aws-sdk-core (~> 3, >= 3.210.0) aws-sdk-kms (~> 1) aws-sigv4 (~> 1.5) - aws-sigv4 (1.10.0) + aws-sigv4 (1.10.1) aws-eventstream (~> 1, >= 1.0.2) azure-storage-blob (2.0.3) azure-storage-common (~> 2.0) @@ -179,7 +179,7 @@ GEM bigdecimal rexml crass (1.0.6) - css_parser (1.19.0) + css_parser (1.19.1) addressable csv (3.3.0) database_cleaner-active_record (2.2.0) @@ -231,7 +231,7 @@ GEM erubi (1.13.0) et-orbi (1.2.11) tzinfo - excon (0.111.0) + excon (0.112.0) fabrication (2.31.0) faker (3.5.1) i18n (>= 1.8.11, < 2) @@ -262,7 +262,7 @@ GEM faraday (~> 1.0) fast_blank (1.0.1) fastimage (2.3.1) - ffi (1.16.3) + ffi (1.17.0) ffi-compiler (1.3.2) ffi (>= 1.15.5) rake @@ -351,7 +351,7 @@ GEM rdoc (>= 4.0.0) reline (>= 0.4.2) jmespath (1.6.2) - json (2.7.2) + json (2.7.4) json-canonicalization (1.0.0) json-jwt (1.15.3.1) activesupport (>= 4.2) @@ -412,7 +412,7 @@ GEM activesupport (>= 4) railties (>= 4) request_store (~> 1.0) - loofah (2.22.0) + loofah (2.23.1) crass (~> 1.0.2) nokogiri (>= 1.12.0) mail (2.8.1) @@ -436,7 +436,7 @@ GEM mini_mime (1.1.5) mini_portile2 (2.8.7) minitest (5.25.1) - msgpack (1.7.2) + msgpack (1.7.3) multi_json (1.15.0) multipart-post (2.4.1) mutex_m (0.2.0) @@ -444,7 +444,7 @@ GEM uri net-http-persistent (4.0.2) connection_pool (~> 2.2) - net-imap (0.4.15) + net-imap (0.5.0) date net-protocol net-ldap (0.19.0) @@ -699,9 +699,9 @@ GEM responders (3.1.1) actionpack (>= 5.2) railties (>= 5.2) - rexml (3.3.8) + rexml (3.3.9) rotp (6.3.0) - rouge (4.3.0) + rouge (4.4.0) rpam2 (4.0.2) rqrcode (2.2.0) chunky_png (~> 1.0) @@ -711,14 +711,14 @@ GEM rspec-core (~> 3.13.0) rspec-expectations (~> 3.13.0) rspec-mocks (~> 3.13.0) - rspec-core (3.13.1) + rspec-core (3.13.2) rspec-support (~> 3.13.0) - rspec-expectations (3.13.2) + rspec-expectations (3.13.3) diff-lcs (>= 1.2.0, < 2.0) rspec-support (~> 3.13.0) rspec-github (2.4.0) rspec-core (~> 3.0) - rspec-mocks (3.13.1) + rspec-mocks (3.13.2) diff-lcs (>= 1.2.0, < 2.0) rspec-support (~> 3.13.0) rspec-rails (7.0.1) @@ -752,12 +752,12 @@ GEM rubocop-performance (1.22.1) rubocop (>= 1.48.1, < 2.0) rubocop-ast (>= 1.31.1, < 2.0) - rubocop-rails (2.26.2) + rubocop-rails (2.27.0) activesupport (>= 4.2.0) rack (>= 1.1) rubocop (>= 1.52.0, < 2.0) rubocop-ast (>= 1.31.1, < 2.0) - rubocop-rspec (3.1.0) + rubocop-rspec (3.2.0) rubocop (~> 1.61) rubocop-rspec_rails (2.30.0) rubocop (~> 1.61) From b107fc2e6520579ca2ae8f3d556f88694a8db37f Mon Sep 17 00:00:00 2001 From: Matt Jankowski Date: Tue, 29 Oct 2024 04:54:30 -0400 Subject: [PATCH 083/357] Use nil for timestamp column in admin/confirmations spec (#32682) --- spec/controllers/admin/confirmations_controller_spec.rb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/spec/controllers/admin/confirmations_controller_spec.rb b/spec/controllers/admin/confirmations_controller_spec.rb index 95591607867c8b..59ea0121cacc9b 100644 --- a/spec/controllers/admin/confirmations_controller_spec.rb +++ b/spec/controllers/admin/confirmations_controller_spec.rb @@ -11,7 +11,7 @@ describe 'POST #create' do it 'confirms the user' do - user = Fabricate(:user, confirmed_at: false) + user = Fabricate(:user, confirmed_at: nil) post :create, params: { account_id: user.account.id } expect(response).to redirect_to(admin_accounts_path) From d94a367aebc0d047e567697640a41ed12c33d77d Mon Sep 17 00:00:00 2001 From: Emelia Smith Date: Tue, 29 Oct 2024 10:25:38 +0100 Subject: [PATCH 084/357] Add test coverage for POST /api/v2/media's max description length (#32683) --- spec/requests/api/v2/media_spec.rb | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) diff --git a/spec/requests/api/v2/media_spec.rb b/spec/requests/api/v2/media_spec.rb index 70e0679f57442c..807e427d3f747f 100644 --- a/spec/requests/api/v2/media_spec.rb +++ b/spec/requests/api/v2/media_spec.rb @@ -29,6 +29,22 @@ end end + context 'when media description is too long' do + let(:params) do + { + file: fixture_file_upload('attachment-jpg.123456_abcd', 'image/jpeg'), + description: 'aa' * MediaAttachment::MAX_DESCRIPTION_LENGTH, + } + end + + it 'returns http error' do + post '/api/v2/media', headers: headers, params: params + + expect(response).to have_http_status(422) + expect(response.body).to include 'Description is too long' + end + end + context 'when large format media attachment has not been processed' do let(:params) { { file: fixture_file_upload('attachment.webm', 'video/webm') } } From 244aaf9a38a31b63624fca9ff89482ce1fec3a90 Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" <41898282+github-actions[bot]@users.noreply.github.com> Date: Tue, 29 Oct 2024 09:29:22 +0000 Subject: [PATCH 085/357] New Crowdin Translations (automated) (#32687) Co-authored-by: GitHub Actions --- app/javascript/mastodon/locales/ast.json | 1 + app/javascript/mastodon/locales/be.json | 16 +++++++++++++ app/javascript/mastodon/locales/ca.json | 4 ++++ app/javascript/mastodon/locales/da.json | 2 ++ app/javascript/mastodon/locales/de.json | 2 ++ app/javascript/mastodon/locales/eo.json | 6 +++-- app/javascript/mastodon/locales/es-AR.json | 2 ++ app/javascript/mastodon/locales/es-MX.json | 2 ++ app/javascript/mastodon/locales/es.json | 2 ++ app/javascript/mastodon/locales/fi.json | 2 ++ app/javascript/mastodon/locales/fo.json | 2 ++ app/javascript/mastodon/locales/gl.json | 2 +- app/javascript/mastodon/locales/he.json | 2 ++ app/javascript/mastodon/locales/hu.json | 2 ++ app/javascript/mastodon/locales/is.json | 2 ++ app/javascript/mastodon/locales/ko.json | 2 +- app/javascript/mastodon/locales/lt.json | 2 ++ app/javascript/mastodon/locales/nl.json | 2 ++ app/javascript/mastodon/locales/pl.json | 2 ++ app/javascript/mastodon/locales/pt-BR.json | 2 ++ app/javascript/mastodon/locales/sq.json | 2 ++ app/javascript/mastodon/locales/sv.json | 1 + app/javascript/mastodon/locales/tr.json | 2 ++ app/javascript/mastodon/locales/uk.json | 2 ++ app/javascript/mastodon/locales/vi.json | 2 ++ app/javascript/mastodon/locales/zh-CN.json | 2 ++ app/javascript/mastodon/locales/zh-TW.json | 2 ++ config/locales/eo.yml | 26 ++++++++++++++++++++++ config/locales/simple_form.eo.yml | 5 +++++ 29 files changed, 99 insertions(+), 4 deletions(-) diff --git a/app/javascript/mastodon/locales/ast.json b/app/javascript/mastodon/locales/ast.json index f2a0c22a771550..e5b1168bea00b2 100644 --- a/app/javascript/mastodon/locales/ast.json +++ b/app/javascript/mastodon/locales/ast.json @@ -214,6 +214,7 @@ "hashtag.counter_by_accounts": "{count, plural, one {{counter} participante} other {{counter} participantes}}", "hashtag.follow": "Siguir a la etiqueta", "hashtag.unfollow": "Dexar de siguir a la etiqueta", + "hints.threads.replies_may_be_missing": "Ye posible que falten les rempuestes d'otros sirvidores.", "home.column_settings.show_reblogs": "Amosar los artículos compartíos", "home.column_settings.show_replies": "Amosar les rempuestes", "home.pending_critical_update.body": "¡Anueva'l sirvidor de Mastodon namás que puedas!", diff --git a/app/javascript/mastodon/locales/be.json b/app/javascript/mastodon/locales/be.json index 8423e36ba0527d..97d4dc4b4c9f98 100644 --- a/app/javascript/mastodon/locales/be.json +++ b/app/javascript/mastodon/locales/be.json @@ -98,6 +98,8 @@ "block_modal.title": "Заблакіраваць карыстальніка?", "block_modal.you_wont_see_mentions": "Вы не ўбачыце паведамленняў са згадваннем карыстальніка.", "boost_modal.combo": "Націсніце {combo}, каб прапусціць наступным разам", + "boost_modal.reblog": "Пашырыць допіс?", + "boost_modal.undo_reblog": "Прыбраць допіс?", "bundle_column_error.copy_stacktrace": "Скапіраваць справаздачу пра памылку", "bundle_column_error.error.body": "Запытаная старонка не можа быць адлюстраваная. Гэта магло стацца праз хібу ў нашым кодзе, або праз памылку сумяшчальнасці з браўзерам.", "bundle_column_error.error.title": "Халера!", @@ -156,6 +158,7 @@ "compose_form.poll.duration": "Працягласць апытання", "compose_form.poll.multiple": "Множны выбар", "compose_form.poll.option_placeholder": "Варыянт {number}", + "compose_form.poll.single": "Адзін варыянт", "compose_form.poll.switch_to_multiple": "Змяніце апытанне, каб дазволіць некалькі варыянтаў адказу", "compose_form.poll.switch_to_single": "Змяніце апытанне, каб дазволіць адзіны варыянт адказу", "compose_form.poll.type": "Стыль", @@ -194,6 +197,7 @@ "confirmations.unfollow.title": "Адпісацца ад карыстальніка?", "content_warning.hide": "Схаваць допіс", "content_warning.show": "Усё адно паказаць", + "content_warning.show_more": "Паказаць усё роўна", "conversation.delete": "Выдаліць размову", "conversation.mark_as_read": "Адзначыць прачытаным", "conversation.open": "Прагледзець размову", @@ -219,6 +223,8 @@ "domain_block_modal.they_cant_follow": "Ніхто з гэтага сервера не зможа падпісацца на вас.", "domain_block_modal.they_wont_know": "Карыстальнік не будзе ведаць пра блакіроўку.", "domain_block_modal.title": "Заблакіраваць дамен?", + "domain_block_modal.you_will_lose_num_followers": "Вы страціце {followersCount, plural, one {{followersCountDisplay} падпісчыка} other {{followersCountDisplay} падпісчыкаў}} і {followingCount, plural, one {{followingCountDisplay} чалавека, на якога падпісаны} other {{followingCountDisplay} людзей, на якіх падпісаны}}.", + "domain_block_modal.you_will_lose_relationships": "Вы страціце ўсех падпісчыкаў і людзей на якіх падпісаны на гэтым.", "domain_block_modal.you_wont_see_posts": "Вы не ўбачыце допісаў і апавяшчэнняў ад карыстальнікаў з гэтага сервера.", "domain_pill.activitypub_lets_connect": "Ён дазваляе вам узаемадзейнічаць не толькі з карыстальнікамі Mastodon, але і розных іншых сацыяльных платформ.", "domain_pill.activitypub_like_language": "ActivityPub — гэта мова, на якой Mastodon размаўляе з іншымі сацыяльнымі сеткамі.", @@ -300,6 +306,7 @@ "filter_modal.select_filter.subtitle": "Скарыстайцеся існуючай катэгорыяй або стварыце новую", "filter_modal.select_filter.title": "Фільтраваць гэты допіс", "filter_modal.title.status": "Фільтраваць допіс", + "filter_warning.matches_filter": "Адпавядае фільтру \"{title}\"", "filtered_notifications_banner.pending_requests": "Ад {count, plural, =0 {# людзей якіх} one {# чалавека якіх} few {# чалавек якіх} many {# людзей якіх} other {# чалавека якіх}} вы магчыма ведаеце", "filtered_notifications_banner.title": "Адфільтраваныя апавяшчэнні", "firehose.all": "Усе", @@ -349,6 +356,9 @@ "hashtag.follow": "Падпісацца на хэштэг", "hashtag.unfollow": "Адпісацца ад хэштэга", "hashtags.and_other": "…і яшчэ {count, plural, other {#}}", + "hints.profiles.followers_may_be_missing": "Падпісчыкі гэтага профілю могуць адсутнічаць.", + "hints.profiles.follows_may_be_missing": "Падпіскі гэтага профілю могуць адсутнічаць.", + "hints.profiles.posts_may_be_missing": "Некаторыя допісы гэтага профілю могуць адсутнічаць.", "home.column_settings.show_reblogs": "Паказваць пашырэнні", "home.column_settings.show_replies": "Паказваць адказы", "home.hide_announcements": "Схаваць аб'явы", @@ -433,6 +443,7 @@ "lists.subheading": "Вашыя спісы", "load_pending": "{count, plural, one {# новы элемент} few {# новыя элементы} many {# новых элементаў} other {# новых элементаў}}", "loading_indicator.label": "Загрузка…", + "media_gallery.hide": "Схаваць", "moved_to_account_banner.text": "Ваш уліковы запіс {disabledAccount} зараз адключаны таму што вы перанесены на {movedToAccount}.", "mute_modal.hide_from_notifications": "Схаваць з апавяшчэнняў", "mute_modal.hide_options": "Схаваць опцыі", @@ -478,11 +489,13 @@ "notification.favourite": "Ваш допіс упадабаны {name}", "notification.follow": "{name} падпісаўся на вас", "notification.follow_request": "{name} адправіў запыт на падпіску", + "notification.follow_request.name_and_others": "{name} і {count, plural, one {# іншы} many {# іншых} other {# іншых}} запыталіся падпісацца на вас", "notification.label.mention": "Згадванне", "notification.label.private_mention": "Асабістае згадванне", "notification.label.private_reply": "Асабісты адказ", "notification.label.reply": "Адказ", "notification.mention": "Згадванне", + "notification.mentioned_you": "{name} згадаў вас", "notification.moderation-warning.learn_more": "Даведацца больш", "notification.moderation_warning": "Вы атрымалі папярэджанне аб мадэрацыі", "notification.moderation_warning.action_delete_statuses": "Некаторыя вашыя допісы былі выдаленыя.", @@ -495,6 +508,7 @@ "notification.own_poll": "Ваша апытанне скончылася", "notification.poll": "Апытанне, дзе вы прынялі ўдзел, скончылася", "notification.reblog": "{name} пашырыў ваш допіс", + "notification.reblog.name_and_others_with_link": "{name} і {count, plural, one {# іншы} many {# іншых} other {# іншых}} абагулілі ваш допіс", "notification.relationships_severance_event": "Страціў сувязь з {name}", "notification.relationships_severance_event.account_suspension": "Адміністратар з {from} прыпыніў працу {target}, што азначае, што вы больш не можаце атрымліваць ад іх абнаўлення ці ўзаемадзейнічаць з імі.", "notification.relationships_severance_event.domain_block": "Адміністратар з {from} заблакіраваў {target}, у тым ліку {followersCount} вашых падпісчыка(-аў) і {followingCount, plural, one {# уліковы запіс} few {# уліковыя запісы} many {# уліковых запісаў} other {# уліковых запісаў}}.", @@ -524,6 +538,7 @@ "notifications.column_settings.filter_bar.category": "Панэль хуткай фільтрацыі", "notifications.column_settings.follow": "Новыя падпісчыкі:", "notifications.column_settings.follow_request": "Новыя запыты на падпіску:", + "notifications.column_settings.group": "Аб'яднаць апавяшчэнні ад падпісчыкаў", "notifications.column_settings.mention": "Згадванні:", "notifications.column_settings.poll": "Вынікі апытання:", "notifications.column_settings.push": "Push-апавяшчэнні", @@ -742,6 +757,7 @@ "status.edit": "Рэдагаваць", "status.edited": "Апошняе рэдагаванне {date}", "status.edited_x_times": "Рэдагавана {count, plural, one {{count} раз} few {{count} разы} many {{count} разоў} other {{count} разу}}", + "status.embed": "Атрымаць убудаваны код", "status.favourite": "Упадабанае", "status.favourites": "{count, plural, one {# упадабанае} few {# упадабаныя} many {# упадабаных} other {# упадабанага}}", "status.filter": "Фільтраваць гэты допіс", diff --git a/app/javascript/mastodon/locales/ca.json b/app/javascript/mastodon/locales/ca.json index 678f4da1752609..e5c8440236b684 100644 --- a/app/javascript/mastodon/locales/ca.json +++ b/app/javascript/mastodon/locales/ca.json @@ -197,6 +197,7 @@ "confirmations.unfollow.title": "Deixar de seguir l'usuari?", "content_warning.hide": "Amaga la publicació", "content_warning.show": "Mostra-la igualment", + "content_warning.show_more": "Mostra'n més", "conversation.delete": "Elimina la conversa", "conversation.mark_as_read": "Marca com a llegida", "conversation.open": "Mostra la conversa", @@ -305,6 +306,7 @@ "filter_modal.select_filter.subtitle": "Usa una categoria existent o crea'n una de nova", "filter_modal.select_filter.title": "Filtra aquest tut", "filter_modal.title.status": "Filtra un tut", + "filter_warning.matches_filter": "Coincideix amb el filtre “{title}”", "filtered_notifications_banner.pending_requests": "{count, plural, =0 {De ningú} one {D'una persona} other {De # persones}} que potser coneixes", "filtered_notifications_banner.title": "Notificacions filtrades", "firehose.all": "Tots", @@ -384,6 +386,7 @@ "interaction_modal.description.follow": "Amb un compte a Mastodon, pots seguir a {name} per a rebre els seus tuts en la teva línia de temps d'Inici.", "interaction_modal.description.reblog": "Amb un compte a Mastodon, pots impulsar aquest tut per a compartir-lo amb els teus seguidors.", "interaction_modal.description.reply": "Amb un compte a Mastodon, pots respondre aquest tut.", + "interaction_modal.description.vote": "Si teniu compte a Mastodon, podeu votar aquesta enquesta.", "interaction_modal.login.action": "Torna a l'inici", "interaction_modal.login.prompt": "Domini del teu servidor domèstic, p.ex. mastodon.social", "interaction_modal.no_account_yet": "No a Mastodon?", @@ -395,6 +398,7 @@ "interaction_modal.title.follow": "Segueix {name}", "interaction_modal.title.reblog": "Impulsa el tut de {name}", "interaction_modal.title.reply": "Respon al tut de {name}", + "interaction_modal.title.vote": "Voteu l'enquesta de {name}", "intervals.full.days": "{number, plural, one {# dia} other {# dies}}", "intervals.full.hours": "{number, plural, one {# hora} other {# hores}}", "intervals.full.minutes": "{number, plural, one {# minut} other {# minuts}}", diff --git a/app/javascript/mastodon/locales/da.json b/app/javascript/mastodon/locales/da.json index f8a1f2ad65aa0b..55315764479eb8 100644 --- a/app/javascript/mastodon/locales/da.json +++ b/app/javascript/mastodon/locales/da.json @@ -385,6 +385,7 @@ "interaction_modal.description.follow": "Med en konto på Mastodon kan du følge {name} for at modtage vedkommendes indlæg i dit hjemmefeed.", "interaction_modal.description.reblog": "Med en konto på Mastodon kan dette indlæg fremhæves så det deles med egne følgere.", "interaction_modal.description.reply": "Med en konto på Mastodon kan dette indlæg besvares.", + "interaction_modal.description.vote": "Med en konto på Mastodon kan man deltage i denne afstemning.", "interaction_modal.login.action": "Gå til hjemmeserver", "interaction_modal.login.prompt": "Hjemmeserverdomænet, f.eks. mastodon.social", "interaction_modal.no_account_yet": "Ikke på Mastodon?", @@ -396,6 +397,7 @@ "interaction_modal.title.follow": "Følg {name}", "interaction_modal.title.reblog": "Boost {name}s indlæg", "interaction_modal.title.reply": "Besvar {name}s indlæg", + "interaction_modal.title.vote": "Deltag i {name}s afstemning", "intervals.full.days": "{number, plural, one {# dag} other {# dage}}", "intervals.full.hours": "{number, plural, one {# time} other {# timer}}", "intervals.full.minutes": "{number, plural, one {# minut} other {# minutter}}", diff --git a/app/javascript/mastodon/locales/de.json b/app/javascript/mastodon/locales/de.json index a02f13aef0a9b0..1d59b1472448af 100644 --- a/app/javascript/mastodon/locales/de.json +++ b/app/javascript/mastodon/locales/de.json @@ -386,6 +386,7 @@ "interaction_modal.description.follow": "Mit einem Mastodon-Konto kannst du {name} folgen, um die Beiträge auf deiner Startseite zu sehen.", "interaction_modal.description.reblog": "Mit einem Mastodon-Konto kannst du die Reichweite dieses Beitrags erhöhen, indem du ihn mit deinen Followern teilst.", "interaction_modal.description.reply": "Mit einem Mastodon-Konto kannst du auf diesen Beitrag antworten.", + "interaction_modal.description.vote": "Mit einem Mastodon-Konto kannst du an dieser Umfrage teilnehmen.", "interaction_modal.login.action": "Zurück zur Startseite", "interaction_modal.login.prompt": "Adresse deines Servers, z. B. mastodon.social", "interaction_modal.no_account_yet": "Nicht auf Mastodon?", @@ -397,6 +398,7 @@ "interaction_modal.title.follow": "Folge {name}", "interaction_modal.title.reblog": "Beitrag von {name} teilen", "interaction_modal.title.reply": "Auf Beitrag von {name} antworten", + "interaction_modal.title.vote": "An der Umfrage von {name} teilnehmen", "intervals.full.days": "{number, plural, one {# Tag} other {# Tage}}", "intervals.full.hours": "{number, plural, one {# Stunde} other {# Stunden}}", "intervals.full.minutes": "{number, plural, one {# Minute} other {# Minuten}}", diff --git a/app/javascript/mastodon/locales/eo.json b/app/javascript/mastodon/locales/eo.json index 0c9118228546c9..7abe0783c39f43 100644 --- a/app/javascript/mastodon/locales/eo.json +++ b/app/javascript/mastodon/locales/eo.json @@ -386,6 +386,7 @@ "interaction_modal.description.follow": "Kun konto ĉe Mastodon, vi povas sekvi {name} por ricevi iliajn afiŝojn en via hejma fluo.", "interaction_modal.description.reblog": "Kun konto ĉe Mastodon, vi povas diskonigi ĉi tiun afiŝon, por ke viaj propraj sekvantoj vidu ĝin.", "interaction_modal.description.reply": "Kun konto ĉe Mastodon, vi povos respondi al ĉi tiu afiŝo.", + "interaction_modal.description.vote": "Kun konto ĉe Mastodon, vi povas voĉdoni en ĉi tiu balotenketo.", "interaction_modal.login.action": "Prenu min hejmen", "interaction_modal.login.prompt": "Domajno de via hejma servilo, ekz. mastodon.social", "interaction_modal.no_account_yet": "Ĉu ne estas ĉe Mastodon?", @@ -397,6 +398,7 @@ "interaction_modal.title.follow": "Sekvi {name}", "interaction_modal.title.reblog": "Akceli la afiŝon de {name}", "interaction_modal.title.reply": "Respondi al la afiŝo de {name}", + "interaction_modal.title.vote": "Voĉdonu en la balotenketo de {name}", "intervals.full.days": "{number, plural, one {# tago} other {# tagoj}}", "intervals.full.hours": "{number, plural, one {# horo} other {# horoj}}", "intervals.full.minutes": "{number, plural, one {# minuto} other {# minutoj}}", @@ -527,7 +529,7 @@ "notification.moderation_warning.action_sensitive": "Viaj afiŝoj estos markitaj kiel sentemaj ekde nun.", "notification.moderation_warning.action_silence": "Via konto estis limigita.", "notification.moderation_warning.action_suspend": "Via konto estas malakceptita.", - "notification.own_poll": "Via enketo finiĝis", + "notification.own_poll": "Via balotenketo finiĝitis", "notification.poll": "Balotenketo, en kiu vi voĉdonis, finiĝis", "notification.reblog": "{name} diskonigis vian afiŝon", "notification.reblog.name_and_others_with_link": "{name} kaj {count, plural, one {# alia} other {# aliaj}} diskonigis vian afiŝon", @@ -659,7 +661,7 @@ "poll.total_people": "{count, plural, one {# homo} other {# homoj}}", "poll.total_votes": "{count, plural, one {# voĉdono} other {# voĉdonoj}}", "poll.vote": "Voĉdoni", - "poll.voted": "Vi elektis por ĉi tiu respondo", + "poll.voted": "Vi voĉdonis por ĉi tiu respondo", "poll.votes": "{votes, plural, one {# voĉdono} other {# voĉdonoj}}", "poll_button.add_poll": "Aldoni balotenketon", "poll_button.remove_poll": "Forigi balotenketon", diff --git a/app/javascript/mastodon/locales/es-AR.json b/app/javascript/mastodon/locales/es-AR.json index 55e64faba58ad3..e1803aabdaff0d 100644 --- a/app/javascript/mastodon/locales/es-AR.json +++ b/app/javascript/mastodon/locales/es-AR.json @@ -386,6 +386,7 @@ "interaction_modal.description.follow": "Con una cuenta en Mastodon, podés seguir a {name} para recibir sus mensajes en tu línea temporal principal.", "interaction_modal.description.reblog": "Con una cuenta en Mastodon, podés adherir a este mensaje para compartirlo con tus propios seguidores.", "interaction_modal.description.reply": "Con una cuenta en Mastodon, podés responder a este mensaje.", + "interaction_modal.description.vote": "Con una cuenta en Mastodon, puedes votar en esta encuesta.", "interaction_modal.login.action": "Llevame al comienzo", "interaction_modal.login.prompt": "Dominio de su servidor de inicio, p. ej., mastodon.social", "interaction_modal.no_account_yet": "¿No tenés cuenta en Mastodon?", @@ -397,6 +398,7 @@ "interaction_modal.title.follow": "Seguir a {name}", "interaction_modal.title.reblog": "Adherir al mensaje de {name}", "interaction_modal.title.reply": "Responder al mensaje de {name}", + "interaction_modal.title.vote": "Vota en la encuesta de {name}", "intervals.full.days": "{number, plural, one {# día} other {# días}}", "intervals.full.hours": "{number, plural, one {# hora} other {# horas}}", "intervals.full.minutes": "{number, plural, one {# minuto} other {# minutos}}", diff --git a/app/javascript/mastodon/locales/es-MX.json b/app/javascript/mastodon/locales/es-MX.json index f4e0352450d930..af2bd0e528e533 100644 --- a/app/javascript/mastodon/locales/es-MX.json +++ b/app/javascript/mastodon/locales/es-MX.json @@ -386,6 +386,7 @@ "interaction_modal.description.follow": "Con una cuenta en Mastodon, puedes seguir {name} para recibir sus publicaciones en tu fuente de inicio.", "interaction_modal.description.reblog": "Con una cuenta en Mastodon, puedes impulsar esta publicación para compartirla con tus propios seguidores.", "interaction_modal.description.reply": "Con una cuenta en Mastodon, puedes responder a esta publicación.", + "interaction_modal.description.vote": "Con una cuenta en Mastodon, puedes votar en esta encuesta.", "interaction_modal.login.action": "Ir a Inicio", "interaction_modal.login.prompt": "Dominio de tu servidor, por ejemplo: mastodon.social", "interaction_modal.no_account_yet": "¿Aún no tienes cuenta en Mastodon?", @@ -397,6 +398,7 @@ "interaction_modal.title.follow": "Seguir a {name}", "interaction_modal.title.reblog": "Impulsar la publicación de {name}", "interaction_modal.title.reply": "Responder la publicación de {name}", + "interaction_modal.title.vote": "Vota en la encuesta de {name}", "intervals.full.days": "{number, plural, one {# día} other {# días}}", "intervals.full.hours": "{number, plural, one {# hora} other {# horas}}", "intervals.full.minutes": "{number, plural, one {# minuto} other {# minutos}}", diff --git a/app/javascript/mastodon/locales/es.json b/app/javascript/mastodon/locales/es.json index 30a4b91fa23645..dea526f8a0c218 100644 --- a/app/javascript/mastodon/locales/es.json +++ b/app/javascript/mastodon/locales/es.json @@ -386,6 +386,7 @@ "interaction_modal.description.follow": "Con una cuenta en Mastodon, puedes seguir {name} para recibir sus publicaciones en tu línea temporal de inicio.", "interaction_modal.description.reblog": "Con una cuenta en Mastodon, puedes impulsar esta publicación para compartirla con tus propios seguidores.", "interaction_modal.description.reply": "Con una cuenta en Mastodon, puedes responder a esta publicación.", + "interaction_modal.description.vote": "Con una cuenta en Mastodon, puedes votar en esta encuesta.", "interaction_modal.login.action": "Ir a Inicio", "interaction_modal.login.prompt": "Dominio de tu servidor, por ejemplo mastodon.social", "interaction_modal.no_account_yet": "¿Aún no tienes cuenta en Mastodon?", @@ -397,6 +398,7 @@ "interaction_modal.title.follow": "Seguir a {name}", "interaction_modal.title.reblog": "Impulsar la publicación de {name}", "interaction_modal.title.reply": "Responder a la publicación de {name}", + "interaction_modal.title.vote": "Vota en la encuesta de {name}", "intervals.full.days": "{number, plural, one {# día} other {# días}}", "intervals.full.hours": "{number, plural, one {# hora} other {# horas}}", "intervals.full.minutes": "{number, plural, one {# minuto} other {# minutos}}", diff --git a/app/javascript/mastodon/locales/fi.json b/app/javascript/mastodon/locales/fi.json index 37f3b87e84fae5..0455e4df29ba63 100644 --- a/app/javascript/mastodon/locales/fi.json +++ b/app/javascript/mastodon/locales/fi.json @@ -386,6 +386,7 @@ "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.description.vote": "Mastodon-tilillä voit osallistua tähän äänestykseen.", "interaction_modal.login.action": "Siirry kotiin", "interaction_modal.login.prompt": "Kotipalvelimesi verkkotunnus, kuten mastodon.social", "interaction_modal.no_account_yet": "Etkö ole vielä Mastodonissa?", @@ -397,6 +398,7 @@ "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", + "interaction_modal.title.vote": "Osallistu käyttäjän {name} äänestykseen", "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}}", diff --git a/app/javascript/mastodon/locales/fo.json b/app/javascript/mastodon/locales/fo.json index 921f38468c130c..e15385725a0097 100644 --- a/app/javascript/mastodon/locales/fo.json +++ b/app/javascript/mastodon/locales/fo.json @@ -386,6 +386,7 @@ "interaction_modal.description.follow": "Við eini kontu á Mastodon kanst tú fylgja {name} fyri at síggja teirra postar á tíni heimarás.", "interaction_modal.description.reblog": "Við eini kontu á Mastodon kanst tú stimbra hendan postin og soleiðis deila hann við tínar fylgjarar.", "interaction_modal.description.reply": "Við eini kontu á Mastodon, so kanst tú svara hesum posti.", + "interaction_modal.description.vote": "Við eini kontu á Mastodon, so kanst tú atkvøða í hesi spurnarkanningini.", "interaction_modal.login.action": "Tak meg heim", "interaction_modal.login.prompt": "Navnaøki hjá tínum heimaambætara, t.d. mastodon.social", "interaction_modal.no_account_yet": "Ikki á Mastodon?", @@ -397,6 +398,7 @@ "interaction_modal.title.follow": "Fylg {name}", "interaction_modal.title.reblog": "Stimbra postin hjá {name}", "interaction_modal.title.reply": "Svara postinum hjá {name}", + "interaction_modal.title.vote": "Atkvøði í spurnarkanningini hjá {name}", "intervals.full.days": "{number, plural, one {# dagur} other {# dagar}}", "intervals.full.hours": "{number, plural, one {# tími} other {# tímar}}", "intervals.full.minutes": "{number, plural, one {# minuttur} other {# minuttir}}", diff --git a/app/javascript/mastodon/locales/gl.json b/app/javascript/mastodon/locales/gl.json index a772dbc0f78034..822666ad8c7905 100644 --- a/app/javascript/mastodon/locales/gl.json +++ b/app/javascript/mastodon/locales/gl.json @@ -452,7 +452,7 @@ "lists.exclusive": "Agocha estas publicacións no Inicio", "lists.new.create": "Engadir listaxe", "lists.new.title_placeholder": "Título da nova listaxe", - "lists.replies_policy.followed": "Toda usuaria seguida", + "lists.replies_policy.followed": "Calquera usuaria que siga", "lists.replies_policy.list": "Membros da lista", "lists.replies_policy.none": "Ninguén", "lists.replies_policy.title": "Mostrar respostas a:", diff --git a/app/javascript/mastodon/locales/he.json b/app/javascript/mastodon/locales/he.json index 087eed903032cc..ed08a9aba3e570 100644 --- a/app/javascript/mastodon/locales/he.json +++ b/app/javascript/mastodon/locales/he.json @@ -386,6 +386,7 @@ "interaction_modal.description.follow": "עם חשבון מסטודון, ניתן לעקוב אחרי {name} כדי לקבל את הפוסטים שלו/ה בפיד הבית.", "interaction_modal.description.reblog": "עם חשבון מסטודון, ניתן להדהד את החצרוץ ולשתף עם עוקבים.", "interaction_modal.description.reply": "עם חשבון מסטודון, ניתן לענות לחצרוץ.", + "interaction_modal.description.vote": "עם חשבון מסטודון, ניתן להצביע בסקר.", "interaction_modal.login.action": "קח אותי לדף הבית", "interaction_modal.login.prompt": "שם השרת שלך, למשל mastodon.social", "interaction_modal.no_account_yet": "עדיין לא במסטודון?", @@ -397,6 +398,7 @@ "interaction_modal.title.follow": "לעקוב אחרי {name}", "interaction_modal.title.reblog": "להדהד את החצרוץ של {name}", "interaction_modal.title.reply": "תשובה לחצרוץ של {name}", + "interaction_modal.title.vote": "הצביעו בסקר של {name}", "intervals.full.days": "{number, plural, one {# יום} other {# ימים}}", "intervals.full.hours": "{number, plural, one {# שעה} other {# שעות}}", "intervals.full.minutes": "{number, plural, one {# דקה} other {# דקות}}", diff --git a/app/javascript/mastodon/locales/hu.json b/app/javascript/mastodon/locales/hu.json index af0d83954dc420..0933a7c25655d1 100644 --- a/app/javascript/mastodon/locales/hu.json +++ b/app/javascript/mastodon/locales/hu.json @@ -386,6 +386,7 @@ "interaction_modal.description.follow": "Egy Mastodon-fiókkal követheted {name} fiókját, hogy lásd a bejegyzéseit a kezdőlapodon.", "interaction_modal.description.reblog": "Egy Mastodon fiókkal megtolhatod ezt a bejegyzést, hogy megoszd a saját követőiddel.", "interaction_modal.description.reply": "Egy Mastodon fiókkal válaszolhatsz erre a bejegyzésre.", + "interaction_modal.description.vote": "Egy Mastodon fiókkal szavazhatsz ebben a szavazásban.", "interaction_modal.login.action": "Vigyen haza", "interaction_modal.login.prompt": "A saját kiszolgálód tartományneve, pl.: mastodon.social", "interaction_modal.no_account_yet": "Nem vagy Mastodonon?", @@ -397,6 +398,7 @@ "interaction_modal.title.follow": "{name} követése", "interaction_modal.title.reblog": "{name} bejegyzésének megtolása", "interaction_modal.title.reply": "Válasz {name} bejegyzésére", + "interaction_modal.title.vote": "Szavazz {name} szavazásában", "intervals.full.days": "{number, plural, one {# nap} other {# nap}}", "intervals.full.hours": "{number, plural, one {# óra} other {# óra}}", "intervals.full.minutes": "{number, plural, one {# perc} other {# perc}}", diff --git a/app/javascript/mastodon/locales/is.json b/app/javascript/mastodon/locales/is.json index d1601c7634cb54..8c87298910597d 100644 --- a/app/javascript/mastodon/locales/is.json +++ b/app/javascript/mastodon/locales/is.json @@ -386,6 +386,7 @@ "interaction_modal.description.follow": "Með notandaaðgangi á Mastodon geturðu fylgst með {name} og fengið færslur frá viðkomandi í heimastreymið þitt.", "interaction_modal.description.reblog": "Með notandaaðgangi á Mastodon geturðu endurbirt þessa færslu til að deila henni með þeim sem fylgjast með þér.", "interaction_modal.description.reply": "Með notandaaðgangi á Mastodon geturðu svarað þessari færslu.", + "interaction_modal.description.vote": "Þú getur greitt atkvæði í þessari könnun ef þú ert með aðgang á Mastodon.", "interaction_modal.login.action": "Fara á heimastreymið mitt", "interaction_modal.login.prompt": "Lén heimanetþjónsins þíns, t.d. mastodon.social", "interaction_modal.no_account_yet": "Ekki á Mastodon?", @@ -397,6 +398,7 @@ "interaction_modal.title.follow": "Fylgjast með {name}", "interaction_modal.title.reblog": "Endurbirta færsluna frá {name}", "interaction_modal.title.reply": "Svara færslunni frá {name}", + "interaction_modal.title.vote": "Greiða atkvæði í könnun á vegum {name}", "intervals.full.days": "{number, plural, one {# dagur} other {# dagar}}", "intervals.full.hours": "{number, plural, one {# klukkustund} other {# klukkustundir}}", "intervals.full.minutes": "{number, plural, one {# mínúta} other {# mínútur}}", diff --git a/app/javascript/mastodon/locales/ko.json b/app/javascript/mastodon/locales/ko.json index 532fc01ab1ea00..3462675e3e0e1e 100644 --- a/app/javascript/mastodon/locales/ko.json +++ b/app/javascript/mastodon/locales/ko.json @@ -352,7 +352,7 @@ "hashtag.column_settings.tag_toggle": "추가 해시태그를 이 컬럼에 추가합니다", "hashtag.counter_by_accounts": "{count, plural, other {참여자 {counter}명}}", "hashtag.counter_by_uses": "{count, plural, other {게시물 {counter}개}}", - "hashtag.counter_by_uses_today": "금일 {count, plural, other {게시물 {counter}개}}", + "hashtag.counter_by_uses_today": "오늘 {count, plural, other {{counter} 개의 게시물}}", "hashtag.follow": "해시태그 팔로우", "hashtag.unfollow": "해시태그 팔로우 해제", "hashtags.and_other": "…및 {count, plural,other {#개}}", diff --git a/app/javascript/mastodon/locales/lt.json b/app/javascript/mastodon/locales/lt.json index b2740b0165ee7d..7d53c2702fc99e 100644 --- a/app/javascript/mastodon/locales/lt.json +++ b/app/javascript/mastodon/locales/lt.json @@ -386,6 +386,7 @@ "interaction_modal.description.follow": "Su Mastodon paskyra gali sekti {name}, kad gautum jų įrašus į pagrindinį srautą.", "interaction_modal.description.reblog": "Su Mastodon paskyra gali pakelti šią įrašą ir pasidalyti juo su savo sekėjais.", "interaction_modal.description.reply": "Su Mastodon paskyra gali atsakyti į šį įrašą.", + "interaction_modal.description.vote": "Su „Mastodon“ paskyra galite balsuoti šioje apklausoje.", "interaction_modal.login.action": "Į pagrindinį puslapį", "interaction_modal.login.prompt": "Tavo pagrindinio serverio domenas, pvz., mastodon.social.", "interaction_modal.no_account_yet": "Nesi Mastodon?", @@ -397,6 +398,7 @@ "interaction_modal.title.follow": "Sekti {name}", "interaction_modal.title.reblog": "Pakelti {name} įrašą", "interaction_modal.title.reply": "Atsakyti į {name} įrašą", + "interaction_modal.title.vote": "Balsuoti {name} apklausoje", "intervals.full.days": "{number, plural, one {# diena} few {# dienos} many {# dienos} other {# dienų}}", "intervals.full.hours": "{number, plural, one {# valanda} few {# valandos} many {# valandos} other {# valandų}}", "intervals.full.minutes": "{number, plural, one {# minutė} few {# minutes} many {# minutės} other {# minučių}}", diff --git a/app/javascript/mastodon/locales/nl.json b/app/javascript/mastodon/locales/nl.json index e7add2e8c7b5a7..9f265782e111b3 100644 --- a/app/javascript/mastodon/locales/nl.json +++ b/app/javascript/mastodon/locales/nl.json @@ -386,6 +386,7 @@ "interaction_modal.description.follow": "Je kunt met een Mastodon-account {name} volgen, om zo diens berichten op jouw starttijdlijn te ontvangen.", "interaction_modal.description.reblog": "Je kunt met een Mastodon-account dit bericht boosten, om het zo met jouw volgers te delen.", "interaction_modal.description.reply": "Je kunt met een Mastodon-account op dit bericht reageren.", + "interaction_modal.description.vote": "Met een Mastodon-account kun je stemmen in deze peiling.", "interaction_modal.login.action": "Ga naar start", "interaction_modal.login.prompt": "Domein van jouw server, bv. mastodon.social", "interaction_modal.no_account_yet": "Niet op Mastodon?", @@ -397,6 +398,7 @@ "interaction_modal.title.follow": "{name} volgen", "interaction_modal.title.reblog": "Bericht van {name} boosten", "interaction_modal.title.reply": "Op het bericht van {name} reageren", + "interaction_modal.title.vote": "Stemmen in {name}'s peiling", "intervals.full.days": "{number, plural, one {# dag} other {# dagen}}", "intervals.full.hours": "{number, plural, one {# uur} other {# uur}}", "intervals.full.minutes": "{number, plural, one {# minuut} other {# minuten}}", diff --git a/app/javascript/mastodon/locales/pl.json b/app/javascript/mastodon/locales/pl.json index 5867d6c1a0e0b4..c521fabf390515 100644 --- a/app/javascript/mastodon/locales/pl.json +++ b/app/javascript/mastodon/locales/pl.json @@ -386,6 +386,7 @@ "interaction_modal.description.follow": "Mając konto na Mastodonie, możesz śledzić {name} by widzieć jego wpisy na swojej głównej osi czasu.", "interaction_modal.description.reblog": "Mając konto na Mastodonie, możesz podbić ten wpis i udostępnić go Twoim obserwującym.", "interaction_modal.description.reply": "Mając konto na Mastodonie, możesz odpowiedzieć na ten wpis.", + "interaction_modal.description.vote": "Mając konto na Mastodonie, możesz wziąć udział w tym głosowaniu.", "interaction_modal.login.action": "Wróć na stronę główną", "interaction_modal.login.prompt": "Domena twojego serwera domowego, np. \"mastodon.social\"", "interaction_modal.no_account_yet": "Nie masz konta na Mastodonie?", @@ -397,6 +398,7 @@ "interaction_modal.title.follow": "Śledź {name}", "interaction_modal.title.reblog": "Podbij wpis {name}", "interaction_modal.title.reply": "Odpowiedz na post {name}", + "interaction_modal.title.vote": "Weź udział w głosowaniu {name}", "intervals.full.days": "{number, plural, one {# dzień} few {# dni} many {# dni} other {# dni}}", "intervals.full.hours": "{number, plural, one {# godzina} few {# godziny} many {# godzin} other {# godzin}}", "intervals.full.minutes": "{number, plural, one {# minuta} few {# minuty} many {# minut} other {# minut}}", diff --git a/app/javascript/mastodon/locales/pt-BR.json b/app/javascript/mastodon/locales/pt-BR.json index 28c6a07e019191..c620933abe2ae3 100644 --- a/app/javascript/mastodon/locales/pt-BR.json +++ b/app/javascript/mastodon/locales/pt-BR.json @@ -386,6 +386,7 @@ "interaction_modal.description.follow": "Com uma conta no Mastodon, você pode seguir {name} para receber publicações na sua página inicial.", "interaction_modal.description.reblog": "Com uma conta no Mastodon, você pode impulsionar esta publicação para compartilhá-lo com seus próprios seguidores.", "interaction_modal.description.reply": "Com uma conta no Mastodon, você pode responder a esta publicação.", + "interaction_modal.description.vote": "Com uma conta no Mastodon, você pode votar nesta enquete.", "interaction_modal.login.action": "Leve-me para casa", "interaction_modal.login.prompt": "Domínio do seu servidor hospedeiro; por exemplo, mastodon.social", "interaction_modal.no_account_yet": "Ainda não está no Mastodon?", @@ -397,6 +398,7 @@ "interaction_modal.title.follow": "Seguir {name}", "interaction_modal.title.reblog": "Impulsionar publicação de {name}", "interaction_modal.title.reply": "Responder à publicação de {name}", + "interaction_modal.title.vote": "Votar na enquete de {name}", "intervals.full.days": "{number, plural, one {# dia} other {# dias}}", "intervals.full.hours": "{number, plural, one {# hora} other {# horas}}", "intervals.full.minutes": "{number, plural, one {# minuto} other {# minutos}}", diff --git a/app/javascript/mastodon/locales/sq.json b/app/javascript/mastodon/locales/sq.json index c0199d00783ca6..410d7c2ef3dd2f 100644 --- a/app/javascript/mastodon/locales/sq.json +++ b/app/javascript/mastodon/locales/sq.json @@ -386,6 +386,7 @@ "interaction_modal.description.follow": "Me një llogari në Mastodon, mund ta ndiqni {name} për të marrë postimet e tyre në prurjen tuaj të kreut.", "interaction_modal.description.reblog": "Me një llogari në Mastodon, mund ta përforconi këtë postim për ta ndarë me ndjekësit tuaj.", "interaction_modal.description.reply": "Me një llogari në Mastodon, mund t’i përgjigjeni këtij postimi.", + "interaction_modal.description.vote": "Me një llogari në Mastodon, mund të votoni në këtë pyetësor.", "interaction_modal.login.action": "Shpjemëni në shtëpi", "interaction_modal.login.prompt": "Përkatësia e shërbyesit tuaj vatër, p.sh. mastodon.social", "interaction_modal.no_account_yet": "S’gjendeni në Mastodon?", @@ -397,6 +398,7 @@ "interaction_modal.title.follow": "Ndiq {name}", "interaction_modal.title.reblog": "Përforconi postimin e {name}", "interaction_modal.title.reply": "Përgjigjuni postimit të {name}", + "interaction_modal.title.vote": "Votoni te pyetësori nga {name}", "intervals.full.days": "{number, plural, one {# ditë} other {# ditë}}", "intervals.full.hours": "{number, plural, one {# orë} other {# orë}}", "intervals.full.minutes": "{number, plural, one {# minutë} other {# minuta}}", diff --git a/app/javascript/mastodon/locales/sv.json b/app/javascript/mastodon/locales/sv.json index eae02649a179b6..304535a67c5907 100644 --- a/app/javascript/mastodon/locales/sv.json +++ b/app/javascript/mastodon/locales/sv.json @@ -386,6 +386,7 @@ "interaction_modal.description.follow": "Med ett Mastodon-konto kan du följa {name} för att se hens inlägg i ditt hemflöde.", "interaction_modal.description.reblog": "Med ett Mastodon-konto kan du boosta detta inlägg för att dela den med dina egna följare.", "interaction_modal.description.reply": "Med ett Mastodon-konto kan du svara på detta inlägg.", + "interaction_modal.description.vote": "Med ett konto på Mastodon kan du delta i denna omröstning.", "interaction_modal.login.action": "Ta hem mig", "interaction_modal.login.prompt": "Domän för din hemserver, t.ex. mastodon.social", "interaction_modal.no_account_yet": "Inte på Mastodon?", diff --git a/app/javascript/mastodon/locales/tr.json b/app/javascript/mastodon/locales/tr.json index fbbe76b431ecb1..5ac5a3368b4c5d 100644 --- a/app/javascript/mastodon/locales/tr.json +++ b/app/javascript/mastodon/locales/tr.json @@ -386,6 +386,7 @@ "interaction_modal.description.follow": "Mastodon'daki bir hesapla, {name} kişisini, ana akışınızdaki gönderilerini görmek üzere takip edebilirsiniz.", "interaction_modal.description.reblog": "Mastodon'daki bir hesapla, bu gönderiyi takipçilerinizle paylaşmak için tuşlayabilirsiniz.", "interaction_modal.description.reply": "Mastodon'daki bir hesapla, bu gönderiye yanıt verebilirsiniz.", + "interaction_modal.description.vote": "Mastodon'daki bir hesapla, bu ankette oy kullanabilirsiniz.", "interaction_modal.login.action": "Anasayfaya geri dön", "interaction_modal.login.prompt": "Ev sunucunuzun etki alanı, örneğin mastodon.social", "interaction_modal.no_account_yet": "Mastodon açık değil?", @@ -397,6 +398,7 @@ "interaction_modal.title.follow": "{name} kişisini takip et", "interaction_modal.title.reblog": "{name} kişisinin gönderisini yeniden paylaş", "interaction_modal.title.reply": "{name} kişisinin gönderisine yanıt ver", + "interaction_modal.title.vote": "{name} kullanıcısının anketinde oy kullan", "intervals.full.days": "{number, plural, one {# gün} other {# gün}}", "intervals.full.hours": "{number, plural, one {# saat} other {# saat}}", "intervals.full.minutes": "{number, plural, one {# dakika} other {# dakika}}", diff --git a/app/javascript/mastodon/locales/uk.json b/app/javascript/mastodon/locales/uk.json index 9afa5816aad719..fc396aa9339cca 100644 --- a/app/javascript/mastodon/locales/uk.json +++ b/app/javascript/mastodon/locales/uk.json @@ -386,6 +386,7 @@ "interaction_modal.description.follow": "Маючи обліковий запис на Mastodon, ви можете підписатися на {name}, щоб отримувати дописи цього користувача у свою стрічку.", "interaction_modal.description.reblog": "Маючи обліковий запис на Mastodon, ви можете поширити цей допис, щоб поділитися ним зі своїми підписниками.", "interaction_modal.description.reply": "Маючи обліковий запис на Mastodon, ви можете відповісти на цей допис.", + "interaction_modal.description.vote": "Маючи обліковий запис на Mastodon, ви можете проголосувати в цьому опитуванні.", "interaction_modal.login.action": "На домашню сторінку", "interaction_modal.login.prompt": "Домен вашого домашнього сервера, наприклад, mastodon.social", "interaction_modal.no_account_yet": "Не зареєстровані в Mastodon?", @@ -397,6 +398,7 @@ "interaction_modal.title.follow": "Підписатися на {name}", "interaction_modal.title.reblog": "Поширити допис {name}", "interaction_modal.title.reply": "Відповісти на допис {name}", + "interaction_modal.title.vote": "Проголосувати в опитуванні {name}", "intervals.full.days": "{number, plural, one {# день} few {# дні} other {# днів}}", "intervals.full.hours": "{number, plural, one {# година} few {# години} other {# годин}}", "intervals.full.minutes": "{number, plural, one {# хвилина} few {# хвилини} other {# хвилин}}", diff --git a/app/javascript/mastodon/locales/vi.json b/app/javascript/mastodon/locales/vi.json index 0fcd3e43dd3711..7ae955c1b0ca6f 100644 --- a/app/javascript/mastodon/locales/vi.json +++ b/app/javascript/mastodon/locales/vi.json @@ -386,6 +386,7 @@ "interaction_modal.description.follow": "Với tài khoản Mastodon, bạn có thể theo dõi {name} để tút của họ hiện trên bảng tin của mình.", "interaction_modal.description.reblog": "Với tài khoản Mastodon, bạn có thể đăng lại tút này để chia sẻ nó với những người đang theo dõi bạn.", "interaction_modal.description.reply": "Với tài khoản Mastodon, bạn có thể trả lời tút này.", + "interaction_modal.description.vote": "Với tài khoản Mastodon, bạn có thể tham gia bình chọn.", "interaction_modal.login.action": "Đăng nhập ngay", "interaction_modal.login.prompt": "Địa chỉ máy chủ của bạn, vd: mastodon.social", "interaction_modal.no_account_yet": "Chưa có tài khoản Mastodon?", @@ -397,6 +398,7 @@ "interaction_modal.title.follow": "Theo dõi {name}", "interaction_modal.title.reblog": "Đăng lại tút của {name}", "interaction_modal.title.reply": "Trả lời tút của {name}", + "interaction_modal.title.vote": "Bình chọn cùng {name}", "intervals.full.days": "{number, plural, other {# ngày}}", "intervals.full.hours": "{number, plural, other {# giờ}}", "intervals.full.minutes": "{number, plural, other {# phút}}", diff --git a/app/javascript/mastodon/locales/zh-CN.json b/app/javascript/mastodon/locales/zh-CN.json index f8da5933ae506c..1c233a64034358 100644 --- a/app/javascript/mastodon/locales/zh-CN.json +++ b/app/javascript/mastodon/locales/zh-CN.json @@ -386,6 +386,7 @@ "interaction_modal.description.follow": "拥有一个 Mastodon 账号,你可以关注 {name} 并在自己的主页上接收对方的新嘟文。", "interaction_modal.description.reblog": "拥有一个 Mastodon 账号,你可以向自己的关注者们转发此嘟文。", "interaction_modal.description.reply": "拥有一个 Mastodon 账号,你可以回复此嘟文。", + "interaction_modal.description.vote": "拥有一个 Mastodon 账号,你可以参与此投票。", "interaction_modal.login.action": "转到主页", "interaction_modal.login.prompt": "您所入驻的服务器域名,如:mastodon.social", "interaction_modal.no_account_yet": "不在 Mastodon 上?", @@ -397,6 +398,7 @@ "interaction_modal.title.follow": "关注 {name}", "interaction_modal.title.reblog": "转发 {name} 的嘟文", "interaction_modal.title.reply": "回复 {name} 的嘟文", + "interaction_modal.title.vote": "参与 {name} 的投票", "intervals.full.days": "{number} 天", "intervals.full.hours": "{number} 小时", "intervals.full.minutes": "{number} 分钟", diff --git a/app/javascript/mastodon/locales/zh-TW.json b/app/javascript/mastodon/locales/zh-TW.json index 8903573dec3e32..a3de26ffc40dca 100644 --- a/app/javascript/mastodon/locales/zh-TW.json +++ b/app/javascript/mastodon/locales/zh-TW.json @@ -386,6 +386,7 @@ "interaction_modal.description.follow": "若於 Mastodon 上有個帳號,您可以跟隨 {name} 以於首頁時間軸接收他們的嘟文。", "interaction_modal.description.reblog": "若於 Mastodon 上有個帳號,您可以轉嘟此嘟文以向您的跟隨者們分享。", "interaction_modal.description.reply": "若於 Mastodon 上有個帳號,您可以回覆此嘟文。", + "interaction_modal.description.vote": "若於 Mastodon 上有個帳號,您可以參與此投票。", "interaction_modal.login.action": "返回首頁", "interaction_modal.login.prompt": "您帳號所屬伺服器之網域,例如:mastodon.social", "interaction_modal.no_account_yet": "還沒有 Mastodon 帳號嗎?", @@ -397,6 +398,7 @@ "interaction_modal.title.follow": "跟隨 {name}", "interaction_modal.title.reblog": "轉嘟 {name} 的嘟文", "interaction_modal.title.reply": "回覆 {name} 的嘟文", + "interaction_modal.title.vote": "參與 {name} 之投票", "intervals.full.days": "{number, plural, other {# 天}}", "intervals.full.hours": "{number, plural, other {# 小時}}", "intervals.full.minutes": "{number, plural, other {# 分鐘}}", diff --git a/config/locales/eo.yml b/config/locales/eo.yml index 3d63ecd01d6604..f21e0bc7247d85 100644 --- a/config/locales/eo.yml +++ b/config/locales/eo.yml @@ -531,6 +531,7 @@ eo: total_reported: Signaloj pri ili total_storage: Aŭdovidaj kunsendaĵoj totals_time_period_hint_html: Sumo montritas malsupre inkluzivas datumo ekde komenco. + unknown_instance: Nuntempe ne ekzistas registro pri ĉi tiu domajno sur ĉi tiu servilo. invites: deactivate_all: Malaktivigi ĉion filter: @@ -763,6 +764,7 @@ eo: disabled: Al neniu users: Al salutintaj lokaj uzantoj registrations: + moderation_recommandation: Bonvolu certigi, ke vi havas taŭgan kaj reaktivan moderigan teamon antaŭ ol vi malfermas registriĝojn al ĉiuj! preamble: Regi kiu povas krei konton ĉe via servilo. title: Registriĝoj registrations_mode: @@ -772,6 +774,7 @@ eo: open: Iu povas aliĝi security: authorized_fetch: Devigi aŭtentigon de frataraj serviloj + authorized_fetch_overridden_hint: Vi nuntempe ne povas ŝanĝi ĉi tiun agordon ĉar ĝi estas anstataŭita de mediovariablo. title: Agordoj de la servilo site_uploads: delete: Forigi elŝutitan dosieron @@ -856,7 +859,12 @@ eo: message_html: "Via objektostokado estas misagordita. La privateco de viaj uzantoj estas en risko." tags: moderation: + not_usable: Ne uzebla + review_requested: Revizio petita + reviewed: Reviziita title: Stato + unreviewed: Nereviziita + usable: Uzebla name: Nomo newest: Plej novaj oldest: Plej malnovaj @@ -1039,6 +1047,7 @@ eo: hint_html: Nur unu plia afero! Ni devas konfirmi, ke vi estas homo (tio estas por ke ni povu konservi la spamon ekstere!). Solvu la CAPTCHA sube kaj alklaku "Daŭrigu". title: Sekureckontrolo confirmations: + awaiting_review_title: Via registriĝo estas reviziita clicking_this_link: alklakante ĉi tiun ligilon login_link: ensaluti registration_complete: Via registriĝo sur %{domain} nun finiĝis! @@ -1104,8 +1113,11 @@ eo: use_security_key: Uzi sekurecan ŝlosilon author_attribution: example_title: Ekzempla teksto + hint_html: Ĉu vi skribas novaĵojn aŭ blogartikolojn ekster Mastodon? Kontrolu kiel vi estas kreditita kiam ili estas kunhavataj ĉe Mastodon. + instructions: 'Certigu, ke ĉi tiu kodo estas en la HTML de via artikolo:' more_from_html: Pli de %{name} s_blog: Blogo de %{name} + then_instructions: Poste, aldonu la domajnan nomon de la publikigado en la suba kampo. title: Atribuo de aŭtoro challenge: confirm: Daŭrigi @@ -1504,6 +1516,7 @@ eo: unrecognized_emoji: ne estas rekonita emoĝio redirects: prompt: Se vi fidas ĉi tiun ligon, alklaku ĝin por daŭrigi. + title: Vi foriras %{instance}. relationships: activity: Konta aktiveco confirm_follow_selected_followers: Ĉu vi certas ke vi volas sekvi la elektitajn sekvantojn? @@ -1699,6 +1712,7 @@ eo: contrast: Mastodon (Forta kontrasto) default: Mastodon (Malhela) mastodon-light: Mastodon (Hela) + system: Aŭtomata (uzu sisteman temon) time: formats: default: "%Y.%b.%d, %H:%M" @@ -1737,6 +1751,10 @@ eo: extra: Estas nun preta por elŝuto! subject: Via arkivo estas preta por elŝutado title: Arkiva elŝuto + failed_2fa: + explanation: Iu provis ensaluti al via konto sed provizis nevalidan duan aŭtentikigfaktoron. + further_actions_html: Se ĉi tio ne estis vi, ni rekomendas ke vi %{action} tuj ĉar ĝi povas esti endanĝerigita. + subject: Malsukceso dum la dua aŭtentikigfaktoro suspicious_sign_in: change_password: ŝanĝi vian pasvorton details: 'Ĉi-sube estas detaloj pri la saluto:' @@ -1776,6 +1794,8 @@ eo: silence: Konto limigita suspend: Konto suspendita welcome: + apps_android_action: Akiru ĝin ĉe Google Play + apps_ios_action: Elŝutu ĉe la App Store apps_step: Elŝutu niajn oficialajn aplikaĵojn. apps_title: Aplikaĵoj de Mastodon edit_profile_action: Agordi @@ -1783,9 +1803,14 @@ eo: explanation: Jen kelkaj konsiloj por helpi vin komenci feature_action: Lerni pli follow_action: Sekvi + follow_step: Sekvi interesajn homojn estas pri kio Mastodon temas. + follows_subtitle: Sekvu konatajn kontojn + follows_title: Kiun sekvi + follows_view_more: Rigardu pli da homoj por sekvi hashtags_recent_count: one: "%{people} homo en la pasintaj 2 tagoj" other: "%{people} homoj en la pasintaj 2 tagoj" + hashtags_subtitle: Esploru kio estas tendenco ekde la pasintaj 2 tagoj hashtags_title: Popularaj kradvortoj hashtags_view_more: Vidi pli da popularaj kradvortoj post_action: Redakti @@ -1811,6 +1836,7 @@ eo: instructions_html: Kopiu kaj algluu la jenan kodon en la HTML de via retejo. Poste aldonu la adreson de via retejo en unu el la kromaj kampoj de via profilo en la langeto "Redakti profilon" kaj konservu la ŝanĝojn. verification: Kontrolo verified_links: Via kontrolitaj ligiloj + website_verification: Reteja konfirmo webauthn_credentials: add: Aldoni novan sekurecan ŝlosilon create: diff --git a/config/locales/simple_form.eo.yml b/config/locales/simple_form.eo.yml index 184f1120bd9d17..f8a5776835b4cb 100644 --- a/config/locales/simple_form.eo.yml +++ b/config/locales/simple_form.eo.yml @@ -40,12 +40,14 @@ eo: text: Oni povas apelaci strikin nur unufoje defaults: autofollow: Homoj, kiuj registriĝos per la invito aŭtomate sekvos vin + avatar: WEBP, PNG, GIF aŭ JPG. Maksimume %{size}. Malgrandiĝos al %{dimensions}px bot: Tiu konto ĉefe faras aŭtomatajn agojn, kaj povas esti ne kontrolata context: Unu ol pluraj kuntekstoj kie la filtrilo devus agi current_password: Pro sekuraj kialoj, bonvolu enigi la pasvorton de la nuna konto current_username: Por konfirmi, bonvolu enigi la uzantnomon de la nuna konto digest: Sendita nur post longa tempo de neaktiveco, kaj nur se vi ricevis personan mesaĝon en via foresto email: Vi ricevos konfirman retpoŝton + header: WEBP, PNG, GIF aŭ JPG. Maksimume %{size}. Malgrandiĝos al %{dimensions}px inbox_url: Kopiu la URL de la ĉefpaĝo de la ripetilo, kiun vi volas uzi irreversible: La filtritaj mesaĝoj malaperos por eterne, eĉ se la filtrilo poste estas forigita locale: La lingvo de la fasado, retpoŝtaĵoj, kaj sciigoj @@ -76,12 +78,15 @@ eo: warn: Kaŝi la enhavon filtritan malantaŭ averto mencianta la nomon de la filtro form_admin_settings: activity_api_enabled: Nombroj de loke publikigitaj afiŝoj, aktivaj uzantoj kaj novaj registradoj en semajnaj siteloj + app_icon: WEBP, PNG, GIF aŭ JPG. Anstataŭigas la defaŭltan aplikaĵan bildsimbolon sur porteblaj aparatoj kun propra bildsimbolo. backups_retention_period: Uzantoj havas la kapablon generi arkivojn de siaj afiŝoj por elŝuti poste. Kiam estas agordita al pozitiva valoro, ĉi tiuj arkivoj estos aŭtomate forigitaj de via stokado post la specifita nombro da tagoj. bootstrap_timeline_accounts: Ĉi tiuj kontoj pinglitas al la supro de sekvorekomendoj de novaj uzantoj. closed_registrations_message: Montrita kiam registroj fermitas + content_cache_retention_period: Ĉiuj afiŝoj de aliaj serviloj (inkluzive de diskonigoj kaj respondoj) estos forigitaj post la specifita nombro da tagoj, sen konsidero al iu ajn loka uzantinterago kun tiuj afiŝoj. Ĉi tio inkluzivas afiŝojn, kie loka uzanto markis ĝin kiel legosignojn aŭ ŝatatajn. Privataj mencioj inter uzantoj de malsamaj nodoj ankaŭ estos perditaj kaj neeble restaŭreblaj. Uzo de ĉi tiu agordo estas celita por specialcelaj okazoj kaj rompas multajn uzantajn atendojn kiam efektivigita por ĝenerala uzo. custom_css: Vi povas meti propajn stilojn en la retversio de Mastodon. favicon: WEBP, PNG, GIF aŭ JPG. Anstataŭigas la defaŭltan Mastodon-favikono kun propra bildsimbolo. mascot: Anstatauigi la ilustraĵon en la altnivela retinterfaco. + media_cache_retention_period: Amaskomunikilaj dosieroj de afiŝoj faritaj de foraj uzantoj estas konservitaj en kaŝmemoro en via servilo. Kiam agordita al pozitiva valoro, amaskomunikilaro estos forigita post la specifita nombro da tagoj. Se la amaskomunikilaro-datumoj estas petitaj post kiam ĝi estas forigita, ĝi estos re-elŝutita, se la fonta enhavo ankoraŭ disponeblas. Pro limigoj pri kiom ofte ligaj antaŭrigardaj kartoj enketas retejojn de ekstera liveranto, oni rekomendas agordi ĉi tiun valoron al almenaŭ 14 tagoj, aŭ ligaj antaŭrigardaj kartoj ne estos ĝisdatigitaj laŭpostule antaŭ tiu tempo. peers_api_enabled: Listo de domajnaj nomoj kiujn ĉi tiu servilo renkontis en la fediverso. Neniuj datumoj estas inkluditaj ĉi tie pri ĉu vi federacias kun donita servilo, nur ke via servilo scias pri ĝi. Ĉi tio estas uzata de servoj kiuj kolektas statistikojn pri federacio en ĝenerala signifo. profile_directory: La profilujo listigas ĉiujn uzantojn kiu volonte malkovrebli. require_invite_text: Kiam registroj bezonas permanan aprobon, igi la "Kial vi volas aliĝi?" tekstoenigon deviga anstau nedeviga From 9de3fd60a012c69070a3371efec9c9fd54d9071a Mon Sep 17 00:00:00 2001 From: David Roetzel Date: Tue, 29 Oct 2024 11:10:17 +0100 Subject: [PATCH 086/357] Add telemetry for status / bio formatting (#32677) --- app/helpers/formatting_helper.rb | 18 ++++++- app/lib/text_formatter.rb | 89 ++++++++++++++++++-------------- 2 files changed, 67 insertions(+), 40 deletions(-) diff --git a/app/helpers/formatting_helper.rb b/app/helpers/formatting_helper.rb index 2ef7d362d8223a..9d5a2e24784a10 100644 --- a/app/helpers/formatting_helper.rb +++ b/app/helpers/formatting_helper.rb @@ -27,7 +27,14 @@ def extract_status_plain_text(status) module_function :extract_status_plain_text def status_content_format(status) - html_aware_format(status.text, status.local?, preloaded_accounts: [status.account] + (status.respond_to?(:active_mentions) ? status.active_mentions.map(&:account) : [])) + MastodonOTELTracer.in_span('HtmlAwareFormatter rendering') do |span| + span.add_attributes( + 'app.formatter.content.type' => 'status', + 'app.formatter.content.origin' => status.local? ? 'local' : 'remote' + ) + + html_aware_format(status.text, status.local?, preloaded_accounts: [status.account] + (status.respond_to?(:active_mentions) ? status.active_mentions.map(&:account) : [])) + end end def rss_status_content_format(status) @@ -39,7 +46,14 @@ def rss_status_content_format(status) end def account_bio_format(account) - html_aware_format(account.note, account.local?) + MastodonOTELTracer.in_span('HtmlAwareFormatter rendering') do |span| + span.add_attributes( + 'app.formatter.content.type' => 'account_bio', + 'app.formatter.content.origin' => account.local? ? 'local' : 'remote' + ) + + html_aware_format(account.note, account.local?) + end end def account_field_value_format(field, with_rel_me: true) diff --git a/app/lib/text_formatter.rb b/app/lib/text_formatter.rb index 2b3febc219bac4..5e8e73a2173f40 100644 --- a/app/lib/text_formatter.rb +++ b/app/lib/text_formatter.rb @@ -33,17 +33,24 @@ def entities def to_s return ''.html_safe if text.blank? - html = rewrite do |entity| - if entity[:url] - link_to_url(entity) - elsif entity[:hashtag] - link_to_hashtag(entity) - elsif entity[:screen_name] - link_to_mention(entity) + html = nil + MastodonOTELTracer.in_span('TextFormatter#to_s extract_and_rewrite') do + html = rewrite do |entity| + if entity[:url] + link_to_url(entity) + elsif entity[:hashtag] + link_to_hashtag(entity) + elsif entity[:screen_name] + link_to_mention(entity) + end end end - html = simple_format(html, {}, sanitize: false).delete("\n") if multiline? + if multiline? + MastodonOTELTracer.in_span('TextFormatter#to_s simple_format') do + html = simple_format(html, {}, sanitize: false).delete("\n") + end + end html.html_safe # rubocop:disable Rails/OutputSafety end @@ -93,48 +100,54 @@ def rewrite end def link_to_url(entity) - TextFormatter.shortened_link(entity[:url], rel_me: with_rel_me?) + MastodonOTELTracer.in_span('TextFormatter#link_to_url') do + TextFormatter.shortened_link(entity[:url], rel_me: with_rel_me?) + end end def link_to_hashtag(entity) - hashtag = entity[:hashtag] - url = tag_url(hashtag) + MastodonOTELTracer.in_span('TextFormatter#link_to_hashtag') do + hashtag = entity[:hashtag] + url = tag_url(hashtag) - <<~HTML.squish - - HTML + <<~HTML.squish + + HTML + end end def link_to_mention(entity) - username, domain = entity[:screen_name].split('@') - domain = nil if local_domain?(domain) - account = nil - - if preloaded_accounts? - same_username_hits = 0 - - preloaded_accounts.each do |other_account| - same_username = other_account.username.casecmp(username).zero? - same_domain = other_account.domain.nil? ? domain.nil? : other_account.domain.casecmp(domain)&.zero? - - if same_username && !same_domain - same_username_hits += 1 - elsif same_username && same_domain - account = other_account + MastodonOTELTracer.in_span('TextFormatter#link_to_mention') do + username, domain = entity[:screen_name].split('@') + domain = nil if local_domain?(domain) + account = nil + + if preloaded_accounts? + same_username_hits = 0 + + preloaded_accounts.each do |other_account| + same_username = other_account.username.casecmp(username).zero? + same_domain = other_account.domain.nil? ? domain.nil? : other_account.domain.casecmp(domain)&.zero? + + if same_username && !same_domain + same_username_hits += 1 + elsif same_username && same_domain + account = other_account + end end + else + account = entity_cache.mention(username, domain) end - else - account = entity_cache.mention(username, domain) - end - return "@#{h(entity[:screen_name])}" if account.nil? + return "@#{h(entity[:screen_name])}" if account.nil? - url = ActivityPub::TagManager.instance.url_for(account) - display_username = same_username_hits&.positive? || with_domains? ? account.pretty_acct : account.username + url = ActivityPub::TagManager.instance.url_for(account) + display_username = same_username_hits&.positive? || with_domains? ? account.pretty_acct : account.username - <<~HTML.squish - @#{h(display_username)} - HTML + <<~HTML.squish + @#{h(display_username)} + HTML + end end def entity_cache From 311d2b7f3a979915078a900551a79550a4fd7817 Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Tue, 29 Oct 2024 15:17:28 +0100 Subject: [PATCH 087/357] Update dependency fog-core to '<= 2.6.0' (#32660) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> --- Gemfile | 2 +- Gemfile.lock | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/Gemfile b/Gemfile index 6f4559b00f9f05..97856d78255c93 100644 --- a/Gemfile +++ b/Gemfile @@ -16,7 +16,7 @@ gem 'pghero' gem 'aws-sdk-s3', '~> 1.123', require: false gem 'blurhash', '~> 0.1' -gem 'fog-core', '<= 2.5.0' +gem 'fog-core', '<= 2.6.0' gem 'fog-openstack', '~> 1.0', require: false gem 'kt-paperclip', '~> 7.2' gem 'md-paperclip-azure', '~> 2.2', require: false diff --git a/Gemfile.lock b/Gemfile.lock index 8fff112872cd89..f1088b22b6010e 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -943,7 +943,7 @@ DEPENDENCIES fast_blank (~> 1.0) fastimage flatware-rspec - fog-core (<= 2.5.0) + fog-core (<= 2.6.0) fog-openstack (~> 1.0) haml-rails (~> 2.0) haml_lint From de1d8dc63afbd541710de44502129345e912895c Mon Sep 17 00:00:00 2001 From: Nathan Sparrow <24910097+DismalShadowX@users.noreply.github.com> Date: Tue, 29 Oct 2024 11:12:35 -0400 Subject: [PATCH 088/357] Embed modal mobile fix (#32641) --- app/javascript/styles/mastodon/components.scss | 1 + 1 file changed, 1 insertion(+) diff --git a/app/javascript/styles/mastodon/components.scss b/app/javascript/styles/mastodon/components.scss index 673e47f429833b..fc0b2b0e8e6145 100644 --- a/app/javascript/styles/mastodon/components.scss +++ b/app/javascript/styles/mastodon/components.scss @@ -5809,6 +5809,7 @@ a.status-card { pointer-events: auto; user-select: text; display: flex; + max-width: 100vw; @media screen and (width <= $mobile-breakpoint) { margin-top: auto; From df3b9547202c07ec7ec7f6af8295deb272c6f5ca Mon Sep 17 00:00:00 2001 From: Matt Jankowski Date: Tue, 29 Oct 2024 11:35:25 -0400 Subject: [PATCH 089/357] Add `DomainHelpers` spec support module for DNS/MX stub (#32690) --- .../auth/registrations_controller_spec.rb | 12 +---- spec/rails_helper.rb | 1 + spec/services/app_sign_up_service_spec.rb | 12 +---- spec/support/domain_helpers.rb | 44 +++++++++++++++++++ 4 files changed, 47 insertions(+), 22 deletions(-) create mode 100644 spec/support/domain_helpers.rb diff --git a/spec/controllers/auth/registrations_controller_spec.rb b/spec/controllers/auth/registrations_controller_spec.rb index 6118edf4e34331..d1542128e7a718 100644 --- a/spec/controllers/auth/registrations_controller_spec.rb +++ b/spec/controllers/auth/registrations_controller_spec.rb @@ -233,17 +233,7 @@ Setting.registrations_mode = 'open' Fabricate(:email_domain_block, allow_with_approval: true, domain: 'mail.example.com') allow(User).to receive(:skip_mx_check?).and_return(false) - - resolver = instance_double(Resolv::DNS, :timeouts= => nil) - - allow(resolver).to receive(:getresources) - .with('example.com', Resolv::DNS::Resource::IN::MX) - .and_return([instance_double(Resolv::DNS::Resource::MX, exchange: 'mail.example.com')]) - allow(resolver).to receive(:getresources).with('example.com', Resolv::DNS::Resource::IN::A).and_return([]) - allow(resolver).to receive(:getresources).with('example.com', Resolv::DNS::Resource::IN::AAAA).and_return([]) - allow(resolver).to receive(:getresources).with('mail.example.com', Resolv::DNS::Resource::IN::A).and_return([instance_double(Resolv::DNS::Resource::IN::A, address: '2.3.4.5')]) - allow(resolver).to receive(:getresources).with('mail.example.com', Resolv::DNS::Resource::IN::AAAA).and_return([instance_double(Resolv::DNS::Resource::IN::AAAA, address: 'fd00::2')]) - allow(Resolv::DNS).to receive(:open).and_yield(resolver) + configure_mx(domain: 'example.com', exchange: 'mail.example.com') end it 'creates unapproved user and redirects to setup' do diff --git a/spec/rails_helper.rb b/spec/rails_helper.rb index 91a2e21bbbc796..d2ad40be7310fb 100644 --- a/spec/rails_helper.rb +++ b/spec/rails_helper.rb @@ -113,6 +113,7 @@ def sign_in(resource, _deprecated = nil, scope: nil) config.include ActiveSupport::Testing::TimeHelpers config.include Chewy::Rspec::Helpers config.include Redisable + config.include DomainHelpers config.include ThreadingHelpers config.include SignedRequestHelpers, type: :request config.include CommandLineHelpers, type: :cli diff --git a/spec/services/app_sign_up_service_spec.rb b/spec/services/app_sign_up_service_spec.rb index ec7b7516f95372..b78868db49476c 100644 --- a/spec/services/app_sign_up_service_spec.rb +++ b/spec/services/app_sign_up_service_spec.rb @@ -53,17 +53,7 @@ Setting.registrations_mode = 'open' Fabricate(:email_domain_block, allow_with_approval: true, domain: 'smtp.email.com') allow(User).to receive(:skip_mx_check?).and_return(false) - - resolver = instance_double(Resolv::DNS, :timeouts= => nil) - - allow(resolver).to receive(:getresources) - .with('email.com', Resolv::DNS::Resource::IN::MX) - .and_return([instance_double(Resolv::DNS::Resource::MX, exchange: 'smtp.email.com')]) - allow(resolver).to receive(:getresources).with('email.com', Resolv::DNS::Resource::IN::A).and_return([]) - allow(resolver).to receive(:getresources).with('email.com', Resolv::DNS::Resource::IN::AAAA).and_return([]) - allow(resolver).to receive(:getresources).with('smtp.email.com', Resolv::DNS::Resource::IN::A).and_return([instance_double(Resolv::DNS::Resource::IN::A, address: '2.3.4.5')]) - allow(resolver).to receive(:getresources).with('smtp.email.com', Resolv::DNS::Resource::IN::AAAA).and_return([instance_double(Resolv::DNS::Resource::IN::AAAA, address: 'fd00::2')]) - allow(Resolv::DNS).to receive(:open).and_yield(resolver) + configure_mx(domain: 'email.com', exchange: 'smtp.email.com') end it 'creates an unapproved user', :aggregate_failures do diff --git a/spec/support/domain_helpers.rb b/spec/support/domain_helpers.rb new file mode 100644 index 00000000000000..9977702099db80 --- /dev/null +++ b/spec/support/domain_helpers.rb @@ -0,0 +1,44 @@ +# frozen_string_literal: true + +module DomainHelpers + def configure_mx(domain:, exchange:, ip_v4_addr: '2.3.4.5', ip_v6_addr: 'fd00::2') + resolver = instance_double(Resolv::DNS, :timeouts= => nil) + + allow(resolver).to receive(:getresources) + .with(domain, Resolv::DNS::Resource::IN::MX) + .and_return([double_mx(exchange)]) + allow(resolver) + .to receive(:getresources) + .with(domain, Resolv::DNS::Resource::IN::A) + .and_return([]) + allow(resolver) + .to receive(:getresources) + .with(domain, Resolv::DNS::Resource::IN::AAAA) + .and_return([]) + allow(resolver) + .to receive(:getresources) + .with(exchange, Resolv::DNS::Resource::IN::A) + .and_return([double_resource_v4(ip_v4_addr)]) + allow(resolver) + .to receive(:getresources) + .with(exchange, Resolv::DNS::Resource::IN::AAAA) + .and_return([double_resource_v6(ip_v6_addr)]) + allow(Resolv::DNS) + .to receive(:open) + .and_yield(resolver) + end + + private + + def double_mx(exchange) + instance_double(Resolv::DNS::Resource::MX, exchange: exchange) + end + + def double_resource_v4(addr) + instance_double(Resolv::DNS::Resource::IN::A, address: addr) + end + + def double_resource_v6(addr) + instance_double(Resolv::DNS::Resource::IN::AAAA, address: addr) + end +end From babee06794e188dffb9f82787cc0f0ab784dc99e Mon Sep 17 00:00:00 2001 From: Matt Jankowski Date: Tue, 29 Oct 2024 11:46:32 -0400 Subject: [PATCH 090/357] Add coverage for `StatusTrend` and `PreviewCardTrend` models, add `locales` class method to `RankedTrend` (#32688) --- .../admin/trends/links_controller.rb | 2 +- .../admin/trends/statuses_controller.rb | 2 +- app/models/concerns/ranked_trend.rb | 4 ++++ app/models/trends/links.rb | 2 +- app/models/trends/statuses.rb | 2 +- .../preview_card_trend_fabricator.rb | 5 ++++ spec/fabricators/status_trend_fabricator.rb | 6 +++++ spec/models/preview_card_trend_spec.rb | 22 ++++++++++++++++++ spec/models/status_trend_spec.rb | 23 +++++++++++++++++++ 9 files changed, 64 insertions(+), 4 deletions(-) create mode 100644 spec/fabricators/preview_card_trend_fabricator.rb create mode 100644 spec/fabricators/status_trend_fabricator.rb create mode 100644 spec/models/preview_card_trend_spec.rb create mode 100644 spec/models/status_trend_spec.rb diff --git a/app/controllers/admin/trends/links_controller.rb b/app/controllers/admin/trends/links_controller.rb index 83d68eba63c321..65eca11c7f3cde 100644 --- a/app/controllers/admin/trends/links_controller.rb +++ b/app/controllers/admin/trends/links_controller.rb @@ -4,7 +4,7 @@ class Admin::Trends::LinksController < Admin::BaseController def index authorize :preview_card, :review? - @locales = PreviewCardTrend.pluck('distinct language') + @locales = PreviewCardTrend.locales @preview_cards = filtered_preview_cards.page(params[:page]) @form = Trends::PreviewCardBatch.new end diff --git a/app/controllers/admin/trends/statuses_controller.rb b/app/controllers/admin/trends/statuses_controller.rb index 3d8b53ea8a0444..682fe70bb561d8 100644 --- a/app/controllers/admin/trends/statuses_controller.rb +++ b/app/controllers/admin/trends/statuses_controller.rb @@ -4,7 +4,7 @@ class Admin::Trends::StatusesController < Admin::BaseController def index authorize [:admin, :status], :review? - @locales = StatusTrend.pluck('distinct language') + @locales = StatusTrend.locales @statuses = filtered_statuses.page(params[:page]) @form = Trends::StatusBatch.new end diff --git a/app/models/concerns/ranked_trend.rb b/app/models/concerns/ranked_trend.rb index add36afb0c2829..e707fe0bad9f87 100644 --- a/app/models/concerns/ranked_trend.rb +++ b/app/models/concerns/ranked_trend.rb @@ -9,6 +9,10 @@ module RankedTrend end class_methods do + def locales + distinct.pluck(:language) + end + def recalculate_ordered_rank connection .exec_update(<<~SQL.squish) diff --git a/app/models/trends/links.rb b/app/models/trends/links.rb index 0650c4109de8ac..9d721d25f818ce 100644 --- a/app/models/trends/links.rb +++ b/app/models/trends/links.rb @@ -85,7 +85,7 @@ def refresh(at_time = Time.now.utc) end def request_review - PreviewCardTrend.pluck('distinct language').flat_map do |language| + PreviewCardTrend.locales.flat_map do |language| score_at_threshold = PreviewCardTrend.where(language: language).allowed.by_rank.ranked_below(options[:review_threshold]).first&.score || 0 preview_card_trends = PreviewCardTrend.where(language: language).not_allowed.joins(:preview_card) diff --git a/app/models/trends/statuses.rb b/app/models/trends/statuses.rb index 9be6eb13a5c272..8757e5aa9c3b6c 100644 --- a/app/models/trends/statuses.rb +++ b/app/models/trends/statuses.rb @@ -78,7 +78,7 @@ def refresh(at_time = Time.now.utc) end def request_review - StatusTrend.pluck('distinct language').flat_map do |language| + StatusTrend.locales.flat_map do |language| score_at_threshold = StatusTrend.where(language: language, allowed: true).by_rank.ranked_below(options[:review_threshold]).first&.score || 0 status_trends = StatusTrend.where(language: language, allowed: false).joins(:status).includes(status: :account) diff --git a/spec/fabricators/preview_card_trend_fabricator.rb b/spec/fabricators/preview_card_trend_fabricator.rb new file mode 100644 index 00000000000000..14c126cc89f206 --- /dev/null +++ b/spec/fabricators/preview_card_trend_fabricator.rb @@ -0,0 +1,5 @@ +# frozen_string_literal: true + +Fabricator(:preview_card_trend) do + preview_card +end diff --git a/spec/fabricators/status_trend_fabricator.rb b/spec/fabricators/status_trend_fabricator.rb new file mode 100644 index 00000000000000..c775892b1ff61c --- /dev/null +++ b/spec/fabricators/status_trend_fabricator.rb @@ -0,0 +1,6 @@ +# frozen_string_literal: true + +Fabricator(:status_trend) do + status + account +end diff --git a/spec/models/preview_card_trend_spec.rb b/spec/models/preview_card_trend_spec.rb new file mode 100644 index 00000000000000..6edd24b693826b --- /dev/null +++ b/spec/models/preview_card_trend_spec.rb @@ -0,0 +1,22 @@ +# frozen_string_literal: true + +require 'rails_helper' + +RSpec.describe PreviewCardTrend do + describe 'Associations' do + it { is_expected.to belong_to(:preview_card).required } + end + + describe '.locales' do + before do + Fabricate :preview_card_trend, language: 'en' + Fabricate :preview_card_trend, language: 'en' + Fabricate :preview_card_trend, language: 'es' + end + + it 'returns unique set of languages' do + expect(described_class.locales) + .to eq(['en', 'es']) + end + end +end diff --git a/spec/models/status_trend_spec.rb b/spec/models/status_trend_spec.rb new file mode 100644 index 00000000000000..34522493cda3f5 --- /dev/null +++ b/spec/models/status_trend_spec.rb @@ -0,0 +1,23 @@ +# frozen_string_literal: true + +require 'rails_helper' + +RSpec.describe StatusTrend do + describe 'Associations' do + it { is_expected.to belong_to(:account).required } + it { is_expected.to belong_to(:status).required } + end + + describe '.locales' do + before do + Fabricate :status_trend, language: 'en' + Fabricate :status_trend, language: 'en' + Fabricate :status_trend, language: 'es' + end + + it 'returns unique set of languages' do + expect(described_class.locales) + .to eq(['en', 'es']) + end + end +end From 742eb549abe556ff2c53adfaaddd4ed01789f26e Mon Sep 17 00:00:00 2001 From: Claire Date: Wed, 30 Oct 2024 09:34:56 +0100 Subject: [PATCH 091/357] Fix preview cards with long titles erroneously causing layout changes (#32678) --- app/javascript/styles/mastodon/components.scss | 2 ++ 1 file changed, 2 insertions(+) diff --git a/app/javascript/styles/mastodon/components.scss b/app/javascript/styles/mastodon/components.scss index fc0b2b0e8e6145..f688b9b4ba37fd 100644 --- a/app/javascript/styles/mastodon/components.scss +++ b/app/javascript/styles/mastodon/components.scss @@ -2759,6 +2759,7 @@ a.account__display-name { flex: 0 1 auto; display: flex; flex-direction: column; + contain: inline-size layout paint style; @media screen and (min-width: $no-gap-breakpoint) { max-width: 600px; @@ -4032,6 +4033,7 @@ $ui-header-logo-wordmark-width: 99px; overflow: hidden; border: 1px solid var(--background-border-color); border-radius: 8px; + contain: inline-size layout paint style; &.bottomless { border-radius: 8px 8px 0 0; From 7f743f3c8190ec3c5bfd4cc4543f87be39bed53e Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Wed, 30 Oct 2024 09:40:49 +0100 Subject: [PATCH 092/357] Update dependency libvips to v8.16.0 (#32679) 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 bb29ad21fa05ba..acb7631eb9b502 100644 --- a/Dockerfile +++ b/Dockerfile @@ -191,7 +191,7 @@ FROM build AS libvips # libvips version to compile, change with [--build-arg VIPS_VERSION="8.15.2"] # renovate: datasource=github-releases depName=libvips packageName=libvips/libvips -ARG VIPS_VERSION=8.15.5 +ARG VIPS_VERSION=8.16.0 # libvips download URL, change with [--build-arg VIPS_URL="https://github.com/libvips/libvips/releases/download"] ARG VIPS_URL=https://github.com/libvips/libvips/releases/download From 110aa0aa28ec44de7841ce8a8cce924a94f3717c Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Wed, 30 Oct 2024 10:09:10 +0100 Subject: [PATCH 093/357] Update workbox monorepo to v7.3.0 (#32691) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> --- yarn.lock | 220 +++++++++++++++++++++++++++--------------------------- 1 file changed, 110 insertions(+), 110 deletions(-) diff --git a/yarn.lock b/yarn.lock index 1a129ac3675ced..7762f961022c58 100644 --- a/yarn.lock +++ b/yarn.lock @@ -18218,28 +18218,28 @@ __metadata: languageName: node linkType: hard -"workbox-background-sync@npm:7.1.0": - version: 7.1.0 - resolution: "workbox-background-sync@npm:7.1.0" +"workbox-background-sync@npm:7.3.0": + version: 7.3.0 + resolution: "workbox-background-sync@npm:7.3.0" dependencies: idb: "npm:^7.0.1" - workbox-core: "npm:7.1.0" - checksum: 10c0/9538c49a377d8eb06acee3848fbca09bac1940a2ca9e904fed765c39aa32f77c20d72c3ba6fa1eb47bee81289b1d527556a1cd3e02728960a4c40400ce6d0e91 + workbox-core: "npm:7.3.0" + checksum: 10c0/cc982d62702847fb16c4ef372a8bd243348a80c2d5da1649a860b0187b45060a799a65582c2d36f1a32e31d5d68dedcb037698c41d3b2f171ea5d54d73453cf1 languageName: node linkType: hard -"workbox-broadcast-update@npm:7.1.0": - version: 7.1.0 - resolution: "workbox-broadcast-update@npm:7.1.0" +"workbox-broadcast-update@npm:7.3.0": + version: 7.3.0 + resolution: "workbox-broadcast-update@npm:7.3.0" dependencies: - workbox-core: "npm:7.1.0" - checksum: 10c0/4a6e201cedcbc11b9d2f63f63477ba4564a35ce07bd54640198db6ff6a3b8347a65e0b4973c8f8463e8a622fd1ad93d7b3bab42338608811d23c7db01fef475e + workbox-core: "npm:7.3.0" + checksum: 10c0/25007acd3e845b5ca1f4c9ac9888ce661431723f7419cfa56b3029b6c56cbeca24902dae015c42a2d6f554f956274743e331d03ceeb4b0e3879cb7b908d0e82f languageName: node linkType: hard -"workbox-build@npm:7.1.0": - version: 7.1.0 - resolution: "workbox-build@npm:7.1.0" +"workbox-build@npm:7.3.0": + version: 7.3.0 + resolution: "workbox-build@npm:7.3.0" dependencies: "@apideck/better-ajv-errors": "npm:^0.3.1" "@babel/core": "npm:^7.24.4" @@ -18263,163 +18263,163 @@ __metadata: strip-comments: "npm:^2.0.1" tempy: "npm:^0.6.0" upath: "npm:^1.2.0" - workbox-background-sync: "npm:7.1.0" - workbox-broadcast-update: "npm:7.1.0" - workbox-cacheable-response: "npm:7.1.0" - workbox-core: "npm:7.1.0" - workbox-expiration: "npm:7.1.0" - workbox-google-analytics: "npm:7.1.0" - workbox-navigation-preload: "npm:7.1.0" - workbox-precaching: "npm:7.1.0" - workbox-range-requests: "npm:7.1.0" - workbox-recipes: "npm:7.1.0" - workbox-routing: "npm:7.1.0" - workbox-strategies: "npm:7.1.0" - workbox-streams: "npm:7.1.0" - workbox-sw: "npm:7.1.0" - workbox-window: "npm:7.1.0" - checksum: 10c0/c482fde713bad582bd7d4861113d7367ab4722eba9c102864c71048815792c623e9117a8f79957e0388d0c08e8303962d1fb23931456da73909e87d06638d101 - languageName: node - linkType: hard - -"workbox-cacheable-response@npm:7.1.0": - version: 7.1.0 - resolution: "workbox-cacheable-response@npm:7.1.0" + workbox-background-sync: "npm:7.3.0" + workbox-broadcast-update: "npm:7.3.0" + workbox-cacheable-response: "npm:7.3.0" + workbox-core: "npm:7.3.0" + workbox-expiration: "npm:7.3.0" + workbox-google-analytics: "npm:7.3.0" + workbox-navigation-preload: "npm:7.3.0" + workbox-precaching: "npm:7.3.0" + workbox-range-requests: "npm:7.3.0" + workbox-recipes: "npm:7.3.0" + workbox-routing: "npm:7.3.0" + workbox-strategies: "npm:7.3.0" + workbox-streams: "npm:7.3.0" + workbox-sw: "npm:7.3.0" + workbox-window: "npm:7.3.0" + checksum: 10c0/cb396f9c2a53429d1e11b4c1da2e21c9e1c98473ce15f20ae53277e47bd7ccbcb3f1f843694e588bb70b12d9332faafd098ca05b93abb0293d373f38a8de3ca8 + languageName: node + linkType: hard + +"workbox-cacheable-response@npm:7.3.0": + version: 7.3.0 + resolution: "workbox-cacheable-response@npm:7.3.0" dependencies: - workbox-core: "npm:7.1.0" - checksum: 10c0/52ea73bb184c9ef9280cc8f00a1ab7d103d495e12a7a6378fae02fd0aa1a9b893aac5d8074f14ed8c198527123e4401f4703fbfd2be98e184ca783b9216cb4c5 + workbox-core: "npm:7.3.0" + checksum: 10c0/192c8a8878c53a205c55398bac78f2c32c0f36e55c95cab282d8a716ddf2fa72563afaed690d34d3438cc8df5fb0df4d98dcb2d93cc6d67c69a9ae592f7bf246 languageName: node linkType: hard -"workbox-core@npm:7.1.0": - version: 7.1.0 - resolution: "workbox-core@npm:7.1.0" - checksum: 10c0/fb0b6e23a52e085da00b7a74b1f1854f06c695eb2bd4c244aa335165f59156a4febb4f116b9893b9fb7e0e8bac092d32eecceb4d00f930a93f64737cb2be9531 +"workbox-core@npm:7.3.0": + version: 7.3.0 + resolution: "workbox-core@npm:7.3.0" + checksum: 10c0/b7dce640cd9665ed207f65f5b08a50e2e24e5599790c6ea4fec987539b9d2ef81765d8c5f94acfee3a8a45d5ade8e1a4ebd0b8847a1471302ef75a5b93c7bd04 languageName: node linkType: hard -"workbox-expiration@npm:7.1.0, workbox-expiration@npm:^7.0.0": - version: 7.1.0 - resolution: "workbox-expiration@npm:7.1.0" +"workbox-expiration@npm:7.3.0, workbox-expiration@npm:^7.0.0": + version: 7.3.0 + resolution: "workbox-expiration@npm:7.3.0" dependencies: idb: "npm:^7.0.1" - workbox-core: "npm:7.1.0" - checksum: 10c0/669d76f87c1550ce9b425232c3202a26fdea4c4c9bdc1b71c1cee741a5d011423098994452e508576174d3c0b4bec0f4b35012b6d7257e300684c87fdddb7949 + workbox-core: "npm:7.3.0" + checksum: 10c0/6040d72122ece901becfcc59974586e9cc9b6309840b83b652c9f9aafe32ff89783404a431cadf6f888f80e5371252820e425ced499742964d6d68687f6fad1a languageName: node linkType: hard -"workbox-google-analytics@npm:7.1.0": - version: 7.1.0 - resolution: "workbox-google-analytics@npm:7.1.0" +"workbox-google-analytics@npm:7.3.0": + version: 7.3.0 + resolution: "workbox-google-analytics@npm:7.3.0" dependencies: - workbox-background-sync: "npm:7.1.0" - workbox-core: "npm:7.1.0" - workbox-routing: "npm:7.1.0" - workbox-strategies: "npm:7.1.0" - checksum: 10c0/4178d94fb7f3f7b789f117c104b2ff33945256dc550418b0e9c81130c1e2c2bcd72ec6a1661d91326c04de360e6592edd505f0e2142e8e1043fe0c45f9c1a3fe + workbox-background-sync: "npm:7.3.0" + workbox-core: "npm:7.3.0" + workbox-routing: "npm:7.3.0" + workbox-strategies: "npm:7.3.0" + checksum: 10c0/5317a4bcc01f1aa87480f9708d7d382c15fb37d6119e71e0a2909dfd683f6060b5cc4f7b016a81fc67098f51a5d0cfd1cda20e228f2f3778ee3caf649b59996b languageName: node linkType: hard -"workbox-navigation-preload@npm:7.1.0": - version: 7.1.0 - resolution: "workbox-navigation-preload@npm:7.1.0" +"workbox-navigation-preload@npm:7.3.0": + version: 7.3.0 + resolution: "workbox-navigation-preload@npm:7.3.0" dependencies: - workbox-core: "npm:7.1.0" - checksum: 10c0/b667a3ba0cae4d43a53a6e211f0f33f6ebc1d9fec6cbb93de83f72a37b81cc39d887b969db9b1cd5c396a1ce34636c89c3b157cc64a5265635d0b274e362db0e + workbox-core: "npm:7.3.0" + checksum: 10c0/69e4d43c68c06889987e9fa437995378b0632c83bad8c7044b4ed812b05b94b3a4aa8700ea4c26b2ecf68ee6858e94ff41dfa3279815c1bc385ac19c0edfb200 languageName: node linkType: hard -"workbox-precaching@npm:7.1.0, workbox-precaching@npm:^7.0.0": - version: 7.1.0 - resolution: "workbox-precaching@npm:7.1.0" +"workbox-precaching@npm:7.3.0, workbox-precaching@npm:^7.0.0": + version: 7.3.0 + resolution: "workbox-precaching@npm:7.3.0" dependencies: - workbox-core: "npm:7.1.0" - workbox-routing: "npm:7.1.0" - workbox-strategies: "npm:7.1.0" - checksum: 10c0/53b2d0a658109b4d83ee2b1913f884ee1c757a12b8931a7102272bd1e228d29f9430e7d060f328f465bca2aa24bf0719d026eef4f4d21395fa1f678f8d6a3c06 + workbox-core: "npm:7.3.0" + workbox-routing: "npm:7.3.0" + workbox-strategies: "npm:7.3.0" + checksum: 10c0/15c4c5cf5dfec684711ce3536bbfa6873f7af16b712d02ded81d3ff490ea4097e46602705548f5872c49f06e3516fd69f17e72a7fc60631ff6d68460e48f7648 languageName: node linkType: hard -"workbox-range-requests@npm:7.1.0": - version: 7.1.0 - resolution: "workbox-range-requests@npm:7.1.0" +"workbox-range-requests@npm:7.3.0": + version: 7.3.0 + resolution: "workbox-range-requests@npm:7.3.0" dependencies: - workbox-core: "npm:7.1.0" - checksum: 10c0/bf4aa597d04cbb533796af64f4006a1f472f8a14ea91f96fe37b2d5e63ffe86dcb944dab9a41317e69d368d83bee20f03ff32b339ae5addef50f325703ad4b77 + workbox-core: "npm:7.3.0" + checksum: 10c0/d48e1484866442864d66b1891c4965b71e997a83a7634f11452ec1a73a30a5e642e6a95d5cff45578bef4dec7a5f57bc598aeedb6189d17ca210e2c5f2898244 languageName: node linkType: hard -"workbox-recipes@npm:7.1.0": - version: 7.1.0 - resolution: "workbox-recipes@npm:7.1.0" +"workbox-recipes@npm:7.3.0": + version: 7.3.0 + resolution: "workbox-recipes@npm:7.3.0" dependencies: - workbox-cacheable-response: "npm:7.1.0" - workbox-core: "npm:7.1.0" - workbox-expiration: "npm:7.1.0" - workbox-precaching: "npm:7.1.0" - workbox-routing: "npm:7.1.0" - workbox-strategies: "npm:7.1.0" - checksum: 10c0/5a8c2444f6338c6092be87cc6fd69c8b0cbb413bfc0a11a8f10961bfb2b8059359c4be0264ffa0c01deff3ab5dba15bbcf61d4dedbc93d8bfe1f8a2841b1657c + workbox-cacheable-response: "npm:7.3.0" + workbox-core: "npm:7.3.0" + workbox-expiration: "npm:7.3.0" + workbox-precaching: "npm:7.3.0" + workbox-routing: "npm:7.3.0" + workbox-strategies: "npm:7.3.0" + checksum: 10c0/c8146ece4247cbcbefba36a14f2cb65b5f74b2412f64cfc7955ff75ff653857161a1f1d94c987fbae4812f5b770eedcf99af965e512cc375fbc7fb5421bdc99c languageName: node linkType: hard -"workbox-routing@npm:7.1.0, workbox-routing@npm:^7.0.0": - version: 7.1.0 - resolution: "workbox-routing@npm:7.1.0" +"workbox-routing@npm:7.3.0, workbox-routing@npm:^7.0.0": + version: 7.3.0 + resolution: "workbox-routing@npm:7.3.0" dependencies: - workbox-core: "npm:7.1.0" - checksum: 10c0/efd630fff594bd50276770840bce274660972587e79c097a9f1a84e8347351736aac13f11c6d7655ff550b13195d370d5c3b81a075bf452f358fc144ee868ad9 + workbox-core: "npm:7.3.0" + checksum: 10c0/8ac1824211d0fbe0e916ecb2c2427bcb0ef8783f9225d8114fe22e6c326f2d8a040a089bead58064e8b096ec95abe070c04cd7353dd8830dba3ab8d608a053aa languageName: node linkType: hard -"workbox-strategies@npm:7.1.0, workbox-strategies@npm:^7.0.0": - version: 7.1.0 - resolution: "workbox-strategies@npm:7.1.0" +"workbox-strategies@npm:7.3.0, workbox-strategies@npm:^7.0.0": + version: 7.3.0 + resolution: "workbox-strategies@npm:7.3.0" dependencies: - workbox-core: "npm:7.1.0" - checksum: 10c0/b08712a69b1b13e354345cc228c29f0c759043f7ca7cf6ce9b82fe79c9d423142bfa4a118f91f1a57054047a730127fa4474d59d9306fb2ed42fe9ef568be01a + workbox-core: "npm:7.3.0" + checksum: 10c0/50f3c28b46b54885a9461ad6559010d9abb2a7e35e0128d05c268f3ea0a96b1a747934758121d0e821f7af63946d9db8f4d2d7e0146f12555fb05c768e6b82bb languageName: node linkType: hard -"workbox-streams@npm:7.1.0": - version: 7.1.0 - resolution: "workbox-streams@npm:7.1.0" +"workbox-streams@npm:7.3.0": + version: 7.3.0 + resolution: "workbox-streams@npm:7.3.0" dependencies: - workbox-core: "npm:7.1.0" - workbox-routing: "npm:7.1.0" - checksum: 10c0/1d75c046fcb7b25e1cf85457e3610309dd5513f68752ef333529fcf155df2114b72f3d6f416bb68393e51b5396e3f6df7171e8e2889d0e9e1805e315754b771e + workbox-core: "npm:7.3.0" + workbox-routing: "npm:7.3.0" + checksum: 10c0/2ae541343d187eb7a50da2cfd74051f15771d1ddd1cad6856ffd530f7cccdb8eed9a8af94ff7540b710fef73eeec37d652123ae42b0206fbbd0679dc25e66ff4 languageName: node linkType: hard -"workbox-sw@npm:7.1.0": - version: 7.1.0 - resolution: "workbox-sw@npm:7.1.0" - checksum: 10c0/2084f1b58c8509d7ca53ce8a13d93e57d1f13307e0279fedc87942e83c8cb96bc2e5ed3992a89af6245ad2a66897a92908cb60d0717fb90492056eb6fbf20dc6 +"workbox-sw@npm:7.3.0": + version: 7.3.0 + resolution: "workbox-sw@npm:7.3.0" + checksum: 10c0/9ae275e31dd5ec51245773b6d90fda16d0b7f70d59f3a71aec732814b5aedf08aedc7fcce57739e7e89d9e1479ef97e3a202a542a511d732cf5e8b5d1c293870 languageName: node linkType: hard "workbox-webpack-plugin@npm:^7.0.0": - version: 7.1.0 - resolution: "workbox-webpack-plugin@npm:7.1.0" + version: 7.3.0 + resolution: "workbox-webpack-plugin@npm:7.3.0" dependencies: fast-json-stable-stringify: "npm:^2.1.0" pretty-bytes: "npm:^5.4.1" upath: "npm:^1.2.0" webpack-sources: "npm:^1.4.3" - workbox-build: "npm:7.1.0" + workbox-build: "npm:7.3.0" peerDependencies: webpack: ^4.4.0 || ^5.91.0 - checksum: 10c0/516fa68a6a6958ee1560299dd1146032dda68474a2ab01643cbde78fc65b75a3157aef60cb45dcc1984cc458ce44d4e3090cda08dd7cefd0952351270e963a00 + checksum: 10c0/dd3625544fe08b099fd2b783584c6c2c5da3f0e0c3096fc1a86a0b96a26df5055dd178d3c60ab4cde4099474ab23d51c292356c6910dfa16a974c8a95f351c93 languageName: node linkType: hard -"workbox-window@npm:7.1.0, workbox-window@npm:^7.0.0": - version: 7.1.0 - resolution: "workbox-window@npm:7.1.0" +"workbox-window@npm:7.3.0, workbox-window@npm:^7.0.0": + version: 7.3.0 + resolution: "workbox-window@npm:7.3.0" dependencies: "@types/trusted-types": "npm:^2.0.2" - workbox-core: "npm:7.1.0" - checksum: 10c0/c989a6e3a0488f049eead3892f8249387604fb04898aa79d0cf14cd7b684f0758f1edf1996745f4755bd30c31c449f628803e507d39b2ea91cc9c36f7d5e9c72 + workbox-core: "npm:7.3.0" + checksum: 10c0/dbda33c4761ec40051cfe6e3f1701b2381b4f3b191f7a249c32f683503ea35cf8b42d1f99df5ba3b693fac78705d8ed0c191488bdd178c525d1291d0161ec8ff languageName: node linkType: hard From 0a599d08d8c1d10d3784b3700ebd27efe9e6a468 Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" <41898282+github-actions[bot]@users.noreply.github.com> Date: Wed, 30 Oct 2024 11:02:02 +0100 Subject: [PATCH 094/357] New Crowdin Translations (automated) (#32695) Co-authored-by: GitHub Actions --- app/javascript/mastodon/locales/cy.json | 4 +++- app/javascript/mastodon/locales/es-AR.json | 4 ++-- app/javascript/mastodon/locales/es-MX.json | 2 +- app/javascript/mastodon/locales/fi.json | 14 +++++++------- app/javascript/mastodon/locales/fil.json | 5 +++++ app/javascript/mastodon/locales/gd.json | 6 +++++- app/javascript/mastodon/locales/gl.json | 2 ++ app/javascript/mastodon/locales/it.json | 2 ++ app/javascript/mastodon/locales/lad.json | 1 + app/javascript/mastodon/locales/nn.json | 2 ++ app/javascript/mastodon/locales/sv.json | 1 + app/javascript/mastodon/locales/th.json | 2 +- app/javascript/mastodon/locales/zh-CN.json | 8 ++++---- config/locales/doorkeeper.fi.yml | 2 +- config/locales/eo.yml | 7 +++++++ 15 files changed, 44 insertions(+), 18 deletions(-) diff --git a/app/javascript/mastodon/locales/cy.json b/app/javascript/mastodon/locales/cy.json index 3c4a6aa40cc6a3..675f7a203ecbcd 100644 --- a/app/javascript/mastodon/locales/cy.json +++ b/app/javascript/mastodon/locales/cy.json @@ -13,7 +13,7 @@ "about.rules": "Rheolau'r gweinydd", "account.account_note_header": "Nodyn personol", "account.add_or_remove_from_list": "Ychwanegu neu Ddileu o'r rhestrau", - "account.badges.bot": "Bot", + "account.badges.bot": "Awtomataidd", "account.badges.group": "Grŵp", "account.block": "Blocio @{name}", "account.block_domain": "Blocio parth {domain}", @@ -386,6 +386,7 @@ "interaction_modal.description.follow": "Gyda chyfrif ar Mastodon, gallwch ddilyn {name} i dderbyn eu postiadau yn eich ffrwd gartref.", "interaction_modal.description.reblog": "Gyda chyfrif ar Mastodon, gallwch hybu'r postiad hwn i'w rannu â'ch dilynwyr.", "interaction_modal.description.reply": "Gyda chyfrif ar Mastodon, gallwch ymateb i'r postiad hwn.", + "interaction_modal.description.vote": "Gyda chyfrif ar Mastodon, gallwch bleidleisio yn y bleidlais hon.", "interaction_modal.login.action": "Mynd i'm ffrwd gartref", "interaction_modal.login.prompt": "Parth eich gweinydd cartref, e.e. mastodon.social", "interaction_modal.no_account_yet": "Dim ar Mastodon?", @@ -397,6 +398,7 @@ "interaction_modal.title.follow": "Dilyn {name}", "interaction_modal.title.reblog": "Hybu postiad {name}", "interaction_modal.title.reply": "Ymateb i bostiad {name}", + "interaction_modal.title.vote": "Pleidleisiwch ym mhleidlais {name}", "intervals.full.days": "{number, plural, one {# diwrnod} two {# ddiwrnod} other {# diwrnod}}", "intervals.full.hours": "{number, plural, one {# awr} other {# o oriau}}", "intervals.full.minutes": "{number, plural, one {# funud} other {# o funudau}}", diff --git a/app/javascript/mastodon/locales/es-AR.json b/app/javascript/mastodon/locales/es-AR.json index e1803aabdaff0d..e8302a4c75da44 100644 --- a/app/javascript/mastodon/locales/es-AR.json +++ b/app/javascript/mastodon/locales/es-AR.json @@ -386,7 +386,7 @@ "interaction_modal.description.follow": "Con una cuenta en Mastodon, podés seguir a {name} para recibir sus mensajes en tu línea temporal principal.", "interaction_modal.description.reblog": "Con una cuenta en Mastodon, podés adherir a este mensaje para compartirlo con tus propios seguidores.", "interaction_modal.description.reply": "Con una cuenta en Mastodon, podés responder a este mensaje.", - "interaction_modal.description.vote": "Con una cuenta en Mastodon, puedes votar en esta encuesta.", + "interaction_modal.description.vote": "Con una cuenta en Mastodon, podés votar en esta encuesta.", "interaction_modal.login.action": "Llevame al comienzo", "interaction_modal.login.prompt": "Dominio de su servidor de inicio, p. ej., mastodon.social", "interaction_modal.no_account_yet": "¿No tenés cuenta en Mastodon?", @@ -398,7 +398,7 @@ "interaction_modal.title.follow": "Seguir a {name}", "interaction_modal.title.reblog": "Adherir al mensaje de {name}", "interaction_modal.title.reply": "Responder al mensaje de {name}", - "interaction_modal.title.vote": "Vota en la encuesta de {name}", + "interaction_modal.title.vote": "Votá en la encuesta de {name}", "intervals.full.days": "{number, plural, one {# día} other {# días}}", "intervals.full.hours": "{number, plural, one {# hora} other {# horas}}", "intervals.full.minutes": "{number, plural, one {# minuto} other {# minutos}}", diff --git a/app/javascript/mastodon/locales/es-MX.json b/app/javascript/mastodon/locales/es-MX.json index af2bd0e528e533..c73a64c4e0bda9 100644 --- a/app/javascript/mastodon/locales/es-MX.json +++ b/app/javascript/mastodon/locales/es-MX.json @@ -398,7 +398,7 @@ "interaction_modal.title.follow": "Seguir a {name}", "interaction_modal.title.reblog": "Impulsar la publicación de {name}", "interaction_modal.title.reply": "Responder la publicación de {name}", - "interaction_modal.title.vote": "Vota en la encuesta de {name}", + "interaction_modal.title.vote": "Votar en la encuesta de {name}", "intervals.full.days": "{number, plural, one {# día} other {# días}}", "intervals.full.hours": "{number, plural, one {# hora} other {# horas}}", "intervals.full.minutes": "{number, plural, one {# minuto} other {# minutos}}", diff --git a/app/javascript/mastodon/locales/fi.json b/app/javascript/mastodon/locales/fi.json index 0455e4df29ba63..fd971edfd3bb29 100644 --- a/app/javascript/mastodon/locales/fi.json +++ b/app/javascript/mastodon/locales/fi.json @@ -158,7 +158,7 @@ "compose_form.poll.duration": "Äänestyksen kesto", "compose_form.poll.multiple": "Monivalinta", "compose_form.poll.option_placeholder": "Vaihtoehto {number}", - "compose_form.poll.single": "Yksittäisvalinta", + "compose_form.poll.single": "Yksi vaihtoehto", "compose_form.poll.switch_to_multiple": "Muuta äänestys monivalinnaksi", "compose_form.poll.switch_to_single": "Muuta äänestys yksittäisvalinnaksi", "compose_form.poll.type": "Tyyli", @@ -386,7 +386,7 @@ "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.description.vote": "Mastodon-tilillä voit osallistua tähän äänestykseen.", + "interaction_modal.description.vote": "Osallistuminen äänestykseen onnistuu Mastodon-tilillä.", "interaction_modal.login.action": "Siirry kotiin", "interaction_modal.login.prompt": "Kotipalvelimesi verkkotunnus, kuten mastodon.social", "interaction_modal.no_account_yet": "Etkö ole vielä Mastodonissa?", @@ -439,8 +439,8 @@ "lightbox.close": "Sulje", "lightbox.next": "Seuraava", "lightbox.previous": "Edellinen", - "lightbox.zoom_in": "Zoomaa todelliseen kokoon", - "lightbox.zoom_out": "Zoomaa mahtumaan", + "lightbox.zoom_in": "Näytä alkuperäiskokoisena", + "lightbox.zoom_out": "Näytä sovitettuna", "limited_account_hint.action": "Näytä profiili joka tapauksessa", "limited_account_hint.title": "Palvelimen {domain} moderaattorit ovat piilottaneet tämän profiilin.", "link_preview.author": "Tehnyt {name}", @@ -529,7 +529,7 @@ "notification.moderation_warning.action_sensitive": "Tästä lähtien julkaisusi merkitään arkaluonteisiksi.", "notification.moderation_warning.action_silence": "Tiliäsi on rajoitettu.", "notification.moderation_warning.action_suspend": "Tilisi on jäädytetty.", - "notification.own_poll": "Äänestyksesi on päättynyt", + "notification.own_poll": "Kyselysi on päättynyt", "notification.poll": "Äänestys, johon osallistuit, on päättynyt", "notification.reblog": "{name} tehosti julkaisuasi", "notification.reblog.name_and_others_with_link": "{name} ja {count, plural, one {# muu} other {# muuta}} tehostivat julkaisuasi", @@ -572,7 +572,7 @@ "notifications.column_settings.follow_request": "Uudet seurantapyynnöt:", "notifications.column_settings.group": "Ryhmitä", "notifications.column_settings.mention": "Maininnat:", - "notifications.column_settings.poll": "Äänestyksen tulokset:", + "notifications.column_settings.poll": "Kyselyn tulokset:", "notifications.column_settings.push": "Puskuilmoitukset", "notifications.column_settings.reblog": "Tehostukset:", "notifications.column_settings.show": "Näytä sarakkeessa", @@ -586,7 +586,7 @@ "notifications.filter.favourites": "Suosikit", "notifications.filter.follows": "Seuraamiset", "notifications.filter.mentions": "Maininnat", - "notifications.filter.polls": "Äänestyksen tulokset", + "notifications.filter.polls": "Kyselyn tulokset", "notifications.filter.statuses": "Päivitykset seuraamiltasi käyttäjiltä", "notifications.grant_permission": "Myönnä käyttöoikeus.", "notifications.group": "{count} ilmoitusta", diff --git a/app/javascript/mastodon/locales/fil.json b/app/javascript/mastodon/locales/fil.json index 3822fbcf858e02..14c7b70bd299c5 100644 --- a/app/javascript/mastodon/locales/fil.json +++ b/app/javascript/mastodon/locales/fil.json @@ -129,6 +129,7 @@ "confirmations.discard_edit_media.confirm": "Ipagpaliban", "confirmations.edit.confirm": "Baguhin", "confirmations.reply.confirm": "Tumugon", + "content_warning.show_more": "Magpakita ng higit pa", "conversation.mark_as_read": "Markahan bilang nabasa na", "conversation.open": "Tingnan ang pag-uusap", "copy_icon_button.copied": "Sinipi sa clipboard", @@ -190,6 +191,7 @@ "explore.title": "Tuklasin", "explore.trending_links": "Mga balita", "filter_modal.select_filter.search": "Hanapin o gumawa", + "filter_warning.matches_filter": "Tinutugma ang pangsala \"{title}\"", "firehose.all": "Lahat", "firehose.local": "Itong serbiro", "firehose.remote": "Ibang mga serbiro", @@ -218,6 +220,7 @@ "interaction_modal.on_another_server": "Sa ibang serbiro", "interaction_modal.on_this_server": "Sa serbirong ito", "interaction_modal.title.follow": "Sundan si {name}", + "interaction_modal.title.vote": "Bumoto sa botohan ni {name}", "intervals.full.days": "{number, plural, one {# araw} other {# na araw}}", "intervals.full.hours": "{number, plural, one {# oras} other {# na oras}}", "intervals.full.minutes": "{number, plural, one {# minuto} other {# na minuto}}", @@ -256,6 +259,7 @@ "navigation_bar.search": "Maghanap", "notification.admin.report": "Iniulat ni {name} si {target}", "notification.follow": "Sinundan ka ni {name}", + "notification.follow.name_and_others": "Sinundan ka ng/nina {name} at {count, plural, one {# iba pa} other {# na iba pa}}", "notification.follow_request": "Hinihiling ni {name} na sundan ka", "notification.label.private_mention": "Palihim na banggit", "notification.mentioned_you": "Binanggit ka ni {name}", @@ -270,6 +274,7 @@ "notifications.column_settings.alert": "Mga abiso sa Desktop", "notifications.column_settings.favourite": "Mga paborito:", "notifications.column_settings.follow": "Mga bagong tagasunod:", + "notifications.column_settings.group": "Pangkat", "notifications.column_settings.poll": "Resulta ng botohan:", "notifications.column_settings.unread_notifications.category": "Hindi Nabasang mga Abiso", "notifications.column_settings.update": "Mga pagbago:", diff --git a/app/javascript/mastodon/locales/gd.json b/app/javascript/mastodon/locales/gd.json index 47a90334408422..4f68737b145db1 100644 --- a/app/javascript/mastodon/locales/gd.json +++ b/app/javascript/mastodon/locales/gd.json @@ -197,6 +197,7 @@ "confirmations.unfollow.title": "A bheil thu airson sgur de leantainn a chleachdaiche?", "content_warning.hide": "Falaich am post", "content_warning.show": "Seall e co-dhiù", + "content_warning.show_more": "Seall barrachd dheth", "conversation.delete": "Sguab às an còmhradh", "conversation.mark_as_read": "Cuir comharra gun deach a leughadh", "conversation.open": "Seall an còmhradh", @@ -305,6 +306,7 @@ "filter_modal.select_filter.subtitle": "Cleachd roinn-seòrsa a tha ann no cruthaich tè ùr", "filter_modal.select_filter.title": "Criathraich am post seo", "filter_modal.title.status": "Criathraich post", + "filter_warning.matches_filter": "A’ maidseadh na criathraige “{title}”", "filtered_notifications_banner.pending_requests": "{count, plural, =0 {Chan eil gin ann} one {O # neach} two {O # neach} few {O # daoine} other {O # duine}} air a bheil thu eòlach ’s dòcha", "filtered_notifications_banner.title": "Brathan criathraichte", "firehose.all": "Na h-uile", @@ -384,6 +386,7 @@ "interaction_modal.description.follow": "Le cunntas air Mastodon, ’s urrainn dhut {name} a leantainn ach am faigh thu na postaichean aca nad dhachaigh.", "interaction_modal.description.reblog": "Le cunntas air Mastodon, ’s urrainn dhut am post seo a bhrosnachadh gus a cho-roinneadh leis an luchd-leantainn agad fhèin.", "interaction_modal.description.reply": "Le cunntas air Mastodon, ’s urrainn dhut freagairt a chur dhan phost seo.", + "interaction_modal.description.vote": "Le cunntas air Mastodon, ’s urrainn dhut bhòtadh sa chunntas-bheachd seo.", "interaction_modal.login.action": "Thoir dhachaigh mi", "interaction_modal.login.prompt": "Àrainn-lìn an fhrithealaiche dachaigh agad, can ailbhean.co-shaoghal.net", "interaction_modal.no_account_yet": "Nach eil thu air Mastodon?", @@ -395,6 +398,7 @@ "interaction_modal.title.follow": "Lean {name}", "interaction_modal.title.reblog": "Brosnaich am post aig {name}", "interaction_modal.title.reply": "Freagair dhan phost aig {name}", + "interaction_modal.title.vote": "Bhòt sa chunntas-bheachd aig {name}", "intervals.full.days": "{number, plural, one {# latha} two {# latha} few {# làithean} other {# latha}}", "intervals.full.hours": "{number, plural, one {# uair a thìde} two {# uair a thìde} few {# uairean a thìde} other {# uair a thìde}}", "intervals.full.minutes": "{number, plural, one {# mhionaid} two {# mhionaid} few {# mionaidean} other {# mionaid}}", @@ -461,7 +465,7 @@ "media_gallery.hide": "Falaich", "moved_to_account_banner.text": "Tha an cunntas {disabledAccount} agad à comas on a rinn thu imrich gu {movedToAccount}.", "mute_modal.hide_from_notifications": "Falaich o na brathan", - "mute_modal.hide_options": "Roghainnean falaich", + "mute_modal.hide_options": "Falaich na roghainnean", "mute_modal.indefinite": "Gus an dì-mhùch mi iad", "mute_modal.show_options": "Seall na roghainnean", "mute_modal.they_can_mention_and_follow": "’S urrainn dhaibh iomradh a thoirt ort agus do leantainn ach chan fhaic thu iad-san.", diff --git a/app/javascript/mastodon/locales/gl.json b/app/javascript/mastodon/locales/gl.json index 822666ad8c7905..e89d386c853f55 100644 --- a/app/javascript/mastodon/locales/gl.json +++ b/app/javascript/mastodon/locales/gl.json @@ -386,6 +386,7 @@ "interaction_modal.description.follow": "Cunha conta en Mastodon, poderás seguir a {name} e recibir as súas publicacións na túa cronoloxía de inicio.", "interaction_modal.description.reblog": "Cunha conta en Mastodon, poderás promover esta publicación para compartila con quen te siga.", "interaction_modal.description.reply": "Cunha conta en Mastodon, poderás responder a esta publicación.", + "interaction_modal.description.vote": "Podes votar nesta enquisa se tes unha conta en Mastodon.", "interaction_modal.login.action": "Lévame ao inicio", "interaction_modal.login.prompt": "Dominio do teu servidor de inicio, ex. mastodon.social", "interaction_modal.no_account_yet": "Aínda non tes unha conta?", @@ -397,6 +398,7 @@ "interaction_modal.title.follow": "Seguir a {name}", "interaction_modal.title.reblog": "Promover a publicación de {name}", "interaction_modal.title.reply": "Responder á publicación de {name}", + "interaction_modal.title.vote": "Vota na enquisa de {name}", "intervals.full.days": "{number, plural,one {# día} other {# días}}", "intervals.full.hours": "{number, plural, one {# hora} other {# horas}}", "intervals.full.minutes": "{number, plural, one {# minuto} other {# minutos}}", diff --git a/app/javascript/mastodon/locales/it.json b/app/javascript/mastodon/locales/it.json index 68201e18ded4e9..a692fb7fd33836 100644 --- a/app/javascript/mastodon/locales/it.json +++ b/app/javascript/mastodon/locales/it.json @@ -386,6 +386,7 @@ "interaction_modal.description.follow": "Con un profilo di Mastodon, puoi seguire {name} per ricevere i suoi post nel feed della tua home.", "interaction_modal.description.reblog": "Con un profilo di Mastodon, puoi rebloggare questo post per condividerlo con i tuoi seguaci.", "interaction_modal.description.reply": "Con un profilo di Mastodon, puoi rispondere a questo post.", + "interaction_modal.description.vote": "Con un account su Mastodon puoi votare in questo sondaggio.", "interaction_modal.login.action": "Portami alla pagina iniziale", "interaction_modal.login.prompt": "Dominio del tuo server principale, ad esempio mastodon.social", "interaction_modal.no_account_yet": "Non su Mastodon?", @@ -397,6 +398,7 @@ "interaction_modal.title.follow": "Segui {name}", "interaction_modal.title.reblog": "Reblogga il post di {name}", "interaction_modal.title.reply": "Rispondi al post di {name}", + "interaction_modal.title.vote": "Vota nel sondaggio di {name}", "intervals.full.days": "{number, plural, one {# giorno} other {# giorni}}", "intervals.full.hours": "{number, plural, one {# ora} other {# ore}}", "intervals.full.minutes": "{number, plural, one {# minuto} other {# minuti}}", diff --git a/app/javascript/mastodon/locales/lad.json b/app/javascript/mastodon/locales/lad.json index 147546c9773146..563eb3b190af38 100644 --- a/app/javascript/mastodon/locales/lad.json +++ b/app/javascript/mastodon/locales/lad.json @@ -191,6 +191,7 @@ "confirmations.unfollow.title": "Desige utilizador?", "content_warning.hide": "Eskonde puvlikasyon", "content_warning.show": "Amostra entanto", + "content_warning.show_more": "Amostra mas", "conversation.delete": "Efasa konversasyon", "conversation.mark_as_read": "Marka komo meldado", "conversation.open": "Ve konversasyon", diff --git a/app/javascript/mastodon/locales/nn.json b/app/javascript/mastodon/locales/nn.json index 6bd16f3cfd01b6..cc567541934544 100644 --- a/app/javascript/mastodon/locales/nn.json +++ b/app/javascript/mastodon/locales/nn.json @@ -384,6 +384,7 @@ "interaction_modal.description.follow": "Med ein konto på Mastodon kan du fylgja {name} for å sjå innlegga deira i din heimestraum.", "interaction_modal.description.reblog": "Med ein konto på Mastodon kan du framheva dette innlegget for å dela det med dine eigne fylgjarar.", "interaction_modal.description.reply": "Med ein konto på Mastodon kan du svara på dette innlegget.", + "interaction_modal.description.vote": "Med ein konto på Mastodon kan du røyste i denne avrøystinga.", "interaction_modal.login.action": "Ta meg heim", "interaction_modal.login.prompt": "Domenenamnet til din heime-tenar. t.d. mastodon.social", "interaction_modal.no_account_yet": "Ikkje på Mastodon?", @@ -395,6 +396,7 @@ "interaction_modal.title.follow": "Fylg {name}", "interaction_modal.title.reblog": "Framhev {name} sitt innlegg", "interaction_modal.title.reply": "Svar på innlegge til {name}", + "interaction_modal.title.vote": "Røyst i {name} si avrøysting", "intervals.full.days": "{number, plural, one {# dag} other {# dagar}}", "intervals.full.hours": "{number, plural, one {# time} other {# timar}}", "intervals.full.minutes": "{number, plural, one {# minutt} other {# minutt}}", diff --git a/app/javascript/mastodon/locales/sv.json b/app/javascript/mastodon/locales/sv.json index 304535a67c5907..7824d076295713 100644 --- a/app/javascript/mastodon/locales/sv.json +++ b/app/javascript/mastodon/locales/sv.json @@ -398,6 +398,7 @@ "interaction_modal.title.follow": "Följ {name}", "interaction_modal.title.reblog": "Boosta {name}s inlägg", "interaction_modal.title.reply": "Svara på {name}s inlägg", + "interaction_modal.title.vote": "Rösta i {name}s enkät", "intervals.full.days": "{number, plural, one {# dag} other {# dagar}}", "intervals.full.hours": "{number, plural, one {# timme} other {# timmar}}", "intervals.full.minutes": "{number, plural, one {# minut} other {# minuter}}", diff --git a/app/javascript/mastodon/locales/th.json b/app/javascript/mastodon/locales/th.json index 9e845c35e7d34d..b0ad6e1c66e1cf 100644 --- a/app/javascript/mastodon/locales/th.json +++ b/app/javascript/mastodon/locales/th.json @@ -44,7 +44,7 @@ "account.joined_short": "เข้าร่วมเมื่อ", "account.languages": "เปลี่ยนภาษาที่บอกรับ", "account.link_verified_on": "ตรวจสอบความเป็นเจ้าของของลิงก์นี้เมื่อ {date}", - "account.locked_info": "มีการตั้งสถานะความเป็นส่วนตัวของบัญชีนี้เป็นล็อคอยู่ เจ้าของตรวจทานผู้ที่สามารถติดตามเขาด้วยตนเอง", + "account.locked_info": "สถานะความเป็นส่วนตัวของบัญชีนี้ถูกตั้งค่าเป็นล็อค เจ้าของตรวจสอบด้วยตนเองว่าใครสามารถติดตามพวกเขาได้", "account.media": "สื่อ", "account.mention": "กล่าวถึง @{name}", "account.moved_to": "{name} ได้ระบุว่าบัญชีใหม่ของเขาในตอนนี้คือ:", diff --git a/app/javascript/mastodon/locales/zh-CN.json b/app/javascript/mastodon/locales/zh-CN.json index 1c233a64034358..603ec5d791a6a7 100644 --- a/app/javascript/mastodon/locales/zh-CN.json +++ b/app/javascript/mastodon/locales/zh-CN.json @@ -383,10 +383,10 @@ "ignore_notifications_modal.not_following_title": "是否忽略你未关注的人的通知?", "ignore_notifications_modal.private_mentions_title": "是否忽略不请自来的私下提及?", "interaction_modal.description.favourite": "只需一个 Mastodon 账号,即可喜欢这条嘟文,对嘟文的作者展示您欣赏的态度,并保存嘟文以供日后使用。", - "interaction_modal.description.follow": "拥有一个 Mastodon 账号,你可以关注 {name} 并在自己的主页上接收对方的新嘟文。", - "interaction_modal.description.reblog": "拥有一个 Mastodon 账号,你可以向自己的关注者们转发此嘟文。", - "interaction_modal.description.reply": "拥有一个 Mastodon 账号,你可以回复此嘟文。", - "interaction_modal.description.vote": "拥有一个 Mastodon 账号,你可以参与此投票。", + "interaction_modal.description.follow": "拥有一个 Mastodon 账号,你就可以关注 {name} 并在自己的主页上接收对方的新嘟文。", + "interaction_modal.description.reblog": "拥有一个 Mastodon 账号,你就可以向自己的关注者们转发此嘟文。", + "interaction_modal.description.reply": "拥有一个 Mastodon 账号,你就可以回复此嘟文。", + "interaction_modal.description.vote": "拥有一个 Mastodon 账号,你就可以参与此投票。", "interaction_modal.login.action": "转到主页", "interaction_modal.login.prompt": "您所入驻的服务器域名,如:mastodon.social", "interaction_modal.no_account_yet": "不在 Mastodon 上?", diff --git a/config/locales/doorkeeper.fi.yml b/config/locales/doorkeeper.fi.yml index 7d44a6a6b92528..24228d54a92862 100644 --- a/config/locales/doorkeeper.fi.yml +++ b/config/locales/doorkeeper.fi.yml @@ -60,7 +60,7 @@ fi: error: title: Tapahtui virhe new: - prompt_html: "%{client_name} haluaisi käyttöoikeuden tiliisi. Hyväksy tämä pyyntö vain, jos tunnistat lähteen ja luotat siihen." + prompt_html: "%{client_name} haluaisi luvan tilisi hyödyntämiseksi. Hyväksy pyyntö vain, jos tunnistat lähteen ja luotat siihen." review_permissions: Tarkista käyttöoikeudet title: Valtuutus vaaditaan show: diff --git a/config/locales/eo.yml b/config/locales/eo.yml index f21e0bc7247d85..12cae075f0176a 100644 --- a/config/locales/eo.yml +++ b/config/locales/eo.yml @@ -239,6 +239,7 @@ eo: confirm_user_html: "%{name} konfirmis retadreson de uzanto %{target}" create_account_warning_html: "%{name} sendis averton al %{target}" create_announcement_html: "%{name} kreis novan anoncon %{target}" + create_canonical_email_block_html: "%{name} blokis retpoŝtadreson per krado %{target}" create_custom_emoji_html: "%{name} alŝutis novan emoĝion %{target}" create_domain_allow_html: "%{name} aldonis domajnon %{target} al la blanka listo" create_domain_block_html: "%{name} blokis domajnon %{target}" @@ -248,6 +249,7 @@ eo: create_user_role_html: "%{name} kreis rolon de %{target}" demote_user_html: "%{name} degradis uzanton %{target}" destroy_announcement_html: "%{name} forigis anoncon %{target}" + destroy_canonical_email_block_html: "%{name} malblokis retpoŝtadreson per krado %{target}" destroy_custom_emoji_html: "%{name} forigis emoĝion %{target}" destroy_domain_allow_html: "%{name} forigis domajnon %{target} el la blanka listo" destroy_domain_block_html: "%{name} malblokis domajnon %{target}" @@ -282,6 +284,7 @@ eo: update_custom_emoji_html: "%{name} ĝisdatigis la emoĝion %{target}" update_domain_block_html: "%{name} ĝisdatigis domajnblokon por %{target}" update_ip_block_html: "%{name} ŝanĝis regulon por IP %{target}" + update_report_html: "%{name} ĝisdatigis la raporton %{target}" update_status_html: "%{name} ĝisdatigis afiŝon de %{target}" update_user_role_html: "%{name} ŝanĝis la rolon %{target}" deleted_account: forigita konto @@ -788,6 +791,7 @@ eo: types: major: Ĉefa eldono minor: Neĉefa eldono + patch: Eldono de flikaĵo — korektoj de eraroj kaj facile apliki ŝanĝojn version: Versio statuses: account: Skribanto @@ -1106,6 +1110,7 @@ eo: title: Ni pretigu vin ĉe %{domain}. status: account_status: Statuso de la konto + confirming: Atendante ke retpoŝta konfirmo estos kompletigita. functional: Via konto estas tute funkcia. redirecting_to: Via konto estas neaktiva ĉar ĝi nun alidirektas al %{acct}. view_strikes: Vidi antauaj admonoj kontra via konto @@ -1155,6 +1160,8 @@ eo: before: 'Antau ol dauri, legu ĉi tiujn notojn zorgeme:' caches: Enhavo kiu kaŝmemorigitas de aliaj serviloj eble restas data_removal: Viaj afiŝoj kaj aliaj informoj estos forigita por eterne + email_change_html: Vi povas ŝanĝi vian retadreson sen forigi vian konton + email_contact_html: Se ĝi ankoraŭ ne alvenas, vi povas retpoŝti al %{email} por helpo irreversible: Vi ne povas regajni au reaktivigi vian konton more_details_html: Por pli da detaloj, vidi la privatecan politikon. username_available: Via uzantnomo iĝos denove disponebla From e1b7382ea6b8b944a363914490d6476726dd7075 Mon Sep 17 00:00:00 2001 From: Emelia Smith Date: Wed, 30 Oct 2024 15:38:10 +0100 Subject: [PATCH 095/357] Add userinfo oauth endpoint (#32548) --- app/controllers/oauth/userinfo_controller.rb | 11 ++++ app/presenters/oauth_metadata_presenter.rb | 4 ++ app/serializers/oauth_metadata_serializer.rb | 2 +- app/serializers/oauth_userinfo_serializer.rb | 31 +++++++++++ config/initializers/cors.rb | 1 + config/routes.rb | 7 +++ spec/requests/oauth/userinfo_spec.rb | 51 +++++++++++++++++++ .../well_known/oauth_metadata_spec.rb | 17 +++---- 8 files changed, 112 insertions(+), 12 deletions(-) create mode 100644 app/controllers/oauth/userinfo_controller.rb create mode 100644 app/serializers/oauth_userinfo_serializer.rb create mode 100644 spec/requests/oauth/userinfo_spec.rb diff --git a/app/controllers/oauth/userinfo_controller.rb b/app/controllers/oauth/userinfo_controller.rb new file mode 100644 index 00000000000000..e268b70dcc0609 --- /dev/null +++ b/app/controllers/oauth/userinfo_controller.rb @@ -0,0 +1,11 @@ +# frozen_string_literal: true + +class Oauth::UserinfoController < Api::BaseController + before_action -> { doorkeeper_authorize! :profile }, only: [:show] + before_action :require_user! + + def show + @account = current_account + render json: @account, serializer: OauthUserinfoSerializer + end +end diff --git a/app/presenters/oauth_metadata_presenter.rb b/app/presenters/oauth_metadata_presenter.rb index 1e4d25165c7118..7d75e8498a5421 100644 --- a/app/presenters/oauth_metadata_presenter.rb +++ b/app/presenters/oauth_metadata_presenter.rb @@ -26,6 +26,10 @@ def token_endpoint oauth_token_url end + def userinfo_endpoint + oauth_userinfo_url + end + # As the api_v1_apps route doesn't technically conform to the specification # for OAuth 2.0 Dynamic Client Registration defined in RFC 7591 we use a # non-standard property for now to indicate the mastodon specific registration diff --git a/app/serializers/oauth_metadata_serializer.rb b/app/serializers/oauth_metadata_serializer.rb index 2afb4208fbc5ae..9c5f7365a4ceb0 100644 --- a/app/serializers/oauth_metadata_serializer.rb +++ b/app/serializers/oauth_metadata_serializer.rb @@ -2,7 +2,7 @@ class OauthMetadataSerializer < ActiveModel::Serializer attributes :issuer, :authorization_endpoint, :token_endpoint, - :revocation_endpoint, :scopes_supported, + :revocation_endpoint, :userinfo_endpoint, :scopes_supported, :response_types_supported, :response_modes_supported, :grant_types_supported, :token_endpoint_auth_methods_supported, :code_challenge_methods_supported, diff --git a/app/serializers/oauth_userinfo_serializer.rb b/app/serializers/oauth_userinfo_serializer.rb new file mode 100644 index 00000000000000..e2f37ae02e5e98 --- /dev/null +++ b/app/serializers/oauth_userinfo_serializer.rb @@ -0,0 +1,31 @@ +# frozen_string_literal: true + +class OauthUserinfoSerializer < ActiveModel::Serializer + include RoutingHelper + + attributes :iss, :sub, :name, :preferred_username, :profile, :picture + + def iss + root_url + end + + def sub + ActivityPub::TagManager.instance.uri_for(object) + end + + def name + object.display_name + end + + def preferred_username + object.username + end + + def profile + ActivityPub::TagManager.instance.url_for(object) + end + + def picture + full_asset_url(object.avatar_original_url) + end +end diff --git a/config/initializers/cors.rb b/config/initializers/cors.rb index c530693a3f3a41..476f1fb07a507a 100644 --- a/config/initializers/cors.rb +++ b/config/initializers/cors.rb @@ -23,6 +23,7 @@ methods: %i(post put delete get patch options) resource '/oauth/token', methods: [:post] resource '/oauth/revoke', methods: [:post] + resource '/oauth/userinfo', methods: [:get, :post] end end end diff --git a/config/routes.rb b/config/routes.rb index 83170fba0f3180..0f4df757da155a 100644 --- a/config/routes.rb +++ b/config/routes.rb @@ -64,6 +64,13 @@ def redirect_with_vary(path) tokens: 'oauth/tokens' end + namespace :oauth do + # As this is borrowed from OpenID, the specification says we must also support + # POST for the userinfo endpoint: + # https://openid.net/specs/openid-connect-core-1_0.html#UserInfo + match 'userinfo', via: [:get, :post], to: 'userinfo#show', defaults: { format: 'json' } + end + scope path: '.well-known' do scope module: :well_known do get 'oauth-authorization-server', to: 'oauth_metadata#show', as: :oauth_metadata, defaults: { format: 'json' } diff --git a/spec/requests/oauth/userinfo_spec.rb b/spec/requests/oauth/userinfo_spec.rb new file mode 100644 index 00000000000000..7d6226cd412050 --- /dev/null +++ b/spec/requests/oauth/userinfo_spec.rb @@ -0,0 +1,51 @@ +# frozen_string_literal: true + +require 'rails_helper' + +RSpec.describe 'Oauth Userinfo Endpoint' do + include RoutingHelper + + let(:user) { Fabricate(:user) } + let(:account) { user.account } + let(:token) { Fabricate(:accessible_access_token, resource_owner_id: user.id, scopes: scopes) } + let(:scopes) { 'profile' } + let(:headers) { { 'Authorization' => "Bearer #{token.token}" } } + + shared_examples 'returns successfully' do + it 'returns http success' do + subject + + expect(response).to have_http_status(:success) + expect(response.content_type).to start_with('application/json') + expect(response.parsed_body).to include({ + iss: root_url, + sub: account_url(account), + name: account.display_name, + preferred_username: account.username, + profile: short_account_url(account), + picture: full_asset_url(account.avatar_original_url), + }) + end + end + + describe 'GET /oauth/userinfo' do + subject do + get '/oauth/userinfo', headers: headers + end + + it_behaves_like 'forbidden for wrong scope', 'read:accounts' + it_behaves_like 'returns successfully' + end + + # As this is borrowed from OpenID, the specification says we must also support + # POST for the userinfo endpoint: + # https://openid.net/specs/openid-connect-core-1_0.html#UserInfo + describe 'POST /oauth/userinfo' do + subject do + post '/oauth/userinfo', headers: headers + end + + it_behaves_like 'forbidden for wrong scope', 'read:accounts' + it_behaves_like 'returns successfully' + end +end diff --git a/spec/requests/well_known/oauth_metadata_spec.rb b/spec/requests/well_known/oauth_metadata_spec.rb index 9c86dbedfe7086..01e9146fde63d9 100644 --- a/spec/requests/well_known/oauth_metadata_spec.rb +++ b/spec/requests/well_known/oauth_metadata_spec.rb @@ -3,12 +3,6 @@ require 'rails_helper' RSpec.describe 'The /.well-known/oauth-authorization-server request' do - let(:protocol) { ENV.fetch('LOCAL_HTTPS', true) ? :https : :http } - - before do - host! Rails.configuration.x.local_domain - end - it 'returns http success with valid JSON response' do get '/.well-known/oauth-authorization-server' @@ -22,11 +16,12 @@ grant_types_supported << 'refresh_token' if Doorkeeper.configuration.refresh_token_enabled? expect(response.parsed_body).to include( - issuer: root_url(protocol: protocol), + issuer: root_url, service_documentation: 'https://docs.joinmastodon.org/', - authorization_endpoint: oauth_authorization_url(protocol: protocol), - token_endpoint: oauth_token_url(protocol: protocol), - revocation_endpoint: oauth_revoke_url(protocol: protocol), + authorization_endpoint: oauth_authorization_url, + token_endpoint: oauth_token_url, + userinfo_endpoint: oauth_userinfo_url, + revocation_endpoint: oauth_revoke_url, scopes_supported: Doorkeeper.configuration.scopes.map(&:to_s), response_types_supported: Doorkeeper.configuration.authorization_response_types, response_modes_supported: Doorkeeper.configuration.authorization_response_flows.flat_map(&:response_mode_matches).uniq, @@ -34,7 +29,7 @@ grant_types_supported: grant_types_supported, code_challenge_methods_supported: ['S256'], # non-standard extension: - app_registration_endpoint: api_v1_apps_url(protocol: protocol) + app_registration_endpoint: api_v1_apps_url ) end end From 01e25af2e320bd79955b83cc986eef2cd64b3e2a Mon Sep 17 00:00:00 2001 From: "Renato \"Lond\" Cerqueira" Date: Thu, 31 Oct 2024 10:37:31 +0100 Subject: [PATCH 096/357] Fix 'unknown' media attachment rendering in detailed view (#32713) --- .../mastodon/features/status/components/detailed_status.tsx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/app/javascript/mastodon/features/status/components/detailed_status.tsx b/app/javascript/mastodon/features/status/components/detailed_status.tsx index 0bf1bfda8bf8b2..5811efb1907f99 100644 --- a/app/javascript/mastodon/features/status/components/detailed_status.tsx +++ b/app/javascript/mastodon/features/status/components/detailed_status.tsx @@ -152,7 +152,7 @@ export const DetailedStatus: React.FC<{ media = ; } else if (status.get('media_attachments').size > 0) { if ( - ['image', 'gifv'].includes( + ['image', 'gifv', 'unknown'].includes( status.getIn(['media_attachments', 0, 'type']) as string, ) || status.get('media_attachments').size > 1 From c2b498a2b0035bdeec1028e58f4914eefcac80a4 Mon Sep 17 00:00:00 2001 From: Eugen Rochko Date: Thu, 31 Oct 2024 10:38:00 +0100 Subject: [PATCH 097/357] Fix IDs not being serialized as strings in annual reports API (#32710) --- app/lib/annual_report/commonly_interacted_with_accounts.rb | 2 +- app/lib/annual_report/most_reblogged_accounts.rb | 2 +- app/lib/annual_report/top_statuses.rb | 6 +++--- .../annual_report/commonly_interacted_with_accounts_spec.rb | 2 +- spec/lib/annual_report/most_reblogged_accounts_spec.rb | 2 +- spec/lib/annual_report/top_statuses_spec.rb | 6 +++--- 6 files changed, 10 insertions(+), 10 deletions(-) diff --git a/app/lib/annual_report/commonly_interacted_with_accounts.rb b/app/lib/annual_report/commonly_interacted_with_accounts.rb index e7482f0d52a792..30ab671d8a821c 100644 --- a/app/lib/annual_report/commonly_interacted_with_accounts.rb +++ b/app/lib/annual_report/commonly_interacted_with_accounts.rb @@ -7,7 +7,7 @@ def generate { commonly_interacted_with_accounts: commonly_interacted_with_accounts.map do |(account_id, count)| { - account_id: account_id, + account_id: account_id.to_s, count: count, } end, diff --git a/app/lib/annual_report/most_reblogged_accounts.rb b/app/lib/annual_report/most_reblogged_accounts.rb index 39ed3868ea06ad..cfc4022ca79019 100644 --- a/app/lib/annual_report/most_reblogged_accounts.rb +++ b/app/lib/annual_report/most_reblogged_accounts.rb @@ -7,7 +7,7 @@ def generate { most_reblogged_accounts: most_reblogged_accounts.map do |(account_id, count)| { - account_id: account_id, + account_id: account_id.to_s, count: count, } end, diff --git a/app/lib/annual_report/top_statuses.rb b/app/lib/annual_report/top_statuses.rb index c5abeaa58d81d2..74b129595ac1a3 100644 --- a/app/lib/annual_report/top_statuses.rb +++ b/app/lib/annual_report/top_statuses.rb @@ -8,9 +8,9 @@ def generate { top_statuses: { - by_reblogs: top_reblogs, - by_favourites: top_favourites, - by_replies: top_replies, + by_reblogs: top_reblogs&.to_s, + by_favourites: top_favourites&.to_s, + by_replies: top_replies&.to_s, }, } end diff --git a/spec/lib/annual_report/commonly_interacted_with_accounts_spec.rb b/spec/lib/annual_report/commonly_interacted_with_accounts_spec.rb index e99d3cb4a78495..0e31827912b58d 100644 --- a/spec/lib/annual_report/commonly_interacted_with_accounts_spec.rb +++ b/spec/lib/annual_report/commonly_interacted_with_accounts_spec.rb @@ -32,7 +32,7 @@ expect(subject.generate) .to include( commonly_interacted_with_accounts: contain_exactly( - include(account_id: other_account.id, count: 2) + include(account_id: other_account.id.to_s, count: 2) ) ) end diff --git a/spec/lib/annual_report/most_reblogged_accounts_spec.rb b/spec/lib/annual_report/most_reblogged_accounts_spec.rb index 0280ba19928755..2f04934e47799e 100644 --- a/spec/lib/annual_report/most_reblogged_accounts_spec.rb +++ b/spec/lib/annual_report/most_reblogged_accounts_spec.rb @@ -32,7 +32,7 @@ expect(subject.generate) .to include( most_reblogged_accounts: contain_exactly( - include(account_id: other_account.id, count: 2) + include(account_id: other_account.id.to_s, count: 2) ) ) end diff --git a/spec/lib/annual_report/top_statuses_spec.rb b/spec/lib/annual_report/top_statuses_spec.rb index b956b039735786..af29df1f651a0b 100644 --- a/spec/lib/annual_report/top_statuses_spec.rb +++ b/spec/lib/annual_report/top_statuses_spec.rb @@ -39,9 +39,9 @@ expect(subject.generate) .to include( top_statuses: include( - by_reblogs: reblogged_status.id, - by_favourites: favourited_status.id, - by_replies: replied_status.id + by_reblogs: reblogged_status.id.to_s, + by_favourites: favourited_status.id.to_s, + by_replies: replied_status.id.to_s ) ) end From e78db58b654b58c83f583ac42e141f53d0ee4f60 Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" <41898282+github-actions[bot]@users.noreply.github.com> Date: Thu, 31 Oct 2024 11:01:05 +0100 Subject: [PATCH 098/357] New Crowdin Translations (automated) (#32708) Co-authored-by: GitHub Actions --- app/javascript/mastodon/locales/et.json | 7 +++++++ app/javascript/mastodon/locales/fi.json | 8 ++++---- app/javascript/mastodon/locales/ja.json | 2 ++ config/locales/doorkeeper.fi.yml | 2 +- config/locales/et.yml | 3 +++ config/locales/gd.yml | 3 +++ config/locales/simple_form.et.yml | 2 ++ config/locales/simple_form.gd.yml | 2 ++ 8 files changed, 24 insertions(+), 5 deletions(-) diff --git a/app/javascript/mastodon/locales/et.json b/app/javascript/mastodon/locales/et.json index c360a3aa23405e..83766411798d34 100644 --- a/app/javascript/mastodon/locales/et.json +++ b/app/javascript/mastodon/locales/et.json @@ -158,6 +158,7 @@ "compose_form.poll.duration": "Küsitluse kestus", "compose_form.poll.multiple": "Mitu vastust", "compose_form.poll.option_placeholder": "Valik {number}", + "compose_form.poll.single": "Üks valik", "compose_form.poll.switch_to_multiple": "Muuda küsitlust mitmikvaliku lubamiseks", "compose_form.poll.switch_to_single": "Muuda küsitlust ainult ühe valiku lubamiseks", "compose_form.poll.type": "Stiil", @@ -196,6 +197,7 @@ "confirmations.unfollow.title": "Ei jälgi enam kasutajat?", "content_warning.hide": "Peida postitus", "content_warning.show": "Näita ikkagi", + "content_warning.show_more": "Näita rohkem", "conversation.delete": "Kustuta vestlus", "conversation.mark_as_read": "Märgi loetuks", "conversation.open": "Vaata vestlust", @@ -304,6 +306,7 @@ "filter_modal.select_filter.subtitle": "Kasuta olemasolevat kategooriat või loo uus", "filter_modal.select_filter.title": "Filtreeri seda postitust", "filter_modal.title.status": "Postituse filtreerimine", + "filter_warning.matches_filter": "Sobib filtriga “{title}”", "filtered_notifications_banner.pending_requests": "{count, plural, =0 {Mitte üheltki inimeselt} one {Ühelt inimeselt} other {# inimeselt}}, keda võid teada", "filtered_notifications_banner.title": "Filtreeritud teavitused", "firehose.all": "Kõik", @@ -383,6 +386,7 @@ "interaction_modal.description.follow": "Mastodoni kontoga saad jälgida kasutajat {name}, et tema postitusi oma koduvoos näha.", "interaction_modal.description.reblog": "Mastodoni kontoga saad seda postitust levitada, jagades seda oma jälgijatele.", "interaction_modal.description.reply": "Mastodoni kontoga saad sellele postitusele vastata.", + "interaction_modal.description.vote": "Mastodoni kontoga saad sellest küsitlusest osa võtta.", "interaction_modal.login.action": "Vii mind avalehele", "interaction_modal.login.prompt": "Sinu koduserveri domeen, näiteks mastodon.social", "interaction_modal.no_account_yet": "Pole Mastodonis?", @@ -394,6 +398,7 @@ "interaction_modal.title.follow": "Jälgi kontot {name}", "interaction_modal.title.reblog": "Jaga {name} postitust", "interaction_modal.title.reply": "Vasta kasutaja {name} postitusele", + "interaction_modal.title.vote": "Hääleta {name} küsitluses", "intervals.full.days": "{number, plural, one {# päev} other {# päeva}}", "intervals.full.hours": "{number, plural, one {# tund} other {# tundi}}", "intervals.full.minutes": "{number, plural, one {# minut} other {# minutit}}", @@ -506,6 +511,7 @@ "notification.favourite": "{name} märkis su postituse lemmikuks", "notification.favourite.name_and_others_with_link": "{name} ja {count, plural, one {# veel} other {# teist}} märkis su postituse lemmikuks", "notification.follow": "{name} alustas su jälgimist", + "notification.follow.name_and_others": "{name} ja veel {count, plural, one {# kasutaja} other {# kasutajat}} hakkas sind jälgima", "notification.follow_request": "{name} soovib sind jälgida", "notification.follow_request.name_and_others": "{name} ja {count, plural, one {# veel} other {# teist}} taotles sinu jälgimist", "notification.label.mention": "Mainimine", @@ -564,6 +570,7 @@ "notifications.column_settings.filter_bar.category": "Kiirfiltri riba", "notifications.column_settings.follow": "Uued jälgijad:", "notifications.column_settings.follow_request": "Uued jälgimistaotlused:", + "notifications.column_settings.group": "Grupp", "notifications.column_settings.mention": "Mainimised:", "notifications.column_settings.poll": "Küsitluse tulemused:", "notifications.column_settings.push": "Push teated", diff --git a/app/javascript/mastodon/locales/fi.json b/app/javascript/mastodon/locales/fi.json index fd971edfd3bb29..2222e6038c08a5 100644 --- a/app/javascript/mastodon/locales/fi.json +++ b/app/javascript/mastodon/locales/fi.json @@ -439,7 +439,7 @@ "lightbox.close": "Sulje", "lightbox.next": "Seuraava", "lightbox.previous": "Edellinen", - "lightbox.zoom_in": "Näytä alkuperäiskokoisena", + "lightbox.zoom_in": "Näytä todellisen kokoisena", "lightbox.zoom_out": "Näytä sovitettuna", "limited_account_hint.action": "Näytä profiili joka tapauksessa", "limited_account_hint.title": "Palvelimen {domain} moderaattorit ovat piilottaneet tämän profiilin.", @@ -529,7 +529,7 @@ "notification.moderation_warning.action_sensitive": "Tästä lähtien julkaisusi merkitään arkaluonteisiksi.", "notification.moderation_warning.action_silence": "Tiliäsi on rajoitettu.", "notification.moderation_warning.action_suspend": "Tilisi on jäädytetty.", - "notification.own_poll": "Kyselysi on päättynyt", + "notification.own_poll": "Äänestyksesi on päättynyt", "notification.poll": "Äänestys, johon osallistuit, on päättynyt", "notification.reblog": "{name} tehosti julkaisuasi", "notification.reblog.name_and_others_with_link": "{name} ja {count, plural, one {# muu} other {# muuta}} tehostivat julkaisuasi", @@ -572,7 +572,7 @@ "notifications.column_settings.follow_request": "Uudet seurantapyynnöt:", "notifications.column_settings.group": "Ryhmitä", "notifications.column_settings.mention": "Maininnat:", - "notifications.column_settings.poll": "Kyselyn tulokset:", + "notifications.column_settings.poll": "Äänestyksen tulokset:", "notifications.column_settings.push": "Puskuilmoitukset", "notifications.column_settings.reblog": "Tehostukset:", "notifications.column_settings.show": "Näytä sarakkeessa", @@ -586,7 +586,7 @@ "notifications.filter.favourites": "Suosikit", "notifications.filter.follows": "Seuraamiset", "notifications.filter.mentions": "Maininnat", - "notifications.filter.polls": "Kyselyn tulokset", + "notifications.filter.polls": "Äänestyksen tulokset", "notifications.filter.statuses": "Päivitykset seuraamiltasi käyttäjiltä", "notifications.grant_permission": "Myönnä käyttöoikeus.", "notifications.group": "{count} ilmoitusta", diff --git a/app/javascript/mastodon/locales/ja.json b/app/javascript/mastodon/locales/ja.json index c0ef224b70e664..6f319dbb10c7b3 100644 --- a/app/javascript/mastodon/locales/ja.json +++ b/app/javascript/mastodon/locales/ja.json @@ -386,6 +386,7 @@ "interaction_modal.description.follow": "Mastodonのアカウントで{name}さんをフォローしてホームフィードで投稿を受け取れます。", "interaction_modal.description.reblog": "Mastodonのアカウントでこの投稿をブーストして自分のフォロワーに共有できます。", "interaction_modal.description.reply": "Mastodonのアカウントでこの投稿に反応できます。", + "interaction_modal.description.vote": "Mastodonのアカウントでこのアンケートに票を入れることができます。", "interaction_modal.login.action": "サーバーに移動", "interaction_modal.login.prompt": "登録したサーバーのドメイン (例: mastodon.social)", "interaction_modal.no_account_yet": "Mastodonにアカウントがない場合は", @@ -397,6 +398,7 @@ "interaction_modal.title.follow": "{name}さんをフォロー", "interaction_modal.title.reblog": "{name}さんの投稿をブースト", "interaction_modal.title.reply": "{name}さんの投稿にリプライ", + "interaction_modal.title.vote": "{name}さんのアンケートに投票", "intervals.full.days": "{number}日", "intervals.full.hours": "{number}時間", "intervals.full.minutes": "{number}分", diff --git a/config/locales/doorkeeper.fi.yml b/config/locales/doorkeeper.fi.yml index 24228d54a92862..7d44a6a6b92528 100644 --- a/config/locales/doorkeeper.fi.yml +++ b/config/locales/doorkeeper.fi.yml @@ -60,7 +60,7 @@ fi: error: title: Tapahtui virhe new: - prompt_html: "%{client_name} haluaisi luvan tilisi hyödyntämiseksi. Hyväksy pyyntö vain, jos tunnistat lähteen ja luotat siihen." + prompt_html: "%{client_name} haluaisi käyttöoikeuden tiliisi. Hyväksy tämä pyyntö vain, jos tunnistat lähteen ja luotat siihen." review_permissions: Tarkista käyttöoikeudet title: Valtuutus vaaditaan show: diff --git a/config/locales/et.yml b/config/locales/et.yml index 1a679af87f1f87..3be9add91ce76a 100644 --- a/config/locales/et.yml +++ b/config/locales/et.yml @@ -1166,8 +1166,11 @@ et: use_security_key: Kasuta turvavõtit author_attribution: example_title: Näidistekst + hint_html: Kirjutad uudiseid või blogisid Mastodonist väljapool? Määra, kuidas sinule viidatakse, kui neid lehti jagatakse Mastodonis. + instructions: 'Vaata, et artikli HTML sisus oleks see kood sees:' more_from_html: Rohkem kasutajalt %{name} s_blog: Kasutaja %{name} blogi + then_instructions: Siis lisa avaldaja domeeninimi allolevasse välja. title: Autori tunnustamine challenge: confirm: Jätka diff --git a/config/locales/gd.yml b/config/locales/gd.yml index 3495a070ecfe57..a05ce6ed3cd435 100644 --- a/config/locales/gd.yml +++ b/config/locales/gd.yml @@ -1202,8 +1202,11 @@ gd: use_security_key: Cleachd iuchair tèarainteachd author_attribution: example_title: Ball-sampaill teacsa + hint_html: An sgrìobh thu naidheachdan no bloga taobh a-muigh Mhastodon? Stiùirich mar a thèid iomradh a thoirt ort nuair a bhios na h-artaigilean agad ’gan co-roinneadh air Mastodon. + instructions: 'Dèan cinnteach gu bheil an còd seo am broinn HTML an artaigil agad:' more_from_html: Barrachd o %{name} s_blog: Bloga aig %{name} + then_instructions: An uair sin, cuir ainm àrainn an fhoillseachaidh ris an raon gu h-ìosal. title: Aithris air an ùghdar challenge: confirm: Lean air adhart diff --git a/config/locales/simple_form.et.yml b/config/locales/simple_form.et.yml index 4a9245682d4f05..a2ebf63b11c716 100644 --- a/config/locales/simple_form.et.yml +++ b/config/locales/simple_form.et.yml @@ -3,6 +3,7 @@ et: simple_form: hints: account: + attribution_domains_as_text: Üks rea peal. See kaitseb pahatahtlike viidete eest. discoverable: Su profiili ja avalikke postitusi võidakse Mastodoni erinevates piirkondades esile tõsta või soovitada ning su profiili soovitada teistele kasutajatele. display_name: Su täisnimi või naljanimi. fields: Su koduleht, sugu, vanus. Mistahes, mida soovid. @@ -143,6 +144,7 @@ et: url: Kuhu sündmused saadetakse labels: account: + attribution_domains_as_text: Sinule viidata lubatud veebilehed discoverable: Tõsta postitused ja profiil avastamise algoritmides esile fields: name: Nimetus diff --git a/config/locales/simple_form.gd.yml b/config/locales/simple_form.gd.yml index 9b6c156de79c94..af1f06a3167eb2 100644 --- a/config/locales/simple_form.gd.yml +++ b/config/locales/simple_form.gd.yml @@ -3,6 +3,7 @@ gd: simple_form: hints: account: + attribution_domains_as_text: Loidhne fa leth do gach fear. Dìonaidh seo o iomraidhean meallta. discoverable: Dh’fhaoidte gun dèid na postaichean poblach ’s a’ phròifil agad a bhrosnachadh no a mholadh ann an caochladh roinnean de Mhastodon agus gun dèid a’ phròifil agad a mholadh do chàch. display_name: D’ ainm slàn no spòrsail. fields: An duilleag-dhachaigh agad, roimhearan, aois, rud sam bith a thogras tu. @@ -143,6 +144,7 @@ gd: url: Far an dèid na tachartasan a chur labels: account: + attribution_domains_as_text: Na làraichean-lìn a dh’fhaodas iomradh a thoirt ort discoverable: Brosnaich a’ phròifil is postaichean agad sna h-algairimean rùrachaidh fields: name: Leubail From 75b2ac49fb75cc9a842baec207325ef2b3a1335d Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Thu, 31 Oct 2024 11:02:47 +0100 Subject: [PATCH 099/357] Update dependency strong_migrations to v2.0.2 (#32705) 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 f1088b22b6010e..0166572b3cba8d 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -823,7 +823,7 @@ GEM stoplight (4.1.0) redlock (~> 1.0) stringio (3.1.1) - strong_migrations (2.0.1) + strong_migrations (2.0.2) activerecord (>= 6.1) swd (1.3.0) activesupport (>= 3) From 87aa3467cf1b494ecd85d6ffcc94c2cdbec9dce4 Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Thu, 31 Oct 2024 11:03:07 +0100 Subject: [PATCH 100/357] Update dependency selenium-webdriver to v4.26.0 (#32698) 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 0166572b3cba8d..febc42e401d555 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -782,7 +782,7 @@ GEM scenic (1.8.0) activerecord (>= 4.0.0) railties (>= 4.0.0) - selenium-webdriver (4.25.0) + selenium-webdriver (4.26.0) base64 (~> 0.2) logger (~> 1.4) rexml (~> 3.2, >= 3.2.5) From b3b3c0fe9606147fd60e6306ffc384275bc97616 Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Thu, 31 Oct 2024 11:28:20 +0100 Subject: [PATCH 101/357] Update dependency core-js to v3.39.0 (#32707) 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 7762f961022c58..0b24803e6c7389 100644 --- a/yarn.lock +++ b/yarn.lock @@ -6373,9 +6373,9 @@ __metadata: linkType: hard "core-js@npm:^3.30.2": - version: 3.38.1 - resolution: "core-js@npm:3.38.1" - checksum: 10c0/7df063b6f13a54e46515817ac3e235c6c598a4d3de65cd188a061fc250642be313b895fb9fb2f36e1e31890a1bb4ef61d82666a340413f540b7ce3c65689739b + version: 3.39.0 + resolution: "core-js@npm:3.39.0" + checksum: 10c0/f7602069b6afb2e3298eec612a5c1e0c3e6a458930fbfc7a4c5f9ac03426507f49ce395eecdd2d9bae9024f820e44582b67ffe16f2272395af26964f174eeb6b languageName: node linkType: hard From 516c97a112f6b9e9cc34c56d7300d04b54954f65 Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Thu, 31 Oct 2024 11:42:18 +0100 Subject: [PATCH 102/357] Update dependency node to v22 (#32689) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> --- .nvmrc | 2 +- Dockerfile | 2 +- streaming/Dockerfile | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/.nvmrc b/.nvmrc index 10fef252a9f178..8b84b727be4119 100644 --- a/.nvmrc +++ b/.nvmrc @@ -1 +1 @@ -20.18 +22.11 diff --git a/Dockerfile b/Dockerfile index acb7631eb9b502..c6d8466f43c048 100644 --- a/Dockerfile +++ b/Dockerfile @@ -15,7 +15,7 @@ ARG BUILDPLATFORM=${BUILDPLATFORM} ARG RUBY_VERSION="3.3.5" # # Node version to use in base image, change with [--build-arg NODE_MAJOR_VERSION="20"] # renovate: datasource=node-version depName=node -ARG NODE_MAJOR_VERSION="20" +ARG NODE_MAJOR_VERSION="22" # Debian image to use for base image, change with [--build-arg DEBIAN_VERSION="bookworm"] ARG DEBIAN_VERSION="bookworm" # Node image to use for base image based on combined variables (ex: 20-bookworm-slim) diff --git a/streaming/Dockerfile b/streaming/Dockerfile index bed6b637380dac..f94c04e7a2adef 100644 --- a/streaming/Dockerfile +++ b/streaming/Dockerfile @@ -9,7 +9,7 @@ ARG BUILDPLATFORM=${BUILDPLATFORM} # Node version to use in base image, change with [--build-arg NODE_MAJOR_VERSION="20"] # renovate: datasource=node-version depName=node -ARG NODE_MAJOR_VERSION="20" +ARG NODE_MAJOR_VERSION="22" # Debian image to use for base image, change with [--build-arg DEBIAN_VERSION="bookworm"] ARG DEBIAN_VERSION="bookworm" # Node image to use for base image based on combined variables (ex: 20-bookworm-slim) From 917a799c673ea617beb9452c5fddbaaca6f406f1 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jo=C3=A9=20Dupuis?= <1518299+JoeDupuis@users.noreply.github.com> Date: Thu, 31 Oct 2024 06:46:07 -0400 Subject: [PATCH 103/357] Migrate from the deprecated `azure-storage-blob` to `azure-blob` (#32080) Co-authored-by: Renaud Chaput --- Gemfile | 2 +- Gemfile.lock | 24 +++++++----------------- 2 files changed, 8 insertions(+), 18 deletions(-) diff --git a/Gemfile b/Gemfile index 97856d78255c93..97f5c7bcc5ad6d 100644 --- a/Gemfile +++ b/Gemfile @@ -18,8 +18,8 @@ gem 'aws-sdk-s3', '~> 1.123', require: false gem 'blurhash', '~> 0.1' gem 'fog-core', '<= 2.6.0' gem 'fog-openstack', '~> 1.0', require: false +gem 'jd-paperclip-azure', '~> 3.0', require: false gem 'kt-paperclip', '~> 7.2' -gem 'md-paperclip-azure', '~> 2.2', require: false gem 'ruby-vips', '~> 2.2', require: false gem 'active_model_serializers', '~> 0.10' diff --git a/Gemfile.lock b/Gemfile.lock index febc42e401d555..46a6766e5b7a35 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -115,14 +115,8 @@ GEM aws-sigv4 (~> 1.5) aws-sigv4 (1.10.1) aws-eventstream (~> 1, >= 1.0.2) - azure-storage-blob (2.0.3) - azure-storage-common (~> 2.0) - nokogiri (~> 1, >= 1.10.8) - azure-storage-common (2.0.4) - faraday (~> 1.0) - faraday_middleware (~> 1.0, >= 1.0.0.rc1) - net-http-persistent (~> 4.0) - nokogiri (~> 1, >= 1.10.8) + azure-blob (0.5.2) + rexml base64 (0.2.0) bcp47_spec (0.2.1) bcrypt (3.1.20) @@ -258,8 +252,6 @@ GEM faraday-patron (1.0.0) faraday-rack (1.0.0) faraday-retry (1.0.3) - faraday_middleware (1.2.0) - faraday (~> 1.0) fast_blank (1.0.1) fastimage (2.3.1) ffi (1.17.0) @@ -350,6 +342,10 @@ GEM irb (1.14.1) rdoc (>= 4.0.0) reline (>= 0.4.2) + jd-paperclip-azure (3.0.0) + addressable (~> 2.5) + azure-blob (~> 0.5.2) + hashie (~> 5.0) jmespath (1.6.2) json (2.7.4) json-canonicalization (1.0.0) @@ -424,10 +420,6 @@ GEM mario-redis-lock (1.2.1) redis (>= 3.0.5) matrix (0.4.2) - md-paperclip-azure (2.2.0) - addressable (~> 2.5) - azure-storage-blob (~> 2.0.1) - hashie (~> 5.0) memory_profiler (1.1.0) mime-types (3.6.0) logger @@ -442,8 +434,6 @@ GEM mutex_m (0.2.0) net-http (0.4.1) uri - net-http-persistent (4.0.2) - connection_pool (~> 2.2) net-imap (0.5.0) date net-protocol @@ -958,6 +948,7 @@ DEPENDENCIES idn-ruby inline_svg irb (~> 1.8) + jd-paperclip-azure (~> 3.0) json-ld json-ld-preloaded (~> 3.2) json-schema (~> 5.0) @@ -969,7 +960,6 @@ DEPENDENCIES lograge (~> 0.12) mail (~> 2.8) mario-redis-lock (~> 1.2) - md-paperclip-azure (~> 2.2) memory_profiler mime-types (~> 3.6.0) net-http (~> 0.4.0) From a20ac20302f14e8cd14cd1abd6d02ddf528b58f5 Mon Sep 17 00:00:00 2001 From: Matt Jankowski Date: Thu, 31 Oct 2024 09:27:47 -0400 Subject: [PATCH 104/357] Add model spec for `Tombstone` (#32697) --- app/models/tombstone.rb | 2 ++ spec/fabricators/tombstone_fabricator.rb | 6 ++++++ spec/models/tombstone_spec.rb | 15 +++++++++++++++ 3 files changed, 23 insertions(+) create mode 100644 spec/fabricators/tombstone_fabricator.rb create mode 100644 spec/models/tombstone_spec.rb diff --git a/app/models/tombstone.rb b/app/models/tombstone.rb index bf666c43ac1993..92eddfc626855f 100644 --- a/app/models/tombstone.rb +++ b/app/models/tombstone.rb @@ -14,4 +14,6 @@ class Tombstone < ApplicationRecord belongs_to :account + + validates :uri, presence: true end diff --git a/spec/fabricators/tombstone_fabricator.rb b/spec/fabricators/tombstone_fabricator.rb new file mode 100644 index 00000000000000..b4cab086af0fe1 --- /dev/null +++ b/spec/fabricators/tombstone_fabricator.rb @@ -0,0 +1,6 @@ +# frozen_string_literal: true + +Fabricator(:tombstone) do + account + uri { sequence(:uri) { |i| "https://host.example/value/#{i}" } } +end diff --git a/spec/models/tombstone_spec.rb b/spec/models/tombstone_spec.rb new file mode 100644 index 00000000000000..ba0603fe3dbb15 --- /dev/null +++ b/spec/models/tombstone_spec.rb @@ -0,0 +1,15 @@ +# frozen_string_literal: true + +require 'rails_helper' + +RSpec.describe Tombstone do + describe 'Associations' do + it { is_expected.to belong_to(:account).required } + end + + describe 'Validations' do + subject { Fabricate.build :tombstone } + + it { is_expected.to validate_presence_of(:uri) } + end +end From b231c3c1bfb701c504d3d17221cf4a758668a49e Mon Sep 17 00:00:00 2001 From: Matt Jankowski Date: Thu, 31 Oct 2024 11:12:08 -0400 Subject: [PATCH 105/357] Drop support for ruby 3.1 (#32363) --- .github/workflows/test-ruby.yml | 4 ---- .rubocop.yml | 2 +- Gemfile | 2 +- README.md | 2 +- app/controllers/activitypub/outboxes_controller.rb | 6 +++--- app/controllers/api/v1/accounts_controller.rb | 4 ++-- app/controllers/api/v1/follow_requests_controller.rb | 4 ++-- app/helpers/media_component_helper.rb | 12 ++++++------ app/helpers/routing_helper.rb | 12 ++++++------ app/lib/activitypub/activity.rb | 4 ++-- app/lib/rss/element.rb | 4 ++-- app/lib/translation_service/deepl.rb | 4 ++-- app/lib/translation_service/libre_translate.rb | 4 ++-- app/models/concerns/status/snapshot_concern.rb | 4 ++-- app/models/session_activation.rb | 4 ++-- app/models/user.rb | 4 ++-- lib/mastodon/cli/accounts.rb | 1 - spec/support/command_line_helpers.rb | 4 ++-- 18 files changed, 38 insertions(+), 43 deletions(-) diff --git a/.github/workflows/test-ruby.yml b/.github/workflows/test-ruby.yml index c05c8333b2048c..770cd72a1baea5 100644 --- a/.github/workflows/test-ruby.yml +++ b/.github/workflows/test-ruby.yml @@ -124,7 +124,6 @@ jobs: fail-fast: false matrix: ruby-version: - - '3.1' - '3.2' - '.ruby-version' steps: @@ -226,7 +225,6 @@ jobs: fail-fast: false matrix: ruby-version: - - '3.1' - '3.2' - '.ruby-version' steps: @@ -305,7 +303,6 @@ jobs: fail-fast: false matrix: ruby-version: - - '3.1' - '3.2' - '.ruby-version' @@ -422,7 +419,6 @@ jobs: fail-fast: false matrix: ruby-version: - - '3.1' - '3.2' - '.ruby-version' search-image: diff --git a/.rubocop.yml b/.rubocop.yml index 965f56f3e703e6..ebeed6ea4900ca 100644 --- a/.rubocop.yml +++ b/.rubocop.yml @@ -8,7 +8,7 @@ AllCops: - lib/mastodon/migration_helpers.rb ExtraDetails: true NewCops: enable - TargetRubyVersion: 3.1 # Oldest supported ruby version + TargetRubyVersion: 3.2 # Oldest supported ruby version inherit_from: - .rubocop/layout.yml diff --git a/Gemfile b/Gemfile index 97f5c7bcc5ad6d..0c3484a7aa9fd1 100644 --- a/Gemfile +++ b/Gemfile @@ -1,7 +1,7 @@ # frozen_string_literal: true source 'https://rubygems.org' -ruby '>= 3.1.0' +ruby '>= 3.2.0' gem 'propshaft' gem 'puma', '~> 6.3' diff --git a/README.md b/README.md index 9c0b0d20ed5d02..17d9eefb573a9c 100644 --- a/README.md +++ b/README.md @@ -69,7 +69,7 @@ Mastodon acts as an OAuth2 provider, so 3rd party apps can use the REST and Stre - **PostgreSQL** 12+ - **Redis** 4+ -- **Ruby** 3.1+ +- **Ruby** 3.2+ - **Node.js** 18+ The repository includes deployment configurations for **Docker and docker-compose** as well as specific platforms like **Heroku**, and **Scalingo**. For Helm charts, reference the [mastodon/chart repository](https://github.com/mastodon/chart). The [**standalone** installation guide](https://docs.joinmastodon.org/admin/install/) is available in the documentation. diff --git a/app/controllers/activitypub/outboxes_controller.rb b/app/controllers/activitypub/outboxes_controller.rb index b8baf64e1a59a8..0c995edbf87277 100644 --- a/app/controllers/activitypub/outboxes_controller.rb +++ b/app/controllers/activitypub/outboxes_controller.rb @@ -41,11 +41,11 @@ def outbox_presenter end end - def outbox_url(**kwargs) + def outbox_url(**) if params[:account_username].present? - account_outbox_url(@account, **kwargs) + account_outbox_url(@account, **) else - instance_actor_outbox_url(**kwargs) + instance_actor_outbox_url(**) end end diff --git a/app/controllers/api/v1/accounts_controller.rb b/app/controllers/api/v1/accounts_controller.rb index 28acaeea051834..f7d3de7f946c58 100644 --- a/app/controllers/api/v1/accounts_controller.rb +++ b/app/controllers/api/v1/accounts_controller.rb @@ -106,8 +106,8 @@ def check_following_self render json: { error: I18n.t('accounts.self_follow_error') }, status: 403 if current_user.account.id == @account.id end - def relationships(**options) - AccountRelationshipsPresenter.new([@account], current_user.account_id, **options) + def relationships(**) + AccountRelationshipsPresenter.new([@account], current_user.account_id, **) end def account_ids diff --git a/app/controllers/api/v1/follow_requests_controller.rb b/app/controllers/api/v1/follow_requests_controller.rb index 29a09fceefe82e..4b44cfe531d26f 100644 --- a/app/controllers/api/v1/follow_requests_controller.rb +++ b/app/controllers/api/v1/follow_requests_controller.rb @@ -28,8 +28,8 @@ def account @account ||= Account.find(params[:id]) end - def relationships(**options) - AccountRelationshipsPresenter.new([account], current_user.account_id, **options) + def relationships(**) + AccountRelationshipsPresenter.new([account], current_user.account_id, **) end def load_accounts diff --git a/app/helpers/media_component_helper.rb b/app/helpers/media_component_helper.rb index 60ccdd08359038..269566528aab86 100644 --- a/app/helpers/media_component_helper.rb +++ b/app/helpers/media_component_helper.rb @@ -1,7 +1,7 @@ # frozen_string_literal: true module MediaComponentHelper - def render_video_component(status, **options) + def render_video_component(status, **) video = status.ordered_media_attachments.first meta = video.file.meta || {} @@ -18,14 +18,14 @@ def render_video_component(status, **options) media: [ serialize_media_attachment(video), ].as_json, - }.merge(**options) + }.merge(**) react_component :video, component_params do render partial: 'statuses/attachment_list', locals: { attachments: status.ordered_media_attachments } end end - def render_audio_component(status, **options) + def render_audio_component(status, **) audio = status.ordered_media_attachments.first meta = audio.file.meta || {} @@ -38,19 +38,19 @@ def render_audio_component(status, **options) foregroundColor: meta.dig('colors', 'foreground'), accentColor: meta.dig('colors', 'accent'), duration: meta.dig('original', 'duration'), - }.merge(**options) + }.merge(**) react_component :audio, component_params do render partial: 'statuses/attachment_list', locals: { attachments: status.ordered_media_attachments } end end - def render_media_gallery_component(status, **options) + def render_media_gallery_component(status, **) component_params = { sensitive: sensitive_viewer?(status, current_account), autoplay: prefers_autoplay?, media: status.ordered_media_attachments.map { |a| serialize_media_attachment(a).as_json }, - }.merge(**options) + }.merge(**) react_component :media_gallery, component_params do render partial: 'statuses/attachment_list', locals: { attachments: status.ordered_media_attachments } diff --git a/app/helpers/routing_helper.rb b/app/helpers/routing_helper.rb index 15d988f64d2ef2..22efc5f0924e44 100644 --- a/app/helpers/routing_helper.rb +++ b/app/helpers/routing_helper.rb @@ -14,8 +14,8 @@ def default_url_options end end - def full_asset_url(source, **options) - source = ActionController::Base.helpers.asset_url(source, **options) unless use_storage? + def full_asset_url(source, **) + source = ActionController::Base.helpers.asset_url(source, **) unless use_storage? URI.join(asset_host, source).to_s end @@ -24,12 +24,12 @@ def asset_host Rails.configuration.action_controller.asset_host || root_url end - def frontend_asset_path(source, **options) - asset_pack_path("media/#{source}", **options) + def frontend_asset_path(source, **) + asset_pack_path("media/#{source}", **) end - def frontend_asset_url(source, **options) - full_asset_url(frontend_asset_path(source, **options)) + def frontend_asset_url(source, **) + full_asset_url(frontend_asset_path(source, **)) end def use_storage? diff --git a/app/lib/activitypub/activity.rb b/app/lib/activitypub/activity.rb index 322f3e27adb604..29411774a1be3c 100644 --- a/app/lib/activitypub/activity.rb +++ b/app/lib/activitypub/activity.rb @@ -20,9 +20,9 @@ def perform end class << self - def factory(json, account, **options) + def factory(json, account, **) @json = json - klass&.new(json, account, **options) + klass&.new(json, account, **) end private diff --git a/app/lib/rss/element.rb b/app/lib/rss/element.rb index 7142fa03965bdc..073fad12341d58 100644 --- a/app/lib/rss/element.rb +++ b/app/lib/rss/element.rb @@ -1,8 +1,8 @@ # frozen_string_literal: true class RSS::Element - def self.with(*args, &block) - new(*args).tap(&block).to_element + def self.with(*, &block) + new(*).tap(&block).to_element end def create_element(name, content = nil) diff --git a/app/lib/translation_service/deepl.rb b/app/lib/translation_service/deepl.rb index 925a1cf1723c15..7761dbe626d5f6 100644 --- a/app/lib/translation_service/deepl.rb +++ b/app/lib/translation_service/deepl.rb @@ -42,8 +42,8 @@ def normalize_language(language) subtags.join('-') end - def request(verb, path, **options) - req = Request.new(verb, "#{base_url}#{path}", **options) + def request(verb, path, **) + req = Request.new(verb, "#{base_url}#{path}", **) req.add_headers(Authorization: "DeepL-Auth-Key #{@api_key}") req.perform do |res| case res.code diff --git a/app/lib/translation_service/libre_translate.rb b/app/lib/translation_service/libre_translate.rb index de43d7c88c0606..0df8590f870939 100644 --- a/app/lib/translation_service/libre_translate.rb +++ b/app/lib/translation_service/libre_translate.rb @@ -27,8 +27,8 @@ def languages private - def request(verb, path, **options) - req = Request.new(verb, "#{@base_url}#{path}", allow_local: true, **options) + def request(verb, path, **) + req = Request.new(verb, "#{@base_url}#{path}", allow_local: true, **) req.add_headers('Content-Type': 'application/json') req.perform do |res| case res.code diff --git a/app/models/concerns/status/snapshot_concern.rb b/app/models/concerns/status/snapshot_concern.rb index ba624d943e46ec..02897109044e44 100644 --- a/app/models/concerns/status/snapshot_concern.rb +++ b/app/models/concerns/status/snapshot_concern.rb @@ -29,7 +29,7 @@ def build_snapshot(account_id: nil, at_time: nil, rate_limit: true) ) end - def snapshot!(**options) - build_snapshot(**options).save! + def snapshot!(**) + build_snapshot(**).save! end end diff --git a/app/models/session_activation.rb b/app/models/session_activation.rb index 8b8e533d30c980..31f18fd7ef09be 100644 --- a/app/models/session_activation.rb +++ b/app/models/session_activation.rb @@ -35,8 +35,8 @@ def active?(id) id && exists?(session_id: id) end - def activate(**options) - activation = create!(**options) + def activate(**) + activation = create!(**) purge_old activation end diff --git a/app/models/user.rb b/app/models/user.rb index c32a575edff71a..69c5a01569774a 100644 --- a/app/models/user.rb +++ b/app/models/user.rb @@ -405,8 +405,8 @@ def pending_devise_notifications @pending_devise_notifications ||= [] end - def render_and_send_devise_message(notification, *args, **kwargs) - devise_mailer.send(notification, self, *args, **kwargs).deliver_later + def render_and_send_devise_message(notification, *, **) + devise_mailer.send(notification, self, *, **).deliver_later end def set_approved diff --git a/lib/mastodon/cli/accounts.rb b/lib/mastodon/cli/accounts.rb index e76735298f20f5..23c907543f2884 100644 --- a/lib/mastodon/cli/accounts.rb +++ b/lib/mastodon/cli/accounts.rb @@ -1,6 +1,5 @@ # frozen_string_literal: true -require 'set' require_relative 'base' module Mastodon::CLI diff --git a/spec/support/command_line_helpers.rb b/spec/support/command_line_helpers.rb index 6f9d63d9390281..09b2b70ba10261 100644 --- a/spec/support/command_line_helpers.rb +++ b/spec/support/command_line_helpers.rb @@ -1,9 +1,9 @@ # frozen_string_literal: true module CommandLineHelpers - def output_results(*args) + def output_results(*) output( - include(*args) + include(*) ).to_stdout end end From 080b3b6ca5dde6426d0f5f44345980dbfdc569c0 Mon Sep 17 00:00:00 2001 From: Matt Jankowski Date: Thu, 31 Oct 2024 11:13:20 -0400 Subject: [PATCH 106/357] Update `rails-i18n` to version 7.0.10 (#32719) --- Gemfile.lock | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Gemfile.lock b/Gemfile.lock index 46a6766e5b7a35..fae39aefc3c7bd 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -654,7 +654,7 @@ GEM rails-html-sanitizer (1.6.0) loofah (~> 2.21) nokogiri (~> 1.14) - rails-i18n (7.0.9) + rails-i18n (7.0.10) i18n (>= 0.7, < 2) railties (>= 6.0.0, < 8) railties (7.1.4.2) From b06fd54c305915527e3a6edc575dc23b623143ef Mon Sep 17 00:00:00 2001 From: Matt Jankowski Date: Thu, 31 Oct 2024 12:00:21 -0400 Subject: [PATCH 107/357] Update `zeitwerk` to version 2.7.1 (#32723) --- Gemfile.lock | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Gemfile.lock b/Gemfile.lock index fae39aefc3c7bd..c7148381704ed4 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -893,7 +893,7 @@ GEM xorcist (1.1.3) xpath (3.2.0) nokogiri (~> 1.8) - zeitwerk (2.6.18) + zeitwerk (2.7.1) PLATFORMS ruby From 9a5dcf0addd358e708e1e147008893e75cd67329 Mon Sep 17 00:00:00 2001 From: Emelia Smith Date: Mon, 28 Oct 2024 14:27:37 +0100 Subject: [PATCH 108/357] [Glitch] Feat: Implement interaction modal for Polls Port dc0b1948beea5eed657bc32a3a7deaab0d41c693 to glitch-soc Signed-off-by: Claire --- app/javascript/flavours/glitch/components/poll.jsx | 12 +++++++++--- app/javascript/flavours/glitch/components/status.jsx | 2 +- .../flavours/glitch/containers/poll_container.js | 12 ++++++++++++ .../glitch/features/interaction_modal/index.jsx | 8 +++++++- .../features/status/components/detailed_status.tsx | 1 + 5 files changed, 30 insertions(+), 5 deletions(-) diff --git a/app/javascript/flavours/glitch/components/poll.jsx b/app/javascript/flavours/glitch/components/poll.jsx index a4fb4b62d1c5b3..76fd93f14eae3c 100644 --- a/app/javascript/flavours/glitch/components/poll.jsx +++ b/app/javascript/flavours/glitch/components/poll.jsx @@ -41,12 +41,14 @@ const makeEmojiMap = record => record.get('emojis').reduce((obj, emoji) => { class Poll extends ImmutablePureComponent { static propTypes = { identity: identityContextPropShape, - poll: ImmutablePropTypes.map, + poll: ImmutablePropTypes.map.isRequired, + status: ImmutablePropTypes.map.isRequired, lang: PropTypes.string, intl: PropTypes.object.isRequired, disabled: PropTypes.bool, refresh: PropTypes.func, onVote: PropTypes.func, + onInteractionModal: PropTypes.func, }; state = { @@ -117,7 +119,11 @@ class Poll extends ImmutablePureComponent { return; } - this.props.onVote(Object.keys(this.state.selected)); + if (this.props.identity.signedIn) { + this.props.onVote(Object.keys(this.state.selected)); + } else { + this.props.onInteractionModal('vote', this.props.status); + } }; handleRefresh = () => { @@ -232,7 +238,7 @@ class Poll extends ImmutablePureComponent {
- {!showResults && } + {!showResults && } {!showResults && <> · } {showResults && !this.props.disabled && <> · } {votesCount} diff --git a/app/javascript/flavours/glitch/components/status.jsx b/app/javascript/flavours/glitch/components/status.jsx index db3e8d77ed600e..bbf947a4592e42 100644 --- a/app/javascript/flavours/glitch/components/status.jsx +++ b/app/javascript/flavours/glitch/components/status.jsx @@ -742,7 +742,7 @@ class Status extends ImmutablePureComponent { if (status.get('poll')) { const language = status.getIn(['translation', 'language']) || status.get('language'); - contentMedia.push(); + contentMedia.push(); contentMediaIcons.push('tasks'); } diff --git a/app/javascript/flavours/glitch/containers/poll_container.js b/app/javascript/flavours/glitch/containers/poll_container.js index e25dd061486282..710bed45c540df 100644 --- a/app/javascript/flavours/glitch/containers/poll_container.js +++ b/app/javascript/flavours/glitch/containers/poll_container.js @@ -2,6 +2,7 @@ import { connect } from 'react-redux'; import { debounce } from 'lodash'; +import { openModal } from 'flavours/glitch/actions/modal'; import { fetchPoll, vote } from 'flavours/glitch/actions/polls'; import Poll from 'flavours/glitch/components/poll'; @@ -17,6 +18,17 @@ const mapDispatchToProps = (dispatch, { pollId }) => ({ onVote (choices) { dispatch(vote(pollId, choices)); }, + + onInteractionModal (type, status) { + dispatch(openModal({ + modalType: 'INTERACTION', + modalProps: { + type, + accountId: status.getIn(['account', 'id']), + url: status.get('uri'), + }, + })); + } }); const mapStateToProps = (state, { pollId }) => ({ diff --git a/app/javascript/flavours/glitch/features/interaction_modal/index.jsx b/app/javascript/flavours/glitch/features/interaction_modal/index.jsx index 23244f06cab9a8..5f514124bfd461 100644 --- a/app/javascript/flavours/glitch/features/interaction_modal/index.jsx +++ b/app/javascript/flavours/glitch/features/interaction_modal/index.jsx @@ -9,6 +9,7 @@ import { connect } from 'react-redux'; import { throttle, escapeRegExp } from 'lodash'; +import InsertChartIcon from '@/material-icons/400-24px/insert_chart.svg?react'; import PersonAddIcon from '@/material-icons/400-24px/person_add.svg?react'; import RepeatIcon from '@/material-icons/400-24px/repeat.svg?react'; import ReplyIcon from '@/material-icons/400-24px/reply.svg?react'; @@ -340,7 +341,7 @@ class InteractionModal extends React.PureComponent { static propTypes = { displayNameHtml: PropTypes.string, url: PropTypes.string, - type: PropTypes.oneOf(['reply', 'reblog', 'favourite', 'follow']), + type: PropTypes.oneOf(['reply', 'reblog', 'favourite', 'follow', 'vote']), onSignupClick: PropTypes.func.isRequired, signupUrl: PropTypes.string.isRequired, }; @@ -377,6 +378,11 @@ class InteractionModal extends React.PureComponent { title = ; actionDescription = ; break; + case 'vote': + icon = ; + title = ; + actionDescription = ; + break; } let signupButton; diff --git a/app/javascript/flavours/glitch/features/status/components/detailed_status.tsx b/app/javascript/flavours/glitch/features/status/components/detailed_status.tsx index d1d955395f4216..7a7c98156b3c4d 100644 --- a/app/javascript/flavours/glitch/features/status/components/detailed_status.tsx +++ b/app/javascript/flavours/glitch/features/status/components/detailed_status.tsx @@ -289,6 +289,7 @@ export const DetailedStatus: React.FC<{ , ); From 43775c8ea45b2d53a1b5ed49073cbad1b8f6e4a2 Mon Sep 17 00:00:00 2001 From: Nathan Sparrow <24910097+DismalShadowX@users.noreply.github.com> Date: Tue, 29 Oct 2024 11:12:35 -0400 Subject: [PATCH 109/357] [Glitch] Embed modal mobile fix Port de1d8dc63afbd541710de44502129345e912895c Signed-off-by: Claire --- app/javascript/flavours/glitch/styles/components.scss | 1 + 1 file changed, 1 insertion(+) diff --git a/app/javascript/flavours/glitch/styles/components.scss b/app/javascript/flavours/glitch/styles/components.scss index e5ff4c96f55e92..b694033e0c0719 100644 --- a/app/javascript/flavours/glitch/styles/components.scss +++ b/app/javascript/flavours/glitch/styles/components.scss @@ -6266,6 +6266,7 @@ a.status-card { pointer-events: auto; user-select: text; display: flex; + max-width: 100vw; @media screen and (width <= $mobile-breakpoint) { margin-top: auto; From 95c95da8910b634f08161d3667995ed7a91f0e98 Mon Sep 17 00:00:00 2001 From: Claire Date: Wed, 30 Oct 2024 09:34:56 +0100 Subject: [PATCH 110/357] [Glitch] Fix preview cards with long titles erroneously causing layout changes Port 742eb549abe556ff2c53adfaaddd4ed01789f26e to glitch-soc Signed-off-by: Claire --- app/javascript/flavours/glitch/styles/components.scss | 2 ++ 1 file changed, 2 insertions(+) diff --git a/app/javascript/flavours/glitch/styles/components.scss b/app/javascript/flavours/glitch/styles/components.scss index b694033e0c0719..5048798a0c3b84 100644 --- a/app/javascript/flavours/glitch/styles/components.scss +++ b/app/javascript/flavours/glitch/styles/components.scss @@ -2932,6 +2932,7 @@ a.account__display-name { flex: 0 1 auto; display: flex; flex-direction: column; + contain: inline-size layout paint style; @media screen and (min-width: $no-gap-breakpoint) { max-width: 600px; @@ -4228,6 +4229,7 @@ input.glitch-setting-text { overflow: hidden; border: 1px solid var(--background-border-color); border-radius: 8px; + contain: inline-size layout paint style; &.bottomless { border-radius: 8px 8px 0 0; From 4d9d10ea81a9f6c5860dc6fd2308820c9041d4c9 Mon Sep 17 00:00:00 2001 From: "Renato \"Lond\" Cerqueira" Date: Thu, 31 Oct 2024 10:37:31 +0100 Subject: [PATCH 111/357] [Glitch] Fix 'unknown' media attachment rendering in detailed view Port 01e25af2e320bd79955b83cc986eef2cd64b3e2a to glitch-soc Signed-off-by: Claire --- .../glitch/features/status/components/detailed_status.tsx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/app/javascript/flavours/glitch/features/status/components/detailed_status.tsx b/app/javascript/flavours/glitch/features/status/components/detailed_status.tsx index 7a7c98156b3c4d..0b08e88cf8f606 100644 --- a/app/javascript/flavours/glitch/features/status/components/detailed_status.tsx +++ b/app/javascript/flavours/glitch/features/status/components/detailed_status.tsx @@ -196,7 +196,7 @@ export const DetailedStatus: React.FC<{ ) { media.push(); } else if ( - ['image', 'gifv'].includes( + ['image', 'gifv', 'unknown'].includes( status.getIn(['media_attachments', 0, 'type']) as string, ) || status.get('media_attachments').size > 1 From b013067027fe7f8911b97b9cd03063baf63eff73 Mon Sep 17 00:00:00 2001 From: Claire Date: Sun, 3 Nov 2024 21:08:10 +0100 Subject: [PATCH 112/357] Fix ruby linting issue --- app/helpers/application_helper.rb | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/app/helpers/application_helper.rb b/app/helpers/application_helper.rb index 4901bdbdecf403..73c9eb6e1f07da 100644 --- a/app/helpers/application_helper.rb +++ b/app/helpers/application_helper.rb @@ -244,12 +244,12 @@ def preload_locale_pack preload_pack_asset "locales/#{current_flavour}/#{I18n.locale}-json.js" if supported_locales.include?(I18n.locale.to_s) end - def flavoured_javascript_pack_tag(pack_name, **options) - javascript_pack_tag("flavours/#{current_flavour}/#{pack_name}", **options) + def flavoured_javascript_pack_tag(pack_name, **) + javascript_pack_tag("flavours/#{current_flavour}/#{pack_name}", **) end - def flavoured_stylesheet_pack_tag(pack_name, **options) - stylesheet_pack_tag("flavours/#{current_flavour}/#{pack_name}", **options) + def flavoured_stylesheet_pack_tag(pack_name, **) + stylesheet_pack_tag("flavours/#{current_flavour}/#{pack_name}", **) end def preload_signed_in_js_packs From dfdc6b2871f21b2c381e2c4acfd4909c432134e6 Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Mon, 4 Nov 2024 09:38:20 +0100 Subject: [PATCH 113/357] Update devDependencies (non-major) (#32761) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> --- yarn.lock | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/yarn.lock b/yarn.lock index 0b24803e6c7389..094af8590036d5 100644 --- a/yarn.lock +++ b/yarn.lock @@ -2206,8 +2206,8 @@ __metadata: linkType: hard "@formatjs/cli@npm:^6.1.1": - version: 6.3.5 - resolution: "@formatjs/cli@npm:6.3.5" + version: 6.3.6 + resolution: "@formatjs/cli@npm:6.3.6" peerDependencies: "@glimmer/env": ^0.1.7 "@glimmer/reference": ^0.91.1 || ^0.92.0 @@ -2236,7 +2236,7 @@ __metadata: optional: true bin: formatjs: bin/formatjs - checksum: 10c0/f3fd57de6df3ef0cfa668813c49acd7dcbecbf52444f30e8edec4ee7bc2d8c47c2e6fb4b7ce3c9c5b4595bdf8416c37953ebb05b400f99874a7f810943f6265b + checksum: 10c0/55f10699644c8b879d7fcf38660e7d9b0642c5f40ca59076c25ba190f350b48d7edb7f3d8481cc6139d3a708ee73f877c2c0a7d1865f15e80a73667270c9b7e3 languageName: node linkType: hard @@ -3445,8 +3445,8 @@ __metadata: linkType: hard "@testing-library/jest-dom@npm:^6.0.0": - version: 6.6.2 - resolution: "@testing-library/jest-dom@npm:6.6.2" + version: 6.6.3 + resolution: "@testing-library/jest-dom@npm:6.6.3" dependencies: "@adobe/css-tools": "npm:^4.4.0" aria-query: "npm:^5.0.0" @@ -3455,7 +3455,7 @@ __metadata: dom-accessibility-api: "npm:^0.6.3" lodash: "npm:^4.17.21" redent: "npm:^3.0.0" - checksum: 10c0/1c51390f97063ce8b06a7267534aac0d6ac9b1f27042a0ae43ca52d886b32c9d2b0ff85e62e7cfeb7e1f089ef03c4d75fda4f2b7b1f08afb4bdb09a5d56566d9 + checksum: 10c0/5566b6c0b7b0709bc244aec3aa3dc9e5f4663e8fb2b99d8cd456fc07279e59db6076cbf798f9d3099a98fca7ef4cd50e4e1f4c4dec5a60a8fad8d24a638a5bf6 languageName: node linkType: hard From 165710647353c6fd1deccb2b2309c4a7f5a4e7f1 Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Mon, 4 Nov 2024 09:38:32 +0100 Subject: [PATCH 114/357] Update DefinitelyTyped types (non-major) (#32760) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> --- yarn.lock | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/yarn.lock b/yarn.lock index 094af8590036d5..d753de80e626c9 100644 --- a/yarn.lock +++ b/yarn.lock @@ -3776,9 +3776,9 @@ __metadata: linkType: hard "@types/lodash@npm:^4.14.195": - version: 4.17.12 - resolution: "@types/lodash@npm:4.17.12" - checksum: 10c0/106008f628ea3c74ed7ee7842dee79e230c84e3721ac38c293700031adb5bd130113048c22f476dbde0d0c119506b0fc447d4bd62eca922682d11e00e1377967 + version: 4.17.13 + resolution: "@types/lodash@npm:4.17.13" + checksum: 10c0/c3d0b7efe7933ac0369b99f2f7bff9240d960680fdb74b41ed4bd1b3ca60cca1e31fe4046d9abbde778f941a41bc2a75eb629abf8659fa6c27b66efbbb0802a9 languageName: node linkType: hard @@ -4151,11 +4151,11 @@ __metadata: linkType: hard "@types/ws@npm:^8.5.9": - version: 8.5.12 - resolution: "@types/ws@npm:8.5.12" + version: 8.5.13 + resolution: "@types/ws@npm:8.5.13" dependencies: "@types/node": "npm:*" - checksum: 10c0/3fd77c9e4e05c24ce42bfc7647f7506b08c40a40fe2aea236ef6d4e96fc7cb4006a81ed1b28ec9c457e177a74a72924f4768b7b4652680b42dfd52bc380e15f9 + checksum: 10c0/a5430aa479bde588e69cb9175518d72f9338b6999e3b2ae16fc03d3bdcff8347e486dc031e4ed14601260463c07e1f9a0d7511dfc653712b047c439c680b0b34 languageName: node linkType: hard From f2763d978c645597217163b64ea678ac0688b570 Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Mon, 4 Nov 2024 09:38:46 +0100 Subject: [PATCH 115/357] Update formatjs monorepo (#32751) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> --- yarn.lock | 176 +++++++++++++++++++++++++++--------------------------- 1 file changed, 88 insertions(+), 88 deletions(-) diff --git a/yarn.lock b/yarn.lock index d753de80e626c9..d54e6b3172dc8d 100644 --- a/yarn.lock +++ b/yarn.lock @@ -2251,14 +2251,14 @@ __metadata: languageName: node linkType: hard -"@formatjs/ecma402-abstract@npm:2.2.1": - version: 2.2.1 - resolution: "@formatjs/ecma402-abstract@npm:2.2.1" +"@formatjs/ecma402-abstract@npm:2.2.2": + version: 2.2.2 + resolution: "@formatjs/ecma402-abstract@npm:2.2.2" dependencies: - "@formatjs/fast-memoize": "npm:2.2.2" - "@formatjs/intl-localematcher": "npm:0.5.6" + "@formatjs/fast-memoize": "npm:2.2.3" + "@formatjs/intl-localematcher": "npm:0.5.7" tslib: "npm:2" - checksum: 10c0/bb0b01282368d201d9bcfb3232963af90069f6048da5824d38a674118fd49a0cb92b05d19d2526fe6d035428b2e47e1abd671bb59a673317f1418e67974253fa + checksum: 10c0/dc712dd9959c9caa161282e3fb8f4a45c7368c4ada07576619d22b72678ece83459d6ec8b5ac3eee7def3b4398b68483c0ee91b49241024b41906333fd94ce21 languageName: node linkType: hard @@ -2271,12 +2271,12 @@ __metadata: languageName: node linkType: hard -"@formatjs/fast-memoize@npm:2.2.2": - version: 2.2.2 - resolution: "@formatjs/fast-memoize@npm:2.2.2" +"@formatjs/fast-memoize@npm:2.2.3": + version: 2.2.3 + resolution: "@formatjs/fast-memoize@npm:2.2.3" dependencies: tslib: "npm:2" - checksum: 10c0/cebbf632a6ed8798ed67dba59d05be8bbe81c9ada7bcbc8ce69798fbaa5e0117c35792f212097d28b8b06fb99cf73bdbc7754702c06cda34f847e5082814643b + checksum: 10c0/f1004c3b280de7e362bd37c5f48ff34c2ba1d6271d4a7b695fed561d1201a3379397824d8bffbf15fecee344d1e70398393bbb04297f242692310a305f12e75b languageName: node linkType: hard @@ -2291,14 +2291,14 @@ __metadata: languageName: node linkType: hard -"@formatjs/icu-messageformat-parser@npm:2.9.1": - version: 2.9.1 - resolution: "@formatjs/icu-messageformat-parser@npm:2.9.1" +"@formatjs/icu-messageformat-parser@npm:2.9.2": + version: 2.9.2 + resolution: "@formatjs/icu-messageformat-parser@npm:2.9.2" dependencies: - "@formatjs/ecma402-abstract": "npm:2.2.1" - "@formatjs/icu-skeleton-parser": "npm:1.8.5" + "@formatjs/ecma402-abstract": "npm:2.2.2" + "@formatjs/icu-skeleton-parser": "npm:1.8.6" tslib: "npm:2" - checksum: 10c0/53554edc7d41f6bd737dc3bb3e03dcd4b4081b4fc9a70383612b87993c1639747d1d3827d8ebb13f8bf3566c60442549a0a42df4959699eef76633d4c7b49b25 + checksum: 10c0/5f65377e56a2f0426240f05c015584b629713f0c9e1b7bc6db78c6d2e94b4d28bdd4c674ee32be695e493cd2f80a8168b7cd3c64a23ec36f9e18db2ae080e51b languageName: node linkType: hard @@ -2312,35 +2312,35 @@ __metadata: languageName: node linkType: hard -"@formatjs/icu-skeleton-parser@npm:1.8.5": - version: 1.8.5 - resolution: "@formatjs/icu-skeleton-parser@npm:1.8.5" +"@formatjs/icu-skeleton-parser@npm:1.8.6": + version: 1.8.6 + resolution: "@formatjs/icu-skeleton-parser@npm:1.8.6" dependencies: - "@formatjs/ecma402-abstract": "npm:2.2.1" + "@formatjs/ecma402-abstract": "npm:2.2.2" tslib: "npm:2" - checksum: 10c0/3e5ddd26e5dc983547320ca09b4a5daa692a00c15382e85474a9a539c223b581dba2290708d71aae12589c3ddd053b3bfd0dab0a07a11c44033fb313605566bc + checksum: 10c0/16993372de234aed52a75877247d911125e063aef77daf779e839a3c7a1213b37ffc8c95350375d303e43e30245711a0db693c4d856e6b0c2f3402644a8fb72d languageName: node linkType: hard -"@formatjs/intl-displaynames@npm:6.8.1": - version: 6.8.1 - resolution: "@formatjs/intl-displaynames@npm:6.8.1" +"@formatjs/intl-displaynames@npm:6.8.2": + version: 6.8.2 + resolution: "@formatjs/intl-displaynames@npm:6.8.2" dependencies: - "@formatjs/ecma402-abstract": "npm:2.2.1" - "@formatjs/intl-localematcher": "npm:0.5.6" + "@formatjs/ecma402-abstract": "npm:2.2.2" + "@formatjs/intl-localematcher": "npm:0.5.7" tslib: "npm:2" - checksum: 10c0/6d39c7bbc3cf0b1398463d662662e5c7c8b873fe977e93b7d702a337f1ed639246492b71b7138c1f193df9e1045add5609edb3fd3efc76c6174ce134c02a186f + checksum: 10c0/52f3e7f74f9ce114860e235d66889f0cea559df060a879852613f76c673a355f0fc7ebe7d173f058dbbd9e760b57816a3b09a1e447448fef262abc76332bc132 languageName: node linkType: hard -"@formatjs/intl-listformat@npm:7.7.1": - version: 7.7.1 - resolution: "@formatjs/intl-listformat@npm:7.7.1" +"@formatjs/intl-listformat@npm:7.7.2": + version: 7.7.2 + resolution: "@formatjs/intl-listformat@npm:7.7.2" dependencies: - "@formatjs/ecma402-abstract": "npm:2.2.1" - "@formatjs/intl-localematcher": "npm:0.5.6" + "@formatjs/ecma402-abstract": "npm:2.2.2" + "@formatjs/intl-localematcher": "npm:0.5.7" tslib: "npm:2" - checksum: 10c0/9ac38d34956ee8018c000bbd594c84f1de283d18441f1376b072658844735a4ebee61ac4711f824dd0a89f4a855acfc7a24159e4cd8a4747609b1d2153316a61 + checksum: 10c0/d42fa043380252f11e300c696f6b366f817c93cac6d9aabc6dc96fb8efcfbc2873b11adac5928e4e1ce7eb1482bbb22b76a5a8520ef7f742ae23863b6edaa088 languageName: node linkType: hard @@ -2353,43 +2353,43 @@ __metadata: languageName: node linkType: hard -"@formatjs/intl-localematcher@npm:0.5.6": - version: 0.5.6 - resolution: "@formatjs/intl-localematcher@npm:0.5.6" +"@formatjs/intl-localematcher@npm:0.5.7": + version: 0.5.7 + resolution: "@formatjs/intl-localematcher@npm:0.5.7" dependencies: tslib: "npm:2" - checksum: 10c0/39fc454641b7871f4b37416a01c7851624db6f1bf6cdcd5c854dfe06b95c0ca7540ec7c803a654140fc3f1c758596a684de8054bc95c4d6c7962091c251f5671 + checksum: 10c0/1ae374ca146a0d7457794926eed808c99971628e594f704a42ae2540b1f38928b26cbf942a7bbcc2796cc9fe8d9d7a603ac422bd9b89b714d2f91b506da40792 languageName: node linkType: hard "@formatjs/intl-pluralrules@npm:^5.2.2": - version: 5.3.1 - resolution: "@formatjs/intl-pluralrules@npm:5.3.1" + version: 5.3.2 + resolution: "@formatjs/intl-pluralrules@npm:5.3.2" dependencies: - "@formatjs/ecma402-abstract": "npm:2.2.1" - "@formatjs/intl-localematcher": "npm:0.5.6" + "@formatjs/ecma402-abstract": "npm:2.2.2" + "@formatjs/intl-localematcher": "npm:0.5.7" tslib: "npm:2" - checksum: 10c0/71a87aa81d5d69d56dca0636144f8f9714176b95fe3bc92ae1e455322c09b5b09ba0018315d81def00e89fc95e4fbffe41110104c86eb189ba6d58ac09efa48c + checksum: 10c0/c8fde868650b2ac9fb9799791a517b052bd2eb8fb2bcdee225a131d20dd300125eb608129b47bc955e8fdf8f90f7b981bb889485fd6f9bcfb7a267e3d07a495d languageName: node linkType: hard -"@formatjs/intl@npm:2.10.11": - version: 2.10.11 - resolution: "@formatjs/intl@npm:2.10.11" +"@formatjs/intl@npm:2.10.12": + version: 2.10.12 + resolution: "@formatjs/intl@npm:2.10.12" dependencies: - "@formatjs/ecma402-abstract": "npm:2.2.1" - "@formatjs/fast-memoize": "npm:2.2.2" - "@formatjs/icu-messageformat-parser": "npm:2.9.1" - "@formatjs/intl-displaynames": "npm:6.8.1" - "@formatjs/intl-listformat": "npm:7.7.1" - intl-messageformat: "npm:10.7.3" + "@formatjs/ecma402-abstract": "npm:2.2.2" + "@formatjs/fast-memoize": "npm:2.2.3" + "@formatjs/icu-messageformat-parser": "npm:2.9.2" + "@formatjs/intl-displaynames": "npm:6.8.2" + "@formatjs/intl-listformat": "npm:7.7.2" + intl-messageformat: "npm:10.7.4" tslib: "npm:2" peerDependencies: typescript: ^4.7 || 5 peerDependenciesMeta: typescript: optional: true - checksum: 10c0/83baa76d1194dbaae38c21d28cdc4e1ce024f8c49a37e2c02629a9f6afe18912f640435e346fae11af7d8128dac6355b36b93cff37685542ab3095edf3ec6d19 + checksum: 10c0/4475b1167c1cc6f2dbf9e373d4ba964032f80a25ca1ba18eca03dfa1730fcaef2c7cfe046252aaf3c23cf87e0968d565d3b7d1c2c336aec097193914173583c1 languageName: node linkType: hard @@ -2413,13 +2413,13 @@ __metadata: languageName: node linkType: hard -"@formatjs/ts-transformer@npm:3.13.20": - version: 3.13.20 - resolution: "@formatjs/ts-transformer@npm:3.13.20" +"@formatjs/ts-transformer@npm:3.13.21": + version: 3.13.21 + resolution: "@formatjs/ts-transformer@npm:3.13.21" dependencies: - "@formatjs/icu-messageformat-parser": "npm:2.9.1" + "@formatjs/icu-messageformat-parser": "npm:2.9.2" "@types/json-stable-stringify": "npm:1" - "@types/node": "npm:14 || 16 || 17 || 18 || 20" + "@types/node": "npm:14 || 16 || 17 || 18 || 20 || 22" chalk: "npm:4" json-stable-stringify: "npm:1" tslib: "npm:2" @@ -2429,7 +2429,7 @@ __metadata: peerDependenciesMeta: ts-jest: optional: true - checksum: 10c0/0c1a203ce2e0efc24b9c1fc087771330f9630ebb4220e34dd2fffe64d5ee94816554df8ed8402a54dd588c186617765efb6c200a3373cf1d5dfb093ba8d70416 + checksum: 10c0/e83c8ebd210e451743745e939193bb37a1bba3acc5ba1e15a509968bdbb98a07d0761133cc5aa2375074281d56d9987f782af712111d82ee1f7aef7ad30d88fc languageName: node linkType: hard @@ -3803,12 +3803,12 @@ __metadata: languageName: node linkType: hard -"@types/node@npm:*, @types/node@npm:14 || 16 || 17 || 18 || 20": - version: 20.16.13 - resolution: "@types/node@npm:20.16.13" +"@types/node@npm:*, @types/node@npm:14 || 16 || 17 || 18 || 20 || 22": + version: 22.8.6 + resolution: "@types/node@npm:22.8.6" dependencies: - undici-types: "npm:~6.19.2" - checksum: 10c0/7f4fd7176db0802c62e11ebbf7a66d0248e2dc8ec9153d9fc8bcb164d9aed581d91c407046c823c522e60d0babfdc24a1618dba7f2c6920ef1a24e1d416c9550 + undici-types: "npm:~6.19.8" + checksum: 10c0/d3a11f2549234a91a4c5d0ff35ab4bdcb7ba34db4d3f1d189be39b8bd41c19aac98d117150a95a9c5a9d45b1014135477ea240b2b8317c86ae3d3cf1c3b3f8f4 languageName: node linkType: hard @@ -3998,7 +3998,7 @@ __metadata: languageName: node linkType: hard -"@types/react@npm:*, @types/react@npm:>=16.9.11, @types/react@npm:^18.2.7, @types/react@npm:^18.3.11": +"@types/react@npm:*, @types/react@npm:16 || 17 || 18, @types/react@npm:>=16.9.11, @types/react@npm:^18.2.7": version: 18.3.12 resolution: "@types/react@npm:18.3.12" dependencies: @@ -5180,21 +5180,21 @@ __metadata: linkType: hard "babel-plugin-formatjs@npm:^10.5.1": - version: 10.5.22 - resolution: "babel-plugin-formatjs@npm:10.5.22" + version: 10.5.23 + resolution: "babel-plugin-formatjs@npm:10.5.23" dependencies: "@babel/core": "npm:^7.25.0" "@babel/helper-plugin-utils": "npm:^7.25.0" "@babel/plugin-syntax-jsx": "npm:^7.25.0" "@babel/traverse": "npm:^7.25.0" "@babel/types": "npm:^7.25.0" - "@formatjs/icu-messageformat-parser": "npm:2.9.1" - "@formatjs/ts-transformer": "npm:3.13.20" + "@formatjs/icu-messageformat-parser": "npm:2.9.2" + "@formatjs/ts-transformer": "npm:3.13.21" "@types/babel__core": "npm:^7.20.5" "@types/babel__helper-plugin-utils": "npm:^7.10.3" "@types/babel__traverse": "npm:^7.20.6" tslib: "npm:2" - checksum: 10c0/c35ec81d89eb228d23d3d62e7e4d0e5d7216f0d09f91b1dc3c46e049c5515a201fcfe77c1079924c6bfb9883b2941af91431f479a0f5a24a0574b695f18b64bc + checksum: 10c0/1484b6a18beea114d800754c3ffa6296a52676eb68b7f280f9e04e34efed12bcb61ecd881ba042907998bc00df0a5eb9111932c7b5df2fb6d6eae0692984c633 languageName: node linkType: hard @@ -9741,15 +9741,15 @@ __metadata: languageName: node linkType: hard -"intl-messageformat@npm:10.7.3, intl-messageformat@npm:^10.3.5": - version: 10.7.3 - resolution: "intl-messageformat@npm:10.7.3" +"intl-messageformat@npm:10.7.4, intl-messageformat@npm:^10.3.5": + version: 10.7.4 + resolution: "intl-messageformat@npm:10.7.4" dependencies: - "@formatjs/ecma402-abstract": "npm:2.2.1" - "@formatjs/fast-memoize": "npm:2.2.2" - "@formatjs/icu-messageformat-parser": "npm:2.9.1" + "@formatjs/ecma402-abstract": "npm:2.2.2" + "@formatjs/fast-memoize": "npm:2.2.3" + "@formatjs/icu-messageformat-parser": "npm:2.9.2" tslib: "npm:2" - checksum: 10c0/7ddd118c04023c9ecdf9a2270753abd876e90a428d5106ce8373622ddefe72ff1daa33993b12065a3339b7f838e9266c3db9048aa7dd20012c8703c6ebe26fd4 + checksum: 10c0/698e1b020f744a1790eb0a68edc86a8d215c3d3df3d67a1c77f50ce0582af9fadc8656ff988b7806708f997e0e8462a044602f28d8f334f4e8b3233cf3b03f3e languageName: node linkType: hard @@ -14474,18 +14474,18 @@ __metadata: linkType: hard "react-intl@npm:^6.4.2": - version: 6.8.4 - resolution: "react-intl@npm:6.8.4" - dependencies: - "@formatjs/ecma402-abstract": "npm:2.2.1" - "@formatjs/icu-messageformat-parser": "npm:2.9.1" - "@formatjs/intl": "npm:2.10.11" - "@formatjs/intl-displaynames": "npm:6.8.1" - "@formatjs/intl-listformat": "npm:7.7.1" + version: 6.8.5 + resolution: "react-intl@npm:6.8.5" + dependencies: + "@formatjs/ecma402-abstract": "npm:2.2.2" + "@formatjs/icu-messageformat-parser": "npm:2.9.2" + "@formatjs/intl": "npm:2.10.12" + "@formatjs/intl-displaynames": "npm:6.8.2" + "@formatjs/intl-listformat": "npm:7.7.2" "@types/hoist-non-react-statics": "npm:3" - "@types/react": "npm:^18.3.11" + "@types/react": "npm:16 || 17 || 18" hoist-non-react-statics: "npm:3" - intl-messageformat: "npm:10.7.3" + intl-messageformat: "npm:10.7.4" tslib: "npm:2" peerDependencies: react: ^16.6.0 || 17 || 18 @@ -14493,7 +14493,7 @@ __metadata: peerDependenciesMeta: typescript: optional: true - checksum: 10c0/a6b417c1cfb36ffe38645fe9daaaf3e1a25660468b8dbd4ccf386be063cc7c0fdeecc3c0490c671721408696b6578262b8db5882d00b76d4ec48d94601b14eab + checksum: 10c0/73707912c00a646460c1497f7004bf511b58ec28265f0d8d65b1677a43f62a957bab40f2b5a1759b7f11cc28af10754e8552890b9b485d3f9505c0a36a692fbc languageName: node linkType: hard @@ -17339,7 +17339,7 @@ __metadata: languageName: node linkType: hard -"undici-types@npm:~6.19.2": +"undici-types@npm:~6.19.8": version: 6.19.8 resolution: "undici-types@npm:6.19.8" checksum: 10c0/078afa5990fba110f6824823ace86073b4638f1d5112ee26e790155f481f2a868cc3e0615505b6f4282bdf74a3d8caad715fd809e870c2bb0704e3ea6082f344 From 5bc32c47a23ce56ccdae9c40d94cf8d711f977ae Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Mon, 4 Nov 2024 08:40:52 +0000 Subject: [PATCH 116/357] Update dependency oj to v3.16.7 (#32741) 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 c7148381704ed4..8b660b976bcdab 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -448,7 +448,7 @@ GEM nokogiri (1.16.7) mini_portile2 (~> 2.8.2) racc (~> 1.4) - oj (3.16.6) + oj (3.16.7) bigdecimal (>= 3.0) ostruct (>= 0.2) omniauth (2.1.2) From 074fb04c6a84e97959ef1ee0d7092ae90ad14635 Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Mon, 4 Nov 2024 08:42:39 +0000 Subject: [PATCH 117/357] Update dependency utf-8-validate to v6.0.5 (#32738) 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 d54e6b3172dc8d..da80fac3bf12ce 100644 --- a/yarn.lock +++ b/yarn.lock @@ -17599,12 +17599,12 @@ __metadata: linkType: hard "utf-8-validate@npm:^6.0.3": - version: 6.0.4 - resolution: "utf-8-validate@npm:6.0.4" + version: 6.0.5 + resolution: "utf-8-validate@npm:6.0.5" dependencies: node-gyp: "npm:latest" node-gyp-build: "npm:^4.3.0" - checksum: 10c0/f7042d94aec6ca02461b64e725bdc7262266610dbb787331e5bbd49374ef6f75fe9900600df3fc63d97906c23614a965c8989b4bf95d70bf35dc617da99215e7 + checksum: 10c0/6dc63c513adb001e47a51819072cdd414158430091c49c21d4947ea99f16df5167b671f680df8fb2b6f2ae6a7f30264b4ec111bd3e573720dfe371da1ab99a81 languageName: node linkType: hard From e7a93915dea95790688edf798de3f948d2a0acc0 Mon Sep 17 00:00:00 2001 From: Matt Jankowski Date: Mon, 4 Nov 2024 03:44:59 -0500 Subject: [PATCH 118/357] Update browser to version 6.0.0 (#32728) --- Gemfile | 2 +- Gemfile.lock | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/Gemfile b/Gemfile index 0c3484a7aa9fd1..22a8d86c3c3aa0 100644 --- a/Gemfile +++ b/Gemfile @@ -25,7 +25,7 @@ gem 'ruby-vips', '~> 2.2', require: false gem 'active_model_serializers', '~> 0.10' gem 'addressable', '~> 2.8' gem 'bootsnap', '~> 1.18.0', require: false -gem 'browser', '< 6' # https://github.com/fnando/browser/issues/543 +gem 'browser' gem 'charlock_holmes', '~> 0.7.7' gem 'chewy', '~> 7.3' gem 'devise', '~> 4.9' diff --git a/Gemfile.lock b/Gemfile.lock index 8b660b976bcdab..392acf36bb67d0 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -133,7 +133,7 @@ GEM msgpack (~> 1.2) brakeman (6.2.2) racc - browser (5.3.1) + browser (6.0.0) brpoplpush-redis_script (0.1.3) concurrent-ruby (~> 1.0, >= 1.0.5) redis (>= 1.0, < 6) @@ -908,7 +908,7 @@ DEPENDENCIES blurhash (~> 0.1) bootsnap (~> 1.18.0) brakeman (~> 6.0) - browser (< 6) + browser bundler-audit (~> 0.9) capybara (~> 3.39) charlock_holmes (~> 0.7.7) From 2271b39a5c6ca4d762a45726aee09b58cd6ea8e9 Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" <41898282+github-actions[bot]@users.noreply.github.com> Date: Mon, 4 Nov 2024 08:56:11 +0000 Subject: [PATCH 119/357] New Crowdin Translations (automated) (#32733) Co-authored-by: GitHub Actions --- app/javascript/mastodon/locales/eo.json | 4 +-- app/javascript/mastodon/locales/fi.json | 4 +-- app/javascript/mastodon/locales/fy.json | 7 +++++ app/javascript/mastodon/locales/ko.json | 4 ++- app/javascript/mastodon/locales/lv.json | 11 +++++-- app/javascript/mastodon/locales/ru.json | 39 +++++++++++++++---------- app/javascript/mastodon/locales/sk.json | 3 +- app/javascript/mastodon/locales/sv.json | 36 +++++++++++------------ app/javascript/mastodon/locales/th.json | 16 +++++----- config/locales/doorkeeper.th.yml | 2 +- config/locales/fy.yml | 4 +++ config/locales/gd.yml | 2 +- config/locales/simple_form.fy.yml | 2 ++ config/locales/simple_form.lv.yml | 2 +- config/locales/simple_form.nl.yml | 2 +- config/locales/simple_form.sv.yml | 2 +- config/locales/sv.yml | 22 +++++++------- config/locales/th.yml | 6 ++-- 18 files changed, 99 insertions(+), 69 deletions(-) diff --git a/app/javascript/mastodon/locales/eo.json b/app/javascript/mastodon/locales/eo.json index 7abe0783c39f43..ee4d733ab89f00 100644 --- a/app/javascript/mastodon/locales/eo.json +++ b/app/javascript/mastodon/locales/eo.json @@ -45,7 +45,7 @@ "account.languages": "Ŝanĝi la abonitajn lingvojn", "account.link_verified_on": "Propreco de tiu ligilo estis konfirmita je {date}", "account.locked_info": "Tiu konto estas privatigita. La posedanto mane akceptas tiun, kiu povas sekvi rin.", - "account.media": "Plurmedioj", + "account.media": "Plurmedio", "account.mention": "Mencii @{name}", "account.moved_to": "{name} indikis, ke ria nova konto estas nun:", "account.mute": "Silentigi @{name}", @@ -142,7 +142,7 @@ "column_header.unpin": "Malfiksi", "column_subheading.settings": "Agordoj", "community.column_settings.local_only": "Nur loka", - "community.column_settings.media_only": "Nur plurmedioj", + "community.column_settings.media_only": "Nur plurmedio", "community.column_settings.remote_only": "Nur fora", "compose.language.change": "Ŝanĝi lingvon", "compose.language.search": "Serĉi lingvojn...", diff --git a/app/javascript/mastodon/locales/fi.json b/app/javascript/mastodon/locales/fi.json index 2222e6038c08a5..f06566df752f20 100644 --- a/app/javascript/mastodon/locales/fi.json +++ b/app/javascript/mastodon/locales/fi.json @@ -158,7 +158,7 @@ "compose_form.poll.duration": "Äänestyksen kesto", "compose_form.poll.multiple": "Monivalinta", "compose_form.poll.option_placeholder": "Vaihtoehto {number}", - "compose_form.poll.single": "Yksi vaihtoehto", + "compose_form.poll.single": "Yksittäisvalinta", "compose_form.poll.switch_to_multiple": "Muuta äänestys monivalinnaksi", "compose_form.poll.switch_to_single": "Muuta äänestys yksittäisvalinnaksi", "compose_form.poll.type": "Tyyli", @@ -386,7 +386,7 @@ "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.description.vote": "Osallistuminen äänestykseen onnistuu Mastodon-tilillä.", + "interaction_modal.description.vote": "Mastodon-tilillä voit osallistua tähän äänestykseen.", "interaction_modal.login.action": "Siirry kotiin", "interaction_modal.login.prompt": "Kotipalvelimesi verkkotunnus, kuten mastodon.social", "interaction_modal.no_account_yet": "Etkö ole vielä Mastodonissa?", diff --git a/app/javascript/mastodon/locales/fy.json b/app/javascript/mastodon/locales/fy.json index e1c090cb0cb8cb..3f4d942b61e3b9 100644 --- a/app/javascript/mastodon/locales/fy.json +++ b/app/javascript/mastodon/locales/fy.json @@ -158,6 +158,7 @@ "compose_form.poll.duration": "Doer fan de enkête", "compose_form.poll.multiple": "Mearkar", "compose_form.poll.option_placeholder": "Opsje {number}", + "compose_form.poll.single": "Inkelde kar", "compose_form.poll.switch_to_multiple": "Enkête wizigje om meardere karren ta te stean", "compose_form.poll.switch_to_single": "Enkête wizigje om in inkelde kar ta te stean", "compose_form.poll.type": "Styl", @@ -196,6 +197,7 @@ "confirmations.unfollow.title": "Brûker net mear folgje?", "content_warning.hide": "Berjocht ferstopje", "content_warning.show": "Dochs toane", + "content_warning.show_more": "Mear toane", "conversation.delete": "Petear fuortsmite", "conversation.mark_as_read": "As lêzen markearje", "conversation.open": "Petear toane", @@ -304,6 +306,7 @@ "filter_modal.select_filter.subtitle": "In besteande kategory brûke of in nije oanmeitsje", "filter_modal.select_filter.title": "Dit berjocht filterje", "filter_modal.title.status": "In berjocht filterje", + "filter_warning.matches_filter": "Komt oerien mei filter ‘{title}’", "filtered_notifications_banner.pending_requests": "Fan {count, plural, =0 {net ien} one {ien persoan} other {# persoanen}} dy’t jo mooglik kinne", "filtered_notifications_banner.title": "Filtere meldingen", "firehose.all": "Alles", @@ -383,6 +386,7 @@ "interaction_modal.description.follow": "Jo kinne mei in Mastodon-account {name} folgje, om sa harren berjochten op jo starttiidline te ûntfangen.", "interaction_modal.description.reblog": "Jo kinne mei in Mastodon-account dit berjocht booste, om it sa mei jo folgers te dielen.", "interaction_modal.description.reply": "Jo kinne mei in Mastodon-account op dit berjocht reagearje.", + "interaction_modal.description.vote": "Mei in Mastodon-account kinne jo yn dizze enkête stimme.", "interaction_modal.login.action": "Gean nei start", "interaction_modal.login.prompt": "Domein fan jo server, byg. mastodon.social", "interaction_modal.no_account_yet": "Net op Mastodon?", @@ -394,6 +398,7 @@ "interaction_modal.title.follow": "{name} folgje", "interaction_modal.title.reblog": "Berjocht fan {name} booste", "interaction_modal.title.reply": "Op it berjocht fan {name} reagearje", + "interaction_modal.title.vote": "Stimme yn {name}’s peiling", "intervals.full.days": "{number, plural, one {# dei} other {# dagen}} lyn", "intervals.full.hours": "{number, plural, one {# oere} other {# oeren}} lyn", "intervals.full.minutes": "{number, plural, one {# minút} other {# minuten}} lyn", @@ -506,6 +511,7 @@ "notification.favourite": "{name} hat jo berjocht as favoryt markearre", "notification.favourite.name_and_others_with_link": "{name} en {count, plural, one {# oar} other {# oaren}} hawwe jo berjocht as favoryt markearre", "notification.follow": "{name} folget dy", + "notification.follow.name_and_others": "{name} en {count, plural, one {# oar persoan} other {# oare persoanen}} folgje jo no", "notification.follow_request": "{name} hat dy in folchfersyk stjoerd", "notification.follow_request.name_and_others": "{name} en {count, plural, one {# oar} other {# oaren}} hawwe frege om jo te folgjen", "notification.label.mention": "Fermelding", @@ -564,6 +570,7 @@ "notifications.column_settings.filter_bar.category": "Flugge filterbalke", "notifications.column_settings.follow": "Nije folgers:", "notifications.column_settings.follow_request": "Nij folchfersyk:", + "notifications.column_settings.group": "Groepearje", "notifications.column_settings.mention": "Fermeldingen:", "notifications.column_settings.poll": "Enkêteresultaten:", "notifications.column_settings.push": "Pushmeldingen", diff --git a/app/javascript/mastodon/locales/ko.json b/app/javascript/mastodon/locales/ko.json index 3462675e3e0e1e..dbdb5062cff331 100644 --- a/app/javascript/mastodon/locales/ko.json +++ b/app/javascript/mastodon/locales/ko.json @@ -113,7 +113,7 @@ "bundle_modal_error.message": "컴포넌트를 불러오는 중 문제가 발생했습니다.", "bundle_modal_error.retry": "다시 시도", "closed_registrations.other_server_instructions": "마스토돈은 분산화 되어 있기 때문에, 다른 서버에서 계정을 만들더라도 이 서버와 상호작용 할 수 있습니다.", - "closed_registrations_modal.description": "{domain}은 현재 가입이 막혀있는 상태입니다, 마스토돈을 이용하기 위해 꼭 {domain}을 사용할 필요는 없다는 사실을 인지해 두세요.", + "closed_registrations_modal.description": "{domain}은 현재 가입이 불가능합니다. 하지만 마스토돈을 이용하기 위해 꼭 {domain}을 사용할 필요는 없다는 사실을 인지해 두세요.", "closed_registrations_modal.find_another_server": "다른 서버 찾기", "closed_registrations_modal.preamble": "마스토돈은 분산화 되어 있습니다, 그렇기 때문에 어디에서 계정을 생성하든, 이 서버에 있는 누구와도 팔로우와 상호작용을 할 수 있습니다. 심지어는 스스로 서버를 만드는 것도 가능합니다!", "closed_registrations_modal.title": "마스토돈에서 가입", @@ -386,6 +386,7 @@ "interaction_modal.description.follow": "마스토돈 계정을 통해, {name} 님을 팔로우 하고 그의 게시물을 홈 피드에서 받아 볼 수 있습니다.", "interaction_modal.description.reblog": "마스토돈 계정을 통해, 이 게시물을 부스트 하고 자신의 팔로워들에게 공유할 수 있습니다.", "interaction_modal.description.reply": "마스토돈 계정을 통해, 이 게시물에 응답할 수 있습니다.", + "interaction_modal.description.vote": "마스토돈 계정을 통해, 이 투표에 참여할 수 있습니다.", "interaction_modal.login.action": "홈 서버로 가기", "interaction_modal.login.prompt": "내 홈 서버의 도메인. 예시: mastodon.social", "interaction_modal.no_account_yet": "Mastodon 계정이 없나요?", @@ -397,6 +398,7 @@ "interaction_modal.title.follow": "{name} 님을 팔로우", "interaction_modal.title.reblog": "{name} 님의 게시물을 부스트", "interaction_modal.title.reply": "{name} 님의 게시물에 답글", + "interaction_modal.title.vote": "{name} 님의 투표에 참여", "intervals.full.days": "{number} 일", "intervals.full.hours": "{number} 시간", "intervals.full.minutes": "{number} 분", diff --git a/app/javascript/mastodon/locales/lv.json b/app/javascript/mastodon/locales/lv.json index d7507ee8843dcd..30fc0ea3484f1b 100644 --- a/app/javascript/mastodon/locales/lv.json +++ b/app/javascript/mastodon/locales/lv.json @@ -36,6 +36,7 @@ "account.followers.empty": "Šim lietotājam vēl nav sekotāju.", "account.followers_counter": "{count, plural, zero {{count} sekotāju} one {{count} sekotājs} other {{count} sekotāji}}", "account.following": "Seko", + "account.following_counter": "{count, plural, one {seko {counter}} other {seko {counter}}}", "account.follows.empty": "Šis lietotājs pagaidām nevienam neseko.", "account.go_to_profile": "Doties uz profilu", "account.hide_reblogs": "Paslēpt @{name} pastiprinātos ierakstus", @@ -61,6 +62,7 @@ "account.requested_follow": "{name} nosūtīja Tev sekošanas pieprasījumu", "account.share": "Dalīties ar @{name} profilu", "account.show_reblogs": "Parādīt @{name} pastiprinātos ierakstus", + "account.statuses_counter": "{count, plural, zero {{counter} ierakstu} one {{counter} ieraksts} other {{counter} ieraksti}}", "account.unblock": "Atbloķēt @{name}", "account.unblock_domain": "Atbloķēt domēnu {domain}", "account.unblock_short": "Atbloķēt", @@ -191,6 +193,7 @@ "confirmations.unfollow.title": "Pārtraukt sekošanu lietotājam?", "content_warning.hide": "Paslēpt ierakstu", "content_warning.show": "Tomēr rādīt", + "content_warning.show_more": "Rādīt vairāk", "conversation.delete": "Dzēst sarunu", "conversation.mark_as_read": "Atzīmēt kā izlasītu", "conversation.open": "Skatīt sarunu", @@ -211,6 +214,7 @@ "dismissable_banner.explore_tags": "Šie ir tēmturi, kas šodien gūst uzmanību sabiedriskajā tīmeklī. Tēmturi, kurus izmanto vairāk dažādu cilvēku, tiek vērtēti augstāk.", "dismissable_banner.public_timeline": "Šie ir jaunākie publiskie ieraksti no lietotājiem sociālajā tīmeklī, kuriem {domain} seko cilvēki.", "domain_block_modal.block": "Bloķēt serveri", + "domain_block_modal.block_account_instead": "Tā vietā liegt @{name}", "domain_block_modal.they_cant_follow": "Neviens šajā serverī nevar Tev sekot.", "domain_block_modal.they_wont_know": "Viņi nezinās, ka tikuši bloķēti.", "domain_block_modal.title": "Bloķēt domēnu?", @@ -329,6 +333,7 @@ "home.pending_critical_update.link": "Skatīt jauninājumus", "home.pending_critical_update.title": "Ir pieejams būtisks drošības atjauninājums.", "home.show_announcements": "Rādīt paziņojumus", + "ignore_notifications_modal.ignore": "Neņemt vērā paziņojumus", "interaction_modal.description.favourite": "Ar Mastodon kontu tu vari pievienot šo ziņu izlasei, lai informētu autoru, ka to novērtē, un saglabātu to vēlākai lasīšanai.", "interaction_modal.description.follow": "Ar Mastodon kontu Tu vari sekot {name}, lai saņemtu lietotāja ierakstus savā mājas plūsmā.", "interaction_modal.description.reblog": "Ar Mastodon kontu Tu vari izvirzīt šo ierakstu, lai kopīgotu to ar saviem sekotājiem.", @@ -505,10 +510,10 @@ "onboarding.action.back": "Aizved mani atpakaļ", "onboarding.actions.back": "Aizved mani atpakaļ", "onboarding.actions.go_to_explore": "Skatīt tendences", - "onboarding.actions.go_to_home": "Dodieties uz manu mājas plūsmu", + "onboarding.actions.go_to_home": "Doties uz manu sākuma 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 cilvēkus, kuriem sekot, vai vēlāk mēģināt vēlreiz.", - "onboarding.follows.lead": "Tava mājas plūsma ir galvenais veids, kā pieredzēt Mastodon. Jo vairāk cilvēkiem sekosi, jo dzīvīgāka un aizraujošāka tā būs. Lai sāktu, šeit ir daži ieteikumi:", + "onboarding.follows.lead": "Tava sākuma plūsma ir galvenais veids, kā pieredzēt Mastodon. Jo vairāk cilvēkiem sekosi, jo dzīvīgāka un aizraujošāka tā būs. Lai sāktu, šeit ir daži ieteikumi:", "onboarding.follows.title": "Pielāgo savu mājas barotni", "onboarding.profile.discoverable": "Padarīt manu profilu atklājamu", "onboarding.profile.display_name": "Attēlojamais vārds", @@ -526,7 +531,7 @@ "onboarding.start.lead": "Tagad Tu esi daļa no Mastodon — vienreizējas, decentralizētas sociālās mediju platformas, kurā Tu, nevis algoritms, veido Tavu 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.body": "Sekošana aizraujošiem cilvēkiem ir tas, par ko ir Mastodon.", "onboarding.steps.follow_people.title": "Pielāgo savu mājas barotni", "onboarding.steps.publish_status.body": "Pasveicini pasauli ar tekstu, attēliem, video vai aptaujām {emoji}", "onboarding.steps.publish_status.title": "Izveido savu pirmo ziņu", diff --git a/app/javascript/mastodon/locales/ru.json b/app/javascript/mastodon/locales/ru.json index 2a985a1f848221..d75b5fab262b1a 100644 --- a/app/javascript/mastodon/locales/ru.json +++ b/app/javascript/mastodon/locales/ru.json @@ -84,7 +84,7 @@ "alert.rate_limited.message": "Пожалуйста, повторите после {retry_time, time, medium}.", "alert.rate_limited.title": "Ограничение количества запросов", "alert.unexpected.message": "Произошла непредвиденная ошибка.", - "alert.unexpected.title": "Упс!", + "alert.unexpected.title": "Ой!", "alt_text_badge.title": "Альтернативный текст", "announcement.announcement": "Объявление", "attachments_list.unprocessed": "(не обработан)", @@ -95,11 +95,11 @@ "block_modal.they_cant_mention": "Он не может упоминать или подписываться на вас.", "block_modal.they_cant_see_posts": "Он не может видеть ваши сообщения, и вы не увидите его.", "block_modal.they_will_know": "Он может видеть, что он заблокирован.", - "block_modal.title": "Заблокировать пользователя?", + "block_modal.title": "Заблокируем пользователя?", "block_modal.you_wont_see_mentions": "Вы не увидите записи, которые упоминают его.", "boost_modal.combo": "{combo}, чтобы пропустить это в следующий раз", - "boost_modal.reblog": "Повысить пост?", - "boost_modal.undo_reblog": "Разгрузить пост?", + "boost_modal.reblog": "Репостнуть?", + "boost_modal.undo_reblog": "Убрать репост?", "bundle_column_error.copy_stacktrace": "Скопировать отчет об ошибке", "bundle_column_error.error.body": "Запрошенная страница не может быть отображена. Это может быть вызвано ошибкой в нашем коде или проблемой совместимости браузера.", "bundle_column_error.error.title": "О нет!", @@ -144,7 +144,7 @@ "community.column_settings.local_only": "Только локальные", "community.column_settings.media_only": "Только с медиафайлами", "community.column_settings.remote_only": "Только удалённые", - "compose.language.change": "Изменить язык", + "compose.language.change": "Сменить язык", "compose.language.search": "Поиск языков...", "compose.published.body": "Запись опубликована.", "compose.published.open": "Открыть", @@ -180,7 +180,7 @@ "confirmations.discard_edit_media.message": "У вас есть несохранённые изменения описания мультимедиа или предпросмотра, отменить их?", "confirmations.edit.confirm": "Редактировать", "confirmations.edit.message": "В данный момент, редактирование перезапишет составляемое вами сообщение. Вы уверены, что хотите продолжить?", - "confirmations.edit.title": "Переписать сообщение?", + "confirmations.edit.title": "Перепишем сообщение?", "confirmations.logout.confirm": "Выйти", "confirmations.logout.message": "Вы уверены, что хотите выйти?", "confirmations.logout.title": "Выйти?", @@ -196,6 +196,7 @@ "confirmations.unfollow.title": "Отписаться?", "content_warning.hide": "Скрыть пост", "content_warning.show": "Всё равно показать", + "content_warning.show_more": "Покажи ещё", "conversation.delete": "Удалить беседу", "conversation.mark_as_read": "Отметить как прочитанное", "conversation.open": "Просмотр беседы", @@ -303,6 +304,7 @@ "filter_modal.select_filter.subtitle": "Используйте существующую категорию или создайте новую", "filter_modal.select_filter.title": "Фильтровать этот пост", "filter_modal.title.status": "Фильтровать пост", + "filter_warning.matches_filter": "Соответствует фильтру \"{title}\"", "filtered_notifications_banner.pending_requests": "Вы можете знать {count, plural, =0 {ни одного человека} one {одного человека} other {# человек}}", "filtered_notifications_banner.title": "Отфильтрованные уведомления", "firehose.all": "Все", @@ -382,6 +384,7 @@ "interaction_modal.description.follow": "С учётной записью Mastodon вы можете подписаться на {name}, чтобы получать их посты в своей домашней ленте.", "interaction_modal.description.reblog": "С учётной записью Mastodon, вы можете продвинуть этот пост, чтобы поделиться им со своими подписчиками.", "interaction_modal.description.reply": "Вы можете ответить на этот пост с учётной записью Mastodon.", + "interaction_modal.description.vote": "Вы сможете проголосовать тут имея аккаунт Mastodon.", "interaction_modal.login.action": "Перейти на домашнюю страницу", "interaction_modal.login.prompt": "Домен вашего домашнего сервера, например, mastodon.social", "interaction_modal.no_account_yet": "Еще не на Mastodon?", @@ -393,12 +396,13 @@ "interaction_modal.title.follow": "Подписаться на {name}", "interaction_modal.title.reblog": "Продвинуть публикацию {name}", "interaction_modal.title.reply": "Ответить на пост {name}", + "interaction_modal.title.vote": "Голосовать в опросе {name}", "intervals.full.days": "{number, plural, one {# день} few {# дня} other {# дней}}", "intervals.full.hours": "{number, plural, one {# час} few {# часа} other {# часов}}", "intervals.full.minutes": "{number, plural, one {# минута} few {# минуты} other {# минут}}", "keyboard_shortcuts.back": "перейти назад", "keyboard_shortcuts.blocked": "чтобы открыть список заблокированных", - "keyboard_shortcuts.boost": "продвинуть пост", + "keyboard_shortcuts.boost": "Репостнуть", "keyboard_shortcuts.column": "фокус на одном из столбцов", "keyboard_shortcuts.compose": "фокус на поле ввода", "keyboard_shortcuts.description": "Описание", @@ -464,7 +468,7 @@ "mute_modal.show_options": "Показать опции", "mute_modal.they_can_mention_and_follow": "Они могут упоминать и следить за вами, но вы не будете их видеть.", "mute_modal.they_wont_know": "Они не будут знать, что их заглушили.", - "mute_modal.title": "Заглушить пользователя?", + "mute_modal.title": "Заткнуть пользователя?", "mute_modal.you_wont_see_mentions": "Вы не увидите постов, которые их упоминают.", "mute_modal.you_wont_see_posts": "Они по-прежнему смогут видеть ваши посты, но вы не сможете видеть их посты.", "navigation_bar.about": "О проекте", @@ -505,6 +509,7 @@ "notification.favourite": "{name} добавил(а) ваш пост в избранное", "notification.favourite.name_and_others_with_link": "{name} и {count, plural, one {# другие} other {# другие}} отдали предпочтение вашему посту", "notification.follow": "{name} подписался (-лась) на вас", + "notification.follow.name_and_others": "{name} и {count, plural, one {# other} few {# others} many {# others} other {# others}} подписались на вас", "notification.follow_request": "{name} отправил запрос на подписку", "notification.follow_request.name_and_others": "{name} и ещё {count, plural, one {#} other {# других}} подписались на вас", "notification.label.mention": "Упоминание", @@ -512,7 +517,7 @@ "notification.label.private_reply": "Частный ответ", "notification.label.reply": "Ответить", "notification.mention": "Упоминание", - "notification.mentioned_you": "{name} упомянул(а) вас", + "notification.mentioned_you": "{name} упоминает вас", "notification.moderation-warning.learn_more": "Узнать больше", "notification.moderation_warning": "Вы получили предупреждение от модерации", "notification.moderation_warning.action_delete_statuses": "Некоторые из ваших публикаций были удалены.", @@ -558,6 +563,7 @@ "notifications.column_settings.filter_bar.category": "Панель сортировки", "notifications.column_settings.follow": "У вас новый подписчик:", "notifications.column_settings.follow_request": "Новые запросы на подписку:", + "notifications.column_settings.group": "Группа", "notifications.column_settings.mention": "Вас упомянули в посте:", "notifications.column_settings.poll": "Опрос, в котором вы приняли участие, завершился:", "notifications.column_settings.push": "Пуш-уведомления", @@ -600,8 +606,8 @@ "notifications_permission_banner.enable": "Включить уведомления", "notifications_permission_banner.how_to_control": "Получайте уведомления даже когда Mastodon закрыт, включив уведомления на рабочем столе. А чтобы лишний шум не отвлекал, вы можете настроить какие уведомления вы хотите получать, нажав на кнопку {icon} выше.", "notifications_permission_banner.title": "Будьте в курсе происходящего", - "onboarding.action.back": "Вернуть меня", - "onboarding.actions.back": "Вернуть меня", + "onboarding.action.back": "Верните меня", + "onboarding.actions.back": "Верните меня", "onboarding.actions.go_to_explore": "Посмотреть, что актуально", "onboarding.actions.go_to_home": "Перейти к домашней ленте новостей", "onboarding.compose.template": "Привет, #Mastodon!", @@ -619,7 +625,7 @@ "onboarding.profile.title": "Настройка профиля", "onboarding.profile.upload_avatar": "Загрузить фотографию профиля", "onboarding.profile.upload_header": "Загрузить заголовок профиля", - "onboarding.share.lead": "Расскажите людям, как они могут найти вас на Mastodon!", + "onboarding.share.lead": "Расскажите людям, как найти вас на Mastodon!", "onboarding.share.message": "Я {username} на #Mastodon! Следуйте за мной по адресу {url}", "onboarding.share.next_steps": "Возможные дальнейшие шаги:", "onboarding.share.title": "Поделиться вашим профилем", @@ -634,7 +640,7 @@ "onboarding.steps.setup_profile.title": "Настройте свой профиль", "onboarding.steps.share_profile.body": "Расскажите своим друзьям как найти вас на Mastodon!", "onboarding.steps.share_profile.title": "Поделитесь вашим профилем", - "onboarding.tips.2fa": "Знаете ли вы? Вы можете защитить свой аккаунт, настроив двухфакторную аутентификацию в настройках аккаунта. Она работает с любым приложением TOTP по вашему выбору, номер телефона не требуется!", + "onboarding.tips.2fa": "А вы знали? Можно защитить свой аккаунт, настроив двухфакторную аутентификацию в настройках аккаунта. Она работает с любым приложением TOTP по вашему выбору, номер телефона не нужен!", "onboarding.tips.accounts_from_other_servers": "Знали ли вы? Поскольку Mastodon децентрализован, некоторые профили, с которыми вы столкнетесь, будут размещены на серверах, отличных от вашего. И все же вы можете взаимодействовать с ними без проблем! Их сервер находится во второй половине имени пользователя!", "onboarding.tips.migration": "Знаете ли вы? Если вы чувствуете, что {domain} не подходит вам в качестве сервера в будущем, вы можете переехать на другой сервер Mastodon без потери своих подписчиков. Вы даже можете разместить свой собственный сервер!", "onboarding.tips.verification": "Знали ли вы? Вы можете подтвердить свою учетную запись, разместив ссылку на свой профиль Mastodon на собственном сайте и добавив сайт в свой профиль. Никаких сборов или документов не требуется!", @@ -665,7 +671,7 @@ "privacy_policy.title": "Политика конфиденциальности", "recommended": "Рекомендуется", "refresh": "Обновить", - "regeneration_indicator.label": "Загрузка…", + "regeneration_indicator.label": "Грузим…", "regeneration_indicator.sublabel": "Один момент, мы подготавливаем вашу ленту!", "relative_time.days": "{number} д", "relative_time.full.days": "{number, plural, one {# день} many {# дней} other {# дня}} назад", @@ -800,6 +806,7 @@ "status.reblog": "Продвинуть", "status.reblog_private": "Продвинуть для своей аудитории", "status.reblogged_by": "{name} продвинул(а)", + "status.reblogs": "{count, plural, one {boost} few {boosts} many {boosts} other {boosts}}", "status.reblogs.empty": "Никто ещё не продвинул этот пост. Как только кто-то это сделает, они появятся здесь.", "status.redraft": "Создать заново", "status.remove_bookmark": "Убрать из закладок", @@ -856,11 +863,11 @@ "upload_modal.detect_text": "Найти текст на картинке", "upload_modal.edit_media": "Изменить файл", "upload_modal.hint": "Нажмите и перетащите круг в предпросмотре в точку фокуса, которая всегда будет видна на эскизах.", - "upload_modal.preparing_ocr": "Подготовка распознования…", + "upload_modal.preparing_ocr": "Подготовка распознавания…", "upload_modal.preview_label": "Предпросмотр ({ratio})", "upload_progress.label": "Загрузка...", "upload_progress.processing": "Обработка…", - "username.taken": "Данное имя пользователя уже занято. Выберите другое.", + "username.taken": "Это имя пользователя уже занято. Выберите другое", "video.close": "Закрыть видео", "video.download": "Загрузить файл", "video.exit_fullscreen": "Покинуть полноэкранный режим", diff --git a/app/javascript/mastodon/locales/sk.json b/app/javascript/mastodon/locales/sk.json index a1bcdb9ff9fd0c..dc31f6100f1ee1 100644 --- a/app/javascript/mastodon/locales/sk.json +++ b/app/javascript/mastodon/locales/sk.json @@ -194,6 +194,7 @@ "confirmations.unfollow.title": "Prestať sledovať užívateľa?", "content_warning.hide": "Skryť príspevok", "content_warning.show": "Aj tak zobraziť", + "content_warning.show_more": "Ukázať viac", "conversation.delete": "Vymazať konverzáciu", "conversation.mark_as_read": "Označiť ako prečítanú", "conversation.open": "Zobraziť konverzáciu", @@ -484,7 +485,7 @@ "notification_requests.edit_selection": "Uprav", "notification_requests.exit_selection": "Hotovo", "notification_requests.notifications_from": "Oboznámenia od {name}", - "notification_requests.title": "Filtrované oboznámenia", + "notification_requests.title": "Filtrované oznámenia", "notification_requests.view": "Zobraz upozornenia", "notifications.clear": "Vyčistiť upozornenia", "notifications.clear_confirmation": "Určite chcete nenávratne odstrániť všetky svoje upozornenia?", diff --git a/app/javascript/mastodon/locales/sv.json b/app/javascript/mastodon/locales/sv.json index 7824d076295713..e404c2244bbe1e 100644 --- a/app/javascript/mastodon/locales/sv.json +++ b/app/javascript/mastodon/locales/sv.json @@ -82,7 +82,7 @@ "admin.impact_report.instance_follows": "Följare som deras användare skulle förlora", "admin.impact_report.title": "Sammanfattning av påverkan", "alert.rate_limited.message": "Vänligen försök igen efter {retry_time, time, medium}.", - "alert.rate_limited.title": "Mängd begränsad", + "alert.rate_limited.title": "Hastighetsbegränsad", "alert.unexpected.message": "Ett oväntat fel uppstod.", "alert.unexpected.title": "Hoppsan!", "alt_text_badge.title": "Alt-Text", @@ -271,7 +271,7 @@ "empty_column.follow_requests": "Du har inga följarförfrågningar än. När du får en kommer den visas här.", "empty_column.followed_tags": "Du följer inga hashtaggar ännu. När du gör det kommer de att dyka upp här.", "empty_column.hashtag": "Det finns inget i denna hashtag ännu.", - "empty_column.home": "Din hemma-tidslinje är tom! Följ fler användare för att fylla den. {suggestions}", + "empty_column.home": "Din hemma-tidslinje är tom! Följ fler användare för att fylla den.", "empty_column.list": "Det finns inget i denna lista än. När listmedlemmar publicerar nya inlägg kommer de synas här.", "empty_column.lists": "Du har inga listor än. När skapar en kommer den dyka upp här.", "empty_column.mutes": "Du har ännu inte tystat några användare.", @@ -383,7 +383,7 @@ "ignore_notifications_modal.not_following_title": "Vill du blockera aviseringar från personer som du inte följer dig?", "ignore_notifications_modal.private_mentions_title": "Vill du ignorera aviseringar från oönskade privata omnämningar?", "interaction_modal.description.favourite": "Med ett Mastodon-konto kan du favoritmarkera detta inlägg för att visa författaren att du gillar det och för att spara det till senare.", - "interaction_modal.description.follow": "Med ett Mastodon-konto kan du följa {name} för att se hens inlägg i ditt hemflöde.", + "interaction_modal.description.follow": "Med ett Mastodon-konto kan du följa {name} för att se deras inlägg i ditt hemflöde.", "interaction_modal.description.reblog": "Med ett Mastodon-konto kan du boosta detta inlägg för att dela den med dina egna följare.", "interaction_modal.description.reply": "Med ett Mastodon-konto kan du svara på detta inlägg.", "interaction_modal.description.vote": "Med ett konto på Mastodon kan du delta i denna omröstning.", @@ -405,11 +405,11 @@ "keyboard_shortcuts.back": "Gå bakåt", "keyboard_shortcuts.blocked": "Öppna listan över blockerade användare", "keyboard_shortcuts.boost": "Boosta inlägg", - "keyboard_shortcuts.column": "för att fokusera en status i en av kolumnerna", + "keyboard_shortcuts.column": "Fokusera kolumn", "keyboard_shortcuts.compose": "för att fokusera skrivfältet", "keyboard_shortcuts.description": "Beskrivning", "keyboard_shortcuts.direct": "för att öppna privata nämningskolumnen", - "keyboard_shortcuts.down": "för att flytta nedåt i listan", + "keyboard_shortcuts.down": "Flytta ner i listan", "keyboard_shortcuts.enter": "Öppna inlägg", "keyboard_shortcuts.favourite": "Favoritmarkera inlägg", "keyboard_shortcuts.favourites": "Öppna favoritlistan", @@ -429,13 +429,13 @@ "keyboard_shortcuts.reply": "Svara på inlägg", "keyboard_shortcuts.requests": "för att öppna Följförfrågningar", "keyboard_shortcuts.search": "för att fokusera sökfältet", - "keyboard_shortcuts.spoilers": "visa/dölja CW-fält", - "keyboard_shortcuts.start": "för att öppna \"Kom igång\"-kolumnen", - "keyboard_shortcuts.toggle_hidden": "för att visa/gömma text bakom CW", - "keyboard_shortcuts.toggle_sensitivity": "för att visa/gömma media", + "keyboard_shortcuts.spoilers": "Visa/dölja CW-fält", + "keyboard_shortcuts.start": "Öppna \"Kom igång\"-kolumnen", + "keyboard_shortcuts.toggle_hidden": "Visa/gömma text bakom CW", + "keyboard_shortcuts.toggle_sensitivity": "Visa/gömma media", "keyboard_shortcuts.toot": "Starta nytt inlägg", - "keyboard_shortcuts.unfocus": "för att avfokusera skrivfält/sökfält", - "keyboard_shortcuts.up": "för att flytta uppåt i listan", + "keyboard_shortcuts.unfocus": "Avfokusera skrivfält/sökfält", + "keyboard_shortcuts.up": "Flytta uppåt i listan", "lightbox.close": "Stäng", "lightbox.next": "Nästa", "lightbox.previous": "Tidigare", @@ -617,11 +617,11 @@ "onboarding.action.back": "Ta mig tillbaka", "onboarding.actions.back": "Ta mig tillbaka", "onboarding.actions.go_to_explore": "See what's trending", - "onboarding.actions.go_to_home": "Go to your home feed", + "onboarding.actions.go_to_home": "Ta mig till mitt hemflöde", "onboarding.compose.template": "Hallå #Mastodon!", "onboarding.follows.empty": "Tyvärr kan inga resultat visas just nu. Du kan prova att använda sökfunktionen eller utforska sidan för att hitta personer att följa, eller försök igen senare.", - "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.follows.lead": "Ditt hemflöde är det primära sättet att uppleva Mastodon. Ju fler människor du följer, desto mer aktiv och intressant blir det. För att komma igång, är här några förslag:", + "onboarding.follows.title": "Anpassa ditt hemflöde", "onboarding.profile.discoverable": "Gör min profil upptäckbar", "onboarding.profile.discoverable_hint": "När du väljer att vara upptäckbar på Mastodon kan dina inlägg visas i sök- och trendresultat, och din profil kan föreslås för personer med liknande intressen som du.", "onboarding.profile.display_name": "Visningsnamn", @@ -642,7 +642,7 @@ "onboarding.start.title": "Du klarade det!", "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.", + "onboarding.steps.publish_status.body": "Säg hej till världen med text, foton, videor eller omröstningar {emoji}", "onboarding.steps.publish_status.title": "Gör ditt första inlägg", "onboarding.steps.setup_profile.body": "Others are more likely to interact with you with a filled out profile.", "onboarding.steps.setup_profile.title": "Customize your profile", @@ -733,8 +733,8 @@ "report.thanks.take_action_actionable": "Medan vi granskar detta kan du vidta åtgärder mot {name}:", "report.thanks.title": "Vill du inte se det här?", "report.thanks.title_actionable": "Tack för att du rapporterar, vi kommer att titta på detta.", - "report.unfollow": "Sluta följ @{username}", - "report.unfollow_explanation": "Du följer detta konto. Avfölj hen för att inte se hens inlägg i ditt hemflöde.", + "report.unfollow": "Sluta följ @{name}", + "report.unfollow_explanation": "Du följer detta konto. Avfölj det för att inte se dess inlägg i ditt hemflöde.", "report_notification.attached_statuses": "bifogade {count, plural, one {{count} inlägg} other {{count} inlägg}}", "report_notification.categories.legal": "Rättsligt", "report_notification.categories.legal_sentence": "olagligt innehåll", @@ -829,7 +829,7 @@ "status.show_less_all": "Visa mindre för alla", "status.show_more_all": "Visa mer för alla", "status.show_original": "Visa original", - "status.title.with_attachments": "{user} posted {attachmentCount, plural, one {an attachment} other {# attachments}}", + "status.title.with_attachments": "{user} lade upp {attachmentCount, plural, one {en bilaga} other {{attachmentCount} bilagor}}", "status.translate": "Översätt", "status.translated_from_with": "Översatt från {lang} med {provider}", "status.uncached_media_warning": "Förhandsvisning inte tillgänglig", diff --git a/app/javascript/mastodon/locales/th.json b/app/javascript/mastodon/locales/th.json index b0ad6e1c66e1cf..5cf95554bc0e4c 100644 --- a/app/javascript/mastodon/locales/th.json +++ b/app/javascript/mastodon/locales/th.json @@ -44,7 +44,7 @@ "account.joined_short": "เข้าร่วมเมื่อ", "account.languages": "เปลี่ยนภาษาที่บอกรับ", "account.link_verified_on": "ตรวจสอบความเป็นเจ้าของของลิงก์นี้เมื่อ {date}", - "account.locked_info": "สถานะความเป็นส่วนตัวของบัญชีนี้ถูกตั้งค่าเป็นล็อค เจ้าของตรวจสอบด้วยตนเองว่าใครสามารถติดตามพวกเขาได้", + "account.locked_info": "มีการตั้งสถานะความเป็นส่วนตัวของบัญชีนี้เป็นล็อคอยู่ เจ้าของตรวจทานผู้ที่สามารถติดตามเขาด้วยตนเอง", "account.media": "สื่อ", "account.mention": "กล่าวถึง @{name}", "account.moved_to": "{name} ได้ระบุว่าบัญชีใหม่ของเขาในตอนนี้คือ:", @@ -97,7 +97,7 @@ "block_modal.they_will_know": "เขาสามารถเห็นว่ามีการปิดกั้นเขา", "block_modal.title": "ปิดกั้นผู้ใช้?", "block_modal.you_wont_see_mentions": "คุณจะไม่เห็นโพสต์ที่กล่าวถึงเขา", - "boost_modal.combo": "คุณสามารถกด {combo} เพื่อข้ามสิ่งนี้ในครั้งถัดไป", + "boost_modal.combo": "คุณสามารถกดปุ่ม {combo} เพื่อข้ามสิ่งนี้ในครั้งถัดไป", "boost_modal.reblog": "ดันโพสต์?", "boost_modal.undo_reblog": "เลิกดันโพสต์?", "bundle_column_error.copy_stacktrace": "คัดลอกรายงานข้อผิดพลาด", @@ -386,6 +386,7 @@ "interaction_modal.description.follow": "ด้วยบัญชีใน Mastodon คุณสามารถติดตาม {name} เพื่อรับโพสต์ของเขาในฟีดหน้าแรกของคุณ", "interaction_modal.description.reblog": "ด้วยบัญชีใน Mastodon คุณสามารถดันโพสต์นี้เพื่อแชร์โพสต์กับผู้ติดตามของคุณเอง", "interaction_modal.description.reply": "ด้วยบัญชีใน Mastodon คุณสามารถตอบกลับโพสต์นี้", + "interaction_modal.description.vote": "ด้วยบัญชีใน Mastodon คุณสามารถลงคะแนนในการสำรวจความคิดเห็นนี้", "interaction_modal.login.action": "นำฉันกลับบ้าน", "interaction_modal.login.prompt": "โดเมนของเซิร์ฟเวอร์บ้านของคุณ เช่น mastodon.social", "interaction_modal.no_account_yet": "ไม่ได้อยู่ใน Mastodon?", @@ -397,6 +398,7 @@ "interaction_modal.title.follow": "ติดตาม {name}", "interaction_modal.title.reblog": "ดันโพสต์ของ {name}", "interaction_modal.title.reply": "ตอบกลับโพสต์ของ {name}", + "interaction_modal.title.vote": "ลงคะแนนในการสำรวจความคิดเห็นของ {name}", "intervals.full.days": "{number, plural, other {# วัน}}", "intervals.full.hours": "{number, plural, other {# ชั่วโมง}}", "intervals.full.minutes": "{number, plural, other {# นาที}}", @@ -855,11 +857,11 @@ "upload_error.poll": "ไม่อนุญาตการอัปโหลดไฟล์โดยมีการสำรวจความคิดเห็น", "upload_form.audio_description": "อธิบายสำหรับผู้ที่สูญเสียการได้ยิน", "upload_form.description": "อธิบายสำหรับผู้คนที่พิการทางการมองเห็นหรือมีสายตาเลือนราง", - "upload_form.drag_and_drop.instructions": "หากต้องการเลือกไฟล์สื่อ ให้กดปุ่มที Space หรือ Enter บนแป้นพิมพ์ เมื่อเลือกไฟล์ได้แล้ว ก็สามารถใช้ปุ่มลูกศรเพื่อเลื่อนไฟล์ไปในทิศทางที่ต้องการได้ เมื่อต้องการวางไฟล์ในตำแหน่งใหม่ ให้กดปุ่ม Space หรือ Enter ดูอีกครั้ง หรือหากต้องการยกเลิกการเลือก ให้กดปุ่ม Esc ได้", - "upload_form.drag_and_drop.on_drag_cancel": "การลากไฟล์นั้นหยุดชะงัก ไฟล์ที่กำลังแนบมาถูกยกเลิก {item} ได้ถูกลบทิ้งแล้ว", - "upload_form.drag_and_drop.on_drag_end": "ไฟล์แนบ {item} ได้ถูกยกเลิกแล้ว", - "upload_form.drag_and_drop.on_drag_over": "ไฟล์แนบ {item} ได้ถูกย้ายไปแล้ว", - "upload_form.drag_and_drop.on_drag_start": "ได้รับไฟล์แนบเรียบร้อยแล้ว {item}.", + "upload_form.drag_and_drop.instructions": "เพื่อหยิบไฟล์แนบสื่อ กดปุ่มเว้นวรรคหรือขึ้นบรรทัดใหม่ ขณะลาก ใช้ปุ่มลูกศรเพื่อย้ายไฟล์แนบสื่อในทิศทางใดก็ตามที่กำหนด กดปุ่มเว้นวรรคหรือขึ้นบรรทัดใหม่อีกครั้งเพื่อปล่อยไฟล์แนบสื่อในตำแหน่งใหม่ หรือกดปุ่ม Escape เพื่อยกเลิก", + "upload_form.drag_and_drop.on_drag_cancel": "ยกเลิกการลากแล้ว ปล่อยไฟล์แนบสื่อ {item} แล้ว", + "upload_form.drag_and_drop.on_drag_end": "ปล่อยไฟล์แนบสื่อ {item} แล้ว", + "upload_form.drag_and_drop.on_drag_over": "ย้ายไฟล์แนบสื่อ {item} แล้ว", + "upload_form.drag_and_drop.on_drag_start": "หยิบไฟล์แนบสื่อ {item} แล้ว", "upload_form.edit": "แก้ไข", "upload_form.thumbnail": "เปลี่ยนภาพขนาดย่อ", "upload_form.video_description": "อธิบายสำหรับผู้คนที่พิการทางการได้ยิน ได้ยินไม่ชัด พิการทางการมองเห็น หรือมีสายตาเลือนราง", diff --git a/config/locales/doorkeeper.th.yml b/config/locales/doorkeeper.th.yml index 2dfc72cd6ccc9b..3b52e170ea3eb0 100644 --- a/config/locales/doorkeeper.th.yml +++ b/config/locales/doorkeeper.th.yml @@ -60,7 +60,7 @@ th: error: title: เกิดข้อผิดพลาด new: - prompt_html: "%{client_name} ร้องขอสิทธิ์ในการเข้าถึงข้อมูลในบัญชีของคุณ อนุมัติคำขอนี้ได้ก็ต่อเมื่อคุณมั่นใจและเชื่อถือในแหล่งที่มาของข้อมูลนี้" + prompt_html: "%{client_name} ต้องการสิทธิอนุญาตเพื่อเข้าถึงบัญชีของคุณ อนุมัติคำขอนี้เฉพาะหากคุณรู้จักและเชื่อถือแหล่งที่มานี้เท่านั้น" review_permissions: ตรวจทานสิทธิอนุญาต title: ต้องการการอนุญาต show: diff --git a/config/locales/fy.yml b/config/locales/fy.yml index 8ccedd2be17753..a6656f91b84cc1 100644 --- a/config/locales/fy.yml +++ b/config/locales/fy.yml @@ -21,6 +21,7 @@ fy: one: Toot other: Berjochten posts_tab_heading: Berjochten + self_follow_error: It folgjen fan dyn eigen account is net tastien admin: account_actions: action: Aksje útfiere @@ -1165,8 +1166,11 @@ fy: use_security_key: Befeiligingskaai brûke author_attribution: example_title: Faorbyldtekst + hint_html: Skriuwe jo nijs- of blogartikelen bûten Mastodon? Bepaal hoe’t jo oahelle wurde as dizze dield wurde op Mastodon. + instructions: 'Soargj derfoar dat dizze koade yn de HTML fan jo artikel sit:' more_from_html: Mear fan %{name} s_blog: Weblog fan %{name} + then_instructions: Foegje dernei de domeinnamme fan de publikaasje yn it ûndersteande fjild ta. title: Auteur-attribúsje challenge: confirm: Trochgean diff --git a/config/locales/gd.yml b/config/locales/gd.yml index a05ce6ed3cd435..c804f425232877 100644 --- a/config/locales/gd.yml +++ b/config/locales/gd.yml @@ -262,7 +262,7 @@ gd: destroy_domain_allow_html: Dì-cheadaich %{name} co-nasgadh leis an àrainn %{target} destroy_domain_block_html: Dì-bhac %{name} an àrainn %{target} destroy_email_domain_block_html: Dì-bhac %{name} an àrainn puist-d %{target} - destroy_instance_html: Purgaidich %{name} an àrainn %{target} + destroy_instance_html: Phurgaidich %{name} an àrainn %{target} destroy_ip_block_html: Sguab %{name} às riaghailt dhan IP %{target} destroy_status_html: Thug %{name} post aig %{target} air falbh destroy_unavailable_domain_html: Lean %{name} air adhart leis an lìbhrigeadh dhan àrainn %{target} diff --git a/config/locales/simple_form.fy.yml b/config/locales/simple_form.fy.yml index 8a753dcc898d51..c840342db5cf4d 100644 --- a/config/locales/simple_form.fy.yml +++ b/config/locales/simple_form.fy.yml @@ -3,6 +3,7 @@ fy: simple_form: hints: account: + attribution_domains_as_text: Ien per rigel. Beskermet tsjin falske attribúsjes. discoverable: Jo iepenbiere berjochten kinne útljochte wurde op ferskate plakken binnen Mastodon en jo account kin oanrekommandearre wurde oan oare brûkers. display_name: Jo folsleine namme of in aardige bynamme. fields: Jo website, persoanlike foarnammewurden, leeftiid, alles wat jo mar kwyt wolle. @@ -143,6 +144,7 @@ fy: url: Wêr’t eveneminten nei ta stjoerd wurde labels: account: + attribution_domains_as_text: Websites dy’t jo wurdearring jaan meie discoverable: Profyl en bydragen yn sykalgoritmen opnimme litte fields: name: Label diff --git a/config/locales/simple_form.lv.yml b/config/locales/simple_form.lv.yml index 974008b5ebc5e9..106e29d2de1aa0 100644 --- a/config/locales/simple_form.lv.yml +++ b/config/locales/simple_form.lv.yml @@ -61,7 +61,7 @@ lv: setting_display_media_hide_all: Vienmēr slēpt multividi setting_display_media_show_all: Vienmēr rādīt multividi setting_use_blurhash: Pāreju pamatā ir paslēpto uzskatāmo līdzekļu krāsas, bet saturs tiek padarīts neskaidrs - setting_use_pending_items: Paslēpt laika skalas atjauninājumus aiz klikšķa, nevis automātiski ritini plūsmu + setting_use_pending_items: Paslēpt laika skalas atjauninājumus aiz klikšķa, nevis ar automātisku plūsmas ritināšanu username: Tu vari lietot burtus, ciparus un zemsvītras whole_word: Ja atslēgvārds vai frāze ir tikai burtciparu, tas tiks lietots tikai tad, ja tas atbilst visam vārdam domain_allow: diff --git a/config/locales/simple_form.nl.yml b/config/locales/simple_form.nl.yml index 7280ba6d801626..5318059f4a4ccf 100644 --- a/config/locales/simple_form.nl.yml +++ b/config/locales/simple_form.nl.yml @@ -3,7 +3,7 @@ nl: simple_form: hints: account: - attribution_domains_as_text: Eén per regel. Beschermt tegen valse attribueringen. + attribution_domains_as_text: Eén per regel. Beschermt tegen valse toeschrijvingen. discoverable: Jouw openbare berichten kunnen worden uitgelicht op verschillende plekken binnen Mastodon en jouw account kan worden aanbevolen aan andere gebruikers. display_name: Jouw volledige naam of een leuke bijnaam. fields: Jouw website, persoonlijke voornaamwoorden, leeftijd, alles wat je maar kwijt wilt. diff --git a/config/locales/simple_form.sv.yml b/config/locales/simple_form.sv.yml index 36d1def01244d4..72c3f000f60cac 100644 --- a/config/locales/simple_form.sv.yml +++ b/config/locales/simple_form.sv.yml @@ -74,7 +74,7 @@ sv: filters: action: Välj vilken åtgärd som ska utföras när ett inlägg matchar filtret actions: - hide: Dölj det filtrerade innehållet helt (beter sig som om det inte fanns) + hide: Dölj det filtrerade innehållet helt, beter sig som om det inte fanns warn: Dölj det filtrerade innehållet bakom en varning som visar filtrets rubrik form_admin_settings: activity_api_enabled: Antalet lokalt publicerade inlägg, aktiva användare och nya registrerade konton per vecka diff --git a/config/locales/sv.yml b/config/locales/sv.yml index f3ce6443f6d65b..bd33e837bda0bf 100644 --- a/config/locales/sv.yml +++ b/config/locales/sv.yml @@ -59,7 +59,7 @@ sv: delete: Radera data deleted: Raderad demote: Degradera - destroyed_msg: "%{username}'s data har nu lagts till kön för att raderas omedelbart" + destroyed_msg: "%{username}s data har nu lagts till kön för att raderas omedelbart" disable: inaktivera disable_sign_in_token_auth: Inaktivera autentisering med pollett via e-post disable_two_factor_authentication: Inaktivera 2FA @@ -72,7 +72,7 @@ sv: enable: Aktivera enable_sign_in_token_auth: Aktivera autentisering med pollett via e-post enabled: Aktiverad - enabled_msg: Uppfrysningen av %{username}'s konto lyckades + enabled_msg: Uppfrysningen av %{username}s konto lyckades followers: Följare follows: Följs header: Rubrik @@ -268,21 +268,21 @@ sv: enable_custom_emoji_html: "%{name} aktiverade emoji %{target}" enable_sign_in_token_auth_user_html: "%{name} aktiverade e-posttokenautentisering för %{target}" enable_user_html: "%{name} aktiverade inloggning för användaren %{target}" - memorialize_account_html: "%{name} gjorde %{target}'s konto till en minnessida" + memorialize_account_html: "%{name} gjorde %{target}s konto till en minnessida" promote_user_html: "%{name} befordrade användaren %{target}" reject_appeal_html: "%{name} avvisade överklagande av modereringsbeslut från %{target}" reject_user_html: "%{name} avvisade registrering från %{target}" - remove_avatar_user_html: "%{name} tog bort %{target}'s avatar" + remove_avatar_user_html: "%{name} tog bort %{target}s avatar" reopen_report_html: "%{name} öppnade rapporten igen %{target}" resend_user_html: "%{name} skickade bekräftelsemail för %{target} på nytt" reset_password_user_html: "%{name} återställ användarens lösenord %{target}" resolve_report_html: "%{name} löste rapporten %{target}" - sensitive_account_html: "%{name} markerade %{target}'s media som känsligt" - silence_account_html: "%{name} begränsade %{target}'s konto" + sensitive_account_html: "%{name} markerade %{target}s media som känsligt" + silence_account_html: "%{name} begränsade %{target}s konto" suspend_account_html: "%{name} stängde av %{target}s konto" unassigned_report_html: "%{name} tog bort tilldelning av rapporten %{target}" unblock_email_account_html: "%{name} avblockerade %{target}s e-postadress" - unsensitive_account_html: "%{name} avmarkerade %{target}'s media som känsligt" + unsensitive_account_html: "%{name} avmarkerade %{target}s media som känsligt" unsilence_account_html: "%{name} tog bort begränsning av %{target}s konto" unsuspend_account_html: "%{name} ångrade avstängningen av %{target}s konto" update_announcement_html: "%{name} uppdaterade kungörelsen %{target}" @@ -569,7 +569,7 @@ sv: no_ip_block_selected: Inga IP-regler ändrades då inga var valda title: IP-regler relationships: - title: "%{acct}'s relationer" + title: "%{acct}s relationer" relays: add_new: Lägg till nytt relä delete: Radera @@ -899,7 +899,7 @@ sv: review_requested: Granskning begärd reviewed: Granskat title: Status - trendable: + trendable: Kan trenda unreviewed: Ogranskad usable: Användbar name: Namn @@ -1826,8 +1826,8 @@ sv: tags: does_not_match_previous_name: matchar inte det föregående namnet themes: - contrast: Hög kontrast - default: Mastodon + contrast: Mastodon (Hög kontrast) + default: Mastodon (Mörk) mastodon-light: Mastodon (ljust) system: Automatisk (använd systemtema) time: diff --git a/config/locales/th.yml b/config/locales/th.yml index cdc56d98ce0f17..ea039a2b9902c1 100644 --- a/config/locales/th.yml +++ b/config/locales/th.yml @@ -1148,11 +1148,11 @@ th: use_security_key: ใช้กุญแจความปลอดภัย author_attribution: example_title: ข้อความตัวอย่าง - hint_html: คุณเขียนข่าวหรือลงบทความที่อื่นๆที่นอกจาก Mastodon บ้างไหม? ถ้าหากคุณเขียนอยู่ล่ะก็ คุณสามารถบอกได้นะว่าอยากให้คนอื่นให้เครดิตคุณยังไงเวลาแชร์ไปที่ Mastodon นะ - instructions: 'โปรดตรวจสอบให้แน่ใจว่าโค้ดนี้ได้มีอยู่ในบทความของคุณแล้ว HTML:' + hint_html: คุณกำลังเขียนข่าวหรือบทความบล็อกภายนอก Mastodon หรือไม่? ควบคุมวิธีที่คุณได้รับเครดิตเมื่อมีการแบ่งปันข่าวหรือบทความบล็อกใน Mastodon + instructions: 'ตรวจสอบให้แน่ใจว่าโค้ดนี้อยู่ใน HTML ของบทความของคุณ:' more_from_html: เพิ่มเติมจาก %{name} s_blog: บล็อกของ %{name} - then_instructions: จากนั้น ให้เพิ่มใส่ชื่อเว็บไซต์ของสิ่งพิมพ์ลงไปในช่องว่างข้างล่าง + then_instructions: จากนั้น เพิ่มชื่อโดเมนของการเผยแพร่ในช่องด้านล่าง title: การระบุแหล่งที่มาผู้สร้าง challenge: confirm: ดำเนินการต่อ From ff490daa5801a0d5b8c78480faa17ae5a7f5b2f1 Mon Sep 17 00:00:00 2001 From: Matt Jankowski Date: Mon, 4 Nov 2024 04:00:01 -0500 Subject: [PATCH 120/357] Reduce factory generation in `AccountStatusesFilter` spec (#32727) --- spec/lib/account_statuses_filter_spec.rb | 38 ++++++++---------------- 1 file changed, 13 insertions(+), 25 deletions(-) diff --git a/spec/lib/account_statuses_filter_spec.rb b/spec/lib/account_statuses_filter_spec.rb index 77745851248331..351d3dae574052 100644 --- a/spec/lib/account_statuses_filter_spec.rb +++ b/spec/lib/account_statuses_filter_spec.rb @@ -52,36 +52,24 @@ def status_with_media_attachment!(visibility) end shared_examples 'filter params' do - context 'with only_media param' do - let(:params) { { only_media: true } } + it 'respects param options in results' do + expect(results_for(only_media: true)) + .to all(satisfy(&:with_media?)) - it 'returns only statuses with media' do - expect(subject.all?(&:with_media?)).to be true - end - end + expect(results_for(tagged: tag.name)) + .to all(satisfy { |status| status.tags.include?(tag) }) - context 'with tagged param' do - let(:params) { { tagged: tag.name } } + expect(results_for(exclude_replies: true)) + .to all(satisfy { |status| !status.reply? }) - it 'returns only statuses with tag' do - expect(subject.all? { |s| s.tags.include?(tag) }).to be true - end + expect(results_for(exclude_reblogs: true)) + .to all(satisfy { |status| !status.reblog? }) end - context 'with exclude_replies param' do - let(:params) { { exclude_replies: true } } - - it 'returns only statuses that are not replies' do - expect(subject.none?(&:reply?)).to be true - end - end - - context 'with exclude_reblogs param' do - let(:params) { { exclude_reblogs: true } } - - it 'returns only statuses that are not reblogs' do - expect(subject.none?(&:reblog?)).to be true - end + def results_for(params) + described_class + .new(account, current_account, params) + .results end end From dfccd207bb9c0b9aa893ed6c80912acd0674751f Mon Sep 17 00:00:00 2001 From: Claire Date: Mon, 4 Nov 2024 10:04:55 +0100 Subject: [PATCH 121/357] Refactor common checks in `tootctl media remove-orphans` (#32720) --- lib/mastodon/cli/media.rb | 57 ++++++++++++++++++--------------------- 1 file changed, 26 insertions(+), 31 deletions(-) diff --git a/lib/mastodon/cli/media.rb b/lib/mastodon/cli/media.rb index 996b7fd92ca3b6..68420fb15d8839 100644 --- a/lib/mastodon/cli/media.rb +++ b/lib/mastodon/cli/media.rb @@ -6,6 +6,8 @@ module Mastodon::CLI class Media < Base include ActionView::Helpers::NumberHelper + class UnrecognizedOrphanType < StandardError; end + VALID_PATH_SEGMENTS_SIZE = [7, 10].freeze option :days, type: :numeric, default: 7, aliases: [:d] @@ -120,23 +122,10 @@ def remove_orphans object.acl.put(acl: s3_permissions) if options[:fix_permissions] && !dry_run? path_segments = object.key.split('/') - path_segments.delete('cache') - - unless VALID_PATH_SEGMENTS_SIZE.include?(path_segments.size) - progress.log(pastel.yellow("Unrecognized file found: #{object.key}")) - next - end - - model_name = path_segments.first.classify - attachment_name = path_segments[1].singularize - record_id = path_segments[2...-2].join.to_i - file_name = path_segments.last - record = record_map.dig(model_name, record_id) - attachment = record&.public_send(attachment_name) progress.increment - next unless attachment.blank? || !attachment.variant?(file_name) + next unless orphaned_file?(path_segments, record_map) begin object.delete unless dry_run? @@ -148,6 +137,8 @@ def remove_orphans rescue => e progress.log(pastel.red("Error processing #{object.key}: #{e}")) end + rescue UnrecognizedOrphanType + progress.log(pastel.yellow("Unrecognized file found: #{object.key}")) end end when :fog @@ -165,26 +156,10 @@ def remove_orphans key = path.gsub("#{root_path}#{File::SEPARATOR}", '') path_segments = key.split(File::SEPARATOR) - path_segments.delete('cache') - - unless VALID_PATH_SEGMENTS_SIZE.include?(path_segments.size) - progress.log(pastel.yellow("Unrecognized file found: #{key}")) - next - end - - model_name = path_segments.first.classify - record_id = path_segments[2...-2].join.to_i - attachment_name = path_segments[1].singularize - file_name = path_segments.last - - next unless PRELOADED_MODELS.include?(model_name) - - record = model_name.constantize.find_by(id: record_id) - attachment = record&.public_send(attachment_name) progress.increment - next unless attachment.blank? || !attachment.variant?(file_name) + next unless orphaned_file?(path_segments) begin size = File.size(path) @@ -205,6 +180,8 @@ def remove_orphans rescue => e progress.log(pastel.red("Error processing #{key}: #{e}")) end + rescue UnrecognizedOrphanType + progress.log(pastel.yellow("Unrecognized file found: #{path}")) end end @@ -364,5 +341,23 @@ def preload_records_from_mixed_objects(objects) model_map[model_name] = model_name.constantize.where(id: record_ids).index_by(&:id) end end + + def orphaned_file?(path_segments, record_map = nil) + path_segments.delete('cache') + + raise UnrecognizedOrphanType unless VALID_PATH_SEGMENTS_SIZE.include?(path_segments.size) + + model_name = path_segments.first.classify + record_id = path_segments[2...-2].join.to_i + attachment_name = path_segments[1].singularize + file_name = path_segments.last + + raise UnrecognizedOrphanType unless PRELOADED_MODELS.include?(model_name) + + record = record_map.present? ? record_map.dig(model_name, record_id) : model_name.constantize.find_by(id: record_id) + attachment = record&.public_send(attachment_name) + + attachment.blank? || !attachment.variant?(file_name) + end end end From a139dac18ec6e50b35a51f664fd5b02b0f9f1c47 Mon Sep 17 00:00:00 2001 From: Matt Jankowski Date: Mon, 4 Nov 2024 04:11:00 -0500 Subject: [PATCH 122/357] Remove cookie rotator (#32289) --- config/initializers/cookie_rotator.rb | 23 ----------------------- 1 file changed, 23 deletions(-) delete mode 100644 config/initializers/cookie_rotator.rb diff --git a/config/initializers/cookie_rotator.rb b/config/initializers/cookie_rotator.rb deleted file mode 100644 index ccc2c6b21f786b..00000000000000 --- a/config/initializers/cookie_rotator.rb +++ /dev/null @@ -1,23 +0,0 @@ -# frozen_string_literal: true - -# TODO: remove this file some time after 4.3.0 - -Rails.application.config.after_initialize do - Rails.application.config.action_dispatch.cookies_rotations.tap do |cookies| - authenticated_encrypted_cookie_salt = Rails.application.config.action_dispatch.authenticated_encrypted_cookie_salt - signed_cookie_salt = Rails.application.config.action_dispatch.signed_cookie_salt - - secret_key_base = Rails.application.secret_key_base - - key_generator = ActiveSupport::KeyGenerator.new( - secret_key_base, iterations: 1000, hash_digest_class: OpenSSL::Digest::SHA1 - ) - key_len = ActiveSupport::MessageEncryptor.key_len - - old_encrypted_secret = key_generator.generate_key(authenticated_encrypted_cookie_salt, key_len) - old_signed_secret = key_generator.generate_key(signed_cookie_salt) - - cookies.rotate :encrypted, old_encrypted_secret - cookies.rotate :signed, old_signed_secret - end -end From 823f597f0009cf04d4ad39c2707e8c8b3adcba50 Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Mon, 4 Nov 2024 10:20:13 +0100 Subject: [PATCH 123/357] Update formatjs monorepo (#32764) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> --- yarn.lock | 128 +++++++++++++++++++++++++++--------------------------- 1 file changed, 64 insertions(+), 64 deletions(-) diff --git a/yarn.lock b/yarn.lock index da80fac3bf12ce..e9bdcb459bbc86 100644 --- a/yarn.lock +++ b/yarn.lock @@ -2251,14 +2251,14 @@ __metadata: languageName: node linkType: hard -"@formatjs/ecma402-abstract@npm:2.2.2": - version: 2.2.2 - resolution: "@formatjs/ecma402-abstract@npm:2.2.2" +"@formatjs/ecma402-abstract@npm:2.2.3": + version: 2.2.3 + resolution: "@formatjs/ecma402-abstract@npm:2.2.3" dependencies: "@formatjs/fast-memoize": "npm:2.2.3" "@formatjs/intl-localematcher": "npm:0.5.7" tslib: "npm:2" - checksum: 10c0/dc712dd9959c9caa161282e3fb8f4a45c7368c4ada07576619d22b72678ece83459d6ec8b5ac3eee7def3b4398b68483c0ee91b49241024b41906333fd94ce21 + checksum: 10c0/611d12bf320fc5c5b85cb2b57e3dcebe8490a51c6a0459c857c7a3560656cd2bdba5b117e9dd7cf174f5aa120c11eaad7a65a6783637b816caa59a1bc5c727f6 languageName: node linkType: hard @@ -2291,14 +2291,14 @@ __metadata: languageName: node linkType: hard -"@formatjs/icu-messageformat-parser@npm:2.9.2": - version: 2.9.2 - resolution: "@formatjs/icu-messageformat-parser@npm:2.9.2" +"@formatjs/icu-messageformat-parser@npm:2.9.3": + version: 2.9.3 + resolution: "@formatjs/icu-messageformat-parser@npm:2.9.3" dependencies: - "@formatjs/ecma402-abstract": "npm:2.2.2" - "@formatjs/icu-skeleton-parser": "npm:1.8.6" + "@formatjs/ecma402-abstract": "npm:2.2.3" + "@formatjs/icu-skeleton-parser": "npm:1.8.7" tslib: "npm:2" - checksum: 10c0/5f65377e56a2f0426240f05c015584b629713f0c9e1b7bc6db78c6d2e94b4d28bdd4c674ee32be695e493cd2f80a8168b7cd3c64a23ec36f9e18db2ae080e51b + checksum: 10c0/519b59f7b4cf90681315c5382f7fcd105eb1974486f0d62d9227b6d0498895114ccc818792c208baae1ef79571d93b0edb9914c676e5ab76924dddb7fd6c28a0 languageName: node linkType: hard @@ -2312,35 +2312,35 @@ __metadata: languageName: node linkType: hard -"@formatjs/icu-skeleton-parser@npm:1.8.6": - version: 1.8.6 - resolution: "@formatjs/icu-skeleton-parser@npm:1.8.6" +"@formatjs/icu-skeleton-parser@npm:1.8.7": + version: 1.8.7 + resolution: "@formatjs/icu-skeleton-parser@npm:1.8.7" dependencies: - "@formatjs/ecma402-abstract": "npm:2.2.2" + "@formatjs/ecma402-abstract": "npm:2.2.3" tslib: "npm:2" - checksum: 10c0/16993372de234aed52a75877247d911125e063aef77daf779e839a3c7a1213b37ffc8c95350375d303e43e30245711a0db693c4d856e6b0c2f3402644a8fb72d + checksum: 10c0/e29eb4151580f2d324e6591509dc4543e2326266fc209a08580c94d502acab14acc3560d98b3aaf9ffbd5ff8e2683601ff08c65b32886f22da015c31ca35c5d0 languageName: node linkType: hard -"@formatjs/intl-displaynames@npm:6.8.2": - version: 6.8.2 - resolution: "@formatjs/intl-displaynames@npm:6.8.2" +"@formatjs/intl-displaynames@npm:6.8.3": + version: 6.8.3 + resolution: "@formatjs/intl-displaynames@npm:6.8.3" dependencies: - "@formatjs/ecma402-abstract": "npm:2.2.2" + "@formatjs/ecma402-abstract": "npm:2.2.3" "@formatjs/intl-localematcher": "npm:0.5.7" tslib: "npm:2" - checksum: 10c0/52f3e7f74f9ce114860e235d66889f0cea559df060a879852613f76c673a355f0fc7ebe7d173f058dbbd9e760b57816a3b09a1e447448fef262abc76332bc132 + checksum: 10c0/54d3ecaabc45dc8494be4cd9633bbf5eb0bc40c5f62ed5e5073aa5b214c4a9a9620d61d1c8a6f0074618474fd9c2ccc42904605078d2f6341c242bf43627bb3a languageName: node linkType: hard -"@formatjs/intl-listformat@npm:7.7.2": - version: 7.7.2 - resolution: "@formatjs/intl-listformat@npm:7.7.2" +"@formatjs/intl-listformat@npm:7.7.3": + version: 7.7.3 + resolution: "@formatjs/intl-listformat@npm:7.7.3" dependencies: - "@formatjs/ecma402-abstract": "npm:2.2.2" + "@formatjs/ecma402-abstract": "npm:2.2.3" "@formatjs/intl-localematcher": "npm:0.5.7" tslib: "npm:2" - checksum: 10c0/d42fa043380252f11e300c696f6b366f817c93cac6d9aabc6dc96fb8efcfbc2873b11adac5928e4e1ce7eb1482bbb22b76a5a8520ef7f742ae23863b6edaa088 + checksum: 10c0/2683513e86cc7885528f23237079e3ab9e3a8bc7111aa10d4c685dcbe368ef07039573115df240112fb20f2ec0b70c8ea189ea3b79cbfed7e3dc46024a4667ff languageName: node linkType: hard @@ -2363,33 +2363,33 @@ __metadata: linkType: hard "@formatjs/intl-pluralrules@npm:^5.2.2": - version: 5.3.2 - resolution: "@formatjs/intl-pluralrules@npm:5.3.2" + version: 5.3.3 + resolution: "@formatjs/intl-pluralrules@npm:5.3.3" dependencies: - "@formatjs/ecma402-abstract": "npm:2.2.2" + "@formatjs/ecma402-abstract": "npm:2.2.3" "@formatjs/intl-localematcher": "npm:0.5.7" tslib: "npm:2" - checksum: 10c0/c8fde868650b2ac9fb9799791a517b052bd2eb8fb2bcdee225a131d20dd300125eb608129b47bc955e8fdf8f90f7b981bb889485fd6f9bcfb7a267e3d07a495d + checksum: 10c0/003d33af6f5d902517f230b7038e39b8336da3a84500fe5f4278fa5cac0c9a1b746de484f1c2bb2315026fd771491eafdc0aa59a809bb25189b63093efb8400d languageName: node linkType: hard -"@formatjs/intl@npm:2.10.12": - version: 2.10.12 - resolution: "@formatjs/intl@npm:2.10.12" +"@formatjs/intl@npm:2.10.13": + version: 2.10.13 + resolution: "@formatjs/intl@npm:2.10.13" dependencies: - "@formatjs/ecma402-abstract": "npm:2.2.2" + "@formatjs/ecma402-abstract": "npm:2.2.3" "@formatjs/fast-memoize": "npm:2.2.3" - "@formatjs/icu-messageformat-parser": "npm:2.9.2" - "@formatjs/intl-displaynames": "npm:6.8.2" - "@formatjs/intl-listformat": "npm:7.7.2" - intl-messageformat: "npm:10.7.4" + "@formatjs/icu-messageformat-parser": "npm:2.9.3" + "@formatjs/intl-displaynames": "npm:6.8.3" + "@formatjs/intl-listformat": "npm:7.7.3" + intl-messageformat: "npm:10.7.5" tslib: "npm:2" peerDependencies: typescript: ^4.7 || 5 peerDependenciesMeta: typescript: optional: true - checksum: 10c0/4475b1167c1cc6f2dbf9e373d4ba964032f80a25ca1ba18eca03dfa1730fcaef2c7cfe046252aaf3c23cf87e0968d565d3b7d1c2c336aec097193914173583c1 + checksum: 10c0/14edcc45addc181c7a45845bc34cec5c73bb5544dcf8ed455eca916bbd3a5023c7204a8e8e289060545b85006933c6f297c33c4f04a8a4cb3890aa7baae5bfbf languageName: node linkType: hard @@ -2413,11 +2413,11 @@ __metadata: languageName: node linkType: hard -"@formatjs/ts-transformer@npm:3.13.21": - version: 3.13.21 - resolution: "@formatjs/ts-transformer@npm:3.13.21" +"@formatjs/ts-transformer@npm:3.13.22": + version: 3.13.22 + resolution: "@formatjs/ts-transformer@npm:3.13.22" dependencies: - "@formatjs/icu-messageformat-parser": "npm:2.9.2" + "@formatjs/icu-messageformat-parser": "npm:2.9.3" "@types/json-stable-stringify": "npm:1" "@types/node": "npm:14 || 16 || 17 || 18 || 20 || 22" chalk: "npm:4" @@ -2429,7 +2429,7 @@ __metadata: peerDependenciesMeta: ts-jest: optional: true - checksum: 10c0/e83c8ebd210e451743745e939193bb37a1bba3acc5ba1e15a509968bdbb98a07d0761133cc5aa2375074281d56d9987f782af712111d82ee1f7aef7ad30d88fc + checksum: 10c0/42503292248bcae728181fdf68e79eac4169c18064953beb9245097d2c58e5434ae7a7978e6ce2829dfd6eb4b4155f78fecef70ac6820626a338f231c66f60cb languageName: node linkType: hard @@ -5180,21 +5180,21 @@ __metadata: linkType: hard "babel-plugin-formatjs@npm:^10.5.1": - version: 10.5.23 - resolution: "babel-plugin-formatjs@npm:10.5.23" + version: 10.5.24 + resolution: "babel-plugin-formatjs@npm:10.5.24" dependencies: "@babel/core": "npm:^7.25.0" "@babel/helper-plugin-utils": "npm:^7.25.0" "@babel/plugin-syntax-jsx": "npm:^7.25.0" "@babel/traverse": "npm:^7.25.0" "@babel/types": "npm:^7.25.0" - "@formatjs/icu-messageformat-parser": "npm:2.9.2" - "@formatjs/ts-transformer": "npm:3.13.21" + "@formatjs/icu-messageformat-parser": "npm:2.9.3" + "@formatjs/ts-transformer": "npm:3.13.22" "@types/babel__core": "npm:^7.20.5" "@types/babel__helper-plugin-utils": "npm:^7.10.3" "@types/babel__traverse": "npm:^7.20.6" tslib: "npm:2" - checksum: 10c0/1484b6a18beea114d800754c3ffa6296a52676eb68b7f280f9e04e34efed12bcb61ecd881ba042907998bc00df0a5eb9111932c7b5df2fb6d6eae0692984c633 + checksum: 10c0/a99c92e62edb30e0b6a5bf1115811eb18336b851109f8c096b5a9aa2be3eb72299eea3a8cb706e03705eb79edfa5a62d69bb52d80a375c1d5a1c963e3d00c40e languageName: node linkType: hard @@ -9741,15 +9741,15 @@ __metadata: languageName: node linkType: hard -"intl-messageformat@npm:10.7.4, intl-messageformat@npm:^10.3.5": - version: 10.7.4 - resolution: "intl-messageformat@npm:10.7.4" +"intl-messageformat@npm:10.7.5, intl-messageformat@npm:^10.3.5": + version: 10.7.5 + resolution: "intl-messageformat@npm:10.7.5" dependencies: - "@formatjs/ecma402-abstract": "npm:2.2.2" + "@formatjs/ecma402-abstract": "npm:2.2.3" "@formatjs/fast-memoize": "npm:2.2.3" - "@formatjs/icu-messageformat-parser": "npm:2.9.2" + "@formatjs/icu-messageformat-parser": "npm:2.9.3" tslib: "npm:2" - checksum: 10c0/698e1b020f744a1790eb0a68edc86a8d215c3d3df3d67a1c77f50ce0582af9fadc8656ff988b7806708f997e0e8462a044602f28d8f334f4e8b3233cf3b03f3e + checksum: 10c0/1aa173a8c16ace50520af3de7d3f0ce9bafda90d47b6d674eb88cc47c12c3460d4d53c97ca412fae1141b00abb8ff2ba313250997a040837f01a25379165c949 languageName: node linkType: hard @@ -14474,18 +14474,18 @@ __metadata: linkType: hard "react-intl@npm:^6.4.2": - version: 6.8.5 - resolution: "react-intl@npm:6.8.5" - dependencies: - "@formatjs/ecma402-abstract": "npm:2.2.2" - "@formatjs/icu-messageformat-parser": "npm:2.9.2" - "@formatjs/intl": "npm:2.10.12" - "@formatjs/intl-displaynames": "npm:6.8.2" - "@formatjs/intl-listformat": "npm:7.7.2" + version: 6.8.6 + resolution: "react-intl@npm:6.8.6" + dependencies: + "@formatjs/ecma402-abstract": "npm:2.2.3" + "@formatjs/icu-messageformat-parser": "npm:2.9.3" + "@formatjs/intl": "npm:2.10.13" + "@formatjs/intl-displaynames": "npm:6.8.3" + "@formatjs/intl-listformat": "npm:7.7.3" "@types/hoist-non-react-statics": "npm:3" "@types/react": "npm:16 || 17 || 18" hoist-non-react-statics: "npm:3" - intl-messageformat: "npm:10.7.4" + intl-messageformat: "npm:10.7.5" tslib: "npm:2" peerDependencies: react: ^16.6.0 || 17 || 18 @@ -14493,7 +14493,7 @@ __metadata: peerDependenciesMeta: typescript: optional: true - checksum: 10c0/73707912c00a646460c1497f7004bf511b58ec28265f0d8d65b1677a43f62a957bab40f2b5a1759b7f11cc28af10754e8552890b9b485d3f9505c0a36a692fbc + checksum: 10c0/ec88cc2b1d0edf089f04c8061ffda730840fb3317177d0dc1a6df208245ec278f52b4ca8546ff9511b0b28ff2d89863c5837a274d33731d4c8f75a3b3baafbe2 languageName: node linkType: hard From 90f4ffa31d4bda16fcda04fb837bf1c01160d417 Mon Sep 17 00:00:00 2001 From: Eugen Rochko Date: Mon, 4 Nov 2024 11:11:06 +0100 Subject: [PATCH 124/357] Fix performance of percentile calculation for annual reports (#32765) --- app/lib/annual_report.rb | 10 ++++ app/lib/annual_report/percentiles.rb | 55 +++++-------------- app/lib/annual_report/source.rb | 8 +++ .../statuses_per_account_count.rb | 15 +++++ ...nual_report_statuses_per_account_counts.rb | 13 +++++ db/schema.rb | 9 ++- spec/lib/annual_report/percentiles_spec.rb | 14 +++-- 7 files changed, 77 insertions(+), 47 deletions(-) create mode 100644 app/models/annual_report/statuses_per_account_count.rb create mode 100644 db/migrate/20241104082851_create_annual_report_statuses_per_account_counts.rb diff --git a/app/lib/annual_report.rb b/app/lib/annual_report.rb index cf4297f2a450ea..275cc4b87d3cad 100644 --- a/app/lib/annual_report.rb +++ b/app/lib/annual_report.rb @@ -17,11 +17,21 @@ class AnnualReport SCHEMA = 1 + def self.table_name_prefix + 'annual_report_' + end + def initialize(account, year) @account = account @year = year end + def self.prepare(year) + SOURCES.each do |klass| + klass.prepare(year) + end + end + def generate return if GeneratedAnnualReport.exists?(account: @account, year: @year) diff --git a/app/lib/annual_report/percentiles.rb b/app/lib/annual_report/percentiles.rb index 0251cb66ad27e9..2b0305c41554fd 100644 --- a/app/lib/annual_report/percentiles.rb +++ b/app/lib/annual_report/percentiles.rb @@ -1,62 +1,37 @@ # frozen_string_literal: true class AnnualReport::Percentiles < AnnualReport::Source + def self.prepare(year) + AnnualReport::StatusesPerAccountCount.connection.exec_query(<<~SQL.squish, nil, [year, Mastodon::Snowflake.id_at(DateTime.new(year).beginning_of_year), Mastodon::Snowflake.id_at(DateTime.new(year).end_of_year)]) + INSERT INTO annual_report_statuses_per_account_counts (year, account_id, statuses_count) + SELECT $1, account_id, count(*) + FROM statuses + WHERE id BETWEEN $2 AND $3 + AND (local OR uri IS NULL) + GROUP BY account_id + ON CONFLICT (year, account_id) DO NOTHING + SQL + end + def generate { percentiles: { - followers: (total_with_fewer_followers / (total_with_any_followers + 1.0)) * 100, - statuses: (total_with_fewer_statuses / (total_with_any_statuses + 1.0)) * 100, + statuses: 100.0 - ((total_with_fewer_statuses / (total_with_any_statuses + 1.0)) * 100), }, } end private - def followers_gained - @followers_gained ||= @account.passive_relationships.where("date_part('year', follows.created_at) = ?", @year).count - end - def statuses_created @statuses_created ||= report_statuses.count end - def total_with_fewer_followers - @total_with_fewer_followers ||= Follow.find_by_sql([<<~SQL.squish, { year: @year, comparison: followers_gained }]).first.total - WITH tmp0 AS ( - SELECT follows.target_account_id - FROM follows - INNER JOIN accounts ON accounts.id = follows.target_account_id - WHERE date_part('year', follows.created_at) = :year - AND accounts.domain IS NULL - GROUP BY follows.target_account_id - HAVING COUNT(*) < :comparison - ) - SELECT count(*) AS total - FROM tmp0 - SQL - end - def total_with_fewer_statuses - @total_with_fewer_statuses ||= Status.find_by_sql([<<~SQL.squish, { comparison: statuses_created, min_id: year_as_snowflake_range.first, max_id: year_as_snowflake_range.last }]).first.total - WITH tmp0 AS ( - SELECT statuses.account_id - FROM statuses - INNER JOIN accounts ON accounts.id = statuses.account_id - WHERE statuses.id BETWEEN :min_id AND :max_id - AND accounts.domain IS NULL - GROUP BY statuses.account_id - HAVING count(*) < :comparison - ) - SELECT count(*) AS total - FROM tmp0 - SQL - end - - def total_with_any_followers - @total_with_any_followers ||= Follow.where("date_part('year', follows.created_at) = ?", @year).joins(:target_account).merge(Account.local).count('distinct follows.target_account_id') + @total_with_fewer_statuses ||= AnnualReport::StatusesPerAccountCount.where(year: year).where(statuses_count: ...statuses_created).count end def total_with_any_statuses - @total_with_any_statuses ||= Status.where(id: year_as_snowflake_range).joins(:account).merge(Account.local).count('distinct statuses.account_id') + @total_with_any_statuses ||= AnnualReport::StatusesPerAccountCount.where(year: year).count end end diff --git a/app/lib/annual_report/source.rb b/app/lib/annual_report/source.rb index cb9f7b16e32a10..86528731f51080 100644 --- a/app/lib/annual_report/source.rb +++ b/app/lib/annual_report/source.rb @@ -8,6 +8,14 @@ def initialize(account, year) @year = year end + def self.prepare(_year) + # Use this method if any pre-calculations must be made before individual annual reports are generated + end + + def generate + raise NotImplementedError + end + protected def report_statuses diff --git a/app/models/annual_report/statuses_per_account_count.rb b/app/models/annual_report/statuses_per_account_count.rb new file mode 100644 index 00000000000000..05a2f53c9d5947 --- /dev/null +++ b/app/models/annual_report/statuses_per_account_count.rb @@ -0,0 +1,15 @@ +# frozen_string_literal: true + +# == Schema Information +# +# Table name: annual_report_statuses_per_account_counts +# +# id :bigint(8) not null, primary key +# year :integer not null +# account_id :bigint(8) not null +# statuses_count :bigint(8) not null +# + +class AnnualReport::StatusesPerAccountCount < ApplicationRecord + # This table facilitates percentile calculations +end diff --git a/db/migrate/20241104082851_create_annual_report_statuses_per_account_counts.rb b/db/migrate/20241104082851_create_annual_report_statuses_per_account_counts.rb new file mode 100644 index 00000000000000..c8ec30ad57adbe --- /dev/null +++ b/db/migrate/20241104082851_create_annual_report_statuses_per_account_counts.rb @@ -0,0 +1,13 @@ +# frozen_string_literal: true + +class CreateAnnualReportStatusesPerAccountCounts < ActiveRecord::Migration[7.1] + def change + create_table :annual_report_statuses_per_account_counts do |t| # rubocop:disable Rails/CreateTableWithTimestamps + t.integer :year, null: false + t.bigint :account_id, null: false + t.bigint :statuses_count, null: false + end + + add_index :annual_report_statuses_per_account_counts, [:year, :account_id], unique: true + end +end diff --git a/db/schema.rb b/db/schema.rb index bea9ad46be5a19..ec029366a54bf1 100644 --- a/db/schema.rb +++ b/db/schema.rb @@ -10,7 +10,7 @@ # # It's strongly recommended that you check this file into your version control system. -ActiveRecord::Schema[7.1].define(version: 2024_10_22_214312) do +ActiveRecord::Schema[7.1].define(version: 2024_11_04_082851) do # These are extensions that must be enabled in order to support this database enable_extension "plpgsql" @@ -260,6 +260,13 @@ t.bigint "status_ids", array: true end + create_table "annual_report_statuses_per_account_counts", force: :cascade do |t| + t.integer "year", null: false + t.bigint "account_id", null: false + t.bigint "statuses_count", null: false + t.index ["year", "account_id"], name: "idx_on_year_account_id_ff3e167cef", unique: true + end + create_table "appeals", force: :cascade do |t| t.bigint "account_id", null: false t.bigint "account_warning_id", null: false diff --git a/spec/lib/annual_report/percentiles_spec.rb b/spec/lib/annual_report/percentiles_spec.rb index 1d1df3166b78e9..11df81cfb6c80a 100644 --- a/spec/lib/annual_report/percentiles_spec.rb +++ b/spec/lib/annual_report/percentiles_spec.rb @@ -4,17 +4,20 @@ RSpec.describe AnnualReport::Percentiles do describe '#generate' do - subject { described_class.new(account, Time.zone.now.year) } + subject { described_class.new(account, year) } + + let(:year) { Time.zone.now.year } context 'with an inactive account' do let(:account) { Fabricate :account } it 'builds a report for an account' do + described_class.prepare(year) + expect(subject.generate) .to include( percentiles: include( - followers: 0, - statuses: 0 + statuses: 100 ) ) end @@ -25,16 +28,15 @@ before do Fabricate.times 2, :status # Others as `account` - Fabricate.times 2, :follow # Others as `target_account` Fabricate.times 2, :status, account: account - Fabricate.times 2, :follow, target_account: account end it 'builds a report for an account' do + described_class.prepare(year) + expect(subject.generate) .to include( percentiles: include( - followers: 50, statuses: 50 ) ) From 0a1b5df2024fcf8454638da80a47c336b69e659b Mon Sep 17 00:00:00 2001 From: Claire Date: Mon, 4 Nov 2024 12:08:19 +0100 Subject: [PATCH 125/357] Fix alt-text pop-in not using the translated description (#32766) --- app/javascript/mastodon/components/media_gallery.jsx | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/app/javascript/mastodon/components/media_gallery.jsx b/app/javascript/mastodon/components/media_gallery.jsx index e059978442a131..59963a0a9f56d1 100644 --- a/app/javascript/mastodon/components/media_gallery.jsx +++ b/app/javascript/mastodon/components/media_gallery.jsx @@ -97,12 +97,12 @@ class Item extends PureComponent { height = 50; } - if (attachment.get('description')?.length > 0) { - badges.push(); - } - const description = attachment.getIn(['translation', 'description']) || attachment.get('description'); + if (description?.length > 0) { + badges.push(); + } + if (attachment.get('type') === 'unknown') { return (
From c83eea9a581ab30c072c1a0e16a9670aeb949af9 Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Tue, 5 Nov 2024 09:33:36 +0100 Subject: [PATCH 126/357] Update dependency json-ld-preloaded to v3.3.1 (#32771) 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 392acf36bb67d0..617233d702439f 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -362,7 +362,7 @@ GEM rack (>= 2.2, < 4) rdf (~> 3.3) rexml (~> 3.2) - json-ld-preloaded (3.3.0) + json-ld-preloaded (3.3.1) json-ld (~> 3.3) rdf (~> 3.3) json-schema (5.0.1) From 883b509988028e52baa0bdaf4397b5d81e2f811d Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Tue, 5 Nov 2024 09:36:03 +0100 Subject: [PATCH 127/357] Update dependency postcss-preset-env to v10.0.9 (#32746) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> --- yarn.lock | 390 +++++++++++++++++++++++++++--------------------------- 1 file changed, 195 insertions(+), 195 deletions(-) diff --git a/yarn.lock b/yarn.lock index e9bdcb459bbc86..c4a35c93283cd3 100644 --- a/yarn.lock +++ b/yarn.lock @@ -1463,13 +1463,13 @@ __metadata: languageName: node linkType: hard -"@csstools/cascade-layer-name-parser@npm:^2.0.3": - version: 2.0.3 - resolution: "@csstools/cascade-layer-name-parser@npm:2.0.3" +"@csstools/cascade-layer-name-parser@npm:^2.0.4": + version: 2.0.4 + resolution: "@csstools/cascade-layer-name-parser@npm:2.0.4" peerDependencies: - "@csstools/css-parser-algorithms": ^3.0.3 - "@csstools/css-tokenizer": ^3.0.2 - checksum: 10c0/a0f0d6c94122d0a82b0da94ee2619915a9e6e98211de6e1f28afebe34332a29cab1b7905a34b6e5c1df30a125df9f9860ce5fa960c676484417d4ef2c4db4757 + "@csstools/css-parser-algorithms": ^3.0.4 + "@csstools/css-tokenizer": ^3.0.3 + checksum: 10c0/774f2bcc96a576183853191bdfd31df15e22c51901ee01678ee47f1d1afcb4ab0e6d9a78e08f7383ac089c7e0b390013633f45ff1f1d577c9aefd252589bcced languageName: node linkType: hard @@ -1480,42 +1480,42 @@ __metadata: languageName: node linkType: hard -"@csstools/css-calc@npm:^2.0.3": - version: 2.0.3 - resolution: "@csstools/css-calc@npm:2.0.3" +"@csstools/css-calc@npm:^2.0.4": + version: 2.0.4 + resolution: "@csstools/css-calc@npm:2.0.4" peerDependencies: - "@csstools/css-parser-algorithms": ^3.0.3 - "@csstools/css-tokenizer": ^3.0.2 - checksum: 10c0/a3dacda66bde67edab0f2384e85462dcd46b5bb62bc2a6396f0577a006d9ad59eae270353cbd6fe1a5f7081d0546fe4b1fd9b2df242758da54ec8b7022296570 + "@csstools/css-parser-algorithms": ^3.0.4 + "@csstools/css-tokenizer": ^3.0.3 + checksum: 10c0/ecb68fc9f8d930b861d5c9c5d4fc6eb43dabc619a4cd6c82dc18034ee746f907dba106fa6cdb909ac727fbfc9b1f7ceac1f356641542faeb2fab99c5fcd52a2e languageName: node linkType: hard -"@csstools/css-color-parser@npm:^3.0.4": - version: 3.0.4 - resolution: "@csstools/css-color-parser@npm:3.0.4" +"@csstools/css-color-parser@npm:^3.0.5": + version: 3.0.5 + resolution: "@csstools/css-color-parser@npm:3.0.5" dependencies: "@csstools/color-helpers": "npm:^5.0.1" - "@csstools/css-calc": "npm:^2.0.3" + "@csstools/css-calc": "npm:^2.0.4" peerDependencies: - "@csstools/css-parser-algorithms": ^3.0.3 - "@csstools/css-tokenizer": ^3.0.2 - checksum: 10c0/8f05264254d3768e45e46ce10e9355fe8ca0f6e4d2f648a22572f46c6d05b2378c37c2e5d970ed3b7bdfa0b152ea2af0c56a0556249bd85973aee9db7b091aa7 + "@csstools/css-parser-algorithms": ^3.0.4 + "@csstools/css-tokenizer": ^3.0.3 + checksum: 10c0/535e2a38222ad7ee9e1143c3ef09ba07b2e70a4214bbdf7ca13398388b8d2db9ee295fe15d9d306342036e554d97dd235567a8c8ee03fea6825483f1c4dbbf7e languageName: node linkType: hard -"@csstools/css-parser-algorithms@npm:^3.0.1, @csstools/css-parser-algorithms@npm:^3.0.3": - version: 3.0.3 - resolution: "@csstools/css-parser-algorithms@npm:3.0.3" +"@csstools/css-parser-algorithms@npm:^3.0.1, @csstools/css-parser-algorithms@npm:^3.0.4": + version: 3.0.4 + resolution: "@csstools/css-parser-algorithms@npm:3.0.4" peerDependencies: - "@csstools/css-tokenizer": ^3.0.2 - checksum: 10c0/c1e634384affb10c3726a36f090867247005a2a470cb223de88debeab07921b78c0e7875e7847d90949c2b0ba88a290c71565f1839f7739c21a5bf1c870e137d + "@csstools/css-tokenizer": ^3.0.3 + checksum: 10c0/d411f07765e14eede17bccc6bd4f90ff303694df09aabfede3fd104b2dfacfd4fe3697cd25ddad14684c850328f3f9420ebfa9f78380892492974db24ae47dbd languageName: node linkType: hard -"@csstools/css-tokenizer@npm:^3.0.1, @csstools/css-tokenizer@npm:^3.0.2": - version: 3.0.2 - resolution: "@csstools/css-tokenizer@npm:3.0.2" - checksum: 10c0/a74e5829420ed35982fd33be272c2a19cb2380179d357abe750aa848be6d6699d0437008f47a57eb7c6ff64a34b0c8f91a97dd63dbddd08249b7cf7983767e5e +"@csstools/css-tokenizer@npm:^3.0.1, @csstools/css-tokenizer@npm:^3.0.3": + version: 3.0.3 + resolution: "@csstools/css-tokenizer@npm:3.0.3" + checksum: 10c0/c31bf410e1244b942e71798e37c54639d040cb59e0121b21712b40015fced2b0fb1ffe588434c5f8923c9cd0017cfc1c1c8f3921abc94c96edf471aac2eba5e5 languageName: node linkType: hard @@ -1529,13 +1529,13 @@ __metadata: languageName: node linkType: hard -"@csstools/media-query-list-parser@npm:^4.0.1": - version: 4.0.1 - resolution: "@csstools/media-query-list-parser@npm:4.0.1" +"@csstools/media-query-list-parser@npm:^4.0.2": + version: 4.0.2 + resolution: "@csstools/media-query-list-parser@npm:4.0.2" peerDependencies: - "@csstools/css-parser-algorithms": ^3.0.3 - "@csstools/css-tokenizer": ^3.0.2 - checksum: 10c0/037f57520b6ca7d58ba1d71a477bd99bdbe3a6d8e7b972ed0f436d649e574f5b429e54fc47d0272daa2ac24ffb819bd9d260a90e154c4a265b8ee4d1cfb1d279 + "@csstools/css-parser-algorithms": ^3.0.4 + "@csstools/css-tokenizer": ^3.0.3 + checksum: 10c0/5d008a70f5d4fd96224066a433f5cdefa76cfd78a74416a20d6d5b2bb1bc8282b140e8373015d807d4dadb91daf3deb73eb13f853ec4e0479d0cb92e80c6f20d languageName: node linkType: hard @@ -1551,60 +1551,60 @@ __metadata: languageName: node linkType: hard -"@csstools/postcss-color-function@npm:^4.0.4": - version: 4.0.4 - resolution: "@csstools/postcss-color-function@npm:4.0.4" +"@csstools/postcss-color-function@npm:^4.0.5": + version: 4.0.5 + resolution: "@csstools/postcss-color-function@npm:4.0.5" dependencies: - "@csstools/css-color-parser": "npm:^3.0.4" - "@csstools/css-parser-algorithms": "npm:^3.0.3" - "@csstools/css-tokenizer": "npm:^3.0.2" + "@csstools/css-color-parser": "npm:^3.0.5" + "@csstools/css-parser-algorithms": "npm:^3.0.4" + "@csstools/css-tokenizer": "npm:^3.0.3" "@csstools/postcss-progressive-custom-properties": "npm:^4.0.0" "@csstools/utilities": "npm:^2.0.0" peerDependencies: postcss: ^8.4 - checksum: 10c0/e7735c6d7c84f039c84dc1b180410aa4db7c404d55477c2e7872bc8306a3150bf37883583ec080ebd8b40b765f700cc78892d61dc167578f76e324543d551c04 + checksum: 10c0/b47cc4567445eb12dd3e67a4298470d62a449a4d754fd4dd32eb78b23615ba6bd1fe8dacccc6c95087ce8749a6552bace8de0b9b6eee0c9a7b7202a0bcb8fcac languageName: node linkType: hard -"@csstools/postcss-color-mix-function@npm:^3.0.4": - version: 3.0.4 - resolution: "@csstools/postcss-color-mix-function@npm:3.0.4" +"@csstools/postcss-color-mix-function@npm:^3.0.5": + version: 3.0.5 + resolution: "@csstools/postcss-color-mix-function@npm:3.0.5" dependencies: - "@csstools/css-color-parser": "npm:^3.0.4" - "@csstools/css-parser-algorithms": "npm:^3.0.3" - "@csstools/css-tokenizer": "npm:^3.0.2" + "@csstools/css-color-parser": "npm:^3.0.5" + "@csstools/css-parser-algorithms": "npm:^3.0.4" + "@csstools/css-tokenizer": "npm:^3.0.3" "@csstools/postcss-progressive-custom-properties": "npm:^4.0.0" "@csstools/utilities": "npm:^2.0.0" peerDependencies: postcss: ^8.4 - checksum: 10c0/3e01f04853e49c9f69ee0538b817209b630649844039ee5b195cfbae94d41cf6e0d8a50a3d02dbe066f84855eefa1b7047f6750e4744858519978468577e567f + checksum: 10c0/a17d20dcc42d2c1ccd7a5ceb8d1413133ae9461bf973a9aad997a5782bf4cbbd847aef06accc20fa391ac6fbd44a1003e18c30a621d7c77052d4256fe39619aa languageName: node linkType: hard -"@csstools/postcss-content-alt-text@npm:^2.0.3": - version: 2.0.3 - resolution: "@csstools/postcss-content-alt-text@npm:2.0.3" +"@csstools/postcss-content-alt-text@npm:^2.0.4": + version: 2.0.4 + resolution: "@csstools/postcss-content-alt-text@npm:2.0.4" dependencies: - "@csstools/css-parser-algorithms": "npm:^3.0.3" - "@csstools/css-tokenizer": "npm:^3.0.2" + "@csstools/css-parser-algorithms": "npm:^3.0.4" + "@csstools/css-tokenizer": "npm:^3.0.3" "@csstools/postcss-progressive-custom-properties": "npm:^4.0.0" "@csstools/utilities": "npm:^2.0.0" peerDependencies: postcss: ^8.4 - checksum: 10c0/0389292a1ba11483f58db1bdd38cc774b0ec18c73f03d1db5f4a1f38edc861bb8b8d750b5c5b3615a98aaf995c0464dcfd6db5421888be0f868548c69455b5b3 + checksum: 10c0/84caccedd8a519df434babd58b14104c5a92cd326057ce509bdbaa2a4bb3130afb1c1456caf30235ba14da52d1628a5411ea4f5d2fb558d603d234f795538017 languageName: node linkType: hard -"@csstools/postcss-exponential-functions@npm:^2.0.3": - version: 2.0.3 - resolution: "@csstools/postcss-exponential-functions@npm:2.0.3" +"@csstools/postcss-exponential-functions@npm:^2.0.4": + version: 2.0.4 + resolution: "@csstools/postcss-exponential-functions@npm:2.0.4" dependencies: - "@csstools/css-calc": "npm:^2.0.3" - "@csstools/css-parser-algorithms": "npm:^3.0.3" - "@csstools/css-tokenizer": "npm:^3.0.2" + "@csstools/css-calc": "npm:^2.0.4" + "@csstools/css-parser-algorithms": "npm:^3.0.4" + "@csstools/css-tokenizer": "npm:^3.0.3" peerDependencies: postcss: ^8.4 - checksum: 10c0/690ac6c5ec72e085160401100cc8465a040fd70d59efadf61ef767094edac28bbb2653f53ea7cfa47d8220d0be0b9e23c3e3c2b80d9e93ad07b1db8031163d70 + checksum: 10c0/b174faa8782b7b3f3a9636412f90963740ff033c6506acf662f002fa07f59b370eb23937dbe3f1a05d7df277373f662d6970237d34ae938cf282a0b8dbde9a47 languageName: node linkType: hard @@ -1620,46 +1620,46 @@ __metadata: languageName: node linkType: hard -"@csstools/postcss-gamut-mapping@npm:^2.0.4": - version: 2.0.4 - resolution: "@csstools/postcss-gamut-mapping@npm:2.0.4" +"@csstools/postcss-gamut-mapping@npm:^2.0.5": + version: 2.0.5 + resolution: "@csstools/postcss-gamut-mapping@npm:2.0.5" dependencies: - "@csstools/css-color-parser": "npm:^3.0.4" - "@csstools/css-parser-algorithms": "npm:^3.0.3" - "@csstools/css-tokenizer": "npm:^3.0.2" + "@csstools/css-color-parser": "npm:^3.0.5" + "@csstools/css-parser-algorithms": "npm:^3.0.4" + "@csstools/css-tokenizer": "npm:^3.0.3" peerDependencies: postcss: ^8.4 - checksum: 10c0/60c6ff13cc71a0cda7ce184fa8b42924975f2bd05e3bc096059de853ae01d48e36f27d02d7e6286d9e8c4eb4dfd526f7c302ff51be19c5f7949dd6079915a3a9 + checksum: 10c0/a9d7365bed5c323dddad06d53c137ef3508870e541c6275dbdf3a73a50d44437830c22fa62c510d9316441d1e9f3b5552730778d1b73d083422245673bd00dac languageName: node linkType: hard -"@csstools/postcss-gradients-interpolation-method@npm:^5.0.4": - version: 5.0.4 - resolution: "@csstools/postcss-gradients-interpolation-method@npm:5.0.4" +"@csstools/postcss-gradients-interpolation-method@npm:^5.0.5": + version: 5.0.5 + resolution: "@csstools/postcss-gradients-interpolation-method@npm:5.0.5" dependencies: - "@csstools/css-color-parser": "npm:^3.0.4" - "@csstools/css-parser-algorithms": "npm:^3.0.3" - "@csstools/css-tokenizer": "npm:^3.0.2" + "@csstools/css-color-parser": "npm:^3.0.5" + "@csstools/css-parser-algorithms": "npm:^3.0.4" + "@csstools/css-tokenizer": "npm:^3.0.3" "@csstools/postcss-progressive-custom-properties": "npm:^4.0.0" "@csstools/utilities": "npm:^2.0.0" peerDependencies: postcss: ^8.4 - checksum: 10c0/3b6aa4404851be09a083f35b596acc7e3f74f525386dcd2887720438638ca1893f79e699e5dad0e3a35487cb9527e08d0dcd29f1331f87800f53c13423321d6e + checksum: 10c0/0ef258478270005ab3a879132dc6dbf2bf80788c79861515c826607953c551df1c2ef7005ba9592c31c6dad332d12ee247928a9fdd1569a51927a18a75dcc865 languageName: node linkType: hard -"@csstools/postcss-hwb-function@npm:^4.0.4": - version: 4.0.4 - resolution: "@csstools/postcss-hwb-function@npm:4.0.4" +"@csstools/postcss-hwb-function@npm:^4.0.5": + version: 4.0.5 + resolution: "@csstools/postcss-hwb-function@npm:4.0.5" dependencies: - "@csstools/css-color-parser": "npm:^3.0.4" - "@csstools/css-parser-algorithms": "npm:^3.0.3" - "@csstools/css-tokenizer": "npm:^3.0.2" + "@csstools/css-color-parser": "npm:^3.0.5" + "@csstools/css-parser-algorithms": "npm:^3.0.4" + "@csstools/css-tokenizer": "npm:^3.0.3" "@csstools/postcss-progressive-custom-properties": "npm:^4.0.0" "@csstools/utilities": "npm:^2.0.0" peerDependencies: postcss: ^8.4 - checksum: 10c0/2460cc7e6324f0793d12976de175ff33344c3410ff7a04ca8a5ce0560ee3354d1d8034f9f07c0759c2b7e222a4681d02298f6a29c2a326c76b33060830da83b4 + checksum: 10c0/9ce0a66bf288c9ec7f1fc28323d56ec54d38a30cb2ab722d1afbd46ec070cc5e61121bacb503803cb00293fc5ed117269969ac21071d7f4ce94b385c96168445 languageName: node linkType: hard @@ -1697,17 +1697,17 @@ __metadata: languageName: node linkType: hard -"@csstools/postcss-light-dark-function@npm:^2.0.6": - version: 2.0.6 - resolution: "@csstools/postcss-light-dark-function@npm:2.0.6" +"@csstools/postcss-light-dark-function@npm:^2.0.7": + version: 2.0.7 + resolution: "@csstools/postcss-light-dark-function@npm:2.0.7" dependencies: - "@csstools/css-parser-algorithms": "npm:^3.0.3" - "@csstools/css-tokenizer": "npm:^3.0.2" + "@csstools/css-parser-algorithms": "npm:^3.0.4" + "@csstools/css-tokenizer": "npm:^3.0.3" "@csstools/postcss-progressive-custom-properties": "npm:^4.0.0" "@csstools/utilities": "npm:^2.0.0" peerDependencies: postcss: ^8.4 - checksum: 10c0/f3e93b58a23f0f01c9d032a892070a18e3393e60997e1d2b57c5bddb2cb36f7ee6cbaeaeb3d531b065a545a03e54d86567d34b45eddf85ed48ac360eb4ab66cd + checksum: 10c0/c116bfd2d3f4d0caabdedf8954c2a25908ffb29f9bbe2c57d44a2974277c7e46ee79862eea848385dc040275d343f2330350394a2095ec30f0aa17f72e2f4e39 languageName: node linkType: hard @@ -1749,42 +1749,42 @@ __metadata: languageName: node linkType: hard -"@csstools/postcss-logical-viewport-units@npm:^3.0.2": - version: 3.0.2 - resolution: "@csstools/postcss-logical-viewport-units@npm:3.0.2" +"@csstools/postcss-logical-viewport-units@npm:^3.0.3": + version: 3.0.3 + resolution: "@csstools/postcss-logical-viewport-units@npm:3.0.3" dependencies: - "@csstools/css-tokenizer": "npm:^3.0.2" + "@csstools/css-tokenizer": "npm:^3.0.3" "@csstools/utilities": "npm:^2.0.0" peerDependencies: postcss: ^8.4 - checksum: 10c0/31f525e774bc053f545a159eb53bb21465ea2930118e87c40207ad90fa97d3151e6de83efd02f84803fb0e93ed4a4b42a3904b734423410e73ac4c6ce9666ab4 + checksum: 10c0/8ec746598d7ce8697c3dafd83cb3a319a90079ad755dd78e3ec92f4ba9ad849c4cdaba33b16e9dcbac1e9489b3d7c48262030110c20ce1d88cdacbe9f5987cec languageName: node linkType: hard -"@csstools/postcss-media-minmax@npm:^2.0.3": - version: 2.0.3 - resolution: "@csstools/postcss-media-minmax@npm:2.0.3" +"@csstools/postcss-media-minmax@npm:^2.0.4": + version: 2.0.4 + resolution: "@csstools/postcss-media-minmax@npm:2.0.4" dependencies: - "@csstools/css-calc": "npm:^2.0.3" - "@csstools/css-parser-algorithms": "npm:^3.0.3" - "@csstools/css-tokenizer": "npm:^3.0.2" - "@csstools/media-query-list-parser": "npm:^4.0.1" + "@csstools/css-calc": "npm:^2.0.4" + "@csstools/css-parser-algorithms": "npm:^3.0.4" + "@csstools/css-tokenizer": "npm:^3.0.3" + "@csstools/media-query-list-parser": "npm:^4.0.2" peerDependencies: postcss: ^8.4 - checksum: 10c0/87c1ed6fe6ed487125e383ae7bc356ba0f68885c41cd129b85c323af69255031a8ac7b2e994d4f9b6b65d6a9f6833aeb1301ca230b592547825aedb3e3acab4b + checksum: 10c0/f9fe1e99b83a0724250f9426335da6f13bfbc28be6d10ebfafbf037766fc5245240ec33be7e68c9c5b60c013fbc2fa0be96fbed0d41383c919ee9e6f1b8225ce languageName: node linkType: hard -"@csstools/postcss-media-queries-aspect-ratio-number-values@npm:^3.0.3": - version: 3.0.3 - resolution: "@csstools/postcss-media-queries-aspect-ratio-number-values@npm:3.0.3" +"@csstools/postcss-media-queries-aspect-ratio-number-values@npm:^3.0.4": + version: 3.0.4 + resolution: "@csstools/postcss-media-queries-aspect-ratio-number-values@npm:3.0.4" dependencies: - "@csstools/css-parser-algorithms": "npm:^3.0.3" - "@csstools/css-tokenizer": "npm:^3.0.2" - "@csstools/media-query-list-parser": "npm:^4.0.1" + "@csstools/css-parser-algorithms": "npm:^3.0.4" + "@csstools/css-tokenizer": "npm:^3.0.3" + "@csstools/media-query-list-parser": "npm:^4.0.2" peerDependencies: postcss: ^8.4 - checksum: 10c0/3bbadd5c79ff2102b4a2e0f107d7f3cbb89d2840b935915531d0a1bfc711d58386e6e234fccb9b4abb37e48f07cdfaa4dd66b5c795dfac9e317fa8b5cfd38e06 + checksum: 10c0/27dc9419b0f4315774647588f599348e7cc593984f59b414c51c910066501fd087cbe232deb762907c18bd21dd4184e7b6e0e0b730e5c72341ab9cc696c75739 languageName: node linkType: hard @@ -1811,18 +1811,18 @@ __metadata: languageName: node linkType: hard -"@csstools/postcss-oklab-function@npm:^4.0.4": - version: 4.0.4 - resolution: "@csstools/postcss-oklab-function@npm:4.0.4" +"@csstools/postcss-oklab-function@npm:^4.0.5": + version: 4.0.5 + resolution: "@csstools/postcss-oklab-function@npm:4.0.5" dependencies: - "@csstools/css-color-parser": "npm:^3.0.4" - "@csstools/css-parser-algorithms": "npm:^3.0.3" - "@csstools/css-tokenizer": "npm:^3.0.2" + "@csstools/css-color-parser": "npm:^3.0.5" + "@csstools/css-parser-algorithms": "npm:^3.0.4" + "@csstools/css-tokenizer": "npm:^3.0.3" "@csstools/postcss-progressive-custom-properties": "npm:^4.0.0" "@csstools/utilities": "npm:^2.0.0" peerDependencies: postcss: ^8.4 - checksum: 10c0/4fd2a5c22ebaf69053e005d9d009ccb41b6879f0246677159bfb6a28208e90af857446c443d34fe3efdaf50bccdd67b16fcd0c1e7c52961396a48bd84e45311f + checksum: 10c0/a49e2ee60066f7da18316c7c80e5b2ced286ec962052f83c01f1952a1c5fe5b65ba9803a04698260125270a1dd47416f0b287a8f42e591f0d88c9a660ae844ce languageName: node linkType: hard @@ -1837,18 +1837,18 @@ __metadata: languageName: node linkType: hard -"@csstools/postcss-relative-color-syntax@npm:^3.0.4": - version: 3.0.4 - resolution: "@csstools/postcss-relative-color-syntax@npm:3.0.4" +"@csstools/postcss-relative-color-syntax@npm:^3.0.5": + version: 3.0.5 + resolution: "@csstools/postcss-relative-color-syntax@npm:3.0.5" dependencies: - "@csstools/css-color-parser": "npm:^3.0.4" - "@csstools/css-parser-algorithms": "npm:^3.0.3" - "@csstools/css-tokenizer": "npm:^3.0.2" + "@csstools/css-color-parser": "npm:^3.0.5" + "@csstools/css-parser-algorithms": "npm:^3.0.4" + "@csstools/css-tokenizer": "npm:^3.0.3" "@csstools/postcss-progressive-custom-properties": "npm:^4.0.0" "@csstools/utilities": "npm:^2.0.0" peerDependencies: postcss: ^8.4 - checksum: 10c0/f2ae6f9053e976e2431d08bdc5aa40ca5242754e23370abdfd7b6087d7ed56037e46911d1be801cf7e760aa8aee94bcab6a46f4f68696cf6befacf707c1534b7 + checksum: 10c0/505da97e7b219095a9fb6fa0ad6c6a1358ce1f5debada00564e635e1aa11d034c588be9ce2f76263172a8d1bd07d90647fde826f4565de22dcfc0a76beb68ff1 languageName: node linkType: hard @@ -1863,16 +1863,16 @@ __metadata: languageName: node linkType: hard -"@csstools/postcss-stepped-value-functions@npm:^4.0.3": - version: 4.0.3 - resolution: "@csstools/postcss-stepped-value-functions@npm:4.0.3" +"@csstools/postcss-stepped-value-functions@npm:^4.0.4": + version: 4.0.4 + resolution: "@csstools/postcss-stepped-value-functions@npm:4.0.4" dependencies: - "@csstools/css-calc": "npm:^2.0.3" - "@csstools/css-parser-algorithms": "npm:^3.0.3" - "@csstools/css-tokenizer": "npm:^3.0.2" + "@csstools/css-calc": "npm:^2.0.4" + "@csstools/css-parser-algorithms": "npm:^3.0.4" + "@csstools/css-tokenizer": "npm:^3.0.3" peerDependencies: postcss: ^8.4 - checksum: 10c0/31af5a650d4b2de97d3a3ef77e7ad0777b3f013f7463e23455ac31ffc946d2f79f365a1fdead52c7c535176232ab57f6f086ecdbeca1bb0b250161b1302e8c8c + checksum: 10c0/c8413a855a5ee9ad5b800263545d24d1bbd815f5ae0693c7dfd10c5f5b47bae5a9d985efdb2c46b03194ed3cae39f3d82c3ccfde502dee0b35d620fa539906be languageName: node linkType: hard @@ -1888,16 +1888,16 @@ __metadata: languageName: node linkType: hard -"@csstools/postcss-trigonometric-functions@npm:^4.0.3": - version: 4.0.3 - resolution: "@csstools/postcss-trigonometric-functions@npm:4.0.3" +"@csstools/postcss-trigonometric-functions@npm:^4.0.4": + version: 4.0.4 + resolution: "@csstools/postcss-trigonometric-functions@npm:4.0.4" dependencies: - "@csstools/css-calc": "npm:^2.0.3" - "@csstools/css-parser-algorithms": "npm:^3.0.3" - "@csstools/css-tokenizer": "npm:^3.0.2" + "@csstools/css-calc": "npm:^2.0.4" + "@csstools/css-parser-algorithms": "npm:^3.0.4" + "@csstools/css-tokenizer": "npm:^3.0.3" peerDependencies: postcss: ^8.4 - checksum: 10c0/a13dd72c00e45e6db16c03e135f1cd1b2b412e83b7681696b49feef3a4c36ab80f5f806f3589d33405e2d14dd0dfb13572ec12007ebe3d294077b0bd3d645b2b + checksum: 10c0/344c07961d24894f315faebf43c0128167fb2e33964c70d0d39d99a051c045678511d7378959105d672c5286a5360fde28fe390cdebfe823f3949e3cd1d50c4e languageName: node linkType: hard @@ -13270,18 +13270,18 @@ __metadata: languageName: node linkType: hard -"postcss-color-functional-notation@npm:^7.0.4": - version: 7.0.4 - resolution: "postcss-color-functional-notation@npm:7.0.4" +"postcss-color-functional-notation@npm:^7.0.5": + version: 7.0.5 + resolution: "postcss-color-functional-notation@npm:7.0.5" dependencies: - "@csstools/css-color-parser": "npm:^3.0.4" - "@csstools/css-parser-algorithms": "npm:^3.0.3" - "@csstools/css-tokenizer": "npm:^3.0.2" + "@csstools/css-color-parser": "npm:^3.0.5" + "@csstools/css-parser-algorithms": "npm:^3.0.4" + "@csstools/css-tokenizer": "npm:^3.0.3" "@csstools/postcss-progressive-custom-properties": "npm:^4.0.0" "@csstools/utilities": "npm:^2.0.0" peerDependencies: postcss: ^8.4 - checksum: 10c0/1e39c47f27610ebf6a6308cfea2904fbe1f157b13654325ada23153a944666722c6132b53dfc7660632406a636479dda68eeb97a246c2e593ad6eed1e9bf838d + checksum: 10c0/5e1771b8a43abd3cb18142842e8ac100b205f37a6757d6686da49e0c61ecf33d09244d256f3802962105e7ef79fbde2dffbfc1eedf1700198c54d2d5e48f3dc1 languageName: node linkType: hard @@ -13335,46 +13335,46 @@ __metadata: languageName: node linkType: hard -"postcss-custom-media@npm:^11.0.4": - version: 11.0.4 - resolution: "postcss-custom-media@npm:11.0.4" +"postcss-custom-media@npm:^11.0.5": + version: 11.0.5 + resolution: "postcss-custom-media@npm:11.0.5" dependencies: - "@csstools/cascade-layer-name-parser": "npm:^2.0.3" - "@csstools/css-parser-algorithms": "npm:^3.0.3" - "@csstools/css-tokenizer": "npm:^3.0.2" - "@csstools/media-query-list-parser": "npm:^4.0.1" + "@csstools/cascade-layer-name-parser": "npm:^2.0.4" + "@csstools/css-parser-algorithms": "npm:^3.0.4" + "@csstools/css-tokenizer": "npm:^3.0.3" + "@csstools/media-query-list-parser": "npm:^4.0.2" peerDependencies: postcss: ^8.4 - checksum: 10c0/31e82e5802f6933a15f5fcf64ff41c8107af9c1d5dcba3c4422a6de3fac77bce9e3dc4ed2b79ae7f6ae460549c5da5a013669af05c1ae21549dbb09b66a9492d + checksum: 10c0/5ba1ca0383818e83d5f6f398a2b0c12cfda066b5d552adfc0e030a2c5f8690c2cc6224f9a1832a9c780dae3fd8d00d78c4a5c88eb36b731da1752f0c3917d488 languageName: node linkType: hard -"postcss-custom-properties@npm:^14.0.3": - version: 14.0.3 - resolution: "postcss-custom-properties@npm:14.0.3" +"postcss-custom-properties@npm:^14.0.4": + version: 14.0.4 + resolution: "postcss-custom-properties@npm:14.0.4" dependencies: - "@csstools/cascade-layer-name-parser": "npm:^2.0.3" - "@csstools/css-parser-algorithms": "npm:^3.0.3" - "@csstools/css-tokenizer": "npm:^3.0.2" + "@csstools/cascade-layer-name-parser": "npm:^2.0.4" + "@csstools/css-parser-algorithms": "npm:^3.0.4" + "@csstools/css-tokenizer": "npm:^3.0.3" "@csstools/utilities": "npm:^2.0.0" postcss-value-parser: "npm:^4.2.0" peerDependencies: postcss: ^8.4 - checksum: 10c0/878ffd171ab9bbbba711930cf1b5bd48a12779e3b45d69f41366c2f65d84518f9338a92a277c0e390518c9e12272e06892cdc6575783bcdecfa6d26ebde3d043 + checksum: 10c0/5b101ee71289657cc2e5a16f4912009c10441052e2c54bd9e4f3d4d72b652bab56adb662ddaa96881413e375cf9852e2159b3c778d953442ce86efb781c3b2bf languageName: node linkType: hard -"postcss-custom-selectors@npm:^8.0.3": - version: 8.0.3 - resolution: "postcss-custom-selectors@npm:8.0.3" +"postcss-custom-selectors@npm:^8.0.4": + version: 8.0.4 + resolution: "postcss-custom-selectors@npm:8.0.4" dependencies: - "@csstools/cascade-layer-name-parser": "npm:^2.0.3" - "@csstools/css-parser-algorithms": "npm:^3.0.3" - "@csstools/css-tokenizer": "npm:^3.0.2" + "@csstools/cascade-layer-name-parser": "npm:^2.0.4" + "@csstools/css-parser-algorithms": "npm:^3.0.4" + "@csstools/css-tokenizer": "npm:^3.0.3" postcss-selector-parser: "npm:^7.0.0" peerDependencies: postcss: ^8.4 - checksum: 10c0/3acdada43e385c23130f1dde41b189acc7739e5bbd14751ae28b2bd97b0d97f30c2a53da4f9558d108a893cc48717f76b28395a9ff38dcbbe3c3a1721ee4a68a + checksum: 10c0/09d494d2580d0a99f57684f79793d03358286c32460b61a84063c33bdde24865771cb1205efe9a8e26a508be24eba4fb93fc7f1e96ba21ca96a5d17fadb24863 languageName: node linkType: hard @@ -13492,18 +13492,18 @@ __metadata: languageName: node linkType: hard -"postcss-lab-function@npm:^7.0.4": - version: 7.0.4 - resolution: "postcss-lab-function@npm:7.0.4" +"postcss-lab-function@npm:^7.0.5": + version: 7.0.5 + resolution: "postcss-lab-function@npm:7.0.5" dependencies: - "@csstools/css-color-parser": "npm:^3.0.4" - "@csstools/css-parser-algorithms": "npm:^3.0.3" - "@csstools/css-tokenizer": "npm:^3.0.2" + "@csstools/css-color-parser": "npm:^3.0.5" + "@csstools/css-parser-algorithms": "npm:^3.0.4" + "@csstools/css-tokenizer": "npm:^3.0.3" "@csstools/postcss-progressive-custom-properties": "npm:^4.0.0" "@csstools/utilities": "npm:^2.0.0" peerDependencies: postcss: ^8.4 - checksum: 10c0/79ce3cc20484aef0e0bbc2d18c8f91d7362226a3db52f06a931ac8e1c58ffbc60876c6439f364093e5f16ef92260a420230cfb2a9e7b95c6c11e6f7d57626260 + checksum: 10c0/b688f6332ac12974452c97c5a40f4d0a604ce16b074124a1106add9cf9c25fbe7717d23423d6e92d937dc6e288e03e885b70e0793b96f41d28d2f7403bce7bf5 languageName: node linkType: hard @@ -13824,38 +13824,38 @@ __metadata: linkType: hard "postcss-preset-env@npm:^10.0.0": - version: 10.0.8 - resolution: "postcss-preset-env@npm:10.0.8" + version: 10.0.9 + resolution: "postcss-preset-env@npm:10.0.9" dependencies: "@csstools/postcss-cascade-layers": "npm:^5.0.1" - "@csstools/postcss-color-function": "npm:^4.0.4" - "@csstools/postcss-color-mix-function": "npm:^3.0.4" - "@csstools/postcss-content-alt-text": "npm:^2.0.3" - "@csstools/postcss-exponential-functions": "npm:^2.0.3" + "@csstools/postcss-color-function": "npm:^4.0.5" + "@csstools/postcss-color-mix-function": "npm:^3.0.5" + "@csstools/postcss-content-alt-text": "npm:^2.0.4" + "@csstools/postcss-exponential-functions": "npm:^2.0.4" "@csstools/postcss-font-format-keywords": "npm:^4.0.0" - "@csstools/postcss-gamut-mapping": "npm:^2.0.4" - "@csstools/postcss-gradients-interpolation-method": "npm:^5.0.4" - "@csstools/postcss-hwb-function": "npm:^4.0.4" + "@csstools/postcss-gamut-mapping": "npm:^2.0.5" + "@csstools/postcss-gradients-interpolation-method": "npm:^5.0.5" + "@csstools/postcss-hwb-function": "npm:^4.0.5" "@csstools/postcss-ic-unit": "npm:^4.0.0" "@csstools/postcss-initial": "npm:^2.0.0" "@csstools/postcss-is-pseudo-class": "npm:^5.0.1" - "@csstools/postcss-light-dark-function": "npm:^2.0.6" + "@csstools/postcss-light-dark-function": "npm:^2.0.7" "@csstools/postcss-logical-float-and-clear": "npm:^3.0.0" "@csstools/postcss-logical-overflow": "npm:^2.0.0" "@csstools/postcss-logical-overscroll-behavior": "npm:^2.0.0" "@csstools/postcss-logical-resize": "npm:^3.0.0" - "@csstools/postcss-logical-viewport-units": "npm:^3.0.2" - "@csstools/postcss-media-minmax": "npm:^2.0.3" - "@csstools/postcss-media-queries-aspect-ratio-number-values": "npm:^3.0.3" + "@csstools/postcss-logical-viewport-units": "npm:^3.0.3" + "@csstools/postcss-media-minmax": "npm:^2.0.4" + "@csstools/postcss-media-queries-aspect-ratio-number-values": "npm:^3.0.4" "@csstools/postcss-nested-calc": "npm:^4.0.0" "@csstools/postcss-normalize-display-values": "npm:^4.0.0" - "@csstools/postcss-oklab-function": "npm:^4.0.4" + "@csstools/postcss-oklab-function": "npm:^4.0.5" "@csstools/postcss-progressive-custom-properties": "npm:^4.0.0" - "@csstools/postcss-relative-color-syntax": "npm:^3.0.4" + "@csstools/postcss-relative-color-syntax": "npm:^3.0.5" "@csstools/postcss-scope-pseudo-class": "npm:^4.0.1" - "@csstools/postcss-stepped-value-functions": "npm:^4.0.3" + "@csstools/postcss-stepped-value-functions": "npm:^4.0.4" "@csstools/postcss-text-decoration-shorthand": "npm:^4.0.1" - "@csstools/postcss-trigonometric-functions": "npm:^4.0.3" + "@csstools/postcss-trigonometric-functions": "npm:^4.0.4" "@csstools/postcss-unset-value": "npm:^4.0.0" autoprefixer: "npm:^10.4.19" browserslist: "npm:^4.23.1" @@ -13865,12 +13865,12 @@ __metadata: cssdb: "npm:^8.1.2" postcss-attribute-case-insensitive: "npm:^7.0.1" postcss-clamp: "npm:^4.1.0" - postcss-color-functional-notation: "npm:^7.0.4" + postcss-color-functional-notation: "npm:^7.0.5" postcss-color-hex-alpha: "npm:^10.0.0" postcss-color-rebeccapurple: "npm:^10.0.0" - postcss-custom-media: "npm:^11.0.4" - postcss-custom-properties: "npm:^14.0.3" - postcss-custom-selectors: "npm:^8.0.3" + postcss-custom-media: "npm:^11.0.5" + postcss-custom-properties: "npm:^14.0.4" + postcss-custom-selectors: "npm:^8.0.4" postcss-dir-pseudo-class: "npm:^9.0.1" postcss-double-position-gradients: "npm:^6.0.0" postcss-focus-visible: "npm:^10.0.1" @@ -13878,7 +13878,7 @@ __metadata: postcss-font-variant: "npm:^5.0.0" postcss-gap-properties: "npm:^6.0.0" postcss-image-set-function: "npm:^7.0.0" - postcss-lab-function: "npm:^7.0.4" + postcss-lab-function: "npm:^7.0.5" postcss-logical: "npm:^8.0.0" postcss-nesting: "npm:^13.0.1" postcss-opacity-percentage: "npm:^3.0.0" @@ -13890,7 +13890,7 @@ __metadata: postcss-selector-not: "npm:^8.0.1" peerDependencies: postcss: ^8.4 - checksum: 10c0/3f7dc8eb2e7f4e7a5eee0a9456972a5b18bd40109d1aa3328f60cd645d352f3a70c83c507ea58f83b820153b0f5c3f14af3f376573c56599c36d5739c943b6f1 + checksum: 10c0/985ef4cfd2dd6a94d8a802db8e392c4b4c47ae0de8fd5224c60d8172cac3d7ce9011e63ab80470cddc77f21f09b2be850f97ac2478f651bc0a8956b538b079fe languageName: node linkType: hard From 933fa81bafffc9084c1f2d96161f724be6777458 Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" <41898282+github-actions[bot]@users.noreply.github.com> Date: Tue, 5 Nov 2024 08:41:09 +0000 Subject: [PATCH 128/357] New Crowdin Translations (automated) (#32772) Co-authored-by: GitHub Actions --- app/javascript/mastodon/locales/ru.json | 13 +++++++++-- config/locales/doorkeeper.ru.yml | 1 + config/locales/ru.yml | 29 +++++++++++++++++++++++++ config/locales/simple_form.ru.yml | 2 ++ 4 files changed, 43 insertions(+), 2 deletions(-) diff --git a/app/javascript/mastodon/locales/ru.json b/app/javascript/mastodon/locales/ru.json index d75b5fab262b1a..9d937939a9b463 100644 --- a/app/javascript/mastodon/locales/ru.json +++ b/app/javascript/mastodon/locales/ru.json @@ -158,6 +158,7 @@ "compose_form.poll.duration": "Продолжительность опроса", "compose_form.poll.multiple": "Несколько вариантов ответа", "compose_form.poll.option_placeholder": "Вариант {number}", + "compose_form.poll.single": "Один вариант ответа", "compose_form.poll.switch_to_multiple": "Разрешить выбор нескольких вариантов", "compose_form.poll.switch_to_single": "Переключить в режим выбора одного ответа", "compose_form.poll.type": "Стиль", @@ -222,6 +223,7 @@ "domain_block_modal.they_cant_follow": "Никто из этого сервера не может подписываться на вас.", "domain_block_modal.they_wont_know": "Он не будет знать, что его заблокировали.", "domain_block_modal.title": "Заблокировать домен?", + "domain_block_modal.you_will_lose_num_followers": "Вы потеряете {followersCount, plural, one {{followersCountDisplay} подписчика} other {{followersCountDisplay} подписчиков}} и {followingCount, plural, one {{followingCountDisplay} подписку} other {{followingCountDisplay} подписок}}.", "domain_block_modal.you_will_lose_relationships": "Вы потеряете всех подписчиков и людей, на которых вы подписаны, на этом сервере.", "domain_block_modal.you_wont_see_posts": "Вы не будете видеть записи или уведомления от пользователей на этом сервере.", "domain_pill.activitypub_lets_connect": "Это позволяет вам общаться и взаимодействовать с людьми не только на Mastodon, но и в различных социальных приложениях.", @@ -507,7 +509,7 @@ "notification.admin.sign_up": "{name} зарегистрирован", "notification.admin.sign_up.name_and_others": "{name} и {count, plural, one {# другой} other {# другие}} подписались", "notification.favourite": "{name} добавил(а) ваш пост в избранное", - "notification.favourite.name_and_others_with_link": "{name} и {count, plural, one {# другие} other {# другие}} отдали предпочтение вашему посту", + "notification.favourite.name_and_others_with_link": "{name} и ещё {count, plural, one {# пользователь} few {# пользователя} other {# пользователей}} добавили ваш пост в избранное", "notification.follow": "{name} подписался (-лась) на вас", "notification.follow.name_and_others": "{name} и {count, plural, one {# other} few {# others} many {# others} other {# others}} подписались на вас", "notification.follow_request": "{name} отправил запрос на подписку", @@ -530,7 +532,7 @@ "notification.own_poll": "Ваш опрос закончился", "notification.poll": "Голосование, в котором вы приняли участие, завершилось", "notification.reblog": "{name} продвинул(а) ваш пост", - "notification.reblog.name_and_others_with_link": "{name} и {count, plural, one {# other} other {# others}} увеличили ваш пост", + "notification.reblog.name_and_others_with_link": "{name} и ещё {count, plural, one {# пользователь} few {# пользователя} other {# пользователей}} продвинули ваш пост", "notification.relationships_severance_event": "Потеряно соединение с {name}", "notification.relationships_severance_event.account_suspension": "Администратор {from} заблокировал {target}, что означает, что вы больше не сможете получать обновления от них или взаймодествовать с ними.", "notification.relationships_severance_event.domain_block": "Администратор {from} заблокировал {target} включая {followersCount} ваших подписчиков и {followingCount, plural, one {# аккаунт} few {# аккаунта} other {# аккаунтов}}, на которые вы подписаны.", @@ -539,10 +541,15 @@ "notification.status": "{name} только что запостил", "notification.update": "{name} изменил(а) пост", "notification_requests.accept": "Принять", + "notification_requests.accept_multiple": "{count, plural, one {Принять # запрос…} few {Принять # запроса…} other {Принять # запросов…}}", "notification_requests.confirm_accept_multiple.button": "{count, plural, one {Принять запрос} other {Принять запросы}}", + "notification_requests.confirm_accept_multiple.message": "Вы собираетесь принять {count, plural, one {# запрос на показ уведомлений} few {# запроса на показ уведомлений} other {# запросов на показ уведомлений}}. Продолжить?", "notification_requests.confirm_accept_multiple.title": "Принимать запросы на уведомления?", + "notification_requests.confirm_dismiss_multiple.button": "{count, plural, one {Отклонить запрос} other {Отклонить запросы}}", + "notification_requests.confirm_dismiss_multiple.message": "Вы собираетесь отклонить {count, plural, one {# запрос на показ уведомлений} few {# запроса на показ уведомлений} other {# запросов на показ уведомлений}}. Вы не сможете просмотреть {count, plural, other {их}} потом. Продолжить?", "notification_requests.confirm_dismiss_multiple.title": "Отклонять запросы на уведомления?", "notification_requests.dismiss": "Отклонить", + "notification_requests.dismiss_multiple": "{count, plural, one {Отклонить # запрос…} few {Отклонить # запроса…} other {Отклонить # запросов…}}", "notification_requests.edit_selection": "Редактировать", "notification_requests.exit_selection": "Готово", "notification_requests.explainer_for_limited_account": "Уведомления от этой учетной записи были отфильтрованы, поскольку учетная запись была ограничена модератором.", @@ -597,6 +604,7 @@ "notifications.policy.filter_limited_accounts_title": "Модерируемые аккаунты", "notifications.policy.filter_new_accounts.hint": "Создано в течение последних {days, plural, one {один день} few {# дней} many {# дней} other {# дня}}", "notifications.policy.filter_new_accounts_title": "Новые учётные записи", + "notifications.policy.filter_not_followers_hint": "Включая людей, которые подписаны на вас меньше чем {days, plural, one {# день} few {# дня} other {# дней}}", "notifications.policy.filter_not_followers_title": "Люди, не подписанные на вас", "notifications.policy.filter_not_following_hint": "Пока вы не одобрите их вручную", "notifications.policy.filter_not_following_title": "Люди, на которых вы не подписаны", @@ -788,6 +796,7 @@ "status.edited_x_times": "{count, plural, one {{count} изменение} many {{count} изменений} other {{count} изменения}}", "status.embed": "Получить код для встраивания", "status.favourite": "Избранное", + "status.favourites": "{count, plural, one {в избранном} other {в избранном}}", "status.filter": "Фильтровать этот пост", "status.history.created": "{name} создал {date}", "status.history.edited": "{name} отредактировал(а) {date}", diff --git a/config/locales/doorkeeper.ru.yml b/config/locales/doorkeeper.ru.yml index 1dcb2093d517d2..c7ea94c2e34fb2 100644 --- a/config/locales/doorkeeper.ru.yml +++ b/config/locales/doorkeeper.ru.yml @@ -60,6 +60,7 @@ ru: error: title: Произошла ошибка new: + prompt_html: "%{client_name} хочет получить доступ к вашему аккаунту. Принимайте запрос только в том случае, если узнаёте, откуда он, и доверяете источнику." review_permissions: Просмотр разрешений title: Требуется авторизация show: diff --git a/config/locales/ru.yml b/config/locales/ru.yml index b7a10269fa9425..41b74c8cb45e04 100644 --- a/config/locales/ru.yml +++ b/config/locales/ru.yml @@ -25,6 +25,7 @@ ru: one: Пост other: статусов posts_tab_heading: Посты + self_follow_error: Нельзя подписаться на самого себя admin: account_actions: action: Выполнить действие @@ -462,6 +463,7 @@ ru: title: Блокировка нового почтового домена no_email_domain_block_selected: Блоки почтовых доменов не были изменены, так как ни один из них не был выбран not_permitted: Не разрешено + resolved_dns_records_hint_html: Доменное имя указывает на следующие MX-домены, которые в конечном итоге отвечают за прием электронной почты. Блокировка MX-домена будет блокировать регистрации с любого адреса электронной почты, который использует тот же MX-домен, даже если видимое доменное имя отличается от него. Будьте осторожны, чтобы не заблокировать основных провайдеров электронной почты resolved_through_html: Разрешено через %{domain} title: Заблокированные e-mail домены export_domain_allows: @@ -625,6 +627,7 @@ ru: resolve_description_html: Никаких действий не будет выполнено относительно доложенного содержимого. Жалоба будет закрыта. silence_description_html: Учетная запись будет видна только тем пользователям, которые уже подписаны на неё, либо открыли его вручную. Это действие можно отменить в любой момент, и отменяет все жалобы против аккаунта. suspend_description_html: Аккаунт и все его содержимое будут недоступны и в конечном итоге удалены, и взаимодействие с ним будет невозможно. Это действие можно отменить в течение 30 дней. Отменяет все жалобы против этого аккаунта. + actions_description_html: Выберите действие, чтобы разрешить данную жалобу. Если вы примете меры модерации против аккаунта, его владелец получит уведомление по электронной почте, кроме тех случаев, когда выбрана категория Спам. actions_description_remote_html: Решите вопрос о том, какие меры необходимо принять для урегулирования этой жалобы. Это повлияет только на то, как ваш сервер взаимодействует с этим удаленным аккаунтом и обрабатывает его содержимое. actions_no_posts: У этого отчета нет связанных с ним сообщений для удаления add_to_report: Прикрепить ещё @@ -902,6 +905,7 @@ ru: sidekiq_process_check: message_html: Ни один Sidekiq не запущен для %{value} очереди(-ей). Пожалуйста, просмотрите настройки Sidekiq software_version_check: + action: Посмотреть доступные обновления message_html: Доступно обновление для Mastodon. software_version_critical_check: action: Посмотреть доступные обновления @@ -1198,8 +1202,11 @@ ru: use_security_key: Использовать ключ безопасности author_attribution: example_title: Образец текста + hint_html: Публикуете ли вы свои статьи где-либо ещё кроме Mastodon? Если да, то ваше авторство может быть упомянуто, когда ими делятся в Mastodon. + instructions: 'Добавьте код ниже в HTML ваших статей:' more_from_html: Больше от %{name} s_blog: "%{name}'S Блог" + then_instructions: Затем добавьте доменное имя сайта, где вы публикуетесь, в поле ниже. title: Авторская атрибуция challenge: confirm: Продолжить @@ -1411,6 +1418,27 @@ ru: merge_long: Сохранить имеющиеся данные и добавить новые. overwrite: Перезаписать overwrite_long: Перезаписать имеющиеся данные новыми. + overwrite_preambles: + blocking_html: + few: Вы собираетесь заменить свой список блокировки, в котором сейчас %{count} аккаунта, из файла %{filename}. + many: Вы собираетесь заменить свой список блокировки, в котором сейчас %{count} аккаунов, из файла %{filename}. + one: Вы собираетесь заменить свой список блокировки, в котором сейчас %{count} аккаунт, из файла %{filename}. + other: Вы собираетесь заменить свой список блокировки, в котором сейчас %{count} аккаунтов, из файла %{filename}. + bookmarks_html: + few: Вы собираетесь заменить свои закладки, в которых сейчас %{count} поста, из файла %{filename}. + many: Вы собираетесь заменить свои закладки, в которых сейчас %{count} постов, из файла %{filename}. + one: Вы собираетесь заменить свои закладки, в которых сейчас %{count} пост, из файла %{filename}. + other: Вы собираетесь заменить свои закладки, в которых сейчас %{count} постов, из файла %{filename}. + domain_blocking_html: + few: Вы собираетесь заменить свой список доменных блокировок, в котором сейчас %{count} домена, из файла %{filename}. + many: Вы собираетесь заменить свой список доменных блокировок, в котором сейчас %{count} доменов, из файла %{filename}. + one: Вы собираетесь заменить свой список доменных блокировок, в котором сейчас %{count} домен, из файла %{filename}. + other: Вы собираетесь заменить свой список доменных блокировок, в котором сейчас %{count} доменов, из файла %{filename}. + following_html: + few: Вы собираетесь подписаться на %{count} аккаунта из файла %{filename} и отписаться от всех прочих. + many: Вы собираетесь подписаться на %{count} аккаунтов из файла %{filename} и отписаться от всех прочих. + one: Вы собираетесь подписаться на %{count} аккаунт из файла %{filename} и отписаться от всех прочих. + other: Вы собираетесь подписаться на %{count} аккаунтов из файла %{filename} и отписаться от всех прочих. preface: Вы можете загрузить некоторые данные, например, списки людей, на которых Вы подписаны или которых блокируете, в Вашу учётную запись на этом узле из файлов, экспортированных с другого узла. recent_imports: Недавно импортированное states: @@ -1728,6 +1756,7 @@ ru: delete: Удаление учётной записи development: Разработчикам edit_profile: Изменить профиль + export: Экспорт featured_tags: Избранные хэштеги import: Импорт import_and_export: Импорт и экспорт diff --git a/config/locales/simple_form.ru.yml b/config/locales/simple_form.ru.yml index 1bdffc6f1d5634..37626ff9fd1ec2 100644 --- a/config/locales/simple_form.ru.yml +++ b/config/locales/simple_form.ru.yml @@ -3,6 +3,7 @@ ru: simple_form: hints: account: + attribution_domains_as_text: По одному на строку. Защищает от ложных атрибуций. discoverable: Ваши публичные сообщения и профиль могут быть показаны или рекомендованы в различных разделах Mastodon, и ваш профиль может быть предложен другим пользователям. display_name: Ваше полное имя или псевдоним. fields: Ваша домашняя страница, местоимения, возраст - все, что угодно. @@ -143,6 +144,7 @@ ru: url: Куда события будут отправляться labels: account: + attribution_domains_as_text: Веб-сайты, которым разрешено ссылаться на вас discoverable: Профиль и сообщения в алгоритмах обнаружения fields: name: Пункт From d60ef3f17e37661fc9285e427f6a3a58fffe9d68 Mon Sep 17 00:00:00 2001 From: David Roetzel Date: Tue, 5 Nov 2024 09:55:34 +0100 Subject: [PATCH 129/357] Disable `httplog` gem in production (#32776) --- Gemfile | 2 +- config/initializers/httplog.rb | 13 +++++++++---- 2 files changed, 10 insertions(+), 5 deletions(-) diff --git a/Gemfile b/Gemfile index 22a8d86c3c3aa0..bc7a219789a941 100644 --- a/Gemfile +++ b/Gemfile @@ -53,7 +53,7 @@ gem 'hiredis', '~> 0.6' gem 'htmlentities', '~> 4.3' gem 'http', '~> 5.2.0' gem 'http_accept_language', '~> 2.1' -gem 'httplog', '~> 1.7.0' +gem 'httplog', '~> 1.7.0', require: false gem 'i18n' gem 'idn-ruby', require: 'idn' gem 'inline_svg' diff --git a/config/initializers/httplog.rb b/config/initializers/httplog.rb index 02fcef4120ac06..7a009e84d1e07b 100644 --- a/config/initializers/httplog.rb +++ b/config/initializers/httplog.rb @@ -1,7 +1,12 @@ # frozen_string_literal: true -HttpLog.configure do |config| - config.logger = Rails.logger - config.color = { color: :yellow } - config.compact_log = true +# Disable httplog in production unless log_level is `debug` +if !Rails.env.production? || Rails.configuration.log_level == :debug + require 'httplog' + + HttpLog.configure do |config| + config.logger = Rails.logger + config.color = { color: :yellow } + config.compact_log = true + end end From 20a147170ed00f1c3cf3e41ea30dc12d989109c9 Mon Sep 17 00:00:00 2001 From: Matt Jankowski Date: Tue, 5 Nov 2024 09:20:27 -0500 Subject: [PATCH 130/357] Remove unused `usage` method from `REST::V1::InstanceSerializer` (#32768) --- app/serializers/rest/v1/instance_serializer.rb | 8 -------- 1 file changed, 8 deletions(-) diff --git a/app/serializers/rest/v1/instance_serializer.rb b/app/serializers/rest/v1/instance_serializer.rb index 7f9f21c5af18f2..db83af49074ab3 100644 --- a/app/serializers/rest/v1/instance_serializer.rb +++ b/app/serializers/rest/v1/instance_serializer.rb @@ -48,14 +48,6 @@ def urls { streaming_api: Rails.configuration.x.streaming_api_base_url } end - def usage - { - users: { - active_month: instance_presenter.active_user_count(4), - }, - } - end - def configuration { accounts: { From d6349c0e9aa93c3d9f70dafb26cf792e874022bf Mon Sep 17 00:00:00 2001 From: Eugen Rochko Date: Tue, 5 Nov 2024 15:40:07 +0100 Subject: [PATCH 131/357] Add year in review feature to web UI (#32709) --- .../api/v1/annual_reports_controller.rb | 11 + app/javascript/images/archetypes/booster.png | Bin 0 -> 635021 bytes app/javascript/images/archetypes/lurker.png | Bin 0 -> 1057477 bytes app/javascript/images/archetypes/oracle.png | Bin 0 -> 1208409 bytes app/javascript/images/archetypes/pollster.png | Bin 0 -> 727543 bytes app/javascript/images/archetypes/replier.png | Bin 0 -> 805191 bytes .../mastodon/api_types/notifications.ts | 16 +- .../mastodon/components/modal_root.jsx | 22 +- .../features/annual_report/archetype.tsx | 69 ++++ .../features/annual_report/followers.tsx | 69 ++++ .../annual_report/highlighted_post.tsx | 105 ++++++ .../mastodon/features/annual_report/index.tsx | 99 ++++++ .../features/annual_report/most_used_app.tsx | 29 ++ .../annual_report/most_used_hashtag.tsx | 29 ++ .../features/annual_report/new_posts.tsx | 53 +++ .../features/annual_report/percentile.tsx | 53 +++ .../components/notification_annual_report.tsx | 59 +++ .../components/notification_group.tsx | 9 + .../status/components/detailed_status.tsx | 8 +- .../ui/components/annual_report_modal.tsx | 21 ++ .../features/ui/components/modal_root.jsx | 2 + .../features/ui/util/async-components.js | 4 + app/javascript/mastodon/locales/en.json | 20 ++ .../mastodon/models/annual_report.ts | 44 +++ .../mastodon/models/notification_group.ts | 25 +- .../400-24px/celebration-fill.svg | 1 + .../material-icons/400-24px/celebration.svg | 1 + .../material-icons/400-24px/explore-fill.svg | 2 +- .../material-icons/400-24px/explore.svg | 2 +- app/javascript/styles/application.scss | 1 + .../styles/mastodon/annual_reports.scss | 335 ++++++++++++++++++ .../styles/mastodon/components.scss | 6 +- app/models/notification.rb | 6 +- app/models/notification_group.rb | 1 + .../rest/annual_report_event_serializer.rb | 9 + .../rest/notification_group_serializer.rb | 5 + app/services/notify_service.rb | 6 +- config/routes/api.rb | 2 +- 38 files changed, 1103 insertions(+), 21 deletions(-) create mode 100755 app/javascript/images/archetypes/booster.png create mode 100755 app/javascript/images/archetypes/lurker.png create mode 100755 app/javascript/images/archetypes/oracle.png create mode 100755 app/javascript/images/archetypes/pollster.png create mode 100755 app/javascript/images/archetypes/replier.png create mode 100644 app/javascript/mastodon/features/annual_report/archetype.tsx create mode 100644 app/javascript/mastodon/features/annual_report/followers.tsx create mode 100644 app/javascript/mastodon/features/annual_report/highlighted_post.tsx create mode 100644 app/javascript/mastodon/features/annual_report/index.tsx create mode 100644 app/javascript/mastodon/features/annual_report/most_used_app.tsx create mode 100644 app/javascript/mastodon/features/annual_report/most_used_hashtag.tsx create mode 100644 app/javascript/mastodon/features/annual_report/new_posts.tsx create mode 100644 app/javascript/mastodon/features/annual_report/percentile.tsx create mode 100644 app/javascript/mastodon/features/notifications_v2/components/notification_annual_report.tsx create mode 100644 app/javascript/mastodon/features/ui/components/annual_report_modal.tsx create mode 100644 app/javascript/mastodon/models/annual_report.ts create mode 100644 app/javascript/material-icons/400-24px/celebration-fill.svg create mode 100644 app/javascript/material-icons/400-24px/celebration.svg create mode 100644 app/javascript/styles/mastodon/annual_reports.scss create mode 100644 app/serializers/rest/annual_report_event_serializer.rb diff --git a/app/controllers/api/v1/annual_reports_controller.rb b/app/controllers/api/v1/annual_reports_controller.rb index 9bc8e68ac2430b..b1aee288dd8595 100644 --- a/app/controllers/api/v1/annual_reports_controller.rb +++ b/app/controllers/api/v1/annual_reports_controller.rb @@ -17,6 +17,17 @@ def index relationships: @relationships end + def show + with_read_replica do + @presenter = AnnualReportsPresenter.new([@annual_report]) + @relationships = StatusRelationshipsPresenter.new(@presenter.statuses, current_account.id) + end + + render json: @presenter, + serializer: REST::AnnualReportsSerializer, + relationships: @relationships + end + def read @annual_report.view! render_empty diff --git a/app/javascript/images/archetypes/booster.png b/app/javascript/images/archetypes/booster.png new file mode 100755 index 0000000000000000000000000000000000000000..18c92dfb7d57cd5773a559f51bfac689e145dee3 GIT binary patch literal 635021 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�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

%-}mE(;reb9Fej+ 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

>JidtWaFCW1>x-p2JIl zfeg)S2P*g(ohKhM%?Ulu6B1fAj!ljlqh5DU7< z^47fWoReCmJ44oBqYK^9f;l*NE$D6&wVZChyLViD|IWkIpD0T<$nyC|T&_C4(~V&d z4!jgUJh$}LHi0KNDJ75T@>)V)RqdB(`@uWIc6e}i-cBYq)yLe>Qy$V--ZeQH{-mub zt{NJW)G|9jUQ9<*)S*UtJ`^chtOQ?=a{WN8qa;2|60643M_JZ`^xXz=wqyQ0O7sft z%P;Olt1>Wsx?nEdv|xK10%VW<2Xs8jMA2yq-Osa#d3%Vz*DDcuvj{(>^BWp;Cm?d6 zac{?5Vz>z~t-JktR zUlm$2KHWV{cKcIgKeaO{^^_ney*gpi?S8KhbTZBg0N0NkrnZwqDQ4`BG#-3GrGHwy zpmy!oE3Xjn$7aGa>6=%L_rsHU#X6EIwL396{B;t05t{Y;0`9uHA7F1~CpG1rwgg=9 zre4wpkn&#RnCD)QS~l9zYU8S8+l;c<(M%Y3-H?HM`3@M+{yF_G3&rOq=2hPziKk}g z!{3f~AqR8t6P^ew)V1|^rhMo-EnXR|iVdHz@Zj_NeO8p>G*c9piRV<~>VLJjYfHB$A2StU^!KsW zQNAJz`m>x$J@$bS(M@<|@+q}4-<^~9iBREZ`D1xYJ?7z#osj7rp3OHMZU?QaM8vH# zf*=fS!*o~Q>pjJ99XnGoa**A$?c04C2M4Jj=Tzst@YJU7p6*TJ zKl-K4c#zd*30UiPBIACpHC`k?PDDat`Xd*DV5K(N3~ND_#(LiUE3_0hJjfsCNN?|J zc8=vUUx&zt?sE?2xBH_Q^?!lqw}dmL6A64KGx&mt(q2bv{e1X3EHI?=znXr49S_xh z?i*jeE3^2+F{e2HLUqzzLjxl?x};s+LslNp5&NVA-dR+OriB{Kdxmex`$bD|JsV31ldWTz& zpu+fVZFiC*4lafa=wDFbm1JBVyw#jP?(U@3ryTBv7O z*h55>0}tYg+WQQ;{fFy~|H1>Q!-2zt*?uiBNP6wsIBdl;l|S}lY>tw7_{TiTkby`` z8`rwuX)hjj6)zK5I)H|4xA@HKHOId-l=wlZ>E+jP)obHC{`2a$UCT`0fpacpksi@Z@SGBX4$aF`e& z9HT2N{m?dwR2dLcD@W^koLqmIrPv(Q>~4!pOAFDVbt;upe8=4Hf{qGLAFYGSpe~5! zm+t)8NZ05sW+%9P`al{ZWTsf7u=mee@Pr1M9WfQVpZY}0+b&B%cZ86+&|MSi)3_=y76v{>@$KdEwI zDg?o*=>)CnKT3mn)2nN604%F!wLgo}*=K2c>hdqkJU$@rexA8`P1hCW;a=a07Tx@5 zKR8ntf0Q5#(%(cni5-P7 z`1~7WCkt1IjZAZN1 zYWoMEx|7N0_*<-^;Sx;lhC3@6C;6`wbSLF≤h=w7;j8(g>AJ0jewf1=JpgO`5q& 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

5Lm|;5iOdtJnVax&}0n`k%fE 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 z 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�P{)<#nMUYOeH`UWus|Aa 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 LC14G$x>K6c>E<2z|fgbxhiY0Xn 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

;V#++3i2e?;3E=o#{*BMG3Wjj-dM_6p$r@8B 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

h5EA(eQo7V%-}#XrIcd8^ov=cLTV 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%0Dhp3a#3_4%ylSDDl}Y5_OjrH+{?MFFJvT< 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

{RJ--i@Tmvhl1Ah|j{d(L2-YXWo{9A0% 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 z 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

o|`G+Y~xKjk^4-;%R3JP)3okOe&)A<9WBlM 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≠f=nyxqy^G_cLo5~pKK{mwIRD7w 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νHig!;1h@HP7cc@OOmhl+Y=6g!pelkM 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�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 z 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'Td(eTuK)S7Y>># zVH2&?pBdLOSrc(~JrE*1jb5peE{MqJO@b@Eu~-(>Qp8Gh+=Hw40Np?$zd`c%F}I-9 z*!_IiT@^T#^5PYuc1z6hijrj%!>}%p*zqm=JlUynJ^@;}eJQX06Ew8GYCGg7o5DNE zi}IDryE2?8DTGXN;5Nm78yMad71vPxFv2mA7Wmjya#UCX$M;4u$yT%wfRy&GFKKEL z)~;SDSPO&*WkUagS=k9kHyB0X@|$465+5plMQDc$p_-;jsnHsFwks#@1aXZ?wDd?9 zyT2cZttVlkO9aofU;xE3FF&O$3^=Y3{nKNC5~PLN9sivO?^I(%i{Pg3)nlZ)6rw*#$bh%wyj^+Fitt+(EaMuYGpue%aI{cqojbI;p348z=@4nQL% z<_(CtixOrvdTqZ|GXF!IC6Li|M35O9iRQA%h666wsynJai0} zuN#nZrDNTHf7M(bUxz?&Xf&E=Hri;nr!YOafUS#ruxr}|*s^dIW~R4bW@-Vm(_1k+ zvklWz3(s69!9QgIyt9Na-u%b7@tc2!PIm>3hQo#D@5V1({|>zR^;e+PYCPuz@Xg{& z#`*qJBOQ+_BlDOmSk)&Q#Q{IHg7-KgcyivXSZ8um_U0Yo*x=ob2-Bm7PvXD)=g;9U zKK&)Eb=KjW3qhIZpMO5u?Rw;1!HlDwB|Noy0?X?ivjkb8FKweu_SEWo1amoiS9Px+ zasqh9Evtent*~S8m+}RPt443U!P5CHowvGcyZ#3I?rD$J@J`6cGB1*6B;;ZFpHrIN zqytvvJK1MWVQh!{(}MHHILYl+MG4DimiM#JpF40sZ#;+M~1rOZ_BVv@#_o&mzm%i(y+)0+Efbr z3Wr>zhZHJBJdcx=V=r6Sborx|7uRJdWi-dKE;s>+b`)_$xvAZcWux*7Gic@Nn=u_H zqyrULR?fZ!()(N&(Sfu$C5t*$=UFxPA(9>ZyeETnJvYDZ>}GMelHySm`OYr?y!bh` zsfxUU(lGo$+9gUN9FRh|LKGXl`;+ZOuVMt-fg%KO=QyAsRA53WVrjK7k17al8AALF zgRDFVk*E~1s(!{KVFzGP3h2;dN55}TO_oW$c4Sa4&@(F5A~;l6z*PlUii$bWQEKH% zl`ofe7kOzU+9Fsu)xGHN3evtu%m0R8WqWa*67xV6}kCf2BzCn*fX~a)2*pzPz+!kKYkoH+;9W# zyz@=~z^)yOxaP;N!tS%Sz^wm$?a~1V$Pu(C~=&UR8AP*UnLN zJDA>y_&bgT>zwo+3UU?UX5$Lr0N@%9+jh+3Z9jJ%F1+j<{QakI#23GK2Tm@nVtMr_ zzWj|p#r=!vHTQzy*2du9dNM@U>*HI zAN~FS1*3Fomtr;;1?lik6<}M=FNF_ACkmmHG2pX-W}}T}vyE1B0@ITVn4jB$g}GhW zGJh84X18NqvzVNi!$f-uvoqT;IWc=i?0%L6@b3BwzIy9lmIC-H0ATm7E%^Cg zdoy0~>dT&!0{A#9C{=vlM#OO*Q(Dez9qD?X7Bxq$SUl$HQI{yO(bDU9^L|d)Cdv!j zqh6 zqfw0jazxlZHIMC6^H}Sz*=I86ilcL!grK21{|i%DC;%HE=>_@lM=Y+8XL^eu)1mNLGNcJ8 z1{4HE=L!_;1Y6vsw@N3yU_B5Ft_B%%ny6kl?;e*bGwD4eC*2F2B3s0vHH_~<+-Vt# zNqV2kl3UJE2hi^Nn6OHvsgT(t-Y6*~4bT4tioz)bi@X+W(H5)?c;Wo)Iov=R%E1XDmEZ~p`F^EMOiX92k1R6RR^zs(>tPv~4rkG$nl7^KX+3{eFCy~MN{uvq) z_{y`GU3x7S+=Rc%=OsKp61yWs8i}AKd1^)!981y3kv4x80^OS}9 zQ(elST;v5}A=s+L##Rzgp9PrRs>(s-(wi4IO=7bUIO9~i{iBQ{oa=B8tQU1Zd8$be z&>U|g?r|pNUEXWh>JxMi5mzlxE^T+Ku1HaefD!C?Rzg0B$;t#v<`M^Fl}=2MaANb2 zd*6n`tt!6qzDYKF1-^sDO;DQ(v7JLM0XZkc%HP+DRyMqV1IsGnd?cDCZH2P$M+x3C z5IS4~A$=*wjTPvJH?yb|cx^@!I4F&Lb z{l;7I#<#y5Gjmf(2=sIAb8KMl9kmA3d8|kMJk#@=oI~Nh>4$j&}ZCx_oMiO>;D2@|JMB&3<}K6&EY-oc@KW&SAGRsw{G1~ z5vX9svCc9Mub#lt`kE3lhC zJE>(zR?0kQoud{+M6K(qAj86hNt&TN#Ifq{A(Gr>Gw;YVnMd*n9YMMF$qM8Ke^EM! zt&k=QDR$4OT>D}?hmsC!abAiK*DXu{03ZNKL_t))5_w|t)&i;IC~fXlHFjJm~;T|eZ7Yx_0nDr4A(sz=GOdcK18;W0fz=vF3EyZ%sg zz_T%$CUdh8{Pm)Tu{*P?f=pc_6U>smVu@L>Du;_nIfePm~$4ZYQEyOV)o2F_l{E}9|M%F>No|N2tiEYVM(&RX@{BtWf z>d7K)DPxMo$U?L*c$cPRSIdVj3H6Xp5jNMyr77Mrv{47MR__D3>H!YL2buheGzrse z1_F1TG*Tp7JHc{_!nK2Lu4Byu51SFuCg-%HKJiEsr@^ccI1`(io#TU>%0`ZjADjrq z@IA#U94bWcG{8o-msPF7G842A;+HB8aD1MIT>)iPH3Kq9Fhhc$PR2=)g!c-rxhl-$ z!hy^^KqWttuw!}~cFt@+{p{fEA&+tB&>{TRZ~YcN`N>bB-|yj)7wo~m_zypgmt1i^ z+7qo!<4B&aoIIAux?x01oolN8&quzWD#gHt*PLQB%D9)O{=NG`GHFM<*x_fT1oL;N z^Q->yR(KM_=b_BU72d=e_ue>xnZVFp-0iI6&f6cx7e4)uB`dsxqF^+e6FB#*7voJ= zyc1_no{fp-^yz)x{Re6^hJl%LGsD14IwQtf(R_V<75zaE!0`8S3{gO(xRTpFiB@as zjC=cee9u=_kK@1J{3(3(*1te^edqw+bM{vJ{J(q?-uM$gh=s+O=M@9IuH|_g7|A#? zb$tW|C*{dpP$p;JnHBQLzyWC!@33w+kr%&5xwS)=D%VoNDnm1K0{Un{d{kf6M(?8j zdj`>B)^d^7CbV$S}DPktwwiG$W z5)%TaF)Ui_i-m{ebeFcoiwi9R{e&3gs0?8wgWX^#6Cy!}Tv`S)CBc;Gn4={BPP3pL zvC<^MpA{))1JG_`qKJFrLbA?FF}il1<4Tbl83CVUF-p<^94CT3QKn-?3Y?}0m2_zU z+TpFxJxD{xC_80nX~&hfw}@i37rzxJ-Q*1FdrK(>)r><+wvd>gpuY&Fb`_&M;j1UY zE|-m-grd;;B8d!6|JfDpRg6nXM@W0CB$|Sgv1|)3b;l91>!d?%r+`!g_3j|8C=cD; zlr2uG!XN3?&}F*1s&v@K2jBmp-|Q8SCeMhpxI6#0#o>7PkjO){Xf-uel^|~0<=co$ z%3DmaEnzsZlB(D`XA?t71x`whUZNdhLUma^BBT|Dz?bCUK(+d z_LzifBXn^}=4Wephs1S-2yPV4a!PJqsfAKHXvx%=sWOBlU56ZLKKW1xr=-eGB-`Ag zFi3Lsmy-(%-nO{V{^yaoM|NX@G9bcN236HJ-2d|P#$8$vNGT^eizIZI;tGkv&rk>^ z!Pl03VkFYG<;^i09{+nE_#khv9+*0uhD^2FNzuCe+0x1{#NJ$o0eR6`yiRoT>ozSC ziy29Ao;caeDFK`*ELt$fsWdfMRL)DjYf&o#>J$|c17B{IQ|>sD?IkGh1YsRnpA=CS zCg*V8;yGBDoPX91-Q8{%H{X0SKKjv*;>3v)n4D z&K-9NRhX2~;%9B{#s+Q4b%>JTek3n(5yosQ7xP}~Jfh08>(dq1sOJ4{=n@fCCw!3% ze5rPYk20y&IvVry*fF&WE!RH1&%M8Yy*|)gAFgN3Mg$`M6aN|pQZ~_U zPhqmel*~*mmj7G8%+vy=rxq|ZIghEyIZU)?&}>e?(V1|{=biWs1{VdER*vBBZu|q> z^6kIEdg)f(xnlwE`t`TsN8WJ_<`-s9nFIV(bjgg%{~q=IRdeU4aAV5t`!Z{3PJE?I z-;M!aWLBm+xqaMKFa0yluDetzPS>pmRbuu=rtXUKOlMvL^nbUL|X1C7b zoa*mkbe4$ZUav$#D1nlr01HD}AgZc2 zO3jOda2Rza&7n`kQr6FdeNd_>5_Vj86p1{GM)RQ;Qb~o+hCBm`BBT{@J+_B=IG<3% z>RnLbu|r)_oQ7HZC{d0x=gd4$va?vAiwOC-lJjf0>i!^#xrWL5PEmYjqzGJTCLGaO zYsm?r$dftCQ81)ZK+?o+01^c;C{5QEPSOsYs&crVCM2$m05m>u{fB;Yy?8Y6pQMY~ znGZ_J5uV=Ugl$uPgL5X#QaF;;$HDitu5R=Pc~O&Y2x(xW=<84jepq5WoNXzmHpPxdi~@%FEBkTYvGj*md?+ zG@R2(>$DLOJY94t`~UODcB;{~)$0+exhdF~s65IgK8_$z^*kqqNAZ91&vKZS&4}PM z;@Txbeg=pwgZ=WmnCzJ<+0fKXb(iQF=KxB65%;OwUZ<1()r` zg)cc5IJu4k2aclG>!G{8iiZ!}f&HtGVf&VIFx!{~xo1FB?GJ$U9?%hDxcmM`q@4LW z^92CKppPTRAIE3^{y*Z5d%l2PzXNi>-aXs!&wlmILjin#2CfDhv{7F!odPkOHu(2e zCZ(G18~3%4nNbtr$IP*mc}Mvjp)H6LPGyCzI_qIPMtIKIZP$a*#nJSCqcAI@SNELo zJ*qsP-Y+7DM$_T!ecRzcxcl~p(d!Lx{P=M^_Sj>%=9+7;b?eqmxxxM3VX8TSZBz5u zIyDbR4xL^PT%tPs+AaC5dM)J~)m-kJ#FK`1x&_m?~uhz47;Z(h@{Sled?phBdgQQQ_se>BwHy)D{;R7~xA*0$+9|d@!511g& zqVR|eV|X)0M0EyoTFiE?7>*Ga_sot8VUUYDqRI*^-P1z>S!-P&U2O8#*BeQtZjuyC zq!3<^GV3X>y|sS}_O-;eglA9Ua=h?vem0qFm8>lgg$^Nr>mo+J?5S3X3inWum|4#` zEKn#}EKn>Ak}d=h z0gVroPHK`^GXdM7FFSP)S;OU;f18H-DCi8d*M0^`g@Ft`lCzp{nyoPrVD>JnkX z<{DaDNyUaPh_sZpr6(gpIM~Bx$1h-#t!yT{eA^*KLp13L!H0^d0xRpP!*Fvz@$WPC!X=>*XCM~T~ZQdGLWcy?rEUKGXb#)OcH)Ux>El5xqwIbsV)Y@8>$aFABi zY}L2n8rVI%6MGlV#zbS{Sr-QS{XV|@r=?D=$%2{H_vG#{Kh9%xySq-?@MbuQ(Tr zi?ew0(IYsyG(>M4J#hf{9{d(s^NZLzu@x=X3So<<<;x$i`h8%19q9Hzp7-Y58BEHV zukXt*2BY8a;_)Z$#$Wu+2l3G3w_;HA;2h!neY^0^fAdzn{%zM_exY6fA2nBQ_U}&H z<6bjQ)_qT1NjjB{$MvX>Bf;}&xN5YiY0V1XRZQ=?Ficb&$~VsgAGLDxsFN&U0viLI zfC%k&3wzGriO!J~+;`u8^m=_9Ja`byjH|D{8q?F$PrGZW=^B`yn8vQzEtqajV88{s zgWeGPkf1=sd5pyQib#YHriBHPX9f9tB{&O5wNQ;o@VRX#Xb3GV_l%BoCY363$bfF) zD5Xs8LgGHuS(t3MIw?-Cc4u2rE$6A^%pNCpk86!1(`oCFj42Xl;beo$@_M8qT2)7H zeyZ@OQ&M;eRtAz1U)zA{bPn!ar_aoxJ3ygjSYc-X7q7QqRL8JFh^HuDERb$-9Vkk{ zb<9N+@<{3q0=KEo{lq{K)m$oB8leVathJP&b7J0EYHlKhjtOk~a-0-{l4(uCOh|gS zo#1~e@H#O+o3)Qr|k&$cEvk9YziPveo|N0O8W{)3*xfg-T zz%t3!iHA+7o$1EGhE|a6h=|{>Dkx-xH|?B8*6Epw8I&2cB*bjBiIEpiI+!T}^sUL; zPoBQ@NmYKsBF~9nr*5Lj?b8CAdKX}9$AjiELwi%KZ?aRqdma*i98!{Z#Z+y$Y-!ip`eT(N{ zwmtitXr*UnJo@OP`0$56jN5O&9nKMc=v9~Dbw7J8cI;k6v+2bAqMzHO4QhkOxBTCZ z2OFn~0%?M48T0*->QSk7UT-8cjK)wwh~!~GZ=*Nk2(J_7$40n}5K##=pCj2svHH7> zVo}C%KI)_ZIC?)_iJ zfBpQw#}kJi0CRz6)8X69g-&^J2G(?2S$q8&f zcPkFwa|n;`Ka75VfbV_pd)U2uH!i*OQnXsFQ?fP@2$RhTY@M3Nw$dHGK3K<~;L6VB zs&1|HTCx&xY@i~^bC5VE#q%VCr3_^|`ZBl*%4Ldy^5Y_7%+O!DO&HvN%!GokDrn zdrtq&o#U)~e0Xhifwu91fA_(m2ri-THjGz_nMG`SvEL|}En2l#e0=o;Ounn;dCQf5H41=s_seFrY!}JqH zlz$zv8$L1M3Xbe?W>OPgj{ZmT0WM#-V1uTR6%ymnAaE%xO5Pah3MQzWU^8@R*^Xky zVBnxb1}dhZi;~+8=h;Y33C~(?k)kdqEo@v+5W7PQmcOQj;9pT*wh0&*R?xPvfEAK~ z6ogK#lPq2_B760JQrK1wmd7rmsMY#P6s#Ka05R1 z$xouw>0ry^4BqKb=%Ph!Fa^`+^ieC?xks?VswoHAW?l@N*U;3axS-r;<{yU99H;f&G_k(<2iFj>w3TRbyP`54p`hei`gA>xaS)W;>5{StgWr# z&O7hK<(FTMy?ghf)oPv6=c3^nm}^gC$IKSYv?ej&0=+>m21A;lrE0T~%_K68Zfn*G zmxnWFI#lwNt+O@hH1+>;La@%j;sf}3HBv?02!Fl06ckT-U zoCQBq6yH^rO732Tvp8j&7s!YeN&w4DcvS&=;SDe%huu7%Nq4mo@S&Wh98I6rgz2K_ z8Tsy%eH@eQFEdrCCgN=EIqyLZY2ioj@oE z>8=qqGO{6&61Ac9GkMdULYY`yAcx)v$XX`F22U_MlxlI#nfqFVw_&sl7Prh9DmkvdS0>f*~nd|{uw&omM4O&E##R1fGLqP|I`uCfV zwlZBLjzrk3DcYzm1T#)$zM~q$H62?FiAEu1^lyCN`Vxl%r0!Ka5J)q7L-m3rfWCSk z#JQVNWImwyyC7&0!2t#rQ8Br|2;Ekshn>tt?M3mVD4kd{=nE26P!${rgTxRwIkbyq zTnv>i;=n?q?DtUBzKLQ5ki+1MqHcB?vxua`9d6P$&Gk^cXO8%?+IV4>6bRTKpteDFbh z^rIieJ@?#$MuYIiH(rGwddCl7>-IU2OzatTSRUcJt`m^!enQ<*m@>jQ<)+&aL6g#H zy&1uI!_I1|7RR5C=)D;+X4LU`nq?-4&8;n{=$cG+g+bWr?U(YFh4hicl^|=@H4;uW?c4? zeP~a#PHWf2M&~;kAt6@@>N!DsEL;`p3c2awcXSwWc87)PXzSbtf=679QNs7rOP{C< zMYik1DA9Z4;g_eQ#G()B(Ly3EJ^p;);GDybU5jW>wQ%RR9z?g>!}9Vno_OL3yz-T= z#Ny)OrupFYpMWsgY-8)>Jho0Ppy?dCMGplJGAIBeIOq7Z2~*SzU{cK;PP@X@(=7Pfq#WQ;zbOg|JaHg0$vsXbn)1Z`ak*n% zybn@SVZj=A4J6M2+hC{$m5DUCrWyHu5sq~- zj8WXoIj6-%Au;Hj2{p|{#Z{lnhTl~bx|75|SFQ%#m=GmI8I+L1Bczd#IW6`{WA0F^ zG`L`-;hfnsmBm|ug9+CQ;PNi9)&6qXY@%3`>+H2Z7h#?eb31$7?(iFjOmIA^#p*&2 zRBx*dEk+@RT3n8T@?wC@h%55dcgvZ95I%?E+mH!fsLdNCoFU7LQNf$g@OEZdQHZVU zB=}D9A!p?I`SF>EB?lEFBU)(G&7zd$kxKwhgEt~~i-RDWe?XE}0=Bps9qQ=^sdes3 zB#OUo{(6!vtFZ|R zle~VEam8D-1gTI;R&MaP0Fx7_lMwh|64pue7DSRhK{Ljs5G}at0SjWo0*F=Hn18Jp zR3Y351?fOgWNHVp#g8c)Vx;p2NGD4h7d8ulKC};!%EU-3lxjn31u@E}e1~Vsg@T2n z26oJB!#NA*V5&9soD>Sy*4A*t4L9JA|M-v5?RK$q`vTtjOFxVkUbYvliB|T|n-x&0 z;)FdGh6FW-U>f_lm$Yz=b3PQTyea{F6oO>bvAz0`O(T`*rxT1hu4q3_!}(aExH;*| z5KSVglq61-AP&^K#5r4RsTyz9cd}0O9>)zXuTQJp#GZ4u;o_?FLXcumc5EV^!8{k4$OeMO^Azl74gV%SEOul#6I35@AuNnqNW=0d z<~Fei4YfK%G@X&gr7C5N>rIdffly@8u|v_?J5#kjB=5Tn)nua!1mT-Fx{yoPm~vzr zlwd@o$P6k!ZvB{%dWQb2&ROR zJ6M|&iA}*lhyIdF&%^L^2bW(u{pT%`IuvJ3uYT^a8muO8XhWm@J4c!PH>VLKx-cky z?e%4;0aDb52wB#DJw-b0P9iFd7FlEYFg&Z?%O!#};Fm@@?lq^v2)H6!KHt`QFt7XxX| zI5dYoG3y9>uIEnx03ZNKL_t($wQ}0~30(=sq-?Y-+oiJMDS~Crr2bBBVq|y+7jBsB z%@qPA%L=L#{~64#EV7tQ40P~~i8xklEmfJ4YZ#>%B)N$pRV7W&8ctSS5tF{>+6y>$ z@f^%gES!GPYO_ZwW<2u9BlyTiK7#x2zaP#K-t?BM@#-JH3JY6jE5iA*k)Y$LkhKDK zPL>@{cup5*sE`jr%}drGQZ$E+5}}1gG<`G12oepbD$3jUj7Wc~gm4;lNlbx|G73S= zuBh%OBXjB}jPK>!j5uB;?o)DqQ&AunAtetX_JEWVK{ooR6A>EC1{Sx>;^LQ_i;FJb zhsJ6T2M->@das9Gzl%eMAHd!FZ@~##!Q#wzOwt4#HJ(8+ycmk%-4d13?+@AGMFAad za^~yI*R%gs4ElKT=)<_-A3lPcZ~rSSuO0)yXf_?LzVbr+Pygn}@TPaX91DxHXf#fZ zll7Sx{dM3FJGa*4K#hFAb@;N(>{u~dbM3pK+CHJW)ndHeMD?C$V^h^Q;&oLJW?h^0 z=E^Cwk=;gCC}-q=c3izZA;QE&3){}wiv4%($Nqyy(d+f`;DZn1^2;yBdFP#nX0!Q> zjQxpb8(Svlv2A)0P1iuL=wT3;30gGD3eVOoC(J$4bxav$SZWB;9`4UP5j9{Eb26Q? z$^K6rPlN%>NyCrNCem069qI`k<|v)*na7a?5&OPB=8eG`=dXsdd z1_yW)yPUX=K~yZX5GxH`4BKtb+EnND4o<<}A?q#kSVBv3$eANNsG@@?vLFTzd;KC6z(v-Yi*uz44Hn~urIt#g z&q(Bq2rZ^f9Z)KD!05(K5oV+jDza!M1aL_th~riiwKDUyEG96h#Gwoxjba03K<6k~ z;1U*8kS4~LB3!)3lvYn*ST>d~CEI$+56YyG2`oeOC{~lK(y6#%))g%V37ImnqjVIK zN`(|UUq;Z6vXU-=7Gg3^s?*~0IpbbWE54*z*s++5f^{_}2Z@(kfLPJhiL_Fv_wUDP zeKk~jqlipl(I(sCklO{hSfp`a)r6> z;uQ+rdf-PDi(*k^=10c>i}xA=c)41Y4e93+!NlfyPXPY9S=5KJs^f!r_S($}?43Uc zJ7#vE;Tq3rv0!a&4WIkm=kTddeG1)f7u&YZ;z!^8!?^fGd(mt)#yXs4on#|yzN3OA z$76<$cYvjeR;?=Gd)&XH8vlCj@x2aUofKlIRscU0qIjJbk4DHG+5T|xcYbcJ5~)vx zdy>W!!>dLu!$yQj&bgU;k#l;pS`RiVvM8}(vW2tvZo><&x&YgDEMV>EGL9WzM!!Em zcYPK6pS%}$@Bao?T0P89ZN`eY)`3nJ=yrk5I;htN`h(%$4~o&s(V4F^ zU#IwsxxiX?33uG{1^m~~{}vuS@E!CA>i~eQTW0a&Klw`h%&)&0FT3VqOifQbE&lhZ z>|Po7=hexeIa#x6O{)8Ipl+=e0ezWwGYW`Bm3a)Pn5ntq(`{r-AT^C-1o1kwRqlIf zgp;)D_oGMDI3?k_@<-JOm8)DjLaP7ua9_Q+Wd^OeN!;5Mk7 zP3FuhaS6nt%T^ZR<9@?;z!GyRqGtoXGdX2~vt1Ngh^@^+F&R<{7vm~+XyN_IvjRmd zic1He?K+R$DFX%VDU3J z{_KkRh?32$Znu~0^5Ab{J%+<|0ID*)nP6B-+-L>AhMwYLk^b0dSq*!Y* z-e8^qy~LQJRS<5-ATi@sR?Uizlxa?$1)Rjuj7yu!Xnd{#ov(+{{ZQJd8ppJ2u$t$B zu~Ffz3^K>CyX9+>G3n~}z~L;aLTNMDNHu0DBW_cQS+T_vi$O^dDDj&tbwc7GY;dgC z1ljVyZ5CYS*|V#uBcSnt_mwylZg9m}*MJgwMeEj3$d8bGU71ZkJ0s<9XH_X1 z4j`&7vMs@h*DF{**G{;=8G4~~(va(sX@#lAuoja8nU2a|GveT;%+}AOlK7?3A80t? z9O-IP_Rv727Q4c39|dkCEZod$VrI4px-8h`Vp3#ZC5V!|7vkYXc*ij~lWY}D2Fk{X zP;$%leJ3^9P%?Oj)m)o)5dt=4FlX+jsOqZ`jYGALRS2gS@^zZI*_?-U-RVLWQ?jvS zvl-Rz(I-2{YZ}6G5`>R+x6A!=M4d>5-rt*sYhc&xZtR)ggNeq(^FlN@aNqzw_OXxQ zJKy;ZoFlyMbywiJw_k-Vi3>dMsjWSRjgz)jDS&h4XjV^1qY=kts!~YDC|_CRRh0|8 z3X75zeQU&UN=xx^el(K9slugHL_$JNsT@d2L^$IpD727#E-@2}&)llS6p zzxez3$~XQDODl)LV6@v!TypUq{QUp&X1x7fufe|acA?d7KJCI$71^4e_GhVH8mLA# z-H2p7%4b|p(x#f%XN*xg#prlx-sIh=p009pa;|V$v2@jn+M^ue<4viw!Ouvj4!*3z zdgbj0TsH=Y;2dGc?nQK0)^W$J51=R*hYlUW)YKGS_Oh2@YHI3P>3E!Iw6QojkL}Zo zXu2l4MGu3bK&pCYc(h`#pCDUV3%4XYypax;SToPVg~)W3Q^GT66G%zs9Od-^3jEq2 z+({9uus@S^z$Zo2LU4sT+leU!e7nC9LaTMfGJzWL^GhN?f~Qo^7im;Pp`H0rXr+t@ zOi7TV{k6=j35^3a5jR0V72%Q!(Lhz%FQUU#=rYs{#Or z&&-(xX^1jG=q3*wcUz;#1&Yd`OI28)j46+d@M`ocTSRnFodH9^DC4r0LM>;`M`W&N z^7v_kTp~VKwFLy+s|)UJufIqwid@CQS)|W9OFfB|=fHkIJ^k z>Z0ZFAiyHHsiKg(0e*Vjd#Aepj#2<9KQ?6ORL+Gs4wHN%B2#^s9KlAujd+S>&%2!tBLJ97jWqn=i$<;FU0)B1dcy-602+75T5z?6L;gT$8N@V?(p0PWFd|ZN@sX?JqqLAIo|CJo#TUkDUJ`~j{P(Qt)2P${{1S70hX4Z!Y#Ld z7B~F&-^IiGZ%41+g>!`Yxhed}k6eYHd(V&Jhu&}n=H{jC%ZN-Bs4xepL z0mSGQ>v^}O)1Aj;)AG#2M`iGw7eK-jqC|Al`7F#yNu#f1-$J-@lP&^1$Vlc?m1jMT zG_hzGJs!gQFQQ=T8Ou_1%IPV3*DrqM&x3-~ElqKZkw(eTQ)}3ki=`Q3gkn<6&pE;FnX`KJP;|*|hbO z?3lMVMQ|GY*l-lN<^CM5i!2<^wh-Z)=KQ9vk28b;&TB3q4Am9k4f+BKguow+gylby z*byaCdi_BT?@}A1io;eI-;|bal~2wDL+X4lE1;6bCL>>0luhK4%^k5udfYIJuuSXH zMn+rp7#CqGjQnz_Imds$LmK|-O}+keDvg88ya)-^k)f0J>fVXGQshvs?x|*Stc{l8|E+k#0^TA z#F39JFKF8Ck_uN)pkG_rA_oO^Vo)|9A#lvafGk+I6Ik~(Lx=fQZRhOf))wDbX7Lgk z9w`r9?HPfXsD4wYs=*vzmoa2@+lrf#nB_pG%snwI9vHleycZM}3{*gj#3r0m*-g5F zE30H|CIDBpMHYw*B|7OvT#3N)0hU-6mpMXk?w-VUH!cj?C9`)8&xrku89ulwV}<+R zS4Gz2z&uZuS>jjBN3; zL{}MD3*G+1hNnotbZZ9ZF7CsYsV#8y{1R`D9zBXb{KG%QO*h>HfbrVvUW_05iEFTR z$NU&=;#J3V*5X@6zaHmEoP>>{DxS0cU1dW%tIpJ!Gi6TvmSS_2`#R^*s(tqrg#$7% z;W5-%yVIpWz7e4%cK{y8z|SzD&J{Z%$_V3JbA%sx5I>dLt=d?U*gE9Hck~k`If)6H zK*KekJ9z}mWzc3nhHXmMct`$v9n|fW-&;D(`%)~YieQN|U;k9TmQN9eoO8JNqOk&> zou79U#$;TPK5y-)@(Pc-D&v&8M~UQ{k!v?TEm2JtQMT5{>G^7uu&!UDZoS^D&|eku zoI-ClTCnlo?}#unKZVA08+U&FdstcNVs&*DPdxDiUir#bV(Zqel|`m!@~howV_{+* z+oral>6%y{^e{j_JF3Gu)^LE;mIjCj6e4jIjRpx+y56L~5}b!Yj3(g>mFFsB`hze6 zu?TBZ9kzC-T4rZaM!aRc$9BRcY(IbUlsj<_m%QS#<6de79Nq^df$!?tWzN%(=YGzM zf|a>uPMpP^WyYJMr4#30AFv5%oULI^GaK<7BiQfKfTr%J#)%XKCGSfWU&_}AL8OkA z=%$blObUVF-?v2Oka#_Nojt+>R!>nyg^JHDg9RN_H@F8p4h4T#ij=IiI#FavbJ9o^ zQS`H^8`G&_0uY_<0v|pHTs}*2WID$QLS^hGMu8mG)CeK2yQo1qfst0TIH%7cQ9_*+ zXGIx^MWG;~YNOI3Ryid^>$Cb`ON7I4Te#g7o>S1g213l5khPBcGOg(4y;fK%Sx zZwprDJ~5?Q9UEOtA906crSbmveK6oq?55Vcs{%QbA@w%IcD%{3hB9`0}Hv1AfMOAB7dctPZTN$iNERD5S5i-UsJ) z!^SP0(Jn{~Y_bzKkcg(7v;gR;l7DTNK|t9t>cSf##aSlfj@Qo{smhkpUS;RC6|pH- zI*cMdt02p`kmz=!a`9(UAtW$P64*7!JMGy;k*#c5;#{DE2$rszPB_r+zH^W z#nuzJq+Ah6&I?Yu?90DwH(NMsZVz_P?H*zXo@ZZ!!2q}2b{l^0_kIsYj~>Os{1krV zpIwI+U3nfRr`ns4PQ@HnXF1!z@s3f~Yf+D8sXG!@surVEkjnQ;l}FMlad+%Ps1d?d zQ8Z(Nk>Y&vJsY_0qr`B^iQ!3a87KeEVN%Gb3sR8YEDe5~;g{=a(5`i^y>qrmUnQ8F z3JsdvkQaW|o^81Jiu3S-E6&HRZSz=P>0)VV4gEnMgFz2VD@X9)SvzZmkyyX!;8_*yq2R@Q`AzE=KOw`7s~{|$^#?#`&> z-;d&VuiwQJhabQfZ~hcM|CK+$Q%4@cpy|AKp4NG#+frWQfwTtELF``G{)>%Rj|!V=$89k&6KV$JJ!khfdkmK zZ5yt<@=8ohOgv`_uZ|pMT2t6Qy%n>q88CounGpcedk?BhOOhR+2E9=|8cEk`tx#Yb zrBc)pi05E@^WE!gbG{s>k5M?gbI?6F*Y8GJ+_Pcea;@S`k|7j1QS^Zhnj{q44e^c z)jVZTIAoq(HSUsmB>ucYgkc(_y!qLr<{1_UCYE4tLpfAVZ`SXLQC;))hUt*IK=Pi* z0vsi}uVj@6VO)x&^6gqCI8tm)_4>|X{-f^7fL8}Ms)~>wKSRNbW5|GKAhTsg3l4P2 zL{6-knQ#(0=8A$;B`tXm90jxCg^9_;MIz!MnLz9_rr0?~L@(HZs7R`P;k`oewxRMr zjbI~w$HPghU@fr1476Opi*4IhQCVx<(+S4wJP**l3LZSw?O>e{Y=^f8I z=ePVieE2Xv{_&6FBOmz)y4?<5^Qz16)BoCT<>Pb@k12SMD=?4px6wFnT(p4sb+U>L?#1s@h2zN;5Jn2qNpBnnl#5jxWKl19 zO(TYn5|}n}-E*r4iw&<8#yNX@%pU+yu@>j9Se@81>Z>Ri-Of55df*Vg`K7yX+ZXS| zx9@lu%PVW*@;gklXRvGA1-Sg8*WiLJmtuQ+8zvjmaIW#(#5Rrm@Md9G-GgEW?i|o? z<$oI>|7*&09oii*0cbRyT`UW8Dd-pR_gp1aiO=F3&}@8PB4rqiV$jF2lZWu_yFQPb zZ~rSCJAMEK4*&p@lPz3z#f5nN&%6?^cA?tCqR!R94j_wXsn) zZePNv@8OCyZTvgyf8Xy7@V$HY0u#7$f=H0AWDlTPd{?G(w#XGu9LE;70Os=F>VQUdz04WTyV)6fW2HLHGhC{8 zE!k_Cr2uGNpKP!m8)OZIK+oWYCcRfJ3f8W4`Pzjs(3$BlAZfVzkyd6cg|P_|WB9E0 zNFP62G*z--;fIcM`Pp0)d-ZVUR4nr7m?8?-%Bfqi*if|of(IP0wRMDNH6&pSB_stt zmc^!ux*)6Z%b~L(+-syd6bZ+6cy3+h(bv96@jlr6eDSkG9v&;PT8XwHq%(|4RgjUo zoi(H)qy5Q?Ch;=j{NJEv9poM4~i@sZ}}%X`3FVG2;vA_v{ecj6R093Q?g$f#df zWst5~%L`;N*hLXD6S&mVT!TXnqP&RIS?=>%@sFtm!Tb>B(wG`5Yd*jMSt5IIhkEf% z*fs5gttPz!+GQ;Q{;1$MxI;_1z@f1oGLi!PP_$zu+Hw)kBTBfp4s<6k z10^_-fMY>Mq|QvVNwqVzomcL-r667)K7`6G%QDbXqatzzg#xNus{AtwtpzRwG3Gan zQq)%KGsPlHA=9i4ldNh#8LFmYmJ#8y@j)%c)iAla2+Nm~S2T&s1wvduIpK(V;=i8@ zq#dGSCT0`d$VLoLu1$EdMO9T+$ZY|r;*8-xKkEuYLbFlDAMx3>6JNZJU~30KUcR?N zKN}$pS&HEPH48FKDqZDeF0j7d$I9|5mX}WA1njvZM55MOioUs-EL!IVghq>b68kd zz{0`;wr$&niHV74wPloZNw_s|rgzBz|>W3ohnJn~ z6Tuy2zK7C4n9V3_8~J{}Q3$^l{{t!(Yw^oQDf+itK(jd%#9Phhy(nH311zl^!QJ2c z3jXn1pTQG{A4Gq!4j+iV@0=ZY-H-hMe)t_P#|0Oig_d!C^B7CfW~9h*{{2Sg)H;z{ z6I`ps_}uJ8*?gbPz+0+j$2y^UR9y6k&F3i*y(uF;REyqKk7rgis}L4)bAQz|#!p+* zAGNvSu}UA~-d$!!uiL{v{OzsyPw)S896h!SBElQr_(uHh@BS_>y67S_o6r3Y$<^K( zj;r zmPvtVUW!JhsNoh>pV4K+`109ya*VSc)A1gV;d<+$AC=E^VFQg}OwyS%SI|huI3MQE z?i|Pi%na%-_jzS-Q<(Hk21A%oa!y*s%PCBaDX}BRt(>1Q*i?7qfGP@76Q@U?IEvL$ zCeqjtN-I58dkD+L3TG4+!hI0>gkVX*pj$d#p)tp#aVKE_2pmIj4;Kt}={2gWx`oM7 zPON0FaZEm?SYQkji#%5r;>J2+3apT ziz8(>?g^r$oC{c#WLXxT|%C_)>T+=x=*D$v3<6hqH{CN2m}1$yf} zoH)9KW5q%XI(ZTY_dkh8A9@6jKKwWiKY17@j-9~D@(Q}$brgdE`h$V0?uSL7 z3^P>@Rq;K}x$s{qg>x^C&(F_e_wL=;w{IUVy67V8+qVxpcI?3R?c1??_ipUivEvyP zHgyMf001BWNkl}L5AXi>|06EB{9LqzbB>{1*>wk0 z6-qb`5LQ6hNFTNqEtM`VCYF+2^YK6Rqz zrp@zWXQbTVITe9pn6Gt>(<%B4oVlND-6N=qUrlBIyuiVUAf9s*o{nzuVo+ddX${}I zXFtAk^ZmH}D|h3&cRh*|Cs&6IyRx&V-JZh2+-_Wa{>$;=T`$MkQ+qJont`JRzOTN< z1vlE$Sx!uUw%)f=CdQCkWgjxpP!w;sKof0Xq7AfK&l^MxgVFDIaboEy-1pE|ar3wT zZ#;4M0rdKva;+sSF3jL{Z@3b#{iz?sORhK{Q!|sbc@|t#46FM6ILp>%i*|LK@VfOd zJ*bT*#pmVCjg|)Tf@%}%TPTxQxGaP;^?mbUcEM)>ZhgtC|^CI zb0eefRl}b%_v#`bEIlQhZ;4 zJ>!aE0Ey4R@wzJw$mGj;oho!w3)F=c|KlxHY~-T6M~zZjDdJf@JMV`KEU7z1dE`;T%6KG*L&JFPtVn{4$LDk8zMX{SF z@VYrmaL5&D?Ytv14;6+a)t} zgC$=G!>PK3EHOudqLAzz7}Q-I@M`bIAV?1RQ(8D3B0@^>I=g!#^#DWQN$oYlCk&QOj;s=`x44rF4TvUP zJyh)$q!G2rI1<$*3E+pQb_Z9yTnH_yh2nkU%z~+SX2?6#S!|}*e!#NI8(7_xITmoW zYUSUfT%4G7)g5N?^ot0y=FYKTv$I&7^PT?@w^Fd-=#wsHD6w3&#T5iyVUv|nFH9Eb zc6&H>_!yoz_ynGM@(3P#_;Gyi-tXao`yRp*2cN*n6HDm#`WOuQW#NjIm@UVc6}PiO zp7=8>n#qNF zfBbP=fBp6N%x69WBF4|X`}KIsyIzf*yB0@=ZP|ltJVvFWc%^!<0mYzRbge(Y*O{xw zQhhVxx7@aD#)Vz$w%%xmIP#+RWP4f&OcHeuquQRzQ-;UY(V@bRD0sa6SoMX zBI&Y@9^^NCr$ZDk3PxwOi-Y@*;(K@R$6a5$58wRiJ$QWo5p=pe6oaB%j~i&Wr?6wo zKD_9H>u|x=OR!^N7iO9>Xg1o@EBBGxz1(;9G`woJN16obc%oH#+Idq59bMyW( z7`$4?%_o%eqk-}>(Vizkmfj9$MJKHmJ?G_L)@OYoYX`axX%$`@i`VFs?*s11@F zqXaV6yz_LW{aWM7_M=?L!{WToz9K-R>NiYh5IN+o^TcIX}Sf+n(#7`A~7d4XvT>;(ktJ$?Iv&|cRA;6M ziHvZjWl2Hby8r_cf+-Qv>}OLtRqkQ2d}8rHI^rPQS&XX4bH6tp_GE(G<6!thL5HktQF~tPwd_3*Kmt#zY zo^lLNy{Fvq(PFEpLR8OYePzZWC=UuF^UTN~R}>--ue;pm z<^D~f5*4r%rNHd}3-O5hL8Z1+QiL@kcn}v673feE6dH5*7aqYc-kIYRi`Ru1?%}m7;sKZ${azm@PcGq!gNL#I(fxSfz6WvJH*d#- z_dSFohmT@?edzA?g0y#!4J&*OjfTTSyNT(k3Czz;VPSp-TNY=qFh7my=?S!&4J;RZ z(<`L;MDxuS27>~<{s8OieXMoXadK%5%gY^{Tw2A_@)}mx*3s##qhQ8hP@pKHXx?Zv z&}y|XKR=Hbyx;}6_S$Q4_0?D7#V>v__U+q;$;ru6Du@?Ffg5kU5$}HYyYavS4`A1h z1^nuVe-_tVcL^pYTAOgR)wez8TDPe}N382|$RGDMuBvAbc%yKqNCju<_~vYj`e-c5 zhMd)zyUB=^&K85?f^C<55+Wq*(H}1ocqf1y{?+adE15=Z8*uCQ-y!iZAS!E_qMC?1J_-Oox8WxqE9w5cT_*+Y4GDXIR!PIgvvj!DzS}Q$U8k^ z?5O79s_(B-gT^UWp1#^rRTe{4?Q0|0lPW>IUN9fGzn~6GMq~UvQ0K7U%sN{zqt_eY zzy0Oc@QMHMS2%KX3C=mZ_O-9YCqD5BoOj-N&kHO{{<9T0-aUb1YsawG?-*yKaHFaq zLQZiOcBBhL3VR_AHHek~fci>a#A<+3)GoA38eH*SnG@b{QRsp~8U`pI6;^tRH<8I=LwpU*a+WOSEDu~1 zC*+w}A|jka!g|*ZWL5!xUaRu|E{dv=E`Y%O=8<(r5)Mcuq!LFx1W3ai$Jun->rnH& zC=5{2%|4<#2NC-b%()Onogy-)GXz>)8eK)6^GM3*kw^f*SuGi2}hnN)j`3&|1-w6&%u`GDP`@ zkaHi4G-pRH;2GgtWGp73ySfEQRGa}Vh_f9JHXJkE-UkOujxmLFU>9YjR=-Cr_~!P3 z!4+L-mXQ*PB{~Kf?vQ8Piq?!G=eIEThRh`ELl2ZAIuvz8TMCfvc+izM*@9FCxR7?e z%YBrpEQ|Y@Ob<4+GJvQkhMiF6u*4Nxd9gT4hq<1UhoW&&0PEc@jvhIICk`IM1NS|M zJ8ruZw}10HIC$U?)>hY03y(oqP{K|3%z1{%DpunIgf-|PKK0t51 zk4|SDy-pu%s~vP#)^YO45{~abhJz10iANrL3P+AEW398Ugz<@q3CzsQ;Npuf#&y?S zhwHAp4p&@p1$OS-iB_xiv<0cv)m8k_AN>*D_rCX`(^<8Y4eHZSEZunX~ zn6jZtRmXM0m@elr&?wbh=KSF?+0)rM+YZqT->vSwStq!4h5I>dTw#R95x{Fy9_9QK zxRg=i{6^)8aix!uia^FPJ<4%@I)&qU=^@wiP%U=XecVxk%;^z-7`^pAjvPLT@7;3% zcYpl>eCKQT;jVig!^&zW%t1sB4cElX^cL*heJNhF?^>Kab1t^Fw_>I_``iuGJo7ca z7!Drt!lx!d^D{uRg=h1Y7CgZE`Wg-&e++ls_ho$R&cDUcqEvmY^*cD$8M4Ef2Ps0b#CH~jz+_ag zsaJ(M$=kjZq9p1v*x)L#AjD+2!w~(`gTTO6$lS#wl*q^lC^7Gz|jbt zj1ZQG&rNQ;2SF7s6)cgt;fhZsLKub5o%IbP>pqGsGQiLJ#G%)8kgGrjT75+;Bo1sHAVH1M`Gh2!&x(Oh0 zu-idYA@(QT34x)M6aTdMEd^-E5KDiZNrntn2z}+xw2M+v=qkA_gvgr6U{GLvy^CW< zPT=uJ_v4ORzl(3(d@Jt0^FACudc1Ud$8w=_gjTbG`T1#_yLUS-c;VUD@q%60diEmb zw#;CDaRv*EGg#O%gNccj=FX3CeA}#6;M2pqYwLLO&@mi6yo}?Am+;hMNATpmhw#9C z2k_|Qhq1iULBBsN=eJrd?AWmb*IjoV-tv~W;1#cU1@`XUi&m?(>COB@4?TqUzW2TO z>}NlVcB_GR{rX$*#-DlR|Igl=N5^%ZXP(ddRTY53N&qBCa2F|3)?!f`wb_d0U2+`9 zNypCS%=GE_#FOqxW+rnw$(cTx{v$m(<2h~jB=&fcXinVr>2{RGOBP#gTec~ilC0I* zD2WvJ9VCc_*b1n+-#dR)-S58Na+d-?NluJ&Y>^;Pb?e@5ectE$Js4cum%BZs+8ht3@%6!8tqE@V_ttJ6r<=Ck#DDC?a3Y}E2^#Egvcg~I zFJ_H;V-e>s9>I$TAI5X9d=pcb&m)TJ&DE4546f(apowyqza( z7XwA)`)l+1T2cCZ)|w(jWcE)TWrQnd3hnt|CwTKm7Kt1g3Rcm{Yjwo$EFru|&}9}5 z1wbYjyd7Tn%0%yW{=I0qg$wl+6es}cNaOIqv-pqy%NOwM^G5*y8#ivmXFl^8+;`u7 zKbBaOaKTPvdT|<)wMon`Ef~|1C78P5d(NqBqVOFyj!!tEu8TE|U5HL7A-PX1blNiB zmzt0|fx~3B_L<=VPzwVfgABFrboN5_B>y*HkiRWogE(UviC|d#gl`2ip^)I^ye6hmo3@>JH6Ao4sj1JeNJ$`g6=_JE4(yeu9NQ)ciX5NmKo69WWO=DCl1?sa~~2p;;b<2CVIR~872$&!pi=6uh@{{Ot3=;>`9p&cDNSRJ1ayu#G*Eh zC}w?;e=jI-zZ|jFem}A*e#t~_BRgb;&E=pW$DtuVNX)HIUbER*m4mHvA^IV%Nhp*6 zPLHLSp*$O`GzF5WEvhK9}1EAt8mH-81} ze6Gms3e9<_lso~Yuq!;U8?}$BQSSQ}b%y5!v*pXc1w=Wqx-9CH=XUR38$xnk0msh> z$SD_5w&SpfaI@+{q-M;|)o|>{7+!tuI1W8|1keBID9)XqL~U`YH8&;>@vhEZ3=V9> zj?Fh?+wfbku4@DXuzqwN;2nGZADJmW!NZh<|r! zse$kO<1_e^|NTK+9KUR^D4+SvXK?k^SO3^zQPRF@u{*prjff-L&7FpIVEeqYX=|2< z?gk*jasgWpf_-r^&AlpLi!KK z;2$H0y%TXXoJ854`rmaD7jXY@$YJiz6RMzt3~ffmeI8GnEh-1$j#|u9^gkvWzU~Ya9%s{nT#qQm^@sW>w1Rwn1 z2eD(vj>6pVxw$#~>7V{7{@@S(082}Y_|W}(@pJ$7er(&Z-nynN0W$k@XUpfS*+P6) zdv{Lu2qzU0rMeK`NMwqRG-hWOaQx^Pj=g#o2cJBGA3gON&YqjV;!+(^q>TedkwU3d zL3eck>xQ;r$EKUGXf48Gh9>AkM}Y7fAT^&b2Bh=XrLLGc?BC=EPkK8 za0pMm@HM=A`1_cd9f#HtKtQEZ!pOP-y!{<-#qIaqh#PLY3PZ#FP-O*0lq$~_!JzOm z$Ci9)G5a-OZ>9)SweYUcPje* z_T+93oUO|$T2S!!e2YTyGDu$WNHb&N;tam@ClBE-zxZ7&Ej3WBR`I*P`@8t9-})^K z4i5g4%$Lxtae47FrWPkKSD&{9JRxQ~M`X=6T=a!;d}^`ZqD1&%qNZr4V24OD39&37 z$|?VQo?Bf6_E`^?7^F#PFpemm*sH$9iMJT1#Ximq$Sk@${~nU5TTZc_Yc z3ciX&prt0Lk{wPak+4Z{X7j@0wxtvc`~-QNe5*|b+MvnbV>nn|n?r5mDCAfjc8|u~ z?a=jDg0fp|X=xg^oe-9h(3&ea(2kLQE?Md(GWXCRp~0ScF&0^sa%W-o3oQ`lSkV?C zvg2G`$jzb)S2yibtn4(n;0Y-B7!=p&uhJwJwoiT-{grINJI?KMkwtlvn7a+}1Z|bL z;f)zLp!LO?Rg=uYO(*zV^r%x=va3C8rIy;UhqkCjj)mVu(F#tumw}s9bYkYXJ3uSj zB5wpa3A;ApV1h}B-&1JyR^`eZMF|94x?JSu01`J)Tci!LyD4Kq>f%LWt~xmdU56J9 zSCeOZX|A<>ti=RBw(cpnM0Cj=3UB?%TPugEUD7SBMU|Kwu6RgeNDJIF;iuAZoU`k& zk8;_o-q5cp5f+);Um>BBMXUik&jRp^6tYTgCdAfB3Jy%F2}3OD$+4?kiDP#RpDD)4 zv}?~JDq*X6i21lYCf(&Cx!ir$R#iM+v|08DGHrmFvA9^r`Lknq<)wpo{0C3q@$Wx@ zvuDnuQE!OJlh9EqW9@JsZrZa0TW;BgEpOR?(XGQ6UfYk(&JH7d=lPNB`VD0=39{*l z#YH&RHJY^bmug}N~DV{cXpvinWX|d*O}E+R$7=^{^t&a z!4i34n7#lmf^R5Wgt^k6CvQQ@H5jN2pr_RHlaS3fs}N2Ax~rfy{Xk`P-I@%B zjvAPm8^`f8FW^TnKZK*Fp2hsa6r!ln3WrwMI68#8@3|g(-+v>nzv(Ir5BH%|DH-N> z-a(>tPi&Z%3M3deW<+4eg)Bo3 zZSJioi#V^#!h0wYnPhL;ZFjD~V-TENDo(^&H)qX7s#q4XIEXQl&fNqx+EjJPDlkZ) z*z5BS>HtKEjs)RucJZa`im{F`s%;@RwX-lxMxJaR>f#1HI{k!5+v7~ z=tizF(b?HiSbQRO+lUjcD8ytpXp_jN0ssz@mdR$j#{#|({-vHL$9oFsX39E@pA>XV zrU8*xFiQC5$$j^*IutG%#N&lEh6HjK71^1Briey@W)Zi2av0(4zduR6(lrT7gRx_3 z^~fDsvg>2Lm7Bqs^UC-8VFf__??kh001BWNkl^dw2ibYl|{N)%0ivw9&jtp2}t0X2nNb>XA;;uOaGL{Pl z+k`JgUg_>8lE;$B8e~Gkb^6+qoTF}bX^dRF3X%?~M5W969d}?S$&M$d5a9FH;`d5U zS0rwIcHcu3Kv+8U;{lP$nxJLEuVy=tArAV~S_vn3^BFf95vHf6as22>JpIGx@PqF@ zidPRD!rbhf6>M29E36yt$8EP>jV-rs!?x=-VbivC7#!|JrK4(JTR z8GKExH6D575&Xt){05F5J&K)It;cWthmYcxJ9nc}DS3^7t=s1y@ zlr7k-wpQG3k97-jm#612c5V`9Pmbfn!LvB_+({ffbOskLPNTM%g!?9sx9Jq`>gd5> z|0uR@x)Ixk--4m8VGNYlps(DAN~!ZFqWGId2rrjF!-GJzb5&kabA*M3%eXLc0!L0h zjTa9-j0=~JVQFarx+M<9;`ck=vj=xX%5G;I&YCB( z$jVgUb@Ie@IM*)cl=fukywY!Wq-R?GMX^u1oYCmYd}RsaD-pT#LNxQA4doV;D0fxl zF97_6mT>PV!l^Iv521JC9e)OaG)Tcg$_3PK8^g3ae-pDUz z#^t4HOf5`ewm#Pqcif_PvIi$yAN6i_yr*@Y#tF;X7Q`*bv~omiOJ-pEgmH??HQrn% zNJ%j+sIWUV-b=^AABjA-MAJz#wK*cV(->KP&wM_%veTsDQn{m2{O>H>?OuT*{hq)P zl!HIVK2O^Sz$A>FE%b__yfI5?3hbb99QRJ>TC98GKI6C@aiUGRhB~QkctME{{deBRjC!LNv<|QwkJD$T9kmtzpT6mTQW%RtSL`N}kJ|Ej_G> zNlJi_@NZPbL`x+dIgFU$I~~zwQ)}0e0k;N1 z&O(7=E#3>LRIpJjI=~}}T$UIm6SO5R0|DOz+XV=1cPyU)&(_~VgA#j_M&ejfN<(Yq zwLKPPM;U{Wy6BeI$|O)LN&jSL!nZrR{EV`_+U=K8*4OeGMGcLm+9J-6UBZh$dI^v2 z`yrls{8?N$e*sHNb!))t>#gF3Yq#LqyLVydZC7FQ_7M!P>qVtQx}ACTM9+fi({dym z3%>#sc7)p^He+eAjx(pm@xr5r@XR-!$BQqY#Qee%%H=Y4@4f~f``E|uOTY9>7#$t; zHX5_Dvv}~q2k|?<^E+5vT);;^d^g_rZ{CINJ2!X}<8s45!*Q4aVW7x)^ftE6VX3{C zUhHx6-Op1bVGVvj=1SUSTkd8z7&Ak$35oI?5H|=^_};hi_;Oh18E4Sbutv+05|;l= zI8}b26p_1#=tRLqpw(CK`eISCiW$s|#!`fdOEWlgY8+!{CUEBP7*4!&3I`9J!Ptc< zgHF*p9`l;76f?yK`bMy2^m=Srdku!V)}p^-0KKI?beFnODph{M6@Mc{@R9-ztpR$L zA7H0BLTzyl;}a)w{Pc5p`N;Qi?!qC=%}+sd!>qNsx;n69`+D5@&bQ*WcVCZduHTCO zfgUJDg)kv*Z!aRd7Ofi=71pzy-`OKkSdt96yU7wiDfrpbMeelkg-0y!G>av4uZD+x zC4rdBN2cUWDQV(&$SI!X9>2npYN44nERyFJAvi<$UXB>f%$S~>!{>_Zf3 z^!NAUlb`$~e)*Sw8GU_y|E!9iOVJ{x7AG;aFog&Wi^rU-7uY|c>^N5`2*VcIi&+cW z4m3}wg&j(l;3Vu|Jx{LiwN~3T?TF?H&Hx?g--ocnlUF77^W*~Ju=o10TfHRQzb!sI3(;DsfTP-&PM!N680RUa*clRorSmx9 zn+M9vP6(vLkk|zi+hizb(GVJ#oOm>^s37`-B0CQcae+y}V_UmL9IX>)bO`O71aflA zh21*2OimD{(`M!A1+AR`PKMVv3}HfQi$e5vg=SDFU!bYj8!VKo>k@kzxj~1$C=8kL zGuDp9IKy(>WVTSoRGV$^g5Ga}C6h1#^4DoB#8wSJC0ra6q-h>HS&U>~a7Zd3J`l=p z_?CNIb{s_>->O-CP)XHHxVU3fiuF4Iancrk6{yuylBKK=_9gdQyCbe6YG{FsiN$wC z?rEgpfS=_|FwZZ`XCNv?)=>gm8y15xc^w4~gU4t#@_so-6g*2kd?8&{0bpMaIacMfoa5{*-+{tT9B!9bF>I`T$l19gA3eL=ST~8w&_|4j>KC; zq)lGzBY#Y|spQwSLOeN2(sU!OF*iGp6UR>D$;Y0?_rCQ5yz4i(f>w ztBjBT{)h3dpWTc8HQl))cv$#rS4xu(G71a5Dd*bVDsKMvK1&qH5&{t9!BJj=5%`g; zz|7?ckIVYy6gGf+Evtb=0aiecAu`Al4k;7f%29|%%wGSw(v0vTeLo`>GqaMCLuD!~ z`mDw?Eb@1=B+-mUy@3m3(-=E9iSwr};mqOlIPubH9DMBzE{WhIZN;L8%ft zDphoM^<(|o9oV}5daUc+i0(=+y30N2EBB$d+>5g6_=#iuN{ir1fri%r-Nm`!O~&^E zrY?`+;>2;BI(GnvPd<$c<43Vjn}OC1Gai=93Vpp*+_Yy0Zoc^GgF3qsm9TKs##@^+y!HWyqMORduxe84R*LI6+XHAh8@JemA1g#mbym$it=Wl-= zuO2!LfN=Zmx8rl4`y6h#;RaMHm49}_EQ2w#co|c*NzBz}g2JJ`yym8u$&L_6usPoB2y{v~-2+;RYk~|JRM-*flh4V)EnH}P zuvU$UYVVmIjiBq`Ac8#TjB!X=WC5G;F2!moqHDQ#cU^yuh(WFrF7d*$ov`D`&v2{| zIirg>QXlieN!$PM%KrP)UR1mN<7jeHrkSK#D z$|w>baC$yChe+YxL$)NLq?-NxuhdiH-jFcN6F0on5JU5n$=P!q_Cjlu;|DuVaJH@| zxP1#wG8Fi^A~RmvwvWJuV4u&0C%Ti>T=S}*cewkTkdyu zB3(&TVC0b_4d+;ca>RL+1VUOcega6t3aa!Ll9VvL%>v#IrbdWkopi9+h0lh+u3H0k z^Eg&>Fo>P=!D<}CLF!PjBO?I*H+(hN)mmAfVehDmKS@h*lobVzrd!>}sJqQUHtEqU zMrX3vO0CliZV!h&`AFh$ zoH~9Qi;GKOW+>Ifova<|$KJiWu;cEXxcbJe*s^^ss@7!Z7V%|Mmk+#i~ zftjI-M;`7WP2Q3Y@c7xf0Tb;Ckp!SrE@9h_^;rLFgV=fFRy_9CPvScdKZohdm+`f) zeGNyC9>s6}_HW~z?|diLty_n3xs3DY&*Rx=p9QnVmQ8E1dDkeaJsn|pRK`YW`BGs> zqz*U^SYcz+jW4i-sUdr z?q@7|SV%*D9FD(m5(i&v;!_f*cmuV? z8PpbMFfn}=2ai4mQVNxFCptTN(AP7Jk)f-wVQ4%0t3&86_o72}qFU)jr|LwP>Oyz9 z2PIYhiFy1TB&s@O7)ES%~KY|lyp2w+kFJoqI982|u*8CP9eHJWX2xWyz-Qr&|f?gqF3U@I%tlh48dGYMMxvC9W?Y zaZ+@)&kG;TJ|7W^jHQfckyZwATY!8@S#xaYmMBHov1=6f|MJ^$;*(#+{K6uhfBt!V zAEKtr3L&&H?my4xk<_VQO&#lM9oGxM7Qp(j>--12XMFCW4}k zVvRAe(s1UtZy#-;gfWW5sdSlvW(k4umRV{rprCV|g!#(o2s%YrgCnxVVxOaTaO_BT z^qP<}+UQ6^w`zv$vAOSoC8slP*luo+gXpy!-0_-K>P^jkpA@9YLzlV^Zl?$#c+&2; zWrPz;4CO>zX0iiFg&UWxsYNCVgu)Lw5orU56jSNK{vgO8mV~OrzTbWGoy=1Yp zt?`-2Li$Z?X64|D+Y%8IQ7029XZ!-zi<33U5kN>H1SR^s6^oR=25{2FSY0$2)OjMjz6M} zK(Wxox>W;deLl_bvh8F(U&zR6`kW)8C#GCV%)LhE1gJLC;Du zur^AI4n`tK)DA9i*<;?MO5SND(OAhrmiVGFnb6VJbmLT7nVpnc@~b}XDltwoRt`Nz zr?C}UO0*ejTkX$O-rRvwoFT=z9{EQdAh{NMmwh z2K)ZuSv>ru$8h-Ad1wu6+_(|H@+-fBkAM8**t~f&9(w2@eBu+Iz|_h4WLGxHyCJCobajD`#=&)l)ckeiAdY3kIJOMOw7aIQU0_NI|I*D&y~KPIQ*KP*vTima9;z^b?UhtHBWgogJW| z0idH|`hOJFQCpnF^vng!%#LGx@)VAreh#O{UcvOt1uWGUpmo%mFJs4d37s7kY}z=4 z8*kcyYi{3(t8dtX&0E)DU`;p5m9m913puEL{`B(OW|oIG{d>Oq90ius;nyxEey20W zk+oVuR_;K46lihbI?MrIjsV`i;2kRdr3uqH@h*j(-Ff17F*HiM4)3B1ptSQxS^v#$ zMF5t;*U$dansNH%Mf~ai_8=bK_X3!K-Me?=fd?MI-o1O#+1dHeeh6kTW|w9#Rhz)v z(v0PRm1aMv1d(Fxoe7R<&K9WsMUl<)l_7n0oA+7c@_Hl^!VdLJTv!xnFr>nmgIFky z-L6W6g|ZaeW#em^0uzBC+1FcKU<-Ya2#g#hnu648gTQo{DOUN6=NNfz~;8Y!oQfWp_zyfUjm!MJmtUosG7d6CzrwS6z7u9gP1pvyEUNp`4eck-${Bm_6Vz3za_!OK5>XDDn9k z916$ZQNm?yAEQV*VeE(|3;Hi{CR$Wd%#i{XF7;TzcLyF$j;zQ8T-m|RgK7<)u9G`X z9B#VY-Hsn~(3_u|q>GoyxM~tq2qm3A?gnwkP;3Y3x@)M`H7Bpp`iw1Xh4l<6afq`P zm10V&BevUE;!(&e!^VwI%XD40Y8$c_kPwVwVY@ZyG5Lo<A^-ml5Hw}ge5OX+nMx2hh`-=P7J^;9$3QrP8Kv>V{oJmvkf=4 zZQHgs=Ein5wr$(CZQD*Zwr%^)`&HelshasQRr6=MpYGEKT+=Sw6$8blW~{z`xIJyD zl<-)BXMLU|0h|0JINjW{KW03#9MXQ zaDlD8veglJSZcDb3gvLmkJ>eSg?I^%zoK=>-qG0TP2w<8B$4mUX`&Df4w8lDvJb*v5{f6h?$7|3nIUN32eC`G#7!xf4aJH5Op_{xqj)WM3aM zsr=B!$sR0ykjliu6&+A+ZwN?}~{(G90 zCrq6XwL+w#v9qN(#wcat;0sQFlTORd9C|&J%;I+iI-$oOx%>o6NkK=N&O;{~ccv%}+^5s7!aT19KNy z4Rh*o7ATkyjbU)A?>3;c{{{HcfZ3t2jx9@bx=kH>=_3}{%u`)=27G0u)r=usaGnLC z68krS0ntU{8sA!tpyBSo_+vB4?W)6Cw^xiaiIGR^TuWX>HT=7q#=9_NY9%ev8T;66 zoYl}bwo=Pu>EY^~yfpS2Puz+*i*tsy)FIQ%7MN#aqcM67nyoc6NMS8YX*_OoLSRYPRYNn!iY zu)B2ZmlT5hAbq4g`R?q5oZtDQpCg)AJ=QzQYb!||)=a`u6Ic63qgL$ptk=IgVwr#9 zw`D_woVaJx>zic09FLnN)`-RQ7WQ&Hxr-A&q$mnR3I}O8Vp7?uBvEXJ+^zeUIWZ*) zTIQc&PV#z;Wk{HLLVdH2M&)S3dZ*@;5o3a{INt2n-kcRtheV>)4R~@gp{CUiVtbf= z5bFW%=sEND*l{f0Y>!9&m+@q|LL z+QncthwrpZ<@VGl*6`#R?lt=7R&mqmgFb13{hvT&XnLzR{dMX~Zf2|b%*RvT%R}&6 z!Cf>Jh>cbha+t=LS))?_YsIE#W~yrVtpxkZAVAy1Hnf2Dg2066R!T|vM+`mAC9bYl(Hb}$qAejevv>cC@5lnv#>*5M zS<0}ta0Znnz~Ucyu$b1v8yg%<_U{7eJX&0u(9E%G6;Byz0C4*H%RSZ^TIX{G9|eEi zmvOG?R0gjCz-egNkZ6{aFu0|3#I=9yzYQ6iV(L)o3>6swc0Bk`=1_naTuosJ+0;3g zb_UMi+Z{=p+ZpGv<)V58Lmtvne^q}0^!89FjguM=Q-clAicT-uhV5z;U8lrjHH67WqphQs|fp+MXp&a-KlD9A3W+?PYaw3tGl|flkww-&;jPg_N}or*Ntf8 z>C87hUvW2GKRbL1UNPUOpMWz zyElP%?4J80iFtF;)i!$)e79ZTt`oi+AqfcxpZg<$?6r5;5=)e{>e+Q_wLBiF`h^L% z1Xvp>90;)w1Wu1Z4ZgGf_z}36lIK0HxUHS==|H(Rrc-x)J#wXrBSADnpHm=%Di+dL zq!uxo;(kr{ece}5$+o%^(=seMXG;VsTz5LAX;sn(2RLo-$oM#rBxOQH5WIe1Mcu#n zhj~FLD=aW~0&6gtUyW0)jx{TschzRIdB|kJPzJPY#Lb2Eq#h7BCmmX}b#j87*m8E& zw6MAKVX!k7A;(ZuInqezx0nbcvIH;!^&p1sujT!y4*mU0U_*08h$*-eTcN8(+~h$RRr zu5%k2{$*=n+k-Azw+cMLiCt$PufsmXw=uqtuu6fvW=b6f<@kh>3b8qHl47oNP}<5j z26DJVwQ25`fx$)ASjC7pp(IBJR)T(sD!NbWO8at^CXZjC%HANyY;-30lh`~BpGo7? zG>&pd6r|j*85=8Df3ceKl6E+>=-~&}&tMtxB}S&hiqrY}plXFn$$*jsmHNA^mSDS=Pp)`#GL799>+U=OzC*tBi;Prv_i zF0yy`z~AvbKD24DjuLg`wH%(EA2B337EXNHB&!xKC#}1fjR&N zkT@GX_&``52FMnvc`WoxS?wuE*Q-Q<^kPs$*nL6+D$ASx%07H(TGB430Fo0}#43}z9tmofTII+clyFLZ4UJLMcMP<>w06NIbz^0!p7 zf|7}o%VS<;Bg9wt1!I>f%<{9XsP76P_k_-A9(>XtaI)e&g@6KNDU|?ZV)t+?o5>&j~P zGHq4L011$8ENVy?EfN9nP@+d|f9OXUIJsPZt@Oh^bm;^s}Y2;#O8h z(Kb2^h9py%%d05SHQ=zfmy%P+D0bfzhikeM=;g|22PqVag^~ybAtso@hV=qdrY^}8 zLVRkx_6ulwS_h0PzDmXYFl=mj0Ut!)M}aT!nXGI-CFtH;m|j15-}gnpt?o*|vA z8@6E4Fi}cPk73hf`Aw_$1*fc-z8DmLezhMB`~i~4f~@`Rc9g%LhT3;TWkbfuW@Bbi z17TIq2B*Bo95LN%NlMOZcg!Tgz)$0cTd%u9<)Ka?6Aq5eIzLZoMmvMML)XtloAnW< z>C!~4&Sg+DgYvle3zl?(Fk@I(#q^Ae;rI;s{!kDagXfK9!`w)HWPiC4gPL$d;;xuP zn=7CWttwqPElgfx=!0w;ve25%KM9>;P~-L=+40)St?{=X>Lyp%7Ls+O_tjDpOiTa1 zQW89U`sPuBQxFEy%$6mp7)aB5Q_R|7bNa7YiP-hP)I;+`U)+&*tU`#5rD%0naujn( zxubk%gNSNIq3$f3mR)LmYVf6w}0Tg6AXF2uso- zP=g(kHM9MdI&@%T2-Kmyv=VnaLbv7aX<-yIxPKSYfZIsSjn@N`*PFC&>A z>RUXPf)OBkzjyR^-%(1oo&fcLFB1BAH?Q*NU zE|2#e>?W0jqUl%nPx`?a`SYd9r&LcyX5qXR0gK7++A4yKP#DUbgok!B<_Y``mecBK zwFVv)R9*~IbcO~sA#ZPFQ?s=CpO>WMa`OMZ&17Zv6^CO@%`7X}vcmdmLm!f&gVrm^ zN#z$wDO5xyP`8RcK&zAoAtwt-u?^cPO)JZ*`~~M8^;ILJZk7{eJL%m%N0cfCoWSLh zq|qpq=9sqSE&pA>sF&%Ccv=67ly;os7AC1EM4}@Cq~A6zcTo9p2#6>TnJ%XoN#A!Q z7H+h}A(6C6k%1RO0+1G1xMzTeCX&@!JAS51tfBEDVTi;p#-cQd{;pH4sEaV#Ttf~7<8agG*3&0)YtY!u2}>B;*90@d zKqOW~_0NRo$8c@K;`B?&`H?FzqjMs*NlM~KMSzZn`zYoeD8lyBg>s(lEPQG23m0%fO-pqgt!dmTtje6tm`vY}A96_oZ}75Q zh;n{l=NsvhwGmacKoUgmG@L3KbF<3$SjbYiiEokfY^_jDS1Yo^Q(ITCQeqyV=MP=4 zP?3^*R}X{9izNI;Vkk4|$mEs-+cvJR8OkKD-hjN6vkTl)?021F&Z-~}8oMS`KxJhu zKTM17%V?Xie^@h;bHCt21xAtvq1OOuBmRZLAyC*~F@|bxRLyZ?&~Rn67d1>PVMu%s zG(SjeJis{_-`1FkNAzovhba6~4Pp8uOk-aPw>+V-)=-cpPyvdJ$P?FYt#5Uyehn%M z#_Cz?MpnuOWPB$he9oC+Q-lKVH@i!LsvXS+#elZrhRUTTXf*Q_wdX<|I@LWX=nVy8%`~cz7Jtq%yGr_nmPONp$*|2JhRT*`1o+Cv}e3r^eLm zG!FmiyR+r(v!`v}(@iJ*%2pR1C@9~wk)H1HUr!LNFNPFTAX zM?4(`BkVuKRqsL;g6y6@(vc47gr>fxdQNqMbaGmUXV+(1bp$64g2sA8&w_)Go>!6~ zcfT7Q$NSC<+p_U?p#}Yw71abG83uxnrs|VfdQ+z{(NS95Jfwj6x^+&^s^7bFu(%BY zULZ#I3$*llHpHsOW|nPEKG>-51koXjx zafopAVnA%7iOF-?E=%IqTLG38to%PyQ_A8fk}@iXRLu*%;F=ofiY55R7iR!hS3sNt z!RTt)plX9R$UmR|5l)4Pbu-lYVkK{V3+hh+`bs7Y^vcythsG+cOB=gt;%|GafTgv3oMRcb%jcwRPa zNAWCqY?xbrI+f_VgR;iR>(F+!EO2?l@>DJuPF?BTvsM~C2UAkWMzEI_IyMr80D419}{d#{E5a!gac6)r?5!j>Pu_bc7 z1X|y#K{KT$;>#C`m|YG9HIAjXgqZ`v7H69-zo7)sN?9bi1B zk;a{eOSo#*pcH8u#7aQU$ygxT*}(py8=3U4*jFZ^sJ7y|x@qc@N1zHWV4M6tLfkok zI;Ad(ffn}Owuv^eGkrf*v9ZOFX0V#-n;t*E04M0^faygeH)%*fvs6s1h| z_h;+IRA00V9|bh7*(Jad7I}8YH8s1eprt-Aa7j$gpgS@IFf_=?92gpcH8sOv^GMuNt{)RJgm=^9`e(`;2HiLZ~H0L#jTgZJfMnnT(c^>xkkFW4ILF@YYWa` zjT7&nYkdc*gWdNuK3v#iRFW`Qa4YcPQ4d92($#;8tI(oNBcOX=sd68jU|Jchj`GuC zW;E`zr8x z86FdZ_AWd#e#gcEQTzIUHTvb>-EziV_WDoc}b1sOS)BS~$(~ z<)+w#f~?qM`+iGsL;1j#(u!2U8AX1{`a?}?MKmp>WrkW@!B>mgfyC4KrQLwL9p9NT zCQDni!!l(Kbq!R}o_H>RX8uWh-Km-&ygV6RuVK{~!`<^}jJf`u-^%t%KI%A@W2HZL zzkNpqf4PWh%(<;k6wq0f2ZS)S-IMqyoP`a~nu2QbM8?7(T~4YMNoI;Tr0Z{?m2`$k z_{MFqbPTv%bbGryZ^sSP=bKrNpPH@*+>=M5{K}f*h*s@JM5phb%cj??R-KKAz(jHa zU0DgI)P}=JOFxwB4hdXT{KcLHsFEBF>QEzY@FddCp*D-XJ+{2pjR~&rGZ_Bc^FtdW ze{|0_HUH~_>;BizIo@iM3Ejkzl3k&$iVBS9MTA1a;B~jcqLZA%@wTyp_}e3#zE4!i z3zm-PpVM__Y>_edZrs-QhW3@i$c=u>sL@Td`>92cR#ge*F|H3emDAOi3mhK0Ylt@b`^<2 zd@LkhabGrUY{t#Iq2TQ@i7@QDA6BO#BsOB!bENY~XFKWNvAwZn?KCP!$P?LUNjy@g z=VzkLrIl3bt||Fp3e>3z)Ro7+($hbHmP9FbdP*r$UNWXkO_M}J=H%>L(AtWkv$Q%b z+vY&$?=V4{qzFGb>h}tq0qNB{cA2E6O8@JVYUFqZ{@p6KMo*=$B!KK6&HRJf_q+S` zWz&&{uIa$}p4>Ve2D%1P$VQ-iP3dN?ZE5i#otA2)Gb2k39)IlY_jhXD&z)Ky?56k2 z*8dC`{_}B3mLj9{VxXtr|9pGkbh`z}sm`gqem-_a{XroZxwyi`3;ii0qUP{PvL}i$ zg~Y@^V_@Q@1piIYB~bVRk*wZPocjG!6kOA#p8b6c*gY#cU%Vp?)g;q?#s|r2Bo;fuk zqF~zCD@Y#}e;&RmG9NBLAP1=z?Wb0gK%YiQfopneo|`y>Sx^;D%( zRe}Q~DLm*TYR4jDTtz@uw-rz}3A}FTys_tHVW~xI4T2{!X+JJ*NYkF2_q(-%QVO=? zQU&``K_arST3rP|R9#xDza}4z!-O>{rohhsoQ&lAu) z-0kvAPqYG!;;xR2j;v!|Z$;+}E)h0Hq&}fV;da$(+tr zpSOS`&-M$$O@9mCg_b#L6P+K4#H!4RT1hHmS(#?K!{FEaHa|5kwOEOKD^_lDL;J1; z2iY{-cFk%Q4eg0Jk?x%dIPR@W&_|cT+Mm4;p6FBu<4_v9hga=g;{IwP;4D5N4j8;! zkLx9vOEd@fJA*UkNRlmhGwz@AR+DyTVn1cwsbS>xP;*zJL8?N82 zbmu@udqxY)CEGT6(2v2#Gk|4M%4!9T@k(o9=)Nro({vMLd$N5Dz(8`)^y1kQn@z`{ zbEQ8#w{LTnesuNvJG0lw1SYtyE>CP229DmFAATzH*{tU`*o|6)K7A>7n6B zK-61rcvNjM2lc~Q&MoSRwHI1FlaLi>l=`t2&W9l`ksNYJ<@jJiu>40LBAF`qUkjfLCE}^uwb~ zj&u!6Q8)xL;@QQx2_&#!9If!Y@wtSNC2VbPx>m14bCG&Z%W?Tj-<(yQs>5I|kgi^v zd&&1RG5j;_ls7{cIb0~07SV{;{xn!6V>u&Fh3X`_a=H!@w3qm>fi-Q&C`*nQ8+ z1eZh?guFHQAeFN+WM6nhch|TN{Y+#a_^2bB+oD%ntNWyOZy$1k1sEt?H*XTe`s6!t z5Xma8DLamKhr?4+-9UY$mYF^Fp*@g#;uUiX3N-SSNvu-Z#Z)X{J(S0Y*HDUJ)?2JJ}CCd7y+vS{~zm0IZ=9dTrhR$)6_aE33!j64f zx16D92fw7~VV7(2+-3}4G|&|Kw2xb5Xl2v3<(w#em8)xrydH?4DPa#+oGgE9aIxzF@xquP4WmzBR9GJEx?zL0|Z7qaN|Q z+t=-v@6V4n28DcVVWHAUsLwaO*XvFf1_?Sg*%v;Bb8u^KcfsXHiwutKdo0GDV~9Ys z>wcNvabwnVZ^8*2SPcVRqDT%o)1VdQ=IsPzNjpyN5#(iBj{SPJ?!#%3Hn%kAS+-_D`H z6|W*&v+=mT`qGVNZL!;l9&dhddOG?G8>&GtRC=N)vh-pQ*^{O$zt zjyw-|;vZNU9E`?@;7SZ14gJv_RVIc`YYeKDCQovsr;T4mm!GKL4?lN*ysj)`MJ#u9 zZagsfpUUO;-Y;q)SPmA7rT+_X{LghH6yF1~w)+|T`1lx63`vSC`1&sdyDjzzoTrQa z1zcvG&xIx|+>3$R7tnIem2HN7n8Qk)Aj^Tdiwp3{teoLr!(WLQW{fTlxTShrfhz$0 zEkIZ_HM68pE1_?iG-=}G`l9dTgzCC!4{_aog1_l@5dB|p3SiK0q-}XievjZBh_Vl5 z2=k*8=p`R2&1WgMwf`B}Y)LBN%nplUeo?zq+(l zTaQAL&_eszekWNAk083usD8}J@%t6WO5Jfb(GazyUAF(BE^6|hJCUD9rS0cRY7V|d zHAiCD4Xs@V4jhQOGJOCCVZ@TVPEe0iux{yph?WT4OG|j#hsU(XE=9dp`a-g=%Zq^s z=sPCgjUg-Tx9=DpTMrnywws=iV@gR3jy#BDh`jQvXoD^b_T)6h8Md(|m(qz&D`p9e z=~6sjk7!Sy!ZqTcs!`lJHU*ThOzr|#GRB59^Rda}-rd^jl z&YHtLIeKo4Wu;UrSjIi6V=Il5X&XTgnoPBGvPM>VK4m|LbHCNHczAx{Sx|~$YVi2I zcpu7bKILcrM>cnID(NI_;P6#%!Qqwn0vQ-BVS!G^hf&0*{*BIb)-uWK``{3K;{wXk z$j*CbJ3GC6`xTlqsK)<7hs);!+|8%cb`#jT*Au%FNw=}moJIE*Q%#IK*06c!Z&I%l z1sUrpcF<)tAHSa9qHy?Nk~Fvl61}DR#jf3CuKW))^BIKco%G^ejXD5>3#O0elE;FA zRh6_xPiUM`T8W6*{MZkL(SF1j@1s?WK=0F+BxtdVTNO!P>{Ufk@q`HtwPfAWA*%t3 zGC*(4A*wcquwBz6=IGmoXEm0$)J@aB%$$;x+2xOzJWcQbRU;ymdpLZ}i7VMGkoD#T z$1x3p-ongyFYTprit?s6f8`1MtkE)wgyijpfo7BCc9&|`=EHk4I-UjZ&n1)Bx$hT< zE}zpc5fPEs1A%X&&wuh?sPF{*QMEo#m2Ri`p?1%g8vp*X0ST&^foF2S9W3*>9As>` z8h)_h)LV~wJU+W%9f+GxNjo~3M$apX7l0_*29g-%AMGHT@p*yOj8#t1ib zj3f78RbfR+OJfQM#Ds@S0`N^kA5;8Axz?W7@zuGqtItk$*LyWYF}7&Iyy^V zCaiDlmESUaAHDXheY{v>{!BZ+Ui-e6E~OX^O1@nN0>IX*m}7KFUk`JxWx%M~&Hd&nZ%GxlT>m{CZyTkCz)nR@IkC5e%}v ziqmd0aPL5+>W!N)U^MF0jadfw`0N3^yf2S_!caG&rBN)kiT(e%0P*@<;cum336iqB zEYttV(N^H`2QdgQW;;D5=p&QQ~o& z#ej)6AsoSmOXJj&O-@Lpb_N&*-Kmk#h*&2a5UCn08ce5VX!Umlcq4l~cX>FSkC8jL zXz|!Mrv*WJr);7@as5Xe=O4Aj3av5>A(_66U+=c<=4;s*Q zg-Ee^#c>6>+a6HBW)_c^mR@k+w$co3b8Zssg^tv_p@Oml$?oO?Oagas5LKbOEvb$= z>!{ts1aH_&nN0o>jQiArIAi^|<5GS*tR>3mYl`)wE4r%Xz4sxN>KPHXb=8sikhbYQ z;5ol?$PR8TXFWKq4_IAaR|@m)j*-U$i6J67TT=sNG;&_ETldFvs&$~Pbj5`sBb88} zAH;p8r)hU5f7}W9e@692_mx0jwp;nwHG*S$eZ8H&G?YevvQmxm6Vv;9}jWPWVMAEF=P$+m&Wd%-aWMOHu_O6 zP$o~T))|0aw;jN5`u=>acDgdubevNIzyPfHm+9MLu7Rn2(h`i(`qi>EqUgIG#s&2% zy8X>|7)&0XkVT4_-JyDAx2q)*PVakK@)3&qIt7u!ZNVaE76g$-B!(?M>GGmHDYB#_ zVYOxy5}f6|j#k}3fMF1NXH7e_R;%?uh%CwJX_X+A2{^Wgw?vT3#Fx{nXq^f$aE#`x zN-zZ6cvQ<18WL&xf`3t(^^F_o0cNPq6QY;hpN87mMQB7}fF4QILT-#F7$nqy{wW`9 z)Ux(X=WfLTH}n^-G>7p{{SCUd{?3c2d>~quR8mi`6c3uQ3Ape#-&XZ0ku?(XTjUhz zbD2#3#iLL36<@I&=6wS$%E2GPaG2kVQNoS!@=JAg6ULSaszeZLlk}(v)j*GVb zUFiUh=N$&uy;rSo9xbP4#1}!wcEWoujt|QifgA~VgWw@4XauY zG%Xw2ZMcz)2MJ%d-5abKu2-1uMn#=sUnhKlJ+&L2LejG|mKo5BZjSbfMq$~nk3o6K zsM;lP+Rr+F0Q4;q%zQN%)z4w4h)p>B#+*2ShJgyN+;3PRw^8JCMa1h4_|KStUPe*AoR))_bRl6|x1xyOXx?R;qykyLE{Wpv5WsqM(9tx-bUzVR2Jmf-wA(BG9kUAsPfu83 z8vQy+vVZ}%MYE60@SauEWcfLf>=MD9|DXxyARbB#;u!y;HSWC8o9K#t9esDI%SF{> z?nxW)B6$I00dgV*es>hPEjAiYJI~{tJf31g>no>jVd=paWe$Z-D6b*1 zDWv0MxE?**U-8q{a!B$14;%mq?BWG>^X0p+T^2?Ko;{Gu;C>Ha+RNFa*vk7nPRe``_564$qgvcVZDIRuO62q0Wnf=C z_)v~Y>#&uR{VmcMBCR-AoITli8M`;d{QuTz64n*r@u?T(K#+AbdUxEBN4AgSk?<0w68aW(7?fHuKe%yPb4vHj`8 zhpjq$N}IR9K{||xGw5fMg`I--{_T5Hw-X1LNI&aj-pH*g62EaU!XaU--HR@8sDxjo zhDPUXElj7T|J{Ds@`l!a_U;Uvv82wes11kuUg5dzFziG(U#t*nv?>$Tn57uU-y}-q zgYj&#AO0ySPaA?S5-T;aHB~M~3w=-%Rf7p7Lm$l_%eB}U%qct@1Ci;{mvKL>R9dAb z#H;$fMJQEHH>p3@lJO5(ppfC(w7wy+@OBODiZ;albgD*xI8uEUN zOI?Nfe69$Mt=7etBGw`+RGMl4adzCH2W0U)@ZvO)fKRj)!vYrZ%>xLEny9HO*_dfB<-%q*i-=pAa*l#;D5qO>?LAPc3O!jBY zKDX5vx2?X<)?F@#RY<)M@1AxiSDp47UmSZS0FlH&Ny%$9>QT#hl|Ab}p9Qh|COb|~ z{`vTk&rQI|?2S~{>k<%vz734)c7*yj(pfZK+|?Bg5Xv;v{jweDdDD&I`Fz=5BAYok zKYv#OwP0-e4;|z7JRbCQ`=vL~_NVn`ca0(kKrt`@H06W7KT`QhRQUiDB*P!SN^2t) z4kv_>mD}$--schSsi3nr!lC`2aYLnPzL9|sRHD%$r>`4qX-w4KVR>X5D^noAIW=1R z-#|U0)Dg3XM}@4=XHBNvC?jW4TG zU+8q>JIe6D}+Hk+$D`3k@HTXYHKhkQk`G3ex#e%a;QwIiW*wN0E;ETOp0v3nLz@A zkHPvriTJ4^RA8Lh7pm*b^dboDH)-^a zq_m>vgx8^8!5S=7JXpyI^pa2&Q?i&LWew$m{^B78Bi>Xs#tk}>pgg6&hAu2kPk$d= zrZat}_P*kHz4iMJ0onjiUSVMrkL^aVtM@0~YNIPfM+M$E6Z4^M)dQXaARL~e0XU7M-juoWb5&$3%HJa#_B~B`< z+wH*huhf|*?c6GnPFo{AA!a0WnOM%}_bCpp_sZv0X;Pma7{0i|Wcc>E5`Szaxvy!F zXOG0wC6(Nl^6GXEU~GKd))+9}=1hJ%DHtw&4!R@u?$QZT+NMI4d%L<_4|ANL8$Mvs z>s_9hQrE2dpa1l;9)Acxt!ojb*8yuPZe|AVX|o#R`7?~y_HtM+Yzxd-E@E0S7S0lNp1Z9`D!6-gg?_=T)P$>}>yKY*B!FaZt0!*Q)aqWs7bj z63NDjfn5=Sw`IrtqS|m@27VO|mbrlpIL&`yTI6Nf2aanJisp`BowM$TCURx!p_%X!Q6Q`;ko-VV8GgIvRlG+KR{Jj0Ritozp)pf1=4|f=A4Co5o#PVAP@~S4KirJ zjqV-@IXZ@n^bUo_LC;Q<@k<(69=Up!fTsejK2|h7unOgnN(6i}LS5;fK1EZqSE2X1 zf_REUwpTeRZjuVK{80vL6*#7bKMF3kw$r^2bNxJ6We7Q`y{2Drj7;?C8PD_z%oyE(xD=c+xRy*HLRQ$e zY)n;0^p%j=HIigF))c!lN8~LVt!LpM%IND`hu7-x`_CYM< zZf@PkUHHU-TS)OzY2ML(ujN`ZT-Z9GR$)@RItK+NU;c9!&Fjr^XP|MGK&%icUz^_G z;@G+E2jga>lfMh2Ff#-|+EM#QzE#gCQ0lMz!Y&4Fo^r=zC?hwsn~Wj9-*-^E7d#5T z*GzH(fXhHx3N@<@ACBqTUba2$f4*K0S~hG3JDe|c)tGoAhymfOhCkn5uLBr8eqSFi zMgX4RR1~0i0lJ8`qvPyV=TSMUt!CiD%uuEV14IBdNIA(Ig80}+&r;ml2kB%+ZvV18 zlG9}u7M{-@lcC!I`5@JF&YV;o_YZY`Z7;@u8?|lki_50Z%XHiEdiLoRz|l}QTI7_94hx1|(dk@3-Ziuc4YNMd&{<%&FrjxD+rV9kBNaXf0S6IDu z9}ErHzCb5OPNk+sh{^*rC_fpL1cApOc-fPT{_ZEYlOwkAqT<@i*K(&qNwU~I1;Tyk zS0G$V|1PjmT|ayxRKEW&X2b+JGq)}G#S@d$+fzB=mx~!e{xf(etlz&+f%5x_{DT+KhxG%o!XSY48n?oJ1s}t;9@0b!QY_>dS)*f8HmTfI8dk12s z&8a2UIJid5(G9hX1OL*B4mDg==q6bhbCk_ZlVa5@=G2N(7-jxYwG|bkk9))X-iA!8 z)f{rGdugZ9*=+SSH+XS+zm6gVXwmL!7H%$>2B z%C5?_puR!Mwofj~nnj7S!e)yb>24ujhCIyNHt*yQf&%()6ru|he0biz z{!!|TflRJe@EqHAFy9ZpuR5C^57}wCnW2tB)>_MZ&Nm$(sd}D7%hj0{SMrZht?FS) zpoeT>syvU6p!e_k1qWVVvB|@Hh|ZZ_i0@=4FaEm+>xG9Y-6aN>JDxzf-;1@owE~~= zZs&bSU8kQcc2~1{(HLE~urhR+QhxHegNz1F(<-h)jYvRV9il3Bh61rOx(bcCvmz&L zr`c5V4}>y>bN8DiFCRsa1W*buOh1=GAQBAc9jp&T%qEYFO7g5NI%u3Kvqc)3WOqt= zJ=bxj=U=(+IM3O^oq4ZeWWF@P*`0kl1Z2ML=1#rs9u{3Ay?VtjF&LOP0s7KVbr_XF zdhhy6h99D4^=}o}jXgUTN|~`+=Oi2DQ5|!sFuKb-<=f9)VeOA@=yO@QT75m;5O=}y z-Y~hJi41$+*&?08>1dO;4XOMHD_su`+OG+XA?(;j5oaCm`qtGnL|6X`>JpwUbJQE> zcKiHER=XeUHyu9$+b(ck_BVFAU=Rd45JqFB1IG*wMxxsu7o_h}TD!pii!fTQ(ecza za9d>kkNeW|b!B@XLhz3GU(%}n&33nW#xG@M(5wz`7W(dU-Yn0z#=A?$7NhA7EEyU2 zk@F`u-Lf`Bmg5tQx|8~^wx1jcyBpa~yA_U`VOapRbK4t2YcgrCa;wi^vE-@kGy&$e zp^|Wg)yj%7C+1meU^g~HU(fi4ro=**YXuaQ>R*s%=z+q}p)ron!z0xSXN&;D1ND_2C zQ$a@zcH5J8ZoToRH5#0$!#ZrBDz@5Ex>OS!B@0fykj<--dW~g{^eZNIaFnh449=GL z*AH4{yzW$LH)i^{T24KYzt8e5FUy}<~+g0zVgL?#&5p&{kZR*ooJc{6B7eG_w18!^-o@bm%QS+ zSTVB<)@-arBsI>3sWdP9wg4;9TxETpuH|oh4oq3TqmnXmT(EdN3~$DVZ+!q>-|U-lK=|=!`|jWWeu4Ajc^#B-vL6?k zFTJXJsiF9|eWVZ2u1(i{V0GW%Qom{xwN-&Tb_hrgQe_Lay6b%{Sjru1*wZ=knuP`r zKJWyt`=c-6Qy>2-p4@*3M1)NnSL3yBx&*Iy(@SvL8Cx(pHL{H^nVaD9Cc|7sxleqt$M{xIdcjET1-Hn@X+kpcIk6?bjY2h$oX5|c?f5ADp=5;T} zWmjB;Z6|EOvSpJx%P%OTrF|%?f|lBjq`d!=e$^iEg->dEK+{kFtk!qiGp?jJv9{?A z=X;VK+faf{GSDFw_A?SvGRkJFQLJr^J*%M9rb$|NXe$(XbFBD~{XAz>;cQg4C~eaL zQM9mI>q2ckz*0LW!4Tw}76eaf`5Q@*X+}wz^XSfTnE-HMrNF|E-XRE8K}h;n^M>!IPL=EEZ@BWOi+erGGO7828FmxhSL&BdTxuGabXK z#RJq83T;OX8g|C_#%KkN3RnSh)~|_T_UMNV=x7EZV`;+j`RHgNsR=_vS!VP6McM_6 z;sv^Gw9QCRu?M&m#m~l-|7z&}y==KxWOQ3#bfqGWerz0% zbB%{pBv@ska_v_bkNQvuqR!3VICy0-1u|;~re?muUAI4gzkc68;7k8>3#O(f@aA`2 zh1b3Fa;#amQhn~IzTjQS!=u0es%Z~u^~^f1i#qyBKTTGpefz4wnUxJm4jT7$$L$4h zdvMfYfLYYK51XofUiEzgU46^db&j1b`XR<>-GXFs>A&M3xIPZUHjv}%Jfw4}wnWkM zwa)CZK|3``V(^zFz~2z4qb9!5*b##j9aCX;DhdWkguFf!{ z|MvGcEX2&1n_Ivgx9-BHe*g3M>_6Oyqetg3F)_gNp0gcq{OMQX#V}Z)r!#Fy74ENprFuwb>yYTJL-+~*zdmoM-o5$4D6wW*E z`S_`y`YBv_<(1gFbt@(&CKla(b8~aJ@4owR-F4UDBOmz)?z-zP%+AhYFmPD6b_OrM z^7**<4Hx1C7oLITGt=1uqD zX;IKIag=Xg=Hoh5=E6wci;0sxwe$_)1qX6XZ|w-lX113v3>>`6L*iQ=cy#OiZ3~DR zTLv`*xvhif3=6bi9Kynx7-%h;0|Rcv#fOLyR3M6F+sNyfJuuIQ=dTw7h>`*TjR$mQ zpU{=ksemBERC*QRAQlpO5iuZ2J;Ad8Jmansl(r241EhsAvwkbx_No%_lcXX95H;<@ zY;*VZyC#c|0qsiB?C%4lY*vB-T~uogifhP%2Bf1-;&<2>;j?Qq2_#6AHYxHmMRb!J z7ZxQ3lxL8bM?t?I&%-kNwII;)NHVjp-FrkgC!yP}T+i>s*+iR~0HB zODJ88yGVOK{p|QHmcZLFs#oTVDAsLAYiy0(_~0iL54se7h@;878uI)999gVG<`kM=AVk3+i(Saw}Ytv~ds zS3GL}UK-fFSWobNyO|s?Nq05n&}Y{i_;kYYuCJrB$8ggP_u(VI{b_vThPyC3JBR7% zNxbypbMS_r_ZxO6001BWNklIk^rh#(~t5&bXOJDwCyzR$+5a*nGHdd~h z!NedQzDx6(hp#NM{p|(k3InPlnSjXh7J|L@jhx_F-Z@2!hix@OE>0uLgIi{Y*0RG` zyB@?B2|JX)Bv{oc%WkD}vy>_BIb=`L;v!Y4+n%EAe;a+XBo)v-*2$p|QJ=Yj=QAkv zU5DnUodvmJ_xGKj3Qk0oGB2h{gDp{v>-$)8zW~{k#jod__Za+iy zkxT(h*#_asv}{sZ`6NPH2$u_4(3UCb$0}<Vwa=~!kk*wNEs>1QG zGwQ;UvIruZ$v2tKfa%MB=?;kp_{V z60cDB7v&};7VSnp>PyjcDVq5Efk`cR&n!YFJ;X1HaS^5zvQT*k#YC|HGXt)L8=)8} znf^w@P0@k<2l3Ir_-p+B@BUc;;45dQ@tW6Pglqn{t8mI0TQE5}A^I$d4QjVf_hJsc z5!l85^)3WxHWa1JFcnH1QwDdA0_A)g!bhsjDUW*kgpXslKtyACgXdhEWJ?bQ4jVSE z#vB3n-|_$+ee6k09bUkR&pi=qTc3EY*kRc9yatE6F)|ej-{~1bE_~EQQK@{Gq-@_T zy^=e7D4F>aVyf&aoGF2_oeAw2(crsYD$vf>=+hRpPE)!jc~Bh@j8o;`)B#ERC5Di$ zrX(gZ>bRCZfwQGXsAQg){p{RIseYTvPj6TNiQ4%juK#_fl;Z`!c@gtj`b^5;h&pWz zM)44*k)E0Tb5u|+|I5917f@3Bkcz@Gw|}?aFTG}I!XVEOY)*^my)@S6Jza|ZTJXj8 zu^Qm6?FqYnHcG!4=XLqd7$xvEs_U^PEv!x=rCm+=d!_k*6amNa{9Y3jJ zQL^SxX3df3g^9@tY}&jA&prP%JnxccVfn-a9^1VKk36~uH{W~{?zrO)Y~H*X+qP}P zg6q4S-M%8EB9a8_mk-eR)94*HGE#rI_D&u^O9%bS?6xYnu$p~{@8xZ&dy=> z$Sm%;dnf++E8oV#{5-a7-G~({R$wp~Bx|H|`LQ3epEJNU_k^53h&zb0pWqp$8ewkB z8BQ^#^D-#0{wQa_kr1I~=JNIzq=iWolCr61Cqbz$+^KrKWLv=x+h?_>299d}Pmaly zo|S|-i06cCCOp}W{&j(qWwvZ2oEOMw7l}INNiGfOD9p6DM9pJJ1x9QiXn^XXANu)+ zq$CVQm3EFPBxhfWqmV@w0QDW{<{S;fq*>8J3eFGlZbq}z)Wzg8fS#UKjzGW^-#SAOZ;@0n{Jh=(R{y2+r7(pLDc z$OsR_U=7N2)iFdACs>wfV|SwHtu3Foj6ey2Y~tO@V!$ZSj#$Bz6OvJ0$ZZD-sWmRI zGIS2ggk4Vx8K6%Qo~yJI3EUS*R~QaeE!z&|1i&+?DP+8;f-jB&;T$bFOffDeqA#(N zIsvIk6>`*roz+}JDlq2a^CPs89WnX&fdHel5DgyRBY%FO%1Tdd2cj6N8Ukuz5yJx9 zt8qa(J;%Sj3l=ocO7bvilBkS33=AnHx#=c8!uaIAr|{>0{8#wEfBSRn+q)kCuzJ;U zT>JKy;_9Ec0$Wd9hlz=SQD%o$%cRy*^?=dOB7-`i-zWgQ4`?VKAgPE&s{BuG*v!tI zJ5GI6IDYjy%!ER-WhMBi%5Zh}?WS|%3F|Ps_b~3dV>cdrXfM{TS%DMJ*n;INrUZb` z1pYb>v)z!9iXefKBMGUZE!0KZdsw%m$04eO$43jABzvh5gk(7oZvWmF$xsLU&a0|X zm6ZQTbXI66CrFa6zj@MpjAH@Nryq21#8b*u2kw_lDo|IDj!%4u7&0K61TDa}uP0(||( z6q|juZYwH0`7UETTX4O2ju<$sUB43NTyPq;ow^xwdk^8ENA_aJjvcuD_B(L$$tUB) z6Hmm{)KurQKYaKwuD||zy!XBD#rxm?e%yQSy_lb$$I6*$Tz<)OaP7NZfggCsWjObO z)3JKZ3JeyZ{_Z=9a-oH^wjh`HU*a|72osY7tXVgMQ_k3mXTRuloOJpYOdMIj!;d_P zxw$z!wf`V)zVUYK-0>i`owx;?HgAA)gW~$--`8H5698CoA&C)4nle%#Lo7jYwr`7U zbqB3}HOxvrG!^I(*O|cS#LGDK($@7jJ-jCc&6SvzGBYH{^P>N-Ks+*QNiJvwj({`1 zudpLA8NO6ln}%G3hQ93HF~Y@0i}tgrDAk!Q9dVDSjr;*cmRN%6s$E=EE>loFwlj_^ zi9b9SD(~v;buby0rviu^M7Xlu9rZk@SHuxyBPBtlP1>v81QTKdODbX?r3!Bn=@O?zwpcGD*7`l3CfD z#rM)1E!WESoihp_pe#b0|d~B_xC}%x6j-y)0M5L~7vpXp>jkbE{wvkJdq{)1|$3Bh=@P z1Sld?^v`Ec2%8!i-5gGq{u(GDGUR}Tg$7UV+mFBalmCGae&8?h)cykjfWP5KF2@i2 z_~qEJaTO*e1|1vaZp1XI>Zb(6auz9LGOZrJL&=fD-f=ILZ{es!=HymWlu`$01nPdv z7KD$h43~eOUN!|cGlku^?8dI$PvGzqhj8NA+pzV-4H!%eMmmg)4x(yDQ-TRG84ziX zn>}Px)NyU8f{UvC%|f_b5RAxfCQ*U@WvigRSrdKkx2n)51GhOP!+pX0QsFFL2pbhJ z-D~p5$Y4qATuYFl1iqIVFi<5-RO$n{AbZXZgff+{l~Re*&HOV7h!aXd)q0UQ`P+4~ zrCcj>C0Iv=(KH$i?+heYRNy%%+2yO;1v+brS_?M2?&Em&o27kkI*z0G=>_MxXJp%~ z^z3T>;HAvFT2@}|_jA8Hy4}gB1#i1T!BpM3rO=uSKs7VhR;m^tqb%-gyh2Z7k7H&W zJ~)eSUVkV4_&k(Shj3g zc3(d~KaZU|cjChz{xE*^SAP}X_{KLdJ9`AnrY3R03r@$iKlXCG=0`5a1ur=Z>)Z3* zDCdK|t5%l-VQ$qV)97U3cp>WH9AU-GGMswW2{`loQ?Oy<8ti{$KlbiBfMdtzv2(|R zxb>zxv3~s;Y}vLEQ_H5{+^~PBqKwL~Is#D(1j|7WGZbnVWCfpiY zfn>1CU@9uxfs{R}&gu#vPd*jTJ(0FUE}W_S=cU_-leX=o>hJ}IDofIl@je$d0m%dl zC>zY{80(ct7LmR`w&NrSLrF7UroL!5se{0}(Ecefj)7 zXy@`~%GVSe{L(MJ`#tl#YZyrjgS+i~j-uyuP#j0k7{+jdAOoV4Gijy;NWfukL~8_) zPKw^!$d~lU@xU>G;lcbVMtYzoECK5pT?tri99{R0Mb{vVQITByI9pvdvt z3&cesPoy(vNCC>6`V)4@Ixs*j5cZwOTB*dh9X@axc>5bt3m}UWiU7G2MTsvU;Y4PD z0}VJv3?Ty_u~W|^Tu`}}{54^N3={)6pa{`TQ3*fzR5M5` z9Fi50f&Kdq;KLvMI6nA+zr_A0hX8!t+8Mm@omb$MZ@&a|>7;3~@3Tvd9#ohhXt zE)^i55!1{29s<)%Z#Uqssu_~LlF|q2p$10S&^9@`7xOmtr+Q-=B zLdrsN3&u;fD1DSVy^CpzH>nl$?CTA_SP${O?OLUZVm$Q`MvPp9bg|&SW4_4Y7Dto; z<9WbaQ}K2wKaV%y><7e03-(z6&NVN`dZ-IPUn$MvA!jz&*yG6PWx)4HSI z8a*xm{$EQCK57u4)JMA1{=JJ`Q}=r%XF2ZI2Nq+8GTOY;WoFf7NFvUmS=$UUJB1jc zPuFtl9aif*vy9^jKF+9V8phnQIeh(}?!ce^e}9ed-Te@VfX$oM;75P{wYcU@7h}W5 zRTxaTk=nH@%Y;k?zkC*=-FH*6Z$;H;EDe3vGQo1Nw-z9m=Y@&M0XA)3gEP-N1=GtX z@z8ybVaLwhxcA3U}AtZYiDrQx!ZB-b5F*^ zk$F7y&>kE+HiyR_+lz00{kvFLSitFLZpZTF({SVhhq4Sq0^{2H%En(f+B2j(S6Qb^ zdTmSp>%@AFGTg-gaBAUmHs}mpPA;&n7KD3os*{RxXLf{KZ}eoGxq8Sgh4mB^(TXcb z%NkoJO+ZS@;VaTRIFfD=q1~h{hv>sbcS?O!Em^s~1lL;eZv0-t>kaHQ@2KIKI_)*m zibrc^rOQPEskv4Ct9_kOO?$!)6A&n!p_L}e2s-7k<=A&2z9$*3vE+KIjHaXK$0W# z{kGFPr+uiE>Kl}FF7Ja5}x1&;)em^!(%KrpH_`6ZF^!=DJtT1fFy=JjO~Kc^B6)Q2$V67RK1HRu#XJq zB9dexk}RxlWPpW*e-Sfq;J`tA^e?W%2mae%Cn{QckmJ>K)4_uz|P z{32#&k6_ix<+$dW3-QLEeHE^F^#wTjluekLo*WB)_X!tK$Nkg-I94zuv;Ha9;5i?q z_Q#XUCb4DPI-GUk>6lqDjmLKF!GVKEaOmJ++vHxR$VzI0O(G z^d!J>DYL~F{jPbV}L3gm{uK%ZDda-a3lbq5KfQ()%Yn>lrR4kuZ5Q zTCK~?aIy*(6`4qsjgZNV59`ZBl&dkFDzv)}oN8bhfXj>sz=7Zeu3$T5fOSPez)6Kq zYeG#bzzUJ(AU%IzVENDo$iK#gi~?zUBLTK5-bKd99x=Vhry~V>9uXl-Lai>;pdA*& zMSNZ?(_BCeNJw#94%NP2zO+jE1O9`1{Opl%`TP{77xau1BY?lU;Q0^?|pxU zC-)6Kz}K%^i8s9S3S9k;OR;**3}`^b443@2uWuP1Rzh7&H81e=`;;L6 z8jvm(TZ>>bDz>R|YNU?f@~AL8dMvVn;(cLw@sLG?)oWH@)&Y0ja37x7a{!xGuf)mE z*@jiCR}{CqHbBx>N!X>b$@dMFLt<0`l@BtF+yxR-{GHQHmvI{R1$iAsD07f`6wr(w zFx-A@R}s(L8(MYxsMj~@!F|+1VIvV2qRw_J7cLqPF7#FMb>Z0DQ9f}Ar0yA~G=JAp z)}IbYIBG$-K5pJR>xpVd_$BIfqyKI<^h;G{C2?J@O>17@wKldO)xNe=Y;ma}cI`Ez zc$Sy!I{I0zb@$3~$HF)Ps!`j#G~P>@f8#xi#RYuEvr9p*nX){ttVNpMe~jnSoiBhq z$~?A|aJ$dz7v>w>`@M(om;dE&@YS#1iKc0=desWN^<7utHE+8V>({Ru8GzffL~hfAr;e-8-+qv!8b|W>!uwy69!eEU2q2Y@f5mDCe5& zWM&o@=Lj<^r*YP~Cu7U@P1v_<4<37bKaL%n!_ND5`dHcUt| zB>iyj0mVc$BD2AT5v407X*LL}bmyDN$WV({rfMo8B}F03rM><2v~jXDNza|fvEo#H){%|LG7Mwu$RWZ<YC@JOcW>jMy#(dNqpL{^Z}K+HiJ5R@b{3!c z)aUS<|M3s7ch5cmtpfbVh6?c2Yi5ROe9`naHkAV4?%W_%M7Bc(RP#R0**^5~Jnmb} zOMjoL+qo_u#w;GmsYVM@tLXW~S;$5sZW65`Jiz!dNrS&WH*i?7Y8nS0+>h^lZ#Rw| zI)>BFKLuO1tqZD(a0nz)0NkrBhziA2d)#x$x`31}JAEbPOzmnwm&!oVhGz2muKou} zqB@jUY7}cbLR1LKjOWAM6?o~5=dxuj$^~%84RUqCV#1g@U7M|uJ9!gTfkf%K(irX0 z{ivyWs3h~+lD}z9Gpz%fvgSY?koKLQkM~y%9Q6r0)Ii{=Eq%X@7l8*wWww3^-o_W zK+XQ7w9_c1W>LqAUn+)~`_yic1ofD!p6;*txdlA($Uc1Jw?2)}e(pP%n_Iy0>1DX~ zhc3Yze&XfWxM@u<3zTx8hN^uex3?S(>vD09CbQSGV68U0cRDBZSOJI#%U3MJNvChY z(F3!%^R`{svEzQ6e)<`hnVG>K{^1|ueeZi89)9>COim2&;uk&(Z~3>c#w%WbAvSJa zQ?2u~6oC*LVV^@7Ge}d5@)bG_5n*y_0w-?Yi0#ik2@89U;K7IX;K=MT?B4YdzVoeH zvE_u#*t&HSCMTmkOn4`!{lJ}3!s?($rWzu&r7&eWh+;@g%045qCJRzqLeTyl4XZ+t z>hoRx`xby}5ou%-xdNET6yS`2Le%J!tjKJ%c+|Fu){&3a$UW zOHaEbc$yE!M7IT>J`gQMf^Bm9j0eB`3%~N71w5b)(3{k|IGHpW^H81XW*e({sW+h_=woVv0oYZa8zOhvSaGRE7b4Wu7fWF{Jp zoIAe|k+YaO{^VEhJ9h5`fDN6UIK13W$JXB#;U_HR}vSnc$N^464YVN@LH{9F30QNav84rkxQ{|!>XYIoazf)zl|Gp9+f=k zqZ|R7FD%6^{IEJ|X$}aC&+Q%T`Te&wY>Kp8Foc-o1Nq!wom!BOm!F_Uze%RV$a{ zHLt%2Z~H%9gY#Z=23E{0TeS5_-%tVyJO9$ip)n>&>MB-|nLw%aSKqjKHBLKkJKQnG zuKORw?Cc!&?tKz>-g*zVowym>PdgEV!LUfEqk{M)2t(OWT#gK*#ChbJW{?JpQ*S(z zP-11F_tG3VmlWrvzRO)3O-1x0)5&DTCRwubv4gV!x3sqT-y7PmwAbqp9uN^_)zINm z8iE_>4mecPlNLL=m;uKvFpXpbp$Z3O&8+&y&X!nTOzgjRz(|y|GaEO317*; zXMfF%2$r*Ju!P$b+elBJZQpg=Dy1VIL!Yx;NSh?|NEY~=7Gds zKt`BIs)YRwxOC96xIsCIsN;o?g84z?gvaFqn{vLXYFdG@QahXUg4p3?s((8L)2bVQ z001BWNkl}u@DvIjS*EOTOamDLZkE2` z%2&SKu*x-+q*~ngDY1S&T!C{Ma0~TzW-ljwvUJf?iU$6THyRUA9z$Qg@7{PT{{1ig zCU!sY5SW4G(^I(it(W2IcU_K6o7ZGLz_XEG)U?t4u$YA*l8o$ zA4Vyil`x)9cXF7?8_M-Qz>M>1R$@*OpCJSKop_u#aRHsxm2?rZL6`@=w%p{!zdLXX|3TazS|{8 z-WP3l9TO`=u`IG0Gnlm)=uJI-)^{uw=?=-%MauT!K7od%d4nJTBY=PzoqmoxBH<{Y)krh#dkRel-Au`&?=|;uYnEQkGlFy?HaoJRy=3s zL1+G%r88n4V)v^$p&e&Af#dagKef{s6`p>-%f23+ox|s@`xZX(fzRQ|{f96y;c)Rq zXXDNP_6Kn4>Dw?dIp~Dked|i(+Pu6pr;7cus-KY0_k;;r)XGSAtD1obd|fQ zPO>@G_lOmi2Lm@Ont8#gm>dkS^X`Xn`0!Ee-SZ^Ad*kicx@{A-Y}<@wQy9X6z@ImhQ(CARfguTDt0>^X|o&u9oV;Pmk| zE;6*ntG63%k?iH9;u@uQIkOX%*wHa0*d~Yc3krVhu`sIGrwAtoA5;lK>R{>*VHGs| zo@+A)919yC$8BLu?9w2wuwfZSGlUnCw-d>!1X$akC`cSYIBCyh=`k&AP_&4KqxFUv zXl|fEynJZEbH=1^$aJhQg)hEXh=qnNTdVBqMC@l zAjaB5d4FM;s-Yr79uYWWOk@U?z6S9e5WzUJi@@KJwt_KHH}BascWeQ--h2ms_22y# z?z;0nG);r4sR_LLnhSCDzrF&Sx2^*XoQ|-g+eem*5V%yTtzS{Ex+iq16fONZ3RLR@ z;#s-IEi#$SV$CzYbnpF)2g<;SY=#AlT~$eBX;l%hRxEuBWOg5Tl0#F?V0wfOVS`3o zD!$kApj{2dbeW7-et9uayibNkK18yZ0img3Op7cWaz!9&=~Uo-=Fyr1DivY3eL}8M z=fMJ~k_xLIi_e1L?(3b0+xdD{EU+Fn^LFy7nEdlIN?QTX< z5|>oaB_2|Hk3NMsYijf^s9S>DeWr{W^C?|(tuSC$`&z4I!~f5< zc-{+6!_=~g?4EPfdA%!JqI_B_|*8kfeK2+E&Hgk{rHIO)u-ShIcx zJMMT82M!*=fu|1Pwwv$5+V!h(>ggw8df8Ms*SjP$T8Qve2DwmEli6ch>k|>wh(J=D zi#q&t*j6Z!*1YC-m1TzSpV>_hDaIjfYzbB~$;#SQ!lwY9?YXIx_1nZ}=vtMwOIQ)i zbJ8vZ$$nAZlMp&mW{brfHHE5}qU6+&-r=pgK$3M*C^%YV08y14#jjR{#hQO1Z?)sq z=p;PbU3<;kD!Zk5NDA+&|1VeFDiGjR%NRacWi@sqVqIN!z!SS2c3+j zq40C>r(KivOB)Dg*=WOWHVeMU0CXn`g)bQi`Dnz0YlL@FBRju|+&FHlr>fBwtB%U& zKzcy1@g0{1I9c3yP;$Fg%cr7401cozhE;@<^&0ome+Z>_!=Vzf|M&1u)B8DH@x14f zJu-)24@ch)HZuX6w2$GyDG&C$yDd*l$@ipCOF^iJHJRDr!rUzo8 z@cmSJcta|?TO)QKC1p8FWX`GFP<1cHOl=ir4$sW%4IGK`nqG;{5EYl({^v(s8@O1Q zZ?OA;hwxkf=?`$*t#^T$F&H?!@{03t)lXl6Z6|FQ7N%h_Q*rrt?JvJEx2lIDi{C4& z0Hc>Z_ul++=neXRi#aTns%PhqN@?e3^!H%o0t91k>hJ%axhSf9-nhkNm|0n-F!!;X z$^Uz1#&Ej%0dDybJx=qaE?;K>(YYTzYDxu1sbG$-rv% zVNBL6sTYVjWo_n zZBqN$cxB4;#6na+AC#*9nDyOwNX}S#FV|8KhBM)4ulobL(vB zeM&&N%T}e2_jsxBvh9O8@ND~N4mOuQZ&Y=B?s{uKD}m>(#1wnJ=mPe(4Z8YK4&Ik6 z=So3_I>X}PHQRn(+Zp6%{~VI+XY^HY*#yj5T7ug-?Pp(g@VNfc#}k0>e&7lG%?G}K zoew+?B4E?T)%X`beKjt4(V18_JqcU%wX6Sj*(KG+UcT>ihdC+nndD*%u~|D);R7e< zq};WP({2m%4Q{_>2R{Bge}@}yx(`#6leqYzv+?7<^hUhqEtg=!=GBWRJlcOBUJCH% z?z_*ZENud~vN@pIBvLuoI7isHX*FK^*30nD|NB~;x_vVM#)A($jNkk158=z7`)54$ z)FCuY6JTKS_JYYUO8`Cut_-`!&D?LxoLDGW$=F30X{Qd>>EL`R+->*5GviKiN7zOovqn66t!~J zP9^XS&w#AMffSQE4u>&vBG4tyvCK#bJg7tLm$sYf8#XtlE_<7n9sl1Se!4WT8+G-r7WH8V6zy zteAr%0@;d}!Rvj2M&Bw^s%I))^JH(c2; z`F8MwBQpy!XHMZZRYMjGGbtnfM&%817?`9Xhxn`t?~Q=oM%cWZKL8#I5IOu^0&YMR z##ECliKC|hG9*HC+_d+z&^C;V@9VEKtP2I;o+xM<@9J*a#c3aN=@Vql1R7cCm_wKY07L{&0mR1$P^8lGxczUxcsNe$}F>1xCKx?@F z_H~Y8Faf6ObC|+%RguA3!LMLpeD)+8QUH796W#y~7VyO5d-49?`7?a|Yd2zkZXV7N zUVP!1xbkOTf$gVlX$u#cf@ak3xShw1$Q}dghd1pB&0|oYK9H=mQ7+Y1Nf+u8ykPUU zdJn9^HfFt<6W`~aZP4}jSi*MmJ#UXvgW*MIMMv0j;(9#i?2|D!zkmmBegKa@w!g4t zE?=>SX?>m{7lQ#^M^j{uD(OSzlC-54>$RYfk{+wKx%!%OM{%3c!`zeRRf0+Od&B98 zvWN7(Wy6Z#oAY#ofZmbE=J#o}D} zd-p69=g^qhq4yh{B)%*);9knZeOE!u@;guo-4)l8^zU4l)3|dLuH*ZByN$DkmH=xX z<+NREOUmx9Y^_lg%sHr*gWM&%mJ(?0J6+`9drqZYvwpEaKL_z;(4bb}H217ZD)Zd) z?h7$X0kF>9T_)mNvODQUYh5{x$iPo7>~cA?QrdMa-2>#pRq`ZNyFwn}PP<3^60V)h zIPlaFeDM?C#Pwgh15LxjLYQxTDK5M6Tr8hi2C2g9DqvgcSEW9mKn&G)yPhN!KA*C! z#Ys*mXM)FhqbmLB+&P=q+VGKw_u?~u{Eztj=WhZ4Tz&QV_~Bo;78hOi?6w}y@!Jpa z2z`xv_Mcu8g_(@}9*f6`J_-;%y?hE+z4k)<$p85|oOHqlFf(@VdKka)-VflPzW5Cs zJ~WG_iDy~0T9be*#IOW4SsO`nnyCI|WFuykbnGaS6MVrs$A|{Y7PbT{_XGf~D3t<& zX$*&A&V`6H5S7=e_y;sMBLUz^{MmR9W@c~`U!xN0ogQl*@G>Y9IN*41$(f%uNEL0M z;IHHqq=l~PJVvA#7@G&h?4K#eXDasE6do|ChaC$>a;uKkfen^SQ3N-*kwKbP$moAY zu?VEB+8RaCvLK{*R*eyw8v7c}b)&%32Sd2MkfxzvnG!60TkDhH4&rxs3g~Ux{fC})-aT^4%JhVG$1l;$k@C83O2uvJ=tKRCy$*QP1*}n4Nu^my{ z38e~ffA8V0?To9-y++#*(i-+KUm@&|v3 zzrF5rn4g;m5#gM(Pr|Ey`V~0+tgV=s8sra<;<{|R<-Qs-vZ=CF^kc82#wv)QI}c1& zF*>etw3HfMKP-_#tZbAYeZWax89<#IOX>xLJD#0Yu=dzImOkf%lh)&;b5Fv=z~Os$ zKZw1LJ%whWDFA5}K4;C@F%m5LYF{&3676*!0#$v)q6~t6F%o; zq%6R*%mC?uK1Tt#i#_x*Z1#%=yIcgbT!de_Ii}>>ywpH@lxI|O8=@kDE|o^(Bsf~` zS0#f4`?Fj~s+32-g79Dokx(ldB<8d%x12qNak*!8ZF}4QAIE zPHj(N-@mV)ch|Vdy|!khQo8;waG86){VXcD$6haQIL2HW$)(*FqwK+72@Dm+l=l6$ zql~kAR4(X%sUv7v+Vk+3^Zrt28v(%l`~q&fc?UlGKfaDbhiBm&;quGQ!Bua53D&He zNo?-A3fz{KRXdmH-=#|6#;$I)`LpyVWva;_bI!4Vkbun0&5LNCLkDMZ!&mOaSFgVf z8`iJFo8Epo{^kGmTAX|S>6l(VwPZGjeM*I*=h=fQqqFF5(~%0sxq<Wcfb;&xft8aR) z5k&P3V$n()yf&aaSxYFYg#Ghx8dB}aZ2a31Mc4tjE5GjcMA<;WaSvQ`F2b$Jg1B}P z0$PauH6@t?Ofgen$kv)DhHB!SH;tK3S_=<9W}P@~GK*}5U`}s_PJqdFEONr98sn59 z!MWsY%23vG%+}3d7)y#wOlA-a`)3pD1PTk|pyqch7%C-G2?-14&>tGHKC_npupDl! zh4Jv2${v=I_O| zwobe0jsu~nN9Ce(y6-vB6C!cFSn`;Qxh&>d1Fmqn={uKXi zRn|6elv9ht0D7t%fN0zkczEt?Hs@)v+x*`b2S@wVLg3ouksG_>?|wgGi{e_J*qjwd z-yj!{c;7ki`WRTWeVQ})h$~|p>7lg(9qn4yWz8|}95BxFD}SFe`=Oemvs9xXh2h*8 zg3Ot0b%m~}2q72qgi3`YYi*S)x|y>($${~jg-R{B($~(Vk9As~;DH3sIg1smM9=L( zYW?4ilRiZ+b7QWLcY8^&SyPlReYmdw{xFa2xUkZ4W*wj`-lmROkTZKks*EBkTqV#i zDB4$XyOe=MIj8S^;vl|u-3{3Jz++$rPS~~{SHAsHoOJTWPzZA|`|f-V0xqylE)<#V zYJtK5J9&M+Y^to{q<_ZM5Y1RYhlK|7$L4X?nJ3`wKmTgH<9~k*PCa8Q1{25E{-iXj zy2{ifeV4i4=+8wwOPhz zh4}@2-@=+zwXO667w!S&oGlIv!~*TygAE}#&ygh1DP=q%iaeVpbH*}!MlqSdYEsay zgn2A%gdr_H%WIETYKq@$XsGQYGV8Y3mvXee7;-F9Hoy|-H{MU$+xH6F3KBtz#&DsM z7bz>1D0C)(cv!`%FT#hMTA)3|L+yIeKFkIrObNB!$S_FJ%8sR4J8)>yP}o0a%d^Ow zDLI09snoZSIE;lBk~_<^#J`=gV`W>Xa9@KLqPs8l!OS|(L@toBN6-SLK4jPl2 zViAC7CF3hq>kzC5`t$P(xZxW&;ZJ`5zvIb$Pl1TAZtVQeuRf+DxhaCdl{J&YGv;c~vn5QqPbda?rFiW)*4=A#d(`Z#O5LA} zfH?Q>nhLx0c{SheoFcu8xs*U%sVHYn5ufYFC6#y$#Mj16P1#*4WLdI;85KZ}W^uAq zBa<_MoIVnSTnTGitU70nBB3~Ck$8MX{yMrw?kGk_qwN2davro_bI0a!`%OFWr7zrs z`S}JD6Ast>;7jnl^G_R|H_*MmFY(KIpQg+b%h|wCeID$((^95S*)*rrmg5R!?AO%P z1kSzaOuYH$UyZ9?dm&b>S@E=uxUNyf=#i;O)GynuPX*MzRfVZLbC8Izd}bQ2cu z?b|NLisj2NcWe${{`}YR(GUME_U(HLP1Cgeft3i+1uK+HMF9(?{SlrbcVUsz?}VyU z3N>wwqDB@c6jPaGJSOqnKyotd%39qPf~Xl*#?0-tvf@IyW+P}dbl_%8iWvo4Jw~V- z7|uqaqqVy&uYPYLM{JtbQ@ZtkW@D)ltxYu04Ql-sxN>9WnFU?Pv&O{ckl=U8kkW;-CHE_bEBLqI$%!KIrF$Dh7?;Ne_ng%)$5V9+z?VV%oC_;Ku zq(Hx%m>SY2apIvXO3p&J{e2g`GBse->RL14SPlx4s^H-X@6L9|!iOSrAm ze;L$zy(H-!qFp?E4jVLIELDPTWxrzr0Lqqt#P>-pG%Wq&A=-tlJqzLld|M>gZwevv$!1S_7Tz&0Dc=;P&h!r!_Am?-yT-mtN4x)T(2>`EeBX#L8 z&ZNwDc>s0+5UW}(saWOVrgTuw`GD3Ds|FUF0gPQm1Stos3#R?taaf`;4ly<0J&G!v z0jya+gR{=u24=>tdmqMA`wth30SynZDIk+7o>B^Wu0L`Q0N8cB%pQ{}L9N_d=DhMs ze=<;cJ{iaaz0}m)dbp#SWeG6nzSkXG>d>K5spt`kqAT)gmBPlQ>srf2Kl@^ld_O2H zeIx;Q*{rl|wi}8ob5w>G!D_#I8FlR2u#nXuYyEdVp3pQajC$GqTF-NU1<&ZcWZCh1Ino2h?+YCwIWF*?;8vYAsMR z>VBpx`yux}ImLEq`pH53#ei+*#g3$<89nv)=8n~>d02$*W(0b?aBbIjW9_TrjERY>~^NNZ+$$ z6_wir<>V-}?3_9n@A7kB%C?(cK83T+ISChC_H4|oTK=@Gd(^Q7u2s4qAb-B-nDnT$ zVD#~$s{Ot4&K`{cFK+?iK`ePl zDKcBlLu6q!%MCDa!h(bW>z*y&gUDD7vXRS3+{IB~$w}AFAEdm>+A}uFOqW(57cc^R zmLny=KB{c3LO9cRSXkr;-)Tpz-5C(Yi7`XpJ5NM4w{wlM(@3&uZPyaKS6T8(w-#sX z{P=)H{`+diX#^`E1~(427-CQ>2M9^&c``GVg-aYXL$7TJ-+J#fKpaH3vZ!nHASWeS zhO{!V(hf6W3CJDtEPy_HEz)tlT<4=Vl0PjxLx zN_^W@yBd))Hxy7~8W8YYH&fA9%J03pRy{CcWoT~;1(Mhy#44nm`U=T|GjU2ID*40z7%gK-AMGZT0vq096dHDK4AtXzA zRSFqvnArIuVP=URO6yCbC+skPkWf)ek5?HCapt{L^eh&K6wctWV6Ojc7lFRLCl;#f zEchlQ0U94!OssbNB*?Mws$a~SpcYRTmoVrWZG}Q6ss=>wcwZF2e~gbb`z#6;MKhZQ zc>J*^@LzxXgShSHJJB=^h=5mI{ybdqBbQ*+>J=a-e27_2Ng4RURen}U&8Gq&);byH zvaX;@DOf%hQDTWQk}{Ob>Au|uKQ=1BXeZFeb|C@UMA_n%J=kIK$jB8yK^d>Tacogm zu3nBcr*6Q+V1OOF9>>1NpNcAW%HJ&!5=)fY;oRPT2?&?`8v7ir85v*engL>^m}kx~ zC(W8jlb*TIdyH*%vc{seQ7XXWyzL1W|K0Zxlx%G4oK(%RtajX~GJF*8|8Wb7)tZ{i z#4p={DdTxSL{-RID^R?YFrw031s?>~HL0wnQmb7xA!?q<->)z30OOqbuZB=c ztw{+!tA%CK-peERe#TN`w$Z$z>rl96tx{W~OFv%>=eY(H%?+`#o3+cnFc+IZDtt2BrC zHI_Pd;K+nCxUgG-%Ak`5VYNiOTAhh!@)s5MC0#mn6vyTl0Qh2fq%AN=!wkh3o5-X*_--04 z(o`AkNMkr5H0K?6rGK~FKY4o!sdQ!yqmdM>jI|DeWeT(%iiCwhrA%JEPD#x-)g%I_ zChJUl(~S=zFlT(HMKHkwTC=5W8V90A6oZrnGvhP%P355d&54vfb`T#bPj^IU>jh*{ zh)P4qOxlxLS$KrN0D)WsW*1fZkoGv*j$-H_z>%p5R|shngT`Uti$IFNM#Dp8JWCO8 z5LvSl*xIv)2in8HMD)K`if_^Pq(?Rj7D~*~0)|AvOK2OF1_XAkYlCB@(hmO)zTOnP z(T4(7A-<-_PFV(QLh)B!o5}xQ=;zK0he`3xzuZb?n3(VwXie3{>sY_H|3&9wQAzcV z!MJ`H;$s$tHCYsn6m~1gCN{Goa}y!F@@$VKkP~W`bBK^Cc5+ znuB&igYwd5X>6YhWWX#oxnrd)G-(Tkim+Np+c2LM(pLQXY>cvG76fNqh}+3ag^^+^ zNV*Xmwzm@ieE8ms!?TC+$-nvxzV!L8Vqu|ybAJ7F!RrzdgX;1L|!e*|;K<^{-44=c?1CsDIU&!wSq1+#HS7{};S z^Uu1gQc&*$MOsuVJwA-4Gi9?`?Ije=^yj|zLVd zrd7O-%56#@u#cTY7f|mSQ+;h`^7paSs4r*4N0oj|=&q_z%Kg#r#T8JE!X7L?YPlEa zex`pNojry-Z@eE5Ke`V9aLUP>@Pf;qgPED-N(ElCxa#ut&t-#1i<9Bcskr;|Yl#lT zc5CfzV3!K*nA;CgkM#ln6SX&2MwUD`l(wJAF};>^_-LN z%71w&)~sHEg@pxt?fM&W{Xc#SM-Cp2K%0au6PcilylkYlg#qNEet={1;AM7s!<5|& zl4ETl3|aJ0Wc|x4v)7+vUN9csq`;ZtXR>m1AW?fz3KxU*FQ)|?<+I}!FnI-gY+6!|6T_N< z9F*v?;ANopqR?f-G_-&bb}1p_pm8n07UIN)gmsA!;k54=Oe5L?mQBk$)!EpwP|Az@ zZA^_l*D|a|_|L27Ptp1}+!Mthg8$sc1d|8al1RHjLL4DTnpU7+%oW4I8UnZ|& zCvVoDNns)BO)ko!66fq5;=~`*Z%AaEkoGNSC(;1ovt_1W^CB}=9W$bwgv3t2igaQ z*VL}H16<9Ml&A#!DZ3>exx^Sz8D>|~`?~xI^+!<0ftx!)dG5$LF*(4hbu(B#J%!oX zIXt!ZAZBOhMx@5NUPQIvTIN2B>iP=eVpY6Kzk^KwV@BShx8t-U?x>(&quzb93g$?~ z7E6ycxmFo0k}4M2$)8b zVjJ)foRTaSspg}oYFCcrwitAXa*kD!x9Qbiei%7IIZsX>Tn1?=!=oI1v$}>63zxcZr`?!1sxG{r(^9$ z@9j!B`jUrtD#D^RA$PAOVV`v8Vy0OUW(8o+t&jW#@ADi~SwOU?F}qA=vw)bC9Br1b$C#7Z zDI@_gnb->JtOJsr1N3JCB?FiB*pPA0eaaEqbr5JAA}n}FwzAKYDMk1GFNAE zWhxl~`V%<=$Eg^e>OyUO@(j9vmpL0I>fKI#G5~VxcS&)bgW{!PlBM_0eMYV5Wsdih z_7*w6?{R|$7CQC;)T0;5hwXsI)82?o_OxBhC6NixT8JDt24rFI&(cE|C8*7eg$zcsIG)gS@7YXw|8C-_|Su>`&QPH2l*=ba;L*}4vw{?LoC zY2#`zGj6~2Ze0K6Z{py=gOFPrSz1eZG?PSB95T8+NAc=hBJO;6Lny~711rrP*+M;L zU1yn9o}MFQw!EWwKMGdMwTxK+^5J_rQMYagXesRJWtm~GtXK6ug~bF}aH(#G+TxR> zK{*YbCmc2HeKzU5By3CAo}WmZfwGp89BoVpsc*SIKe|@DUlLSha zG5Dki&eGRD|0u(1`vLt*C{^IAY+yi?O+7z-UOW zNffb2(->Ix5w(bMTI50iE7>o7bz=uc!;C$T@5S%E?@w|2ZFhr+Fc>&o^{N-(($}4j z6)UIVoJ+mb0prcaV$s$Q&RYI7=$GneKZmjo&RuF`0LJsb-zJc=HVLfV?X!?G2U&85 z+VY%ci*t@rMAW>N$Si`~39pxIBOMAGvr>U~D#!t>ST&7pTi0QJegO~c-hAOT9M;8CC?{zCSdVN9 zJ#x{9L1~qdQ5TQm4Zc)|qkIUZa<6tW=_AW*Ul%+FWq=BG4ewIkFZCL+#Zi-OGp!P@ z{C2^bsta_E3k#PD_Z4DIStM6m4f9F3Q>@JIy(v^(U^XhB<=*r{nnj(EZ zV^oWfl3#ZpfAAW^DTy9yjsd-%`UnucM~pr5J2b+WqY=htNlrlp=viL)IJ+Zb6ZEFc zu8=D|j=+hPTHRQM3t1jqSW}*9N^sfljvbxD&buGRz9$cY2sr7)4LIqv%~&=)HBvvd z;)b-(a~7ssINpEOPIG)1Y0as$ZKyaW_YdP7r#;e$?=@~w=W1A#s62X!>etpMt!o?) zsWE~Bb}SDD4rf1aJ6?9>^Whv}?$|v3;nUaSu}Ak}VWC0Ja-IbDaaQP=v!~6lrPME< z(KHCQ7z9oW1R>Fbwl)u3IQD4IY01_kNR@>)16~pSFN%i<19EC%XtSV&LbC89wd{n1 z69H8+{$ioWn19VJpw(ha9@;LKRu1{hDW6`f^?;%_UDFD}q%BPocV-R8fCUN86TPil zn-$~I5R0ou`Fyx$$67@$7@~h)C%ntO7q|s>+3ms2n0ljHs4wlxK9SvNan}-#DuHr+S7`#K}p}lBA4NLif7A>cxc{yzpd=5HbCu%IEs^P*vdADFy0oD^VhsU@mU+d zBURoFM?WGz2tgDJRoHlfFzwfVLxGCNpbn*8?+U!L1!WYj&x3BtY{Q4POT)$R*s){y z+v`4uFMRH+n4g;m5pd!2Pse3HdI>gcUM&h?<~Q)EJU-qXtHPP(V@O|q#zpO$@$sfo zuxyl#THY$5qy(qJXV~=2ZhzW*LBp|CJ*rrPfY254(?F;Jj7Ov`5>tBE()%y@HfKB{*_4tk zkG?+M!&wiFMSyQsP=QBogHaA%T>5-6nGA9tzmE&?_3$k(xNMOMy^?-JRP3lefw^$Twm_cP00JjQx#MvNx(f( zN3I7`1s;vk+s3QK(VuhlpG|7&=2FI4?X_KYA)^5OzP3KO>#V`-KA)N1SJ{Sa)Tym= zR^hJIBG<;$vyY`^u_=>*lCQK9UtM~YMy6#9Uo%-5cMbf$DU3~jcyiw%?7rh6%+D`? zh;aUSr(xsfHOhXmQ~=iYE5FCfTcl939@zKR83KKRe}JxyM8)5r%xXv-VHqBwJ;yp5 zJPm7CUmM5b7L(2Hfw{bR#0svH zP|$l@l=kytanzR2wa{DUU%BA@&LM6PY_(l1mFpS&@OA|IAlXd&WHfCiN;uYM|szs{z?F1GlKvvI`Gly@foFDo+ zWePhq90q%|G--zxNw;VkVJEBmiF|!Sg!zR9+L9SG@BwoN?9( zn3x!JEc6U6VKma#19l&x3R-j==s64D)5AszKSxvXX(q-A5YIvH-0SVZuy6Wi8A*)> z;y3{!W@D8r6jRxdkK$_^4;$L{goGM3*G~3p#foL%jVmxQaM<_cAsjh;Yy?O66t3j_ z$xEKCqi%fjM;}gbQV2NaHu2PPx~2L7Lo1MSMkBT2cX`EWk`SEpU>GwxQ_8d$1tRzM zS1wfs9bGXCA9KZmnlh2h1!%&|ai2m;P%C6^FnubD_uP4|L-~lv=zbkE1w) zjJmKvCRD|>pK&&JP=YL@s#{0t(|rL|uFM)$LQQ>YJIH5FS!konx0P{xDV)+3DsD(rO1bas7^EASB@E9{lX;LpmYPk^jp$>3fuVT&FJsBk- zUK@^z>uT9ayjDx1HtMLl3;O;8Q`?XBKY0lE-2MO-78*=U3~=gsCu8NR<(==5vjs}` z*j(6ymofrNo10Qe=Q7~V_0qiPhq9SrwF2$Ww69vuPi^l^C~mz31SajhYZ{YF=ZKOQ zR4J0V2tV+y_1k~a_H#Xal-cz1eVs1==y{9G zN)IASQllZ~AujufGy5D4MHeGKag>)Q1sjXj%i0%{l!YSW^|f{*)C_+Hqf{13bgyuC zj+F&UxChd15Z=2y*1#hZm=KVajD0&vHwaSuZiZ+E!`PjeL!FFn zF;k{+orbr}`WpQ8QtNROLm^rr7Yb(z)wXkbcjm2C+(1W~f>FP^(e_#$r3U{L3uIEO z0!L)#v7K2?6bMz8DF=&qsB+IKgeky#(Q#e6iwWGkN&AWS!gkL3Zc?#5WCoIRv9rmP zqmZH#+KRL-kKA@kg}SUf5u&*!zoTJ1xpzPQ^p8G<9rx`5^U#m)6>oSEF1+k)33iyVwffk?vw3$P4h2)b1 zD3|e0HmWLsv;}XuYhFwdS4xi9GHBAzHmF2B)yS%yx;qMHT95rc0i-_Rja~|6E|b@! zUuGglM3lYmr8+cH2WYOU-%Aoo%3p2tMCA~ivhUHy=!X}1|FwfX7Xc7w)|^rw;sV%^ z#f~T&JIE!n(IFZGKa zW!)~vq{fAWqo}AydF`lxJ6|}k{+fPFsc#9uuF|knnK7v{<8TMAE6X(Uu$ns*!Bic0 zK-q?kP_Bv5xAw#{?Q8$OgV_Dh9xww_lM`5d!dfhwp6u+~UBM%1kC3wvDsK`>yG!Z> zzxJGBLm%amsQF%;>($RhAWl7kEj5duYUyOrc-&`V$)$7EQV5QdA9!x&A|kBcunNz4 z>DicBu?)f13CKOP1PUMxkp{l!K$}FA2 zFPR0H^!6vxKioc2O3yt3Zpug0T2m-xa^}Wmal!C9ah=>+35R-c6lYPFTOC*u03kAL z;iVJVx4AMROqOrOVxrO-B#dIGt4b;!>EW=juT^J77R4!{pQFF#z;uQ(uRR?dZ21Jj>O6LaUB7caN%Uq5KZ*7DUCQY?#Rx#}q|2y=pxayp#Z! zxRT03K?xsUk9bY(dvfDicL>s4l4)4y&P6#G(@^alELEUu(s}>*h(&}y{Xo_f<7iJU z_lUuwMOW#P1!~#42#G1lk+Db-w?4d9<}?DuI*QAUE;Hgp6;elRoVjHB1cGXrIaSKa z8yJ3um;Voc$$RpI&T9d>^z~-ru_RRDauOobAtV4MBgalQU-JE}H@>aV>ok>TnGPdn zn~O%#xfmy^@glgY_~nw&p~7`qy8 z8`Chr3mkqmUYGXh4HJgTKxkz_V!DyBM6rr?H5j}h5K|Vmhjw%F{VD0=9(q%2{i0k4 z+iN|1KdLpsImlKfIuzs|C^>4}yFCi3)I&|JLBC z`~U_M4l7noWBK$HjvbrF?2%*HgJB)nF_4y4TG(x&ADjj{IP+*r!h%iw%aC>Ka#q43Rl?6Z9)qk!)|%uLNoS`l8dL&}Z& zrSuZ7tNce$hf5EB(b;pl$V5rfV-y|lU;uYK1B+xS8AbIcM3mY#*g#(Yxw;G_vm&)I zyKNuEI2D2>wh(CvtflWQOHSqCW7$oaJFc{k%}QSfTwcPE4fTZI+`B)d`^A31ysuY% zwMI_|nC@$nON3r)_jpW+&~3g(J!h1@E4Sh>}mi;CcU4V&Buv}LoYbBxwO`Tq=n zyX$LyuEGD$-kbecmR)ClYwde)%n_N9W6i}HSaTIwB&F6s4J{en?e2cE4a1Ly{}cZm zwps!RNT5ssv;fPHsHXWMuqjHS42x(rDYYiDD3-_?n3Y+X8FBaW!`Z`HYp*?=8xdJm zq(Y!7Gcw}dbI;l1x4!-R-hKN$xOMA&006jhd;piP9>Uhv(rnkY{$ce?OA8$frf;<+ zUdkv};kAM-0yMer^@7RRDS(Umq78q(XHn8<6Re5kBYd(N3a&Ot&J8y>!+HjcQDwDS zz;mxX4llj%I3NPN`R1GO^{;;&Zr!?-etzk8;b{9wxOwzC9Pc~}Tg#(-Qay*;BzChN zBqALkii8=ff;rDDD9lli_8im7nB95bV`~h+45+BbeUgSho{txWO%z%l7yK)`7Mw5_ zlLqB73^m-3*z=Gi+ARf0nr1XET4onBFnv*943QM+Juz)j;4pGl;iPY|@X6>3b~J^5 z2FJ8x&(yE;bMc;u^wAmZ0yEorK=jGbO62k!6P?jfXa=U6a>Pm!+Eu${SQ_L-1j+%O zNlcF>&d45jIS(*9%ps#xK;nfH7KV2yc1_?>aK=+1B|Ni*^C@I978fu$#6=qybcpbp zLDTg~kPq)<7hyJn@&P#-b0rGqWSZ9&<1D7?JAkc35D=IH4?^ZVHJr9CXY$c z_a4QOh{$awJszUU_DcdbiV8`Fo--!6i+2>Ip2YUlj`brS?~^yia>cZce4>Qbh(`(x z*SB+!*h#TlHJoxk+u;P$W&lg0l zSq%1M<(vfzeD(Pnbb&@z&Opk<2;dfyTLc7fayq3`f9^m04%~k44j>{t{^&LM?Emsv zc;ty|;1+HusE%p^TMYOFDyqb!jAp~-Nw<9Q zwR1+c&_YSTDa%-Bjve)AGfcA=&64!yFv77b!O(2Z_@<(4T^t@^Z1>hAJ#p|X!gT%m zMp)eQzYqc1Ro{_Q0oWK(``m9T3TYO(yPVC@%)KFF_Qm>G4t2ngUVnX9u^4mOKLEhV z$qBso&Kl($I42(ddCslJ`Yq-KWj6GXr}>NSh%?f!86@at>;N>&GzskSKyPs_#!Nq3phDB zfiHdOOYr^ge;>T}>h&D#uCBthy%*u;(Q9z9{V+IKWmk4sr;yMDSXm}Ne?T=&xAGBS%Q+woc~<9 z;v>hJFlX5%W;kYdv!@DMM5CS{+IwStLt?On!` z@DVHUyL0el7Mi(fSoY0~o1T8qGj}Z|?G>3eH(j$!A(oH?`001NVyy$inTR)!s2&6+ z>T|7@vEG>$JL$hJ5h8>Z=U6@<6P`JuBw>D3?q0kP&V_rj=6m444tEj1T%H3<*Y0v* zg(H#mzS^^UzC3UFg2jdT(e@#2PWFBOobkk|M9hULY1Z z40^-Morq2@-qBHF7ZI4_7u@5b z0WtH)mB7sZ9$n&zTP{8`q+=u+uAADPF!^ymF|tsC{6V<$T}~qQ;w!e3JdjdOqBVpy z{^dOjH+5`L<&8YFX2Xth@xNj^Z$KoQfSnpU1<`IX8g>RrF4q($6+FD<= zaVRzkog-&@7!+%qDCiXf!gnblwHM+&msk|TNr`csBMtztd$0{xjt}AFWDO_x*RVeI z=Hh%zHnL@NsSlDULR#zL8ex=%N=69UVMa_`7(%B~f3wxU2b*nz#P@0+9{X>lUE$hk zJqJ57LMCn*IEl!%!xGr;bjAm71>~NG5KKJ*bk2rOsS4UR2ixe(ue;)xtSOrhJ*Z@ip)Mr{qJuNKevbw~l zg(eyhI;ndH=J(Nye1QEEW3@Ik2hUP(gEaG6TeI)xQH?~k5+GK}HdKsER4v)bc^@lb z?eZNtTkpYo?Ew+t=8a3Ry|Xfz-L>(z zI8BZ9enZqc$5=x$jkN5X!-9iF3q0eqe9g)W;@BBa6c74UV)s8f5yF>d|-1{3rs z!pw^L*+1BYr(b&ljxX;65y3aV`Aztnzxf-uckf>H{g!SAj&`1an@6w1<=y9CdwD7F zwu5sxnF&ddPz8R36|?=RW6W@Ia6gCkdHy<6`(7+G0&T)^h&$*}ZutQcpBYMAHgK+Y zSqLeysYDK>#&lcSlLT(w{IB&|DSS%R~l2;9PF&CQW4&au!)?&e;vRoH3dcQf5{VsE>|pa&Kb zN{)q=Dn#`3eM*>=gdQn$M3kCgdM+NwO+^nE8T6r1P2#iL+ea}kdRA%83KyZl2ve0~`Yq;Sjz+Ae>p|%X&o_;A04}hS zT3(==ZVUt#OhTl@N`_go%={W+D~(hkLe`1JO$6zIsV1Hl|r545&fN_<4;PG%q}G>gp;4^$vzqGxVY={39@7?FLh z=vt4}ljs^p*09jAg$R}@;6;chwx)hn>O zw>^sijmA%rij*uW7RVPkVDQa#rE{KG)VkuiPAlHaM%=4&g|N9O7AksJUvs3v?d%Ng z)s$A{MB2g-*fp&=PfA> zJbrV0tSMzItX6Lp`S-{WrLZGWp7$|roPBSY%b09PS0Sd77DJU&nDXYLCcvDNdF+vyA&nK=<{}T8qZf4jh-86owQ+(-0+#=CQq4$b)A+N ziMUyhORP++l~~SlMx^J^CKyBFSR`(&tPP1tmZ;`o>nf<6r_DY?W_d^Vk5=N#Ptw== z)PsBbZklVZUO9yAomJJqE7!|pYM^#axHe{3=NZSJjAeb1?}VnLjveRthq-Ok-0WwW z(=7IV!2$0*Xg$F8*ib4g{5;ofwOJ?rce!-%=#$ss#pfOa0D^bleHZ@nFaHv5-@ZL? z{}6UpSK!Lti*WPsld!-2C;)8Rxxk=wCbk8i^e_-uh9ue<2a%JP)Mvdaj$}zA6P#tK z!SItX9wZbh+2@c7@1)uj5Pn50D#tkl^x8S#2*+dN^q(M2Ei8> zlgSpD4vHZZ6IlVoTtTtRk9w)+m=KSEtSBMESfhSRrS_9GQzxkxk>o%mFu)WG1o2sU zrO_rgJC(TP$O-4bk?_1GBu_Nh%J+x@b-ZRLPMIq0&y&oV1cr1*`C75<#{T0{MTR-P z5j{H=5UK%uT49Kk>EY4@jrVTq_~{0t6ym7VuH`O(MB-{@GsQ;FkSIv<*aZShPnE|; zz3m^0Wbpb>3>Z2iK3DhxguE!vFri{RepW-FK&j z=kXzY`hWN|Jo5NeaEp?4LxaMvy(lua%4s!Qil(E-?c{uqMmjqg$F1u;%(>y1d@H2U z4ReICN+xAzd8M4pAbEq(5Izc>l5v7Zci1g{?9g`J2+X7kp5fqd7ao213Y@MzT)l^| zJ~?f+iD7wFo!cuN>GmyX@&5EtNEBjR+czSfjqVG&eG+sz;TB4xj0c>jP?skNX54cc zZy+2+f&;G29vQfL)R;PAxEQi1iQl#UU1z_aO#tm3ktd_iQe}W65lX>+KjxgM!II+G zK=s4m25eKM`tlkt|inLV5X#?2uo358ZN!*Y?`IxrffsZhFNO7@Z>uak~_9 zq${7QRAw?pP89wr-rsHSx&5lOcr^s*h69hZFg#-`9v7|=Hyk)O$YS;(o6hqW+Uf*%jmNx$fmzfMlq@S|Jr zhp`jk@}+%Ptrp7BO~va(bdEJHxBG&%Mz=su*etfR)}Hb-42cnrs%wX{kNXeod2V=} z)M)3`&rg+fiB|Pvv|3n%xZx~EI5zrj>qJ02eS7oa%kc3}KLyL>0`A|x4}bcne=4}( zBVP-*4M*FL!_C7_!tw6&u)VyTg9(#{OG5k=nOvB8**yCQNNm$(kHB&rP5L(Td`X6g z;JKY*@5QmM#$r8Z*ThgzpUJR@Ndx2}p5r1XaS%Zke51BVB+F9K{OST@JL^VyK6G5* zUQB2fA3wXB1lN3@DKWAWUL|Od9MO@)Zp`bejPFpXE-@Gr!h2D0ZLR@a48@E$$>pHb z=t#zhl=i3sH-mc{B&$1_h)Kfd5hgcy)GFi0MZO;PT*S}!Bf0ERB}YbQcRIxoZL>ii zb*h7T7Sb7;0A_=0y3SaPa9N*4vWjLITY^ldB%+*!Nbzk^xW;(_gvBn3juZ7e;Spv{ z-m#Z*F>p|*fujF$EQvZG%f#xOl*$_!6E4GRJEVd^o(G1&<>8Grh^R!9WS_)kLdmy| zVrxo|&2aj-nQ{oZVe$%zSYcsun)6g%F|8sMu53N#o5#kIFdkbFmdw{E5PM_ts-Kz7 zVtuSsB}Y5~Z?#kBAt62k1l~Clw>@#Z3#CPraQY{qSXP^yBYE!>T10RUe131iy|2uj z@%g1qF-^xeq{x-sGb>Vny_}7fUie zPm0oNflH+kz)FpuBZ{NQs-`LXa^k37DTIzR`iM*23qkf3KlVMo6@ytm(Oq=HA^Ls8}`wz0c~g>2HKSmyP5}<=n>>(gQGP8T_UC7A{F7Q8nP0 z5jl$S@qRj*MDZk^Gj=;M9WWtVvYwjmQ@kgsjj9pGXB{-zxcO=#>b@?2Ru!8q9wdGaVg z`uBWOT`44&2x*D$;8P;0hRee$;WMyK~?rezd6ZHWxVE-68J}}0L5gtlKvam*r zDCP`+aN~2wI2WsW8|3s=%)|2bB_<>3uuX)TZ!CN1HZ!J2w06tgjvclA)vv6!P zPR3@9W=fkpumx(4e5wnOn;zZdA(<8m1pwgi(jFXMJAm!272LjkcVb6Y#NL)~-F6{L z3AYx4H+RilKM4U<1c`98u~ReDx#83inA-wkmpDBvMk44G@v)a3IxV3%;XT<>7aVI1 zmwJPku~S3tJ|p%SSePc|T|zNWZ?eI}hP2j`y{NV!v?_k8GES;s71uZVrk;U#v$4o) zg-_Xqz+NC8R)aL9KuuM#awO#N4EyT`@}<4fEx&9%20->ti_}a_XbTzr1v^46|9Q*H zJ|ZR6#PdziDbx}3TXNZXlrqjDp~-t*ca8UA@5m4xYo{%+vubIbX+w1ajvCiU&3TZF z){8^)J1YOWMB>!~j`19xE`0!F@0>O5$iE>XESHNk-kzMC7WrBB6ct^hdd*1U#O#>g zxaa&9iMJA9Zf!+rbtH&IM8Sf=2^Q_8qwDRwWVR@p-xEO00i6J`U z^RtwiBO)to7%LIyg5fni%UE0?X_g_q%FF8|7ln0YY^O+iU`3^9gmtJ+QmEH==s-NY zSg{dP66qxA41Z7lfOH%oR3*}pk8ra*7Iypy!Y3wldsfMyR04|0ub8V>l-=jTCCp*@ zDDC%L6s--R)Ag1MJe_(<%sDT4YA6$5Q8{8+XD3#HAs$^yrXDUF%7xhsbHgW=-WyX^ z!Gk#NpoJ*%a+Kz1lH|;s_qP{4yNxe+-;k0ujMmZ@mS-@f*JZ|L_n0 z07L}4J6rHC|EHgUr=NQSmdi!z=tWEw;yf|c*a*w=mz5f;CmCw`gUDD&T7oc|oXGZC z$vW~B07Vu%&dh{|_sg))sezWSgccDg{lKNV-J42L)`#;JHZY>F?f z^B*nwsUpgf7Es4`a#l#DMh{titGD@}&L<>2ry2WV-aZjCE1ZkrS{Ua=vpE~AmZXEw zrtuEpiS+q$r8Jaj@mZOu3DI*TxAWhGQn7i`;JkY`*WBFHZVg7r0l;6q* z`LK!MbEH@{VnVId*lPb|{8XK`ZE;6xVdx1pJM|Nw%cFE0|FPabRzp>=Z}{0FJL6!t)=06r4l2 zbLS3x_q*SPyLa!N+f{BakKuUldAM=-DLB}E931Rq7jkqsvy0~Z=jg~S);V0rBW2ip|*Ju&r z61Oj&88!nl#0z2rCRcnEnzJ5;S)U2!7<80Ou@DLgNe*FX5_A+?=a`Yq@%_?uGI1MZ zHeeFSeP)4!%bI5j1hw{VkSQ4P8_rD+mV)>l5y0uB0Vw5c2iPk9g5y z(&}6?1?RDyYh+~TEKZ|WAdAvj*F%O9Lgsvp^9ZIBN@C?gnf1*L#t~AHLIA%&K)*P{ z&k;$qD1WPXEsof6jpzbTZ^{_q#2aDMu%p0@1fCt2C{I`_c1X19rz#K$=5k(2Nd<&F zuM$lha^9!}#~D~PNIfJ}bbb^`r_vRd+~{JE041b=v4K;KF#fyGF5>E9Ln%MRgE5&n z<4JzzB-r?}LYAs+$f{TfjKu@s7OmNrokQ@(T#4niqp_-q_lP`e5bSfOd%KX=90wla zftsn`U_hV5&Lih#RM*PFX93hR%*^r7-W+>B2e5QoaP9C}xN-RfSS|L_@2%Hs_@h7i zBlz9l{arXcJq=-)&%vkuo0mfn4b_Fo4Hg7isugGo0asUBWX6jhbvtUoTND1u4L21+ zhDHR5zBshpK-2ZvbBSxg-MWtPMQl5e32Va^H=2)zLCX-aylrCmsgI>F{!sf)z1=ZI+>Wab2uh?5a`8 zb|l`<7KiImzgGMtfsIf>LpsOGyHbHm;%!kEZLkuUITjc{*1~Fc?W4*C?~PS@8R-@i z2Rwf7op*1;$^Erjf6W~;(Oeah;sN_Aa2IYqeH|7H2dAf}@U3rs>l{UJ*3WPY4z?eI8;7sM zmHiiBdvzs+E0PlGa^9XU7v?iE5#Pc0?ZgG`pz$DO@z|j{@#?ekS>Snjh@i+jqa@mL z+)DZxjv@AwPzwxU66FWaf-tj=2Fzp|KSRVRlR%{;O)j#*E7K*dRR$e*Ku4-Yq!KV~ zXCeT|Fhy8H61%;3c~;`Igm|wPl%3&7ITSMKd=m#ev8{c^$RI|MR@t+;P#*uyV>0dv z+=@k9bdi)n1%`!xPC}e03T(d{^-UBAS`=r(Qd?oTVYDPdmo;K;9!{aGB#|mYT?#1Y zWUvWs#;HX!vFDh~Rg~q)RNw#!uMmjQ;3!|_#={!CBLRy?)(LqqB@%)sCy*Ev{w^Ra zz-{>`A1Hx@`g34BcUwaiZ&MY)kumv`Xt2nr=qRcQ(#6e>4rKkGbJF8$*`vfASnDD_XtF{?bTb;$T8LzSfn6K{#QQ<}YeYNHa7GCfaZZ$qF{;^kzLo%k8Q!rGgk276k^Tj$_t z_YpYUeF#vcmJ$(s|NGyEU;p)Ahadj%hX4R@>1YpL{r9iI^&6L_Fw7`$AdWHH21N2w zqa%9xEov+f5+Nji%N^VfvmDS zC4F)Q!94wOR%FtgF}DX3z!9~gbq>8#5bKT64}u-u8!1UiuO--x8p4kJ6mjm*jW}l; zlxr_5gJPuEiFon%rnRY`(-vzaZ<`@YMvyQy1sWZ|$>X-DGOm{6Su07R)q}7*fxB>Yg5ryuu^2Hoj4!^hf>Qz z7!fvGh53(CDB>n#Rk1!|e_ySZaPMFV&N(6z2D6-q;A4BHl{F(-k!&l zR_i3S?#E)jCv!D7Xa0N8&%ZW4_gu|$xb@~|NA(2a-m^8~wcOt|zU2j1k>{9i^enV@ zumjhhyatPfgOd{vfBn~g4e!18-i2Q8_VO}pFE4}NIe|O(--P#1-h@*>3GdF3N(Ag% zd{-y!`y2;1bq z5dnFZNCw0+_yCmMIOx|t76mf(BEG+iGzI4;lyv+V=d&Z8qe=q)S&SY06adpv(W5AK zB$SF6XG7ca>eMN+6p)A?iFzxsouWETuudVE0PA)5tS%Sh2zWt;N|BmpLj|oBg`>Hg zCxcS!PkZr5&41I3;GPK9bGle~4(niU#==l{OAN-dwm5v% z!KAV=97QAOV9Y2o@}SJa%X@I+`X#vZ&?VU3*;1l)eIYuZ!aUY;v!K;yQ}_LJQk=lb zwgJ_zV67V&yYl{VTdEw)@6&;MuH>|Mp^Cz0G!!y<dcqJ6@j z7#NgV-#>4cc&)V3ZTUTRm@x)euipYYoQIY>G8aIv08lARkvWpsxC-v(m7H2oCr3!Q z#YY6~76PC>H*DT!M(;C@cacVT8dk&>s=_-;{0>P@DAaOGs3L!Y@f)o`fR<+y+4$XG z1?ebiY|IDsfwBhh0BEB}pi-_vHUE_FArV4aJg3gJjn1!@`(76sKbH~BG8_gK|tr2WQJQk-?TkDVE#QHJg&fIyEI-?pw z-)sT^u(iE{qpJt7Tr7ad!*{>?UAT4YR`bN&d3`xt!NK;UaQ)zQxVrxm>@2SVf@4l+ ze$m7@$&fJ=UY<@(+7RYIPAn*n6PZEICCt!jwiObXiV62I3AB!{;TV5fo>r39I5uJ|Jf`Xi2@w|gQI!xR8jnLv z_l6SILxe)2;yv-iVfKDetmhjX`o!Pc$r-Vr>jYLfdDVt2ai}t1M~-;<;DqUQSBrhPy#EAjua24<>Nnna13ve; z&!x%r_|iVS@ZY`+*KZsFI(4+$5;-?qK#;k?qe>MO&6NT+Hq_YJ-ho<}W(SAz0Flje zt?Ko&7MQjZ9E}jRUbtH8J-B>;fJIzX%K=_xB{O6K*4jox*Bsdt>R?R$Z-@vlyz)5w z&;RRx505@^Ewxvj8een964afkZRt+l4ZCfi>2lI260F`6EF5Q4koAo#r;@*o4a-fj z5QDmhPq!&-F7vUvNvO&kSZO%8nLylfV7H1Av&0C+HPr1@{5b}i@C!L3U9xC8}8n{52q&{R$GhW&Lbi#E{@Fb zwb`*YGErsk(HpbsYu}Nv^uri_**e7oo%J>h2*f!rL!SHu(k@{bs{~s=%hxxf6Y++H z0~%-t`uoly?CtNs?(P=czH<-We*0~>bLS4M*K1fVmk;b&Z!Ipt*4`!XbOLuz{t4c{ z|0bNm`%;Epvs=srVQGMjS`jdjxma|DJ-@MAXW4avuT4@{i4JIRlxQFVof4eiNkd8^ zGDx8&eoy`Uco+p`2lhkp)4@$%D}Zf(}Sb--`mcI5ilr$75h_ zhZkNmu^QtTNg1;OkX}E19?B#LWWqfvot0QlV#N7k6pTro@&$JJ3{XJ@*#Knbpo1cK zHR@{l^T)Nd3!j^v?hB0Xs1b5RjzfU8M_4#%K;eZ82RuVjhPe_FIKW9HcLd}~y71HH zJGYM%${Iv(2U7S(WHP0fvSpI`NESg{;7qfw>Y;EPXvl_PH2cC8ZsW+1a7Q zkQ4!n6z`{3%kkixXE>A;Sg9&MS`_kWO)UA#q^>Q`MI@t+6ob6VUrJ~ctWVvft~*wd zyu`rd+lk`gv$_iSHAo&4fBa@>OYXR#bY*UE<29{4KaxRVa3)wRmT-ChDY$w0m8Jj= zFuB0L{N*ph*T4StFkmD6(yzP&Mj7gO+ZT1(TWiDG3NI^-G9_psZrsb0Y~`n>aMCRQd>O!O3+VlM zYV;9~wyjNm9tR2(BW+mr>vFuq>a0eU=SWH@uaBUOb2rVuqbZ$IMNaDpa;Vk~+MnDy zUr{3vYaj!4(V>M+jByF!(xZ2`Ni6G5%=mJTx?^Q*U&+_`lZ)@#WHPdOX}P{-t0L9}C0ztmWg)Lh*y zfB7bB(+~7H&1{!L->0&$qy_5ax{N20t%}MBL#&oIea^?Iu+w&MKp-y!=$#cD9_#`D z!0p?&;qKkLaC&5NoH5EQ}rU}&9S%F*8Cm@+Nf9CKrfAk84^CM+*8#BZ2oSw>zIoG0EhWq~vx zNK%uDC=Un8fEiD*B;mSfEZl*q@+sI}Lo|8Etgb|iCyptnkYhrUqnjg?nQK1^;)G>B z2D<1hr<{jK0B+$6<0uc~@P$zDZPPi=;0ia$zZclPg8TC+ePqHAH4;Ze=aSJ&y zW({X%1Cprnc)@}Way)8R0}1grF_sxyJRVa>R)10fehi?lJ03)443%O#Z!%M5DW|^L zN3qx-wNMmfFJgW3?~)3|gb85pJ<701lCIIj+76a~Pg1fW2+SnRu4xO0A}TLViI=R3 z#KROw2NQ77#n9j^&KwpZ9k4&k;85}?1V)FP+o@myyciNTvnUd6Ayq4*^V@oW1k zYev=F(0Dy-pDR~~yEoyX<4?fB&W-Mb=DmmSeCIpxxzBwramKD5AHpmD?o~KC-p?*@ zBe^TrRj}#S?M?VtSt#g#6>guFcsB!GV&?_cWLjIq95G4OM7o;rWqyy^8wVQZHDD3; z)Y?Kf7v@Cf!nP2_szr~n*e^>Mw8X*M5y6q8gVeaj@fL(tGGQtP7r6DvzX|ULE z7j4`^zM9w6;-hL&A^&fa%{m%FIBoDys9My)fxc*uN!4^dFo5eO^rP zkswSOD0x^*TYh12p%ShmG{Ta)2n;_%WJN&#`2LJ%@{@wfV-jCjg_37GN6W7OZR4qZ9L$KMS zdu(@twgbB6fr+{mvW zvDlyr1ENbs_owseeZ@7iyhhLX-oP=Pz%)9K*)bi%Qv;p^3z}LG;Ta|bnRb~o04T(CXoH`Q8%8i`(5U4hr>WvJu>!+$w z{JyGap*qR|s-gx8#$PkmIY+r7Qq17_>JwfFGhZAN=0&OkM6yCM zOofD7-+C3#QzcUmYd8&Qr|oKLQ_gWf?h%6XjPxin?o{hq2I>N)yQ?TJ4D5)I9dROJ zoc{P{s(+q2eDF=SdOb!xw$u;nC<$PmTp96sB5ZE?9@cjSP4SwxV%Rx)ez zsS#9Xfy?n6tKw3tFxnER@BynRqr80@d@WmCAk%S6jdcbM%tifm3z`xy6{QgZ87XXw z?$nTtsY<&hvqhrOQY~LQ8RH~Y@0wK(Xwz=>bz8|YDBR-p8JN`kM)~YTbG+{(Z|bNf zi$dO`M_Yn-H+cCY@U;oso2YKM)jv~`DhQ4)?ZM-ZUIRpg_1eRazV{B?y?4@-9T5TA z=RT=fgc?PdV5Ob3R@|G8IWS|KJWnyVw+^)0cMm*+)?T54QPXRQp>U+?u~@pW`_h}Y zYK8xv7`|9I*x6YD;&gKR{{8z8gb6IH;)>1CIml=OMz8B!`TSp6-*!ScziCJ7hp-c8d$=xp+;^rcsXPI4F=ho}q+y0jLj1l*miZ zI20T@VPvfo2&RtXxJy5!{xadyv&udJOR&wIB|-BmspH~#riN@3Cp@c8r9q#&aVi0P zJ}l5lR>O)3)yvMs!|Tv0`{)VMZNt^0=ivIK7h$#7ow1lD_}=%v2fz87zX|WZ|2`lh zJpSlac;#Qe413||6;?#e>P{T-%)&|^uEG>CWFZBO1!qm?!}NdLCqnJ5HdVI5gIO#s z=eLD#7}=C`%-5sc&)mvlrR`M3OoOjS9l@<9gw_OX!TnYuc}ol*5dr&ux3@-I;Ii69 zS$(&~*xtsfwx!||EUEZPG1uT=LuiNr+J#qcDqGUwnAn9@*B^KxERX~s`WVgdbk5!2 zb^AYOf|F{mSdIzW*{H`6%e6l;*49dXmVh%n5Y@g{V~fWHWTp9yy6w)oL9K~j*xd}H zS+p$NrYeLa7v_}gSQt7;?f2~*7i;Vv#khY^V#-+r^WN`RZJJE^x-OPmglRNJl=vMI zs|x-no3CA7qZND1$8f9^8q4!@WX=uN=^;`=w4OOYiQaV?w~Q0zp9;m?WXs#-N{-lC zt%aS?SuR$PYK??Wl?c=xCzdtrUuJkqyJ!S zFW3;Qskhds9sfSh$qjMV^Fwotu>+i2c}ekWwY7r%y=_25@ZQ78$;k(XL+O337Kd=O z^DJCD_$fHtehLT*n= zrj+l7;x&0g<~kd3UCieb`xxGji|)YCC|o4A@E}}o%Q|2#2Bh_0cwbRUZrPcJT8h(hJn1n(Iy#VBZmynuq7!Ya?J-rOyQRfbMXcd#pyHD?o5(s zA4Fx?1!lNiXT%HYY(_>I@!^2M^dT7Tn!Kzga1cuZ^~XR%KZ%VlR#SXVSdGUn(nSbI zH)T+~LbCWZit3F6DBP+%$(H|YWc5VN+C`C>vhYWQ;^;>f$WaD(vQ*vF`5jH-bxj)b-r8;i-I)oob1^+s?Uwg@z0>z zNoePR1;iU4lm%!KxEK-xj%L4-5emvjM8c_hgp~a*$dz-)7mEux+ItLcUVaUBw~l8| zR;Q<@@Z~Rm8NT+luK^LkV&UNDe&rQ-`uRs-v2=w~ud4Q{8`4TT?=2qe-@{S_L3@S4 z-L=?xKe=&gx%}F`(4HH7%$*HPPT4SIbS569B=(X)-|P!cV&j;O8(}pdFJ9n?E2=9f zR>B7@=Xc9F(c8e-8)GyCDfvnw;%TyU$eQG;kc6jFr^5fANaw7{_Xx-DmWP2```pL$`jBSP@-CX&dU zFRadRR(|&!QMI)Jtrru}oFgnqQ4&!FClFGxta{Fa;#!0Up_d|&J{iUxm6q@{qCGsQ zuT94MR(r*!NM*~>7Ac$gNliJpb~R|W2&%+K*7`6u<^rmS;bl3jRxT^$VY{$fW29pv zLfdZnP)N-^T$2{d<+yFnE?mAxgVv9o=?;uJz7={oN|VNO=o24kAH}iaS-CH2zn&Jx z^LSRurUwT*@X*sY!8r%sd-yNk{x015(H$W2ji;++*}ex~0y=UaZ|@9j3pwwwJKIy-I)g-h&t5;t$^!;$m`# z?|%ZW?7sp#i<^M3lvaC^Du|QW%h1Wig0|;WRxWh2Te!Zf=BR zuB623j^T#^F%psqz0bN#v z%n>LZtw8i)EFs2zB5^%D?l28ds@lXCz0)xj_Swk^VV+dbq{D&v4z;Tn6ADL%aAIZO zP6o@JSD%oH)`X1-kF6X~vto#HsA^)<1MF^Hg@=w`gQLAi0nu$RrxU#K#vAZkzx7*i z=gu7%Na5gumj>Ew`S;p^=)CztEKkKWPjNP$$lOAby@4m;$pexhBee_aA!|qpM~3X) z{j4pKOZ>U59Tp;UEp!%*{)ElA*nSbH##cAhlSZQ^;s`SoqPUt>y8_`z;ivW-Hrd?M zyosooSBf@9G?SZuhU@7H-evJ;T9ir_F@bjSGKr2PMuM6>ORiDM;S5E+(W*^bCzLMI z0gf~N{UX@zR_JTqGT~6$mMJ%Aj&HRHNq#WdDvVGyH=z~Di$+YR_Gi}**`pz4q1Zs? z|5|p2eqbXz!TI#Ct4z}d(Eqex61rkKNHw)(|8W;`NJ!4wGFqe zP;h(fk!v=63T9__8?HZg4BJ~P@Sfm1Z~PG6dFwqmIazN|f+*cHXsiiZC!w&jn(jS+ z`UtmyR+h)e?-o6iH42>@0(xJ`*Y&-P)dk{Ede5$ACYW33h(EJ%2>W|G$qA15(E=&0 z7Kd=S`wUz^_%s~sJOeAY&m7i}5F5ZnL!C$Gqp^q`srM}NF6cT_Z2(gipqL3GEr4bC zMchdiD=9e2X>zJ7y)6p7(|@x@m&Nbgx;dkIx?W%o@3MhJ-nP(AIp%mhiOfD+SNe4~ z3FAJ@lny5&WfsDvb{R!{j>y!4bQD{s%gwrJymlY5{}S&PFd>7{1$~tTgr>YtEccvb zI2iadi%#*#WhX>onnfOk9W#icK%J-?>h&DkPbx=t+JnWS2Tq^O`zWSI;X4|pQ4%l$ zyFBJUS-J^8zQ>@P-N?T0ly-`l7uG6yvs2ESfN6~%zz=b1QbVv<53XV*;5B*jVQinn#=ad+?ylP?bV`+yNA-fZsz0u(jNW zOM6ek_UiCVlhVn_3H;$7{vmwrYhMHJJuDUue)bn$f@fcP3>FJ#6elYXKg{>OCLG3N z{{(GEt0k(5MHca6#8N`g7f^fsmMh4@e_&%H3FjaevXYpri zfQObN8V#|oaMGq`38rIF3^1bt%pQZF4}sJmnztTnnIvO-E*HLq=6xN2`D`A`&L|j=}#g2FTjr*(rP^_TgZ$ z1RCS{NI9_FtW)>*Jdr^&4&{DC+c_D2-m$eFR(#3Av|!|y)M^S=|FAMe`t!wRBHo;1 z|8tn|n+k~*o4Q}nu})#suih3-b*UpC-ldALL`I>m#g9cX_F8MDnkcM&>S&Y}{ypEEfM}lk00Ml^Qavb&}*G|7@X;v+Na) zhUNyHDWxViQs1YMfQvata0k~FwQ+?idk7r3XCwE^IS0;VjM{p={!lT&$H$5V?5=LY z?&>C-uHS?APreU#PksPIYfeDPqI1+mJTn;()5KiXgOW+k5fjxBh!GnEj)d&AFs|W5 zM>sGC`SkXVainPqQuG)uBMbH9!~2O~%8Xt?wU>zkIC71The&dExDRgQfIboJjqbBb5z{&>+QU{_G>ulX~V_*7=50eO*{ zJRv}D#NFfkX)?P%vOg1Lw>GUY+1oiUhJq5AT*{7##2$cL5MI|<9~s5&6EmMWHpDdp z`xAmjw&Afa8Ow;Krp_&MbgO7Wi-f_HV=O+qVG#;Og-K zeEe5mfJ>M6MfH_rpWFZdAOJ~3K~&v52B)3ih^AOrgr77PO{1Gx%V{M?3|SQ715AH| zY~e2IB4RDDRNtbWIL$YDHD{_8@kYh(wjf{kHxY~l{`7?6xk~-q4Mc4rSQExK7f;Gf zt*3gVtG*N2ktyBbmH=LJfA=@m1Y-aq_2jiffS`9M!0HVRGBR{NjooHiA)Gn@7i%d) zO(Bd5VH}&qr*>h+c7@90f7M^MlGpSYfM6n0^tjO)LpBu=vDG)ppcL0c?j93}6;(-X zf_YIDhKfRS0}ksO)K=@SxmiIxf2xinB3}V@j)@VsX(F$vJN~!kpVnM9J{FIUr{^Wm z^qw(x+6S0&cDbJEVXCM=o|MQE?FMg+=V;Ko?QsUHOxdy^NyhbK<&(?#qjnOCidjHj zI|G=iMltwzo>&;@R3p^7?lh{f*hZSj86zbu}2t?-t^$@DnE8Qv{Tli>L3Aw2i& zBY+5S|Kt?@@!Q{r_wU{VeXNReSz#dhvNjFZL{3Wp?_p6slFzq0cG~NMW&myF@44OV16nwe~^;{gW`YuaBbpyZ5zR9KhkuGjQ$TGjO>346NLt)JYOeAci<* z2Q~&_+j|KSBa$;kL=zJ!-gMDaB-&(h;CksYXSxxB7F>DL#mu;lT=1A_hj|u677WP^ zr6zR%vN0Ee&PTy+>VT2~GZ7VFa)$HY!3D#1td&-%yBgRgBgYB~k!c;t5;3S$aIK@L zPjWvLjh;Tb##P5kNIx&TGCG3w+JSREGqf>eJ~CD=Vh+qCj*zB|D&g$%Oc!AB+{j#E z7?2~}&K~ZCbD#`;L4$?u6m@#i8Qza{f_KsgX|qVv(oR>{M+8%pm|w5aJy^mvtHBA9x|g z%KJb#+#Ff@YSz=6~6YhuT7WZ5Ptr%FTr!KJ_c^-nhTxkYM6-? z+y%^q3^WAF9$!vx`eclyz0DOaezX^9wFQnh{zdvrsJk)HN6?KE{{xFIGVl$31VU}2 zGG>ZU!fi)RrG^Y!b>X+5kwoLdTSM564siYNC2taj-4y*Jprg@*`g&|_uy#+IVWsx+ z#V8k1@w&7jYeM4&YN0>2T#QZ8yZUF+BI58ZFJ4fezM#evtqCSrX%|>44Dmqi7Ic=Z z@sf%ocA9No3(wqCV4TBg7yZ1(>uiK)qTcKx7O$;O74k7H}BwoF77 z8I}g63Q+9vJ{py%EkyO^uCwmZX~UnV89!4N6Upe?RM3iQciHausN#Y_$$DvD?_u$D_rjx4P6MXCc{abkF?b`u=kXwzNwScK8HF`Rw zS3IEsadXam`(cncYmR2|Jt8Z{q_P`p+~b;?TW_E&o>yxUni-7QM?Lk&h>_3RLoD|C zWn_R``JaiDe zVPZ?VkJQn8!0@I(%_yWs2l#?=FeXQZZ~--8Qy7AU3ExTcBDtnrESVsij~?ePvB*J| zo)8ubpLLI5x=sIOp_)XKXqybevAZ~ewbv8^rC&kLM2xElA90OAbWWl$Fho1YpFl9t zQ~l(#=ueo{VPXP}_fC--CcV+ezxfz$iOF2LKuRV3^=Z1Lq74WEK7?M1YfHvTO8RHQ zYcq{A{w^90sLXet%*bl`689(S?apOAos0p;Mc}%?pRl|P^5x7$fIu#zOb}`MJ58c# ztg<9QJc!|*(4GN1>I6r0pfNf|7kGL*w#02tZ@kWx5kY9J_iNK+*y2Mq8VK};AIj&S|x^qHA>%skuF~_`_%| zI(lz5Af94bni?!`jPG|yU;Bu)23w^I>Waryd8;}8MpS}+v*8;%O)lQ|@JYR~qP4l} zIU=#QbL%o{3>UdZtFQ_lcY^0}z0NIu(C$q#+I`a*XO=DO>Il^$I+?S9i%Oa$uEnX| ziE>>youfrOkj?W9!3j4QPe%ola-NeO=^E;(hhD&@i?uAoP-VC%uWfv$=LOFG@JdCW zvqXIPI&HDP_WN_!BCY2z!u$~vg_uhun)6>Bj&1QdFV?ZtG1)!aeGE!gxXd7`p3}b3joJXv$XBziN z3lV7LOohgS`un3{m!mGDnFR~%t>d8W^6ud|dtaUiypNn|XPSI|9KM!|JviKc3a%ag z6ddh73#-*(K>AAE3nE4snI=Rouc?C@+5vM$Lk@mS7!M{APs9c_LU6w;dSO0|Iu)&_ zYjHtyOG0!M=F+}jo#ta?1+mr&?)8FE?YVHD_sWqG9>-V@C_^j*lGl5XA&@A;D5JhiB~{4du>bvH&-8WJ&=JsW5fZaLzn6~5ETUyNGYI$$># zRe8FfLh$A}irmo;(m@;gBnA$9(hkFoaq;??jXUwb9lJJ?Om+x}otT3gMgHX8r>NuB z&N0b3kXL`{XRtXjcoc5-0rTlMOlfd1k;ESIWUlb3$oH} zUI^~2;StJ<=OPSp;TcKHh?oTFEL!K&9+*Qh1?xOq9}|nkq6$=XEFOnp_n-5J;_G@= zC?KBR3n-46_zY?a9AyN z;OeF4;M%1ZV71&m*GcB&B$hj7{EJ3Ts2j6@#j74x(6G_n# zg~W+~1`ikq+RjKgX6^5!7vCF*Tw@Dp>=YT|wN&Z>P(S9~IwD*>109|MRJTof*O9#K;ULX|;%El8%v3N#gXGzQu8O|fLv2{q$cF;-OU5$y173tNUj%8q`7QAb7 zk2Pn_G}b-vFM@Hb+K9Wib=<$!hj2g)qsDMrMgpMWx^9Ozwnn28%~E^cRvWZ7mehSO zYhD-~KQ|Q;=ZK7RW~Gm+?6gVWwZv}Q`AyyT(uFjBI>la&@zWI353IJ9@bDAY;PJ<< z0TI9t-?{~V_g}sT@4tUv>lmgw;0x3-$N_bw`?3# z?Awr;&ZwU1Y;B&-d2(t6aU--sk?nhN=F@0v52uU+zO}Ul&N=vT{X%fCv$_GtyRX8P z{ZGRF*293bN+FGil+1|Wf;f#{=sHO#_9!!r__)Rb31i+|GC*<)Le#Mw<-EV}T8jlG z+y@tn6AIW%WN&o)MiDa+3E00S5!%~z9~4f%_bj_g)fq+vfm^}GDYZ+1XRpgJx7%9!Q(08wZ%dM1rxMbhX#XpVu=fZ zyEd9TVEB{l?vC6XBx2!~C_Fqw@#-k?#G~*_%~2mjU?=jbhzH>s77IgU-V0XU!YFGZMa3a&) zP6I85286=iG4WYyi@DlI$r$IG<#?)tDJ-TKX}Qfe9A{b>iV?A_ZuBQJ@~?zgpxLLa z-zmp>68FQxuUes*mdHMWO&FaAH`Om5B!5@M!W+f1cHiiY%-CoTG$2~>Ya>Ij9|?CI zMX%VHl{R9gHdc%T$IXa)sJ+pKt-iScHjsyuifA6!1!A6jFKRM?6e+K zcMEx&fpGJo%kbLkPfuL%`={{j|MXYz&JS^#?zjHJ==WbFy=-=9uAEEbC&TPL{n zwRC%Mu=5mLJ^TzD?S34Vi=%Y+5DCCL05@SNqU$^Ep`wvB-EYr`0SOmEYHyY!ol`a& zg3z@lGvy@4uRSJ1qh~1ORP5vGW^Br95Ke3!Mj27PT!7a5Gp^+c873HeC%Kcr6N(eF z6az$2;bDrJ6Aydjds1dJO^B7OQxZk}Om=>b@eo=}Fdd6-?n_5lzORunPJu(7@x^XI z?A`}FOJsSo3yI_qV%HE|*M+vH1nNkR$YwGUoMurVi)(35S@*ScYIO<#qd4y~)&)ov zQkZBz1*CGYIx1(FV-JHh!dO)xV^mAxxTo~MbJYofFhkgR%BdLn){uESS*kDJPXo^h zWMX_2iI7zp5Nw}Fs#rm`?6dGo)PjJq$(c5t;iySGaza^T7UD4%#8b#;={4lc@Oa&^ z;p!}VaT`--!&LoCog_l;L5oUg#wO-)PRN|`IMBrE6G+iM4syh}>CQNnCFXR<*M+Qj z5UXmA^Qlx7#{euGe)f8M@{I z*8!Qm_98+Taa4$?JKk%@NShmc&Ji@+*mDaI-Gw_7x#NNnS+abM8Q$9r^t51V%3aue z55D-QGI=-JL{YPq<rTqIgX%?8%8Ga@BH;%SS}j$J9FUbb*Gw3lWA| z{BIg4BDDm!UjNxdpsERVSU?~8*Vy7}VPXjzCUVy#N1uw8eElle3Hdqmc{s3hj|f4h8q0MCBrDcIg#f%gPo|Fge>@BIA_ z;Pn1U^^Vs<3Pf$F+f;N|K^!P zH<=N$F6B9@Rz2WoTAUChjQvfM))(E<9Ctgpl_`-0aFOvKL=!8VDDNrIkuVuz$_k_; z`tmwpMD(JgaSA9fv$Vp;I6bwRk zc5`D&3Fd*64wXcaiUBCt;W2c92Nn?Jk;(-I6c_&qd-E>^mph698Pwu2vVN9}eYkP_ z3S2pQ78Y)Gp_9ma@4W}V^E!s%?)AK4H4QVDPcSw zWhX9#B33siSe*b%2msZ#R|q9nR*%nUi&Xlv+t=4#(s<)|s1_RL6!EKW?+y=mL=?A0 z4emJ99=QDHQTMjkyfSowxd5&xFxY8_BZ9bg&}z|Xy(t{y|qx>=u#A!r8OHbOIbzeTmGCB8vd8|e|(-+74- zJ#KPcOv53uye3mn^%K^kYRe!y>gWbo)g>$}f;A>wgn13m`5BJ158UuI=lnZu@V=4+ zM`jWObc8*si1ID?+XxT1R;a?p>(Ia$V_gRg2w9^de!DMTj5vLvVp1!Fo9cH*=L!(% zeGeFpZfk!8P>)$gb^@(*h_AMm@XSk(!&6V*1OR}4`oX*KmtX(ufJDKewP>yFw@&no z;DR2+_%!$ZT7jRv!T=b1Anf&tkw$D)Td?NJyMWF?)Gc<@atJJARBaD{=QvK>zjp$+ zZ{G#)30A8WtX8X^I1!wGE!-~bZ+{G~9DD|j_MU^)@-jpwNf|PppNVrM5WSP&>?Xkx zgZ>jVzht^(`=J=d36V+=qxvFaJgm#TXAn_0>2XswAtp9Ac#iPMlz}8+Fo8T8Uy+HN ziB=KZ)LhpipMw-Lb|q?@SnTEU`(`o&LK&3Fm2G4qw>4iA8T%k*mf|dIYetB9e%!Gg z?u7VE(%&nO+oH?t?Gz8`vzYI_nt_Nr*+ZsSIJpEN7!|w<8~0?Rr(+R;@vkwoL!sGH zYQCaSkg^OtD~Rytl4C6)HOAuj04dQoK5Un7a(>VhZWN}w<#|9R7W!Ixog!F_CBt&T zobP^--Awds{Ew`1ettT(HqTocN?(xA*Ar7?lTgpERqIY`%tsA8PIiA@p+XWzx$}Hg zqEDhw9C0tm8*_MFPcDhg-aGahna7=kb(#`_kp%%zVwC&LC1-r1%<#c1rt4`tz8-U! zPoK&2azJWrk+r0mLg}?w$U&?W@n@GSI6)-G6oqus@Y>5yz>7cqG_1Ck-GyV<@xabhBWqy98XONL9A_F!u|{vkOg}Lx-?Fi@ zv+yVgBkWKtB;k=oZw;e9vQD!QD3%a6B8cmXq-DGy>Xkfb_C^qyh=p?%5*EaRhNLsh z`(^FW61=%{{Jb_F45($$t?ez9-e~6H2@bt4HpR#unO5U!0KLxTHhlv{gYjQgEmVWd#ZXzwW+ziYy95x5+6t1*0rbYYe%9h z0lFN8BEpuHGrZ;If=1b8QxSC&7a%pxPf+uEc|p=HIZ*>_CD%q+h~)PCpvNi_ScIN| zZ>}&t%KLthUn6Umxmc9B?qckeJ$h}EX7uqE4haYP_Q;wKX9~~=XKOc`6h9t>IDOHA zx;4yN{)1j-jnpy`8c{Fl=lB||*3yU{Ehjm8JBRS-6IbD9{^cvMSU6a(J^b;1{0sR0 z8*jtu$!Sqk?B&W(r|tihOjLI9mWV!z`gmpFknB5Jo- zJP!c-QA0kp0#mIMa0p{3f#!alo}9w%JNJNyV1Iufc6WDSYikRB(!VBm_%*n+_cC1B z`wZ;uJPHfgN+FoZM~X~iLTYBMW~xLGouiR7De3ujf#Xm39x`Z0Q3p%eZ|IZo3rtf2 zZrqKGa6;9dFe%$nA9D*oxsw;cnT+yeEDujCL}J~&FgmF-4Z{=3aTs%c&4l?#7T16t z$tKUlIOk4wEQ6DIkwGtEx!y*Ma*>7ipjCzsE`l+cgPQ-o4`dF(Hup>eh|j|@?NqS7 z!w2*klMF5!q+@VpYBK?s6Pe)IK_7J5fYpxIK_s2;QER0&CM-8`+6O;mAUrPwMNp+^ z3*kdA7CFHagXrxTeBCAZx++z8GTr2<)L@wY1dm%=<<-&DgmEFRnxo`#AQeKpem{cz zT4HcUCFE01&rMYzN6EUME`=QnN%$3z6t=95XRf$I0_Qv%WHL`DI?pqYha_@Eg>fS0 zgx{FjE0HYm&!k-L`Qn_5DX%01Y+yJS3@;X|V`R)~QG8F=96BhbYolDv3WN5+?n7|% z$|qod=f(q@EbiR71HboszX#v>&Ub)_V7Xkt%fIp>JoL!1=>i|wNSIt?#c1UV8&YQ> zM??s0Y@*6aJ%V(Ml8hlXlo8H7uAZtBf{_;BE#@Y6Hy?9&;Vm(1)Cpdl@X=n!wm%CN zS2f~xLqo_ac3O?2imjlz5fO`s3gKJ-+uVh7O^C0DjnzDN*mPF*+DuJg?f2vIP%Jfm zR1|?X+TGC%QQRtVq5YFsc_%9bu%g6h*027vE;zM9X{U7&DshDxV^^brVf}h*x3yLr zvoS84ZPQ0wp}oFo3TR}X@iDB+&B3l0)naXGM@6#p5;khrn8&r=>5mqTn#8=tp9Ug; z9kE-EAo-S41&M&w6YZA9(F}v851)wCdvh+P%_s)v@=(W+&K)pHR1`PH` zoO%B*v<-X!jdQNR-CA4fpReOisEO6nIRfRHWfDfcxdy9Y1Z69TquJr5J$UUGUw|9e zF98w2xBlu4_|Jd-w{Y*?iJIr^{zZ+s0B7{OiTgH zK$U>{9;tnoi`SSa13?&#C}dPYjunLQ8Uv&8~MGATO%mn%4w6?nd9;#GlE z%?VmKuhNjLlEm+MAJ{-@8=fmStde2uLr68cRIPEUF8az8uMsabh!v2*hy`K<1<4!D>&&GN4Co zehn@iJP8h$4{*^;@b`cJ_wdCpei7E|sT}q6lQ-a{pL-UzceYITW6MR?3{B*Yyu`Cd z!F1I>*JAU{;aLh7Yb>u4+3H|rBhWt1PljmK5~Rz!HzI(y7qwD!uZec&w~3?T9^-&? zRtw1yT<)0*#NPYi8T!Y0ih#Y1Q;qk_5iOZpUfC~Hgad*;o7)!5&}`WRl2yn5PBT~d zT8gtH{#u9Q8)JdaSAsH}Wn>3bb4!!@zZwpO3(aK_1Wn)zRW@O~*gymJVyjrD9qzR; zh0eHD!^UU9#%HdnG&)b9t&);mD`26!RN3UVn8U5{3l?!mkW6I z`A6aBKl>6amk#c{e-Hln|N3+I&OiJR{Mwr%W9{5si(gM4k~VghHRZo#)LF*F*e~9{eGlHdeHWZ_@X$jK!QtWIKdau2 z*1fg53P-yy!$UAjBvL6B31CoRFa_ z1a?<$bs|cIkWvk)IH{9_)1U{gC!?uD3fi68s|Ocy$}c1ox~@1i8?hRW^#Keh5Farx znDiWz4XvmE03ZNKL_t(y$PpeW8MRbT5dosKWWLujHUrMs?`C(pJXyUa%r5`PR}Y`j z`;rI}@zaY1@$mN3_+Ou zD+%YA+bah1GcNLLxXg?}u=diNpOQr8HTySTSzLyj;9PbC$5v0s5@Z3)@-pWSYj-*q z%?p$YF{(Qf&y`Hu@r-?uJO@N&AZLvlxi;(~K7~ROEoCkeU_Rc;t3{Z3Ld32K2q%6v zu!qFO{wNH46nu4l)WPIzvEwW8Xb4Y#MM5=D1n-o0X~C6T?TiPGNw{Y>1xdXQd$!@& z2_S)AXI43R7Xk-ZC@2%~r1-N?Y1z0Y2ANZ7Ta&iJ+`qG!++u!~+5D~0a z3;5J8yaU!3Nb%GPEueTaBKFWvXkhF~Rkia@H{Bxy7uephd=r)#OrQQ`rwBj?N2o! ze9pR5j4jma+h{t!$(R+&D0XDu4~{xSxN`LXKK*ZAgX`BW0TID}`uexv|NG;=g7@CL z+jRF*<$n)GnmeEIXSDEYtwmeeI<1_Nyk{C*pR09!(a7SwTw`vX)h*Py@1sROtNrwT z-unAlKFP_+8g9LP8}8jZ0p}2&dFC0|-Q9(M{_1}@w+(ySPr#Lf&%mX<7h!98g_$gZ z?v*eZDEGrO5eFu>HGB3!1B%XM=Rn|q0i%0Y;}=L6VUxBL1@b7+$8O`9aTk+dmThQ3 zV2gpCJPR>$!96EpM4|!Y?>Wq3b=;e$e_v~(D>3~|qn8sMB!6Tt2bKa?$uTJu1#b`t zm*|wvs1r)U@*+|eykx3S)CCC{<|KmyJ$o;XB@qbFAatke;J0Ft=RD2>a1p7^aE-{s zCYg(uKR?DmS67N*F;|c?>Gh_0GNXseOLBE%S$*J08-(@-URHOe8=c6DF7Tl#r>@c( zGIGR2$=mU)vJ-gZr1`{!c{wy{4|$8~BQJY;xKroD?CfTOA2MSz7p;jO3vg;cr?`2c z6ub$(T-~Az%M#Ccx5-(Zj~V#z>VEB*fFCMmY>|@#Nfq}SWK}BD^2L900xjn2j{%=V zP8=xa;hn`)$$~@$=i6t@i{lju{@Z~Cj!dveSi+^fC*kImPr%OB@dq{${Nq3VBYfct zUx1U76F@|`e)R~R`{n0g_h5S?CoT>MR7vybdg%y@W)-KBEpxD@OktxlMY&*szbDn2G`XL$B*V3V6 z7ow2;pYE4v3effA$wMb$Mz{+GADmw=7rgcNFH9IRng>-jiq(yyWk;T)+Qj}0_Q?9(zwHqz%Qx z2PI~0S}b}{Vm%BBgE)6B2ymv8Uk^H5aO1YIp)UE-1u z%T}xN21v=W2s+y!k7(BX$-h=xOL+P9r{R}=^)*;77jXN|UHGH_^H1RK{^m_spR9-W z3g_9jF6zX{S>_NNc#SGDhR9wbjSRxQ<2*Hi+iIvr=eP(I*+>B#jn#T9V3p3PZN2yI z9r(dNyalIg56k5eo_+RN*xTFtXN7xaPuf~ufur3Q;mX0MVQ>2hK-@`aiA?apL~lXLO}hg=fH`yEa`S^1QXnV@6tBxOC7JL>sKg!pWc z3D|Th$S>v69?=+$_~OB%6uh~>&Jf&$fj1LyD6u*tyi*md6*icj=z^B&)drmj;N)=< zdXZIda&G`K&njk7oHC|5HwG$$E)zqX$n2TUWx#m)J%@}nj-s>208j^+g+l~_&*aIe zVgV(GcQN7k%sc`BfJGLoQ@{YPwjia-UOWd8-N@cYyE~S_o{_TzWr}U88}f=D8%*ML zMn?GV_6@jk<&$u*_sE%Dc4zrouh;O^uYMK2@r`e!@BQp&UxH^}d=wT7H*{PcnzC-i zJJw72u8Dd|aHJU)o;D7H{V;n3ssk?Xx<@xgmm8GjSS&`o}07h zSZd|eNa7*^80ZJzl+bOl4|%ALPVmHWZv9Z;mlnM$Zt(a$>-#+s0f)9SWI?t>mAMq_ zXFSVcfxf+TC-&6&A_qsH&(vlw+V6^uUQbnV1v}-1LXje{1#hz3N{zK$I>p=K5)KGM zCElY_Y-kviC6Rh@9~8^x0!i=TEMO`^(_{^m7{v)1C)6KS!%eH;|jm)w1g6MHe_kq3jiB-yd?XPxy~(3(xq9D%PC$YZETL>4zrjc^@;GP!8ZS|i7!IA>`Mn1yf6kYs@Y zDcllRNTyzRlQR~Jqy*~dZo+)50AlrrszM2G$UfptLIX$ip>r~CIpeky0IU{=aP9Id zaD4a-EZph?AMoFO_g(nn7rzL%Z{MDhrT4bsnP2)i931WnA!JlQ#lg)|H;J(#h(^J2 zL@dcomrQ9)4Rt}>l1an5S|^+UR9`Gp<=twscoRzASpT)2OABpq7EDShLX7*YTkp$< zD6ENewVh#w4cI%bSpS?7hZ4mxV!T3244)%Xv`RT8f8W|bNG^C5>ie7Nx%ZWzi86;R$)<2!%tTC;Q2Nf}b3Iam>Sn#8V_ zASr-AV`BqoY~5X5H;*6gFEdY`Jej||x2hWruzm~%x~lH-TXH$)JKy=f5llWaV9C}4 zN^c4&&m~&2 zL*j4haT9d`ioC!K>v;{0JW74XEC|26-x3_+Vke2_&pa*`5cYmx|#{jo50L@9Ndx=1XutU#;)CB;5le#<64HYjx;ZWZAL$pso{Y zFuZn7c4)@g8j#O>G~h<7JSU5B+<5LOTVGk3;;nB#gi@6xe4If8>5ci_l@w_{`NCQNAG0DP)-gL6i4fD&e$ zuV4ZD%9!GMJ(ZFlNPsglq6Z!+>py_toF7=j`R6$&F~dYcB}Gmv(u5#WGRPu>C?oC$ z43#r9k`p6dO<_(6PAaf@<;7S7k$4Uqd)BxbGQ-J0+w_9M5uSxhFM^*XjrX9=!Gi&5 zyboSHhoEjjiD92)r|0Z%4HWGeM$vU1kEC?FpWky<3Q z0jU7YU6go98tbu|C4()<0)jZltj!_GnlO@{Q>Hl%A=W+AB;wf0{ zj(q%HDYPCTaqRoP0*v6TyuxdOR;-+{- zDTg9i;Zy;sYe|o03R!@0PuNGG0!lSiuMOiI7GRYGu9}(J4ibNPeXI<7GBynFtW$z2 zV^spaCGbR<`BY6=2o->O+52G@X~b2GwtLb@_R*M2T#Rk2rE3g2Z416+xfPG+Sz{)c zH6WP_i_H8rHCA~wXzg7TP1GOed8IX&Oi;fyzn2B7dW>AT2O%0kJvERmHTkkco5&uf z0w8Z)1F(Co&%O6iOL1}5G}@k$B@dI0c}_)lV!&&&1PTH|PUWAS3S>HgkcvskN>V$4id8{O*jE5BQ<7uMcsThsx?r>XCEXzkdzy{_x#+^X)eR0Dkn7C-K?;_*I-a^U_=^7H!9qE6x0Jx1~O; zeN?a1WUSycR%K}=5Y~Vn1G_C|hhUiVWmvbkQ4pb5X^muNy!^sBJpHq?0Du!GPGEC$ z6VvH*55eBW!_g|%S8v4O1NY$IzB{qDaxBSQ7@eJAxH=k$1Dt@|S|@uT=SC8a&;K^Z z1?&C8Jfj$y1+&OFr+tnSW?7Snt)y9H#O){nv@yr@h%zIAr zlc9FVBslbWM~-X&h=~L^KY-$tq>IghuO#)kfyj)xwl@op#u!g?!i&?jBT6aKAc-SA z7{LrbLtgptbFe#*Yn?Pbbps(V+-E-k<^i8&62%fu9AVJ>8LP45Ky%WiBXk!j!dkLmz-BP+;StRP7;Acsz8(x9j z%$e$(ygxpeZBmj-Au=8vaU8sJZSgSCT#}jrVRPd;96x+FHufFAq89e^=g;H5`|iWf ze)cmE5vEgz+kf>@Q0to2uG^ODN80xR5) zAiup#ysFNhadAO5p>}@UaV||j&iuCp@JeQ7Tc6itTpCHv@=(5^6RcltQCF!yQ7F&X zVplW9n^|pPl?eICJr0I0T?I6*&ND_)P?YjSvSUMw-)Q}C9s!5DlI7L|H*Tc_!wW!s zr1;b2Kd=O-xA2&?I*r6cVZjFH2BIWQG-X$kWunqwScyo5>_u@-U~|ZCgb-~F_if-pBG)mYrWKf`jvFlx)plH zU=543u){^WAuMLNJ-5mThNva`#|7A3KKFKH-|9LIzjqUdn@?SfU;CY3#^!-_%w`_< z|Lr&Ny>I*k=g)7w>LBLjm=9cuq0I2BB6C72_6@J4#$e`J+rgNYRZCK(GLUJ9>mQE* z-(zdst5qP`-k#y?nHTZWOXuL6!yDf41{^+o7<6$NBr{E#M7gKXUK&_9UeM^nZPXi#7ofKobg8l;q+`O3cKN-CK)V2?6N{QN z+Y_m$PC+EeDUc+z4N#bgr+t zaRbO`CjACT!6K3mg^O&?5G@1*X$^3#d@5Ub^kkC&N2zaKyFRW4QZy2#6451TyIocW zWjVkgFEWw38#QhqiK0pqEYnPIBZywqfQveT@brvI*3&X3mE(YY`>b<~P&SA&R0JDn zfMVl;eY+X7;DwU$O4(XxWNO?AijJ$nw}r{Mk|1WxC#u|_N)3jT$AHy^(dw>|LKLPx z{>bQP>PvG6njE@eM$*e%8?anQ{Lfq5QWPE2i&lq))xxDaI0^}tqo)@%9 z`4zOJ&1f{54rjEszKUP^)jRQl_rC=zD-)b~_C@^7AAc7A_@gJINhZIJ#^qSlR@*CU zX4Kh!8~ksq1fV8sQrm-j+jrz3UsCq078}$E1vL-hiw2--FGKyRf!;91e-*9I?WI;Ts9SY~;w=R{N@AMrdV&fBxX zO1zLm8Hm%-95cgs#F7!fVSxihfP293+<+BIIg$WSvnWV7xl9SU>L@!S2*PlIY&L+; zq1X^EG8Qb-hsHI<&6)B+Mmn&^*^^Nh7R6l>(%c>yh7x6`gNC>dSSN|+C;S#caJpS4 z2#QPAR}i@;wGtAf^QPJqIRC-~uFoYrqEo6=yeC^nP0K8>0CM5Qy%Kub4gyUeiq)9R zXWI`Tt#tGhD{*+c=X`QP6a}(#6u>gOVS+Kod&=RVsNFOG#sORp`a8uwnQ2Z0)5`%= z_kt}x3;=B|Dld@~TEKBO5_m?LUQoChp~6BG9Ci`SG^@o6vo(td2Hw=SWFXEFNQrq7}qii4X|j|E$TXcy#Xw% z)=SDYeyX2LqW!L>6^?2kl|#WTsDjP=(a%t8X^2}|;XQ?p8t^^N1lKIr{OOs-I~8-K zA~4qo#e&%=j|8fk@vVVB5{7!#xh|4OwE+%pLgt*AAyaWX#!hJwl6Kn$kZlPQ&fC{W z<<3+=bjREFxlktOYU65~M=AGrs?8_Pd{5&0NM(*Tuw632b%#yOgt%mgj~D)Wj26x1 zN3tPAn~NolRh}O;Wn7j`+|gO6(Z;OZ3#61+lF7N4NV+4bHKM2j)r|SX?$*5;E0DCt ziYxh_S&N(rP&+79c&2DnNdq3|GSfz6 z5)z)1p`--g1L;@t4pN6~^5=`IJc-rbbCyT>*+5kGB7TbCupk(RuXp)mAdNw~089%R z8cKK}g)YJYjFz9x9+(W+UL?Ibndei?_rqyO?2&`!y22$x44UL(I1+-R_hh(E$LSe` zH#>p%4uocQ$V@P!5{AcI-NFm((+#ip${*2FBnh*pIgYR8K!R9#dH|w5pMsW8@?(V1 zx~al_BANG0xfV_Uat%oqEry@TqeNMap|T>{AaZ7M;#;!wsq=_n2U%oQB@ zM3ECTh)YPF?0`}eSxQMcxNah%-bOitv1u4Y+3w*Qn@Uuj7uVz&6g!lGSD$IB~t;GWMo?bU$2XII%gKZQ)=i+)X}Nc0o5uj(g;8~U76snx7~^le)Jt!-?xfa&RxJK zKmJvG>uW#8)`g3s@z<*fhA-m}P|HIIZKij&=gOk5$jOTR)oMGi99J!|`JPE}i7Sge zgaRJ9&zIx*ntA*)FW{kvp8zv(;1w_tU095gV9 z1I9>-t(yq0T;y&M(9B?m#4Jx#MhXA5Ih@?sYi8)C$`3B&mb zw7*>J(~a^hG+$x`B(Q`8P@4(;r~oKRcu>;m!C;yQ!5WtxJ~}`zs`zBO#(MFlph@F^ z0(HpqN1%cL?>B_nI4(8@4>7*XV( zq@kxMCa@8uNViwXIAn-Hsu_n`bQD`s>D_mvj|$90M^W{$aNk{3D&>T#_V zlCuGd1L!CTbm{79Nt6!lz+DMw8;tPc=ZzUh>IZvySt{pY{@~44GT-+c5JA_}@zF(vgv z#toG1AN4g}uSu=Kq9ejphY#Ra|C@KF_)<+Eq;k|g2+Myca$YFA`+2`-dKHnfPBNrJ7GTxK+`#~vA^5}{V` zSu^d?5eDm@jlh-Bma^#qz5`%G;(K*cKs!JU`t-TS`LByer1XGj;}CwS{BDhIHqf}D zV`zbFR5oUFH3hWK-TGInT$GtV^YZu7Hu|i|j@ZwjrWXz?$!*+*2tXPcBx%_wPOXxX z&A#j210zGgVuPDnpxoAmH}wEiE4T#1vqC7^E!VC6aG6%>qv2`zGM3#YU}e{P%?pXkd9LI(8TX^cxpW)?K&SN^A z;?6to#E~OM_R!}m>>!$A-|F?aYX94CX#ZQWwsP&hVqn>n^gEOYXNJ9=vm7T+K7 z;7|~NAe`%l5=s~!V=hPHl)6VSuM9vm327K&3DnO~ZWia{5kTx5i$v5Kcf-ALu_!Uu zW}KbBr*s2Elw{s?Se^vge{Tzr%YX*e|ug#cN%-;m&ay6hg?H#Z3$P zFj41QZtGs7Jw18#Fi<3gp16!NW|SxY@?(UyjJ2W7d>H(4!xF|@K7qlcCRzqMia5vR z&qe8HN4z*``^Z_U3INgMvbG@yNfHU>d#P7W5!_GmBW3oMbxz5cEmUWGniO(jAXZOW zGRHk)o5wJdhN{~d4sYIuV@K}9%Jjf%YEgdbsi$!N{r6)wo14O1ee@ts-E$MBtJ4H# zRK$UMb)>b1Z9iyb0}mj|0mcykyq8IA0is#$uqC=!0a1I})w%KQHsqi{w-GJKW%1TU zfU7=}u-$zi;t)s6I}(H2uuxor(0f!EgEd1SX>}79{k^Uex~G z2O6-A;!-ZBM!L6=g-iB>t%1W#?LpyuFmYrF(elHgK;oLmaoH>rnuy52WAtN!8iPu=*WY3=2 z@@icMMBa%m^|GJ444Ay^d0k2a(q3X}O`F~Vowb_ZA||XBmZ-;LeLQJNA#OsYQr3i& zDV8mblA@!0-5|q4myFIw4UXG6gGElUV0vyu&-ziW?OVk?@4g)$`p7%6vA%|vUpbHe z{KuccKYZ>%yz=se?l|p|fMsZR;Ee4ZR1cS``(gGzt9>BE(Z)I-1}YhG_fmrSwZ*lu zS1tllYf1($P<*%&k261e5s!WEG`6<3v9hv)x4!kQIC${j9_oArAJfS}99Vw?4)1>l zHr8&##2rYcj~dGo^2DqF;R*5FcQELG4+;vz30co@wBd7oC_Rb>4KIE6B+kb<6FotE ztU7i{;C-CrSs--4CyA9DmkFO^ei^ZP!WkR~2xc`n>SD*`#&K2{2pBG9NK24UN#27# z~46PD@uUpMxYR#@ZNzY`S0dM1y1MX#A@Sdj{OE~QtE+&6Cmy( z$iC?Y$KG4{j3%6^Wq<+ay%8w*AlpIWfd$zTE(|N@RRikQ393YL20sOhThP ztLzx5P$mI33>X&LM5J~zF4{zL)L!Zb&B1IIRTH&4x}k{R#jPBWewOh8J8W)TkK;$~ z#`?aiUvrBvGvnchAI1X@JP-q#dw%g0ZoKuHD1{O==UFdyT!1$<)}L;-u0guo2y}F` z9{`5{MD$3G^ah?am+(9&EI+(YtGEp?+9|;Zbk6kzY$pKtvhpacq;4F>D({5msP~xD znBd+5v}andm}1Q>-JUOh?n$uvAXy8z;>O6f5_Vb&Na$%Tt)(Ej)+aabyE#cLb4v4@ z#(PxS3fuh!lXzb>&>J`1YLXORd3 zldOXT#cQL4&9zVimqZqjDA(~4tgID-^}g66Q!ysrQUj64Oci@P=w21zkH-JriH$X% zfyKt|iCJ1o4C#5Xd2ZHNY2kl06Ic6vJUWwO3w(3+u{s>Af;x@t{DiW=ZAS=Pyru*v z>)+7sqM?!fz&XOfL;LY-zw=Jqd(Ul{OdKA4>>2#kAAJTtdgwGRUYuQVIa`a#TFh zA`(^?=bDiB;NhAxU^#gA%@pWM0tg<=C4-`bM*=+q)|=!>=GPu1n4JsK-65)VbF~O@ zuQGKJ0SE=ME=fYIN?K{cgW^cSEu*1j$aN)1AD%_TU4`UJb}xtPAKvHYpfN=miv%{$ zDe&`~Me`PdVKDi@T~o@V5cCCy0nItX7)j)wL84z8iGj{kUr|Rg5cWC<%YzeUH*ZTA zkl-S~A1M8y+A^2+&_#m5EYm12OWmL_c>Qds1;t7VD?(qAN{R9#@-_;I7S9xAYNXJA zC;(6ptyk5isA)93)(gNM!9g|r!4HohR8z>uNgfBNO9lhX!1~$|Tz%wjZ0^5l-p=wG zJhryB@cGYw9%s*<1putBOmX6!H)HeAdIM~vEP@CUDbftBAKWQ}HOu6(rs1mDwb8_& z7U-d$vq}wc7>2tur~!(hEwMo+@Idx=cZOg)k-6Y%`|4s~cwbz~N-jl*?9>IDRqroR z&dP2%%vTInX#{i|3s6lUZ~>%YOlPoe7}!#Pv}U^LI@1e(Cnz7R8#Z^T^rY zZ2YhG%ytvd?eUDLX?QnLI0HyX&hTVtRhQi$tySG}i9lnI+i_CeSp%`wMqPlaN%GX} z^7LH@z#CWp)&{KWu*dl7n!ra=!5RPl<~wdLH}Gnp0yuTj}AS?#^8UWdiHa@(VSnOxwK9?F~3`;GNi9e*>nI&AcOMUaGJ*U1(khHnySr&60o`@y^^+FaWzT-*bv% z=)~^g0*O}`TzWS!*oCW_n}4Yrz-?wBXA&ev!pQ~zS*T8ALK>9JESZB=doa25NhyIz zRu|&AC)Re7|H@>UgPO%~Pn~19DQBKdky}scwLGX<5CyE2;Ac5GlR@#mgllCC_hl%P z%umWw6dDg8Hxb9G24koY$oEBu)-p8bK?i3(xFqX`6aQ^!TVU@7&|I}*dLf4b^;s&b z2>X%K`Y^Hj4dks%Y?;pihAUmkC+7;OZFw?s!iyL_~Uerl-Z=$I|iC!SQ#%@}~dyd5a zbXYp3|698mtj&8YI-No$YQWRjnBoQy9@ydX=S35v+V~`uWYQ?q2bFwtcivJh@KRrV z1n^#_L#6liWAj*vC^T)3?eioBo5|nT7=Kg&we=cL6=1K{U&WEdo3;UN?z3Yo>XwIF zZOG`DehiRpN$Tz$6>o?h=tcf>a?&{oSH7U+<$U;Giw{pi)LEhs}0tU#a`S21dko7Yb*Gr_r4h) z`-2bR*wIZ~xUh}C`pbX7eSiE}JpI(!R|N?+zk3bp#^1%F#_^TIyG6@iLz-j|XuC>+&@K_jfa+1>a@>z3y-(1f;VVL3ET-+}? z>Xv5^uJ{HL^3#sE5Fd3CDE2H-`vic`W(nwyd0xSvDDRT<=^dOC9zh#pO5~)n$266rId>TK3NRh@L4Q?3CR+dW{H925NlQx zneyR9-czOzL_)JM3dd^?!eIbS97n^-7-Gef6K0kwGGh(gyS!TEq*LyY967gwg9mQH zvBPi0+UixWi-q=)M;^hqzV)pb5Z`sjjkx~gQIMmo5(P6Mt9LJ0;0;xhTSm?tX$5+$ zvnGwC8oJAN(`R46RS%*Bv{PYp#_#3)zhf4HFhS1zjF@W>ogH^t$@dtzCZAWYe1QdQ zTe_C@B$>rnsJGAd2v^89$>u#5pmg@{5v;GbaVMKEyPPD|&TU*heBfa#HkoYm9|Hqy z+?E!;f|^mK1_bq@!8K&C12mTUqP7jCRjTT{qUxGaqpvjtpygSapt5o1wBY%+uA|AI zs!ggWUnaV!kOyqCbBK&K{AJ`)2#bx?F(wxo>qvKEuNJ-ls%sD;(_dBVmDR)1VpK1} z>fgyq#3S>n_gmOd3@)FR7BkWyHdnq?bsm}~)e4~Je1A<6QE7YzkQ^EiQX$CLo@>3P z#-eV4;bUN^1zxvaR|B&3`B~>}HA(bLnbtLonUIbFP)l%M~bEM(Fu0s{2V$BTi!Vd(vA+(P>gE_>Tg;3xJjTHrDXo-?$t9 z^~c_WLkBnT%DD^p#J~R>?)$f&!&6T_2k$Qp?8#V++(8|Ht;GxA+Tv3S+QrXociOH_Be9nDDJxJE^KaY?jgyqlVj@k zWB~99%Zs4aZf=~MKEKPh;I&mn;_S(*6Tum ztDWJ~=b_{|k|uc6N~tYugHi*Dbtfac2DZAuZ^PgG%q7Wb8q6{W(As;N`wGqykUy6q zaf6PwP>KjdV{v_%gf%DmnPeE6Bv>eD!wgb24nBk-8;y)^PIzg+o`XrFlXBch z40ugC4&-J>K7!*eiisnE`m@KoS?%GAh*PBiRL$vNJ@wZu$!gmx#X}2!H59> zch09TtE|L9?jwAk{H~y9o&nD9pf#1jv(@QBzxe$p|kz02*LT$quiF%wsGmouDnm zc#?osM<{49mc~pxHJV15Z4ze*6gL>+S%I5NIGxqaAQ1%+QMC}VtXZ9<0UpdVmo;A+ zYwmCVuJ&%K0ycd~2Y0NFEu~KVWT|h$as#|H%PjRdM(P~7$r)~=rwo)X?{?K<^m1!+ zPD)UTPu~((4pleMOs2(O(KfY zG_wb7>v$Hlcui>6LGs$@qsIQ(iX*upwp1%svf4caX)1mj<*7sVIaaY&>nY2mk%)}_ zl$-mY?7q?Z;(76yyW~SGVA{f|EVi}9Be0mwwYZ_i;9f@3rFNf^r$)cjOD{0qIuDE4 zU5{U6u|!`7HGywE)+9r`EYOVWf7ex_vB2+bLrZI?-~wFa1_Yi1->toAO!aIx0ZHcw zhYoGv*Z=!>;h%lN6+BlA3q5IxaXdG zaOoxnQ}=iMAd4>v68N|VqHCvi_?B$QVm z;)(kp#GWo}ZY=7=>sV0ilR>9F0l4_L1jY5g33H7gM_O|?Z}ZFpOBrYhrn;K~+pmQQlf{DwM5IjH9Mk!)543%T`5d}o1MG$bIa(}Os) zc?(viuRnu{=bn2Gpa1;lF`LcJU-oaT;l^J$ft8g>QFzD<4Tg}|NAoWU`jmR$mQMH> z_{$Ywf;iXYw~SI`;1)o}W%QRz@SdAVg9gw{fKnur9(66lG9V+Ry4V+Uj>W390O-b8 zoT=GL;K$iwmbn>q0i@K%NmH<2>%|r)$PJ*KIzgu{6HF@!SzxSE1#qf!nR7;1G2*D- z!-yMTqULFG29(zoLjy1>gE%RnMHPH33;syIHy;U91?f0z--a4}%~oXz9HFoP0ka{C z(n2vuj0&uI8P;1Gk!_(05N8d}H%jkSK~y35PH&rKX|yy<@nf>^=Vc&%TIfpL+@a z@&ElaUViRn{N}%WKW=^Fby!)M?l}Kq^fSF%y56m|v!^;_es%>2=h{RV8@P)heMyF; zV=wOgJu0!xr5a0@`UvsP*|RU>p?~->UU=~w*4NkZ{`bEhM~@zbb8ZhcejOhZw;vn( zPGKFl;Nr!f;llP4*q)t@ps^H`)~miBa6y_NNpLvM^ta1r!z_-v;nmP1a+N%x!tQ(ER|UgDw%L}nJn0FJK<66!4S%aBpb zNwf34IuPV(z&x{@P#RTABD9tIM1~~8N0vGwQJ951bHsir_*3SdlmUbF5xdR}IfJ4` zkddB7Vf3&a2LOCH;Q&Nuk^_SfxdgA^F1XHBv$CLA+^grCxz#<(O z*AYmUpFtHJWbrqjX`Bn4Ql>1x4!Y+N@Xq2V6`+|}4`(xs=j3Vlpv@EM)&f`$kIAPA z%c0^kQ{f%Uj~E^#Nw7h--pS`C0(q7T1Cl_$Fc^q?I|CE9ibI<>V}0MT*X<&D`t)gh z?Q36)Ki_uCwYc`=5jaPA`Y7&y7Hp6LdxmkqB)|wcE=GXxIwV$x`(y-SMX*AY^z4kx zX%V)Y4FGeYbqHDUqkJwA70bZ_!7`g5S1sJr;CGD;)uq81(;e!1hRXos*161e2y=*z zRBFYQ)UK8WM%>iO)-5_6(P)xFoj_U!5W;4MFDsc+W3((IjA4N;{bR*`9`X*6F}_&M zbe08L3;f~+i^o8=le0FPUIcYD@cO)8=9!e8EvO52OJf#;GT`*Y6)yCI8FwH@aAi z#t+;4+kU3C@z&~^Yp>Sz)sLF6pe`c8{I?~&VaH%JTKH-K;Jq5zJ6Vg|#Nqfghw(dq z_#sSJCb;jHqkC{L*{hjEw{P;2iB}z3W-KQ~bhFn|r6g ztdy3Npf`)bn*ri2sS~RTXASONkes<0gY^7C2n6pLk3ae|Jn+Sb zFq?VYdh1Etd+)ut>Z;d=Tk6S{7kqxlbR?=GV^x&Y{vZh3kEzhz)r=TDSu&h31A<*9dn#) z*zINsd}h#GYQ>YvbTwcvBx8sYVUjr(0tgxthVXQtT%82DB=U-t~^|Dyl_g@5hp4! zE{ML1z%r%~tZt~h{tEFRVtq3L3mx+yMG&eW^Urm2H&xZT9(2Ix)OBHIslz!3xFBud zDFXb$cy*pE`taS9!1DmOtB6gh$iR`q{{7eEz{Uv>y?&jQnHi5i{y0vbJ{<%2H~!*H zxccgYCQy^L)F83 zojGTTFQPZkhGu>EHwh!XMLQUlNsQEpsm_kreZ&2XaG+nFft!$YU*k6Q;sGPTFQdkL zt2K7lfijDGTEOd_ROBuITvQBnH;$aYixyJQdOF(l2B=HRA{9!r_mO3dm>2uHIIqT7^9_`$jT|a4fh{Dlf<}^FJJ8lUT|^k+Qi9*(n&s(k%ja*iAvt?b4z`t2 zDP(H*v^kXdzD7c$nGE2Ug{F8)(%6WvvlxlU0L^VCy0y30#jiHv001BWNkl4Z znytOq-ka*OBrV2xO%6@}%>uD4u-pRG>(VpzeJtsA(};YH_5IX=`>`R3ViiA(9>AlULyOi}{! z{7Hf1@$gE{Zpu0UwSSYb%!w)-~;|Rzn z?2|K$1_4MGi$%mQNielDzNffm0h)1)D+W+poHJ3WG~Uy&!32%)fxR4oVa0$==86mw8Y^JRKy^qHNarIEPLt$Z%5Vb<+QYL;%+|ov z=HS38BtPQkC&1oK*kDxTpm&)FbedWPj5e2<1%Sz*N_uat^HfYzB}J-jC0n zf|QD}Z%P(R5Q`tc@W6;7QNCiI_rjYj4)M2rYe#V4z|ELW_Py>G%L^AS;2Yog2F{&3 z2LM=Enc&*D+<@uYN*R!8IRc@to`=Z-piwREmcd&u_+5nhg;|~gGdr?A8u=L*CulB` z))VEeHoO2hLlrQLI$;bcDPiF%EpW5OEVWqS3q9KkD1NPS+bT%k+gce zGtjP{el7znS)ll$KzOxqGy*i)V}`5eId)FeS!f!!wUW;^zarA$N9)UIu~AhD?@-4o zG6px+zchYs0=~@>!EZ zX@TD340pS*kdofEX15))u+s0&eVg>(`}Pkxj%WlrZOw9Stc12Sm>8u-te^pKs>+$z z>nJY_3UddHe<=<(aX5bMRrs&|`LE!}HHYw@|MjQv?e9H`haNtSXa0}Bz!N`w5+D8- z@5L>*U5nMVm9E&V){WD{*{`zf12|4?PJb)tmPDbk*mTqYbB7)`tuZkcpY+Pca5Km1 z3vI51?)W3?8_-}zinhXIhMB)3C3Gc*Pn!wJt@0unnp zNTiVSb9#Tcshn8iVIUzgngswJ*yWs@K*N9uAhP!)TK~iz6#;u1MB_PCC!zv9m-j+| z&3e~yQrnnC4L}DJjs<|3W?^KlXHpJa=thv7tgHb4;q(2BhL#Bx&1h+K;PmI1EQL4g{;B5W$Ytbb!1lV7jPNI4OXf zr9q}*h4+GaV_S{ZH>`zeT(n8&j4BdSqsD5cB6*<^_=?OVas=b;2j9@v32!~)8gr^V zpK?JV)$l&XT&<;;7Vul^kG9P9DuwMfXxIRpmz77cQnB!U7Ye=OOfJp|(ErIM3oMvOMle*C5eyss>QWL8*O|*tmuIt^> z^0uW|!a3%jBSCXgUOZ!xBNi5??|}x*iCUl>DROFAI4FU4GUAMyPPe>9TPIvI!P`-Y z>M&xAK!2^z7_$bnUqjixCZp395UGe$(EUzrz*p~2gyosHmlK?Hj<9)X10VQjZ^MaO zj^nTY=rj1#{SV;zvoGV%{{3h1(03lihyTTU@hku2EjV~+KitHbPnt&7*IMbkwhwT} z-qhTKj0z9es#<#SvcU8mYJrdGqf5$`KvzwGvl4_ zd?)U>;|{E^ukWG2dxu!V*0Hg63pUnn#@6=04!`(Zq1H^b#VP{AfhDYPJQox%(%(XE zMx4|r0YFEz}wo6WgXtds)x;yXjJh{R>VEDj3*EA&oC zb5JCim`pD}=z9A~@IM%G%4$?>bqMD%OV{8q#pb~qv9W$Fc1IQSwR1fA+iz8Pb1iATCCW9wxx7n#6Mly=PRX}4IUFn)JmT894pgt$%9O`leucsGW0Y#{k zDq(%@loe=56?)p=%^3t;CL?vt((%^baWIKZP_Pbu_eufUuPdRDQq8i2c5A_~Z>5tW zV=f92#?2aIlk{qG*MRR{qs&&SJPyS3Na~?kZFXK&Et)JFlZsoq5dsXC24)2#T$-DW6wsChE_%S4 zWn>SyF%8B5lG0hC1PZP7K%4xvOP?$xjtsUjkh%5R#a}WFB5T07j;p1ir<7xnjC0+P zVBI}w7D_eKdDyb|TGl1qi&8$u7{cPbbYUQY@;S&Z?{&_|mV0NZmL~yj32syII=RkA z<65SXQED;$$7WBtYnMPXb(Dw*?cJ`<-nRcuitN=s6RsA!cvSMQ+t_gt@OOtm`1-~g z?!5aJ9Qj`l;`-aK#b5o&=kdr-pTRf2^%Fexzdw)DKYR)w{GDIMjW->Otne{|#@eU= za@Ke8S)xdqF}UTrKNhIf_7DsB4!^TnIC_4!KyKICW5#AoZztEH#gtc57R8Fq7!2hu`=+Id{K_$0Qro`lEN z_?7{Irx~vyDfi}GBDT`p=uu8O5+ET7K$Vy?GfC!p0?*O_k_W;gAxWGJEb_VGB?~N) zRsC-;1RYq{j(m(&oZ5`!H3sGtNof`u0Pz?*1su~0+P%mSGYdJ22Bq`AakeoM3E38s zzvraW9vJWJl5~y4VO#?8r_I$+fZ94x^OCyHLN{D(;B$>{r$m5}^bp9RL5ihTg5F5z zJB8nSN?P5+K+=^E9x5|gAWriKJFj;5xt_TIpTQ-olE~*0DO_#{j&h^2`0RrCy8x$S zMJ1SFN-%#wFv9oxVKQZUIX=JNK2$g|2EJ@lu(R2X^=q(s;3S+|`MF#UAAR&uoH=tQ zCOJ3#!VNfb?0^DH+DWC!SZ2TleefZn@XQ6n+yYB`lWyt_Vk-3KK8EUeFr-yWOYq6y z1*{7jSqj(W3>%g*mVYqgo}T3J5hIyjIKt>PjYK$t!iQXF&pBXPPAK3PjY*$B#r!j6(MSTl+yJd}fVn&; z&OWEK zS1IUb755nRGCztjsf#$G=eMz*liA%^)8@DK%~ssZ9qaI-z~tosDJN5h6E_~iNB@WS z;l!zH@X0^^96tZ0@8k57&*9JhpHJh7ho8cGe)}DG>%FIN^w`0S6%J!-BP?LfD1D98 zTAw&}G#+4AOe!UiKAIGanG5VHY&T9Q8O!I!il@uQ)Rzagq#`yW5Vp>5;XD8EV|?+; zKL7ySdFNfY_uhN4xw*NA_3j;`hjaU|zIHR#*KWer_OsZ!_yjI)KNo?#Bs-iiOqNVw z%E^5mg2g@j*MkNRzk%)Tkm-7705B50E$U@+lJBr`Invl5XporZOds0^jB!xW(AwSM z?`e$<=M$LSJj8J%E?a=rP~^lQ6-+(>_5niRT(>&_@p9+R3i-qRa>z|Cqx{N%rAj7v z(s{Q{G3T1#p`swyc|o@iU}^@64`8o0*piE__hR56nOL%Jwqz2*=3#Jf5#f_qx!F?= zvI|p84D9fDp`0XC^1yG9HF19adr#Rp1^_7<_@dEREVmtPckafDK@qqu+TMBHHOvIgE+W(3s$E4e{L7Rt*tFQ@W2Du+S(cx zM8Y+1?$@=e1r)g+DI)Wm7684u!a}bFk*)K~q*3H#5CI?=@;Qt#9!;Iy!p-Q6vSPuq zNP^wgR|B&w4M?g2&$|`0Ez0&Rs&~c3`8v*8Kba5JA1T>xkgo; z@Lo`SEU~B?KGxF1!gaMEDM+|DxpBe-dK|yv-WhVfQzL$wb*x<041>^ z!R8uZit0|q*}jkf?7ECf-gT+vta9eKRg;l2ECF!VV7T?P+A0dUF1yXV9&!M|NS7?_ z9NaGdt+mzJ2+WvmVTx#wnXMHy$+?odTQjkgdx9lNMh$CkyBmQk3gN7_2vTLA`ue2A z`;g0@FlwcZ7Whql0<*(Oe$oeZPJ;Zol(J-1;Y9z$gFHSMc}~XYk2SJ%De2 z=O6LDe{wh8^^tpU$1mK7ef#&pIWlEET9R4}Yags!yXx+#y3fj>O~sPUwe%7t3%&gj zJ#6__T)FI+xl)WVwK+I@;HUri48H!?b6KAC^$mRFBOk%ZlP58qPO*3F9gB?e)#*{J zPLIO-3%IcTBra?{3E+Z|!61$2JrgwBziP+3+-Btj+_;!6G{1G+OE9H$lD@*4rEA5IK6@rfa#LVq3raV?^s zS0Ix4B&D8)H~}J1E(ZY;$j;tHX_kamFvtbAlF$=Ea-x->e3)P{WMv^|gJj@1nXF;+ zz)e`+w`Ush?6c3}YhU|X{Q1zq4IDdp1kSn9AfVP7PAaO_E$ne4SB9B&5VZ|hH1*>e zrhb|+$3h|ns51_F7z9NiX&6)4sERN;<6I)8H+U@XiG=HHVT>m5+$ojP(gv@QQg)#SM*samQS>idA*s zxIaN`nV3PAjce2W9v0iRG!e9VkIJ%FIa4fVbq=aivpmMKwU)+GpT%U>ii?6d!6J%0{E6>NHkHWF2at)~;wXOm_kI<(-F*{2_aDB3&wcKDc*<#fe-Al!1sj`XaKL>&z zbia{6V4h1Adn6#3IpKcNs4{A6vki1d{8c1o75$LmE>#|S#%)}AQy z+RRtZ3*1>;zx*8$W15V#hD0eSxGN2kjO7!7X0cEBG8v60| zplb~l26}_QdjO*IAdX7VTj=M+LIfv$@F2oYQcOMkEOdaRV12mWXqE|CxdAktE|Wv2 z)T%(kJr6(6%|T@=!!QuMWS6th3(TEiNwDt&6yk`mv2g+i_TK;^x3|&(ICJI<9(?e@ z7zEvP!!aB=x>^97z{Tw{pq>dV_Mv+qg{uz6jPsJ5-#O+H4Cev z09)Hrb~j-iPncU?Lr_2lGnXAHYF(&04JvKeF!}UeSF1lz$NFf!XPIK(qTo{xl(-Ct zW=S1cQ%kd8^DZYgb&lnu@tnhsR%}4(N=xl>3H;V~EXG`VPU=`|hInQ=OccGYS{Rs) zPprEh)_<4nS>bmOpmz!B<@w8S&oY^m5@eRKq zCr;jS4Q{>rW_93;zj*-f{cqoad*AzJTz|t+Oe)5i*|X3d z4?w~8W(`goMn8;>No@h!70Hy{yni&Zr_|!-MGG*mwL=!~Ew3e>F&_ERQ~2Uvd>!X6 zY~%3ZBly_IK89Ovxn++9zIW`}C|sEy!OHXqJa1uZ>q%UgJqhp6t8Pre;?A};68?Z3 zL2(~Ow3^^S-Wfh%c0OUELZL&OL`uBV1isb68s8i9iUEg=k}XMN8#E|%%t#f4gDy5@ zcx1lTivB>7#9|s`p63!K@_hl1&OH|?eqO+Uogi*Ub~lNCyHX2WzBb&~X~8y%lHF3W zB%$j?>KH`XT_&fU#=vm@0-zfy_9Uwt!<$qB$igs+0zfV92XdS|r^izQnRWC+#JTY% zae6N$u%5y3dxOME8f07m<2mr2>*umygU54Hm67!M;lU>Tal#yEPlIIe2_3+9Rudp2 zND;7a

UL-h#Lpx01B2Xx@ar!)u5}N4;v`eTEmDd>xgI357-^o*NG zq$!EQl?9cI^-KfgJ&bQ)yl6(daNl-=0opR>8~aWwWFTswA{VbOUc-7_DA!fV7$;-> zknCm8Y%+Q?mZXq8u^7&p)$LTFRWi-xTuZv#<((;Ggj~-%e@`j-C8bH^6t0_P59FdK zc~=^gY6gG0ck;Sg3fZkv7EDmvg6pX0>*30Lp-Mr8y9!ozS){IukCDB&2BdQ*fX*Y| z`Dy^y*rjzv-p|$5DQ-S>Ev~utD!l3Kx8O^E`Ayt^-`DWi=`;A!S0BRZC!WLc6Gw33 z#$(NGy2b1!1&CMOWNo+Ieqg&6=UVSs0wkx-f(Lc{eay4!NAe51fANS$z6G zd>P;Q-cK=^Oz`0ke;B{^Yrlqr2M_K68+*sDAC6YBZ|x-ZA+W=r#KqY&kx=L{$Kt#I zkq3xz4kl01WQ;N+EI{udT{24yb9PD6L>g%_(S+no|z7lP?g<_9FSi3j?=5Ri{4ak!zLlHPUz(vg|n z$HV(vY9_I@<^IX30u%>C`Yg{5j{Ly%Le7K_1qGio)Wdz9PB(Dyz^zzaJ+!xqsbe;q z;h~2f!nt$j;_r^#aV^&OubHNYT_B${F%!B(KGTUxNeI!ry}bpX)@27Usu$jD)m98T zLY-+>gR6KX;nu$`1UWPlJkBGEMFp;$a_xHSKwLW&u;N@x0pjky)jQ=hQ=wAu|ye898GwiA^ggszGZGjYvXEEo(zGp1%nE_iz zVTP7?jEna~EPn5K$=6GrZ_BXL2E5C{VeP&-!3-}n#4G!Dsa>6S#?(O5z$Pkn%N2iE z$dZ(W$6UX=wmMnb-V$t1tnggF+XlGBUEz9!H;*;#zBo%mo0<^ucs!Axg>8&FUV7om zoM6LtlNSQ^S{l=1#h@PZ*&aZ^pVea|V}a@)1ISjm}!XzJ#bC{cL2MIlgD4?e<%sPlz{X2 znG%NzUm3~4ITJkD*3J821Mni1CE{)z6fEE}a#iLT#_9XW3HfXYkH!FwI~Zt9rlvAK zHwW-6$#grZ$|_Yzj0!fhpjQO*&*6Q}%{zc2^6x!G&^t+Wh{Z}5Rb74)C4*Zs$4TP4 zYK0FJ_K<4$$e4f$Lq_9GeWAz!@Hjv)BAg!1L+bW;H&E^g%q~47s@TqX%GwURr=%4w zuiwx0cVc-c4o)`=meey(6OIGHIiFQ?G~hlT6#2C}n&RMrQ#f|y?mYm!a=i4?OZdh& zzJb|n1_0PtU&YlYk77ERRIAXnfTbiE)3!;PA1ZT0 z^TI}gY3qDAWADgL3XyaLW|D!8Q3Kb?=CJww*Hj^6$SJLwEjC&K-2y|=KFfE`hNg4pFgWfc%4W6tjxfjIavLmM$Xlx*S zY6e*Uvl23EZnHVxtztkQz|tCg)Do6AZmTp(Jc zZqY#AwU=qdhP|-@66;66o$K9V(BRH%CChv^kAO9-3rU@us)jgkQMhMyyOHxa#O8&Y#;Vo{i2&sPcOq408yAYn_Sm z_m+{e1j?-fs-_eYw||pVO;7&K4=O*WxZe^LX$(kK$8*`XxN`vlpI2+`PFu zd!2Vk2Dr~r{M-mf=zTba^aDlki>kaA6?ZLGQ-mDL9EczEZ=|M$)YFM3lsN+7=H^RA< zy;Z7loH=s_4?OTd{Q1b?12}kOzo<^tS=mL9BeZst@e=ZCT&VPM$q46YpiuuVoy_z~ zri=zsn*E^6Fx0*>N{?3c2;|y z1%V!=VP@^q>xobf=2#p|={ue!POOUD(X#?ol3+34a_fr%xX`T9^tT?`b{}X+M#ZJj z*){-TPVhX`ZVx=aUv?$w~7QNm}0GRh0^o>bN)b_)2eCC(JGBQ$&h9%8Ph?}94yP#HiMgt(hPIG_k>NL zsXaQ%*D-QdxxLFvd7B;?AuaP|bwf1^x{cpk4i;7kgiv$4sIOnIro_pmS`TQ6*Xr3Y zn|VC@vlsFGhaQJ>4!m!IiEEgXD`~3u_ln_VGq|!^@fzls=I@!C(OysSfYC=9s&((S z7~ZuI?Q-oKmv>Auyl4FE>9hFMzxx8d_1#A>olfx^zwsM;GAMh;tA0!;hcR70j19hs zt&2}#YwHQj@XCNY=0Gn&=USXc9!!PjMMBg$0q9I{!LtyhPI!t%lxqfQ6L4;7Dc?_OVT=0T$c;f0 z8$A)NH7nc==Q_r7iN#_A%MbzgOEm147xy>S7;cc zG#8s|>j(yk5!LtsgpR)o`Z7`WMQG0qZ3WSc(i2$iNU>PJL*W2g;su$hWdObB06mFT z1BwG*o7~8DgisW4V56+6X_6+gqd48I*a0roS)?tf zf?>BG=WE?E?C=_kba4Qn} zbzJ)szp_PHBV^-G#Oh1FC~z%82u)POuo3AJ)8O6`4uG#=-y$fu$R*d=&stdb!Qu)*ZgdN?9hF8-+vcB{LvHG++4?Xw;acTgX`sel+5m0{B9Yo=ykjSUXOz0U5ln2+qQsmY5?dx zh2oau4>#85E7MH1!w*T34Z_dfGtNBy0{+YY_XT|F?;e2njJxknGAPcuJy2usc-0T0 z6|Ak^fVI^dusu7At*z78x_AbJS<(RK1Q3%IqYoG%IgTtL)ozwhZe#QTplK>)x_*08z%X6)N{Y;Ofx;CSMRC-B^J&&8jw zzx_HKI&z=@0~Q4ZT8hD(gy<{ame5op#oAP0-&~oAM$HG!*0@fyF%sYa6D=dR+b~?@ zto6AR(L%2KL$MT&vD$?)5WK5?&<3pM5^!4@hTTL~B~J^4ChB*9zVzhM(}brmQ++E?n5g17G_w{{An%j`J6`@Q!=lfE!O;gO$~3eLc41_N*dh zEvB>BAy$EumwaNK0C=Y-_vo5xMRL60T74w}-#y)DI%f*S{8wH+htK`Z1Ne)7`#HSu z;(1(u{R#a3@BcpTzWZ+M+qZ8I(AYb!xMMmwgz5Srtnb@S>~R0`e8e+n0C?2%)_UO? zvsr1xat@j!6SD|%)=3YWq%sQ6NxebxggwK#L1INLr@=rnu*0LNW;_L#0q)_uB%3=j zvBP@;s2>>Wi61<_WVO(F7WgqGb5B2`jA%_3!7S`4S?6^!telb~U>3>}lD00vryz$i zoDA0)Ur=a&0IW0NaxXqQ0^>;=INme?2$LgtUxMEfXwS?sSxK;ZwdPB1 zw5d$}xZM1_S5*(DXgDf-KtayOhc_QQLW>6gG0m$lVI(<#c!C4_Phex?1c>&kpo<(A zFJ8nCfA~XOym)b5NN|LsZ#<5b)rkoL)Yx;&B#=cwBr8``YD2~EB@19({JS%-(f|@j zfhyTT(s8)n>$X~XS%~}th3xcvsum>YmS6{c-8a<=0MZZ^JZCZ;3wF)j5V3qqE*a1HR+*R-gy@1np_TarM{ z=@F2W#sHGaBB~{vEWq3Z-Sk>0+xdx_AQO!MQ5u-N)Zlo}de|$4(=rcj8KzomA9u`~ zeEp>iWH&4vD&=e%e9^pU6WrH}su9{K6h z*jQh~TYv2raQzKOLC!U;SXn#Nt2Vk!`peS(E&_te9#9W%?T(|7HQZXGTb)8Z@<5B^ zlDy>j;Y&V7^BhM5;H{V`{C)f44B!3cBlzn-{wyAU;#nL#cnH7$`@fHme)OX_bm-8o zNFnYWd&ec412o0j>Itl^p1}6(1zgyA0v9hngE`eYEeO#BQ>Z`$f5srwn*rZ}1stIFV;#y=r|0Z#FY+ap%c<}+nd7xC#XSQnJdrMR1znNDJ4UVu7kd<2}`@#$ak=eGSJ?9*wT$ zH2`xbjPMMkEt1;rEUW=%e-sMXr*9bsEHGke4;Mq8h3zran9?{$@*WAx5)rm z&8fy7v-H6w=gZc%9E*pQu|SCREbnJ}eU-_Hw%kEq^4Tu1EF!N%=+g<$ZBg@dEk6%ZNoWN; zwr&Kq&r$Oh30nU*u&JAU24cM+Ve(pGwCjeFnzllXf-OulwPtutCW|Bcv9Hy)1{UeR zo6ow1mo-HAne76I1pKXH-EOnPdx00~1iylk!2dWRc7cWZ$|wRDwBldvlAvH9HedupF+uc7&O zwC0C>&$z1Dj4A^>2g%1|?`o1)Js|hk^Xy@N1AUzdtubc(JXV@`HI6ZjXp!V=_}pg)B1f) z8il#q0XSB~?A^~=F($Au$KX}%U}(iXR{T(7gNMHna?;B7_6(2w5}BTy@n|djR;}@tQiOlY^M99|Z3^g{_NEW9#A*m~Fq5sXWN6%zGC# zz-5pd@j?>dxm+%(z33zsIwg#f^Y=$^*$*lmgNG!Mh?%`8&`Zfok3wHl;$N&b8(rp~ zOoYc`z+W@tPa|ieIq;qUb&luZWky3uhkY6~VT8E3bBx(cemN%=cx5FG3|3~T-I7?@ zj5#uGX`@;?sT{@P1Bf92IiJ5K=)=U5a}4r=MNK98k`*7tPo~rT*gS9xR#y-0ttLA-o`3#%Jow;) zaihKF>O(kiXgvqe490FR5N={Esy)93Sfk--_%+Wz2x4ZW(C92+Z}AxY8|O4F+3@c@21Kjxn;$?)$aE^|nK*KtWwe zW*9?~9ZnKp){-S1XS5UJOv^a1#sVi}ocAQxi`X|xZP#p16~K5+;*zM|4qG4dtj?wl z8EK$K8&1y)8D!JKDvLusu_FU;DPf0_?@b~sWV94!ZKkfcr`Eud!CSoVTo=dNAjoWQZR6Wt{}Dd^py(*55PwzlM+9xVs9PZ=LV?}2{tojxF>mlUF!TLVz3+7+D>+qB4VN0vKzp1 z1EZi!x@GukDf1!;&Oufsg6;Y8?qofag--ZP$mR~XtB>A}bFi2NFW$mlmNS^cjJ+pSfXV821d9v@Fd5;j7&}Qkg+?rf&=?cVq@bP zTwbov>+^W#nP>3RpZ+xd{Dxbv#i6VAo161a+ufC?YtE*KV~{ft#wmT{GGQJE<;N0% zW}v4NdCD~~wLW-{)C3x7R%whhBx*(fj*6GjRye37J5)`17um#`x2zAaT|yS62Ex~J zfZClWsJ8uAk&so5*om1LY~j}GEkVp;>gTjQ~JyaIK$jy;F!>3a=htI1dr zp~B;~f2PLxvahEU5U^X>Nid1Y?3U`ihtyJu0K0pO>43abqSlYn93u7Y>y`Z?_gXmB4x6O zCjONUMAkI-$JU3I99{-;E4}Vo9O7plKm5Vt_{)FwDg5XsPh#`HIzISY@5Ec*aU0gw zru87zatp5k*^<>=a~vNFlq*1Wt$@(F*ELC=UcU!=4FTV~VVJFBr5XWf<~^Q%@+|)P zk3NG>{@nxE-k#wX?tBye=Rf$DxZ{pDVQp=%3x4l-eH_!tCZ_9~U_OP57oW!YttYU( z{nA{2JII;{eGHb5|adj+It8_bOMXLpG%TN9GE2hqCM*J5Lgn9sgn1G z-v`NThGLupN#|SQr-J-EzyA5}*e5_geYd0l5HiIR&J*n^5oJlApNYRm7IFZhhnpTj z@_L5GvXz>IlnD|&Jvn}c7Hux|e>r8ZL_uFWu`nb%J>0P9J}Mtroknku&4;>C-rS z_H2C4N8fN9n^&!8n{jQ^9s>bt$vaD+1&DDu z3-ET(l2!n2R{G3jMyuRNBFES}WxH|-*|k!LotVt)pic*vV?S&BrANnHj|x@^dfh&; zAB125d}q(3!r~c|VA%=4vj`)+H^J;lp!&}z6uIitaFNz+V9dzV;yqFoq9}{p!ZcP^ z_h|&Ngdz3co>>cxg3(rcBhzoS*pt;kCSEADwaWrh39{7+T=HjEEkM)@d&M(1iut36 zs_>#eXJ?H+CK@Po7tp z{HEekeGIisGyBe?))o)-Y^lmPkLMxRC=}k&P0E=KlJwA)?Ubk=TpRKRJEG|{4k z&+KO@+XP|kYjl^?G-=sbY$ae_E`6MTre=pr2D#K12b!`{j8Vz{g+RyM1j~6B{?^Oz zt*wh=@;a6*i6xn$4K;gYSjzWWX2G>$4i{@Esc)_sKeib9)LEeDj%yo0`#7+EX@JZt z4(zDxaAR|@*N>-%^*t&Zqrh$!39a=!Uw-L4{{Fsi;J%N48LynXfH$1F9`F0uFW~^I zKvcil6G!0ONKvsC8(zkvRc!9*zT=V4;m-L|i-Gxy8^e9w$sB<@G7T|xtmJ1N&ph=4 z{(tt~wCS?zDieIxzVkcfq*M-?WifaFgK%LR+z}W=hITDTjBs(^>uDoPEyP`>Z{j zo2itPx+fwd-}k-Kx##S?_Fm6=*7N+{uRMg``>ju6|6qo@@4W;6;%DBA?|krO*w`3h zSsdWX{?~D3?+i9Zw_$5^68+v}4Q{NDTjuEXwlJA|6UKZ$=JTg8ot?w7xY7<$5{He%Lmi1eK{2-SDNc7XH~wN&DtE|pF-CZ&u}}pOBxD)#i^B70B&k7e zS>8D10Gv}wvUr*c36ADL6Y5Fp(W7)!WghE{D@7T$!?KOomg#;zYm1+)SPSP*Qz zG5dDE+n|d^cq+fpfmBieaetgpv;{ww5VT}aGLjz-Bz~)aGd|GN0-liH#gNl}t)E{U z#&h+-!xBi^QFz6l(0w2Qv`}!iHE>K@L!U(KDmPP%t{U`S@mCpfI@rRBJW69k7gpSi zuuIuxPdlNc!=Tf^uM`08ntQr`i-B?}xhHk}(P!Kog8dx)DpCPVwx3~ ze@jWw*Lm0 zAE<}n@Fa%AlUNqJn9a^%I(q`(g&V#NLwH@5^P?ykw#BjmIm!3|MdWrBGq|WsC5@1z ztvkk9x- z+ODkvTVBdrKBlmx6v+l>Q&Naai-z`J)GY-Do11rGbMrKa)`kzy*75YyPva|J`AYr! zu_N2qIKb6*PWYwAj(P`#MPBr)ZNB9%br&Bsik z6>c=bNo+s}5mc^2Jt+ie=2@k616ZP>EB;2zmkfam9BbO)npBFM)7d7N%2>+*$mKRk z)d~-wR4s7A@hxVx2taTd;(n~sbkI{t_A2ubh--y&hczt;tY|ST6#SLqo0J!Tw~n@A zlp-J1MISuJG&;BBdouwUS^ZnW-+HB4)40Y=8Jwoz7IqyLk=aph*cPVsG z1Z;n?0Ng7Xcy|D_L$Apxj)umzAKzMIU1NSLg}eD|fv zd>3B#_E%zOXQSCyc|@A1-1J@!yZ`_o07*naREaN*(uG};Xpf}K`;d}a)TEPgWPzSf zb0i1g?vmq%Ott+SMgz!~ivoZDwe$FcU;i_F_;)^yD_8e%*FC54vp@Gw@y;K56SjA@ zV5}@}O}?x&lR=oypTWWW84P=4Yz$9gV{{xuy*1#mK5m(#XErezKY;PLWQWgY=df5_ zR@Wl7L?z3h7LOHL_$6|bDXe!R8FHl-{W88KPg}Vw!H%kZYdtL0$wx#?tW7VeGV1j3 zQz^$;dq-0BLMhEsSc&S=FtZE;LPNc<{**u;g{Y2_>y|D*lpq~Q$!Wl;D<=rPX;TA+hcpYS7$mNhv+)#iNnH~OkNb)g zcSI|+t!j`N0>xJ~%k(9gi1hTG18K80mT0bR8wf`tnGT+q2N^cp)4042 zU`FkP?U5E&hMm{ORyTlH2+$Orj!NfO| zbo+q#Dr;+Kz2V5;b3x${D_qCQg?vd2K=#3JYP>=G_iL@U%6iNlL103zKL2y09lk0+ zw2BUNZr5C{R=oy*t#UrG0#4}h(6|VF$I#z%rA%_J(Tf4_UUhzS(eh_y9K@vKatj~P z=LcH7q!H$suV282e({g+>A(0Ym>K`z!3Xe$_r3Ne`!js;bC2O8zw{6udg$|*&X;(}H{FAO z@zd|cJKp_9Z0~H802wugbM^j9C z7!FQgI5>f2v4{EW9H#U0U|u*9&!)m3ZQHx)Rmv4rsI6sDY|dk)ML^)f)i1HC7)|QV zB3w68)iUW|Eni|c$EuY%iiRlNU{7%5v?V*-VTRW^i_1p0O!(#tNMxrhp!J)|097D& z17?$S*))}bqcn%ADEL-Xy$(g5S!81Z*_?EZ;#=t72vA%gfkn|=B*{*NJzpt-Qjo(w zXXs{_we(5h?Ifz-i>3Rz^0TQ-gbdoW|N1&K(k4V6*vZXTwUmD%pg-8e_V)c44tLfw z`z9Ud&!5M&YuD=gbo_zav9mpHbhrbXg^-5xDhZtoR3siWM2#7%29%JS5Iae7YcrC^ zOiFFKeS^%dEsC_twW)z}#;YPTiI^Dc2*?FlHPGL=egPA_>jD0rPvAKR z)~p<`D`!25tx=pYc0<>^3pkz27|%VIn+;C#bNKpI_OsmKIiVO7liJ8(`sbK=x1LkQ zmDaqsrkIX)Z28!g%e(mKZ+;RV`ru#SU^>GC_n*SMe&)@1*|*(|;jr(1mmk7s{_5{QAUyc0 zSKwd&uRnoT{ey4E#^$(AFv?|+OJL7pDOTpTf{hyNWr1r4=W%U%4&(k2Y>rQ1)IYQa zK-R}Cb@a>zdgGU1JiZUJ`3219XE9$~7TVeNiKvx53T`@iYlVtxZUN+g%XR)~B}taT zkh8*It5U?0AOas{0pI=LF!|7^uq_nxw2CsF&D+!pAB+e)baynwA zBud}0%VG$FvY629kg}dp+bC09p!y;ixZ=n@3s*|2*y=@50?`(HXR5$y zTM=|gYYx!pXqZOOu-a)=YS%zX2&;BhtHlFS6k9}vqNu)u0YGMet*yJUv2k)ei*Mqw zSS;|!BadJ(U^3=YW@Aq5Pej?8eKk*1uTM4CMf6!t)>m}`4DxzP>ya?+f(8HEm1h5)hD26Yu6 z+&{0-xoO|eWpq+Bp|?L5NU$iycxlEvA&Be-jOBp18BrD(rI==Rl|{*IKM&7-wBCU| zeJ)=vg(wgB(1DZ~_c2#7R{+cmNAJ0Qg#=wY+@N@gfR%z(2v*R9jr7Q(vFv?TxOPK* z?6M`95-E6Tt;7CY>vDZKF&2|@LKz61v(|VEQhn}>$r)~^m>e9NhR)z5(p=2-dQvNeZO9x41gtpdRFgS2Dv75 zIp8oF*HI}zZWH*BCU4CG=jLW`eUrQkS=fLl`2Aol0${!zin5cmpFze; zgbM+zgB+a-qIO?8dF|`X-^${GsZMsXaS~fwcf*+edfwjTDyUc?e5UHV4{{D79&bCflro&~`&iVg~x)Nv=c-MqlLF$zE?O=-C+|MB0i_&3JZ8GqP4&5XOd3AR=ezph?J<`6H2p5ZOHktH z>gvZ+Fu8OkmGmd&=+*l1fK)rVu+|47YqDhk@Zkr@12OzB6av8G@j7iL8PmDWiB_b1 zFHQU0e~#>!std#o&7uW}r(#@AQLl@Ra+mi>6|7=~RLTkdDG3yL==FOIb|cA>MOA>Wq;*|_BG+@R1ih;9T_ui7-orC{ zkKpRTW0(wYucT7e613~%7K6jh1e5Xon2hhke0~Ab=~*m`XN0tM2|8QNZel4TTX`&2 ziUh`Z$`=JU#LWs6=b|ymBx5_6xdzZ{ARATZhQM|i6#(uOwmfN1N4vZ_jb#Ov7w#f! zqf%j|P-^Jds*AXht1l6Bwmt3DFJ#Z6lKN;&^U&z>N~sc}rUHOQ=)A5b2$6InS=KDS zoCUedYF^z^E$B*C+?-&UH5Dk$ghD220-dPOMFTdCcY)QF%@_VHL2*mPCyyD|ECN)2 zt>N%6ws-DBzrV4brO(lE`SN8v{P4plDxvwqhc>WvXaawoO@ZG|X^3=|ZrX4p!YXsv z-)$2=wZ&dx;N>KhF&0TH@%BJW4(NV_d70s(fW}s5XUpXwG0k^nhmsftC*y6W+~SJ5 zz_^wU>Dy=R(qtRlgH-U_m*vT6S@b_Y=HJ%DSnCnt17fUPC01FR(FDa~M3REcJM3?w zX!6)mcDe;v)|$ND-);oh(XDi1%|?XrGdJM3s~?`PK_4=8(-}`8m27DOxBs8t$D@xuiC)j(O>g>ky!ppoixa1h!t{H=e4!N&uVXCd z7>aU6t`mFz9E0E-Nun1L7_Q~7nzu(N$F*PBK2~sn#e4~7hA{?T`O@R~%ttO{$QPt@$a2C;KN{(rZ1b9&4R#nz$7tFF zGEyg>|ndAz{>Jjk_r&iQLe7+j3C>@>Msqsj%Rt3s*$2N^_bE zgth6a=l88PcFlOV>y_2mCKjMJH_Yv#(KunY6+p|Vwurhk{z9$k1Oj+jUR-0m1d3g` z6GxJS8W6xrq%;?p8W|H76$eYb_Y!W$^wS_Nzuj) z2%OlIhmv=MjBe0wx9*ah8g!Mn2*G7kp96bOceMJE*J2tr$>iv{`Z9gGp?pkCDSx|+LCG$Eh zid$m+WnWhuqIJ}JUs8Z_-=vttb2a0~(EcHpnTf3UxEk>O zY=g$U;#zPs0o^qSo{n{?eRwEN`JMy-X45$y z`RZA`?-xFVzkT>I5CPx$?f2nbKmC2U?}3x(_f1mgo38U7b$MPer-|It&~vV5?x&1w zpZmEG&SACORePN^y|nuP2IJhBi}=v5eFEpcd>*fS+bgh`E%Dhuco?7k>{qZ{7I^8) z9>5R%@Z0d_x4jN`+<5}SVZX*_95Bk#EKG%0QKM;WMTL1umGPe)eq8GxLrT`U3mpz- z7cpI2#K3G~V{{VZ;cXzSrBc?%t#ueP!FY5Z#-n>NUtGj=dJc=lrApdFu(2hGYI70O z5R-k04Xz9({U9o_Q1)^^Q+=MZe_J*(C=DJAa5d*kzs3epaMarX~E5F z`z{hMY?+uUt59J?XBjJnh$7UM0gE}aKuec%Af($q<;Iv}iM}Yw z#Ta9`n@Kl`)&OV67TE6#Zv$AQgGM{vUuM~%EbQL{1TbYiaQ&xf^JqRB@3nzuoDnV8-v;DICKj#{9tI~%xVR!APu z+!Tak<1D2sn;QR=c$Ry)s6CcKbo4+V%9a1n=B6xKvGcq8ZODn?u~I}hgZG*5ER9Gc z@Eh<0;8tmg)p_5V+unJ{zDF*AK#{<#>W4F0y83=BV&aB1V!sP@^ErrXlioP6FJ~>rHW!Y*UQ@mIf zID6(IKJXv^2!Hy?F9HDWzxM>*`On{k2fpQW4PXW~1lP5PN=bcDhdCCLUkk;u8@aaJ ztoax!xOaIy1>IPb&#HZyn&(}3@(LdQ)YtIUzdMH~FYe*o`HPrN=eYZx(|Fw*z8i1- z{@3HBuXq3(8zT@5xOKC+-rrgPjx8`wu0{e`13V^Buc&v0b=NR)%?vfwTU&EHE(kN; z#ccNxn7zlaF*& zqrzc8g+!I2 z&rxjdOqzMcGC}o#i@K6bNf09jKzGp!ClADxZRQ0tj5R1zK)jsKjG3uLSz0~=+|w_W ziMH0>Ny#v+gAx>iDmW~Q;s686!$24PN6jMA0|UIBoCZEqwn?C(y_=BSN#V*NHn@V9 z)SeGSIVm{hco61@m8?l2-1)2c4OLzoH99XYOT*1Fa)MU;Lg ziti^J2r>>ywaZf+$%P#@b=R8~1ghB+>tXS|wD{LV>TJ0YR$_;&4|PFYB4DoufUABK z-fMF}%TR3N1o%MO0-*vY;=8n*$sy#bSTS>E74(+hk2)yrQ^z=zyEc-HRf##?X;^c> z7B%E-EG9iijD^+jNxI&=rXw8djEJ#gyUIiO0OP7)_6xzZj&Jho)<=8=>pHgljx$aG z;G}@ptj#ZGb!|>=?6laRZT4afWdJWc&F@$jatbVuJtr#R<_+53pohtLi0N#J z-e8PZf6uG%(wDykZ~VU3;{KQ1iC(Yo7}_~67C23fv(#z~T&WSbdoKb5#xhfFhcs&3 zrZ(ggc#oBIu!Mzz=h!{?26hk5U_3g8&Cw|gdfV$@xjt^W!+(OD8dz>n1ZeLE5NMN@W-fF?_ChMz6 z$xiOUttF^fmgm!F-#wD79(aL*slkec4tV)7>{PQG5p)3v`%(Z^P%Db|-k#V89%VbY zyN2?T>gNz~?f!|v2tcsfWE5V~Z3Al|z%UXO2|?JFk|`E^cO+1()QUL2et!!)J1@at zxDJ}nw_`e;;!9up5|+zlHGvHd-+cuAK`-8+Z&_=^Eif{)*@)>jQ>J`GYlA1*hF*|y zw7?0SfrGFHZ-^bJZ@gRGC!Q%+4UCJn>RkQL805x|WQl(wJ{rg^eZ-t=qn|HBQ_rIa zxEwR3bc=VCWM6134{gkaI#gqXAomoNtyw9BGx3fQ+xK zybX)lny2g>Jtbk}f*i9_w(&PVZ*V=#?1S<=Y)7j;-%eCteD01ht z|A)q4wlT3{{&^!o&u0TreKw?9UI@T{*EN%#<$IKp$jEu0fZc`TYZBTQxAwtacSbah z`LZQ3?Yo!`UVwkj1{V68nA%5^5zaDS-!B^qPv8~`db-ojG zR(!r5fSec;0NCI zM!e_8-j3~^Z3j!KS6Tz0s8&G3C4N-63u_HkRm|>2mW@DG|A47_ylA9UtdAUX!z!&X zFRI=61go`@1Kyur#KH6e2K{Ypj!t1bJa&sk+V!zM%2_=a9K&F63`H@;d~qJrgL7Ce zr?uarRo#$=PI@OdJFIQV_?Ccri}XMqp-B2k+GWhX-jwnwj(esE^mS)+b&>^BZHy_G zL@ulxiVbxHFdGmRkns${WPqzSlv?(K1oN?aOnzw#s@Er21gfsB72jhJal<@sj1s7J z`UFbgzHZ&O0j|;~mkjj!ErlL9c_+o<=G8jp@@H$tS#4xYZ-DKsdobBJv7S%Q)8opO zD|qjMKTI=&Y^39+DZmI z{ZaN>FMS4GDhbKCE>b3iM4WORZmE^EG$2eP)nq^@!0I{0br;(z)EcieH#ebxWP(4w zG-JJ(wr&hN@pB*_D;zEcs_Gxo zx-OCxPM(*9)T~5!aE9hM2cu2ctco(!=2P+3IbF{3`pmi!4&compv}BUx^oTez3MD(tLb0 zNhSZil?}wf?g2jW(a+((|EG`P;-#w?jRtu8+h2vZzV|iQKD1H!J#=GvchOc)0o)o; zouli`iE)9f{r~fQ9#K#h#V?#|Ic-c6yp}-mewG)j-|t~#GQw;&$80vM3cc(yw`+W;rZeko?d(n zz5PeAF*=Ej(FqtDtU;CaamyXXj4&GBgVFFF%;%RdpP$2QenH5ac%8>a379SkyPm^j zS>em(cNy3zu&6uUjXfzvzZ)BOU~B767}H9d8H5ru4#BzFkwHgNBUP-WP_G~0cj~VrG41`hu zan_ib>?iatTh?dRhomHgYLf@T`39Y#|3hWGhMQz^@VnXK>6I3wVg4Cke90k@x z5(Elh?Z+_|J`7GV+XKCWz)`@suf7J-aMNSUhJZ+9fSeq=ewn};I_`U(YxeoG1?ay} z&MRh!$Q|w{5I0Qp*L`(As!56j_Q?|Lwv6zWnY$#A#99Y^&^xqo3&|yEo51RC%SC}N ze*Q7M|37{Vk3RM!hzPHF)i>jV#eXRyCN#i7I74SU;Rlp0V4k{6cg&CPRA5YS^G z7;KYc@qye((pomR^E)d(PBm^tFjSQ9R|yf5seY#tYbuHvt{psv-Geij3~s|@d*nVKzOF+3Xw&-fv`tAUrfBK;i?|RGDF-VsLZ$_Zt5&5PJU} zhQn=NsTvSBgko71uowg`sDh=-_+_eY5iVLtOtszu{l=+NF08VZq%_FXcvQBM#;}Hv z0@SYCP#nA%;PRx2WFriDi7U6jcd|e@3s|5Ilq^`=jaHPi*ir#542b@o=@W^4U3sYICdc+BMgRaH07*naRIk7(aLm_~&IN~MSAhr8Eb~SrASw{zZM=PLa0!0rY&g5J zshUJZenza39b!WiFr%bAEJwyG%1XmY1)gKRMqPmMP!~cdT|v0mL#vpO0IJ&{YCA0sa|Su8+ zq9b}2Jg4g;TvToQ2gF#-H*D@Cbaq-=;mS4e+pX(sAlBWkg@Efl2x%s`29R?G;D$t@ zK?35G+APF6X)I7JSl%_zt+xTW05>-skgfN$=ckx&s`FDmkJ8Qqp#lVDT))@~7K_7O z_9#&wl^X~`KO4`b>-?N&3sk4Xel*j=J{Y%S`$}KFi2_}W9NV}FFk3!{LvzD316SqD zd?rQAI5+mXkWL&wueTFf+dSfzx=`&%7Dm`trLl7~UAt7iYv< zip>3(Yz!ma#e=|d{9G`%H?aA z%@z`ds*`LI=ob^!%uRLL(>*|fi%19QyBHPF&Ul0cz6_Rsg(6`D;|c17?1D9czhQYi)S#Mp2d8A5vcp; zQ8T+MY`V#XV)#@VN>m=?ab0WLM)kd3CYyUSA-{tcPHt3l`-zI}fCit?T zN+z3XeI#P*MqMSY>>0pO(Ij`^CV*5GwI;H7!LbTNB=s~U^vy0ayI6{Hg9KV?ZQsUt zgRD*ru>vSjEoosS5CGRm)5#rV{1p-}{lOU9JNIEUI<}r2FQDV{<;!^HnP=+c>*Vc+ zF`10S*b|%Xz|NYK9a1O>4{bg|x~I_%VoY5jOo|4O<{ETH!H|#^q0)|7CjtQ} zi(FGhot>!pxCc_=0IO6>x(cM&LtSkk+m|VXSA+^GvB$JlM{S|(>Y%lq)I*N~331_+*!^SCo#j7PC~Wa? zu}4e75RH9+%Rp|;U5_DMZ<2&p2sHO`FIaG(aOD<=SSeJ7J|K@7uH6G^`q}!PKK6c{ z33DhZb{XU4R+XF*VY3F9ppJVUh?KlKoIn}sy`XEP$q)r7QEYA)%I!jjAM0);8yp#c zOYAEH38PJ{AV1?9RC{2#8Xy8do&SEU1r3i0>u89J_i+sV>U-FhYGBzhrU6z8^VSC> zW8iI+MI4FWU75#N0gUYeuIGUFHwv`B-p5w?K3zcdoFySNhmcs~T7b4U{{8oGx+xIQ z$tTL&Atub`ow*w_vdrJqMB_oREb#baPvL$4;UoC;XTJ(&#$9*ZhWGyK@5gt&=9@8| z4C95o40)8?;uUpRPExwvUBK;|0fcL7R(=d<=X5#iUrh4E$&VDUoP~j8gJDMs(FPce zO4*RTy#vhWQ^5+T=n@XtU0(H~u;zAXd9OHqNK7CUQ(IT@7KTI zcIq%THb?qqhoEY6)C+z_@2=G4_BTAa8=u&@`7$l!ZDLyOY%L~BzAQ@2>7F$GLG6Ed zdZE?%bZspTC!P#SHJ*zgDhmvn9Bl{+b0z9LP4Zwm93Chk0Njf0rO*+|heFbl zM6uBkf=nq1q{Z5q>oLpRzArI`R3KsMVxYMyP@cOsq_p^ zxaOpZo_4$^jS@cT6J)$eo>N_8jB+9H84i z&(raCe%1i99K+2Bs1=li2n}@~G#3R$r^x67h!M~{1e~c;%kDcoS(jMxA+t4h zOTRw_bZhf8WQ-eNj28vt;>D}@z%M<7kAC#8F`F%L^vE`T=qKNR?|#F}N&uWF4rT}9 zRjPX;ocYqWm%0CE587%~|2doVDgo=`7KOuUi1GNYnjJoyp2KYZR6~&V2u;rN zB&{L~PxHINgH5k2XgOYtHL{Ls-&p=`OfwIQf?#@;39bc?3#(nut!1(g0!=g(3gE*pU6wR-Epe#v@Cn=dJ^y$i$UsNJM1_C)=PGsZ|WzX6HDF^0TR_@T-%I$ z$*Zp)zUo%6%?#p}@C?Z_Wd-S#OxO(LJrmq~hjg3UFk-4}RRg3$z+P-K+|`)XKPQcN zlukj~cOvi86Unv*2DJ)1l9lK)6uq&^*E8mP16aUqUH0c#gmIVxM%qm9R2tuYMp1>8BtWdll1a%}Jc1$!nV*-UeR63c>MG9joOERr-iEjaUUQ zNg!n*7FVdWh;Xqm+Q8GHr!Ec`AUZ*GvH= zHMTjTD|jBzN`bkw%04GL-b7(P#-z<995C|bQDPu=41iC8;;Hwc$Sx~3hkeN&t-GN0 z85%nw!0={mKFar13OpJEy>)-JjbW&0<;4Zg1kDQup1yb$zxykHjQ{Vq{tUZ&Q*3RH z@y;K9E#CUWug1}%+c2hE_e4x`EobaeM(lmIWBZN#{2QLzM%d*3J|XC<;Ypy>aos23 zXr!D-MU92T)_lH1v5-YiA)e?2(b5Yj@h1zmbMrp6KCvSO zCccME0!_n2Cog)kHy9dh3}6)4pPk3v^gKp`L)aLd!f0@G4Z^ICTlVPp52N2dj0r!0 z+3X3-W@oWn?v+!-H1gASj*x_8tlwfG!w92TQi;ck&RP;OMiv0CCAkZfpt8VjN#+m| zqZZ3*-)Z%b)i);eh^qox1Avn$DmFL-MGNYdur^C$LQy?zs)u_$Zr;a6E@}c37v!-w zn#T<_fr!~n*$9FuUTZrQ^=DY^r^<}Dy*IW*n(Bh}2iw>=bUy}z?e$210Urkk2l(38 zz9v8`VEfb|^asX)?OLk0emjTH*cB5rwZn^YX2MpX7X z0``T$u}c6q>RuIRPTGGq!MqAfWE{T zC<5Bas+RbMfbg*VRmeji&iYixEJuK`6#BsFdnng6pM@5a{R+v&=*7bBKniEho0M*C zYUszL9I^rP&^*pzh{wP*Z(Wx~K;QhYH9mZ)mB2#e1L9H^g#*D%E4Dk5TWA-22>Gn# z5YX3pUk(*+B8JUGQO3J88;!B0Q|#{?rKVW%D;MkrvW4ryjBU8xU^!BHzFY_UTJ|A* zdZnPw-kk8Y?VWL}NwvkQ(o%Cjr0bot=ZrhgASPx3eL1U$yv|Ds-$8dqbadGr{WI{4bX-5?b4G*xkb+Xu7 zc7Bu~xC{!FB#AL4+nTL@3ZVhlYWq((Eh!F|Wx;LxLBtJ;Zw1W7b9@RBTa6~R6}C2; zQ5tbFlPen_0;>(UOii$?B~h$IirnkiZ`mJUd;1^v6YQL;imk9i=iy7BJ1xt5=+$)f~n z8v!H1wkC8)QXiu)hkXvS?jj|lnIh>>YuEtRI_GPOe35j_g z`aP8-Yk)9ioJ#6BoeG^Xq=V1`_hlm90D|q#rw|y?buH!<$6Cx%R+T~tTs!J`FQPIW zBDhDj$3wulQc+|1eqM~^lmvu{NQ5Y-_t-ql$ngYGq+h}k^-#r=@a`uwGM4FH>VecNQV^4N3 z0P2|HmM#f6q(t?w|fX zoWAoYjG@kwHKDPS(`A}68IFy|9N_$>14PPNo7=4!`dci=YysUOPo!G**4?8z?;!yZ zir;V*XeWTV5HYNjo@Jr6U0)d^&aXt3~Vh&ql z%r^2z4voAv&$1=~D8Xf}wZI$0yAm*`3bbKI!=*kM`6?0u>LSP#wU&5eZcr3dOQ^KW z*sS4Z9hFVVTCYHFs&vk6aAmH*es+zlhzJ{-r?ItlH^{6jcDKrL_3BkT{`lkdW_38| zW4t*Erskmyb<~e9k@3f>@?DZ>@&U>S0>J^Ta0wWMz=B*LEU9zpC&^yI97?Jvjr~Mh zVzsTIBWvIroVumPT680^mTN;Zs}ohg*e~cuwr8dbc{NDVW2D ziWFVi8{GwHEP91l}oPsVn#MEe%N)xXTD?W8CZuHTm)jm`Ri-Ah9aZNF>$^(z1U|Fbj zN&DZEKJm>neIVQivQ>R>g-Py%qU6Og=`T^A2f3aEt=|PW+XB=P_JHWB@y*DW|Hz%A z{`Jl^>!ger7PB|VSqIeEA<~uFbRb<|{KGHG7o(y&3-Gqo2dC{QL)S=Ilif5gz=G`|<9deGBfr{{;H|-pa8q z#}gryXXNacVq@s}B4ZNkR0=&Owm!wA&RUWsJ|U{^d~a)e+qE<}X+w*O{5%GT43*@LK$(dZ70 zMt5Mbyn@;E92WB@QSh?CQ>5OvC2Jbb6H2UmE%K@L0H9KJgnYcik?UqKmwuCAM&ALZ zrSTtERWMQc0-LJUBLEku-Cxv7re%6r6vC8}Dv%p!xr!ESYWg}6>YpKv6YA43)n=sm zVl|jm5DNSHqP$er5Mekvg6%{1qu-ybNA4|lOs7*^ym+zxeKHM)ub2pUOI14$c$y@AiIpA{?3}cS6%dSUuB~w~9@kK1-)C0hM zxdL+EyFlEPKK!i&Gg^S(pJ0Gf=whmG(?daafwmwG;<^)aw11FHkvWvf*8$a zs8%_Pd=6`|klI@nj^uByg=Y++Y&#I7K;zc6V=qqodgt+v4I*73Hh5eXC9mCFi`gMb zi4>@pGXb<#Yr9uf0d9@irhwzQV1s_GZj9GQ&N`I~Otywe!q777esqyV@j*wiKyUy& zS2dIc=**hgu>>@29IcBXq=NAwMsF0b^UMz^vLO3iZYk%6(0zzWt;8@WO>?=+{0qsU zaAMx4Wd3vBqxD_Aq65X&-jJr3yyuG6Jd}clufffVOi8E^=nMF@fB$><#^V=YjKNF45LqZKe zY<>z6->G4STUL0@`Xp2uz$CCJJJiWJPXgDnx-8jDf_Q1D0Ez}ct2-p^r70>^f*M?B zG`5%wSgD2zTyydv>6OO{xtf%2{uNjFdiOXOQo!jTl(ntcF^D00rN{R zn>~ry>>P^aRcAhOB|p@}1u@49f-xlln`@FnV~$4x^sc*0#0?F_Q0 zP#QhTw4JLgu4awfY9BR0z0kVDDh(LhZX%^knm{SSIayHLRt!zu+EU0in}%|Z z#^ulkPO2}G0YGMgLx=CjXmn&fN^j9)e}5lWuU@TxKeV%f@nq<%?kek>#qja|P8nH- z)}odIB=mOeJmASb$9OGps!R*(z;`UU*Aku(A;5x^WZR-c3^IAyh*nD2L+$1E(dIij zH>Zt?$-)AqfeB4M!M%_ zLyX3dE~f+fWL&7Ian_2UIED0R1JBifaLNEDV=O#p(9->}-U zO)7Np2Un7corp-0+ETPbhSJG-lXz-xA1il7__@?xM_TumUEhfo5T2rsD&IGy3F@AE zwciV9XLkX237K6&sW*!t@*!=02OL)%34QQ9)GZSNFSKjcDMlbM4if8a=sIdcLl&TO zWo>dmE*ZaKiSh#8w8vAOIibIC<~&ZB<07(Vr(`X(ZFKPadph%e(Sx-y|61zFTWGR(I6?!)YS`t zI*!4dao^=N&&82iH)3mv|5!-M%#nCvZe&j+5rx{M6nSHqSxMp|i%@u5SMDX21@`u) z0M#R7voba<>HXbGxDf)e8#BPFaFw z%TUi6@_CXjR!_V(`a>h>((aCKo;P3YR8>8DX8J$AUjMkvd`nY9}k{x~; zqtR(Bmsc^Jp2K|h1Q^SjeaOpd*G=v+S5)(nxG9L$6xPa6fCwlG12T=r6Fj*jJ0bgZ zdx+1+n<`gq}j;JdrKbrN>u@Fpgcp$C;6Is4P=XcAzBIelp$#qzo~Kv|?6suI{QVpG&ofN8B_s8!%)=0a{5Uq>gb+ zM>$s)JoKpKo{_VOV!@gt$73b-8HESux$nygB*q>v-~Lts*+_&)NuiB%js!}oD}li< zM9Dm^-DMoJ<_agj?1P<=`>cX%QijA!44^RzBjY*8NGxb(hIrRSEk&fr0dWM}isc;L zrLv`T3n{s?eLO<8OMoVn4Sagi1&aA(1A4X56qfr7@>=Br0aKb@w&y??vM0S915KgV z_m)87-nIUPGyBV6_4>r1z^(3SI43mH-xhA2z=gajz;0O@`~!Iy^#fYc!~=^&fi z(?t)x2b1oj;1>{bflMiH;(DJeK(=;0wT=P*@0uw}Ji8Bnh6Z5E_gqEWdqq8PX2xtf z$6tK%EBJr^?fdb!4}Tp1aPq_v{G*?HJ6`*ymt(RyhKUu70&9G%SRV_;&sP@rjW|@Y zlh=`??Y&dLc*_$*$jsKVCarqBx97>KIsuVQQE(AkGGjJhpePFT`#tmrJ+I@V6ICmxALez8s16Gls zlm{*Z##B@!OQ)t_$#Vh#m!Lgkf!%|%xVC=|lhF}OMyD|BA6kPq>*JO_dcAFIY;1!k zFTs5FB&M@-ST3(PTd`(-R>rkOMS8A4ZW|NoE)Bylw!@#Kk*1J7sit_Jr8s#tQ4Mp= zs`gutZ57SFku)G+@d34d61WDq>t1G$Pi3`VfX1A&kN{*wYqx==tgcaG$_Y_V6%ws!7@=?&MT@I`R!?d@SYoz}nKc61xVabJN(8z4?)s))HF>pc{r zyHFgMOo5SUkWx>2DS}Y9+V6-uvD_#DBBokxwRTSS*kgXumBS{a1o-0Wb-P!KBpMT- zQ~4Nq{2Vmn^kazFtb>!BRe*`HOj3DPjA-pjgXr*qKhNBA)95(j)p+ayt<`lWC^lI5gzVHO`kz z(HYgOJfD;iLp3R<0kIN@JoK3Cj=uI|F~FXcLYflkk}cdh`K9v}*qh_ZBIWDS%L1p? zS{+(^L^^mR`{B5rZd2iwXsIfkHjosz}525Y{t@T`stDMork~^<+9_J1}cVUn_ zaWVjO#dQ8tvMVac=K;+Wc&=lX8DReVh4dgm8UkWT(Q%A1$9>InX^JV$5|#J#*B;di zMKN)VMRZoqw`MT=-x1x|v#s~h&LLJ<_8Hs0K6mK)<~VU{&R0tDM1D4>*wZ1lzkj|V z4Lk1O`m?GeN+#YKmtLq8rxt=EPrFWT9u)A2@@6`KT)(1#xGp*f-#LZaFmpC|>0RRTW zfz#dZ*6*9HL2h(J2f^r?6aJ z!)$sEv-uMsT2w_Nk)xWD;|!)ovb$!8Q&p&Hn2fe7q+kQ%$@BKPr~qsmED8&rbN#an zmIQ_|4J(}L7rTpk30R9Hk($37!$QluWO^IZ{LdoTSa)5bhVk8iQrtGC<0fPlRkB_O zM+SzYO>FPH1cTxBdeps$j@{i|%;)p^_syf5*qDqRP=kW-L!cEjLC5lS*g_hu^5>Lh zbE*Z~!3ApL6W5To1_$728I#*io}1u@^edCP+?qzB!f486y5{Ir>i0MUSfSS5NIjR( zaPYUcq`ta6?qVI`sr)ZIMmTdUrKM7Q5><-O7fz8#NwV56E|6%&^;+#o05rkZDaK|o z8HX-CLoGlu0EXu#e>u{O?faLa*tSikV+9Z*V6Le@>>ktSP3)}q`p)NDZym{7Q z)|CJNAOJ~3K~%oSkvHi$OKrs^u&P-lHH!}AI5KvU(jfgND z4q>R*?)tKw{nTXR{w}M*a45L%vB0!^%z#l;3I(+pCtIMLAmJ%4s?#uB;ZoGfp=&T) zu+eKEUKsjWFx)vs<+^c2Ehi{uV+1UhySTddHC)?&43p9A*chFHF>B)H`na`^UT+JN zjc>x3UxNAkNld5buv}bmboW6`Cg@P9Qguc~j^4!L%jgv5k zYsmtT%cvodAQCy%H&j43Q3-N8$)I%s6+ja!j4Uonr`_d}>T02@4NC&_;7Zb^*;km} z5L?^#VzP1jdW5~mj^%QRr=EHWi^Zb;+xYkEBi554FzbjylwGL3EP@Dsp#O8a}!k4&# zYTGvyUFxcJ+&9zI3fL(r6zw_B1}M%6AUtMR7z4$9EG2ahW1pS1FUSQ4LxzIdg6J)b zoH8Q}Nw5S!b^m$n>w$&LJiX6%rmC-dhPK&eaGnJi;}-l^*O$b4<4cUN21G0Ok`OR6 z^*=Xu&3zDBkz8@sR?k#5>pp92{TOiWY1Rj2Os*5;&W(XNbIZSvv*{dv{)sQ+H~#$x z@wqR29m{2bqer&zo}YXZ-u5G}#?IkQ7(>y0SIh$>g{9u8xc7Vpy+g7lp>?2MBRmc7 zC?nhh%;kHiJ{X|zJ~ZWqy{hm!mzv-Q2POGzJQ~6nR>6WUjER z9%`LRh6S?8C9VlJ4HqQ_W$YA31x$-;LPqX4T;c->FwPofqVSmIJ}bYdu&ajD?N@h9}PEnD89+d{2Aix-djm^{8+_`J*y!#?O=JPq8c;X3X9B(~PoFaWq^5o2cAP6+*x+=|C;9)U>PugvYp+kNbtK9F6cC zrU+@tKp^QLg^6=L5CXUEGP}X32C-O34phmb?~qBZe3S+(P%sJ5Bw5lM>rk$h%1cAt z2deDJihzxu)4D(@M?v#+;?ycxC{SoSDRx?#nHxs9NU$kWhJ4fR0pw;YI`D=mP7Z4lC8h;yv?5Gs;L z;9C3MTIEx7?@n!;LgOyyvpUXQS`pk%y+%Z95=CNfT});&cu}{FVc26cUMCCsS*HFJui0jkLUX6^)@ltcmU(c{g}@$U_O5wi}~ehPMMP3y(|k$r5=A}#9OhZ ziHce>rP)qUDTl(;RI@+;Eh}(apzJkJZ6~fs9O~x?WQc0|QWa#1YU5;p<+A*n)JY=4 zrQs!nVL%HAx8`*odDGiv7nQN+aC{UyhwewOKVFZZ7dZ%i{``3dc-lO&0n;<^t@tT;Y>fX`0>J}rBwT~|qz7~3RtucPufft)cc z=h?Ip#=#v{p~YB%qxCmmZ&qUjCR|2C?B=erD51akOz;q3-ZcTq{VsX7Ruq&hb>)`g z_a+~wjcHBQsZA@+rGQgew5-oLL2+e2#!~t_rRI!w2eL<%f*2EfU_ZJAV@(z%HvfIl z*Vi>oNoi5y>uGnqo}wIhuav_qE8m&5G2)padIjOobqO)*ZzL=Hdhm)IBhBF6A_8i+ zMy)73t^^1sw2^%i8K?&gB%KoU_KK_MOa( z>HZ9#`1lv_t3Us{_~Mt(000gj+Qg6k)c4`-|M+z{c5EADbXmAuP45tpkHmAI%Oh7B zFlRjs$%Vx_s+^zexyA8(EL2&J1!`X|O(wD{N}XuW^T*_J$=KhY!4P3G8N(P;F{Ihk zF4kt-RoyC@1^for(3`xTh|M==?l#AJA4EtRr9Zuz5Rhu@Cj@OBi% z9%j?Cn9iO+v0Q+9?8b#kBOJm5pf0v?i90uPDC`CXp9x>|!2L}gu>Zzyd-+MiS z(ZCNW}02Wu^ib6 zN|q9uck^XYLU>1R!k=Hv;=o+h`z*NilQ*vgN>Bc|+q}cy%TPFG#PQaK$HR^RZb~46 zvOr5sGrJ~DL19M6!e>OLOLheLGD;ztC2if(TfoDKa}4ttZ=utT-CFxqkdt_v~6%am>huGZ%-HL1veQ zs5<7eIS!_C7-Mkg&^89cek}vSOSE@Q0;p=FQm7_2l97g!X!*cc_BRTp)3i3%vn=%L zbwcW-u0Js8en%Eiw~{Cov(zVb%8*)Xi=+C^)psfl=7s*b=5+6OCt9s@Q@u9>%jFEa z`;TF7{|rXM+psY{g??{q4g9Q+TmCR+1LH}>4xe4bY+#nUwdyoKV`bJ_x3ggyj= zh&hmz6!2sntd2KT1u>u3$Td)1y8H@It1>|lvf<6ic??I%uyv$Qe7*AOxnu^|+`1DR zTcTCQ#~gY7m;sAegdNUIG}EwWeQzq*~KBjK;KxCz#XnctPn$9B1lT0 z^QGo$W?81Qn$K{HvD`FpAw@RJ&CRt3vSf+`@J-63mdrS(6N5a~95sbu2mB_T9k0c* zn9h3W=T*S6T)Cvwx*gi@lok5MS+5GrBnwf$EF2~i=`=L zdqw5Dl=5{$lc~ck*LvY>P;K1U**iF1UPh=BNc|McC^d4usfd^Yx@sA;a|2dWjbq8I zugwOB^~f{jn#2E;=x<{(JdM%t7_gQ~Ss%AP9FD>8I0nPx zD2n|`JN!I~Vpioy<$NosG{`Io+2wwtZ-Wr|7<3^Jy`Us=rJu{fET#@5mQ7i)?uy1R zvu^3&CP<)%#&s7SFfUHSt;#j0INm&g?L+s%n8A8HtPkfnI5@ziOPA{3N25OagTAt< z3rhjGPzHsWzn+V<+!^?~-F|ZH>%#4x?_s_V6br&~3KUDIzzBJ07)NM|Bs@2GX|SAH z@qEI;GX&FT^hSjKh_Q9D0QERvk`~`Lg|1{8tnjoW#ouDB#6Uh9ToZqYtMht#5282U z+5C8bY>@#%`Zks6v?!a*7M8oDJe}}dIhMdlMXqt~TURvnAfaWL=`in7MgfYRt9-3yJe>k@y08?xcyz?T>>Qvi2VaTxKjeIF zZgHCcEEY@r^{2jqU;Pgs!l{!-@Lg|w8NT=358~eYPhc?U>#;=uut_jgzBbg+7BXlI zvA0v~?v&(44*NOudhuL`SP)y3WBTfTN1q0|M_Ace5@4Zg8>qn61&h#k&o#A7>><%% zoTfnSQ2dI`YkyuA%K}#}@8S2~_i4QEKm8#dJ5zST-f`+E-t({Cf*<(N*I?(+W+e%k z*PC}e80pPsfOi4FwZ~%~587H70?d=Y%k_mhT}AZ%)|xYv5wKUgpxLjN<90fo5bCgOpq$sEXmW4!0{obY|RhGbV)e+lszh46kvm=G#0FU-*h*DZc_;~)UUua%?dKYDu`9VD<-+ITG&?E_>eq&w9$$wl@dhJ9p2q^3&8}iL z|1x?9LrjLJFdm(Np*1$PK3)WHxS3!)xgX=neVETLU^+dA<^1VV?Esbhx5!}nO`9hi zM_VURvWSj}u*GYl0i#%2lTEHSj23)gA-Q1WK16(WQ8c>+Lrs8^pKXK6V7QH)LodN# zxNiSgANnz!PI2|>)%y40pf4QIC4Y}SR&L6!ODyCJ6*O}8grhHaQjRyVgMSuv*D@^9?kK-3>n%<;`Ek){m-=077YO;1fb+-#-ii( zx{&}?jLpdz_bFBcOLg#P0gyx(4*GcTwcmor-f*t>F&*}f(lDX#91Tq&#&)21 zKpo~lml;Ko6%mLSR3gsqj_n6ig=Bja1>>nFFXKbM_6hvfFMkXdFI@#QaMvBj@S{Kd zR=n*;z8gD-x6m_`CG&PGm|3O@irV88@5gkQ-BH7NZ?j>|m!;HLLmK3EA(j#eL#%ax zGXnT^EE1_=&SJK}e6d8&^e`L_FdXzMFdL961oj1{!i|_s#o}gnKUv8fFuC4bZCI)S zkS*v{`_)xInDw~hq5;m~Eb|Q>AosSGNg#9XdhT(#$6*Gam5C((e7z~c1C=M{2 zp2Ku@9w??wfsMFgg4;cVm}s``qm(qM^i|3k-UK61-I_vG^{x;tBV6e?*vl+=# z&LmR?6Bat(1$%&_8RF34`!L=(zP{J%BYN!Z?cv(BYc-%W9t|)Y^;_vX1^AyDH`rk} z`}wh40A(Atf{YOpb}ta-yM+0E$@q56EH!Bo7CK@TfNhiPf}583kR+U@ol31_qAW(u z7Qk$eaB!uM!5HX|ONMwID>C*r~Mfw ztV{HyGxOqbG*u40EhF6s?>-jNJ*Nbw+pITAp^OkrxTPMp8`C&w1S#3!F->dx9;WX0 zNQ1kSz_DFJxHj|B@$m?ndqp%{Ba4SKx8X{vNHD~gJmE@qNSdGdy0RKLbECoVSgefU zCn1Tr5TiBat%MQnBF0&subw0ey%7cGqGD#g(t5CB#pYG`ZQgbAvb8f2pt78 zrU!G(=Sz$x6AT7@^!oi4=F{doQDYoQ4R~CNVOI%N<8$ZgfeU7R>0QSa*|NG*+yLNU zw1{KQrDAgALv3Wj*PAvmhMH4y^7xwRF5c6s zG1TUs%s7}mfrHr-81!~98J)&xcob`?l=bmqIE)!%Jh>0!$-S7*FJd-5hxx2jhv)+( z*wtdH7FFP=s!~)t){04KwV4cR4FDUwxH2CrDpSl-+o%aDT+66fFx>{uYGQK(h7&ch z&k$i_`%Y|b-wCSwVAjX_2p_ZA3!8*Hc>_E6rbNq72k zqOttH)YNOs^!R{yR0lDTFXzahFXT^9vl{SrVL3;%EK8N9_SsOb9&+~ zLGdnNI3iGM9`NnX65D3l0QX_gJ2vJh0@foVPUOyMI7ut1tYOZO$nJ6inqW&C_+u;< z1+F}^i>p`nF`F&QBoM%0*u&2D2DT1O(CZlilD0>e*1IH|D_H4Na=>vYU^m**9w8IW z5QrQCZ}q}QrQ6p6AL8uCSgpbj#gs9~S}eSH(}CO0?t>rf0^k||qk$^gHO=|k^@B(H z?B~pR7SnsrVS>j>LSRsw2q#V*!T<0R{}8v|brc`^rHAlWfAjbF(@%W~4}bX# zzVfNB;nnYc5U+UfJ{&!^gI?e0Q@R7logEUoN^j&m-bF+EdbO@|KPy%NU*-LRALHv0 zWEN90){{_OFul%%LGv8IU7I5*kw$wg7E3(x)$@4&|NZ;;@P|K(z5N+_J%g8j>s@%y z|MLBK!`oho;dtQq*t`(g-+9H-ZjWp48I$!2bvpR~cW|M~(SXV|dP!AWZeT@&Gsd?4 zf4V=zbbp5Ve1XmF9)^PWKWm(Tu<#t?~V3tfQG{j4dQ6xi4y&rD!vyu%BPe;6Z zx$zVR0u!G-pxlrc5q<}@*jKUl_Zlm+GA;GqfxY~Z8xXycCAND>LoWEu)(cGH>E0Lc zNk+59Wz3hCVfM$^7@xv;cmhQIHBhuZUIYhWFt`na!EGptDQ44i6%$-&MLIEnl#PY0 zstIvnE~?5Mk<<3UrecqSDt)*rt}$TPvdUd80kYr{+{CS5U@|#|?L+sW*B`I%<@)FZ zg3o5NdgHvgF~VTj3xZ?KhKM{66!2$6D@pV*1H~v~_bG#erwNOFYO~1U>Wj(EeoGU( zsvcXA!^riY+XiW=mdp@XXBjqjF`w@f76*js6~b_nv30tDF<7~%oFYERWRKu7W?6vZ zImvWt-wEY@Q)^tf0_>sWM;hp*z(xs*H9!a}cC6ud(@Y9|z&R@SS$(bqz%}+uPLg7X zqTSIc?ee@d(;v%}0CWS;t~5Gh)-_*4`ZI|$4jIA4i%vQ~?my>x%%7vW(jIv1r_A-- zV{-1PZ53_KlY$sad>n=Wwe-ApI7SNO92iM~#h@q(Jbm#h&Yro1-K+ap%$H@0?|g~b z!3@*A8Dk0foUAzIUm_oX{~CH1{vF=*jtB9ow|yJF<>hx_Yij~Bl(k<-)Vgm#j@E%K{%io)*8|FTEfhQp=Tj^T zT)TFFOBb)=>g7G`?jB%vFvoO%hJ(E+_O2e_;Mx=i*QO|z%Zi;@&IQvqFg*j)Bakr| zj0Tu&jWF66VK6Es6#Iid27?|3!vO}P9)^SRIY*9cVQYJWUf;W zaj-wb7yjl^yzdu2j6eI#moS|!(C-_(`c>bI_xzi;)M2}WRVxk3e2uN?Hoy9gO)@J(46~nNkYQJ=8se>Dbye~HR=o~bb<*N?O;%oOU09U zS^jTKm0eN^vM=cXSNHxN*LEMnczioHMyJv1P1b1W6JYQ&lm$D~f z&Y}UpYkgt3h7Md%6ErGgOtNhrb#;sy2e}#~q~<-v-~0UyY#+K0qw$gTom(F(f#CD` zy#D>r&IX3VeiT?~n*wqGvSjrc{+@*h*tX>)uPH;GUG`SNai;w z%_YEkwQClUrq48mes{+nJi7;P8WKAmQU$6BI;K(?SUJHVv}gy$yDIf=N> z!Y(Bs(5BZ58bFIPOFBqEQSip+HB(}%DYon!kei|~mg^@50J2zjisJwPAOJ~3K~#-? zLRXy>xt3h%3>P3Jgq!De)_17TV=~8~GrMzW^MUyuN+g0wup*HX1IAZjf#({~>8vv$ z%fmW%%`(DS4E~T$98vh3au}ru0N`zon``9jze`atru#Eoxx9Q+VR*7x2`DDV(!v<}4_1pUvAB`~!#OekLxzKf2$RhbUjEAaaQd#> zaQC;}i9h_WpTrlxd)*I;R)Rf=c{z3 zWdXx{qbQu$!Qk!+q6Z|znmsFb?$Qfg>*b=rl`DHVclHu4K5-cr&p(4FAH9GJk3NO7 z=bpyJOILAi_W;xB9P`Bz#j>bCIBu=8{@P2nU`d32RhT3q42OM8#=|leZ*Sn((QRxW z-NK<0J2-Um5DwqAjh(}rICNwSw;kWX;UimR0W>4Dg!J@7bBzne{@xUy`1t4XoB!8` z@P#jZ1IuNBjmZdadc!O5WB>cRao+4m5Ro)ZH@pm)gJ*?Enp>+MLG zD5!7^elv$RfnBt^Lx~y!9ZuJI6XSV`UWAm-UCb94T%KZCEU~?{iH(i1SZ}$O?@&7g zEdjG;PdD1wEmD`116fwA?|Sdv5S65CNi)yIew0POAo)-^m#;VFKO^=~1S&nXy!+S! z?}3smR!bl>UxW*Z)HknVv>6QbH6u@M1uj5tdgK^p)_YS%E$LF`IZI4u=dizj4x`Z# zOh%_M9IUan_3`33`hGxll8B-zcvtoepxm;qoT-M;xp`%+Ej|b|)tpnd204hnax^ynF?drPn zxWU0CgXKbB^n*aOSlOiZrCe!iIRXbP`~TT{&nL@{^UU*k^LkgltGlWi?a&Q0fQBJJ zfDlN~h!QmvNpTd4iJhH@-HF-#v>*2$*@%t(un}t~b|}qABT6(9LD9kk4cG9df%d+- z%ip^Go_9YSmzgIs&$-nN5aynUj_SH~&AG>9=KIShpNGujE>he)qT-*UWNWE&)JbI+ zY^%|&VUN&W6&SP$#Rj9c+jECAIzXfegpq}qGE{YZmZf@G_lZ&q)Z{uiRt{=GKpwgT=fkc4?ObE2KA(AWai)o(Qzc(`(D1!vy5gv+O|WA*A9 zRRJIhBw%T)&k7>DIxj?5Dvsv6#hoIiDBUH9v{( z|2L1}=>7Zg+rNDgzkT9WtgLR~{gan)_J3Q(+s}T0$Nu6WJoxxgEH2F|z)-*3vsmu# zXf?tPk0ag6*W9GyJk$O-ytva=Cx)9h@UXGIjZ+_9#`zDg;Nm-%@zJ{%aPjgAHa1%5 z_lFpI9z4$rV3L-vkr)se#3pg|VC>t}30*=i=TB7T^Es4?c{J)3EG^Dp|KSBJ-noFq zL-W|PcNPl^)2P%+5IJES`;XEGvd36k*}`vr@-lw>fBhC0FR#G!7>#-bKlsZ>@!kLM zO&mPD8~J=LSlyR?FY>3by~z5xStnKX2}NbqV-|4%ArWjDUL$gb2CLytNS$3v3u>kv zo~#kug|z!G>(}Y^23T41Ls=)MCQzxA6p>@Zm0%IVXde>&IS^)sa9NQJ2_O81yh>lK zDEoFtLNs~Fv|bxW6Z?qO-&%czz-K(#7u$JJl-uDX0LA~;l-<$s5!!Kqs$5618H>Hj zqYIY(34$C&lMpN)hv1xadu!T$~@<4v)9bIRt0*=JIFFSY1LZV(Sx< z8g?&q*o8Xxk4o6U=te1w2KCLtuvX!^fbDtpkF+7BTL zD~M2llYWkLI6h)1iy%Lr7=Ru?1(xaxI!{dNQp3%?w=z zgCUl$tmD#!8(6urjtlQy#^uw?xORCB>l@qXw0p=Ga;Q{_AR-I~L)5Az6bm_c9wR3R z#X{Z(+BpG1u{BM2>^;vzw>N+nD8a!#056sD%K71_P|<@=?UNfGGuUHzo)5$O{UN&D zK03WVdc6TWkFmYo!PaIAmoBg3_$wcxkk4UaqKczO7IEiS4&%s!2XNPY`!G3GhsX&< zLB*_2kS10S$;Wx8NyHhZERw$1di}@_1v6WFXdCEBEdA#ZeCM-}qfjkq8D!W(GZP~V zNf{1SVYnVZsxP^>1sLz7-TovuTPu8_dLG#%-wkOUw;`7e&q-zr)r=aMes1K$E6Y4*pC~IXF0Z`=U51z-tsvm!~Px#XtdKh^APtWt)=z%vxzdt~`-NpLGHZEMc zftOzW2*qL^QFXfwr@lVQC;dM%AeSuI2A2%?7}oSe)Uk`>dky_~1RaCv@Piz*;( zKSWLnz$Dqqk(Hp$XfNbr_MfnfSefH5RbRdBLvq9A=!s1^lTz22!L2_2wAaRphPPi1Y?G?a$)P>#jS!e zi${b)X%da8LnsvLrj?5fs^IrA5liM8FVetqBY|gyMvU`aCDNFgc3JQBM%LYr#VuC zTA-DwpcrXMzQqPbzfR4dlr2XIJKi5yAcsB)Wb&zp7BrP*ng6XSU~C@YdWfdWZ8wX@f8;oLG- z*P3Xzdl(Kq6bd;^P1Z0oT}Q9d1A88F`5baWpjImQp0D{&ulj|VeNXcK0E3~2!N3RO zt#%KcZXd&;ht;($Jp1DNc=44FF*iGbM;|?kd%k@a9(nvIrl#t?CpjDXfVA_UW^`+4 z%uSPNX}|0DuPt2D3^me&nK=c#?HDMyRN@X;u6u%q_pWkW2njX0=~$V()(PZnY+RnX zpCmBnjOQ^8h?}4|2|}$=!8iZx0UWqv0eAfTHT?FcFXO_c8`#)v;TOMr6)(Mf65smM z2k_|kAH+Qm96+sJMlL5(y^?J6mNEJ{4gI}8 zc;^D%fAus@9zTV*-#d@h)h2rVL2Nrkgi^79a=Cz7wS;o1fP6lOTuvaL^VQk;z{=!i z+T0L=Gy9X0p^cUQfB$ctj=x%`(;c8c7{D7cI-NeQwAXOu>KdMX;e9MFOyiHfaSRWC z_deYFr9-IK%TY!|8h-WIhw|^ebskUrpTEbietiPltuAsof!h!6#t;9;KgPFz@DL^@ zYYDaar)^8Kax%4Hwsvilw#pRToHg%8zWEX>-%JgFZFz(12FTL5S)Ruu^k1CPK8^ZX zy_;*dy122j1tA1>@18@socD!UfdG<-wR(gTnR8))CFGx8JcuMAXE2d@`KOeVr6{N+ z``+k9l9zZ0logeCI9BzNL73rt25~S_8SVpWk@J6g9tA*N6`V!ikCKcaQh8fu$=D+) z7*zk#hRc&w#|JXJCo#Z0M5lKNtV1a#Gz`z;9uwM6+&l&(AyLVn+H=^p&-i`h?2hCM&F1~^(`&OQwIEoWn~^~;E7UT zhmp`HNo5GTdfR|E$bra1ZI=hV2G0TsopvOa;6il?yICnaiVDg;cxTl&J#6 zgM=#9IJS`>V$_Dp!JMr4*OPL6+81!U6u4Qv!;u1b>HT?8vFXH!4zKO@bdN+=J`)(Y2 z_;xHT&Y)1ttCmSn)l7;aTrc>@PRj_vSQ1H7z$?z-n)A&OcJo2vSC+HIxH zrdpJK3^hCn=Eiz-h?2OD@7c+a|sK3 zXL0Y>?!a?Deg(h#&FffQYvS7S2LAqUpTYA_y@Nmg-a~lo`w!yC(Iu2CMc>Qc0(>Zi zg{AdHX?AI&0%sRorWEL&mJeatKZjj$rip_H@&>B!Gap^W`>&tDN5@a&#A~N;`RXdV z-9dB?1^MT(UM-_qEumD(qg2eJkk5ZC?Ku(oFg;~*)MLgVoS+$vbYPvQ9|-^N$JbuS+L&N1A1_idP(t^1R&WDczLJjT|>HeNgaA^z$A_#Iw- z{S-Q#K7=6Lch7$O<^S}jc8z4J!weRo(*S`)7zP=*x{(T&J%4qqGDi3;}f?83}DCWUf`ihmARmmu@1 zRS|ubfAxisT~>Zm=rJDl#U97|8M-jY9_aG;%r(g(`w2$_IgV<4qvac=^ufW~^?R%6 z_g9b;HB`!rC>7^HBrx8_+h-es>kS{9tPWx*9$P*5jYWim2q30t)+_Q52L-?Tt(u7b z?kmGd2s9c?s7>r0dk>AbTfTL>U0lC@T?xV{)l0s|D?^>-HI6MaDdn=U;da-}vUexc@u%;@Cq6F*`S@_=c0TIxr#f zCd0kL2Gx=bYjtmxu#MEhBbi+GDCUq&8$6fW9!~)wqqB!B6IPT)64*f{wVhBxpY_Qk zJ+xFCj3}_2vbW6%KV3?nthm)M>}J|1&iK6WQ*$|iiHRy6dgKlqxP1?fJbF8x`LD#T)p~|M9nY`VYU1N569)mTsGi{K8!sCRqTJt*=RK`!hVp2B|n@ z;vh|Jp4Haa#SBdrYIsZ?@2Eb}$%vID38>m;duqc>c+^@Ypwx z;ofiFg`>yzVb|^;$04-aVn)9=z=d-+@cSPh$1nc=d0f4=4$oth%LP3CM|a_`{^#%F zj-z`~u9iM^0Nj*&;A#&{?YP{o$$s2&-(vInmaU}hrh}9Sxis0R7{j8GaZqQoNg1V6 z;*|T}@qVr`oK4y75Fb0+x}nF|Znm-A>Y`XGVtRT4rBX32gP0Rxm(fqCE0YE3E0rk@ zgajf#?YNd_kf6viB{9J-G>1<}b}S(SBMzJn;$Tc6L3uJXhU@{9i(8Z=X#F&cO}pg`VAVSb+w`BYPB~1-ONchNK=3m!^=s#6`qN zk-#WbX3>~Dgj{~?H8kEno^3cBVtIL40Y#-sQEKT8osV&BBdZRO7(TEUgkP=+@GuFy z<<2+_3hLgt#-c@6ix`y92@VU@2VDMX;076pX8dQI9IQ|~`R$EtyIO;3T zGBJ=SWc9;Ai2$+Wq>RN2J1C;wJ#h|a-@S+rUpkEsKfH_^E1T%|hrZ8msenQ;kJ;%G z1i=U3!P0l%3pV$;h2E(!MhH|ZMO4Z~Oik9%-0omwvxTi@2kRRx{OqU4@xt@(c-Idt#L%L&=0mv=7=vlW-`KSL4FGWIO?8Er7xWa7}7K*Z)Uh4Ou405`U8? z5Lppo*&89thbrE(1Vxo?J5GLIVz-%buFNsn4Oo=qHw&@TrvK8|P&V-9o{I>#Tp@>D zyQlDHKYSQR?>~ThfBhz&{^=`t|HDh@^#*w3?Xx)f(Pg~((|n!#A=2&^+?_KU{y8HL%hIx?O>mQTtEodnrJi*x26b7q9HytxxhP z6SY7hn3&~RVZg3naTPPR0oF~{Ca#;-6?U2C&f;?NN|QTu+dXWrx6tYIQESvutyNGi z7a%B>ma**r?Ii~sY#CF;KGyL!302^s=XE$<*N5Rr;g6cRp^Q_dYbLZ^i4@vW@MJWm zC4h&L${bper+fj!DGO~@Ov-F&B7l@J8mqZjiACd-u(gC2DAsenDqiWlM0^@3RBH|5 z^mK-Ai0)534AAOaM5}WV<>DO5LRain00bhDHR ztaLV;7X&&RF#uOVkGVrLjaLQP3mL`JR15NBSrKipXke*eQ-HWU_Mo_vmAS2PTxa@n zM8UEyQbIY|Lo_)saa%Gl6OICo9D_IGe#l{=p^vi`63Qu%F$*Mt751{BVwA&wSyhs0 z`IDPlF(m6FzL!(y4 zcDskQ^=)izcX0LE8vgD_PvX7TPUAcO{p0xRpWf$t$qGsYV;bQdTdq$|slI`19^sND zNBCG;@S~}n89ji_-rmB|KS7@pOCj&Z<7T3pY-nTUiC(Q>j}>H;2-MWyCu{?ZYI`zU zrMTMew6>fx_a~#jK1&;B1C@nR0f&w(U}^6xzV!G}JomF#@#GUHaN*JowAx)f{rtN) z@#Yyk`pdWQ$Pd1RN4|a+re`OR&kIYxoIOX@Hp$K@&&vv>0k`7Y^%%o#73Av6Z2RL4 zJ*=%Y@y?s)@aB{6;gx6K!`XAo=ydxL_%4_7Xw)lc)XS)pizt-}$O(bZax?FLFMmbS z#6$(n?G9E}o7if$F&KEbe03E+`N<1-<)xGO)}KF!Z~WC)FdPo??9X1quYYnJm#?m2 zFc=2@-+S==|L*H}{Ci)DCS~+{{FAjX%H9sUyuM9--7XLBMEIp+wo(V?Q9De@F}vw8 zXVx^GQ*>or(}iQ6*jC53)3M#LZQHipF+1wmw$-t1+y2k{kMWJMFVDrf*lX9CRnMFS z9y`;!c>&NLt}CF=0-^5Ar6sC8;7`%mFRN z3O8k&B#XNP_Xm!x)72q6Wl*Y>lu{^(v}yK#tL!zFhx8dVm4$bG`K=eDnr%0D6X%1jrrelleG9M;|t#yAA~TNC*yr*iw!1g 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 anIeG?kO~K;;fI~0;{u40mY*w4l-D{EO?Q2d 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�E}pr8YiDob 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

%g|_KSiZV}pZ~vq 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 z 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%0D_P>F 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 }48*A6Um@vt2}0b9WZMR%pY_`L|E$4np$y0! zLOcSqtYuSsU1cdl5mLgsylw0Q?K||i*HJhT?o(mEe3A^3I!e953Tt<_aeKBG*{#@5o?nr!C)GE5HDd5!oev83^Xxs7?K;Z5=1f1)7x9ceOB;YbPT zVeDo@dF1G^QFoCP|3 zq(P1L@MwZ9aQW@;Z}ea#<4R`}{*NMV`~kj+GV|#>{N$XPp_B7fg@62p9Gpn zBA)R|=%c}>{F?Wnv&qo-go?g)okbaJOG85d5w90w7&?j?hYRZYC>nU2TA6=o@unam0FzJkgiw^Rk!W8rO7rJOaB&jj(>28EqQcD>*wP5d~ z=ORL$YXtH#WNoG5vRWB*Oeiq76#hv&n9M!GqzCQw_aRwjahX*QihB?1g86qGj)ZD=VdeuWHv2R;A!wOn{MhFRIikUSGOe!(M>@JbU z$;UnH9IG${p<%ks!5*h(fUaLhB8IOA1G|FEBNIc4>)V)}vg3U>AG0$y`R98UR086k z0eq(WLK$eRwJ{14dTiKzo%w4KEC6du=rgh2TD!BVWJp*ZEIyeu$!+&9a97XF$^DSq!rl4t@_GJ*pvQD@9^lon6=pgEY z$4SHpUIq7_wAR1i2xLXJr9;0=k?mXIs#lvRl^gG9lzg}&Oc>KjL}1;YRigttn2!=# zRK<@t&uOBIe7?Ruy5H!5p= zpll+TdQW8k@MdM;z6}Y4l>+Y*qD?#>?scicjMrZI0dUYKNdDL6MDlTYX&Bk_`sV90 zw&E=_sNnALuno3&qzgFR?TPGpf4MYSN+@R&6x{nWj$+qtfSOATH@m!?=p`8Q?Np0G zHC6EZcFL;B3pDZm^cwg?-qHCA-sliNvlbwHFl8gk$Cn8B-Ux5T7KDFaX*}$^sdU`S17Q2BB z0KFHAR>pskz?~}V8)Q{ORE%CH=!wx5PH9ik{WZ3io7%-TYPA7^xfqAtr14a%$tNQfH`d0uX9t)o|TI~zI z$_bq9xUr2PHhbVEx)ar*9*wvP0-Oc^AK!tc$7uR|05;jU(b+#?-$h#2{!hR74K-9ua-`8O;Fy(QeUE5$25kX1p%9J;vMmds- z-))){n)C$G%c@9)g~2*JJ2wwEG5&iWg0wOwq;(oLddUBfj78?H zn&expjyWX;mYeltFZJnPirlg7{Sh=%FOxMXcK{;OGozDX`yRV*t$Dq7 z;Qt)ER}2PNc)@3L3x#a|A5CW!Q&-n+;f+IacXxMpio3g8Dems>?(VL|DelFkNGTN9 zxD+YwXMHF6lXXGDz93=kIbV6k7%A*OS7==Be-WZ-2*;6Qyj=rMHR~M+CQql^K;w@Y zoeL}CxlCZ_^DaS!xk$fUgq{W-UU36NbCU-*>pgqO`!`P**|f@BL=cGGZ^jpy9u)6R zYvZA2v&~R&$gjK!Z;HJhdB4-5e)KdXb_qCy(1`lA77kfzK^FDic)q@wyo=z>6(NAu zJ3pY`uMkZpFbCdIfmaLA3n^3#R(1)&(;t5;ymmP~J!P;C!d%C*I6gkEb|0nU{mf=* zHIv)MK9jArezijsfBgxwcS&Nmz?8?TAJUTrTSFn*vT~#_3sivEne~E* z+#YvqiW)T_Fg{=s^V!2gxLkt5D!js(}}Dd6Gj$XIe_A9A>E0CRn$Z%H4x`AeDYmG#F0(uo&Hq! zsQk(h=uoQmV^L5>bHax@dVd>-!l-Af_Z#p#gX6$Bh`%7#Fcf^Lo7Y(dt(}C`HEvUq zFlBxk>U)tbfg7dP?z-=Q75*M5aIDB4sEa>uBvyDKh$F>JH@<3ew~96 z-;?mDCrj|Dagv0xLQQ#fKO}K!!QT5MzhJl>{G3Yw5@RTs5c_Zr!KXm`^fx;)IdwSu z3+aUMcjgPaXm5K$u9pH}+C+mNX2tG)drwg`t%87qTT{cpHoT`bRE(m7>Q*2uZKna{ z*yB%`dwO>D{6{%oU^7lp;3$v_erUQ(zeuR8o8+{s)T4=2| zblf2q7_+l5?(%)i;qkSAkS$0Ws=haZSP%tVXY%6o`seZ;r|{2h!0p{VS=O?X`@xM* zThT^TRL~P7M-Gv8K_7_In&q>QF$w$}-pIlN8IS0lDB!1gF$VYzpv4h9E_l>k{U+^4 zYervvw1 z!+mZIEqokFDslWE)NUc)T5q&J(92B(H?uZ?9*@^BfWQBq*2`k37vD7AZ2KLv>mlg_ zoz?LP-}M($wpCv{Ej}!CyfiH|bW=@D&9ROOoz2w3)|Qdknu@0=;<>*(to{{keu3Y{Lqw6+g7912kO`;aeuP&?kI#9_KX90`!DA3NY1+++ON$r zcJfpxvJfb05V#UGt;C-<)JZf!vkpKKZ6{OMq&{|zI?sYaHRJ$BFa(NIO&3PcE>d4W zRLT^Rpb40RCxaID)Vk`+5`J$>kf3r0DJ&eD-?d@eEI`^|+(AqB06U{TzHmEJbY8X3 z5s2s@A(Kb`EXev^Lby|a8&TR0La`_-gK0&QxDL5#8k}hIWv#YpEMAB}W{xXH^p=a> z$q^%!tChTe6=R^zmvxwbI?LRWDS|i;)!d(Hk6+nCiAZO&jUWX+ zVhpb^5bzj(mZ_@m)~o3A%WJ^xcU|Q2f1g8syfE`cGz%*<~4o)Wb*Ov z5?F2i0tE-WB<(Spya^KV14xjyqM0WbIrMdpz{Hm`MSTYchX@3blpQ7uyoH&y44#nX z5;~8Wdbzk8```k%L`5ExlSg?(5>91_33<~7#tt%dl7^+M!_X&cR`xo+HAZf}Y-Jat zV#%N5EOLd>c>;t?NVfE3QP^*FvK9)_if#;J!tB}2LHl+aq3z(_2n5G`d6`s;)%N3;v^Dx(a7TL ztSaF=RGRVlI_p(j)APq9jYn3H*B;H_!cO0PYy!N6x`Tn=8u$;rb{<^{jbyy$-Mvwm z$rNwA80*iGY@r=I!egUru>8SG3?aIPk)`YipGikOitwJuKvc%ZB1D-u8N&`tQrO%N z){|CJca}?8`FOtp7b=^)xSJTdUu1cY-LL%kw~@_XQdOKEvqYeLjeLBNeCWoma@C!Y zKh;?j*NxNMbfbul6X^8vPQq*65M-q~Gk-12aw($HKv?E#F+D^AYITwM1(z$T>@lHh zB#UQA5*ouV;+Xk<11Pr6q@YrEs0O!OQ#@Gd@$nSp1myzDI8b>%N_jtiIKewMYiK;O z&SDf|Cbd}nKIz|S1J z+PwLG?G^NZUEZ3r%##`5riv3QX|Wd`vV%?YINGthyZa4^pYbo(u#yCkhR(~;kEg;V z7siZ;3>;fu&x4)RLONg{~GDd+G$6$JhxjeR@$fN>BEGw0O`>YoHD2e;mx z=ENTa(38**{Unu@NcO4D#qmhNaB>yZgEBOI$~)X5nh-JqIBbw2RZuD(7)T6CCZ!;q zFpy;x*DnMkYm>h(==Q!3PBzk!!}dAzrM z#;(&qI#})OSwO;>S4!UcnENd^;&YRWan?d=+5cF8#C;&g1X|1FhNDo}=wkzS*t>Z& zwa6bqs##8#ABe3{$_x&4Ud672)g5t|@sU!ZjErf;WsVe2fSmOGhMGB+kKw)t&Q$P@x%WrpA*H1K8>#$-+`%7P5&oe zlMbTo*R%()iiih)=8OaE7b3q0l96ryH<`zuMn!`_(ND|Q>;(7h>vy%uDLM}PV%ufk z2F`lUW?Z~H|d2G6^)(X31)E**qU1! z2~Da6Qd9c>QyR;qs-)r&YfMv6`x-fb%|YJ+6hFp()bBfmf~p0IWO=iDRSyp1tp@M7 zT%&Hc+T5HZG9CuM!-IEzSbiIZF51adu1b;DitncNn`PQ{N&6E2bx$hZrJRFblMg!s z=ci3JQGu%P930G`9F>yV8jWa*Ii!qs`4x-WC#kHDC5pkn5FIi3rno~+v?AZ`e#Atz z+vpkc$*AietC!M zGUm8`dwuXY&ng)Vg2 zJ)tIVl&LYmg5;tmA8INN)PkrL!i)Zy;bO~(Eh(Xj7JOv)Jh`=@au4?!pER6^O58Pp zo`_8>&8s&Nh=Iv|=oSb)lqwYXcK*Z!;6U>Ui0m|Pslqu3iNQCNx#8<7J<{AVQF7IC zVxi}Tb$lnahv;4C`r-aO{KGm5&<;qED?JZ{^S$9}XuH`gl|k7)k&HA*bLiYk^?Dsh zi?Y!1F7Eg7WCl!0=?4=;y^=(t_0X}u^>@162XC3*?6a|!aXSE4HlDF{ zdUU8ZD;imf6Hy$<{jpJGFL`=>LIRgJYFt3vpG7K~IP@MWUio;fyE$6XSug#QYmjfG zuBm8v@jfJ$O1`3xSszFe{4?Y0{|t3@ZDP`g?6n;zVy#psB~UO_*K{#b^j_q&H+*F=Hr+bvI$O5Qcaub|DjUjRXA2CVYQ!i&Fu0VRp{!QhL+R@#t>W2Gfe z_vw5peq9|eesmf}%Lx_=u`zFTUEM=d`m%ZcAX31Z{y0!HGiBK>DHOT=c=h7^^3o{D zL@>1OP4MxSMr%feso}PR8JhcbS#@Qdk30f)Wo1Pp@9v$)K1UIjl9DnbG5hCJQ6?4% zjT*`rTPaz1@Xdei?J)N;roOY6PZQmlnL_@0OJp@CGi@JAq-3wv8O5ALOpkf5C5oQ8 zqnbR?S4`vA)ZyTV&?pL7lo&0R)7-3h%9sgS6{eiZP!}BZ8AN=IG*FG{^LRHEH&mx* z4<3?F+jI<}CJz4DeK%mD2l^>#x96{F+w;qP%)%hPWMF`>$v&voGScUQ;pYl(uj;-So$HNwv@w$AT0P-+@u)mE&y?9!ZTVNeVY{R#CCHk2 z-IYXK7pPFE{KrH&3LRFLCidngABzRG-u+k?$TAqNy*;anC!_tG-O#2^G7Qy z^0~9}di~>p7qw|xU6xw}{vSgo;K3ASqV2Vi@l0EQSClA1ujg|ju~w`bD%pF(!&BZZ znRPNf>BY&Gj`*wnRb$|n@2(x-BonHK+~u+d_&%o)uiySNbAJF9-g9B=-DhY_ae$nA zXNqwZ433+Vph+7R3nB%_FpTcGsLBITt4k+X-+nOxEvB@z@AWa|_PAI73p@%D9|{0Z zaW|k8_1+o!ANQ;PKjXAiKXshc0b#AAUC;Kt%{P1;{D`8jznZQJ>sY0Pc=}9TNp)vy z)>A0|K_0X&V0;y!v>NS6TkKMaFOFkW`AidGN2TZ?ZzquHjR)zfnsO%D_TTj9Wi+bg zpkiy?>x$3wQZQ2EOM_$@>F|ekLjx!`i$$uw(NRKx3MWo0dk1q9_)B5o;24S7V-nQC z>So#X?25?CT8DJW>j29$=i2RpkFE4C-xXhb<g%)OcoEwFP!( ztr(e{kUpU~%{=D*wKC}W9jlBUU0H@UElwA-(u)x`f^^MZS175{g#!6FU37)^@Oh1wYTpnHR|yw7ks6Marn_4!#f`Kq zIKx?$HoglHv>Z@%%Rk?S;6xs2$9(tu7W43zH&bF}q_6w^9c9{VSydhCY{T92ozk6= zXI5%xcvjcy4~xWD>?i1ASSc#&QU;RG9}9em1?Q3?MQ%eAdT|d=2qG`jFc2p9DUN+};47-g z%MhY!Uc6T6jlAFQHk(l~h0hp-t21M<5e?pZvZ#UY`)7{_oK8EM4{UgQ03X@)F?7^? z5V6)``2)4t^4fl;h?jVF7Lbf#Oj@b~{eh&H7i%KX-%)^>b=j8{{Pv3otcFRrHaBv) z?ZUoVBuuyxLq`|j7h={D9mBZFItsv!>-W-vo|nS$a6#<|19vG8WdeE!q`$wvA2|-7 zx71IzHlBFSp`W+@vvzMv^e+27N_$XH#vtkaXGde; z+W7U!U2Q{-nf=Xza>gI&- zGvfG|@30WJI6xRlh<4c4=V1zCw=Rk%7NL~@@^v5mYz~mB)H9EKV3Ec2W@Rw6JVyYeexA+hD z^C#Cd1Y$Bm4s^Ae&)(~dW^>|qaP#fY$9fv+y3=N}bYX*Xjk1ZMjUnNR_ulw#U@sK2 zwpOXpW-uSMZ>C`imnlOHYLTWpY8^$o5!N+>6f@Rf-K5-S)Fado4v zFbXpW)`(0y_^na&Eu4+kWJ+NP&T5@|%TWIo^vPC958~zd9%=*CQ9nKtH*Ddw4 z4P5V8?VE*#5piSxBc#ytCeHchVj`o;Z5iO5p*!P_@+B9R<+}&*#mkdt`4a!R@Mc26 zi$Js4?B=IEU?HIW|Ip#+?I8g$7;3Tpg|z81!rv9NO!9jA^v3sxJ-S5`M<&Sw{20Sx zztM)A5{+Q18dX11ADUt-98)tI@*-?}IBB!%lC6+{vFyuul42Xm>Ya{At5ZBh<$ws$;`K79+#WPz` zZkT@Oyf55kDNQrk-!oGgz89ltj=q4Q#NlBly4MRYfI0CfA6Rfx8Xx<{`S1YK_UkY> zPwXr^witS+hmAl_0=B|Gl}=0|tA;Qns$rU1SaX~^Ft8Wo`EW}dVP&Q8d<5diaq0c` zmp(obB~(2Y8@FB@h!{~FxrOGeB@V#P(lTpTHhILWjmGFCtFSYBB0@R;6ZZHiX&8Y;mm#b(X<44F!v2l(p9{=dUIVusx(i zJt`mN2VA5ftpn*4WIu>V}-seM2)_@SLiM1`-fq|?#T-3+B>PYsp z{iWg4UqXAk7+*z+-M9FwXVj#gC`)sSAQ{B=ZRu7PTpVm|=9bBzr;p~NzT!=CCN`E8 zOdiGc00`%ppwLXd42W?;*tN|N0=jE%sMw~yF4Rob{SJvNjl^rtY>JwZyIrjJQ(+>) z$cEa?Z(v`>h{H7cs>ivw!W+IdPdfT&v%#q{Z?YOWc9RR(*)gO|u=4a7FS^yYb$W0j z$3Exstu|!Gum*tDg|1Y*z%M}_f*1X7{`CeTP|SC7nmSTuXu$_JrcXkHOnA_;l1f}_ zI%Z?T+Wx1jH&;bLfs7&_Ey%ij-_c`q_Z|B9vEs73PL{0rybhSq(EbxCZ9gr}r^o}v zyO>oz>$LHdTm+t7ou|5#xSd%5QY`tLCTG44_^7x`F9kI+ksfWQAb_Ch>4yohWh}nr z=QK?)9dFa#yvyq>Y3YXztHC1K{yt#J!>x4~ED7nx(gWXedWs-eX@(a)v6q1iMsN%W z2*74dm9vjDm@bWDf}Vd@}lUW4<Q6Jr0^-kvi_r~JjrBrg3)&&-wF5PvdNCz8 z=NU_!lxY+N@9zL5@*q_TX+l%@Gs_fVe?$wPJ4c&5n%EES?7g} zDK3N^R-Qh4{HLBFDn3AMw*mbp9^CHe!50cty=x*$cFg5Nu3&p=Je7(Rd1Sy*ff6S# z)RmM5rr|4H^H4)?VBb;#{Zk=Y==igMVY4r`@$VqC--W`laZZL2J(1;<2V$~AWNsrF z)7Q@-j=J%?*SIL)KPrZinVl(rTq?A3|D|xyo!0JED~+?2Rlwpl=7wFn<5<)X`NB#s z{t}E0*~R*Y^I6EYlmT7bKm$4Vv<@hSN;(7*PiyHE_X@~E#OR0OGxay`-fylphFES< z68HL}ipG`Jj3X0p8)OtMyH9&xnUO`u!V`@_nfy0x<;f8r5 zYy)q`8a4c77Gplt*1Z*{ZXP~zXwKC} zso(rZ!HUi+I!a0jzY!aj=DL27dBboO_dcM@X`rS;IuBLDemFeuy&dFNwAl@o1U16n z!HV{r@?ZDV=q{>kNmAFro2jM@)sS_0!U62Von4G2?f*y3Ym2h|kuXuq?w*lG%{>CY)@_j>zgTxo&ax6zU&j)j)c z*Jn-MKd%^UB+lo}Gjtg>Oo&}sg>gH^!p=U*$w@!3Z<@LK_Y zJdbr(YxjP|d7}OPt>;|Q)Uz|pi3sT!Msh)Zb< zt=;n?ojk2)Iu_epyf^_};55x(ugv*l;PVroD?3ebHct~eEcN8R>#>a}JY!K_54xEW zFI4vzqV50h}!~yN4pOG0W#0Ky6cpO`f<1>gNWaaB8XXqf}{Yo z5XrxM2Iz@`CO|u$aoJcp^(N5H&ieu`#O z5HO<6qr6@W-_7Ex)Y}k!t(+A?9QpQ_!tP1a6!MEFi}(>$$40KL|6!-�-AJF#+*V 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

M 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 x2o@A0W`d=dZj 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 I931_j-rT68MAF}4 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

Zd@6%et7oXiA1FBEd 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%0D_tN(`9GnLptrB#K-JXup^O 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

T<`Tg@PUvdAczP+@SjlnfZo3Ci?6 zJgF=c$?QqapsfswQ$dIr5n~Xz7=ZqThI$zBO!1R6URAEZl`u7^$eF4|6@!Z3gV){W zbU;$RQ!r!z!^N{EZ5p~*YsjfRL_r1n=7-**YQW3;v?nF^jEEZ_=4zQt8#*}lm+v%a zC+`y)HJ1Yni?aG)Z*&ID5eYy)S>PuETOo{r>?oS>PIfBFi}JJ5L&z$S+VNxX}~`8suF)P0w%Qxq`5ashPwG@3}`34TZiRaUzigWlc;0 z@yu!lem3?Mvo<&mV6try-}{C?hnudyVfeGz$}+zA$zR2(V~5X3G3FKseulnQP9Dc2 zU-%=u@Z`e)fW^f{eDKFUg3GU(Ze5(M*XV2S`M~uzylTCj>SuWLt~;=N1}F6TAO$nq z*i)^Yvdts+X?z``C}%ZA9XWgz&^P9t)r+l79g+>8L4vHc0r(;|`~EOghjA$y#16$3 zk3^E)3WSD- z(&6Z#XYkw;pTo+jqtGFpT+EsncNatqjl~^1v5edAxF07@u72wusMV9e+9^>~aj;U$ z2169d!S+KD5LD=y08@kaEH@lZ9XtS9403amt%A6`s!D|x(n$7PhBu(9H-QBWI^1pb~4VWu7co*-KzC=W!Z-n5!SQ4@GPA@WRE0hNg$`Z@u= zkY}>o<2`821c~?ZokZ|7_~mvn=xx}0h_DFuNowz%6Dt(pnk)#s%9fjbKT16#kftMW z-%kTLYZtcjF}74tlPYMOjnEBa03ACbL)_UjUk^N9>z^49ZUpNQ2Lula)rn9wc{0Q| zT^)^lSHM;sm^yKuz5aRZH~pBySx4*AEUW9RZUEEBwgL)NkqSkxb|m6{SPvbfU#eGk z8rvKd5o%m=U~SkZyZCnr91~zuP{8^+rNlKn0IFo?!@jLPa5jX*cDhBhs)+`F-P5x` zzh`ghxy?%Q?}_h+zU>(Xq!PV+iv5Af!<+=|I$y^w$MzB_U9O!Wot zHUW&{ejR{tKG2$eR)ti?XpET&CB>*0CB$J=@`2PGbu>{N11W??S^|t6pgt9TB8oK* zcB0P`M%PLYm7 zwO7Ne;`yiV$I$~1q3_qk`-BKGQQq^=#nML6Xa+p=)u*uknM2>&2dbX|Cl0RvYM^_| zb|5W%i#-Eb zNY7j#ovH|%Q~`dCHC{>tw|&D}-18qmUCZQG0!3#Lc=Y?H2WZ2d+wl2rdMXOCgzo{5 zp&IQcs+kGvj*I(}zrXoFLsI&C!fH^U0>Nq|DAfB%lFWUs%QS=ZzR4Wai5r$6Dae;5 zZ$cx^Rw`bxMT%Lku=h3rr9rBO^)7t<*>+$cP{`vkfrD%}F&XBxM+3KXO3i98Pt8C|BV&oj&E@`5@l9P3ZjnqNN*%-lE%LD)JTB+-mo-^fr zZbVx28qiF{C4sR%n9=*w&!3-Q?NLrslQRfc=uGqzBz?5P@@uoGz*1fx;tW(?y-KB- z!ttC3zbP9JK-!{63ywlHQi<6SrmTW!>Z=tHnKFwCStlwWu#EIn$N;$nUM+_Z1~68I zQFkM?mI{egs&Y6Is~5ypi|`iDZ!@Dt?ad9#kwK;1>oujo(Bb>_$d-C;?~_&+o&FhV zYNWJ#Z}g2`4Wfo_>>H^c6@-LU3J4ZN1Y6UXn5H(ymA~PX9U!z<0m-Hf-O%12Ds(uRVq1 zhh9MK`!n+WmW_>lT?KAfURfR~3_!qm&1$}INJ0DYvYIK3VYk#=)(Dw23ZdXF&RcbO z<@ZbD6N8Aweb0jA;~c;wS9lCTQxFGm!*9-q(1qe@e$6J3Omgvs>FGQ| zs|YPrKzfahxdf@%x@EHve9ev5<8S=bhp}((9?aHO@Z=+R;N;P#HxF#@2Re-LHrV=7 zvMo#~&e!kR!2^eJ*S-5O>%T=KVzmOtUj$Z8Har~Z`Ub$Wam|K%1u<6GiH5K=ipE|% zOYEr*$j}uqn9tTLh+vTfCLsLh`&`s|@7bUl_CT2T8TL&?m-nWo{Xh`_6|HaO#m$QI z5Z*?hehO%E1+7=)ak!{&$Q7u|YBg)@D=F*}1fmjn7lJ`e+cX7`i~UhInytcN$rOYa z?t$OOMQB~HyGRo|GW?RObAE(2V${i02WM$Inbp{pvU?cTxaw}UCe;#wLhH*`8vCbb_;bk&okpVsEcJ|5m9i9=NWlRx)-@FfR6@)Th6nO4AX%Xht%xggdStJwp=-|){4UqkDe z`*Tx)xGey>w27BQrYJ%{-8T{NEiHt`$cEMwJ4T+@jn{O7t1i17?|=6XZBF@{;l4lk z1P(m?80u_o3#8iu!N*@Gj~&K+w|@f5$BzO4uDs%MyyIOzvE>E6^?He*GH}tQufX~H z_Mw!5l@rI#XkT!18?nK#wzft!sbEi2a=5ZdP=ON2Ar*?n4k|EK1Ju(Lh{C&ZP|9?o zSXbkn+$btPV4-$NhiMW1i7hJ_b!gM~3SX<3Y9Oi&kc$)VZJQKyh|OgBT&)09^0;mJ zH2SB+jq{a-3EuPlZ^H-PeJi@I;M9pj*#GcnaO%VhFh3GIfNq>{UWG?mC9pgeJS(fK zxc!cMvH$7A-@G??t-$dYfD?y-I?L(*2VKU;kstF<*`kKICwMMSV9G>Fq& z#D)=7k(1!}xkA<(wx*xqFfu*S_t}rj8Uw;kJsKtk2mm%73ntZ{521t+$WaB@t^CDV zWn}q$VHI`pL64kA0O5sPqOY|dLG~6ZN{Pf4RbD0TpHcQ^HMT|(wpZSlI$761JhSQ< z>}VXkU^Me0e189oPqJMPC@2}MY~=H&Y67g;#C2j#Y*?!#g&YS4cSr%4rQ{l*(0QJ0 zycis95UdIO=?O$tp8c$bZYYS0BQ(8ww5W+S-k)i2_v&_U$rL7IX0-SA(3S>%qD-jM zy=TAjISs0Mcg>o)2|iGqeCxe0db9TH2=KB7&?dZ*LqK0If^Jy_OH+k&!rHvJqeC+w z6*QR;Ktlm~4FpibueK=9ZWG|QC#2lDmb~%Zb>Z5>swM~mSUF$o69Fc50(>j<96_u_ zCS6Ss#j4J#$ez_Kj!{-}7=itfNdERkg?lT2bs~DQPV_n@Uo#1cB9lsKT?hcV<MQW&p7}$SLQ9DO5BARIa*TH9=z*qkC)9a+lbc);FeH$*j@~o{3v-Nt(uXFYS*Is)aYOScX$76T@ zF;>pN&8L)tLTaYtCr@I0L}-kWg#LG)oi!2GCByGXjS&h&r`A-enGmRkcu)tQUOwbl z6{QY#P|?WansnI7fV@r|#0@`4sbqmDtd(~e&>qqPyk7&3KDQ2l_ba;C^XfPg3Y!3=)eMBFHE1?6q6`6Yurinw)Lf7aL8+u7 zP4*roHm>YDZWUThTN?LFjW3S)?j`aE84N|u&!bre9vCe2fW!d0(lb4Hoz6rPRWop$ z8Z7c|4ey&Q0=$()*k4WiL$j?3TV44371Zdx4x9~Z!Z#!WR5G?b>1m&3YbNVCw#^ zHk#ZPQC9WdWsT5ouO{UQA3x#ZZ668+k1C5Nwy_D87M;F^q4p`+8Y&U#9IQ4LAnrjK z6NDwAkMn%G&Z}wXd(r^-BP#8s4S}y4W<(k_>vCp{^ki3Wp$>AoZ!=3A_(P4QdO_0ptwT&pC{zJ-A?#yGh{V0dohbi zr$Xm36V&M$C2}p*`6Ux+z8?v~gx(RoCd3J|23T7}{nZhX%o8Fi-=t)p2IW3m3cZx-nk_v**SMvs z7L&h;ID)_x=yS_SRbk;{4Z9Q@%NRSI1x*XgAF)%hG4OrkYo-gh=BiiVt#5quV2RSt z)^N}7{{{{{w;#2iZGm)KAh>?5E}z6>cYPMe4txy&aQ4}|aqGK(9Oo=;U7M}f*8zg> z0lw=EZykKW_ka0|SUz#|%mcx@ZrCK}uanEGs8x-wx4Z^h%x}$rwroO-3N_`wh}ev? z4FNYOgU_O6K&-GT0&UPY6ggrv$^3|?Z=Ad$NsS)1!gnwNc5`t?>Z;R{6T;>oS;;7c zuLlh$IV>y`f8^n59Qe~k&tdYDd)0N<;1~Y0zlw{_-?#1${>%e7^!)vp%~mz&%p?YuT@2; zAcIo!?`Yo-s>zydMM?`)CZejSMoOv1JEYL90FL$}KriP85P6Z5<{Q^2T*DsOE}~>W zEd;wVSu!DlL0%+9tq<^=A|WNR~n=D64D|AjO?c zLA6^2k;Q(nA~-Lo6iWjf*CDV`So$!*EW@b@;0zWy$lla*dlXiME8D21&48GYOBol4`$AC! zszF;yFnFx$W&x%e2}g{8P@%b4GGqvuQ4 z6_gWV!UBVzp-vEZEx+svsgzGsY_5(9A>nUJ628} z-va5jKydv!e((j{d;4#rUt0%VzVo%O#w%}pHOkhd*?N5)uU!CMbIaSXxVQ+I;mGq( zx;_XJ;og%SP+5Zv@=>ly_oD~;F!r6bQg+XQsC7olB2o|~Fprf# zn?Q}(Y~5xBhEvOHxc!gr#xMS(U&kkY_dY!J>|v~|%uuThm!Q@PGeh6^IDY&%9{BS8 zc=Vn>MSbD%bs)SF5FDB(SL_Um;*v?806JhYGu_*Mle#+eZ{s_Z{;^YF(Sf$~5=h!NX?pq;qqwB_qv8o;L_YU!Et z_a_iFEej22qf{D}EwVXN_8&yF);0ZHd;j~$#0&CaLd3TRntFFnIs|WX29M|WKTQi& z0{*H1GyHW@&8s7Fj4S~{z^ej+fZz%5!L_6SY=l$#dk_K)Ii~+0uy$zy zQI?6-;uQV!eL4_UttlY33S)~9NB##N=T-o_<>%M`nyf+!vbC5$kExaoVU9xC%cMP9 zaV0=f5jeI9{0CAWaT-J_)1d+6bGW(4u;>8-|qw?D341<=fN=vNP3V|Q9n-SMkd6K6- zg8S=P?&F)&%0w`v+=mu<3CiDTtgAp`tbfho_U-uY*M28%zVXHZ)ajx&o5n@mwk*$Bo2j-NOI?S)04saFmJ#=aL#(!5AiBk^-kgMlIF za5`o`J?IufuYCAihvaQGs8o=>c>Up3x{V)4|IUAn1P;6}WYy|ZQ$B>={-uitUGd)A zg@Oo`pBj0%@~E~~gv^7YSb;FC=pHcFkPXTrF|s*~L%Mrxs$j0Euv=JK!e6}Y2XWs+ z596Qx+kcPcQ^)bxgP+FLH!k9=Jy)R&fRYICkxdO?RyPWP^`Bjwm$B6ztE&|cef4QP z@#Jsdq6^Q%b=O{wS6p==E;|1lEN$y>>f~WO^~6JX_~D0e&pr3xzWeUQrTg~cAO8H$ z;g*|kM43$U8cS?`@9by%Sa=cZh?+mEqIfI1s zNaOd~A&;*^+&d9y6fAT+h|(cVIoODuj1e&rzBk!*lxYs?Ee+*)03Ey)4+F*^(1ZaL zw=)c^Jg=-e?vT9bCGp&trjbBlM}WQGcP0cfcJcEC8yXMngPv7iqf8yKBc{RRsCE~h ztAadIjz;*Xf2JjX$JcW1`QE#_apKNMLEJI$-wJ;Vq+1_J=H}F*5^5j{E)s#%5$RFg zKc#)${9ZBNFDKgG3c{`_Oc!+<&(9=#ey8=?iTm5Tk3ZjcCp4W!q)K@9t9zbGByI+u z@7e(A9C>Ixa(0ID|E;2KrNGdl2q^}g=09^nmL~2j80y&;klaC96Y-=Y?++$|b?4W0 zSeHGtdRWy*od%t)WT3q?EO?}{xK(d~CTI%@l;EC|UXvu!_Mvlo7#e3L1J2I!vZ%er zpBt3@5Z1DZ8h|Y!tJp7{pka6h72qm*zow_Onsfx(wwol3VMTILQySiejq450(dZlR zN!d3ke|KoFapUKaYPLdkLs}1@nzn1~Dh3GEf!9+LdowkMsAPi@*Ni58{D`AH`?yyc;Ku9l-vF{}5N*umjt7UErn{ zD%$ojoA+S-%VQI;4vcpje^+2uaca5Zk;k6KV^2JXh3N!4cWuYgwnfa=mhr-~U%^-I z|9u>I;VH~!Gd%K0hoAYo{~i9Dzwy`b_BVbfw(r~p=>aY$5+)S()*~x{)LNcEs~`%p zir8Bd%mE~KU&8PC-k1Qj5It>AI|^AuUMuZFN!jDSAW==skRKvxFo;6MULL=2#@BOD=A<|_QoI=V-^hN>pWxG5aM zs`{wFRsb_MJ8Vm3Zf_4BnN;L6;ZhWc*AYmpau7sAng}=oOIRu9m8zyfA05b5*XVvX zGBE-G1R^{cbn$0s-vG`%`7lKuVJ~^qejdg-_%WB*XqJMeALU#LS-N(Zb=pIaLoJ6e zP$K}UL^8$dW|Kd7(UbL0Am6(9_eOSKMxNu|3m<(Oz?eVJf%GWk{qCnTx=5mh=DriP z!feyOya}iky|*SG;)eHh2wtAoFkKF_^bI&fjbg&XJ=BIZPCpITgD2iP2a=iq0yloG zbUuX%AW!Ibak?qo|4x9Ng}{6`LPd1>|HE85;a}Qa;enIG(f>o zLQ2`uaPEw`o&wp@lEWy&**Vtx2*q>?2d4Up&$rUrn@66@(Of6mZ%+HYM1NpBeN*D( z-$1tYBlT=)lf4EyGrRx=x)$_(Y!VKXybmzx!lVc+3rCtZEK1PD!UWpC47nz55(Op% zE;XOQRvUFQ*Uz9S%nmZID3Ci-F+sTgSBu-1@b)*q1y@{hDZcvHqX2-ll~cIuQ@@5+ zy!Ovw+m2ny4)^8s+Ok8T*NMXi@Ze{E7gl?eQt;~Ucoi3zN`rmIkQT0%-v4+Xv`TLIs3W z@vCZH>Im3wc`UD`vXrkzAm31Qd2ic3A8^J=_T+`j<7!4;#i0pmC8YBxn&l=W1u#yi zuoS^lVeFOfsSjIJq@jM5#&0UhZ z@n_lp+N^F&KvbCZ!@n~#tgNo#;K8GK=GhnV!hw^h(+hFYm2bh$-4~#g4t-zor3b!( zkN(0h;p3nBG>#lT9E;6F?qCxb2tjs!9e2?)HFl_E4e6UvLbM#VBVLI7LgQp2_D#2Qk*`;^B3^3yFoM06UT z{{Z|mxl`jvfAH9yxe;g&lF)gYCPXYh6CObG0B@NJkeuyR3aw>2OAC=2=7Q-`E<_=( z>|THi90KS`$&hos_ds@`O?f%Ip#BORN#l=hv_Q+`$T@WSbwZ)d07C3$pbA=-I1i zTj&sw;sZh#O)+PFrbERsf_7*ycwMa>h$N?c(1`3%oTpYK(APdt@4k^{xlP^i%x+S}=|#YL)# z0If)_P?NBkRI*&p7pm>egd&@sucn9$A_vICd4Wbhtb$Q{q!8T%^0PNOk*&#(+|aZu zNxxR{j9}z><+a}m^{kqVPWXe$aI&_5B-paGtb7z^;YC1}`}qP~e#xbH&pY2W>7Kb+6YPH znt2{CRO61x`_bZvd{QQr=woejdk8oHg$wFR0C1&WO9NzrYj%1x)$U&55uhpC!{xblHa19jl`!hwxsGze-Uj3HA#Z=&%J_CX^ z29N@YW#iDhpEtMH=;HI&3hpZkKp@b|6Poi(hcpsg^x0KhUPM^O9Eip~{6t=Qz>x#w zg4z?Cp@PBsgvsK96dEP(F^C^)uga3j1X4xqPo4N;09A3;+LHHKjN zu*U$j)d&Ct?|2HN>dyQq%&l;9jDyUpOKgu&3xi0tQXabJKRA6aYI<$Hg0@O;;HDdyn z`8?~d3<+tc975~+*1Yyt3F3T{_JLA`j^EwLmqcA`{Fl;9J$8x}ncv1W)SE*RQF}7!p0mK<<%%^|TkaCMIeQZ&&rZvF|-!Pti{m zm3^Qx0MNz_tVO1YeJ1(M*AcQ5(9`Z!)B_Of-EjJ8gG|ot-nA3&x%HhmchBD8U!6R1 z2oK!xJ6Jh&;$@A|ZP}r?*V@W54n6xMP8>b}0NB2L39tRGw`1pI>)LF+zOmOX0Iz=C z_hE5y5zEWVIQ;xG>)TpC!(_T}<^bVc1YwSyIJt3_cs1|*|0e`)bTk&{6fL1JaK3on zi&7TIMHiqvqFMxKK8)bA$0i>(J=$Yx6*`QHM&Z#IPbb@rT(Go!zv-<24H$j`}cLf6bf)3Zb+id7VBPYP%6aW>kcbP8W*0;O~fAc5*68`I7 z{--#6^cbFf@*Zqk+J*Bjek~RjcLi|U|Ei0~O>o%~z~dF;1*J?jzE>H(wsaHh*nKgs zyzcFoPVc~rUwas470*8ZB7Wf?{qK0;z#;s^2i}8MTzPp6@GGpuAYvt{=8Tk4pvIoo zRqHt!o?&D_#XpO|l7W4oyT&!F*#kQ~e>@RFjdk!4q`*X;xG=Iy2w|11v~B?@Ccptv zSjuq83SdD1+BE_=<|Z$aDy2A;Ht0E{#-OlgH!{dI*eFzFTctjZq$Z0J^8F5gY%jo` z8huE;hjUQM!i{z-Wn39)-0LRj$=>ya_CX&6=z(HTz;Bu0*zuEi;lM#0Ke>w4wNOPTU^4@wnc1PT*S7;DbC$<7WVDkgYDZFHbHo{TL`}A4rC3= z$N4iR0Jr2<+lf(QL?3>y$o1p#ro7BczHTx+3&>%h4ED|F>?>ky8B{9}$upmf2*8;S z!rWNXw&rRLXrjazcvFgI5YXdB#LWXIL`+Ig{25*6RtRsm2?Pc!7`E^L0rVX`>r@5 zHc~y%Z%!siMQq6m#$XNR>mUYFTUi~#YgpBJgC&sjI`_WeK`}Xr09`3<&?)3qbQ#nc zo=*b#q@9$qHRxO&(NabiO{}#7e7!e*P=|{Nh@sE$_D=vFyaMmA|O(dG&TY*vdE|5@vL$KLS_f_WQYoamBh93+NWT@!WI!+cPUT)+Nf_K zypoIXr?y;srhi+ZgI8OYH!7pbpNSOeYa(mPiz-wWP&4FFk;p|%?i3xeUdT>P5i`NU zt<}GZa8H#})x4&S9#~}-wS;cm^PB0trugTr>S;!(oEJsLLZ36zdWN6VvFY>HpOpsa z&HDjmGME7ii@53f8}R4f{to=hkNqlYt*HGBcmLk6dE6c`0SIo^oG}- zF(7y;9j1%h2n0WY*=!Bkd%JEniKk134qkDE4&X{2i2m^Hg?bvufjwOO33UJ;R%Ybc z*`euyni|P@Azi7F7&*{iQV0nbHhl!hf=@DmVF6Tt0~C5B);R^+2)l$PdoLRDa4`EI zuNf)9s%RcWkraT}O$Fojo!jxjA9^SDKl2>^@xS^toLXMN{zvb`WU>wCUUV}i)1^d0 ztSiAYFk{v?3N*gY)!C;+AI4HTY~OVOF1z-7v2FWVc;?A_Q2R9;K6(uQ)35w1eD(1s z@%KOaQ@HV!*8p7+e%BOMl$1p#8t;}b=ltJ{tve3IL2iP5;GrjDB#>aaaOC?pG~_im zQwbdA;+MQkO^hB700FC__?hqWbqxCp12{fF$v^)cjo1sIDTSB9y(b^CsVq^tP2eM0 z2ym0xyCS})A|H`h@L+8K%%)D2I}twepzz$Ouxnyp^4n&*D>ma3}uc?g#Ld$DYR54jjVD>KaZhuV7_$4Ye9({kr{8ts4Ya zDd@Tmiwjfi*uI4G_MDAZUU@NI`>Jd49k09!mtJ@tE;w&5_U+w`#cd1j4C0_tAb1pq z^@Iq*SeMVXbhcD?9@Mzj=U`$09gFh`_u!)16N)A{0~zY~3J)liM&?9E&#(^^thCQ^ z2yKD1keaWny0&TIP}d^aGGC{`7r1I-!MJYlKoo;FE)yl#g%AmofW@K%BvT#aecHXX zKp#iK6QESdyS{e-zBK^h3h7;(Y~DbA-fG=+kyur}r`7`QirDulH^uKWMUnC3cRcLR z6Zd&L4V(;w+pHm4U@vubEsG1wgCMNS__LPO%ofiLYgy@81Mm`d8~!?~z;q6tOXnVw zpFTIjSq7OuH?2XOGl)|)5N<@~Sf^`dtI!sO47Pf&_u9BWH3GybiwB}U5TV+E5Uvy= z=|feOdUKLPDHY&b+!X3Jew*dbZ3BmsRr6E)?0Z@zFiPGA`iskiEp2VXMeg>r!?784om@aJJurcX3mR)P@ zA~(W=YJKATIXNjD;r~kkw(mR_7he7bEG+K8{zv{4v)KxkS61=yPkkECy>I}3@8|vs z-tzkIz|s(yNowe%a5nKCF>XCHnp)lp=5!!#^8N*y${SS(76sm_%m6eLWu#;cKsca1 z?Om`NdeP7#H{zwCo*J6U8VlC|zPRVk)F`S~n5k#66OFb2OUe{^LdAi}Aqvuvf39 zDX{9ULGRAF390Cb$eydD!Nkdoz|clmC{$=5`{Dq%KuEtku-gaH4%dAiw2Me`cyH># zN~A}&gCLbHgX=PAPXTHjk@XV-pZZ8Bs`31wGQP=oOKIi*?$5rFk-zNAQXWH+4&Qd;8 z2Sv6x3y1eQ2M4E71R=xb1lZ_(+>ELtJMQExs zHGUDKW$CmHR%z5515s167-YD9$kQaghc*Ki7I5G_wW5W zUh&#Dy=((Aw?J_BS~+Ko$@DT2xm6Gt$c^|<2;cjIUO ztAB`J_)mWd@4fY{*uG;2lB%rf6RyA-)x>wAQLqTAa*)!X@|Ylua)pD!QQ%oik zlu|IAuG=2XW;3j!AO%l zY0)yQMF;MtwN)Ace1?m-*EbZg8==zabJr0-w1^1^cP^R;j4Z5x??ruAF`C0M5IQwp zU$Wtf;F(_^JmpgwB$l79>SBmyAU{Z);O|$M#%ckQY@b)!^$YiKzP2ms{Gz=u36nYj zpmwCH^=rDs`ll4=X(m5iG$EgCBA!C;LhCn>L!N+zs6+Y85rK?WMNJ^W$Nk#zBwKjC zkVPrUwn=2{r0K3s_YcVno&jX>Gf!vhScH96vz}DJgwOl&1#RBecB2yo~B7j|&__U^^|e(+tm>%M!@Z-_&_`lp}4p=Y1Ou07`^ zM}RF5{AKhqGpw9Ah7(5)!pyL^xPY5p^Cs+E*t#}buW#;EI$+zjZ5wA>!O;U>L%+6q zW&!mZEZ`hCIC*Lrv%ZhTbWw@|ZoE3J@Ck>mD*{Iw9Ltsi?6>R30)25>xEXW+Ak@F9 zGy?5L9sTE5;B6Y0f>4zr{yZ*X0=QKh1&&cM-NmMb14LL+&10K#9FP=eY_Cwb;q)X0 zsbxw>ghoRlD}8KLqq_dNuej`D{N2Cy5ga>l0>Ar*e}a`$$MD#LpTT6Zh_lbV2Bn*d zwFb0pZ%X!0P9tfS@148Oi`#Z!&-vG5ap^2P`N(H+^w6{D`yP)x@f3dU@Bb3MaNmRY z>p%XZxZ<*l8%<9U*Q-^a5uwuzo&r!;vj^?aB-IE2b2FPjD-#M9R`FCc1G&Ppu9SK< zQe2uC>F)%1z1AK%l@>n2%RBiA3cx(GbMy(Qyg4yLAXlBwq#qj zWLuK0UaoF0=bXLP?~i-WzTf)RT>IK4Zw$r0dkhatNB5qy&)Tbe-~8q`ry-pb4M`I( z7@CFvm64Gsxz{4m$U?npUD$$Vxfun{9JxaVn|Im8^q{lLljv z*Q)3n7{;Spx8ug!@5L`~x)TpQx)sBtV{pz#%mS7Cty^&5Kp)1(#|!C{TD^|i zP#pt9BiOik8@~UGo3UW-Y@Bi8QFz5m&cX{$KOToHo)24TCdFYf4N~UkPp$%x)^UQRV9Jmy3#8~oXq-s0t_~p0I_@s_B8;ZKq^4(_qtWxq!LwP zI3^S2#(Xp&U@(-lj*$5<0*p6|DVT-(iS|H<*u0J;sYVe2gbuGPMiqqxgn)oHA@*9| zShK`5K&1=Ol^D#Gv4r=r2EGOfB4)1y9+*jTlZpY@eye~GDZS^J%#=sa{pWqy%_Yxv zU=k!x>{V2P!Vo}KOV%O2=i*t4B1q6CFUO@aHJ1YIbIn|>hu|hs+PkWt9-S8^1};4T zz$rOI$5EC8dTejfYfpZ@^zR9XDHds&K2zcgpyp1%?9UZYs`nj_v?;5cha|RY6nX*; zY)j%b)$914YqI^56-@P6A@j|W^CTj5WQlIg z>DD3x>}{Nbt98}Z)`|SW>^{+mPxwSN~SGX zAlhn#aiLwa0}xDul}v9gQ>}M03C_a5>$ZJw;zTEsK_H2^1_!-9v`Nwt0liaI^W&d) zG(P*G_uy~;>2ln#`c90E4&kv4zro65fbKbmO)|oPsEs-qn2Nu9t*1%A89mMbvZgk4 z_N>6+N4I19mOHU`=O#Fp<3RrazVw|RVe7V?_`A3MDNZ~77&N!G#(}YC(k(6qejs#l zqrg6o14-S^9+}|~d5=ib(ktLwcXF^m%qIYCfJ-X)SjRO0>!83LKV_gN!7b1B2bH)+ zEw7r9M6`W_IiqDB%90@vpwcKdx&Q%WQA#tSO_S2)MnaQx5}*kHa8`f-0(k=lg3uxa zgnUCz%sFi=eG_T^+Bk8h8kq*JUPs^HC?4Fn89%)CR{Z=ocVPFvUexM&0em+KxJ^w> zSiE=H+wZsy4{zLv zef#zYpm?=b$M)U(@YCz};o4i*;IL(j@T!Z>!K*Gj3r8My2)er36&S18fDE)s73B;E zi;Zr}*7~CL5Qvr9pTT(#^&YZQp?PY~7eJbib)6-+q=AY6=#w2dKAv9@nC8`(B;=2Z zMB9dP4TkJFTIX38wWQWG1+jbr!~ud1B&zSK)=kh60;P|v){AF)zX+dAqfM-^*yXHrqH z$imOoM%d9fGT=)Vcx_0WDGJDS)!Ah@n5v(_w7SqH2D$>xf5U-Ih64r+d_&@30*1+X z9y}jI_Fa~9cv9%m;Gf(R88B%O>-zgR9t!dg$>KL8fAfibpX^m^oq-wN>Ntq(;lX-w ziTBoPx~_6qPd+~dl9G;C8dpR3h-hDngt4qoc`|9qEF=n&CB8t~XgDh1Cd^COS>rti zP_%h+v}Qe-t3bNrg2}HqUQnP0l=}A-d4aOG^&Io+ds$51p`9B0vb{NN{z#Ypx8^ z0P0q*4Fc(Vmg%A+5lCpAHm!%wOpq)%OClHAh&s8O_#Q_dz8oL<+rL6@Uq9|yzX4+- z{n)bcR;)ax8J#_cz*x;<%!%oykEH|TGxs(&e2G}uQ(%L&2JKx7amdOSpuJ-*wr{-` z)$vhOYc*VRedNEFmL@78`i7O4c3+jego!3%9WkyD>jnlg4I+H z0qdZ}x)Q%<0T39@u9OL0k*p|?OSWl8;H5*{!t3JXg|?z+p($UGWU9}UbIB`-0IBC2 z00Aa6%=FAe5u~UJz#H@r3}C}!PvWYpZ@^Ek`yKWl7(hM=JU4*v265rU2baF=9Q4ydHBK@l{R#k3%Xw9loQsq#FbS|Qp)spv z&?3V)qD?Q^wh@?Ki{(O$G!m3adOb9aEr2`HjxN_RQr&b=;9bJ7uDBRz!N6o<)LC?e z2wiWeB0+JU)dh(`%9e<+lAR`znV$xqTnPA6utCQ~x+tv8yYn>QD+{194wFEu22+At z@{#OW>>-l?_Nkd7!gElLX)qUs);j$?sC~mGjH?}zasghkJtM}Kuog*>gkXLb_dQBHlg0smX?e%5i zVrFzcYoIyhyTLvKWMA|AXM#1N){@pzH>B7oWB1@bQc@$V*rff3FiqY-yb-9;D!^Ij zWgxu%Gb_Y{{(VkQH(q)1OL6nT(SVcWy^Ve|cW6re&!dmH}eD=)^JSzR!JWCjC`BuK@yDRrfqY2>Dy zzf&4zj7`pD37C^O(-?C+v5uZ9H1?cRWjgg_fs8z?|y~pl-y}03bccXuB z7)Kqp9J9JR!=zighco?k8SDn;l#Z-Jk~Dy|{HE5MS8K!~Zi^<;A%?MsHK?ROK%d9+ zSAw#IzBB=Or3r3StS~WvUnI+p6xVDVAj?EhK5s*c6*349WDJaAajX9ugy5TJ>z=i* zDyEi}xzGR;40n+?q&R1kez+kTnzFc{4SY;S*0K5yMzlK%@OE@$3=coH6<_||FYtlS zegn7Oy$(aeqZ2c3lKq`!85S&l4*Wh_aABMa>hQ9uORI9ZKX%+9$H!y^|*FA#ke|Hah`v)+m zyAyL~bs@|2Ip)HBDFUWsOSn9fHG>R@S>jAiM6rFn>|Ds=LXj@o1^`$CIMp2$jP)!5 z6dOt|X-(9k%L8$2q0Mad_tl`UL7Gu%Oi40Y5BEow&l|n>ff&`L+N~A%7U*I_6-8OH z4pNLxy>2;x76A@~4QLqPj&Q$`I^w~1)=X?W4ck}&6+tJHn_3GITXGtrh1|b`vqeba z1anbqEgJ=Zr;O=HAt34^uxh+ZbfSav4G26;B5(>w%Pl|^TqJYa6B(9-r-#X6VnHzH z6&sTRfmWSYUd0zCEZ8;PKYH#UYts?{mw{OF3?=!1F~k56A%oK}(9DoCF6ZO`y&vg) zkTTBM`Y-D;HEM4#e4R6}(6BwjOf%g)ZpJaJ`*Vvuk&*fJIH7Fs4L!3_0MtzJYgG|)ZH zNs^HYQi-7s1=dlLydm*^0B5{wfLVQB&{k|v?mEr_KbBb9xEPXZ(Jo9%a&pgzwHD3Io#>ji2-WccjE(fe0~i~x;-2*z@aWcUSTt`A7SEf5N>dYJhK@ElA_1nc z9MJJT9W>JQQW9XxwWsGn0N!{3%dd12rZwzZ(B%376Wpv{a02Ee}kEl=-43k~zV?ECBh!urOg9 z#7unY{_nwc)8j-buhp<;-vRve`qg;<72m`)H{Oncp%H-#7*r}19CFAqy!9{Mf`9td zxA5k_{!5&8{1KSl6{ltYFE0b2qZwGfYz|I8>kM4{syE@hbN&dk+C6sf-h<)c;VGT* zfg#*^@58um^*tCE8p8ZJvoWW;YvO#>^H~;s=sugr#Xa55&yuu&xhjE>vU35vn5j+B zj4YNs1z@varRQ;yZ{#|a>%oOO_fkSA0H-j?SV!3D6M-JN0#6$n=1o%t;DSL;bdMv` zSw|9ZLkzJHo;`XW3tkgIcyKP7SX59y`>&&I$sW6>jvtnvo*92Cp26;gC36B@w}r z`}1LpAVKCpdp|?kTssw08gPw!qs+rSIY-Eu=!Mz1cchaeSKz!f_0CCL%;pZ_ZVb(A zju_oY=Lm+#x=DaDD#)=8$6OWIQ{bsChU-{T$5Xiq(GpDUX#SbFAe0;fgpzHhtn-zT zSy=of<7Y!UccvrRkd7N;O1_Va3p8drsRvK=s&&qo%6W9r036_tq%B=s==DDK*MLLX z1Aske{dp_lH2FUAsM(mSDpp_$jAr)pmWZA zochu?pli;-0fIZ{(7$&F?!WPB_{lc&N|xa-Ui)&)?dd^Q$>KvuvM3|AECJm#xEWQR zEpKaz7z>E?Ks{pxv4hbh{w?KJjyU;^5;K6asvLMFoamZIr&L)rUEjYp^kBN0K+OKI z1R!JpIs>$rMk3LS*W(@}w(L9GFsRVLYM?nebw9>hEML3;3+K@@&vxY1Zt2uo=!CS2)#qZrTt5ptsc z4&FtQY8!8SKd)M;qu|~WjrT-Rhyi<1(kq`0F;*_t^u!#i*K%xlbSpmlji2E1um2cN z?%Z2wZUaD;Wmvj&3EugRci_Vx`#N6rKVFR^mUg4{Ac)y5fX)_R{@4wtYK>hKAw2M?MLL-*N8-T=%=R$nzXa7R*6US0`Wz>n%8MSSzjrm1>C03(4B0 zMdJh;EGpW11tN>0X#uobPzk067+)AtI|5G0B3vasuZ%hu1K>ED{J4y0Z%W-@-CAA| zhMqPo8kq`_s{udP43Lyc3yMezybN0W4cY$Qw-!h{5$Xz zbhmBz{DQMo%33JxaAQgF3n4(G+2O%>C~z_wiySeN7YKYXj0QDT=L&Mt&4I+ZBF{uE zah4%%jt4{?aDejM$iU?pEy|geF1_y>LyTd;J3j)sF9OD!5^@NYVUgdPtrZJySPP`( z9Bdp;YMB@fL{lJA-d~2a3`9M5Iw4og;>?Az8!>_E;pCyt>$y((Y#a zZh{4^$Jj7A&eYg54fvGCH~9S5(mN)V2O=z7Bz+e2{iV8~fmqN&Xh@)!aI`icKqw1p63;^?L0;*kGOg}_9cN>Ml*we;W(LQsJQRm6 zTa4eWy$^%KBN!hW#MtmYw0F*#V1ye_fFlj+6L8Xdo;RRGZa@Sn##l5pcc7ztF}k|u zV03stYSjtN{R0DoxcSa|@Z`=tShZp)7R>D-ffxul&KOm?Lqi#01x}g975;~1?-bTTy zPbWoEYtb|%)|=G*_3<;%3^_=azL3?BvMtQ>z*tp4u}B*C1U?Zg(II=AkhnQ;U=Y`@ zUW5PjiLc;4Z(W12YAw+G?(XiwYyRYw`1EJLhu8o4tFdBH=RpB}v#SDN$-+*YebL2u z!FhiIH@*)~Zrg^@(Xolq@E*N=gShqX^|*pO zZN)yp&QnLgKekUe0{JI8M*`5D6jzIVNp{sZviE8*OrC>;2^VyZ0OcmgOm5623fqRr zdN9^6i3tqrpmXYM(|fjy_aP`S+~+7*>H+Z2&eswXzk-dPAvRee0C-*QEHrcYtjYgT@L&BF%4AVtQ}MPrjFxUr&m3c$6AxUS5+4+-!ZG03X@ z6p~=19N#SQ{{AWK6)r9UXpa@z} z@dhI_P4~WKol_}E#xj4k__MM~1(htr)xW+LgF{1;kHev7!BVU^?)2xBB+7Hk2DIdI zd5*kREt0Oz&h~WCdghwBp2n5uRn%&=;_uC^?Z~o&$CI|w+=9059@s1s_v|oUtrmu! zv3aCQn3-;JValPMkX0b#)gk9aBJb-{Mi@R14OR-bcVP-Ae-=Qpg~~H236W?=5&$L< zL=u32w$N(uiUC_LOhmkk6T}9Sp}|xGrt~+Z)PiKMd8K(MTT>&@(ND4Sw8@^-qLyRq z#b2 zCjuWW;owvv>Efi)m_)FG_o0RvvpH<}X?aYcn|KFg!AffB(e|_#f~7 zD1LCw_2}yxP|w4Y05emq!bEl=Sd)$vuM{xu>)~7p){zLxgJ)NdP4I&DR;i0^Rl&n1 zfEO94YUY_!W1S12Z1U%d{U8sS(1C6`E6_*-!aQ6H8jvc+r>=Cq<&}wl*WW=Vy+l{B zQM@P&>eRj=_d=tXP;x)iU|O)Zx=@>$f$`oc_PFC9ek3Wx44@ijj4qfP^;#X9w{FK3 zSN;fZ``{OF-$Rd~p65j@R;g5Q+9@aF%l~>6KL7O};OyrgivKPRdYuM1>$DZP>`ULl zRo}Z7uYL6^(bF>v#u#|-F*aVst!vifZ6EwRKJjlq#JYzzpD|1Q=@2IFIL~F^WkjpL-sH z{nA%Mc9!V^y)4>$$?!)a_S1lKxHg_+o^%Q&i+@mYOA5qQq#|7)3=C=^;vG4+H6&H$ zf#BjZ%=<7_(T3r);ORqVcyI>!FvimbFDjv7__JgCAN3Q^TFy4kol8NfvO<|Bc{(#P zRvl-_JXL#lIFd*DkQkQwd9U`V$lR87dU-wvlSLP#0c+2S|0Mu=AkhX=wDCxHUNI2A zq_Cv(-spKa!U*?-QLZGbjK|^y^Kiz=r%d{00p2-0xcWaaI@AxB=g%2@ZiWdyc@6I0 zgL|+05rz-!gE0n|TznBuKI=TRW;0_mb3OCR1K9ZJE?o7ke?h%IahNVS@&p`r{-tQ| zo_$cIMZGp*qPKfrFK)VH!aQ%;!ns&5dlrnXkYpgmju604(zpdNTSx2H86~MgC61KT zM$!*}NhzcP@v`4B1h^v4My@Tb`$vOlE$O1$%N3AVtXW5bU!?&ICjTQ__L**eN@Fyo zOR6>QnJF(4`nu9AHMRc|bIk(as}qAIH4jtZ$mBj%ujRP^;m7fjfB7!H{j(b}I6M-Z zOY`Q<#ozwTyYNq!|2tlA-ZAL-Z`zsH-UO^%xfCyW>FaUoiO)xW?+$F=v2!veFc=;k z!`=69#F_^-Vd;W7STJ`sT3fOyz|CmZwl;}onw$uw4+>ce-35iPXe3!!I$154`^1nl zGWE4#q1u=duu?Pfa@GE8$^Psn@56&D!MmwKl$0Ft^@R4Od_S2uHnhRB5Ks?d2|Q>*Jf4>6ot`)K}HOe=Mf znrqs3A@Yi&ZfQf{TmOtfyblC=+m>_+v2F+Ev!%OVkoY%WQY4(N!wiY@E!A-!^vl!kJie}*vwqd{2B#t+byec&DB4Ea}LHBtUUP~9DVjhXzlDiXzp|9 zz+T+_^Q%y=juimJi_bb0#~g7OT3ecwi3dB-nKm!e!%gUm>Y&?@Lp{)Q2GUFo@Ss=g zy-5%(VzQ_7(5%v^CQ=Hz4J>L=X3p1%Dt-Y7*cg}&^q!ekp3)jCk`R*yNRt(C69LCETqmX^VVO?X58!5$8c1>q zq(K~b2H>j%S|pf}B|cwEGlcWO*K63j{{Y6TRkXD=t7J_xXN&@USpcg16bdb1M}mB( zZZ!v$4Pd5FMg!kUSKP2RZwKCnuG`hKH~})1$s(K$6HX(+G6jlE{@lR85LT~!0Pp(P zm+{**>rtys0Zo-k1*e{T5PtRFd-Z3Us}p*CVvdxEh_Cc?)c zs@A9ufMQ}yRn}Twyl0cjolVH#)v{W}oN^(c>~jUY2q2`8U&whOOve{S?@0*HEV>73 z9ej_{miGpjXSD1SBLXzuUw6c)@eTlsJS@n`I7}C`sd1P*CzR}jH0PC_Es;-)ex_al zGzeppNMo6RoQ8R=hys!HP>}m116+zfTT&Rci2{J(B!g%VCTE2)gkT^GEZP*+CyF%* z&=(fmv`>$rP3t^sGdNv5HZ}n!rF5e0GzA153#(W?@c*e#vEAh}i3&Hq1PD?EA+4t$ znACZ2B8!|itk|1_Y7n!K+LXoHo&a55?FS`V%*OBnoF``L)G(C+gQf(ePJnYpnZDBZ zBprH@A4&?e)SoK~hGlXmng~UKMIg=6CwW3-oKA9LT6jo(7AwRg;#vKjB2(SOIYi$_ z$MGq@2a_oNCd^ZVJU-#Wq{$qq!frzX#_O{QWS_K&?`qQEw)Rs z$yvzeW6A_K2FPue0lC9ZuDuq+lYVv1<(RW%1(qFk;&Vn4Wd;OqfZ+YTSbxhe(7$H~ z0N~V9PQsbzU5xhTnX#F1h6r98?kt0BJLtHo0irV9CP>z3=WUtzK1r!Ifv2VK4iwBtz#}KO)V;U z()XW-K#|l`E|q;qv@IGFf%VpAXlial*Q`ZoZfeHx;C|$J4(A-6+_?vL-1`8QE?R)) zi|3=cxq0eyJkix_w6yDa7qHG6MWM*zbk|hA{sF>hIGAi1Py~qCEethre zH{%~JyAqFX-2vx3j4?3ApuN2vfA+@LPTDm!ZAA6-k4qqDbMxv#kMW2L%#@YovJ04zYov zNj3Z4#)KQVc0t`oMm32Xgxn{GH`(rs-8ClBkLQ+I9on$iqgg3&tXk&St2+m33t5 z?oIi7zNBCYaK&jR^`ncrreyAsn8BAAU^DNv$urpJb=XA!GDf|Q=e_V{ zXzQF+NTtkx;Lm|;d}IiZuDum|wrqqk28SJb2+qIgwdiV_8Jn5wnO}SRfv28wWGCt4!U~g zV|?TQs?`yA@3F794|lKIfI}9~$Ep>}P-&{Dpw5!613jHg6!^sQC3zyT(a;^!?9RiW zG?G{$?^DPTh&3y9_yf>euNf0R6F5-4&LHXaBtbK@Ak*77fKPqp2l(lAzr%*dw&Iq% z?nirjD~>vB8CqIe5b1^+8z!uhxgE?&A$btUwP<#}HfnVQY(XMPaf#O<*180m3GGAq#BVK@_o)@r!ZYh$aMukHYb{YitAOJOALu?vlNs&6yeI>gv z3P}qK-bU|B^jWn`iXlLc38iYF3V%W2i50vhGuD#*Igu>uf}v#475i3wYJZC2ja;1{ z0(_9{Tq$vp1b(zXgxGTe*$t)d9uyN25-dg%2Xb|Wd2%**1w6_kd`@Ctd5)!+{$(iGMW(-EhMseM(x5BxJpBWz>#PJur z99?r4BC9<6r7&hd@X4z-K8hV1*Wrl=*8%|M&Yq2zzWmLY(>>#kIdeVpYx^$Xi=Y2T z^!4=t09x8R@Pa@68_Zs`4E7*0#~dB(!~MUx8biH%ir1DboQF$abPhT@+7eo0hy&B; z;FpXk)^0~O>XfOZ(O|k{3Q6EK#ZpN*Ve7VF3*OF^U|rD`GMfm%T>@lhz`jZtOj%p0 zDG9oP(A-8C6$anE%%o5UHd!Kg(gCT~e>AGaOtsl*owp*;NCat-4r&OX%$YL>r#WcdEpfmt( zEt$gzwfm5fq{^hh0;cCLwYY=Ue3LNx(gm$VOQDG+owo1Xi!XfpXV|^(z~nO+!Ef(g zhetL)iB-!NW6|863D!_!-_eX7t!*exnhGhDjEp@?h*`0WnU$5v&LG^Mi{h78k|l`S z{-cD*#2|ooWR5#E_Y8cVW7F2{_}CY}kAM63YcV`J7MNe2eBufC{1?BEKYraMnA7^) zi4nTnfMZWP1xFuw3Lbgr_t>?2;ta0V>R9*4X4GmmoOI0L=xlGB@`}*o9hmMhkgXmj zkp-jJPNPRF0OF|V4N~lA+($j38;ux{38bgQTBouQ3bZgyli!2MG--*4ltw)nFC%0y z0;Z&ki+h1aX_n9`WyvaHCb&W3**dbvSyCW01n^a7yI0RY_`E!E1~^38>qdjZjXkg; zfRZeJjuIf3&&IGb25PUAAXWwCgaLVOu#N*0`zdH(q0q2K2($#OXbG4rjrAx#&@rXj zC!>x^69Qqn6U`6_gg`b0vB7yMV5SS8q<9e&$eik)P;q@(M?{h($z*^Maf2?XQ4rH6 z&QQ@^p}$Aal}bS3$QwxO%crCobr+X>?uLVI6v$KYnkRbu#n?Nwh7!IV#wKKv43QF1 z#fS)KX59c#`?+TEBN5~4`E3&*sz*7QDJ2u3_ezulp8=skbq|{q=?ff`F1lS1gW|H- z7!g8HUVtqv#`tM|mvynKT!=BEWr3HnlN}j%AkCsKDK?Y>=+hJdQezku_Dc#|rcAp( zA$=7UGYNa!AnhThpBPaaeTtF=%dW zp8>(2E0=dU4(xmq8*aZI-g~sPw%}E-{&Ost*E%yeGuJblQvmM2eyhYRsjG# z3zy-HSG);ba~8nZgGc3bbZ7t@Zu>QQcWfQ*#G8x)#9uDuxI5 z!8wPakx{H!w*iah&Bm(bOVQHWOadYuT+2D)OA=rRwp^LctumgK^UAa2muP6pH6Ij3 zh~|ByzX`-FZlwVpt;vMxn9=Lc2LQ&yk8Z`+e)ua?YjrGGumII+6{BNgc<9lsShMaC z%$+?8D;Cd3b90kmWm)n(QU$Kb7VLt>nXB(A@6VF)g-W=YuAw2{O|!r=HBU6K0R`x3 zFu{f3rxA&xYQ3#hYgqTlWBA}_zKx$=e>>2@ZO_d&#~^2Ef^XZ!>SdFFt?`*5rb69SJ2j60kQ<=iH(bi zjY4w31SUzOHf)wfxZ-{4M3bL^17to0g+~GW7odp-RrR@KmG)?&m7f{w>b)rdfe7O| zSnGAMjx%u6IG<+qMu0+wmzK3T897iRMpF?$FDn}8&aYg|u^h2{i01~% z5xB>g($eTzv!8up?-QVZAR%KE=$K$c7V)i;mC>C9)bNclET&^=~ zsbub<=YdZb4is?5joMk4fhE8zldSO^_|~5v6kKw${u!wwW%?!%F zyQ!i!JA(}Yhh6!38N`Tw`T_lQtS0V+kcxfG-a4q8$>T`hun` z*syl)Y^dL6E#BmIyfkRGC=sQZwpJY&sVv7xHshE172P_!w9&%odqZ zkYccS9|zVtDT(AeEcrYenw` z6|}T=O#tBm6W$@&<{U{_SVXL>NbB11fVnZ3Ccm>W7FneQ?d`K+EigQ^AI{|%85_r4 z_dSI6wpJW-_#tR*l~7@hbPF~!qGidIB?XYlMAQ?OnVjPR6DkqxNg!9Y)+gP|p#TaA zNLU5BxI`gIGxR-Ss)YN~_*fM`xo$PCz2$BgWAXO4z6JB=&BNv`TT!p)*tM@0tJkha zTWbrBIeZyfTU!)k-Nvn~k@tbt<5k6@f?Z`r%RhvcFbmXOB5{@LQzqqdJZwTfC*@L~ zGVEdcl|Wvr;r>Uq;C+{W12^1uAL^4%^u`!;bhP7d-tl()?~i>4#~#uCtd>8SHUf;zv|%l_ZQoG<;rDHL93x{@oOJY|nAO=fVR~thC}1KDu!5P$kt8pYMiIr6 zh{2^ba8qY#ilL@~dN1^;)#pP z@M5xC%pV|Oo~Sz#0{J*kicJLM(}j;hR?hJv7g(VgiGrPG@iOqx60ls3Z-%g2BDHtA zgftbxJjNKlPX)yrt#d93AtsJ(yywq@O-CetCd%bREMSD-CWE?qR8bd1hJSSOL1TahP@CC^%eq-Ef;=Ta&rwdWvFC}87S=IQ0t zUTxHQp-DIy(L`7KPLvO7uM=i;%br=PNXOy;^Ay1G1b&g6i`vsn=8sMlTYMVmF9qJs zGzC?Y0O_amR5P&Np?`1?H{Etyfm4kQ58}iZzY<-u=T8`DK8r7lnG3*#R-H=3GT z006@yBN!d&n;Dpy>lt4M_5(Nl=2xiKC)hz*r3puz`htVfb=O#nSqqm28}Z=K2&&aO zypx7J>d^Aq6wV{b8ufxP>wT}uu&WZm#G0$)c zFclznVeaV?0J#pfHFyi6L(M=ZH^sb(0MJRGF-p>%8Vi>I<)AcC^QmX28He8SgIg!K z-i7xX$u0;-c&`8oR?TkQ5BwBs5ZdU{1J>e&&p!eG_oMH@>Bk=fV+>qg$F?o^;=sN~ zQL7Fo3KEEe0o;SWETI|4Bo~X$i<(hKz{>|*7n(0bjYb#e)uWKvI%Fvy}f<- z#J^sJ?_PZ!dV71tv&={Uo9ZUeKs{mr)_cSnrRq61?m3Xy(55wcxPBWyU(DBxfHw#W z2VNCqB5>Bn>j9XU3*IM^2U0Nd6LWjdzFu6vdJS^t(B9sTi(d6!eCBIc<9+Y@C>AbU z2*6v0m@+6YL@!u_QIfCnsJ2A;SC7>#&sGA;Rl zNlKnWVKAnBADEtN2n5!ub=?2(anHW4=2(WncY(33qq!<$kUA+EHNbUd z2I=DBS+TFn?-&C4)$uW`Ui%P!dCOY#9vGb36Ff=gO+~EnOvOJ=oEfT!E-)tIm@uZmQnM8zF(rGfL)MqflXXo>hf`S^K z0+b)7GHSSSt#iU9Y$wYjfj@P0XfxVxJ4F~l-%lGoq$Wj2fJ}1Q}AMa;DjAYU=9RtsO z!uU3dM@jJ|%GL1H&eLgMGe|Rred0NoFxHNk=6c@+k{y@O=Z51&O-jN7-(QNoAuo9@ zssO?6ugDvGJV%3E$i#Cy$^%L?&3#UCeIRL+T>5?tg!iP#<;DKVy1q$KJvc{ncPb;6 z7)(z-acXU`d}As%>1c1q8K<0tj`k_(lhMIGY=8KERL4f16EXM9HF>qPccQtiW5Sqd zY#jUc>_By9SZ1zga5(@^Zr+7;>(>{rHMezO`EjQmlsZdUr3rJEtO#Bk9vwxsRz;pW zmH4?Zm`)}xUIEiGVI%;mSFNZLl=TV}3j#Z4ETMvZ?e?tOuynu~Fqjme@BLHUMpK8G z3lp{?X)R+}D$u+L9<(F82|puBO10*oiSO0t;ei|lz6c8$K|#ck#DwX`nJ`Gv&&sC? z7%52@JywX5rb-h|JZ2?6_MX4O@kbsGYc1;aDzUmw&Z zsS{hL_9`ibAd?HLl18@H{nUTPsKi490|LPGJ_bR8pV#wWcWO+Hv&(ZlxB#z;NdN#K z07*naRB0>z;j(XH^*s+F&mD|0Fvei<;zju9k6(_r{;z+)f|+K!2);e(_{I42=e~QC_F>u$sF$cTzIoB+>Ko)Zedl3fM`)2pTuW~CV|wfUhsJsL6^ z0Smc4wO+kT%$tThkn9W*vKO)|h0RT4$=RJFV($g|_Y6qNICvHSra3ta>rruS+pc~1 zhs(Z+w}1GHxayjlP^;F}o(p1jiNyKlQQmcD6|m&Fc_k}kMc*M0&xqhG$i$wmhzUV4 zUV$vOIZot@;#;l?5k3S+bbJyNnXLfWk(MSgibWjxQ7C{u0L2hKx4=U}Y1jwFeK%Ez zEzT9lKJ{LWSZ+t9y#tbftwTEyX$u*+Q z;sfwoo5C3}_cU-T=9+C%F@`X4)$yg)RhP1g@F78m?iF6;3r+!GjprrK(*WdmabY?# z-$epYPcT%aad05TAkA}i{9O+V;l=0Wq*%y^I*Lgy!P~}nZ9G?9Xkr@drP|JjpE)ah z7DXLb5~~a1RUi{bB=Vx~Y*5OWjtUPdK8<8Rb=;PRd!mfbwRwC{aB$&g2OTo3Fy+;L z?@GW{r_KP~iQp5@OPrm7-gXK5+Nk~6dm^=pxDcadZj6*8L%bga-=9ezd6N4fQPB4a zhbS8p);;GF06p7#oSK*HeWBtXCO0I$VwpWJDpk@=8k>_Z(W5f)6uawdmxU<71|F`Ec_%CyuZtI2DySDWBy z;0__E6v>w`eK4(MXE~7Sl@U)-Eq8>~qx9*DU=`tk>~*`ZOK50%#VEwoy#x$kA@#t_ znIg6!!a&pO?f^$XKxK+XivSQnEl2=oagBTwhB=Znqpd*2LZOZ6<%+T|m6d_zf8!ik|THCs@VCe}s?8vi_WliwjWB0xT z_`nrk#aDlD4f+oBi3CbB?^JRZtv@8j(TD7?sGy}7+LBG2Oqz7kVoUZ3#k?;-G-=W# zz&?|OAhK8MKr$*Dz<^hJn8u(wHik9pAHn_u0|0Q0KksuTR-qw+_?Jp$ZK_xh}BiXZ;R@du zP0J`@BoZ=F0YU0R8VcO`JjWxCZ^Qd9zY@3Hy?&~Y3gFNc%ki}hJWQUI-rq#YK zia1t*GX&iB^(j!f(DT+E9yvezCD_;KK$1X&uZ3&L)xy0cDzs}bqtQK+3ou9+ANzW^ zj*!sP42o6~)TqNbkEW&!{e#1}^2gU>^fjyS)(GzK)JU@Hn1#TiFp>gdePNPKN#&@~z>D8CjB&N9G8 zzrU6-Q9yklYoh?v0wk;;>N=5Yo=FXQ<)Hy-*6I}aD}Xf_mue{y?>OKE!}En`ygj%s zG{U$lm_y7EJ128kjX{tzFw;oAcPV*`$PW}n-X=z=o_q!aUo;^$+KyV3yx3(8-SnoX^Sbq9?>^ucKmYea3dPtAN1t^eTG~4gDnrc1 z)zs2jm~}QPfAxADW8*bAN7yFb@dGK?s2#Y8Qb}7Ulr#!R;N*Q0G>n+Y(cz$7>=m%B ztLdI4l~4(UQ7xt<8TDQPW2x$@4;dXASS^^V2myW>&;(U;6MvVewVE8_k>Qyx9OxiQ z1`{r3g$ICNP6B5sV^JqY#lAvdDZ8o=~XYQd`cIZigG)jXJ zJ~A|{+U<3cp^GwtwIu-tIj4=CO1wQWucZl=WC2-lc_GD8k7R>XdvuT#8}j}>d`89E z_i^$d=a}3-CV`Lref_v$^%~Ubbr@rC-b>zy*&X3GJ@1UU_?Ihxib$6cQ3*egJGhsq`JPP34^Nz#EKJkCC zXyJk)E`98Yo%qa^Kf~s2djTgkl5;hWGBxjA+^!yUCFQ(O>xC9}vCds0aTCnLpg=3m zNt2M?(h^+7+_GZtbz%Hb?6sQtoe2i61jIDpXv6bTg3HDzhNu%@q(vym+HLJ09&LH zEsb8SDokj3iFyd^=(rDxJxT#d9~Z@CY+{J6Zy;eK&dNyYO~rcwIFlpRKbNEmOUMBP zX!LsDN=aoX7B=-hVI5@&kjX0b)e0Ar)&}=dTgCsy{O&Pct2xoN4$Y4Jw;Z zrZAq9PUYPsR@VDg*}k9)pN)9Kr-&!ODv4;~&bFW! zX3*B!g7eQh18u@IM8N}K_J`I zgcqK1DlU89J8;5LD`D+~M)-~=)?>#L_h5Xa9|0rA5VI_3AhH1n41M6FvY zzZ5&p9Oi zjxyak!hDO2?Gk~Q7wz=2)i_{-X&I9|UL%GiLfTV6o54>0w`bpe+`Hj1SZmSKGYiL^ zbUvC%z;wn5ZTP}BeuX!@?zL!YYC@hntbgQjy!{`)fNO5N6V+->fKmxrA7c_AhVD2J zEI`>t&XQlr6xHKc+`U!nF$dR8)JdO-TgK&@7U2BmZF}*lulxsob<3Ip05`^9#qvY& z)hmC3SHAHTGXVHgyea_BeaZRwn|Hnw?d@$7UIxzNhTHGQkAHm|4)hO(QY7-37sW&c zEYS0Tloa`?}^6f$Q>$qLc4QN>vbxY}@@X(p>zK$&F4Y7KZ}<04cP3rS<@3ISMiG9QeP zCjtSqd<+IjsU4%_UxM+=!@`Saax%FB&Yj8uL^p&cjHJL}D*2aSZo6T`>y zj@Lk01uC0~tHTN@s?bv_nFgg*v3V!>Go2 z0NSe0kt|?6PQH$$l!wU@fMd?{vp~~d6|-cgCzX5BKqf1IKoqttKYM*jZc&4*KJ41^ zsZIz5CI_a_33(2m(BSsUwAZH?%;0mo7<*R&itBDF-DN@MoGCHfW?kG`Vnyy*fee-j za|-R_5qNbVJcFsuzv10CUJ=GouY8)2ogHV>xg>`MJ%ltysQf305p!THJbG ztKz}mUW@UO!DqE3$_xlDLGboYEIs-}WK9zw!?x`^G0?YXW?*Knr*#c@;KpmejsE`r z0svTk+-aD<{D^~63Z-$6##&TbT8jZAu$T z0<_)M3!_J$XeIJQmpce_i2OxxxEf{n=Q;RZBn;Z5DOEiu!K!YR44ABhN#SeieGNjk zn68v7^Tr^ll#cTiP%{zQQf$e0RW0JHFbflfM!U1;ZK{>#43}JR z7QXt4_u{nUj-I$H=df$r25j4WCx!=i!R57(5ftg;rc8WfFqb3NeAY#j4BTXO>U}0O z!jHxwhn@&yGkEW@ZP#AB|MIWm7dPFGv5_%lECsa=RFWI8D|PTzC!mle$qH-5tgGUH z+&k)GE~^AUYlH^i6om1bHZe0{(gLRW3SMxTOpIKfW6Sov*uC!n0ASV1l~}YSEmnQl z0^q}!U4^&2`Az8R>Vo&c#?9OCzRRz~FK@aFwOU=x854s9L4Zmajm17ySH(h|Y=|{3 z*N66S0P75pZ2G)hFE>gw^jZb>_x9u8e()=N|Chf-tv z@U*U;7U0j``eD4`wSR(2r2=CN#>T7o{I`FOU$6c>#>cA&Bqk(?q}NBvTsSboRa&Ku zeKlZ%))j-g9wuagY!<>jUxJVgP|AxA8ebEPSraFNjlI3NFQ@iaSp@Pi7*T+s0)Q_h zTWl<4B{g&l;7@j+fB_cGn~g)4PB8c%d3-w_*}M%tPiQ(z;y{qFT9U419hN-D>MV5t#>aies`gHAO8{JEMq!z?15=s+J^Gjgqp z4@BWF(t`$Jz+6=j1=^w{<{JRgW?U8hliG|VPqn;&qQ((E@r9+KrLa~YqCjT3~0&z#^Q-G z^HfDV3JOK6pqh)A+o|uX&Ja(?NR7{mo^3q@K?6cn$`IEhmX^^uTgr>d$LC~lHfjGX zX-=z+VTnAZHq{NJMG3*nm~^M5E_xN@6c@**fu9XjZ0bpV&)x&^Jc+s$!2j>nde;o< zNY7pS_2`0~4?8PT{$;dl34(~mI&Hnu&PQChiaMQK?BSz}l%5p$j6rv2CtiH+IRyz4 z03N&dHVhru_pFvgnE}DY)zs38Ig6L0xov`{)ITtQ9ZzmTJ~K2k*VDM3c+BHxKl@Pu zCTEo<9RI>g(bhF9*kBH}E2}i2rL7~_YqxCQg?e2iB-+J22u2&GDvp@cFoP#~Fd7c1 zQ%Q$Z5KCk;psV*OEpN>#^CWmCfqRjRX?Cv&%8Vt4vNX1|Br#1J>a56OP8G z-}iQ$b@KC2sbuipVfT(r*t%&oMu+yoyBxI5k0k|KA2Koq)tZM4JSTzMEWA>c#{c`0Z;1gf` z8vgF@K7fvn4mjuW*b_VO?oWILS6zK0`Ui$Yu$uE$>cX#}F2HURf)K?s%gA@h1Sn?2 z^M+u;s)C44vWi3~OMu^|M9XvP`wR{Zevza!Q80?n6^F$zY4xg>5vSqJq0u8qAS-vjTI1LYnTVK(PLUB+-}zqYJ`Az$$+d z6Ll%|ba&vCV-JV-9wVdUxa11mgpiy)Kk%NhC%D$kqKA z9?ul=P7I*1A#mA{c+zqio`JoN#BcK7$nV-Fa`x!BO?MC4@H=bZHhA_vmJUkEYRLHz zeLfItcq29x)z40jMIg=L6mVr?Fg5__H5g-w6rKKVlXK5xQ}QtZ=#qyWAVD#RNF^9; z3{Fg}QzpJ%#T`t8TN5U{Q)`EPmX9tv-8}kv z(>TWyfL@yBrKI>09lKHS9-&WAP_RNGpDB}pRD}X2x9JJ_LU#xR+W9hHn9du=@Yr1! z7y|}w7Ix8?M2zfRBJWB`QRaM{wEu)pv9N(sa*xl zSkl!Sg6>_N9XS82GtkmJK?3&PV{rd&?A-Lgvsw~m1_W1EN6%c$UUUcmpjxeA&7C)* ze`ID{X0E4pjR3gg)*s>V&6|tYy5}#(VJDxBmX5B2`ra!|&A~lRFirQsIbwR@l~JMB zm2Uy^P$LO_@Z~26TOt~sSKJ;rjoM; z0Ay8HKo}^QEW-=WIt~B!@xRB5&pH*>8hGz;VE=Y(-nbe={o9b&$I0^tNv=c^6|`l# zL_kUc87)gAG~x|BT3frYVCnH#w&DcXESuB`-j2_G<3F%@+s;Xy;5?k41)EDhW2;z< zTFcWa2B9U%RU&ZLMr11J3K%jGuoXHVb`W`8_5+cmII_+;qpi@E&Mt zYQk9;yaC-!)9;ycnt{K1_xthJ?|4_i2!C?tUVQj--@y-mbqj_E2f)pPT%1%zMLhw8 zM;eskX9|5@EsH@ky&20)Yemv~QQ(0BL&wLfxZ(DD@!re6IRW%dUbAL(TTvt_k8IwK%f5a!wrtx4c%{)^0KZo0V{4E@tg!-g zu>znahS3qzRDe*dNEWq~8=g1@#(YlPzv^~K8B=<#AuZ18AZ9UBKwq)OR4cZYNHdn} z^Xolt^1rT*Hk|UjmB_3`?i}vA{}J>L4v~ke+Va`?CUvv}K++|^0U&Nem+}m@q;T%y zbIU6LK45A$#!I&N0J<1H7mSKif)0YZ0`*BZVIl9vSobDmut%|-)S7k) zaEpMrRMJcqKqtr8)h3@qhFCJNG4^@*nNkXif@CU&l5%H}v2{Z3NUkqkh>7I(T zfk6otdu7C^2^JA(r+-GzO$D;c0=u!``qVB_m|*N&9aED+y7#=e?uo%Ke90OGI4MVy z51<&TB)5nd&W*xjMFEZ)pv@FWD)$`);u=F3{tDnM*1Ri;#h4*u3eZ;tA5V1Hqj*vi zuZ-#zk};I@)RA2$j++(B*Y$k&#H*-~LQ(5El1gezc2>x8TTH3pC$T24a#=tp; zJMXv+1N}4OGIKq(YtJ6w2jBfNs@3Ym0?RTy?*%VI&%$K|bMv6x46+K^yLt+ynfD&M z_x57ERts60Ota8f4uZ*~$0)|L+@!U(wKkrlY+0QsLI7OKkvj@}6^k^|v||SjGpJx} zcLQFPW-Yk7vYaQ11d5$yhzol1AZCXzV~1J9+Ic>akg%3UaqtFg8K$T06o3lFs?)7$ zE(|s!eNYehDoNsPtZ}I4%;f)%Kk_hq{5@~Q3r;@~O_hnHp|5u*9^G&Y1`a%l>iDoK z*eJlqYrR&YLl-&6TMisC4NAc*Z)xqq{Kdy$-hx8`Oy~sPbmx8e&d;u&1X@TNIWvh2 z3Psu^OX+$`Bc?z;LjnsvcBA+8Se8M9;YMpsT11Q>nn>z^FeNvHsqdim8NJ1pZM*T< z6FUI_Jw3B<*byfZrC)w6nFW04)1Sac|LJp>J9iGe_t?3&7a#oWxAEC;UW47c_oxD) zRZ=>P6{p976;7DGJcKb}4r7LbV{G5OuLz)9 zTU+q@saV%Ugzj&Ot-2DK4z54eU7#g11n;K@3 zUa*#fBC*ih)&`GKhaZ>(P{h7o?A>+>_>x6ZqX1Tug?i;o`bmP84Ir&}pF9LDqGAog zL^zoLP(^Cp?kx4TT`1pCbYkRT+j$Z5q%=q;)^2M{3sx>)gtpd}34_eXx1)b>M1g3+ zi^CY6l1UwM$vh1FIsmE}?OErJ)I7BW;Lv-JmKGo&f)^&g(fMadA>Ik2N|(?~O=$#s zLUvHHZpJ9-6GP&VERN-hST+;)=3?Mb$F%_fsJhsSqD6h`dm{rUa+pL+riwgXtY5ib z7oVpzg9DIM>Gc-{uUy4*nOHk{4A5u^AX%u<-5r6BwF&1ZHDF|{P$GLE8LaxuqP_$^ z&N(898rJm*q#5*x<9iv?uvpgX7`cqqtK$Kp_a5msJLP>OSn~227_EJ8#j#2IfSqI+5`+ig~L*krB zk?ORmvn$yPm~>zn=nTZtlO~a`xDv45k>6wa1H(xi`T5C0x;0oZZ!TVV<{48MkaKwS zp4AvSuoo_`&w$|1g{z}yE>@m$E^JnT_Z}M_c@+D0ZJimInQPjs4&csPZ^Yee))ud| zbiLf5>7!E3$!gBY*YC-+*_{-i7KUYT}88eZf8XF7wLvBeJU=-^QS zmM4akMdFSyq0~XFFJt>Ma9Ah8EEtfo4R!EpGl=<)(r2aMwiQ~?CB{*-HBo=AFFEj` zOdt(0(=sX;&v_u_g(jk8a0m0lD6mZdq6It3kmF1TL#Z}8;c%Z>oO;|*_~d)vj!P~$ z6O}B3F~IQP0c?8cX6)bnFviD*#G_C_VPt3|k}ak^D#3iIdmROY(r_-H{A7cc)^03W zeiFK7&4c&A*mxD+{^@ntxOoTiT1~A7tyid%Dj_wHl>bR2X)?)`Nu^J<@BI?LfABFlH}P-QTKw@P7vml8`5czcorw+ptFCqcuYJ>>;)5Uf5IQ?M z;JwG#cnw!wb1U}l?*p7HdQE~?t`_=J1Z*>dsG~`rBifE#(uBc&x2URPMz_Mb0*O0HU!j!Iydz=%6&+Jsdch15qY)9U@%v)S=m`E z3Tmbaq3jbe{*~JC1(;>S!gB<2*eUjPB$1$fFqEuIp{-jHpGk-Tx>L*VdQ4o2YKovhUFskE75${M30T6xtps1rdGE!0} zk*|zLtS=1E?op#U$h_)U)p<$KVF3cpGZKhbAf$^66I!cRYb~>VlQM3zaL?4|daxbY zcz=pKa-@$!jeI8%09dVM$-WOv`ld5m)RILE6h!=*_L9(flGbVtWP3p5_LwQHOMs3x zkr%4mrSMNMh<%$>cNFb1aV4FWEG`3R*D%ZVyiWkn;A>)+CIA2+07*naRGQWiiN>N_ z7SVuu4Z-s@>q!nANe*c#K~c=5z&1i+PJmmmJ%+4nW2YH+B-V>b6wdTGFauCaiXtF; zGxGy*{Fze>AjT3p+uQJx^Uf_uU;r?%Zx{A#+4!uLM417>)z#F}ibY2}4;{1Sz!-!5 zy}j75{&tMc49(0n&9!+O@TD(&1S2C;Y@b!9pN}Q0jzd#(>%sp8jKQq=OM;gMhK7;n z^+|~Z$AKkkK;goK#TX7`rZm!JfEu+`GH_k}Tx4eG6i}xn8Gxwej9m|~2f z=+HFr?@LfhCJ{!or$>ezIVl(rQ%@+3G1;;l7%Ex+q_ZI-}>8GEL?q^W5oYM^a?fd=)pSt2oELyY>#uyBbj^TS(NLvvH%(w85_qfYaYT6uU(Bicayha zaN_aL!}~w_6)ayo6BqnfUu^(h@rHNd;tMY*UfZ~3JGSrHhgw~?>{`JD6jB(Twckqy zt2BIcVPTneUgW|!InmV>bxGNf(OMJ%6Ov(`=%_}rESeE!;;tOpE?y5ozvAy8Nk7Q` zr9sk(b=ub2jPA~Mc<(VfR>dQaZ^!V+Xb8T_ZlK~U*XDpO9IJrA?UY`6U5#lbfQ?*? zeGaPO>|J8!Ny)oRB=M8X>EL`;?8X3$lf}}SGXJ#-q|Z6%<{go7QhR1pM9x(V!aCjZ zsb?uWpR_it+&ev!3DiK70%8g#eiq)dv0-7#=t6^0&p^$4?>I0g=an>TFV<)cfx%y3 zimr9{4JnGs&O3)l+QqvV$o7e@N3RO4J{R+gfv~#6lL7B8^hMBfCSXTrvBaZ}Lj!*j zHkS~Ce1%M&DPh5C6HcFiX|y@LHhF{s^hKd2$i-ZmX&XsL%A$+x;;o7I$W`%!#K8=h z2Z@ihel#uSS+0$37%&K)Z)%CFQX|pSp3h`)Tv+G|*w$sb-g*u=RmgGR9$F-hj0$C* z2cu+|rB_jyVd8Cp!%Rpgul^4Yyzatd&HW z0l~@DJ$E4%tvnXMgf94RZnzqK2WG})=1N~f0Dkzb%dlqcJyY%Ao!vO&m2W~v&s-RL z@GrHj(u6rnRs?~<$k;gQd5&7WjGt4MkS7BPEpHMeIVp2cl7s{%e>n*t7#mK^KjU%q;Y;wbcmE~c_J&LU zfA+pSUb3pZcI|Vj>W6NxBJfFdHw3{7{_O*cJv-@f{rizmJhU_hWi$41xUzBQH#^L1WV^-bikD9GF_f zghXf}%QEy2EW*&jeG zs-?h7U;g@14L&(l$L`^AG@1<}9SeKPr`$7g-ORdF@K(YGP407Y!U7_P!8rqLmjQ*j zL7t07Ed*n7C_y48{e)RvThD$L(u3 zVSI8L+JeG~NsXLB#flDy%}V0(95O|YMzw?5U-|PF1h{16D@TH7*=c>HDCGfJP}F2eFQo?Tj?Hseo$=# zm_Fa(*O~5=d#^J9Q%7qZdyPwA&Bwvte6H%c0Jb9E$DlM%jww-0h=YLTXJvJKRI^ji zc|=xb28n4{B|3xfK+staJQ3n7FxnDl6*O&-YqHezM2GH+STF*afxv&4B12mDM`i=1 z-k*>N{zQr_u}JBZHAdoG)w(XN57|=2Cwgs3NLtU6M>0!+#WH3+pCXqm;?tUBl6zn? zCXIp>c5H;tTFQAVAHX8Cq*uFKd!xM~Lp<>f`#welrM12xvBn{;S0oOR=UBCT8P0yf z>Eh!Ath@Qgm>AiMqS=@O!5<4p|Ik7ld-l^yOOzXa`g82ux_$1#%pJ+&wwt%&^Plf{ zfjj4L?Ag!2>f=sDwdcS{1gq3~uxQm`$g&Q=Ix|y8qtSr(MWX3^sIV7W%#~_ahSUY! z^ngHT>3zsPc+T?9gON}zi=r zP{V7oUHD1=+`NKgjyx0}e*0_jkw1A2RxMvr24;?r?ZvvgeuV80`~s8XyIQJn`A%@? zQlZD%O$!WJ*m&bwWJZxVdo3!pJ}g>#7_!X4IfnCP7z~M)ohNVjumm!%OAKZbN`iuszoRu#i8_@!>{fD;!6bUFt;cx9n zrhzylIFEs2M_{$7029^@&LIwRb_7yz!;M6MbY^&c3-DgO2Uak(RLD~%LJ3&TzAv>} z6$dX_ST>XEH}AmYbY1++43SNe8AwJV0@JR*Y4x&F$-7wXsMZUzO_9GxD#?{nn}3f4 zRD8U*DQh}Q)ycq!5vnJrgH)XosJ0_33@Ku8T>=W!*#AR~zQcHC2z(D@!NJydfkg=} z2FBVdb`=r}A|~kjT~6Q$*;SaHwFP1&HGw@=_D=+wdICd(1`m~eMbROH6fu?|R@A4~ z3AO+z43HEAWE$j)89-}I=n-HFZzxB*DTuvzuRQJVDeFT|z<5Xi|MY#z+REuV*d;6= zgYkSS8x_~ZQo;&6bqP=&)YH(O!ZwRZU^JCmMAjowzY;W1&VSF70CI9hh3=-FNnTfj z-M7d+S1Ox>k+J36L-f=z2wTJJ+9ZyQKDqtA1R@(sVv0dnsld(*YoL$_Mz(zWEhV-A z{5yKS+vn{$CrgOv`A3ODh(n>c|Q$RK;Qu|9xc9 zLLj`EY!1T;2F7_C>gr%9M!3O@>?2@@Wy!HR4%>=+N4*%AW>pCL>SgvdG?gWp0X`ru zbfP8&uoLG=wV*6RX0PGU&^)~I`Om^9-~A?>cKlJu^V#z)iUziAxd-coD%>joC}^?= zsenf>8dz5Gq?8ct;M&=rndepX_Af-1Ra&ahY3v>zoAvTng%|-23fL9^RSEJqqv&@8 z=C|*Aj>x`1D)?oPUUaVvKumf$sv?d3`y7EGa_rmLWSsy~#>OXb{V(o7z0rVk4r^Ag z#^NRO{=e7KK>*Kx-dXt6=f8_HpLjZ|)hdd@pF@sfsg*(*YUuX9j)8zb(7;9 z-51MVf|X(p$zUZpD(xI%KjaMQ5%;W9z>CnR>8UAP_ltY+7ewmy`tMj@|n(H9ak^f1wq)5r`qkNJ(_J74*{LMgoVN9}w9Cu)vhpYp=Y@bsj|3=GTJA7$;kwi>7I}~% znoi`p-MQF9JF0~d6UeDR_Q<22MI9co{Y!#qk&_%IF=Z(6ksAP?S2k2#Fqv`;Yz6Sdwj5t;D&<_w6)`XW)IMAj{qeF#qr%ljhx8=rW$ zo$eu{$sEI4GkV@Y&mEIgMh1mNU`PJ(J_b#Z3IVkOUW4)HiQcm8+cWJ2uiiy(lR1HX z`hy1loh5J!2>}_5o-PyioVh_HwZ1m15MhM``REeA*V#b1w7BG+IT#r}46Z9tk^t*r zSio3ncJ-bZ6Ende}rPhNpe&>}q_~?^Rsr4K<&wZte zp8i2(c_$RX`+&V8qqBKi%F{0ehLch(Iikrb38};~!YVz;C$t=P9rC)JPPE3?bflWf-Le%qt*~3pV!lW~&?q z9bA{fODbbBXrEEUU&o<4>@%Js5`ftzQ`)&OsH%W~P7&2V(1S}ZI15*N@U6J)MHge? z&^&|?5Q4}4(Y;uI&kcBRvld2Cb8jgn9jOC3n5BTNwvi=-@S0V@K5R>5s3&Bj6%60PV7$9>%uoR< z86qF;Ho#VrY@K&#cw`JeyY=4IC2~0R)Kf73zX`yt0=VGZ!|=(^{|J{n_hQs)v%c-S zhez?(U%U$M|C|4VjhnXu!D-J@24`Hw2qX%+d6yOxQt7A^`V2lfM8Q02tuqRIIKX>s z-nJW`{_?jmJUU+PdkYo};ZNT25gc}S-&|qvTR4_10iOFiFG646tmgg~cW%HBe|87z z)6?4WhXdc73^gX7{Bn|l180j^wJKGHvRMl>RxKNK_7*Mux3dnAz|UwKhz+SwJ8AJz zfgVA38eoq0B?3E~)42$y3f2*rXas7tKI3429}Zu=3|UL9KQ=Li>3XB}W5`k=uyvQT z_K+&Xw(oaSE0zO=St>8&0(MxJBWsi*K`=WVz^B#-%KebG3{k*y(*~I$&=5#_xU(AG zX<#3k;6= z20iNq{XWD%Trld=$S*e+*W4hb*lJFxN-fV@#I|(GUN6`x@Um_w>}wH7oo$M005kuG zrxRFk5@~? z6qM|o(Z~73v(4v61amjbC-XBw_X$=%77^*e0EZ2*IReM2KDFKhMKChapO|1%eFPrvugIPHX^P_0zp9MEXYV8_<`u=b8?v2)99m>k=QW@8Gm+DJdM z!3wd8R4hT9T7eLJ>-#){7|)#T(X!GSVQgXoMbXg3p&IcH9S_>*_p%KOd*ZUX+Qp!Q z@`NwqX4*;n9Ubwz8FJ; z|Gfp)>BslsBcHwsuY1j_F@OF%IOi}mUB^Ft^GA5Ydq0C8{_IvX8tjou*Dn;X14J|Z z9<%puq`qf0Zmyd#rJ@Nm_B(se$Hu4d%^%#18-I0g34rH$j+edo`8f4SXQ2mk$8Y24 z0r1S{Uxw#gbRqIQ$Hde$uDRhh>>ZgT+YBPw6j+0JFR(oKrRqCsv{EWV8t-O*{t|$# z*dck*gbMUJ9r^Dmy{DklT$O8 zn5v^_7JAK%RG@7jwn5~g|7CgkLJ`KQD>aOpquvl@nLSJ(B~iGXs=B{JyY7h-t?V zL?(yVK(7Syl$Bnl$KsKZZ!TM0aM(BtEU1<&uWx&jgS>(jfdtro*8C3hyO7)GYKd9c z1D~heB6TR+qF5FtAWvVecL^Xb?F=(RZED#A0kLICNOfuY>*WNivZ~v~J61E7vx7!RQ^kW&*Hii?fJA44SI7mn|!UZ9(Z$ zVThJm-E{%n2@ICv5xI`Y9EEPGY|~>qrPfE{IrTOutHeN-mpTPPM-xKO85L|Rk_?%3 ziO+0+=$thXQiMc^pa1Cn3Pw+BtarYNw4ZzE(qDl@eJOIoCqQ#4G)##ZfuVVWc-B*& zf}UE(7;@kC&Dghn^P|oZWex;S9JRgytU2in%wN15&N=MayBAmg+uvifK6h>Aj@e_w zX5gdmdp*{z-%x@9LrV_E(=WRm2OYddDXI^c1tHH->+SC>+dkmFOQ$!qVc zz{%|{0br9FJW?(cNRMlQ8b82hW(`G9#K2k&4Q~>u;6`iQ(^Bv{W62G$z1D$WD|J4( zfg%CITR~4uI)Ivygn}UQTg`;>)KWF`h@&z778PSa>}N_OK&gljO>kR1#6_HH5S(F+ zBgfjw>l7IV=MCWb&o~!f`0(5D@=Gqj(7XXS=inSLGd+RL8*jyZcYPnbx8H-Q$q^Jq zy#-u1Ti|u9(hs7*4v|{hwN&Rt3*^pQ06JYG-}y7|18UW3%iEvtm!n3ttwyrEZvmxL zGQ+}zl1|;ST!2M6><}3Oa7r)oK!BUqKS%nunq%^E-N}$rSxrn$h!34i?*-)>5P)Qnata(Iiw$efF2}-IF+Y3FvOHkkKp%Q)RXFERZ#1!I zcog+UBSH8v@J5QX;1Mb5oMjUh^!c@~n{PndV2F`xR}lo6*Iui_3MmF4Jl$uiN2~yH z8K|xH9jf=#R6zk#jG!h7Q&uLhZQkIFXS$gH{)w#MkZ`a)h!vK{{=GR&8wxcc(4bIw z7k`feauUJR3Jf=%eN_uEh~v_rsH+gUYD^qOf$vuMCxPD1*&wdEC*rfTubBeGy?BP8 zeVx_$642hzj$f_8d`u7F%d?$dp+8e#!5K&eABcqa zHn1IxX*b3>Lg->QB#B&)WDW%%!BCO24>&)EuA9xLOAt+nYpxK8cyRG`3Lbe+4JRFY zG?p(}T>gmq%oNt&avd7eQ*$8rW8uj19E(>ShNI3rA8-!MW`S>9^{?2pZs**^nLDtr z4*b&<@5T4N{{u9eO*rRJ?d`);e(z0KecY)BlnshJD%BeL=Py)$_Q2L1m}xg{k+&3s znZnaBu%9q5JBfm;1Td{ccT4SQc~55=oK24TSzwUW09d1w59RX)-8h<~R#uWd63O2{ z_w;OUd{!>JvM#_ngT{%#QCZvtQtl}aN)Fibc5}%dkbGXO5@c0b@J0}3;`0XbUsMVq z_RN$GPe;wr(^J9Yk2?Y%e*0_infJd1XFUEG^wg@YA0IF=z7HGM-HiM0{4VxvzZ+AN z!|+AXnhFV}qC0M^&{A@Dp2u16yYsxw{`YK?=vvKQ2m$r_IGW8_hPGPCv3TKp)t-UR|a^Eg8J2lHOq}FBAx309akaR5R?Kn8uC2 zyt@Q*4?ScxmMvfK8(Uik0KE9pXXBHf{U%O2;W*@Z4(|i*TDKXm|MS1Wm%jNUjEs(_ zNi(bXR_eG6W-@#UaL6K@nn)Gk7D&C{3GUpyZ5RIfi{HfN?Yj{|fO8K0{e5`j8{Uj# zPCNwpTxsxIKTbUTbewhO>2S_r*WOWV-MJU=gg#5PLIc6r>qq zwX=Mtq#ccF;PVc!E6JJC3W~hDBRe(*11xaavf3+*u<6tkVn)wR3n=5j#;6_>duAZz za$rw!0^B3p7OD+PpoM|{EKQP1LdF>)78%6s_}cmI*Czts$)8;2=cxKiOlV4lXEfo2 zgk?cMtQ61m^@x%{(_OUPb$COH(-a+%c z<>!%hF70-mouzujKE6ybCT-y zR8|m&s|I`hXX3hTtJ8W;024v%zLzaN2xp#pGO|`58NA2Z8?VLm1@@2b#fG&v;@;c7i|t!(#s1M9n4TId!9)2u+BPRaGz@K3 zcnEC(yn(hdeDN$_m{S&zL-up}P;j~jv!Qi~#?D{$g z;F60^!{7eHk8#dfXOuqSo3`%4yFUIUeDw@t8qxp&AOJ~3K~z7l$N2a-OjQ=!2q-|C z6;BLAR-wm_1$YtxcUFphhW+~|@ztxZ$JN)}0`F&^;VjGW>}Oqw=e*>N7@R}EAC_Zi z5IFyWi;-m+CZ}icvs>3mJySsp*CWk5r>9RGg)v(`waZlg=uAXAp=|AP_n>0&unk4hQx*0Zb@0n*nhdW? zSrJ%ZSuplPszud3LwsJU9td^~rF`REOf(0!mw@e6AF1#?dCEIm$*Ksgl!c(>TQ4tL zlK`cl0cm+(E#OSOUzTNCJLI$(lUi~T(TV?7gbV1ICDO&$sU|g^3l0WWYkxau#3J6H z>xX2(BGuB0Tw@yt<9k>w>k_sr3K;apdutJiWDz7mZ6)TA(=;4J2$~Y*XRF(KVO$?Y z>R8WH!qOuGc7yIULyoGoY)#b@Vme?8*w` zJg9FE93pD`FOcFpkadyjVU50C+T=t83=APyK|e2H&lN07AP|WI+xMK$mx)1H>j}bR zaG)O-KKX1^^3Lmt_${%aTBEqq>pKF{GsM;&AXS0W zBcV~lCL0qNo1Bj~&Gs@~GPE@IEP;l=&4~og6QkpS3s&-XXTUiapG_*#WC0b8f|9~O zSuF(pIk-`>er}-VF9Ld5{l`ta@6u3N4QH&3ca;oB9<~y1dc`I9mruM4Z+-O(uzJOk z(l6Y5kI9Ju$upz1zx1@hkDr{u))=z3(L!Srz$mE$ya*J;Mo zJMMJD44HKAyO2dZp3U!?7>f=bq3{?UX{lxbR4Nrb>AV+X-r#RxjRo+eQy1Y=e}4mB z^1@5d+dDfov}^AOF8|Aaz{mdXD(u)fY!|sD09A=S)1xu#pg};{Z1c#!1dJGba2bO4 z_|@GT@R_e%gQ@9yxi_piWEI|W`Ny$x>0E8_a2-_u$36ZW47Czne|qaW>>Zgv9B^x? z$gGiIA}-amhXBfW^1wM`-_HMd=7zPLiU`JZ z1hnsL`I$4yGJp*4g8iC zHW?9WA@-yOT41mY(hM2^kG$BOUV|8Hm#Q{pTjOZ$M?77~dqAW}%rxL>?r}ggK^LrG zZp*V56aY(;7IHdGfuK!cLBrWGLTMg_cUysmEY6TNg6Py15&%+@65b$-pq2b;@*%VL zTy-wO+dFVJ3x z@3yibfhL%uchBg5qB=D*);mXH9Z4cKX{{@WG?3OQ95ibM`4yT>ZP$V@2sx{+4kWs8 zB9F#7!_(WcNI_iNNA{W_F%bn_>q>w(Byt2`Ox{KIISG)MNk6uOi~@++Mufts%{8%G z$Z!f&4SHXU>=}))Yqd6eBSCeXj>qBj#C~kK>lW0f zC+9%$$I3B(@p3%j;+LVPe-I%A+`D!?uD$w87%%3o&13Bd0Dk$)?Rd{Sejm5rc^AC* zaL!@=;^nyLjqkQ(tFh_6>#=9&y_np;6EoB8AWQa~Z-MQi`7D~#n4H*)UEA)$eRur``}S@t z&+)KTEAYmbKO4&y&u@Kektl*e{*eT#NP;73po3QGtLI#jWRh@c8o)zqav%aD^0>k0 zpv^#mRor}+#bu?_3<=fYdE67w|Jx!P0i1Y*!w3KOzu?uc zyc9h>JqQ698JoZ-{_$J*!q>lxox6thXE)V(ZRK7=H^{8sS6+urqxlq|j#7#Tgk}?4 zw(Y`4uJ{JFY~NjehW`FOy!~x|iW5#be9i{tVLp~DTZ5G=R{#JuZQX^j@kxD;)tcoE zC08JD69xz%>^QQD4p3D=&mdwJ@z}lclnyrOD%FMUpW_>y-zz~_sR%EF(h5@VN?=Ha z4d#e!SIW;O0Jyd%I$ygWRpHR#vcaRbR>7*}i^@y4WA{Ex&(sN+W0Jqnpn_b-Lx@%P zat)N9#|mX*a32)Jt7;_npp`XU7L(>Ba7orzkYI2@1Px6qm33bQ-E&Zo4l$GGs(`$p zg&HQ%1Ej*NW2Ld>OU`x#Oq@_?w^An-+71vL*qRf_OEzy-9R{)^k``Am>KV3dk@+4; zD*?l!+v|Mm8fuPjv!SLJ;R9`m}fE5$@&LHRL zzMJ(i)$&PeNN?T-C2UXg2PWe8%Le- zG~Dr{e@COy#6N!N?{VS9m*T`@=j2b1rDNS@;QfF0`}pzoHqGIRT46%(9F0Vfo*dy@>+FEoFHj_Na<3 za+Pw)Q85Lr7MK5&&0qvRJKE<1S-e=AauJVyOK?DrUNeYTe$HTQoX{$`(l^=1mK0K9 zC&RK>H6PV9?XRoQ_Znkcvor}*z$E*TAtQCV(S&hPBCT;uZ_k37i$W6umdc!)5i8xj z9R{XGytBA5WQ(5=TBk-|>oWBB_u~nVKL$q~b_jm&xlhA4ul*_h?b;i$>A@YCo~gG+ z;tR~oOkvlKjo7nm6Drjn^z{#6Xu(np&R>dJ&mdf0LFO{J*0r7u$Mh(gGZ@{s6}xwA z#N@x6l6l_~ZnBcI#R+S{5<~FJFcQ3m5&? z*W1;LfOmfA3Jfh=g3n#?8SL9Pg7L{|eDv@B6`Qy3!Jl6CJ2+y^!9d2(Wzn)YX?v_z z1#m`dqGf4OUZcE4V&ySN)&g8c_D|xU|NT1r@TNQA{p>m9d5-5j_aa>UqBqRhpgaPO z!Jz@HS$#0>yz3r}j7_x29R@&U)05eIgKrQ>Blpf+uL&|EK(s0%VC4wzGRmtyab1tCp32 zwQpk(E~1|9MYmkNy*p2MypvOai(I&?tY_8!jU zK;#E6!S6iL%!BqG3O{C>E;VK3=<_piE(nxJl;JyTDOkariR<7KAQIco8LGlS?;Z*u zxXyLveY8}LL;UW{s70-5Lkl2b`ywmwS^$481z^*?V7neQDUx_!RA{f$(;__WA=e=3 zjn9@lWj$-vyMPE92RJudNC z6j>$KQAuC3cexTBIkCnBJ7iX_|B-!@kwsMA3$n)wbUx+t)V}xJpLy*uuGStaGa&I? z1`1m@L3$WriN-$5Q#H|g!4r6#ZDrY`P_HNdT?K*$t!QVpwtPpTDH9~X@ziuP5;Z%$ zSLGh(bZBejF&+$%8)PHIJxm}ml_k_mDi-Z^rxH^=ka!M?Wrsr)qB> z&U*f3IQhaCppU{N57eVt>%sgbE09$xD4MekaiiJ9#MBgug2#ich22mHr8a*BImn^PneneOsx4r5fW&ll0~CSvFKEYTI0rLqZkNia`AaNqo9;csSFVcff^K2<(h>C zeNWUdh7JH2WW(WSw*XfE1?WPx{9U=B+;;@Jc_2t&v+eh700^p3)WBP$_HvF2H!7YS z`#~eoq)Bi$hYHhiBHWY5(^x4l)n=^VL589EeK_NkV{rP3N8>dweim-JbuF&?-VM0n zmb4L}A07^HID zWwWG3+kZT8NO2bLksOw4S$s%O=@L*ji1%npi^T*k1~=M7Wf_Foja&fL1eQG=?K>RE z$K%~poTK}Z5fKtJxM?ZRyOAhV zKWlrX%qI8Hr1jPr_u2YP!FX2XK4K7yW=JaaF_N^1$N&dh(cL}=o{jgdp%j zMu0K*+0O2(Ob}LBJSj5F0?n!agA8sBnrKOZ+f1Cw%n{W;dkT4Ev6k1*c=`88;1&k? z7xh4)3z-9h6m`aZWH0%w%YFv~qz(@OtcS!}Zdngm1QD-wvtQTW*N3xCI~o0bz1TlK z0RY&)cNd1YJ%EKP4w(bNA1g;*tzpfHPsGU=z5qY{#uqR%Q^yzo{vYtPr@sj2oOAM= zr_7`Hm;!L!_kV?VzU@`G{m#2k6tjhBt+yZNz2c8?)(bAff@LcoHJ>-DR8i~cL#0|n zV|r>9J}EpN+`b#fA9*PHmDNFN!L=G1S^Tm0BCE%P0f-k=4733)t7t6Z-x-baiN;fg z^0`dxL!yBSQhn?Uuft6IEE=~4fmhDyG1|~A7(^DE#^`XQBoLdjBcI?P!zMYjj5lBo z*UMqE(5!ZFabeB=dJzdB8Z@N}^ajYnYBcEPLykU|&5%&dNF`hdHu!2OvgFq(wMdp| zjAuVjUU4{l%_^)pcquM8`xM;2c^huNa~;0(Gk^#O8vuz$ zaE)f&3Ex-ML=dUK;bPnnhD6X`kd3qce8Zy?*s^^$LI|i-Dme3;i!p!b;ahhX)__;O z{>J&W%U|~bJn7`4k>$`Nf(kUG;L%b+ix_CL*2wa@ zwelbekGs}w#wY&qKQKHx-Z|HW3vl`6e~uGQJ#5Yf<&jdO=0K%VElKO?dIP>F#PcGW zIQHe109{EK$$h4^PB^v_@o|8rBkyXtcB>#Vnl=g<0hu6BM>O8$)I*2~&ywhE?K(9@IC9$Y{v z-x;`*Yg|Z8(vfmi1@9T^c+0$c07_>NZbpr%1Y6X_t%+FFkv00gd`LYaa*+yHx6F zBZ9*U0p+k(7^H7Vh_%8)5L7$?0=>UR)>s@~9b#hJ(O#ZAEMKx1E0!!NLGWf{2J3$D zW2`yh3BbU-IS~A@atsU|geN@bu53py;25j5D6CeNRih*7((2*v>O4X-WH9p z9LJ5CQ5um{;ZM-bwp8Zv=s6c5E+>H7i^9Vh-^-(1sj(?}FZiCOf`6z0R);q>V8eT@ z^fk}*{gX|dWU-w!uFr}DPYQCQsaCczvOugP2m-^q-7IvW3c$Qt#gfHCSh9EsryhR< zUi8c-W82O>xO3em{N$FqaMSH;@!S!J_x#1j zP_NffZ!~fBb-%>!ef#lOm%mZ~;T(WP@0psEfdTIDH6sGYJM7svicf#}KXK=}&E@n{ ztyaSu{@}HE#`9kCTk}t!J0ALIHi7Bs>Djj}%MiTW^L&Q@Rm7wPW)=p4N{TdB5uU9~ zuv9w!vOs-ru6BrC^ZDG={B!a8LWLHvlFE7IR^-6k=O4=WI(i zIAoO?hUN{RucwBYdJ~OCflUwYz|`X(hn`x6eAQcIb)G4 zZP^qdNgy3xvuMq2>TBaF9Z*DB@Q8ct7%<^F#h3~#&zYWQb-!E;o&*>HhtL3^BO5w3 zG1Kf!K!t{=BXaRsBoM@^YjID?_ep~0UG_Akn5BK%F+o+3k8m3RX(T{84xP1tVWW-; zR1+xBO4{;SVS*mrEet?JTA|;2Wd%sn7=bMZGnnCgYTvAg`(>!JWyXwUyP|4RkUe3d z<}N2mK%_`U_ku{gsGo4LU6BG4J#4>fhd4{cSbKs`^mIUE+oaxeuX7tBu+Hk~*p4ID z{fKq#BU>IXGEo@FWeXYCrLKqlnbq~k^qLVe4SJSq7P|ZnBmm|VVdUa_Z)O-7y<6aZ z-5YzePY@X?5;Yh1D~k!f$nr4JLog6*3dLw@N7VrZVxd!r*Ai<2#U;G(<@>D2Hg6CH zf!=?Yu$c_Bc7@oY&cVLc${vRHXKT`&2}1r_=SJk+x)EPqRcJB#TYi zxSQ$F5&#$Av;z3@*iyp;un`w4fkQxm*qhCDZ*r3UVu1j4;lm9d7mP|-7>smqXN>HI zcpSOi;FR~%P?)fKI2x6c$_J~6axutWUT+8>#%L@|PdEmKWzp_UBB5HVV%d@fShi#c zr<`~sUi8d!uzTMab`OtX*Pdal-@F4GAKZbRd-h>`ViGkZey(kh?n<7l2~4=`#Ai_8UErCphPNC z_1=1;Q6NQAyMbywllw*|@Y7%2i+W>LZNFskVk}>|<`Gd0O-}>&-@ggXW+!y3C_H|C z`+fMMzxX`f`=%G;>F1n^-rgQsV;~wur>}Wn($d?CGC^QWPEX^9H{F46eD`N98?0Gy z^{MBcg-ie7eONSyfIp&+`ZO>)HrBdN4n4IhvRo=yy+Ohf0qtC?B?tr<$wrg10hCn+ z0AClObOnLWfdDE`SrSeY&e6m|A}>G!uX4R8e>XL?ASGawQveN|$=nQOOJUg~kOfEU z^Y!=EFgVbQePa{w!DH>lZJ4e%wHl9!i4fvOI|4c7_`mSOR_iMJcxN<@Uc}&<1mw#a zEk*d!$hxvR@Cn-y=!q|-w5J>r2Th9j23;@SE1J+M*enKtcnn`%+d$sSLGN*rypj8v ztV3IbtL^to0GDr&I@RfCz68ldEi6S6Jn0bGpJh74yaZiSYI;^H7clJ#*%n0F-YH8W z0k)Wy5TH8N8>G6NP~orf30nP}=63yAW(*l?IcS&%PLEQkj zwl6jNIdb5p1QaVq0cJEn5mDgiy7>g4;JOrqo{Ax76iJ!(IvINV`>?vN7pqq;D}kSSy@CDX6SLm2 z0Q!2W80_yuZ(mQRkaUi~8_N=d8*vJxRm~xfqXtqTSj{UJ%N@nF8OSO@Y{z4zJ_eqm zrYzBbC7)ZT{So0Xx_<&U-?6Sdt>cb43PVGWjNSW}H*dt%*L=TJ|1Vy25Qg`SpePF5 zcJD^K?W6yQ4>vuYbKdFb>8%>;A(Il0M#3Rfj#&$+(LlLxdfc;N3qE|sRhXEXDbMZD zHLLNq%Rhv}4(*#O5*}g4%=9F7?;eJ8KyR&zo}Q{u!!l4oYl5=(@HP+*KCN`clQRTR;j5kV)yGueYx0Rs&|ib$&~R@eFjn41E+f(GX# z`JvtiXzPtKb0#r%uDtU}wHSp|SB*Ljh(oURltR2!fN74azs1f@MRY71B}v0s{!= z`mY`Omupc*drc|VDY-_pYm)@<7-dCDeS!(5GLa?#ZnX{+2_QQ$rJ(jkQr<^G zF3!OLVtXat*F=3G71UOu(nq`;vGuex4$V+2SfewwGjM z=UjUGdT_!~kHfsd0Su4Kx&zEi?8o-?cVX$FM;-7W_#AHgUpSm|ShVUeocHoKV{pM@ zIOni=%T|2mQ}4&-ZGP?oJqnKDY2Ztr{VRO-iqBzue4N3?c`k5o`a95{Pf= z4K)Ja3efUw0P&?tL54H7N6nKeabrZ$ zNw(UFds2vonFF)9Ni^7N1!lN70I3AU#YV2izC0Dj;`<^{CeZJdMHHPo2S_Cq@$J9o z=YpHn+_=VE#2Nua!IKAiCjN{RK=L_u4z-?MEIMcit5+_^>VubJ@#00Z0JsdHRPPL{ z%@U2Psd5UjQm6gAMFpnUpel#|M8y|k@Al~H#rt1AlkLVnGl;It7#}y9fA#!#)Nwoa zj^Kf3%F<MB~ zyg|^(dm8MX#}VPjs{4oxA`zRKr~<9g83S*L9+1{()gw4`od7R?mleG06Fs)k&s#y! z(KMBh-&chfg!mZ?at)==7?B;`xNk5f)U9d0K*Vu~N#iWTl0^sM@IzLW&Id)&#M+yF zfSJjO1HN{i1Hu2R7c8&f=rhm9IWPVLRD1g1y~lrk_lNlWr!L1>WA6GK=*O0gqxh#U zeIApOlO;&9>gbd3{6GC`ocPq|qIYoqqy8FHd-|~Ah~wZ|i){!2qhk}8uGi6QCKRL0 zdb0{q7D&^vJ??C@&+q)o736l z*qInfjywh#0C2Vygu4EPE;7o(Ls*w6l^6$khQy{QKvP+aTVS@jPcRxP_LFysP2I=$ zHOQ2D2_|R8vtl)fmKVJ>?)+wi~F4lT?$5! zQLw+xY>omo8X#cW5s~HW;#7J-s)AJ(u!R880yP>gK~z{?^MwImIYBJN-i=dJb=-Q- z{TSUpyT14J_2Trio{ND;K*;%h_w2^i-?%4bUQ!N{mYi@-1p(H_{bJ2x({>$Hj zg}rk%!Xpv{AKi=5(J_P&FxcOVfxce7wyB0s+C+E*3~B8Rr9zd}s|`Vh`NVo^P2J>r z4UNJmvzTnOri3D3J3xoz3G!I_ICD55411Syz4ZpTN2IG%-$fv-u8n$oYB+rLva*RB z9^H?L$qCpKX$0abwQ)v(REVdo6o|!>PzFgaYcl!Y?d!)=Ls0{6zq*7zK|8ajjCyU>}o0Ostgkk*Dvmrr!$0YFcmCe`dfWhZ&RTsGRaKYD||U zYWl)>=0%ut2nI-P0nzk)aF3Xr2;lyNL0=;j*z$PibK?nRXMxJRhR|NcwJq;C<$9LK zV11yRB}bvuE-|?i0zI4je9M0pFje`gALnak^|py?8xe$#h})D^31H`&xcFH?0eh;& z8Ivd>v3~f(dJ>HFFhw||eDBeHed6q&NH7SaH|6(U)@7dF325RL-s~TT<_+NN(@rVt zm*71%-F_3M$4B9dVh#jA_x$VGX)=$3XxAI z@X%p0mUo}igoDdsFU=r|6R9$bM*4(8M22Mr@+Xf}Y`mdTV;v=IvyDm6jY+#nj|vd> z=1h$-TI_o_MxTIjbszaN8x5Blsm*nPANjy$1PB}Bi_vG7%J60yBzK9?(8wRv^0#;T zbC(2*)A!M3S}FMJq}!`7v5MW?$!ih{^1~N}p<0)$(c6HLv2pz1#@kVNj}QWuFI$S0 ztB-it)y?A`xc>WJ!LHqV0L-euU$Xj1ST=7Fj$X7H?>gm$c-adtDFaY<4Ugi_K5-?! z_^&_2zI|h49pLr5RjSsIP{y`_FNY1Aci>b1d^JY)PnN3HRV!EEjc@%6EL()R;}LrJ zqESBTix$koyn((LwBdk6i0~*&DW|-EB{-T_xfpIDCOJt zjIC5ch-(wBIU|qQpn+a#H)my|xKt>+H?nRlpx2X?TZR74$5s!VVZvVYygx?(MhZ}I zG!2B#dnNbv$hv_7-pj8Eu+`Y0T8VRSoK1?zd*CSCwyQFe0Y6sjCM@fMrP`#BI?G}% z1nqgRKrac*W(EP0_TSa@S}^P5A0C(yZBs@@_7U`?@#HPwT7P368L1miwQ zk|`sLDy!eI&cU)%DGaibL18)%?r-J#AlF7k>?VA#Wlt3n{g_&RSb*h8wQmtcu%Bu5 zUU}HTrQG{iMAAS#Ry8c&~Ge$XZkCUJHIK1zD zAHzk@d^)l$n+3s#cj3A#KaJ5{+h*-R9_2??sbXO0Ak=z0>1T~*6Pq5~iAK`^%cRvs zq~M|k!U^?-RKk{{t%#KeQ8N(YB3pU>c^Y$+K(N?!ET2uqP8YF|{Squs(l|(@vpxlg;cXf1)sDX7>ASj4jumUsz+oFeo`CJz-fmnW4 z#B=DSbJWOFk?vgjnU(&&K~7JI=Ot-VBA$h|$FRCrMo=c$w~iWArJzfBN(OA-J&arK z-q89n4re^!G#s?(;g3eyxf8hhTUVmlY{EH*r=5E?4j){O%mrj9aO~pMc*k+i!=*2H z0VeTw?j3$<>xMJOT8Jb+tW-rIgyxL5^i+L>>cyB~c*Nd=l7) z;ZrIJe_>03F8L2kScVXf$Lr!#*MJd7S0um!Piq@A;H&m?&YF;5cRTblbSCuLp?m6C zgx&|Esj@8ojODd!q{R(t&qLzBC27-sCdHJ65?WBWEr=|R0MXQ5Tj;vaQmvYxoeaM7 z1`#I-pCYaytzbDxm;_SZyDR}n2dXJ85S0Jj5ZshRk&Bhm(a-ZS;N>#=cUYjWnsgQ9 zUGy_RBvKGHa+UzRy95KWg%UjV96o+t`5iakUu!}rl|cbP+&bNtNrEmIVh9-73DNTj z*i*>4yRA?(;|8@g`@WDyz>hvGTmToT^LOkg=AY9ttYn?=F=xl+?WKGE}a-j`ZW4M!ff1_vz|>R>`MQ+VKxn^B*doCCohi$|7MaMo(5Xp_m(*H*5{s8=6pf24nn8F1XxCse;!E z7%Yq+9}2_a@nO^JP^wM=6+k45P^loX!Y9n%V+3-jP07U!z1)~0MMh?PE#mK$Ag&3n ziee_k*0;e{8J-puJ#BKJi8!!?g8HH{EpHSa0p^HmwD~&%KaGM|dDS)JMEYoaFr!3! z7!5oKBq$6}-jnS_0d1>djpAhq@JCJ|kkU@V08tWp=`_ z(QIP(@L20z;}ET8oN>aIQ0?_u`6h!%$&jecc(3FMyWCcuN}y3$Z&_Av&alI?tRM)K z3<=Q0337m+DH*P*0Pli`K_}h^CQ}I*c5G1)jF3&x=QnC8wkVU~lMJFLQ3kzF>fLM7 zy>Z&(ysWn^D={L$T_w(TVT%?Eh;a_KI-YH~sAi57lkyqN>ACPWNx*A|BjHV8g=L`$ zxJacL5`Zv0!$H(5kylX>Wg{Xc@jR-} z6m;J%*MEy}Q@@Am5f+$5_X>y03Z6FmtySUW4C#$?u|Coo#NK^%>ms%`ai!jxCP~HF#dBV!_gtr3aMv9(SzWIBSPu z6}=HKDuG)Xb5p7*kF-LpNNk+e2qkQVQ6SZh)dV_L%7VPhX=I#>tFoag;sVbK(c;Zk zHrnh{#^6EZ-G&4(oq9%HY%LS1gJdyCW4?jL7)uaBC>T^BC6#A#^h*9-kMw9ItF(hY zrzn8YVD6`YYE{wQq8`rQxw``IgFc0p1wd&+IXJm&f@ToytcmE!l5WSuPa>q*sjkXLfCK z@aU~o(c4o+2myun*!bWsOwUXkpGg8U{P{sZJ>qrO5hxqH_DZ+@R}z&)43wqF1O>cM z!>{%jXFOBR*b`t_-;oEpoDNfgnnngid+m2*%@u;KQ5<>KDiBiG{`f{**Qj7^V>(TF zdb52Rfxr^HRY0$_{0atPjybBsd~IKMCpO*ov&V!QyxQA` zWrrW5{%rjN+c7ycgHRYj5rIdi7znijU1UK{{*3HL%A35Y7zffmct}_~NPlux86XDI zxe-=B+ww>YHYlt9p1lUiZ`xF`1lZ$svUnu_S7(HBMg>uUSb=7RyR?hHX8g5E#nw6( z-_XEm6qJ)v|65?5Y_we5{K}?7jXul3z@}*K9%>}nCBilxd5}_ImN|CG&jqUlj8Vxb zK+eVI%VWW+xGkt~XJEaE$%vA)V9=UX{$!cMeu>fho5!j1mS<~ZdD0Zkk2RX;V_$5Q z6_8=ao?%>n%iZO-op9VSSh;%X!@kz8y=OQ6r)Kc|8}G!|zH=jr zV)lMkDiyry6)(Y)pZ*;5&6NX>=pz6a9o~a_eYO!&QP@u5~3yO125D>(kp)Yk9TLe%pr4J6ePsfyxRff(EFgEET#gmclrzqBE^zc_n)z z&x8Ry4l!d(2`0=zKM$nlv+5YY97zuZ4o3d`g;SYD}w1#hFW2Tj+60nKDKo@8K zlxsVjs}1#e<#~9MB);*+i=GF;u3#Pb+YRc9-j)ojP|`$ zMu2>Gj2u}A512|B|;+KxI$gd7m(A`n>^ zJksHlL?F0SFU`K&DPlJTzO%x-NQ38Wdjo6Y!Wru;3-pW$3Q6|z#4?jdNnkxBelOBr zuhu!fm%*NBY5ku5z8;)@(y{2NRZHdfiDI2#VcNoYIXLdZ_G^Lm*4p+#`o<$pvOOcouj9J5UY+k z87}KA5xe$|U}|~_&7x^+q#11WiEL7>@E)r;aImd1EKrjD4S^`YiZ^>RkixP`kw3qP z{hiHp5R_JDm=3okd6od8ube_qON|wPZSG$AF{;nVnW0KVB|GzgWsj^ zW|wdh34{kDIFl2|6=36H&uS+;#^v|Qz$i0Niwkn8u&|y(AP!`be`XLX$_p~+qDlI` zt1(sBe)OS8G?P4e;o{F1J=09>Ruayi(PN7*t^bshm*A zRajinY-0W9o!Gi_FG2{&^BfmE^LY=u70PG>_?Iuf2ivyq1OTj9z6|FrItKH5d*ijP z^?5S~9J*i`{`lx;;q|}!QVb3bltB2qKY1no{F7h7#x2_oUw&gf2@adK?!@Q5dM);i zO_b+#=$h4d$)#_{!g+Ib!2j#9emk&!TkD_gf9L;gr+*h;`|BQc01s|i3-4#|=|Mw- zEhRXSyXsjY>#}ldmV&#w~ zVhajK0HH+;uqBz?`!fS9fd(mD1zLDug>@OEZZNFzSU}KzHcCES=O3O0symq zCLkqcCl{$I#U35~FOPqx<3L;vw97aM)rmQr&1a&6uDRLszyta&xwYbZ=yg$;y&my!OkvlwH;)oEY453K) zS#^E6>3qUdkzB5+Nx<7IDp?NTUDh3}!HQ>F zi)I5GZn+-ysfh!&PM^y<`tM*8@*Jy=I~C7(-MjE_fAuFA-u3`??A(n%|MPcXU|Q`$-$`hK6*8Bm1+%3*Bphs zT7xg9000wH)7UpUfqK1xYONXFMJ z-2&P#P8J+Zq}g=`J76d?tX;TCwbIKH z3nCp_*NB;KRiydWDN$h&6|I@kq_!Io5RfcAK64TJ#>)JR8fEs9OpzN#;h};vrO%+{ z^~YdSh)1*A0c%Kr@=9R@I#(wO|MoR-BK*t>A%)S<@N-+lg_X3B;Sp{1{E;d%G&^=O zvWS+2S=l^gUEXzBL{~cAwyn=Fx_=Tsxbb$()EjWlVZnkSoc^TeV1D)CU1#sOZ3n(_ z)xV)A3S?P^i_d!sjv88tJgXS*q(cZzxR&B}&Cp`};o%pc`l1Rx^VKUcF)@kp$!UDy z8$UoL&+)cbUyRiUFV#NI>ON%{o0!DE|L~W%>9%#P$H}2qtKxO9xeSjx?ufYp@z(^q z+mGt*-GDDViXx!VEYN5ax{*_sT=E$g??MRZ>+i+RT{)Ju1{EH600Ke%zHs{YPfY>a zwr)lU0hx1Hv|s>v#>!|xQnkUXK%svsa4I)I@{EX1KnK%Wwqk6X;5E=Fe@`0-msS^2 z;aY+-a?i<)z14M;;%an1Yn@g`lV_<(A119cvHy5dwDS0L7B&C1YK~=#I>A!A_Ksqv z-k?yk_Bqmonzc{x+RT=1LD)%^-p_!}rU(g@rUYPGYj2b@VC-cGo!=XIorl&R`Iw-| zDxGPuATkXe8iw`&03ZNKL_t(o5$h^?-&W^gOp7TsWJdccv>&*d3IpJqIt<*=GcD^$ z%Zg0ZpAON~qf1$Xu{X8>$S5lqsl;X=S4;qu*Ps2AEwF`xEqM=DxinUm3lU1rvb+(` zrX;dd-P{x;4PXjAA~J@1kc>jX#kDBOw!Cv~%JWSK3>aWjA|K8+3KS-v5l|dD*VRFT z{DEx*o!G-ueS$N5f zK}qYN>`7$mA(W^`?xPG^r`8p8o?rFf2H+{*SvlQe zk{Jo_`pC=QX`&#cEI?TSO??Y!YSblyQx$0@-l1q8WJ{eaP0*MVCKlnt&zJ?^qYH3u zyr02$0oxr-`VfX;64MqA5cdvo_^LsOL?o)7+E}z;0nR$@WZb{`!Pe<{Z2093n3>oQ zzis^10@BaI>DCREF0e3h6 zhaI^H&%XE~j%rLgfdLT7k|Mw^4tlvzccxlwU*oEaOB5jIwSEsbrlpO;jb%g`^A zl`V|I%2Efw@WGSnUsR z*PQecM4M8s7BKA?LMmuW0`i8cOL-9I#y;&HB8*O`Z-X_h2AEbA3IwtW#LNi4az<@5 z`{&ha70VaTFLPFgN5@+kD-x7##{0S?f0e?MEGneZ)Hie;QmUs5O@f#{#W~esSpp0} zqDHb*!92A^>$`6xvL!?-#`jT zr@glo$d{^38H_0q=fW5^ai<780mtDyrGC zL|$`Rw>ePMS%HWyK>}ss*@3P_hu&rpe%;+ z+BA*l3rJ5eP`IP{+)}`1+5a>($r6f$Uo@znAd3;HP!E<`yvt+-C@j*v7tR2^L&6q~ z_j<2;)j;+-uq-k|d~VX_F<76=@^|mHCR>xwd@l_UAKh}5taZ7Y)oBWFx9S>s|5FnS zsb|%CHa!Lh`f&c)XP{Q?sE77#-;DjkyU?spACR^D90>m3cvO3Oankvh;KJ8jj=p&d z;JwFv>o(#&?|v(8{`tKKbC>9VJLcDbOJ4kkSh#ROYYh&#=O@=-_vZBnbQr*|bM*8N zVn~EzHk$=*zWqK-&&=rJpEs(=yO_XJ#q6TXXlFOZ6md}zjaNy~vT1BS;`hh~EK>4j zh!yAZ=NCrdXKjiZg)?Tfp&P*;k*An9iWS=A0tHseqCyoU0&pxpe`54esS02;PR6}) z^bAD))ud9g{6Lj*Tn5n?)-AG0QXyJgh~`N99FkXcpz9ie@TA<}z#v&9w}A{tii!|o z&_sn+3ytZo{{~^F4$R;GDxn zPkSnkpT7c?taCqt2=obRv^K!CuK&vUi}1Q5o{IPW-s`Yr@uFD}b-Io#zx@+@_;Xib z^Y-D{FlS{e;IVIX0^hji#{bLSdxpt%U00&(+*{ST8$hFx0fHG!U;>jQ29XpMNd-%^ zM9Cs0(vl_FewOoiek-t?Az4%S)>SdeIGv}G`g$qJ@=fw*IIim?A+ZZbQdjLfS>=xU&nDLFPIO* zECavy0mH+<)@{=m9ht=V_+-5Qh1~XJRA1+4I*Ehb8qfdu#59KY=cN`YSsgfhWCS4q zN#Yvo$FcG%MP%#1$}MH>B=$1}JX&CjrLdA#Oexu*I7Gq31*qp>=TU_A^-*LTHNXYQ zX$Ai=xy;~1DDi>zdjF0<*%tk)JKK54UI&m(`2o@<7`Cpu@ETGRBR+Ru>eINw$lKSDL%eNfrDg07F~(% zH`FstL{C(!(-|%&s!G?4FF7x)^V&GilpUvkf&Smf{)yIvi|-A@^P|FY%lxj({O-#v zv=~4xBUmiucNt-n6PTUbBv`bs0@$SWiIP;zEBK1)Yu73)tu5&eB_ab#_3 z63;*NFzU1OAo%#m>`3ydE^V{*yU;hqj^Oxvl_kgTF ze?4A*^_9(!SFo{W#J*Ls^wzD2$XbI=o2@7&hUGq!%vNc=DN^Q3G-ZJ<0WpSOI03Rf9V_Ako?@bh~j_-}}9$_Wji^G={;*L}i1t@A2xLjnH6&^|X z!EXjN1>ImOUvg0d%5m4IVS`fOD)kW;9fj(zgmmEo+ldC*ngW24QqSrFrN$&{ffks; zeuYsZ6UYOR6g9G0EL5LV1Qyl|jsX3nq;Q1r6?Npb*)HNo$EWa}yC25PY{Lp=(ZU6| z;tlV^K*vkBw~l4Nt^fQN*th=xLI@aIJcw&oo{Pbr{(@``Vx5KH;am#m5`^Hz-#6~T zKvyr`y7GK{;@vl6`Ld;O&LPWleD$^m@n>K77WN%HsyzC$EW?vqcHxWPxCdF@xaVn_ z;vH{&BQAa2JJBU410F^XBrIOgsTeN@52^4PF9D@&$G%L zjbLi1!)303AkPYWjfz&bx%35^YpF07~4HrrBcPpC5zyk zgL4kGdWKqk7WJ%7q;Ia3eUcz|RcLjv6@uv7_)ZT*-P* z=#1xV7fHr|)|E9P4_dQ`KT}b2iE|=Sp^Ly)Wf$P|L_`!GNMwg3$qTik0Hc-Pd@!tj z5C@h!@^UZgIJWF#%L#8hld=Y(vHBoXkPK)lkW>;st@F7Kb22WJDIKZS<}fx6jbrOX z>Fdqc5_w4to)EAkgJ3N$b^@FN2gfGy8UlN1GngdTd`{m-sAG95K>^@~)f7TI!vTpg zUEpcIEwem;COMreQ6Y!eKRBB3g|P-<{9ms1N_;QaPR1G82!*JG>t#px7_h?FqqI=;Zeyw9=u{@YQTnR;2eBg})~KZe(WB`a|C z2Y(IM-13{~9#{nLJ)ZgDR{X}Ve+=LH`nTq-QC?=R#eKl_H+&QW1N{ggz~?zO-SKsd z4DW`wLL!fmS7%Qjjz9b2LJ1B4J9iIbVsaXJR!3yZAk_mB_>92DoQfwZnkCT42P3P$ z*mE=j-)U^CEP+}5ofWnS4b-wi*c$bfBU#GQgIIc*BF?~`ygq>rGsnSQ&>*x*JGYd4 zT;!8lf&(d|>mWmRWC4;>!IJCZgFU6A@j9yjgW>&3;fYqDRZ-CJNMu0dgUyYyb7b$4 zlf6K0fCjz|ibX|cViOx2#%iklE%x6VQAJ33(exW6Q=!Hr zg36@^LB)1J(r=LfHq}5U+S`@JJa_Fsh&wkvT@-ESo_!`(uUY<*7C*b5tK;im{|d4! zLy{zT)77uVSqoO7l2)4UGY(S?&2`}f@X}I|JC|TlcOQOw%|-an@BT1WEN_@ePfpL` zPrvjX{LY{L19t5@T!4-TkBsB9U;Taq9B;l(IDQR2^b4QF(#7*YD^w72N_A6N40L6Q~p8li0dtB6^SY*$GTeO*cXCwBZL{On%T= z%+IQGG=3|=3kk+hP-X;jC5RQo6d)Ik>8H?&Cx^(xvH(aD0_$4Mw>%dT4N@rLIw7Fl zvdiLoWPlH#CP9waiVblMtJK0` z8iMzj;0+Rkvqogyl@kDJ*rNpk%L7emxFo)A=4Y2bKgEw^|EARHi3kPeIyD&9LWlwN zsKye#M#~RBx?Vi}DE94Qa!!1m5=DS|AiRJI8L$IF$r>{1-JAguOaFB%$B3s5jUG`= zh8UR?!Sb{>2$jgn5(en!iL9`^(DV5E$h|X~iVns)P7G@g7ZVODKY%Qe$^c?hEzAU% zi%CZ_j|g@z5UjP#)}aZ?{lyKnJCj$=QYMFz{nk*62g)E(lSM%X)rMdbZsz?2N=0v~ z$9J)%kh%xZlO9|@25*1gKv@Ek_zgZLWtgn7@DI}_1~j3e*U!R%eq3?!`AC{|Ob7wH zo_++=ycL5lF9MODI6V}My+o6cPe$K zgJOQA@;S145C<%eimHIA#4h3jsmRq>pVQ!isc3a`AN+iPFhI^Auo)uh;|4wQnsZvA zEeoO$VlX&TAUF!NF-G~+Xf+qT5CyLAxDIth9)txjk{TY*JmSg4Ej2C-$`(qYJO)mp zVx8BTQ3R@K1OjkEy`*@sKw+a;QlNiAYNmvmK~}4=Cmn+|KosZ&V@y#IJr+>_0#b6r zk5Pn>1tX*~u=gx%g2J(1X-R0Ar8H6=dR&|}6}H8?V+Cy>rGDez)oZhOYRfL{J#Z8u z1f*$-x4rY`m(&U+1F-SFZ)4l`=ir<}e}5mYU3DG?dj?41oe03&iRGNB=ebpg0zhwP z7p_@;7XHIKZ^W{tOW>Tt%xoQh`}MoF2DQ55q(Q_};n~7~UVSb?YQ1CZ@Gdb^+Ao?R`r6@vA+;A-3`fu?2>&Q`I4D z9?}9_*t@r`)ZkgYhUw|XC~BG}NGnz0UCiE^x%LhY5-cLyg_b3eQra=OX{dFX=qyxx zDdI3*BJ`B<+feis9;lRKpr$`a!Crv(Sqy9hwn}4_wI`C*0KrUUc|{O*jdj!2QN=)C zFVeK}{=D}%GCI*zg7b?2BvxEUqw8X=IkNJSAZ#e{Ay!ITafV6NGUq`A&M1-AA&CKa zTjw6c1W=-hO%p&A%IyL`CEz#;jg-V_Ya%bxfHl`gNks!Ps^+pLxj6HLfT9RwayD^m zg-yDI&QPgh^agNF;3*6-f&^PRESv!l$DZ&;9qdS@sz7LiBrJYb4RZ#+I|J}CJ*$1J zC@(%s0^1HFDXBYX0)&Hsc^XpI%&NxqYWhk)2lNcMir61R2@os5V+r;t!h{4ej-G3! zq_-5WmNMGKdrt@k=$h)xdk!{H4FVny2_2^Rv@!8LQ33uH2*o$%vm#qM9c;AQ7 z)z#TJy0bbS`SzDFc4&XYZ}k{_rIjlBhnAzOccA#QT0O(2&D$_NGiww|N!*kL9=QdD zo0N@!8G)4?1QiT#tD^a$jhul!spwWrv5!5+BJggG6!qZsIGJ;?O5OTiQL;BRX0D_m zC>nuW|LiCU-N#^hp|k@vzT8Z37%1Cp5G&2Vr3n;RN(<&~=PtrI$&!Q>6hVfwvci!Sb)h75DxuHLKDbnvIu5~dag$sWPSVrX5iw*1Ux9o% zon6pLGAmdXEg-PQ8;uJ$F=A{Si9w=)lwF?2VnIqUVNcP#Pe(>4aN9kPVP>`g3N9I1 zjEgS44*f47(tBtO_@^)b4@^(bz&VEt&N~~Y^{+rBsi@EHoGU=_78oAnXf%^X&1=4} zyASU^?jn5h-M3)*vLyh3*;;Lr&_~xCD<1haHyBHmxYJSgvv(7jTZ+XYZ z&{v(WEw=6jhKD`2ZXIv?eM^;NsG}VoC@rSy1~BGJ&N^u+(j*#HE(4vBEuhdjOifK= z|GpZw?rDMGbxhC9z&W5=NtLI3@k}RGy*De{k1{Y(3>pv78Z99{Jz5e7Na;DNl1Eg?(mt&*mkb@j4KBf+B(5!-ah*BGgflwA93Y{yhyoXb`qs3gX(8bWK(j;(7I!Ir6cFkAXG@$yfi!s6}D@D+dP$^2tw$|a0R+r zxm*n9meosat(lj6uAuv{;{N1@AR!p`l#)Pqac|cmX(N#vlXUE1UZTPd2H0+WZI3UW~Syr@cEa1^)FtAD{uTb z-u`R<1w(62f=d#NjE>>+fA>}V%nfhAAOFFB#oj~n*Xc)nP2|AW{^>S+@P;e#^FMzJ ze)~5+gx&jp{6DuFz~!%d56(DkT>(z)+x9eeJ@xR*^1=U6U!C2(7+QToyG_YG?tk=$ zn61_50JaV|qrg(5%T|CTv(C^U7!qPiy>Z|<8(faY*U@gO8DMr?q{-1;h;c;GwDD-5 z0<2I1B9nqaDc8OIb&)!P8kbUELc`nK3er&?iq8HSrVp$$3M;EX1nhC=V1V}wgy->8 zfdpn{Vd*Gnt_WwN03av5WSs`k<$aF8|JG+sRckn3ge)xyY z(7*&2U2q;&uU-6-g+2xVTb_9y_doauLI~*SsNyYWT#TWf1%+2|L*1P#&+ia;-LM6P zzNXzBJ$TcKbMYVEbt9H88A1pF(=#>v^BoW4H~-t0@ZhGcg?hZdzYo9oi@%H$)-8EO z7ld2)0?+ON_V3FvK0ZNfzoHf2#k1}W0Mi?1n?-~MF=ZqFqlp&f5#3nx6O*$T9&RYY zYqe=i2|JV|5$Bz&G~TbT$I8u+w*v%K$Zjg8Do8OciOC3H1)a@K@0+rzXTm_LCnH5| zF#Ihk!$3{>NFU9ly=OQAvlVa+(X?CMs>0Gko-a|eNJM|(&D~fpl{7)Mk~Y0G1NI*p zLp}2bkO3Xa2*cmAP}g%SC+{7N@VD%6EVY^A@$Ne03r^?Yvoy*pU8LCR9DJHt?r?71q?s;K$E0VA4~6pfmB`>QaK$+{G%o~ zB{3ucXgMM5<{$>jreQ4AJgent9at8d>KQQ<=q9mL77z^sCkeDJ4B{=Cq6;Oph(qi- z@8f+gaCQUV3w_2e9O%P_vrZErc#f?b@51cV#LLbXd>#aUF@VILKAiu?cjG<(=bvNU z#aB1RRRL^%b{l@{6Q96)-*E~4`mg>PJN9Iloxfb>YYM>k@7{!u|Ll$Uz)kPO<4-(= z>FF8l+dqs$!+T$p_poMdiW_dY36)9(&NeJ7IOIk|A zfJdI*imB-ue3rrV^HUrD3ys+U<(|i|58hxYCQ8PoxX3U;S09hxg+PS@phnoGLRgJ9 z$zn7yKz%EihKl!Kc)6-V#PI5j7=OMt1Twe;<*Ei|zlA4X$c_8tbn&H{8m|x1NC6|7 z{-U{~295mKO&)x^zD zD15K0)e7G7_77s=!k2D89jgJifAcdqeB>ycb6Bx_87^9M61uBZ3d3xv!4spPm-}Bz z*S&2yG1%RWx2-r2zxA&7WA&;P1$n!3&jHl4b{OUxUv~wre#-~Z`wFfG8|v>2+qaEj zVseI>;Z%?`3E~jv1lsDOb)Qn>xo{fX42I$mxp8i!VBh8OiCGNqujA1t_o7y7SZZ`s zQ&iGK01;Ue#81f9Kmc?|OU~S&pEn6$1tTOYnyAVUD{dtaE5O>8!e08P%4S;nhX6EMmJ=tfGoS!JD;hj9vqb_;r1&;a+WO2cLF~<)G(6kWq-Ycm9vy4^TB)2x z2w(AD$rn};&Us8c2TMIG_TI?a!fN(Yx(7*Hsjnua7%;W0BoGrLY^h>}Myo*V=Ck7K z2B^V5H$go4K=uc%Gtbww!du?k0>~#XZ53Ebxh}y-eUggx;9*WOILlUnfeL#5A_X7? zt44x?79dwe`2=5HQin?*&6C2MeTJC?19Z@+P$RRix0;q?zi+vhBr#zaflEOE z=Aon?4fK457a%Pp5$)ss(j*<+9K-;V55d3z%6fMzQ|(9WL!)~*m)$F8CRjL*(oSdq z03ZNKL_t&z1K^E+Gtk$It6qH}s+IOg?ZM}^U~2RTylL+?4}!nqU)9booONU;Smg_Z=7EkACm}#-p2dVP^i4!2{TH82G1ux(z?~ z-s^G0_1EBYpZ}6lY3(0AfZzVLpTW0pz3<0<&AI?w{gxZCYUPS%;}Wp*@%wRj&ram^ z+A#`(_u}}oFF~5NH@m$D4r6qD0`=Tt4*}bkjJ=J6@o&5VXj_McH^2tyg7O9Z$C5c3 z|DZj!6_}eC;4=G{!YGPE$)QDsg?Wvjfzd(%`a;R)&_$L6^dof%V6*EG00?=Bb6}Wt z-2;U@Ij2DgS-3mHXOq=YPJH&rD?aFEgGV4$b0&S=JYrRQhzmIdMpD70)P+_N!Af#3 zRG=jVm8I&jlO1HE*Zl4m%JH0FX4W=XLnWvVmjw=^{X$zitYgNm~e)2mOM6DQOskhEpSwgMRSwf+Slqvlj|`)J_VoGF*{pB2mxK4Ra8=X zRwdXGjoRh{7-8U;m2xn^4YZ%#NJUHI!3D^jY4E=VI=1}BWy34;98CKyxzGE!@#Zn* z0+5#bi4Gvu`#uF(@qWWr8Ojzdi$?L&v_(=h1O=nxQ}8}7xpukXYw835%h?G|5TLyO zdjr^$9@|MAU@8H8$Z0qBy(XZuAQDmnx)N>I<{Sae6ga2AN>+)(AX%INd@~3^wU|^@ ztLH8;2xMrh2DbWB)-9g=stxaPMfAur7kUqq&!{s3{2~z1sCArC|5@ReD({3; z!GS%Wsn!o1dY-@zZsfj*KTn;+25C%OsBmNgEY~~Y>Q|y15&*KBnJZ0LwwFydvxSokCJ{n zlmOT$0kGNX#u6G@q|6IFD<%6>bd4J8v#YZc=bgC@y*=HZg;^1>zQJ;Nzp_lU@ z_>1^*&SB~Cr{XQY@VmI__rHJ*Z+Z`U7Y!i*n4Fr%gAYHB-~PWoiEH0@A>MuM>+xrQ z@+Y|Wfv0g`R3G=R1n_(Fjv4&P|M$mu|4&_t4}9QV_`5HE4Z{ZyA;4i^XgQXha2l$e zU6`%aaoZht;->e%6~Fx9Tkyye!}xJJbgwynF|N7#$^uN7965~VHa&pZsflBjyjgnu zsi=1K6l-{DdKO!r+k@HJ8uUmpjT}bIB99Jb1~3^=?tfgS*5D>5Hwqvi_U%ky2bZ-D z+}s$=o9lppKBS`qhQUH_0PH2fTO2wWvHi&$?~y#KBab-4Z=HRqBQUP4m_R({YK{d$ ztDks`ERa$t_}JG>j$}KwDk<|;6valQe)C4L%Hw3tAU8;<(ozOWk4dShk+wIk0_}gv zz`OLh&NR6Yfit3!mSedt(H1faFles1$VXK)zh(g(O2&B&@I8e1xp1!Jxe)ii1(vZ= z#91~4AdnRS6_r>D|%nDy>u49eRqBho1fhV0O;-Q!Bxx7#KP`A zMC!@Xa4c@;td2+)=aybp-?5D+juJ%f7I*c-aLI#8)3 zu@|iJ&xPKf1@(UN_ z1d@`P(rKWS>%!J_1)n*^{YY)#OA-kdNFRdm5@+!N{oZG>cQ}JlY)RmZF?T+@74cN& zwJilL;(Iz*0&=;M`YwyZ!=upFoSt7Mv4T;5F~LW6DIvH0+_`5dh(ii@R{@z8Q0_@N zYyf0jPe}_QbzTG_0r~v*h7f^)E}mTS`ZLSyqJp&ZF=?XK69c9mcCG}B`riNprO<)T zKk1>ZK7)96m7s^a|J10deF>3}7~b|J#Gpw6Ar6RdN0 zRV2|7f+pi+ol%f4D#Mip zyCNnuoU=)>2-~ngc*AzZ1gj0(tZ4r=vb*^G2FuQma+?e+!BrA0U$Pi$S1oVTC0QLi z9>4EpXAfM#{OctF7EihGwODh;25f)y9z66fU%;~u+<}Rshmd6%_6;AzH@fLKe!ZUUjAlWc-_xnU}!n+{-1x2`@i;C%uY?f>(BfRZoB<^xaH1E5C$lH{)~RW>dmPz?eAgy9tq8;DQ`fCa|N@zRvO-syt5 zsg{fn7z^}fpoz!hrH`3>Pf5uEmKxwagX<;AX5Elew2o;WMJUNW9`MI4H zIz+{yR8ti|N~)8vxq#sYPpZ)(Rk(`*|0txiLg8zcb%%AZCq@wgagQ8gYZIxg7wbV; zx|B5Ps?g)GmQ*)hYP7WVxv5Z8L{g3@D5$j1NlKal^8a^-d z$(hH`hVmHpuvG~j2xVi_?awehJ%de~pU1v~BLIMojw-Hs^Nm=v=%w3B4;%vi;Y)wk zBoBde&N>}u46H;oO%2e?l@Mr-2$uxP`&9v%NwG}!OdiF*e)qem*W2szk_*qnTd)6l z40OIS0dVhu?c2wU#!T$J?ByB=kdk40#UALIw@UgN6X93<8J}56dp{5CgP-aBHF#vT zX-teAL7q3B$^PChq)96~p&EMxLx9+={nCl^r~oeO`q?km8E=!$*kdf>Kw5-=!V+oJ zJ_^Ka{W&y|2x+B~8K1R+*e6-M*8o`ITRsQIrYhJwvJhDgc<)L86$#n^NfOYJ<~VL> z3_YD0ka7@sf=Zew5PWia7P&727zAjlKtHe7Rq@t?CYaTE?{(u_1dujsmJmceCP(HO zEbs=I%>kkb*=)!?s{-v|Dz9l>pJVd-M8T?viCrhpY;oOPYSdLc?c_B%1F^msSXH?% z@~pG6NW`Rr3id7`uBFo6XL|ZTotXi)Z3+2Mkb!SjZ&i9F`a%P)Kx$Nn&};oQnfhor9gV1lW_x7O|Ar&t(*H=(L)i*KY`b^BVMx zEcig{CKx@nwWm7RVyU@^BrBNN$Vw>cT;uswfxXs*L!kQwy_W|H3YF`=SZ|gkrraZ7 z{0!qPu_nEuklWl2fHqa+FrMWQ2a1~{K8!Ohr_bJA*ZsY{xbU1a@xgw&s8JE5hC!Y5j?A!Vjp1%8Ac=FC~V0g!7)MuxW=Q)NC9KwNv zhjI74523U3zhmW!WjN=o)A5?iuEMz&ycWw>os1Q$7h+-8%kT3~0ocFCW6RSI;Cr`y z1-IRH8#Zs*R)jn?_L~&_gG+G64}9=rxcV(0z;Ubo{T6x(;LP)0i&IWI5sz(p5&*Do+tV03 zxDSIXjzd~K_B3@JT|HQR+PN6s@k4|V;C;Y@o1VqQ)C`v7c|+b*9HxObT^jKWnXr!V zaWfzrBxe+o3UCj4gpM1rC{)iAsLbXw7+JO<|qOhbvvCs1?mi~uUDIQ3Kj2cw|pNRiKLD=MC3u^5a7uWal%(Sbv%m;-$-3&2K6acmVzi2?45H6?*S_C*2n1poTFn?_|6X=D-^OriwAMe1y{XfRwx0$gZJEx zdmnfh-g|U*cHr8xUyUW*1Ej1C2B{UG{P=m_iahc4Gk3uS49CCeb1leQ~=~V#SP6OW{@=yX=p$271 z)cl%SZ3dHL&m(JkybmtuMOSARft>Ojsu0K&1R2M+7Dgbj%5caim^d-cC9#JqC0SrPg*}s4xo8p{9nApC5Rf>B&W?69I$Nv5`#{e&M9nZq!(6N#-(GKg z?+Op^x>yquh>(PKMvD9tk$0*BfxO}8EY}>6DHnzV^CBTjnUXg*_FKe)1xrAIP+p%z z_rn|F3I0r0$f*pnPHbSTG%PhCf+(eXm)POr@_8w~F4sgy^d5r^{06ZvsJ@HpGsj{Y z3&adWSd#cj`QOVkETPYq%prV%-Lsg%f%27?e4i3^zmo!ugl;F*5pr)W&L`Nwa@1=i zWZmRodRbc&UeS~`h-l`%wyb|3QZt%3D$Bq^N$(}Eb8hrAq2wMpLrBB@3a!iHTuE%p z9r-n;_#tQknF5842?5YPWRW3}XoV*RN@`9;0?_*{#SWm)flvZ`tD2ZR;lPEEjP^_LA6HV=aTgn;2EoO20IIOh^v@!ns+j!pOD>ASy$ ztsC#c;XON1pPh#H9#d1(*tY#SY}@`EzVFZ9y`R8AN^EO55MD{{-IM$pGxyF@dKayBj~a^Ivh--FIXA&gU^cK7l;XizYp-RIzaRYMgcX zTX5bRuE(l%XQR7cCz>r>wi>Vdz^~!>^%voezxhLKd-!hDXQwecTf_YiK8(jUeGC_W z@l&|@L%)Q}UUxm#EdTfM|5>)8ifgX92AiII8hM^$YV;^}J@Y75oO~vF77QM9>$9`B zA19uFDIUG`E6AIn2iuZd@WpR^vj|VDR4RD)yRO5l zuDTA#;6T|60^r^Q<74B(kDCK>TZ&CN`H&Du4zUjfr>!N*{Sm_$3_dzLYPAY>9qGZ;bQPJez@hEW?279o!lVP|k{I?* z614RJBNKfXovLDS{|r_SP5=pzBo0+!Ni_abD(xac#w*`P}NuT z_lmq*oefM!b&LRni=Qi}o|IU)x59Ft+l%F=_TdrCn^M|(I(pkk=zxh^y( zEcxDB1cznokZ2-Pk*|oY$IReW2K<~YCXv8-u^%N=BS^A~NCWkLq#%Z^EKAh5QTV$Q zh%w<&mJ485X!1RiXSXXO5QuDIyA{V)rj|{QmCs-iKjOTVlj5dSgQr^O@_Q#>K2T6G zTP~?ymxyPp77T`fE2?h@3sBECjEUV4E70Y%LEwoRo&?|tt<;!85Z6(O3D^RUrXzw! zS7#SaKluc7cXgsxZ|r@ulj9f}-i@KvC(eW5^RIu~t8Z`#*1z^ToOQ*um^g9(yEi|M zEf0JTTQ=T_gU@Zj^!O-zp22&M@$m_ajg4dHbGz{E+wMfQ`bX&N?Zwd0AdWw7HP)TF z4riXd0VkZa9t#&OMORNhsvTYE8yLXg68zXyaWw!VW5CGaDNIj|V{&2ydv|Td#s|KS zjT;}r*6llS;NT(DYIS(ue#l&spu2AYR5i}C{;z%p!#g&^=NYD^rt$r|@5KWfAHjL&`~hyf>BD&a+it<}%m4p2c5V`eg}&sl&X zD`;KQXEl$3=t$umNEI)vA_@jOw^h{gYnb_!AgBsg%yi+WM#*I3%c?-3#)^OeYL1kW zF2n_YFqr=6*H)p$Udhm&+X|qSsy3;nGCT>3`w7EeH_^qR47ua?Y>n#`@1+S`M4!)5 z6P%Eefj!=v#d=Z|?}w%tTA#&HVd%(X)g^HwrPgJt1IZj)({K}6rc4huux1sL+_0#o z7m)&DYI+)vJiQ(J4+$%jx4aLFUZSlz190D6_u~6^-B*kWzVXsav9@n9lEer{Q@+Ki zR%oi`${Pes5bFv!I5~<>J#`!Q?LW}`GKbUForIe|^4l0%_{syo4<5)cIyNQFB@kFG zg8d2rmG|@3T1*AlB}al&nu0Q zMR!*x?RQp)s#J6H_YKCrD#wE9YCl8aB$#k4V3I#2@xO80D<)$7kmW=NBS_ES8>vkBS;d5uFk3e z!J9R3LA+$z#*MvcqjS>7#Dx#8wjWn?5c5RfFMU5e|Plh`ArYe%)Ns&U8*TzT7)I$bKH z8OY~7A+XIvqHC#;+hhaV1s0PBKAx70LS((J#jF5Ro<8JyAj$-4ojDZ(yj(1Z39RU3 z3lOqFi~xGJ+oQji&u9p?h)JzyCTtSJrh)5!Ry9kzFaf-`NRN;hHKXj~tmg>vL>*Y1 zMDJUYD{At|m8>~=Z&RZmLYz*gDJFl6xTwh)4YV zMEg@FdbbzwxsGgM!VB~m*3@swxf;sCP377z3jnpe`Q^U@;^{J(4PdPqQS*l+CN-mT z&(oP7jM~8j^(kzB>|X48>R}um-rX2I$TNfxP^;B(q&9-1BcphB z%XZv)`&~%W&!AeZpu4LJy}dnHuwVd-7W89i@nWo4xdO{qtj6*c$6?8mRam%q8LAy! za1Kb43evRN41jFmM2*8H`1Z(Gp6BpB!|coq4h}zu?OUJ1_H94Ju3fvZ|G+^UI&=hM z;}e*gnnIQ}l-`A3kaKWJik^XmSbF?Ath?lDoOJ%BSaI^1=o?&uv{L<%u2qs&Ftqwa zT>8^Lhf^=Q68C=PQ+WKlU&YwrVT7iF{@(i^!p27)!&!g%$GGXH58;~YK8O=e?8U#u z4mAOA!l~!s__b^B#FNhe0CxZIG0aSky{x>De&o-aR?s)N1Phj~#LSM(g)jI$4?m4d z&p#b~eci?Z#|j|Yd@TT1`9KF98b#(F}`fGgFLp`hV0cP?5Ybwr|p zWlmg|2cc99OK?^d;IdFp1Q1hVQBf40>=B*B3X33{mP8-EJZcN$XL4f^HR7_Ul!aqz zcwQ#ug_Kz&8VW@<;w3>7B2RcKL5-OwrYD*TmT3ioA&Ko#R3j}LofLMex7STsDDg3r zioGDibf^dntQup0z);US0m8I^lOoKPLaCI}o!1`OKFIs78b=AzQ&Sar?Ips;kQ$ee zV`OX+x8MI1>RATo90nIH!Z{nRLhnly13r8N_|j+p9~>PS1pq8vGK4oSJrfJM`(hAQ zPGb}x4-r_AlF0~C1u#>u=btI*^3YY zDrt%}D+bY7t(4e~S>S>}Fovx8$B6+1HUkrtSFlAyO5!FdQHrqw(6S+*&o6y}qi{~C z_73XVsnrrZf4C3hlU;Ddb>VY5jYG_=;6c??I#PjE{HY*=!K08%8B(GY?;Q>TYLtalVAo&QUJ*z9#N0%=g4BLn5wYOawewO2RMESW13Q}n^0nR2!r^P9`!U4#Qye9*mDLe+%+iyUvu#u4Z9+BAM)7uo%`RA z$AD&Jvte1eP-tg#rd$5e1|e?NHx`i*2*@oX;}F}2$m?1P^n<2zPy#};S2hFEmSqy6 z+DYGIKzo|c6-HSGw!8Ar#rK2#%+(&_OL}a653U4L2{c{gOU@%_KktQr1Bfkm^m)}p_p-ec#c2XM*TKk%}_!sbEnmjwu!qJQx+^e7(YCW z!@GCj@SdI6{mi4-z4>t*-m?Q!qeoDinMP<9*17k{XJ#=oGmDYYG3?p9zpxx>f$d3> zAWah_Nz(jviX?GJlN3qQ>LN|kqLFU>-+K@5J+eGQy`CYQ@$7@&!}Qou zgb*-0Tf-xdJ%Oj5`8AyVh0oyqH~uW%^p1~W&1#4L-NB7TgWY)5#TVnrr+x?km>fNf znTfHNl^4?g&a1nBAy%DsE{1n(ZfvDK;NC}{Y50QsmST$=Ea=}$#xax}a&vhHM}<6t z$uI&e3U!?5wF(6?QHOt^>I5uJ7ZvJML~-ts!U{;fBo=M`iGUI5?|)1o<`kXaQd$fO_#&H0k&nE>44p7Nvs^FR#0 z1!D3n@+=L8XD)|uC77L^!J)%P;haNvR~1VK`%$f?G;(h#d?~v@Hl{pw%XU0gRsc^y zS+0`hh+`^%c(w~L)V}6<(EfjxIqW{vgOQ0Iz@^Q4RCpDeWIL$oBjVChv@3UUEUOhG2hrPqg&@GhUwR(mu_i>#PO2WgGe|)a*u>x&r|8^EA?gXJh=dd%z-b2=G z852z~ON$5vWJ&7=3(PP;mg3B#+zlTzk!*taP7^9Yf(x84k{E$y&LGc&Abu*^HqDV8 zj0-V1Z=O0Skv^e>+?V&%B3Xi6@2EN`(UXdSfNF~{SD8CxEdisxHuGdamL!%~!qF66 z>+e(8UgS<&Q3UZb0)c02EmMI0(154(plAQ(P-YQg_?icCjf(4Rk*SC+^jKUHO;cFl zC6loMw%wzwQ#0LL@mc1aEf$IP6$ZqO8rcdNl^(~^s*pib=VDd#T%OC(GsPa+p`>PN ziA;hGLUX^PCJwD>1`4GwrXhF@Npgb;I~FXFpeE{Z3=0-@*1}jX4yH;OCDSEJDBuj? zi7zj{EPEOy=AeBey0y|Cg~8fn4sh7nlTgv0QO<{Y8D8}WCF{@%t#ol;sO~SK0AZFUIT(}0O3tlcAn?R^E_g0B;Y;QOMabm?GYK5q^NXsqNBS9eG7*$wB{tN zKK)#*KK(o_KjAbiT)w6Vx%~Hh^(+{~x=XIc%2U^4=cWhn;Me~an;*ENq15&sv$Hik z^zdWY^yIJLOJDpfZocIg@Ve`6!kXpyk=1bv7XlYvd<8!Jxz8idb7ZwyOpP8veRk&9 z49D#5#mO5k$78qtW1(EyvU4wvj*esX@7ax ztjn=R7$8XN=LuDKlt4|Ox-*Jr=L|0|ZU88#gMoWaN(ZG_2kYRq*z80D`lTaTp4fA# z;**Ly=}T;dsEO~}`g++sN&wjMvn&*467bB+n`jOjiB!`t!bl7dSdERdB?1**6e9P}Tw@WxXQ;vP}>} zkjJ1pOg<~lvWm&X+Mx^qIXPC`f5V3vR@O+_+0XSS*J|uf&ZG8R50`|dMQa#3t46N1 zklRF@IRz5zb>WQbp#X5JUnr|Rtq^0w!#-HnFv34yPL-*;&?0U4+RAIv%xj2zb;&l) z3Y9c-iCQ&Jh3ZEbM56$}C9vJ95rU;u4HV)jYDAS=1j91Y#h_kGjAMd-BqD+V)N(MO z<6zf3wjnIF$*?Aesk2vk7cz(yCB!Y~-*~;}sL4=A`)MeDwjriRO+YlzG%96FnL&pJ zsir*sdCJAjvDSmJ-kec~hZhhA$Tb22`IC~oC9gs9K+_#oUsI6I2~AiKkyomW=lc_0 z;JTEpLl}R?zc!}3_&j?-@Y@;hi*jESnGg*1JPZOY*!Pw47J9n7aqgL?qFSk7X10-4 zGkNq7W+umw)obXO2f^oGFA6AL?ZCj$atsV5H)HKt7vi}m zAHqZb@&#z%_>j~j!+tAuA|Z55Q9EaO;UJtGWcl~I$k#m3Unp#MFnY6 z!Okh^QP`DiC`m0C2vAa?XsI2X#-LH*d1r;-r38u_RxnB#G)GXU1)N8Olhv@gl7`P9 zR04b0I#Ssu#(IDOI@J+*I)*?^A_QPU0KXc!b~rLRhTHFZ3bVBaa5T7RAvV0~P3V0I zygz0E-1GhK;(K@B*I1oNg7s&v!|LuusHPQ71ckD~mnS;1l6|0kO=s$}cx-GB{_&f) zBFnOZ4EWH^H)8#U3sA)?}k>TPHHqC*0UjinPT6{=xh;9u(G#le&51A zK{lszj4=xZ-R$%PrbjkoW@Z)uFtn&2JzX6_%`4P#O5r9$jjg7Po3o&a1C^8Ev@fu`Rwpa{G z=%LJBxbybr*hh+=PM2w=+zTY}bv91%5YqM`+4OTtLniy1-QYI4B<4A_5J z`f5itE8q8$5L~#n{e~nXoD~>IL4+#w&Ksb;H|k<(yA+IE7)R$Ti%&%TWcehkYcm(P z1G>Md4a6hU)?Z5b&igTazR1R?Lf3|Zf8wwca2{K;kCu)rD*XZdyz%zlXBoSsYxg_ZIn|k%~C*wU~>gwmir!#Wt%byg>$VLE}rn zZRnrbvM-T}m%`Q}p(f88g$VgMasyj5#MF4H@kBuRrI$5Nkt&>vr;7ObIigWAsSZ)V zdzl(S1dPd$D-PgN#aBrYUI0f{K`1@><&**!einfQ#Gz0Yu%GBgTzOfS*}fz+Hcw;M z(Hdq2eo2AY0?(Rf)S;sjxclK}3ib23XP=4HYgWD_Rw#S+0-yRHpDa}1&N)1`>1iCg zWDLh+sa<5M5WCb?en$7E{eK@k_D_u9(~o}_M@L4Rfr$V{v&K=&&M0N+22 z@rfC+X2s~W$_+>j;3AYX;}WEjmIKlwm{qkB5N#;}tFY}5#5ob!dgbcxr>7^dW6Oi^ zKEOF(?aIaI?y3sg1|K(iiU8(4NA5)xYLv40Y*154d8~d@{`Jn@dy0IEdJLFL@8KW; zYyy}IWqpF@4-eqzL??o;HtW;YHEiw^Eh3_|ze^C`c~Wii*~6b3@j1-RcJcWd-#1BI z0fILy1>65635-3MaseWuRH~evCM;UkGoh|Q>moqV8KJD10F+^@OR4BgjdjI!gRFNL z_y}$Cft=k%w_sL)uX|Qn*5cYmPvX z=vu(2vt9Wa>PU>CtoR7nj{c1Rh8zQSB_b6?_8CA`6dqb)%cRJD%kn7DdIaXSX>c*< zqoxMsJxfc#q{IN_^Aa%1n0jG58x^uA)%=OhKvDTFnE|v0L*45%I2SB{UQTiv`&bAz zp=7O5X928KJI-0tAr6Z!)>0aaJd_Z^%A(-C!V9YAL*9gRZ?TDvi_&yf)VFpj2_GZeM0(6gCnwy0fFDVs5SeY7R_2ZmDLO}PbCcy>7 zd1k?wx`3|f5}?1g6U!Da!r`N%4QGk0jy;5Ds2bh@{0{~1+OyV2gx()X|uo3Tk$J=n@hkgrZ zUvLt7O1@uhb_U-2!U85qD@c-KH*TzFU?J9=u>l8mK3gW3Yq$WTis5*w^I5k+7r?BvGwi!H(epOwDu%@LS|mxLohGAeC;UwsQmy zbBJ$=a@%oZF0Ltn#5r_!c2cfRjy$g;Nh-!YlY~W6@g7;HB-E%o+9TO+1&Ec!sowjg zwTbCnD=j!U=o(_erxJq$OkT*k&;n^>K1USRSwXoPIceV;p14370~0N!yt0c+#j{QT zRk0S?r`)#*g1}^!6&NSa?_4||i6G7cVk-j}K$P5OJQ1lRdQc!{fE_YUf$EOP7`3iw zia^%pCWs{`X*`ieL4@<>&{Jn+Ds(9z$uy8y?45yn2G}ZbRrdxRLLLFka{YQiaC+l; zbY$-ls4uZ*#enw&rh84}`s5k{^;;f3v^Nj`*?$%1BQyyYO^}2b{8rb8riCPF#Jvm)eazl3=-yH8FT6Jf z16-Eb0MfotzTc=m55}~}9KPMk;>qgYUnnrLgfNNntYBEa@QX!H9I9LvR*4uGSNk#% z^3E9(wa{Xvhy?Y9B~>t-W8}0R5Lqfk;i;(>L^;0aWTU9AQ`u)Ht5g+2tnD(pIy-U7 z3CH2-tvieNu=|IPp*}nFvgj9H2|dyLYyPEP{fn1j{grRU4WIlgyzf7K8mGPL8gz8` zHcHSu$H7B~@zh+nDkwY&OaEAI+dEi-xqc?u-VlZ8O59uRJ;CN)~ z!3Vd|2t?`=8Xpfi<_^!0?V8y*q1yX)X*0S z`2?}z5u!Ot)bl(xF^*gBc^osd4dvtDqJ_BVHE%}WORy#H*#msxGyeq>6O#ZM!O{Rw ztya*LBpU2=j`k1%e3?XGpl7-9`7@tm_xNFa`o8aAYHGUpxj+3=Z^rAceecU*GV$L9 z06%ze7UL5&M5<6lBmlP8w|Hh;O5h-fL_RDnXI)^7aM2b;0Nh82tB$%2U z!`^)d8tbZ(V*Sah(A(1)??nu5N+4J&JX=4TeS;O~hqh{45~u>`ZQE~D+WQ+?ACP5DOOy!kCG}Quer96tsKA_5lap74U4#Gxk+(srmMB0@ zFK|uc94S+Ug$TrT<7ce6CTRc6Vy)yQXCCylMsY5XJw|KY1|QduDulhc_KI^RCD24n zs6{p!L9Y=QVUNXG&!5KtpCi?!te3pVg%KX&!2;T05Z1f~(%7@tr6udd#a{m`9B@1m zpHSdBhZs8jJh$$9@t-wK;bRer5>!{dk`ONoJ69pkyAbST6CRS@PP@f^|38#AtY15~kA8&tNb6OO!${#$Tf%vl) zKa(b?BpFnk$2sC4Sf{61l)^vgsSU2@d2(2R-5#-kN-FB}_P!R`Zg^eunn9L9?=5QD z&!`uWH~tH`y|&eKf>G;779*qpS9_?7gMpo)oDOCF*FJ_8<-|wuCH;08uQQuuwdab zY;k5PcNp&M*#p+)3bQw>Frp5>RK%5 z>@t8w!}dc4A6eEKT-Ze~S)fSZQZ`cQ9KdB6hz{7wOL3T6<3qtq&IIj zwZTwg7fMFi{IZ%y7U~kHs=)N-b3il(tSmvO5OF+`>0(86w1z~X6@gN&U6{3k^#H(I zqoBObSuLN&jiMwWLeRjz4EPMeXojgdYmL~u)KC~$o`Q)%T(}s3aA~wB>^nG$J0E(c zumHK}f^%@(@yEaDOn(O8kq5tr`yP0tP=7C7vKR*r9>$TQBiJ%^2xn!-qnf6gv{B8L zDEcK4VNGT<*Zt(|3~oR43?AF`bnzWltz3qmx%pSIXyGdZ0QVjk9i2inJ>)2uPT3%( zVx3CGnc;gHjOhm19LhaiJ}<>cuc5MZR`X+61Qno3K$g`pHnI<+W8(mTo~{n8T{(#E z&MK+6c-+qz=j4N)F`qH(#_(tt$1J1-q3t4t#Ry-V#oeIj7;{z z6`^Jnz8sw`lncQsX$8VM?Ssq>XmQq62&neLPR1)0R+7*;pZUaCZ#!5puuw)N*noBlLZk6kt=mt zs%wJ40f}DU3$XHC)?2x8?YO1`BFjIOAp@FfsE9S62oLpCdps*^Hp8=@vt(RFoC`*1 zu2Q3>u>}Cv!5q5G3PvkzJb20iNo=xR{$8m{Tf|wa34;)HJ*n<}YJ7V+wqGWa0qr$e z``(0>V1fZs==T$R`Mx5bTbINHOKGqrPn8nJk}&c z64wW+2jbe>8CgHPFLIxV_*(J4RBD%L^eeKz4Q%(x&r*o{8Rv{XG}rczeDBm5&pmCK zpSCjyB+GLfa}Wb9Vna?IBnEkAf%J2L*L-FdJrwNs>B#?FPCo>h>yebKeb9MCWQ^+9 z_`GsP4jMmmeEr&Mq^G+J=bnBts+AP8wZ^}hIC229)06Odh9v#Tc1M^8!RKGE=vP{) zVsPbJTzKvKaMF3N!NcGBdpz`wFXG7Fo$z^%JkN3D$Oyjqo!fEi?RTQ9s}q$<1zDD1 zYHGUhdR=|mxmd7l71C?5CsAD+@3-eEKXEg&FSQ?DwR`#sbQdu<7tFP2lzfC|W?MWaORp(^N%> z*CV^2&&q{w1k6$xPShxqDkz|&$jqr2iM_o-Xbpf(OU^uG}s9;g=hnpA?Zl)Aw zIjt4YdLt#GRH>ILtPr#Cs+ghzM_tRZ!Y_zoS^z{z#Ryw1n=l|?O%fKW>B>pXm>7j1 zD`t}Tc`Ab4a^0M8*bOY;sKjGE)a_>`1k~y^Jn`)Fg%wJ*TEQExeJ=(Vzxey)fg`}* zefIY;Hr@yj9_a7GRad+kfB%pFf_go}ZM&bq6+@?CS%1I&?7<3vwMP5{HP;RSz>e`@ zeC~VS#%wdCy;4c>{u{2x>1S_v#e`vQ-+qL^jNDLZp$%-g9Li!q2E8&N7=jLPWcvd- z;vI;Tjn=f&;b$CJ3$n=x+Jks%atufJ-d)`5!3DkO@9jpCIHM62K(ZvDH~=k_OvLNJ7r}74LS$0f2*)k z;SC-Er#-sov|iM?$aS9tx>Gv)3=pYRb4IE{2tZndN;1e4@+PP!*S@?jc{%wUJfbo9 zf`mwHkkusy*#`aWwyuHC^cfaN`K)Z~43A%#xu7N_cue0@rb{RxbsUk;Nqp7@!|tO6 zhReFP2n}WumF?hykttACuMsdB<`B9>z-o!zf!T*x3R5{TK%h1Qcgk8Lp-Gj*IA;i) zFYV7PFr2;MQDSG~W8k+8JXDqxMjdO0mI8LrWg3&U5kZF%`^Kas*paSd@tzHvF@Bb< zY%OJNW4-4<6QUu$#wsYctY253drT`E%p1V9BrPoRji+`bxl@+!z-`*~dX{*Pm5^@&K* zO7kpo$g&I*6O$Mj8O7w}RN)8SH@Fm+-S9CCEMBI^agV`QXKz1FI{#9!e+F!PY8#G> zOu%PekN?PVV0oApRvu+VKKZaYp?qbJvZ65#aiJ*3o>}E0Q`duWhy||66BU6ZqfH}LNVucKuI*to!A9A zq^D)B$M&SEDgxW+GZclAkCho}gcrt|$>IV@`T@%4iU}eo?*|pIRv4)AEp^nqYVX65 zu_@eo&nDEG_EbxT7UPo3-j2Q(S%i=Q*m(c_`2OAZ7X<0x&`KO0Pm!iogb?t9`!{0G z)M2!Pc%jvi#kh9asAxROJ~BOtukL*m+qOSf{PDU|PQp*!@G&gvKlab>t$Tp|d#A*+ zA7Y|4+AHgNRF%D;<#SWqr#gWSd`<~3{K)1(fQY8jI%q;ldC_VskLl@2Jn+z?h41?b ztCwJ)uS?KMHU^*Jpgl4GU&v&rwI#L3^d>k?usniL0Qvs^df{Ly+k?^&UzUR^8l%?LcYAHeB!8NX{s?9u|;Y5HbqQbSGS)Y;e+u1(I zYKp{_5LaUD7JH@T-3+ZFSN9^N+R*8H%Ii9?eGm6Bx$(S|D90^pIb{-RcW=(_}R)&3a_ATpG^SA%3N>Qxs% zM`|DS@n==Qs$tPLXDECy_8dduuGWH&Z4T9x605aeC{N~vAVBLHlAp8`63A<1T758C zX-vwJ#zCpZf&XU3^vHD}GFq z1>HS3X~ShmD{XDz@SzbryK@g_W@p<40gqsZIaH}dQHQvpv4Z)`)N8%)n!Ln#{qA6pAT55YNtLDbA!70L%a%%MEuqfbrVtRU8MXs~g zf#p>gHD|0Qa_#0YSk05A7AjMyQgNsnVXMGTVn4~KaBPj^m0Wi-)XcT5UgY&D6keiv zat^zPkK&$3o`v@f`;k{)yaCHsy!eTjhem*Z`26oOz1#DEk$0cBQLmyeZX3=jkf5R;#*vR7csf+TL1L$1juWfvrX z>SiD&;4nFH6kD5wN0K;fIO90=I&7bEJY~8;IGqV+att7cA$-YPdB}qgXo*A^)u_UU44AUmnqaxHZ zL2N^Z{fP{NG;xK0CJ@kBLBkVVp0A2DW#ZFmZ*^ylFefyrAof}(8)dRBQ+szJ)=J(c zTFvK*E#gvI8yNv$3Hd0?dO&)u(^QhmlSz&GQV>V%4=jlT)9al>HqrL~<#V{O+>@4Q zS@X}57`RnIymS^jIf@TNitZA z2cHFXHRrd1d#1$~-zJHjv zLz#cgzqo`+67(z>#M<>2VfAU};=;GSA4m5+j{`fO#lh#cU~=>@s-4|famraZ;hak_ zwEDzj+6G0wsvTWey7pA`E*iqCwOaUeaqly_YcA1v1Ru56ZC>Egli8i#0zW%JESDAB+c9*EY+`Wz$e z5lK)|T=S^6W3N=FRni3j8K}X}=Qw~_o!x2%=L$p-40s6Ilh*{sMZ@6&HOvxVVG9=~ zV2G?xMOYpOKFM)escvZfz0ZvxA;VYF$#Jtpucrd=Oyl<_ZCgSh(A{``xKIoh#7o5=Y03xH^0nOrc#+2Qc`LjZQ}`J zz+k}c!hmUtBA|kD(NwivU{_OgbpusY5J39A&y4ni!C(_FoPHALFRVdCFxTzkRd-y6<;AXTPPKKC-s7}Ifs{x+R=eqG zoeni@YKn)~L1TqdjZ~%+Ph*~P(M@yEVB&P`fBN());1T%Te~KI6(Gsu)*Ae7trzs3 zA8oT~8ggrqrHWN zavaQ*0(rA)kLK1-xksdL$eZ#uWYZ&$DqC;q%#IMo=iDK_g#khJz9;u&WzUr5=x-Qw@`WB5;BU8CXfQjx_2| zZL`vW^@Qg7THo)T+~;3UY#7T2CU0RsPe5*al7*Y9btwe9j%D=>2~tE6j(P&7wJOny zORs*_fU6QpNMY)c>%_LNKrWWh*)=-o*3?@~UJJD6Rmvcka6c7o?-Qur3vha?QZ5tk z9s2h)h1wp@Ug=nzWXfQ+UffA}U9y@HWY!<8^^)$N3O!|J-$x$FCi6&qK?BHEG9#4v zdeWYtvvthd3hH_aD9G}#`@UszgzsuK) zMP#MkNgOqQX_{Y1884hg@FIY;=bPVt-OF=`wgwBaK-3A`jH}FZJz8?aOa_;TH~poQ zV+`YUdw#Bmo36VWpZoHoc(Kv6D@R0|;gm?YucVpk4AwpF-3#nF=QGkajN*sSw?Rl65 z1&Z$pr#;I!HMs>fE4!I;_)|MpiG1UA0dgq>h!D`vBe({v;L$TL(8N)X8*qZhuQZqr z0{ZnPP2Ojs08Rr$D?r!ty5$1d6pT_Rp2Q#X3zaQc1CWnus~{?F<_&29TlfSDwGsAJ z)7Am8;2o>q%lPl9R;sy>`*4aT5`qs>DgWPWq_b5nR6!e`n$0B64za) z&jG*x8^4Hi=P$G>@au259SaLfh%w-b1J|J2o5OI>#{-}JB97esow#!4vZ*T6Tq6a_ z1;@{I{Jn!F;lcAqaqkB{)&lP<%S-r)pZM=^?M+u)+5q@-z{!(aSYO+;_c=FO!Xe6m z0_Zx9PckdysOe~*pV}d2kb{YasH+^1qZIfQvT&}=&2>Egyvsc4NBMGK2=4;6%^ASNjVSk*@D+?V+Fb0FFnn$&*RrEEHC2>s+A90%j~CXkS}{ zSweX^6%k{}_7lNVIH3QI~bP$Bbw&V(?e=oYnxa*ZBB z4pIir2k^kNQ~>DU?4O|kt`h;KK|Gy(ko8#{Chk3Z-Z|pXTu=}%{XI}vb?~0W9YjHG zjZefuVDdTUBw|bIFhQtEZCHZa^e|+XV*u}z@2e%@SLTO3`F)LZuDxkmI5kos7s;Fa z))UHba>QDjNV0EXlA^V%QtLnnh5ZFSd9%}`4hN4j!Q+L3n)?fsrJ@1ylnegaDGDI7 z^7QsS&!WoI67)TR`qB`vFxSH?Zoe6Sa_@)HG^5()+{tHA_qQRbL8!idq2`$#%IugO zv*WLH%rCFvw%5OT)Qpagr=L586KBq2Fsz-zCOIsw^4>P%R>*y`jdF>`zuce-*zhk6 z-UbR7bd?8CiZ5+9B6;9grfz429FVF1STSZsCV4E<+h84Eajni1FVM;f)xcylU3Mr! z1y;4kfXU>0wI?MvY8Ab2NmZoi}b8(WK<4iQDQy>~h3d-6Scj8sT*?u{>-&o6mnY{tXc z#}s5|5J>sN9+A|9wcfr2rgJel`Tx}5sb^2)GhcdQd@2Io@XfEqfh%8HBkTcyPu}-2 z-23MvFd6`^ICu#AE*LR0MP zdA|EuL#u5+Xgvz*-`X*FsI|YcpRrYm0!V%J`zzWbE93!n8k`N->i2MVeQEp>Y|Wwo z>(;BhM()i?L_6Ym4d-j6^CXf3|u-#DE+r-OYLo4hWAj$Y6>t510( zJ&~;jz3*&K3QBlEL8LsnR17`SwO3R=uR}+qKy`&TA&Djj!1Xn3EfeZI3_WPeGF@-P z{MpEWQugRpe;R@i)92a{F&cOe^m?E$ZpjG?5gRtVQ;q?g+9_yX?uNi#Sklz=0FAwW zv=AhO0)U$ewXj2Un(3p0SjL_H^sFe7AE3+RqS>!X;GGkaX$Y&5N;VY$?cji=(I>jh zk2aJG1Mjzb@T~fS@H(BM`PBOuO!u{4b_q1Na3!$4{eu|gxAW~5CvrVPgbyHH_ zYi4T%+xUoYoy0aUX07+U={aADVA>G#HA$;bif#9=acFc~y($Sq;z_oY32J=f(plM^Xk57H!tJvJ` z!ylPq|EiETokp<~rki|Ve?n4&x~#qwinW>oAtf)ibTL&_EO67}d22ZhxG5OfJ2Fww z5#Xy`2)s05qk7XLr9r0TcKq}h{LP9J0st}sqoKl`g2_bShi$;BB)KU!4QY@buIfiV9yxq{03_leK43E>LX$9(+$);G8C@y~n(FPvWo04yxbMvq#eFGvgQh^`71q<^F?Kz)cSi-f}-i)g1Af<$R?!O;L*G^NQ z6`W98hcu9ctzjR3cIr#`!~>si!L%#(@57J3{eQsT%P!shX9R$+V{LugDt_7~VxS1A zNcjxOZ$>iGwy}z569`45mm4;e9H5+=A@U3j9%)K}UI5nD&*7P)BP+6rANcY@mq?|E zEa-0nj2fG*+G(OAh5FUGx2$QtbpT~e&9uHgB`-=kkD@%o(-264r%o&ZQo;4F6h-E? z&1#3h9$K4R6*>q!kI1~P-7u?2fJVv*R5i6U91b99y068+V31O@wgiFx3~D_zq0Y)u zCh&SG1rUh{;Se3L4|#?}dwxNxdj%-TFyFV05P^Ncwcl+${mfs*4Z8IFXJoS z5Ku_o)1h+6l>j&IhU@c8tmD|$cs;G?TEnr_;Pcqt=OsUICIu^ptR`VtW_iTVllr@! zR@QkR#$J*8W405K!W6bxveBrE8;AJwJkveP78LHO;5>(3Mh1}i$@6>HYXbw%;`!Or zx$vx7w0J9!=*xtJqHvFZ!iA%QTL4*Bjc{fJhm-Cw8J2}~Ga-^I^LxE64({KJ`MIh8 z;&6Kl7fu~Vs_PjDK09W|?6`D}s@ub^eFt&H^|!QNtD6QNy#FC=ZuQlo-4qHTy=gb_ znQ#Kf49F0%vriqUFxMMyq@~XT9B5R^1%SO&a-qhVH+d;E;Tn9bY2(wsqk(Hbkr4nC zz=)En*8wF$aKHnH-S@}=&yQT#Z!P9vjaEdne|gpvso=Uv^O*$&feID2JxK%-CHMiN zAVmtPA6kGs(I|At8GQp}1qZ0|QtinD6w!VjVIZJ`+?J%uNt^cnD|)U}1Ean3;DE7u zJTg0%bR7asBbYH$0;$^bR_9H-WASkM>>B>_M;}DpjNaGb>ki?zJ710YmvB8C0{Fy7 z--r9||IAbce&8DH-+%QuKzMW=su*#_!E3O(YZTb|)HBEM@w1O%b2ttZo~SF$crvSK zM#Nwe!NX^d<2OEhFSfR}$AD2swJobe6}~qjY>=C`PB(>h zU;D9>f-wZ=>of&qvJ-|1Y^sncj*6hU1AGAJ_qTBV%n_`uZynDj=^xyzK1w|&O_#rK6&4b0&vGQK%j{n za}5)$$E^l5HE>43t=V{gl{fsNf4>I1mC9IqK^qGVRtIZJ6>a@xf^8kZPFM`Y zuTQof+3$7ypaUz&8^2#;Uv?3j6X7bmOM7l|V6m9j)$X)}_#w6-*!wo{z3vD@Ox@nt z_0%{H?Z32tMX+lRc^Ch7nbX2aL-ujFax_=tl? z!$_4P1y4;~0J*8%;hCm91qOoMVQ6QO2xC`J{KSXx#D!DJhZIC|a6uj*(%{U- z1^oM?pTy%wo^EXwZol9-=bba zS|G1cz@!uSs6o;+n7*!7)=mIb(Uu?#u8<{)S!W_PH`np(k&mISM_*f6n#YaT?8jU$ zA`9xvp84Q_vr(z&*h`xTG6Ss9`q$dgR5_?)_JLY?12+oP=_*naZNoO`3(l?e#y;SQ zCUXdUG^5B)&V*4!2ZtnZ)^@!HPpne{S*qv|PD${yF{bBZSdYNH5W?6B#jAy)B?($! zt}_MvC--lbYr*x8_7!&gjK#B)ONDD+k=hx`uiR^pOI9LcfkrcB#I{5NKd?~MJO+pd z)gO-UwyqT?c5+~qb(7bn!JF9PX%w=-5he&4o4pYfIL>=<3!J8$RA}wkxCRV9@LaO2 z5M?98VeO{oQR?|DtUNg2qE;H$@cn@ayw_`>v0rlX4T7E$8>)}raca!Q7b`IEWzI2j zJGR!!u4ECxA)*S%G+zHa2^t7kR(V0J3^$oCjyJpkuP8vay_ZRVgjDE*Xll}cbz83YONF_IHMkUcWz^Z2(1E(;P{5}wsh&_4j zRMWi(Xs_kmRs_x{92c0{%0_a4xCKpulQ8a#>9vJ!q5_CX7{^A)wR?e2jAY}|i9l=z zpwB=jhu|>Rj+z>yNDWSL#)X~=f*Ze=^K0Aqvrl{p8(V#Z5U{$kjPLmFAH(X>OScYg z1GwkizmCs;;o-$^ZbKY+uDFt zCJQxJ({r;q=;M z7Zte8W6N<0!m@&F0)mA|=Q}#JAzgjT|14bwxbYI7$?V{ zSCJBv^{^2s=I*%R)Knfz`Yju>=v5j(VtBt z7z_qTBGYh8Nz-s#L$-KouSsp?P1ywkq#ery0|Y3r*Vw5f^4ulRM%xBV_RGoV7WS8| za!*!aYddAb5Q5FM5CVBcH|t?~KGZXk2^QM-%K%fQY!m8&!jbJroLT{_SOM?owA>H_Y7RkgytN4Do{$*RVl z`}VVFQmZ0D#($G1FF}E$qfbQUchO$Giz`# zW#)U{I5li=$g-VkYUH(;tL_y`nrJJnY`W2#&Vu9N91DQC?pbukPL)p|W?tDSOnU&i zHDHsIP2x@T#`3dL5+3n;Fko@**p4{jnk<_MI}nm35f^(?J2_phjU?SKnsDHW4KHX_ zE1QkI4HIULeWptQ5EhVSR%r3u4w!?v_dFsYIQt_5=N^W@c{IE>@N*{)DVqxKC16J@ zSoiq}1!9QE@XW$5QLQZKR1vq{aBW-5hzL#}J%V~TXoWg65PWvbj@fZZ996f6eb*eu z-m9)_7r0^F;6tB$2pgMQq^hIBBM^gXiZ%z#%hHR*1_l-FQS>Gm2}~DKnmQY=0hb#p zif9vZeO{9Vtb?;znb+b`!IT5!A;JcB@m}lMC`^`mCpd$B$J)_PuW|LhhFq!bjTIYU zU4s-HR>vONDu{-e_Lfce)KfH$>=lM?&z>O+c7)&$c)ddgm%rnsO!pl4$Q3&;6Ya6}?$vTA#{r0shShembRPL$g&ftUh zf4Tj(m*0IGZn^yxFR2yC!(Td$|MS=Wm$4;Dz|ztRZoK6#EG#Th5k6JvudeRG4L9A1 zSXCGdhWLZ`zaI~teHuyNM|~}4001BWNklL=TG4Oxc^VFw!Q%X=yWQ4 z?|=11eD4pw6U&#V56Y2efs-dUvA({g8Z_k{t%GgF@tMxxcnAUCaQn5`wY&f`M%`MI=x38Hl7uV` z)bA|qwd`SQKsn^ivTkZy!lL#GU=w^dS}V2&U2JUi{D~6-AP&jbn#t!T2l_IVy#|mv zj`y-!7h3`&`CjKn9ckZ3lWO#bgH|{IjC|c=q~~4R%W&wU=nzfV^Ah?Y>~1 z2fgkT{OZ8~mL>@jh4Rs!5C}L8oQ0wU6U8aCWQhg$UDG>zF}hkbfmANCw}uxDcmyJ*m(GS#sxOo}@g0S24j2kKW|(daPm zk37a9LrIP;h-?0G=^d{jxQJsZ_4r_y=8qs*{YkEoXkrwH6DIbZA=2whOmQRRte9@a z=^aDh50<0~d(Hiw4=yZ-LsKS0+AjO$6E3Nnx~#NtOF_?z;xuK#d}X`oW+hHyT9<+o zxOTj#5?H`Da)c>xedO(t(XZczJwHRQ7c_9)JI#`>d~Eq`L0Z)Szu8w7i3Snrk^j#b z`nLyqfcH!8g=){tL{TlSpI8C9k+(CV=a!F`{$y-?jHO~B*&StN*8k}$-_NvHePJE^ zr`oB9PrkT(ge2^qkMJx?irfgdD3oy|UWA%}zM?zqLv!wgB}!i8krZ#)WubBkuW;b2;(*@AbQWu2d|;_(5vd7s64S?$ly?4#b+ortZru$Ia9D@WF(Jq8;|G=Vuebhey;b9XrI$ZQK zE{BiZoIxZoR~b({!?-zds(fl<6y~wyZ((p+72vk`Bz+Q1=aT-9(RZ{?>#5 zSzMr_-NW@NyI9b#nS!9m!YZcj1F$~~m@VLBxi94?DBxDC4_f9k7xPL+<Wsk|7VEObmU*8L7uC`D@r4|oZB7XX0q!xAE_XSh_cyeLQfo8d&PCbk^ECWUVE;onN_p-;HGIXce&C)GhXJmZ~B$Jz+_<`LtSNn zP^2vBWTZPF`A^&0szJN*VFcRinTQFOr~9a}NaV-O1cx6hl=*o}zjx6lre>2(zlPp} z)tQtZsxjmkOM}*`*-4->G$5s~xlwj5G^EP?-`Pr$L0O{!4}v*`X2>b!ymw*Y!NWSY z=<}ca-h3_g6wG|(Aloq%3Ta53QXp4R!%Oxh2GpeZ??aM)EP1+?WLrm3zBuZKLb;I# zGGkjA99eW{|A5eH4!*0Y$;x6;HKmHvf`zv);D46Eq&|3|HI5}P`Wf$H&j1gwhz6v# z`}hTl)8n}SHzCGNp%>izy#XtY%{)~_zZyv>rP*@2>QlE9zyv1}n!P#Za^bIkgvg;9 zWZ>gvW6Kaw7%cx*V?93zmd}T+&On9xJLB#=c@Hf7#o_|5M||v9_lxY#lH%#V_QJg2 zAzr%E+1Xa8qGO%?*MtJW2>83)}GoFb*gWDLKoR8w3lBp78 zxkpSeE1EE943`jrhyGC|Mn!NkBxxxs4NTI_)`8y)oa4ii9x`!=c#aB1_ExPRgSn2T z_r&~;n~%}I0w&YoANO*4FW?()uo#QlA%E_(zoT6B9EDhA&snZ_T|v}|{Uq*mMOGKK zISZfT(KFbH%W?E36wG5&{q{6IM&3VW=tUCp6_WxR_xkA=h$`xNN%;EE^WmM_^j5|*Q|xN%{AaIOpD2Qut}-iTEL@?dlJZy{Aa)qj=L12 zY1@k}BCrtRT60Meb@T90n#AvXhycwt5+NP$&}py8PdoSOnZ~v3M%C7(S`=z|?m?%|Fh6u9S5KKP zw5Bd2ALNYC0~nPercyfgyx}q@z;--8gf7%9QofaeX+O1=j=ONl!0@3igETditO2eH z(=C&YBrqySJ=+5#`*f~q8qbRknFte^$+l31#Ob?ILCaN`-&BvY2R(9F&;36hE$=*d zBor9SFn$UATdttRqFsz{FfFIP(ex<5&F9?WB$27>Fx}8Vy^WrY94h2p|<3e>4=J<}8D#cdX@C)e(i{+r3F(CC;=n zWCNcc;E!0Bj+($&`F@eYPGUE_rCP&ogumsL-fQ6Z`mL!?)zR?Z-4x5|oQOITwu}zm zSMly6#Cv^?%@eQ+l^KK>Jj=mydR;5hs#yXv_%Mz^RZ`TPe!}9PM#}KjdvRqBJGUOVlTjMy|(z1snE6 z$qTRX@tqEzCtqgvg4jhlJGo4T+k4-aIxay=?5k^!!+W+*?H^||d%J6b5QThv2|12E z#FLZEdqPqq^AY*^sO4oo&=~p~ZGM;6vUL--6pRde?qGeuP6)sA zjr(tiMx9$V@&G@CT?*tHHzvEl)S(~=4Zbm7Q^;8S184fzG5j-TKK3SVw9#&|b zm4`w~4sM-!+_b!W3{;fxpM3=NKlF0Wp3d>f2>aan2PQptwtIgZyEEH5W9800+bNj4 ze19&s4RbA=plI&pcG7TlD1-f{SxrT-44u$1j zpJ?Z|O=MJFT0xGYg_CDPhJT%VUwX;ps<>EQuhs>(=BttBrr%$O>iso@I zu9Q?+z$-e(%#T}*80?uaGPy(i^YD33TM!#*ZN8TFj)1`h3St0{%qBS;QduM~b+wp# zKP=a!zabUb=-l(pPda~qQqWc`^@)BJJUJO){V3(n&MBsJ@iK9GE}>11oU^uloP0r( zTVQG1mmCKTCTx~S_boPhtYnGAiZ|pt?=6Umz4IsEInqY_S%05*ZdGByw?GeqG<1%{ z%nx69Oh1uZK-*^e^OiJG#ehj{K!))sKE74ZX!LJ@cTC$W8rG$iwA|C*D_TUYHsVG- zoF9)NyLDO7WSvIznho>qPwTAP$R;kKh6HRr>%b!IYCmv*u-x5$6J zuQiMEzkeT=FrL=q_A=1V(l&~U>S_DUaQL~kHc3L2Z*7#iWws(l^~xKP-~z$q4w>ec z34*utY%jhgOH#~8o3U*L2!FpwZ+g^>MY|YU*O%D*uOA}MI3o-MLA|66Oo{Se;wx^_ zr;!{NIo5$+@dNCUYmba!;cyR~3cXtpM-*Esjtl6T;?zvHn%xPxj4wwGV1E(oNrqaN~U8-$AXdwT#L{c2D_~_?WE?NJeK^rK)YN1dd9?Mq0xb)KR(o$I9eaqn(vM_P zxN4LS*AclCYsD?48CnV?SGBD`k_Unxks9MSHFwHQh`Q3f=b}$b~PxJD$fdsgA-PyNw=PHZy)BW2{<(S5cI?| zqi*S<@QNJ9RyY!-#c7U-hc|Z#29`oh;P95&Dma z42S87<(ybnk)! zjT1pG2L8}6v?H^y#_RiKq>Dpo1m?@4Vajbn&=SwLru{4x&=6AC)235-RD~f(R`R$e zCGqj_5X@j&5; z6B@S9%b9i6$KTVqfS&VsjDfPNkcS+FwR*#8>`)hBi>6=a5EFWoAROz%-z=H+UsW`C zZ2eQ4@ZRujOJ{&^x_jpGx~n{DXcbY8(~7f8Wy9#O<<+Ag&f=x;*wYRQ?6;#A5mAfg z;U>B)byh3N?UAv({gNX)k$|Vjq3WVKDdNtSkm@s%G6uEqs6eE<_Y0osTZ^H4O2~o( zCk*{LPMh&;06LL&#f^#WjXR~1GDB&zvhikBL+%W@wl@Tm8Qp*$?yJ$4iGf`CAOd@p zzv7B7WC*(6O(6;~zuR$lu#1)42%Nsdqe}}R#YPWW1g)PA5NoAF8BLFrYfhffl~45H zEsp=vEK9gbD$f@Qd)#`&m}ii~Vx)b2=nLTUKg@F+D0tlggI<4sTrGFO^=FX#VD()S z_s#o&*;v^2!gDT%Uk9-^;ASENuGlJNm6I^;40-kT4izExvqXkuJTE$ZPDGMXx*~#HvMIoT zZo*hWDW%#E7j!Gz_OS57I?)XtojCJIunp+b^dj!JaGN32%ZXiw$hL?qB0{Y*kwOU$ z6fDTx+g6|)OvA0Q`1U>5mE^{$dpn33hUo;LEQhr2N*B-qyc?eB>DhwLv&{FJ_pR6b zc51t|a%&9m{4>0LSkTi94U9|%>ch$3p6fwv1fZ@f3-^R)9`RsxWG$YhlmaLM9E&P( z(H^)K92L-XBk|j6Sqz68O|ey9BWzw`%_;2ms?F$ULa%S)aHb6eTGe62w5O3_VyC&# zkf_Ui#BcyQ`3SoJFTTK8WPZzP*!{PdXWy1q`*fKUq$6sIoYUC{qTL>PJVRwa_T9jR zyY3ds*=eab9n)kHWvlE1+vf{S%Zs z4xhOG-gkEFtW{&AG2DciD#Z_S9*mU1TKwP2=(sX>GQG2n>S;6+WQ#Ex;}yU$3>Ll9 zsd2o|g90?(Y*r*h-ny@Z58G**5I(94iHqu9kZ9a4tVjzh?~RSbYd(U!a>*>Q9wc40 zEq+}t^*g71=r`zO7dH46pcBTK3Uxc2OCa*wAfv}$-_|gF+DudcL2dpVk2tu| zbRBYh@q3te{i3c4&(B{dwIB~DmiI9PgirJAxMHm)=xUSQg1}~53tm4~*4Ia6#NKd) zJzdO*RW)!mJugOHM)5X1uOdL`{^wWQ3R^#s{dWvsU4NdsjyYY|>k#=L3WJ3DUS>dl z=Z;2=%)*ErJE6f3KjI10=W66=f2FnqP3wR|t-y`YkrDGq2z38z%-4~VdJ|iItAYux zvm+3BLIBxVz6hs(HJ5UNl2Mw3{7c?o{ys}Q8ntXy)pqNiGJ7d%Ek>W}UzO!Jhb zCI_KFAVlvYr|*;13nbI|ufMEYO*Wz31h#RY9p_@vQpp!$Bo6g|Jc-(7hj!*e9rrl! zAkFdMQD_Y0Q>@LJilk40senj>Q+^a2iDyxO=quUi0l*_G!nuOYE2)|IBE~T(NmFXU zP+?sHPPX%fW5LbaH|E-Z6t}^a+{}(~y23hx<}U0ot@SzET(nFWXn2-qk*fTL>O9Dn zzOytamKOw2{m_7*^`nfmhbqNn%2?eEn1*Jt*6zp~UCeL`rsi$hD=5F8Y)>K?fi~Ho zaXU0pp3+7R*=e8gKCa||0J*vEcphcTp8|ELKCb=G9xkL2+}Fb} z*sJJ-w)pw_Zi7%fviX>kDVFxyE7ihF>_}ir7b78L&(uM1X|Ke$fdbXdgdXd~Vh|I~ za;P$e#GR!r$*g|TW7bF86QMF8(o2`9f+UE4G(mJwzY zFN9GJ$BYg_7z=HB?Fa#G+xvbJ%@##@I-W@ZleS8H)_0Y)SAIPf@L-J+jw%)Sqw8@8xBf+Q-D8ZIQ>-u2 z_{ZK(y>PtYd&UQnG}G3*Y|kZRV7R8Tn#40?p7A4I61WkG0o~RPe(C{>Mvl!C1j>fIHza^( zM58>nz~bCf$1mrbt@M$r7-fd=y~%*jt#EPozG#_`$V5l8TX$jzQqZ8rl(JX|L?tV^5a?@wQV)+uWIl#3|KPE-&#- zuQ*Y%X7pp(qAoITch1+EqPn4wb(5+ILtE~_bFv>x+Q$bS2{dg}m9-mSdY%*#>-nsOMADX@r1FN5I+lla3S>r&I)#CzdAB%VNr) z_L(-6rRb%3$I4Kd5nJ|L2cP$l3F7&nKlv40io~J!hCq6mMbVJI;wuf)JU=!le4lHB zeHO9ljbQZ)c8yPIcBF}DP!fXpvtL9m5rlHx@5k=N%|D}f((L<~Y3V)o5%+FyTo>1g$WpahpEsB?<1ATZUh>L8?UnXx1uecnnEp54 zw7Cft^Xd#f2{V=Esnr*_m0AcWr6r)CUHb&cWs2*;7$PoD2+qkf>> zAN;rj+WE)P*APjEs8}EnBldQiuv@-)zxOoP_x9~|x&Fh@>$JnG;Mi6$UbHzb09+q{ zb~J5B;F~nFxBTyNbp9q9iam_zDHDD&%h~upfsLY1A??%2l!7tzzC(CFUY*&!JA@+> z@`UQUiF(`{9BG})BctxU>gpr??=Tz?MYS!H51ZYIgOMAt61Fl0ogj~0G+qesU%GJB zOzKH#$DN-E_2y_3 zl-hhN?DJjg&DZ*JpwuXh3<0<^p}U(HdD{}T%z%DL5D)6qCvd=M77Faz!&b$F@r>!> z^p{~Ixv6j)oHz_^cT15^OR6_%gNH1^0&m)Kp>0WjT1xx z+}dy6S@-ngKpQA}0S+N(njy4)y@7A6&CrOVvy5?SlUS>wl(HfIiZ<|zCd_p7KOMh_ zQ^*IOWOvv`X`{;nc^a|FETjBXCCAW24AHcSGWU0G%Le$a&kT2zzZ&=kvaIKpgN1!L zDQC=356@;ygqKSpF1`O)l`H+V)O1Ln|irS_np`nmhlxsqI*vrkW)PrH^1e#p)XLf9P&6`_61bV=7?9)2Q*qpnVGW}@fGv4Bf_*aj5Ms)SOUGDt8 zJL*;MwCLd@r9W&uQyFB;L+UGPAXc`ZzbYzOeKm~ zM6Ufj{VXm?wx31Sr_4>17&km9ufc>JmvUC<7p3cC1 zE4F4kqdNn*lDLp+!0X6nR~r0T0n_^8?~J4?hc+>=z3nFA_3}IAspoMc;oS&kmX)=3 zcRTGf4|P^lCD^gspXRl}*N3?EVz2tv2LC@6z;PgsZzJeAj20oV^&a)-O%VLG(g(O; zIN@#9_L@Gxg?+l_ZE3mVo)Yx__|7YO`^?^I*mXE-tl#_bONKSiO^rev;QRf&(vI!`k9f6i$LGGxO&0wc)htSMGPc| zR?OEQdwHSL(F{6A$;DuG*mPGed)`#+1rlsGTu<&R53CRnVsK*-Oiv*tQ2y%?kBugR zD*$Wl?1nrjD8eMVa^XfMYW$hwwZcN^*l9&1@$z?qwuQ-7nk2H*pNedj_XoZ7H`9fbTj3J8MaTvY4VDNw+1;mBiAV&> z_%igr*@i@VT1N&%G=xiEQ%pZI1_V%;_yE!9s|rP~ZK|ij0)rI!2bf$4Mf4{u8S@!% z=mV!^DKoUb@&c(kGog`o63?0_ysj`NQh!Z3=x}yK_K{IxoU?;Yedt7R;Cur$EKKz< z5>bhS0{!9^5N|Xv#+@ba)ZNPkvCtS|i>R9gXKJfg3E2P6yfSMNbG;bMK~O&AiS6>e zG_%&Z&7i`#mS;Qgkc3+{z@h|E38f(~&%eN}zRBKXE;%ra&EyOU)x=^K`cgv}#JPGl zW-vIfT{z9)cm@S=Tp1~%oE;TZ1@S@C5!;u}N%nE*3U#p?w*lJdF09mF(ZeDFZ|*GEp1oI12QT0 zw2$BTLqh5kv`lY)+vob$o0%uGTw_Dw9Ue7yZ~)i#$~s3so8-mkKlGmG{*Sx+NlH%n zmE~eHLTC#lg0Ke&O@%3V+1=xRdClSluxULcCA6r}&Q%yNgu0tka*pTNKfEUIhwP1( z|67IVNO~Nd5^?&+Z1kl}SQ}kA#S2YlDM(maP+7E$C zx)<0l)8Nh|9S_MEVC#>6k7g}wIS59iUJC5-N0VFSvu1;;MD;fNEY|rWw3G;$F9H*L zF#Nf$UV_*6yp9`9Suwnh*N7Wiy5Yq|9yOLmKCkwIvK?R1e*Pow!{^)hiI0b$5romu z+8Xx>pR@Sy_PrUuo(p}T_1+A>09$$y1M5XyNcx_y-cj4yWgyv+VLspv{dwB@v&o}e z+(F6wK?$`+-oH(fLS7OWM!Y@;RKso%(N{LuG97XEb@OQIuJ!gr35Y%l06n}olkc2pWOMxM2{Qk%ok?Tw$tN`!R z2EY5n9fQPR5yMqSNOQ34s9YlFt5hK;fDh{2x5BR62D9-2pWzl zkem8;RZ-b4@3U(RXIZ8#8_Db-?H-VcHB5Pk$LPQzocju;G*Up~!qSiKVzz^#H*{Wj z?r;^Mx{3Mx1Ab;YCQ6T$p-5S?*RmUAlmw-MaT5pt@=^(yC3s$*9R2X+fqn6rsm@6l zRBJKl+w-dYF0l&5`Mgi`O-bkN2x&xj(msx{ijk+?>xv{y`83w>IF}B zM9X-QAfMTS|82UrnR?oTwerdo2YefSm@yc9jZ{bs@sfqw%rcu@Wd57%9RA?SJ zr`apU)o?au8)M={6#Z|D4PW;e7vlx#ysS5ImRHF%(6+6XoQNs31~ilqgKo>LDU|>_ zZf=(H30Kg+7+@>=1W)sq-m?`TSIUFG4#%_D6ewA>>I4&a&{WBBsNrl{kyRw3EbFP} zo&_uQB|cKfP{jL%lL^Y{)DdHUz*E#QBz6#&iNjezIxLHhJ- z>$w1Qyr&c&)Dk!p;W%LKi%tPo{&Y~h7Apb#o$>Z0TwhbOJKbd%^85@N385tH-O?(4 z;>Ps4LHNi5l}SikGB%}znGNd9GS$BaZm0*-E{ zh|Lxxj8G3>;d#{DZfZlVxEC)6yefI4Z(af4{x&Xw~rZE?X&Izj1qm|5ddl zXk2Q*e&VRo{@YUck8q5&`UHeX#yLz0%RA4xE&6duq6+~e%J}*ih7nP|>NH9XI-7^6 zxNpcRJi&|dkCmliWP+q^eX=$IA*Q~AQ!P)$!6uT`EK6S|+xP2NKedmK{RY6r?cXWS z9B8ODH5+&UaQi$l z4OA(1q}swJP0FfmkB5UH!Wje0I=es>+SyrDQnR2?zTX&DV$e&M$-s+sdQeM3dsk~;4*M8&c zL0M#A2K_V&B3a&M8l+-Tr;LlV`*KWV9>%mC5%O=v(cb9PH9@{fuzo&Y$8S7Xj%DaW zg-rf}M>E8>ZH20^pUE^0Gj05BVdJ%tp&}zH6sdV&n$YfgJ{X#tBc86W6Lpn@#4Vl&c(J^Os5Q=UwUJik z)s50b(Gy%7vDBfV8jya~$cB)PEl%kpgyFb8?3*66YZCD1M~n)kLCO7_IfBWx_}6H; zmzcUHA}|9R#II{@ADnjQx2n9r+&g9l3Rcnx$$36?U8o13x{{??R{Qh1N8)|rZV&~p zgL_Y})H5v=_Qf_hc|Yh&GC^o-Ytps~20S|1KMq z)JvCAW$>jm;s}%+KUe<>oL)1KAHc-qjNaXTQIlA8jZ_JX=x168T=s{?p5-aDwyF8? z6H-akujcKykYguSmlhs|MA0*6L0k_#so_mqQf&0P?fElGjekOmsA*@Pvy}!zD67J9 z8jPKTCxxozGCigGpGT4lfke(k5kak1sHzZ^C3q!D-M@eaLd;@7Zq$wM&03QwhexPm zHEl(XaWxD&rIEQcq;nI#B~LuGaMnr08l|!v>ls{$H9)`MA3v<$-DYmMNARG&=}et8 zl2JVzeJU!TP%iZ0mcA>(`rgo~48O%s>3e=D>1oojFc*rKj{vo<_a8M4MtTy0&^fb4 z$kr+nr}1Ip?lH|fcl&BJLT2(?VcVogqJMS{H!~Wu$l@Dhw_O#h~zi&hur2VYRsSddNV<;rSb!b zq;xY`vTBNGSK;B?*Jn?llT}5^`{NHgR_%6`T$@_q{c_k%_(8PM_-8X-@J?p&L z6x@Lo#v{~z7tNo#i)*lDrQ|0hR{G)`uM3}&i{Y$z5Hy_n6I03 zdL-V8)>eqP@4FdxefpC!*4Vm1e})33(7fodW+agY?hRLF5Y{%|!%?jHi(#@#Kcz70 z6^-6NT<`ef_!thpEfYy`jVqzro6Knyj$O2a^EnS?r9Do99$wzNg~O}Jc;7jfF?KtI zjFz^AG5MsGKAn1zdS}! zbBKS$g7^-5>8OgaVO*_Tf)OIGL3FR+*b8L2fGZJ~d;4hjMVuL>mEOc@T5j-K4Ic!4 z{E79MR)K*0YyshSyHLo?(Q8P@2_oK}O@>E~LHmAV2iI!H2tOzkSJq5%#x1u>oYu8EAF{>WAw#GUDvC@18BN zq}*-|kcx{e6l~nOT;U-4er}mRtrk3cufI3xVX*CpnAzL^L&PMl@>QyK9-}Zv_PM2r zg{H7DHcBD_M}RHqIkQ3j}&+VKZNDRIJC4iWU*>n3_4#q(VRqyXVz z-rjlHa{Z7#Wiyi6Kb+h5^&OC1TInnx$4C*4(r@jSu384}L>hy2{~pqC`ZaV|ke$t62!tJa6(HHF1(AHRf#%{{pv=rb8Y z^H=gnndq!u>^g_R_D?A^+*3|fiC6>XU3haBQhGB^Kg?>X7PGOsDP(SbTA1L*!R8S5 z|G}x2kbr=rT=9`ksY(J^!_G%G`H2_)MM1?|mNMbHBa$HNaXQ6FG%98aycaZES7SW| z0wH`;LJ%EL4;HKH1{2GENjRm>Tfc~+K$HMmze4&OyoXP#GD6JM{Yktrce5{p#n-VP z>*q8qkTpT1qFWP`-=a=&-QKSy2&<>tl+$q>+!1JLm>$q2Ez1mp#_#WY@OP-FbNiVh znFbt4If+#Nce}c*qyX7b;5CDO@nRy1Z)KBAkFp3;{9ZG-n+X_5M766hYti(v_(*ys zfQvS&_WQxwzgrzF&PlpJ0W;Z$o)dGvm}n8yNX%2%nu<$RvY(GI1&jAGxhnzdVi?gmErctaJ&JAB{r zF}-okA-3gzS&^BGW#vxC^YI$72O4=dTH zmbr-?=TkcyypQd8RYg&lKpFN_PrIBTk}+5l4f-c-t>j|(#8 zFBwuf+ANsKMVXpEMV2LWmaO%BV(W4Mw`sf2L&+?rZ*=QuO$4EA)8>@u-y6}}0EGJj z#l-QE34)a>5qud`o+7+!4;tQ~PlX`ns+%EPtbmal9UAETD!Eo|&6j;mmde#On`(4Co**4!Ggy2MY zschdh>=ORot5KKvuJ&TT-haPbB3qR+Vd75T)ILmJzOEdlA~yA({eph5G&moqH`YaN zls%emRt%B+$%LgDGu+bW_n_lG>vA*ToiNOx4iK!l4V*My4rtMk>98mxo zL>2b-wt5)D1ee1Vy}ShH{m+J~KS1EzZK|#tQmFTV7JYmd3y!3q9ROc}p*F9Fws=%U z+GVy6gKLi9}#mD(z_;MrpG#V+5>=&eR^tTHMdc>{U{O0ex z5s&v=jRCf3o3Yb})0LYBt`!#ySg+SyN~PddnlY|zb)t|5oHaCoLUHe3G&uAv;a?57 z>QA$?X;cr0Kf1RoPPe&NI-h~kscpS;VHt2;)L%5*^vsqUs@Ro{4HO`w@Irx)x)H&r z>eK|m_5cZbF~d>S!P~`HkKF+rX&9%>{{E8GStlg=dX>!H_9LZ&p{uQ1xf(|YNvVdW zPGY`IH~7Ot{E0QX)g&)TgRtv*!VUV*k6O#nm7vShFr2=?3r2=40OsrrKS_0PLd_CH zz6FNtKFUWo`Q+AWYyFWe4E&Bk<8Y;X5&En!y1pgbzvZYOjbHvc)EV|`k-ZDE83@Be z9N%|({Y&V^b^NFd2-}Fsxa@VlSrl9b@@=@=RCR`lIAR;ALOY-KlDz422kuMJl0a1l z^T-N97TfyVr9f4ff?F$rZhsz1qHxEK-?O0p=}rmXm%;hj--!?tAAvFod>Zbd`)ocO z^m_tudmJ>p{JraA)!2Qc;Q4bHI)p&1t-^=2FH-nOFb-hR>T@1iM7W`R!K1Xs#H?gQ z($ZA)Ln0Vhb%mwvU-e3n;fc?9^wL)HuVc1WX&sSpd$sclDfmH;htyr(Ky&DZGSmn@Q{efuw-`+t*$hN;=BS>~W1HAijK3gSg z`v7gp;R=c+yPw1~fIwU-tKD_#?YR4#{VPUw(_)P)a0whrE*Dm$6b3Sfcp_GV$g!!d zZ{R?~fYC~!1B?O}AmwZS!^94o?n`}sqY!DV(6#QfZ|s?bbikJWJnH2|L$&+aP;-ceVD z-~hZ#Gf|xII%b{^9R>i!EL|`Q3+K0>J`gtOXHp1#XXYYt!=tfKQ3lCwg?hxiE&Oy{ zR0&H4R3&wZzKf+oCa{C%UI%Nb z7REzq{1*mkayBrL+n*Ts4<0kw^U>Ys=9H^*+^-|k+TKUypM>OIb$c#9ozoa6Yjz|sPyJAOiM;sP%}Q#dK0CnlzF3@R?c<5c9l%Gm=I-3OgkP`je#_yeDadw=@F?I zkagUPb<_=dHr5}wl|>hdv@7}f-lV*WMRB13J0}<@OW|$r>w7C|qFBPoSvBKpfqc3{ z5%q2+u0z%-B*qsJ0)8y2qB^x`IYa^LS%pJ$yW8hN{SN|57Q{>U+?jU#Fc7}mc{FM0 zL4@GsOPvA<68Zx^kI1CX) zG+wHpsXcfYW>t%&2MF%XzKsqsQ-gqcBa(e9$=DhEXv_L1up}VG8^T zD;2d?XQ`XUr<|W0wnR08$&siL$iENkLO!gCD)5(hpiQS>eMooi>oQYWBxvxj@K&po zw0~_~7a6)|a*sRYC67#T$c4!zP@78Ui?qLF0lPqnTv6rRH#JoK>Lbgpt+CHRf&Vf9 zgrJHwti1z5Z8vsze?(B`2C9Hvw1gON%TV8MZkR5+&(b<>s?I=*DG9qPTrv%fjc7@s zI}Kld@L`CbE%}Y*)&Iwgb}2>h1`RP|iIgs@4~W$e3%}iA3J1JuBX{=Q9C&W$iM>to zJ3W``m5~aBI~z^I(6m1O!D+}3R#gkThhZRRnstVvQA*ofyAon3wz+!?Y!hh|BUd-F z;P{nWl*gSFSOy8eSF?>PL-jx@vdtGm-L`@F3FEIsTu>&*AMoH!67cSZoZWkA4m5o{ zEpA;wEUB>1DU|{gQRShoR!xZ5nEd7`qT=Rp~h82iA_O?LeoCe@!^x?3(q!r#@n?^JD&xlorx6y!lq?i<^SSyygcz@f4eyb4{DS6ED`UenK$G*2wU0&1pV$$r?|sz-y6%c@+Vs=_f;{fjf7huAO;h+zT9;-zD*=XEAd3h6H=m8+~kQ=(h&o z*9kZgvi)m~EggY%V=Al?JRT0TLCMt87#`F|k3qiG&OD37J(`28C0+rnL-pI#1VPmj ztLXe-+zIpw>KO=kcMY@!)hLCJOR}nr&rky5hYl(6{w}}IbkZTg{5g?R^G9n6@d*Ox z2#GUme1DTHJW9KOOMB_;Ne{H0+e760+rk1|bP^7y50%FMO`Ae(^kv_Af{vrV^=LsP zjxH5C62&wJVcMyZ#EJW`wX-f~L=Ba?eICPpbu8Mzeq!g2#z)KvxW9ewh|(EcraN*a zx#lZ`=fm*!w-D4djFr6`xk581x`S8`^;#$|qCpX_p&odJY?#@-qSCMNC&VgIulZOo zq`bNZ(SY%%<|qtz(zcnkS-<~ZaD5xSYG$aHNyI2*TaT+&wlc!8TVPtLx0@jDOUN9z z#OK?+vh~%b_kED_{|y(8;wMu(+5ZfJp!wFrf1wAUL3}>kUNi7waeM){8`?SsHbD`* zD-ppUJ8BU(UVErDFP!AT3Kua!2fN?fLCuuBcLt=yD33hE9Rm!PbeY=;`!cC-&D4HV zDi!IYGrE2D8Vn6e-g;(E&I+PYyR@eCdc>V%=W$eo9SzRW+CLy}-T6)pdzIXLddMul zPnXpb(~F=9Ut`T+DE50dq>m1TyS+BXb8e`RFD|Mq=+i$ zS{e(rA96tgkRqlOU#cO336$e-*iB}}Zp(q!T~}}4?Hte{U}`?K^x0Ov_;R@l0pL_f zVtu`eQY2C+_Hb2%9~jMOCf~2)y6m6xr)=W&{-mPc;e~ zdi{8<`rf!vkC}pe3Q?}$GfD5wI6enS#F)OflbHX*kw0YnhWk_UJtTRUahY*P-8Vnf`OjmNS2m_Yu4xG!#ji%(xN<_*eXcVHm3+ugEXHo zwYb~54_Nirmvy|W^>=&>{pHZ%GM)rN=9vd5Tx%nAsWj}QXT%2N!Fp1W8$7Wn&O@5S zYb#4(+rWR5A17jaMdP0ym;65#fP1N5bZ1mlyq+gbxBRZdG3=H&+YV6nw9I6Wtg092 zibSW|nqy{kPP5{||Ndj>`t8@!2lm0^VzjxNm>Z7DAh^c9t{m7-1PKk}JB^o{i_b-HU z+Hn1|)JJJ2i9Ubqmr_B0BleNg;W`mpo#W>lqQZx$@XacFQPFEfE}{Nnya_@YW%Wzr z*DqsXs8q*g%Cz9}$svjI=}P=w(!x>AR{XF> z9x^=W!b=teL!UaIh?pN2C5fVR?$%PP?!-c_Cs7jQNDL(%>aqPVSQe7y{-I&}QG8QM z{_yCX3R$Nu{q`BfpA5G8h^r|DV0K;heH&s4Ry^64jO1n_QC|Y0$umC$ngYH65XgsG z(@QppmI-+yl5vfAjdT0|(R5WoZE#&MxVr^+cXx^xcPQ>2+})vgad&qq&;rHXrBK{8 z6n8EB`5yj<%;Y8aAv1UH?w&p8kUj5q_v-dBX!w77=)^nn7jDns z%|mnNCBXP0|5J!f@5^w;v;R)q=c|L})OPbrr>SYromy&WHyJ5LF!aLk7lkv+kV~8q zd*@ZCqK7cWv=;)6Eg+Z4QObQR+f^9c;|7gW_emLvG_N>Kg(b|26h3mFOv7&{;?e8Z zea>F-(q^h3t2Aw=9=Grbi4`J1oHVZn6h+MqS!g|GlgJ8U@&$@C7B!w!c3&u1_Nv%8 z1WMCfT##O}szv(wYmp0W0T)NXHIF`d&9#BujsLe$#LX#2P{><$ElHD<$!QJ|S774( zD-@K&f&~Z^@-66y`Du}$Fl0;)E@*StpsA}X9@BGw*y6Ro2ot>e=kKyQjJh_K|HIjE zfvCUhzVc7VuVBL8`D#=MAZ8^buBVx)6B?sOT{c=mU!xe9z=UH;hnXk*2;K7(iO|&1 zj1JH>%o`QnzP9ig%zX!Wud777+JtkEv%Tn~(Wra-IAzGA-`ghJMy*nabZFuXIDLwfePga~0ZGVR9#wDtWzA zb^S}PzX(lIPXu%7_SYIL?LDbS6s+$)^nFQC1^Hr(A##u`fiZ|3 z9Gxw6=^Sqx{ffa98y1z#s4$l|9 zda;{b7HFSscE_g=``-DHdQf53qMHL5=V}GkW({1#0C6ZrEK{=B#1yxnZ6E-T z;?tecnw-@tgcQI~{B2YCIzik=2+Km3!)Aq*Wb+(3@J>GVu2><8fui=kI_vJA zJ34y&)pzcnw8Y=+4_~(sOGBGw=g&ePvhS;zHe|DLeiBK^F^Nf5%pm6#L=AAazN---PK%VBz#xGp(3Sn0ZcQn z?{Iz+fGed$H^JeZx>WjGAr$P}@-tY);fsh#N62?%8Gc^zc_|})@$>tcP9-Kt_S2L} zx1EA#qT?Xm+Wy`LMwm%Ya9M?MYPto!lCv()THIt-T&5vuqInUxLU;RA-SQOfFBW;; zZ)+H2Wkt}?^Wq1o4kUhZaLEyFv`ZAmv|RA7SvWDZvcl6fz9y!2+}>w=XqlC+Y4hR| zZ|d$&podr#HY$bUh}7iE!B0QPhradRW;Xku{NAKaBypGaPMolXbr@M1u_UrzH7&Wz zeiI}sJe+?DJr)-aL#!>n$5v}I{RLm%`nSUl+gRY1 zq~~Qtvz~MSbkT|b`q)qs+hv?wFM}dhd(7^o&0wfp(_6&_H+13aR9ef$0<`6^e2~5u zeE-Rl_r8TmiN@i;5|a0<8YU6)=8Jpy!K_fvCQD25$8&k&?If@aDH$s(;kpeL>OgSb zNgk~rig5Fjr=~@qdv~A-HGrddof2U973=2``ozG95~$MhTGcl>c7`pe2r#Jj{VyYQFX2R> z+(40_J6tlqJ3W!7KNdbWD}<0?hg3`auRzq#TN@`bA!m(nS&6Q9@uQsWB2cORo9Ziv zZ-(A?ADc6_|1J~7kAeGRTr#pcdY%jMfg_+h1m2f$O31;=3PAMSdCe5;zjWFD!LfLO zjzwM3MRu~=n*2zCT~ALhY2rlxg2jQsQ6Wr;7YQo#CF>`xOm`i|1d1r4EK`q7T>{_! zl*64F8x8e92JSa`^Ea&gMEOsXxE9B$XcwMVC&`h^zDK1J?;-|! zAkw2ap&}jKeKF>XT;})L4U+HzWaszIDQ!;r%TjTq*&j_w#`L=>H5UFl_DKyEIT^^N z7LIV>POclK%^MvIBT&Axb0H_ImUwKUBT49nH_%DR^r{H*y2wPGqLt}UCtV0+*~9$% z_Ast#^wepu-NEk)t?}`BLSoN!T#G`5$gcsZ)u~=_2np#=w?g`|0IS{XvNG5>B&P@| z(xzfy2A^Zh(R(8X??RjSI4^$7q;jGE;twr}sMuOu3QeBxgS=c0WB*66Ygxs}(eUkx zKrs9|F$n13XzFi)_Ah~#0(Od(rI^1rdS*ie@?uiTdidXhXQnO8toZSDyuXc1SdX4P z5&I0)ga>{hA0geo`RVfU@y{UXIvO1OGG}xB#0HC9YNHY5x$iX zGE`t_B&M7sG!jyq8~SF7P}P3-PiK+G0rZ+DQcy0Gt-o6@+Ie88GypkAf)+FLSpRehx48|Ed10zyLBfjQU4Blj=J??( zuDI+mf%yQW-EX%OC6auO6uNklnV(>IDK1P9q~mfqFZ|yyAs=zY)OFK;QLJEcpnbO` zL#$K{t!ge6rH3p=+O5WcIS*fE%UIS$yfSV4-*|?M!?8xByhR`hh5COFV9#3dX;glgVU8sH{rXu6I*X$k zD*?#%BrXrS?+n9BxS!++JJuvn&tJ?E_S@JBNj({?f2y%D}(|Rgga(VbNK7awSq1fbtH-0R zkJPh!7oX8hKZ-e(l(f~HdCUwns6X^ayoe9b!?l>obff3C*CUhr$?6RGLOg4unon8} zR|3}D>h#4Twl2((!I16eu&iDleu-w7eVsfiuo5;@{nidnmO^_=`aA{&c&;fFiLBO4 zC|P;cdn->gbQMg%!o0!7GiW*+rmXr!4q=l)$+krO($(MGs`@vq=nZX^`loW?V>Z7) zN^a=wzh;)g2u95-FJ(gSIC!E5FwKBPTJdVpRCivPbIS|q-)Fx1HM^}+EY$&rUU-=~ zxaKywP?RsFfbifGCiA97VwgZtL`llj!Dwb8q<#j9LY^MJ_Z%L5CpaiNDUR}DK)sGx zoI=rbh^iv?k9K!K-lP)e{A7Lxy)i63nz(>`+m|tfu8N{(p?b8nXSVcp^C2`uJM3EU zTP}$?@-*|UnCt?7}59#MKUj8E!>(v6xDw=MkGZ|ZTN z*z>7!1yctzNM9H3jNmy;=--(e5we0(copbY$*$#*nm6mmG)Ieu*~$sUn=DN;O5Vn3-gad5|69~Tbqj$RD6U<441K8VIn+`$r| z+{&fk!rCFcQlOfJVVb4=t-_nw1QP;B<|Y<6{9e%OHh&Ng)-IPi`@nS~M9u%wx)d!m(lq#DlE_Jxf2JlBDD%(>p znAEQ{{Rg+#U)nvIWb3I|T@HK}gl^F#T05$y-f-KVF;|^q`VGK2t>*VEHC?R{Q-|+iv)kG0z)7FiZ)YGuZ8?D1;2h@=j8Tru> zeqRFo`m3rWz+6#WwgwKpb#>4&q_gz+JnPyrBckP=1oLVHxkZWLR076Sc-ZxY@HW=v=u6o!SsiYPh3pml5sBd?>NGHWNU5%gT=En zex^0F6m*U)*nCv*SgrJd|B0nC3B7KW4!2rUW90_4bal2))dAm*3@h9TDcl{E49d## z=>eMj=%b=Flaf0wQ|JQhf^VgU2v=s2{#dp{&f!Z}fw#1h>~lGmP1UjL45bS8)R)u$ zz+fDP{wm-9asT1<(F}qQ9}o>`!EvXx>Nouwa{*DiBy_BC1e!h-y8O z$Z8kXOM-Ds0{ObzfzT6&&~ptZ@;GOdRhS)-kZXM9gy48elG1+Cy|j2eDDZMO=yUc! zj2VHYu-OeXY$iIL?Zh;g`GpGlaXE5T8TwBjeB z++QFr%{Jm%6YM>2 z1$}I3E-zuAOwjzVMU62BvLH2l2^av&gqPI7-LEyiB)O2@2`pt*QI8SjUx+uAc7>j zUscs?p^D^%LerZOs|5-5k33^cFWTNwG>R5iVW*{4eB^Ni)M2?~1M5Q0NCUMp$D`*& zC5W#pQyhv3!t-sQH-dr%jfRMuRgzQWQ|O2yka*|TBh4uz_-8KjpjWzTOl&7`7GP@`>W}Ao0rHkkECS(Sd>PQNTm)>|L<3>(&g~$`4mw*-SK3%O-N_a3k>f$&qgY z&P^20@pJ{5@=Pah#1jCWCC3zt1AF2WOGD~MhGeq|120CN#yVo^XJl)_egEf!X460N z>L`WxpkYrcan^i?@rnf4_Hm-1V%t3-+AX=8wA&a~R1PoXDv+BcJ#WW!$SYnpAg+bb zwmZ$`CS7)7?m%8d`DhMdO#AusXAz0M(_B=CKhb2eU=Ng{EG%D&9E^~^&j-AQ7V~K{ zwW%Qih3r>t=gQ6ip42OW4^Es+dEQEjD&gB0tR$Cax6bgoMbM$r8x@S|^cjA!fq%ssEe zy+i$9FJ()GW;=Jep5P@=V1KeHLW2u(5)7f`a?n_&luCqzBll-T5?^~BFo3!}MC)vR zFf$!{`MSUMN$${D4LXq&M-?CbV@iTwx^NK4SL4e5;C6mAAG>^5%$l8p5j%gun1B?y zCb_PFg8QH4XWEl)LxrZ{@}MobT<257E1RX|mvcNFB|=;#XCt9^w2X(4>W@+T;)UeP zIE8F45{zSKT2j|)VxwB=5iAJgcW6#$nTB1+6lrHWa)lGHpCrquq~HmT1t7-R8Aos=QfVGhS}GLc09u^5>;Q&>&qDVkJBy6t?8^Bag3)<9XE3G6cF@(-$bL$Dke*J(YOQkoMb=)+m z4OuX!NvStUPRhYd<-UE&bp8~UtuT>wc1b?;f|je!k|8`RsgoD|Y6bmtB!XENSnn!z z88}Cznl^E>A=-e05a;p2uC5pM3an*`#vi_=b=a(A;9>ZA@*HqG3*bZ7+hH zrOC0*iEp|tz7V^T#87�+y@Zt>hsF$=x=I!0vTHZb7xYG1Asp-crVjeq-D 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

VItHAmKY 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�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

X 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

-
+
{children}
diff --git a/app/javascript/mastodon/features/annual_report/archetype.tsx b/app/javascript/mastodon/features/annual_report/archetype.tsx new file mode 100644 index 00000000000000..fffbc1803ecbe0 --- /dev/null +++ b/app/javascript/mastodon/features/annual_report/archetype.tsx @@ -0,0 +1,69 @@ +import { FormattedMessage } from 'react-intl'; + +import booster from '@/images/archetypes/booster.png'; +import lurker from '@/images/archetypes/lurker.png'; +import oracle from '@/images/archetypes/oracle.png'; +import pollster from '@/images/archetypes/pollster.png'; +import replier from '@/images/archetypes/replier.png'; +import type { Archetype as ArchetypeData } from 'mastodon/models/annual_report'; + +export const Archetype: React.FC<{ + data: ArchetypeData; +}> = ({ data }) => { + let illustration, label; + + switch (data) { + case 'booster': + illustration = booster; + label = ( + + ); + break; + case 'replier': + illustration = replier; + label = ( + + ); + break; + case 'pollster': + illustration = pollster; + label = ( + + ); + break; + case 'lurker': + illustration = lurker; + label = ( + + ); + break; + case 'oracle': + illustration = oracle; + label = ( + + ); + break; + } + + return ( +
+
{label}
+ +
+ ); +}; diff --git a/app/javascript/mastodon/features/annual_report/followers.tsx b/app/javascript/mastodon/features/annual_report/followers.tsx new file mode 100644 index 00000000000000..196013ae9d6b0c --- /dev/null +++ b/app/javascript/mastodon/features/annual_report/followers.tsx @@ -0,0 +1,69 @@ +import { FormattedMessage, FormattedNumber } from 'react-intl'; + +import { Sparklines, SparklinesCurve } from 'react-sparklines'; + +import { ShortNumber } from 'mastodon/components/short_number'; +import type { TimeSeriesMonth } from 'mastodon/models/annual_report'; + +export const Followers: React.FC<{ + data: TimeSeriesMonth[]; + total?: number; +}> = ({ data, total }) => { + const change = data.reduce((sum, item) => sum + item.followers, 0); + + const cumulativeGraph = data.reduce( + (newData, item) => [ + ...newData, + item.followers + (newData[newData.length - 1] ?? 0), + ], + [0], + ); + + return ( +
+ + + + + + + + + + + + + +
+
+ {change > -1 ? '+' : '-'} + +
+ +
+ + + +
+ }} + /> +
+
+
+
+ ); +}; diff --git a/app/javascript/mastodon/features/annual_report/highlighted_post.tsx b/app/javascript/mastodon/features/annual_report/highlighted_post.tsx new file mode 100644 index 00000000000000..3a2a70713da64b --- /dev/null +++ b/app/javascript/mastodon/features/annual_report/highlighted_post.tsx @@ -0,0 +1,105 @@ +/* eslint-disable @typescript-eslint/no-unsafe-return, + @typescript-eslint/no-explicit-any, + @typescript-eslint/no-unsafe-assignment */ + +import { useCallback } from 'react'; + +import { FormattedMessage } from 'react-intl'; + +import { toggleStatusSpoilers } from 'mastodon/actions/statuses'; +import { DetailedStatus } from 'mastodon/features/status/components/detailed_status'; +import { me } from 'mastodon/initial_state'; +import type { TopStatuses } from 'mastodon/models/annual_report'; +import { makeGetStatus, makeGetPictureInPicture } from 'mastodon/selectors'; +import { useAppSelector, useAppDispatch } from 'mastodon/store'; + +const getStatus = makeGetStatus() as unknown as (arg0: any, arg1: any) => any; +const getPictureInPicture = makeGetPictureInPicture() as unknown as ( + arg0: any, + arg1: any, +) => any; + +export const HighlightedPost: React.FC<{ + data: TopStatuses; +}> = ({ data }) => { + let statusId, label; + + if (data.by_reblogs) { + statusId = data.by_reblogs; + label = ( + + ); + } else if (data.by_favourites) { + statusId = data.by_favourites; + label = ( + + ); + } else { + statusId = data.by_replies; + label = ( + + ); + } + + const dispatch = useAppDispatch(); + const domain = useAppSelector((state) => state.meta.get('domain')); + const status = useAppSelector((state) => + statusId ? getStatus(state, { id: statusId }) : undefined, + ); + const pictureInPicture = useAppSelector((state) => + statusId ? getPictureInPicture(state, { id: statusId }) : undefined, + ); + const account = useAppSelector((state) => + me ? state.accounts.get(me) : undefined, + ); + + const handleToggleHidden = useCallback(() => { + dispatch(toggleStatusSpoilers(statusId)); + }, [dispatch, statusId]); + + if (!status) { + return ( +
+ ); + } + + const displayName = ( + + + + ), + }} + /> + + {label} + + ); + + return ( +
+ +
+ ); +}; diff --git a/app/javascript/mastodon/features/annual_report/index.tsx b/app/javascript/mastodon/features/annual_report/index.tsx new file mode 100644 index 00000000000000..91f03330c01472 --- /dev/null +++ b/app/javascript/mastodon/features/annual_report/index.tsx @@ -0,0 +1,99 @@ +import { useState, useEffect } from 'react'; + +import { FormattedMessage } from 'react-intl'; + +import { + importFetchedStatuses, + importFetchedAccounts, +} from 'mastodon/actions/importer'; +import { apiRequestGet, apiRequestPost } from 'mastodon/api'; +import { LoadingIndicator } from 'mastodon/components/loading_indicator'; +import { me } from 'mastodon/initial_state'; +import type { Account } from 'mastodon/models/account'; +import type { AnnualReport as AnnualReportData } from 'mastodon/models/annual_report'; +import type { Status } from 'mastodon/models/status'; +import { useAppSelector, useAppDispatch } from 'mastodon/store'; + +import { Archetype } from './archetype'; +import { Followers } from './followers'; +import { HighlightedPost } from './highlighted_post'; +import { MostUsedHashtag } from './most_used_hashtag'; +import { NewPosts } from './new_posts'; +import { Percentile } from './percentile'; + +interface AnnualReportResponse { + annual_reports: AnnualReportData[]; + accounts: Account[]; + statuses: Status[]; +} + +export const AnnualReport: React.FC<{ + year: string; +}> = ({ year }) => { + const [response, setResponse] = useState(null); + const [loading, setLoading] = useState(false); + const currentAccount = useAppSelector((state) => + me ? state.accounts.get(me) : undefined, + ); + const dispatch = useAppDispatch(); + + useEffect(() => { + setLoading(true); + + apiRequestGet(`v1/annual_reports/${year}`) + .then((data) => { + dispatch(importFetchedStatuses(data.statuses)); + dispatch(importFetchedAccounts(data.accounts)); + + setResponse(data); + setLoading(false); + + return apiRequestPost(`v1/annual_reports/${year}/read`); + }) + .catch(() => { + setLoading(false); + }); + }, [dispatch, year, setResponse, setLoading]); + + if (loading) { + return ; + } + + const report = response?.annual_reports[0]; + + if (!report) { + return null; + } + + return ( +
+
+

+ +

+

+ +

+
+ +
+ + + + + + +
+
+ ); +}; diff --git a/app/javascript/mastodon/features/annual_report/most_used_app.tsx b/app/javascript/mastodon/features/annual_report/most_used_app.tsx new file mode 100644 index 00000000000000..2d8c8aa582a292 --- /dev/null +++ b/app/javascript/mastodon/features/annual_report/most_used_app.tsx @@ -0,0 +1,29 @@ +import { FormattedMessage } from 'react-intl'; + +import type { NameAndCount } from 'mastodon/models/annual_report'; + +export const MostUsedApp: React.FC<{ + data: NameAndCount[]; +}> = ({ data }) => { + const app = data[0]; + + if (!app) { + return ( +
+ ); + } + + return ( +
+
+ {app.name} +
+
+ +
+
+ ); +}; diff --git a/app/javascript/mastodon/features/annual_report/most_used_hashtag.tsx b/app/javascript/mastodon/features/annual_report/most_used_hashtag.tsx new file mode 100644 index 00000000000000..0e4c78f6398930 --- /dev/null +++ b/app/javascript/mastodon/features/annual_report/most_used_hashtag.tsx @@ -0,0 +1,29 @@ +import { FormattedMessage } from 'react-intl'; + +import type { NameAndCount } from 'mastodon/models/annual_report'; + +export const MostUsedHashtag: React.FC<{ + data: NameAndCount[]; +}> = ({ data }) => { + const hashtag = data[0]; + + if (!hashtag) { + return ( +
+ ); + } + + return ( +
+
+ #{hashtag.name} +
+
+ +
+
+ ); +}; diff --git a/app/javascript/mastodon/features/annual_report/new_posts.tsx b/app/javascript/mastodon/features/annual_report/new_posts.tsx new file mode 100644 index 00000000000000..9ead0176b2ad7d --- /dev/null +++ b/app/javascript/mastodon/features/annual_report/new_posts.tsx @@ -0,0 +1,53 @@ +import { FormattedNumber, FormattedMessage } from 'react-intl'; + +import ChatBubbleIcon from '@/material-icons/400-24px/chat_bubble.svg?react'; +import type { TimeSeriesMonth } from 'mastodon/models/annual_report'; + +export const NewPosts: React.FC<{ + data: TimeSeriesMonth[]; +}> = ({ data }) => { + const posts = data.reduce((sum, item) => sum + item.statuses, 0); + + return ( +
+ + + + + + + + + + + +
+ +
+
+ +
+
+ ); +}; diff --git a/app/javascript/mastodon/features/annual_report/percentile.tsx b/app/javascript/mastodon/features/annual_report/percentile.tsx new file mode 100644 index 00000000000000..a758db72c1abfa --- /dev/null +++ b/app/javascript/mastodon/features/annual_report/percentile.tsx @@ -0,0 +1,53 @@ +/* eslint-disable react/jsx-no-useless-fragment */ +import { FormattedMessage, FormattedNumber } from 'react-intl'; + +import type { Percentiles } from 'mastodon/models/annual_report'; + +export const Percentile: React.FC<{ + data: Percentiles; +}> = ({ data }) => { + const percentile = data.statuses; + + return ( +
+ ( +
+ {str} +
+ ), + percentage: () => ( +
+ +
+ ), + bottomLabel: (str) => ( +
+
+ {str} +
+ + {percentile < 6 && ( +
+ +
+ )} +
+ ), + }} + > + {(message) => <>{message}} +
+
+ ); +}; diff --git a/app/javascript/mastodon/features/notifications_v2/components/notification_annual_report.tsx b/app/javascript/mastodon/features/notifications_v2/components/notification_annual_report.tsx new file mode 100644 index 00000000000000..8b92f31add50a6 --- /dev/null +++ b/app/javascript/mastodon/features/notifications_v2/components/notification_annual_report.tsx @@ -0,0 +1,59 @@ +import { useCallback } from 'react'; + +import { FormattedMessage } from 'react-intl'; + +import classNames from 'classnames'; + +import CelebrationIcon from '@/material-icons/400-24px/celebration.svg?react'; +import { openModal } from 'mastodon/actions/modal'; +import { Icon } from 'mastodon/components/icon'; +import type { NotificationGroupAnnualReport } from 'mastodon/models/notification_group'; +import { useAppDispatch } from 'mastodon/store'; + +export const NotificationAnnualReport: React.FC<{ + notification: NotificationGroupAnnualReport; + unread: boolean; +}> = ({ notification: { annualReport }, unread }) => { + const dispatch = useAppDispatch(); + const year = annualReport.year; + + const handleClick = useCallback(() => { + dispatch( + openModal({ + modalType: 'ANNUAL_REPORT', + modalProps: { year }, + }), + ); + }, [dispatch, year]); + + return ( +
+
+ +
+ +
+

+ +

+ +
+
+ ); +}; diff --git a/app/javascript/mastodon/features/notifications_v2/components/notification_group.tsx b/app/javascript/mastodon/features/notifications_v2/components/notification_group.tsx index 36f033261ae44d..d5eb851985cd99 100644 --- a/app/javascript/mastodon/features/notifications_v2/components/notification_group.tsx +++ b/app/javascript/mastodon/features/notifications_v2/components/notification_group.tsx @@ -9,6 +9,7 @@ import { useAppSelector, useAppDispatch } from 'mastodon/store'; import { NotificationAdminReport } from './notification_admin_report'; import { NotificationAdminSignUp } from './notification_admin_sign_up'; +import { NotificationAnnualReport } from './notification_annual_report'; import { NotificationFavourite } from './notification_favourite'; import { NotificationFollow } from './notification_follow'; import { NotificationFollowRequest } from './notification_follow_request'; @@ -143,6 +144,14 @@ export const NotificationGroup: React.FC<{ /> ); break; + case 'annual_report': + content = ( + + ); + break; default: return null; } diff --git a/app/javascript/mastodon/features/status/components/detailed_status.tsx b/app/javascript/mastodon/features/status/components/detailed_status.tsx index 5811efb1907f99..deb330b9a091bf 100644 --- a/app/javascript/mastodon/features/status/components/detailed_status.tsx +++ b/app/javascript/mastodon/features/status/components/detailed_status.tsx @@ -49,6 +49,7 @@ export const DetailedStatus: React.FC<{ domain: string; showMedia?: boolean; withLogo?: boolean; + overrideDisplayName?: React.ReactNode; pictureInPicture: any; onToggleHidden?: (status: any) => void; onToggleMediaVisibility?: () => void; @@ -62,6 +63,7 @@ export const DetailedStatus: React.FC<{ domain, showMedia, withLogo, + overrideDisplayName, pictureInPicture, onToggleMediaVisibility, onToggleHidden, @@ -319,7 +321,11 @@ export const DetailedStatus: React.FC<{
- + + {overrideDisplayName ?? ( + + )} + {withLogo && ( <>
diff --git a/app/javascript/mastodon/features/ui/components/annual_report_modal.tsx b/app/javascript/mastodon/features/ui/components/annual_report_modal.tsx new file mode 100644 index 00000000000000..8c39c0b3aa07a2 --- /dev/null +++ b/app/javascript/mastodon/features/ui/components/annual_report_modal.tsx @@ -0,0 +1,21 @@ +import { useEffect } from 'react'; + +import { AnnualReport } from 'mastodon/features/annual_report'; + +const AnnualReportModal: React.FC<{ + year: string; + onChangeBackgroundColor: (arg0: string) => void; +}> = ({ year, onChangeBackgroundColor }) => { + useEffect(() => { + onChangeBackgroundColor('var(--indigo-1)'); + }, [onChangeBackgroundColor]); + + return ( +
+ +
+ ); +}; + +// eslint-disable-next-line import/no-default-export +export default AnnualReportModal; diff --git a/app/javascript/mastodon/features/ui/components/modal_root.jsx b/app/javascript/mastodon/features/ui/components/modal_root.jsx index 64933fd1ae560f..42a00acf81f8cc 100644 --- a/app/javascript/mastodon/features/ui/components/modal_root.jsx +++ b/app/javascript/mastodon/features/ui/components/modal_root.jsx @@ -18,6 +18,7 @@ import { SubscribedLanguagesModal, ClosedRegistrationsModal, IgnoreNotificationsModal, + AnnualReportModal, } from 'mastodon/features/ui/util/async-components'; import { getScrollbarWidth } from 'mastodon/utils/scrollbar'; @@ -72,6 +73,7 @@ export const MODAL_COMPONENTS = { 'INTERACTION': InteractionModal, 'CLOSED_REGISTRATIONS': ClosedRegistrationsModal, 'IGNORE_NOTIFICATIONS': IgnoreNotificationsModal, + 'ANNUAL_REPORT': AnnualReportModal, }; export default class ModalRoot extends PureComponent { diff --git a/app/javascript/mastodon/features/ui/util/async-components.js b/app/javascript/mastodon/features/ui/util/async-components.js index 7e9a7af00a405e..ff5db653479cdd 100644 --- a/app/javascript/mastodon/features/ui/util/async-components.js +++ b/app/javascript/mastodon/features/ui/util/async-components.js @@ -217,3 +217,7 @@ export function NotificationRequest () { export function LinkTimeline () { return import(/*webpackChunkName: "features/link_timeline" */'../../link_timeline'); } + +export function AnnualReportModal () { + return import(/*webpackChunkName: "modals/annual_report_modal" */'../components/annual_report_modal'); +} diff --git a/app/javascript/mastodon/locales/en.json b/app/javascript/mastodon/locales/en.json index e91d6e52fce60d..5bc8c4ad711671 100644 --- a/app/javascript/mastodon/locales/en.json +++ b/app/javascript/mastodon/locales/en.json @@ -87,6 +87,24 @@ "alert.unexpected.title": "Oops!", "alt_text_badge.title": "Alt text", "announcement.announcement": "Announcement", + "annual_report.summary.archetype.booster": "The cool-hunter", + "annual_report.summary.archetype.lurker": "The lurker", + "annual_report.summary.archetype.oracle": "The oracle", + "annual_report.summary.archetype.pollster": "The pollster", + "annual_report.summary.archetype.replier": "The social butterfly", + "annual_report.summary.followers.followers": "followers", + "annual_report.summary.followers.total": "{count} total", + "annual_report.summary.here_it_is": "Here is your {year} in review:", + "annual_report.summary.highlighted_post.by_favourites": "most favourited post", + "annual_report.summary.highlighted_post.by_reblogs": "most boosted post", + "annual_report.summary.highlighted_post.by_replies": "post with the most replies", + "annual_report.summary.highlighted_post.possessive": "{name}'s", + "annual_report.summary.most_used_app.most_used_app": "most used app", + "annual_report.summary.most_used_hashtag.most_used_hashtag": "most used hashtag", + "annual_report.summary.new_posts.new_posts": "new posts", + "annual_report.summary.percentile.text": "That puts you in the topof Mastodon users.", + "annual_report.summary.percentile.we_wont_tell_bernie": "We won't tell Bernie.", + "annual_report.summary.thanks": "Thanks for being part of Mastodon!", "attachments_list.unprocessed": "(unprocessed)", "audio.hide": "Hide audio", "block_modal.remote_users_caveat": "We will ask the server {domain} to respect your decision. However, compliance is not guaranteed since some servers may handle blocks differently. Public posts may still be visible to non-logged-in users.", @@ -508,6 +526,8 @@ "notification.admin.report_statuses_other": "{name} reported {target}", "notification.admin.sign_up": "{name} signed up", "notification.admin.sign_up.name_and_others": "{name} and {count, plural, one {# other} other {# others}} signed up", + "notification.annual_report.message": "Your {year} #Wrapstodon awaits! Unveil your year's highlights and memorable moments on Mastodon!", + "notification.annual_report.view": "View #Wrapstodon", "notification.favourite": "{name} favorited your post", "notification.favourite.name_and_others_with_link": "{name} and
{count, plural, one {# other} other {# others}} favorited your post", "notification.follow": "{name} followed you", diff --git a/app/javascript/mastodon/models/annual_report.ts b/app/javascript/mastodon/models/annual_report.ts new file mode 100644 index 00000000000000..c0a101e6c872da --- /dev/null +++ b/app/javascript/mastodon/models/annual_report.ts @@ -0,0 +1,44 @@ +export interface Percentiles { + followers: number; + statuses: number; +} + +export interface NameAndCount { + name: string; + count: number; +} + +export interface TimeSeriesMonth { + month: number; + statuses: number; + following: number; + followers: number; +} + +export interface TopStatuses { + by_reblogs: number; + by_favourites: number; + by_replies: number; +} + +export type Archetype = + | 'lurker' + | 'booster' + | 'pollster' + | 'replier' + | 'oracle'; + +interface AnnualReportV1 { + most_used_apps: NameAndCount[]; + percentiles: Percentiles; + top_hashtags: NameAndCount[]; + top_statuses: TopStatuses; + time_series: TimeSeriesMonth[]; + archetype: Archetype; +} + +export interface AnnualReport { + year: number; + schema_version: number; + data: AnnualReportV1; +} diff --git a/app/javascript/mastodon/models/notification_group.ts b/app/javascript/mastodon/models/notification_group.ts index 09d407d44954a3..01a341e8dd5423 100644 --- a/app/javascript/mastodon/models/notification_group.ts +++ b/app/javascript/mastodon/models/notification_group.ts @@ -1,6 +1,7 @@ import type { ApiAccountRelationshipSeveranceEventJSON, ApiAccountWarningJSON, + ApiAnnualReportEventJSON, BaseNotificationGroupJSON, ApiNotificationGroupJSON, ApiNotificationJSON, @@ -65,6 +66,12 @@ export interface NotificationGroupSeveredRelationships event: AccountRelationshipSeveranceEvent; } +type AnnualReportEvent = ApiAnnualReportEventJSON; +export interface NotificationGroupAnnualReport + extends BaseNotification<'annual_report'> { + annualReport: AnnualReportEvent; +} + interface Report extends Omit { targetAccountId: string; } @@ -86,7 +93,8 @@ export type NotificationGroup = | NotificationGroupModerationWarning | NotificationGroupSeveredRelationships | NotificationGroupAdminSignUp - | NotificationGroupAdminReport; + | NotificationGroupAdminReport + | NotificationGroupAnnualReport; function createReportFromJSON(reportJSON: ApiReportJSON): Report { const { target_account, ...report } = reportJSON; @@ -112,6 +120,12 @@ function createAccountRelationshipSeveranceEventFromJSON( return eventJson; } +function createAnnualReportEventFromJSON( + eventJson: ApiAnnualReportEventJSON, +): AnnualReportEvent { + return eventJson; +} + export function createNotificationGroupFromJSON( groupJson: ApiNotificationGroupJSON, ): NotificationGroup { @@ -145,7 +159,6 @@ export function createNotificationGroupFromJSON( event: createAccountRelationshipSeveranceEventFromJSON(group.event), sampleAccountIds, }; - case 'moderation_warning': { const { moderation_warning, ...groupWithoutModerationWarning } = group; return { @@ -154,6 +167,14 @@ export function createNotificationGroupFromJSON( sampleAccountIds, }; } + case 'annual_report': { + const { annual_report, ...groupWithoutAnnualReport } = group; + return { + ...groupWithoutAnnualReport, + annualReport: createAnnualReportEventFromJSON(annual_report), + sampleAccountIds, + }; + } default: return { sampleAccountIds, diff --git a/app/javascript/material-icons/400-24px/celebration-fill.svg b/app/javascript/material-icons/400-24px/celebration-fill.svg new file mode 100644 index 00000000000000..d715cf2fb3cbe6 --- /dev/null +++ b/app/javascript/material-icons/400-24px/celebration-fill.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/app/javascript/material-icons/400-24px/celebration.svg b/app/javascript/material-icons/400-24px/celebration.svg new file mode 100644 index 00000000000000..1d1b19ee72cfaf --- /dev/null +++ b/app/javascript/material-icons/400-24px/celebration.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/app/javascript/material-icons/400-24px/explore-fill.svg b/app/javascript/material-icons/400-24px/explore-fill.svg index febe0a63b44b3f..919ecb580a3d08 100644 --- a/app/javascript/material-icons/400-24px/explore-fill.svg +++ b/app/javascript/material-icons/400-24px/explore-fill.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/app/javascript/material-icons/400-24px/explore.svg b/app/javascript/material-icons/400-24px/explore.svg index 547a9994217ab5..bb8ba1f4c63fe3 100644 --- a/app/javascript/material-icons/400-24px/explore.svg +++ b/app/javascript/material-icons/400-24px/explore.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/app/javascript/styles/application.scss b/app/javascript/styles/application.scss index 465b748078f2e6..109b69bca5f5ae 100644 --- a/app/javascript/styles/application.scss +++ b/app/javascript/styles/application.scss @@ -15,6 +15,7 @@ @import 'mastodon/polls'; @import 'mastodon/modal'; @import 'mastodon/emoji_picker'; +@import 'mastodon/annual_reports'; @import 'mastodon/about'; @import 'mastodon/tables'; @import 'mastodon/admin'; diff --git a/app/javascript/styles/mastodon/annual_reports.scss b/app/javascript/styles/mastodon/annual_reports.scss new file mode 100644 index 00000000000000..39784e3b5ea12b --- /dev/null +++ b/app/javascript/styles/mastodon/annual_reports.scss @@ -0,0 +1,335 @@ +:root { + --indigo-1: #17063b; + --indigo-2: #2f0c7a; + --indigo-3: #562cfc; + --indigo-5: #858afa; + --indigo-6: #cccfff; + --lime: #baff3b; + --goldenrod-2: #ffc954; +} + +.annual-report { + flex: 0 0 auto; + background: var(--indigo-1); + padding: 24px; + + &__header { + margin-bottom: 16px; + + h1 { + font-size: 25px; + font-weight: 600; + line-height: 30px; + color: var(--lime); + margin-bottom: 8px; + } + + p { + font-size: 16px; + font-weight: 600; + line-height: 20px; + color: var(--indigo-6); + } + } + + &__bento { + display: grid; + gap: 8px; + grid-template-columns: minmax(0, 1fr) minmax(0, 1fr) minmax(0, 1fr); + grid-template-rows: minmax(0, auto) minmax(0, 1fr) minmax(0, auto) minmax( + 0, + auto + ); + + &__box { + padding: 16px; + border-radius: 8px; + background: var(--indigo-2); + color: var(--indigo-5); + } + } + + &__summary { + &__most-boosted-post { + grid-column: span 2; + grid-row: span 2; + padding: 0; + + .status__content, + .content-warning { + color: var(--indigo-6); + } + + .detailed-status { + border: 0; + } + + .content-warning { + border: 0; + background: var(--indigo-1); + + .link-button { + color: var(--indigo-5); + } + } + + .detailed-status__meta__line { + border-bottom-color: var(--indigo-3); + } + + .detailed-status__meta { + text-overflow: ellipsis; + overflow: hidden; + white-space: nowrap; + } + + .detailed-status__meta, + .poll__footer, + .poll__link, + .detailed-status .logo, + .detailed-status__display-name { + color: var(--indigo-5); + } + + .detailed-status__meta .animated-number, + .detailed-status__display-name strong { + color: var(--indigo-6); + } + + .poll__chart { + background-color: var(--indigo-3); + + &.leading { + background-color: var(--goldenrod-2); + } + } + } + + &__followers { + grid-column: span 1; + text-align: center; + position: relative; + overflow: hidden; + padding-block-start: 24px; + padding-block-end: 24px; + + --sparkline-gradient-top: rgba(86, 44, 252, 50%); + --sparkline-gradient-bottom: rgba(86, 44, 252, 0%); + + &__foreground { + width: 100%; + height: 100%; + display: flex; + flex-direction: column; + align-items: center; + justify-content: center; + gap: 8px; + position: relative; + z-index: 1; + } + + &__number { + font-size: 31px; + font-weight: 600; + line-height: 37px; + color: var(--lime); + } + + &__label { + font-size: 14px; + font-weight: 600; + line-height: 17px; + color: var(--indigo-6); + } + + &__footnote { + display: block; + font-weight: 400; + opacity: 0.5; + } + + svg { + position: absolute; + bottom: 0; + inset-inline-end: 0; + pointer-events: none; + z-index: 0; + height: 70%; + width: auto; + + path:first-child { + fill: url('#gradient') !important; + fill-opacity: 1 !important; + } + + path:last-child { + stroke: var(--indigo-3) !important; + fill: none !important; + } + } + } + + &__archetype { + grid-column: span 1; + display: flex; + flex-direction: column; + align-items: center; + justify-content: center; + text-align: center; + gap: 8px; + padding: 0; + + img { + display: block; + width: 100%; + height: auto; + border-radius: 8px; + } + + &__label { + padding: 16px; + padding-bottom: 8px; + font-size: 14px; + line-height: 17px; + font-weight: 600; + color: var(--lime); + } + } + + &__most-used-app { + grid-column: span 1; + text-align: center; + display: flex; + flex-direction: column; + align-items: center; + justify-content: center; + gap: 8px; + box-sizing: border-box; + + &__label { + font-size: 14px; + line-height: 17px; + font-weight: 600; + color: var(--indigo-6); + } + + &__icon { + font-size: 14px; + line-height: 17px; + font-weight: 600; + color: var(--goldenrod-2); + } + } + + &__percentile { + grid-row: span 2; + display: flex; + flex-direction: column; + align-items: center; + justify-content: space-between; + text-align: center; + text-wrap: balance; + padding: 16px 8px; + + &__label { + font-size: 14px; + line-height: 17px; + } + + &__number { + font-size: 61px; + font-weight: 600; + line-height: 73px; + color: var(--goldenrod-2); + } + + &__footnote { + font-size: 11px; + line-height: 14px; + opacity: 0.5; + } + } + + &__new-posts { + grid-column: span 2; + text-align: center; + position: relative; + overflow: hidden; + + &__label { + font-size: 20px; + font-weight: 600; + line-height: 24px; + color: var(--indigo-6); + z-index: 1; + position: relative; + } + + &__number { + font-size: 76px; + font-weight: 600; + line-height: 91px; + color: var(--goldenrod-2); + z-index: 1; + position: relative; + } + + svg { + position: absolute; + inset-inline-start: -7px; + top: -4px; + z-index: 0; + } + } + + &__most-used-hashtag { + grid-column: span 2; + text-align: center; + overflow: hidden; + + &__hashtag { + font-size: 42px; + font-weight: 600; + line-height: 58px; + color: var(--indigo-6); + margin-inline-start: -100%; + margin-inline-end: -100%; + } + + &__label { + font-size: 14px; + font-weight: 600; + line-height: 17px; + } + } + } +} + +.annual-report-modal { + max-width: 480px; + background: var(--indigo-1); + border-radius: 16px; + display: flex; + flex-direction: column; + overflow-y: auto; + + .loading-indicator .circular-progress { + color: var(--lime); + } + + @media screen and (max-width: $no-columns-breakpoint) { + border-bottom: 0; + border-radius: 16px 16px 0 0; + } +} + +.notification-group--annual-report { + .notification-group__icon { + color: var(--lime); + } + + .notification-group__main .link-button { + font-weight: 500; + color: var(--lime); + } +} diff --git a/app/javascript/styles/mastodon/components.scss b/app/javascript/styles/mastodon/components.scss index f688b9b4ba37fd..1bfe37cee624eb 100644 --- a/app/javascript/styles/mastodon/components.scss +++ b/app/javascript/styles/mastodon/components.scss @@ -1686,7 +1686,8 @@ body > [data-popper-placement] { .status__wrapper-direct, .notification-ungrouped--direct, -.notification-group--direct { +.notification-group--direct, +.notification-group--annual-report { background: rgba($ui-highlight-color, 0.05); &:focus { @@ -5784,7 +5785,8 @@ a.status-card { inset-inline-start: 0; inset-inline-end: 0; bottom: 0; - background: rgba($base-overlay-background, 0.7); + opacity: 0.9; + background: $base-overlay-background; transition: background 0.5s; } diff --git a/app/models/notification.rb b/app/models/notification.rb index 695f39a316f6ca..7b90fd92f96ce3 100644 --- a/app/models/notification.rb +++ b/app/models/notification.rb @@ -67,6 +67,9 @@ class Notification < ApplicationRecord moderation_warning: { filterable: false, }.freeze, + annual_report: { + filterable: false, + }.freeze, 'admin.sign_up': { filterable: false, }.freeze, @@ -101,6 +104,7 @@ class Notification < ApplicationRecord belongs_to :report, inverse_of: false belongs_to :account_relationship_severance_event, inverse_of: false belongs_to :account_warning, inverse_of: false + belongs_to :generated_annual_report, inverse_of: false end validates :type, inclusion: { in: TYPES } @@ -309,7 +313,7 @@ def set_from_account self.from_account_id = activity&.status&.account_id when 'Account' self.from_account_id = activity&.id - when 'AccountRelationshipSeveranceEvent', 'AccountWarning' + when 'AccountRelationshipSeveranceEvent', 'AccountWarning', 'GeneratedAnnualReport' # These do not really have an originating account, but this is mandatory # in the data model, and the recipient's account will by definition # always exist diff --git a/app/models/notification_group.rb b/app/models/notification_group.rb index b6aa4d309caa5a..9331b9406f793b 100644 --- a/app/models/notification_group.rb +++ b/app/models/notification_group.rb @@ -51,6 +51,7 @@ def self.from_notifications(notifications, pagination_range: nil, grouped_types: :report, :account_relationship_severance_event, :account_warning, + :generated_annual_report, to: :notification, prefix: false class << self diff --git a/app/serializers/rest/annual_report_event_serializer.rb b/app/serializers/rest/annual_report_event_serializer.rb new file mode 100644 index 00000000000000..555a596357cdef --- /dev/null +++ b/app/serializers/rest/annual_report_event_serializer.rb @@ -0,0 +1,9 @@ +# frozen_string_literal: true + +class REST::AnnualReportEventSerializer < ActiveModel::Serializer + attributes :year + + def year + object.year.to_s + end +end diff --git a/app/serializers/rest/notification_group_serializer.rb b/app/serializers/rest/notification_group_serializer.rb index 7e8f00df3c7189..f4af842e38dca7 100644 --- a/app/serializers/rest/notification_group_serializer.rb +++ b/app/serializers/rest/notification_group_serializer.rb @@ -13,6 +13,7 @@ class REST::NotificationGroupSerializer < ActiveModel::Serializer belongs_to :report, if: :report_type?, serializer: REST::ReportSerializer belongs_to :account_relationship_severance_event, key: :event, if: :relationship_severance_event?, serializer: REST::AccountRelationshipSeveranceEventSerializer belongs_to :account_warning, key: :moderation_warning, if: :moderation_warning_event?, serializer: REST::AccountWarningSerializer + belongs_to :generated_annual_report, key: :annual_report, if: :annual_report_event?, serializer: REST::AnnualReportEventSerializer def sample_account_ids object.sample_accounts.pluck(:id).map(&:to_s) @@ -38,6 +39,10 @@ def moderation_warning_event? object.type == :moderation_warning end + def annual_report_event? + object.type == :annual_report + end + def page_min_id object.pagination_data[:min_id].to_s end diff --git a/app/services/notify_service.rb b/app/services/notify_service.rb index 9aebab787ee165..0cf56c5a247b1d 100644 --- a/app/services/notify_service.rb +++ b/app/services/notify_service.rb @@ -3,7 +3,7 @@ class NotifyService < BaseService include Redisable - # TODO: the severed_relationships type probably warrants email notifications + # TODO: the severed_relationships and annual_report types probably warrants email notifications NON_EMAIL_TYPES = %i( admin.report admin.sign_up @@ -12,6 +12,7 @@ class NotifyService < BaseService status moderation_warning severed_relationships + annual_report ).freeze class BaseCondition @@ -25,6 +26,7 @@ class BaseCondition poll update account_warning + annual_report ).freeze def initialize(notification) @@ -100,7 +102,7 @@ def statuses_that_mention_sender class DropCondition < BaseCondition def drop? blocked = @recipient.unavailable? - blocked ||= from_self? && %i(poll severed_relationships moderation_warning).exclude?(@notification.type) + blocked ||= from_self? && %i(poll severed_relationships moderation_warning annual_report).exclude?(@notification.type) return blocked if message? && from_staff? diff --git a/config/routes/api.rb b/config/routes/api.rb index 57ce3ba9fd45c7..ccdd83dec7df1f 100644 --- a/config/routes/api.rb +++ b/config/routes/api.rb @@ -52,7 +52,7 @@ resources :scheduled_statuses, only: [:index, :show, :update, :destroy] resources :preferences, only: [:index] - resources :annual_reports, only: [:index] do + resources :annual_reports, only: [:index, :show] do member do post :read end From 871e3b25e8da711bc4e297ed23e476976e0cd0f8 Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" <41898282+github-actions[bot]@users.noreply.github.com> Date: Wed, 6 Nov 2024 09:21:13 +0100 Subject: [PATCH 132/357] New Crowdin Translations (automated) (#32782) Co-authored-by: GitHub Actions --- app/javascript/mastodon/locales/br.json | 2 ++ app/javascript/mastodon/locales/ca.json | 12 ++++++++++++ app/javascript/mastodon/locales/de.json | 20 ++++++++++++++++++++ app/javascript/mastodon/locales/eo.json | 2 ++ app/javascript/mastodon/locales/es-AR.json | 9 +++++++++ app/javascript/mastodon/locales/es-MX.json | 9 +++++++++ app/javascript/mastodon/locales/es.json | 9 +++++++++ app/javascript/mastodon/locales/fi.json | 6 ++++++ app/javascript/mastodon/locales/ga.json | 22 ++++++++++++++++++++++ app/javascript/mastodon/locales/gl.json | 10 ++++++++++ app/javascript/mastodon/locales/is.json | 20 ++++++++++++++++++++ app/javascript/mastodon/locales/lt.json | 20 ++++++++++++++++++++ app/javascript/mastodon/locales/nl.json | 20 ++++++++++++++++++++ app/javascript/mastodon/locales/pt-BR.json | 20 ++++++++++++++++++++ app/javascript/mastodon/locales/sq.json | 15 +++++++++++++++ app/javascript/mastodon/locales/sv.json | 7 +++++++ app/javascript/mastodon/locales/zh-CN.json | 20 ++++++++++++++++++++ app/javascript/mastodon/locales/zh-TW.json | 17 +++++++++++++++++ config/locales/simple_form.ko.yml | 8 ++++---- 19 files changed, 244 insertions(+), 4 deletions(-) diff --git a/app/javascript/mastodon/locales/br.json b/app/javascript/mastodon/locales/br.json index 575bc567241b6a..13ca521ab07fd3 100644 --- a/app/javascript/mastodon/locales/br.json +++ b/app/javascript/mastodon/locales/br.json @@ -82,6 +82,8 @@ "alert.unexpected.message": "Ur fazi dic'hortozet zo degouezhet.", "alert.unexpected.title": "Hopala !", "announcement.announcement": "Kemennad", + "annual_report.summary.followers.followers": "heulier", + "annual_report.summary.highlighted_post.possessive": "{name}", "attachments_list.unprocessed": "(ket meret)", "audio.hide": "Kuzhat ar c'hleved", "block_modal.show_less": "Diskouez nebeutoc'h", diff --git a/app/javascript/mastodon/locales/ca.json b/app/javascript/mastodon/locales/ca.json index e5c8440236b684..160a74af4fae6d 100644 --- a/app/javascript/mastodon/locales/ca.json +++ b/app/javascript/mastodon/locales/ca.json @@ -87,6 +87,18 @@ "alert.unexpected.title": "Vaja!", "alt_text_badge.title": "Text alternatiu", "announcement.announcement": "Anunci", + "annual_report.summary.archetype.oracle": "L'Oracle", + "annual_report.summary.followers.followers": "seguidors", + "annual_report.summary.followers.total": "{count} en total", + "annual_report.summary.here_it_is": "El repàs del vostre {year}:", + "annual_report.summary.highlighted_post.by_favourites": "la publicació més afavorida", + "annual_report.summary.highlighted_post.by_reblogs": "la publicació més impulsada", + "annual_report.summary.highlighted_post.by_replies": "la publicació amb més respostes", + "annual_report.summary.highlighted_post.possessive": "de {name}", + "annual_report.summary.most_used_app.most_used_app": "l'aplicació més utilitzada", + "annual_report.summary.most_used_hashtag.most_used_hashtag": "l'etiqueta més utilitzada", + "annual_report.summary.new_posts.new_posts": "publicacions noves", + "annual_report.summary.thanks": "Gràcies per formar part de Mastodon!", "attachments_list.unprocessed": "(sense processar)", "audio.hide": "Amaga l'àudio", "block_modal.remote_users_caveat": "Li demanarem al servidor {domain} que respecti la vostra decisió, tot i que no podem garantir-ho, ja que alguns servidors gestionen de forma diferent els blocatges. És possible que els usuaris no autenticats puguin veure les publicacions públiques.", diff --git a/app/javascript/mastodon/locales/de.json b/app/javascript/mastodon/locales/de.json index 1d59b1472448af..d048a191e39adf 100644 --- a/app/javascript/mastodon/locales/de.json +++ b/app/javascript/mastodon/locales/de.json @@ -87,6 +87,24 @@ "alert.unexpected.title": "Oha!", "alt_text_badge.title": "Bildbeschreibung", "announcement.announcement": "Ankündigung", + "annual_report.summary.archetype.booster": "Trendjäger*in", + "annual_report.summary.archetype.lurker": "Beobachter*in", + "annual_report.summary.archetype.oracle": "Orakel", + "annual_report.summary.archetype.pollster": "Meinungsforscher*in", + "annual_report.summary.archetype.replier": "Geselliger Schmetterling", + "annual_report.summary.followers.followers": "Follower", + "annual_report.summary.followers.total": "{count} insgesamt", + "annual_report.summary.here_it_is": "Dein Jahresrückblick für {year}:", + "annual_report.summary.highlighted_post.by_favourites": "am häufigsten favorisierter Beitrag", + "annual_report.summary.highlighted_post.by_reblogs": "am häufigsten geteilter Beitrag", + "annual_report.summary.highlighted_post.by_replies": "Beitrag mit den meisten Antworten", + "annual_report.summary.highlighted_post.possessive": "{name}", + "annual_report.summary.most_used_app.most_used_app": "am häufigsten verwendete App", + "annual_report.summary.most_used_hashtag.most_used_hashtag": "am häufigsten verwendeter Hashtag", + "annual_report.summary.new_posts.new_posts": "neue Beiträge", + "annual_report.summary.percentile.text": "Damit gehörst du zu den oberstender Mastodon-Nutzer*innen.", + "annual_report.summary.percentile.we_wont_tell_bernie": "Wir werden Bernie nichts verraten.", + "annual_report.summary.thanks": "Danke, dass du Teil von Mastodon bist!", "attachments_list.unprocessed": "(ausstehend)", "audio.hide": "Audio ausblenden", "block_modal.remote_users_caveat": "Wir werden den Server {domain} bitten, deine Entscheidung zu respektieren. Allerdings kann nicht garantiert werden, dass sie eingehalten wird, weil einige Server Blockierungen unterschiedlich handhaben können. Öffentliche Beiträge können für nicht angemeldete Nutzer*innen weiterhin sichtbar sein.", @@ -508,6 +526,8 @@ "notification.admin.report_statuses_other": "{name} meldete {target}", "notification.admin.sign_up": "{name} registrierte sich", "notification.admin.sign_up.name_and_others": "{name} und {count, plural, one {# weitere Person} other {# weitere Personen}} registrierten sich", + "notification.annual_report.message": "Dein {year} #Wrapstodon erwartet dich! Lass deine Highlights und unvergesslichen Momente auf Mastodon erneut aufleben!", + "notification.annual_report.view": "#Wrapstodon ansehen", "notification.favourite": "{name} favorisierte deinen Beitrag", "notification.favourite.name_and_others_with_link": "{name} und {count, plural, one {# weitere Person} other {# weitere Personen}} favorisierten deinen Beitrag", "notification.follow": "{name} folgt dir", diff --git a/app/javascript/mastodon/locales/eo.json b/app/javascript/mastodon/locales/eo.json index ee4d733ab89f00..6cfc94d139a42c 100644 --- a/app/javascript/mastodon/locales/eo.json +++ b/app/javascript/mastodon/locales/eo.json @@ -87,6 +87,8 @@ "alert.unexpected.title": "Aj!", "alt_text_badge.title": "Alt-teksto", "announcement.announcement": "Anonco", + "annual_report.summary.new_posts.new_posts": "novaj afiŝoj", + "annual_report.summary.thanks": "Dankon pro esti parto de Mastodon!", "attachments_list.unprocessed": "(neprilaborita)", "audio.hide": "Kaŝi aŭdion", "block_modal.remote_users_caveat": "Ni petos al la servilo {domain} respekti vian elekton. Tamen, plenumo ne estas garantiita ĉar iuj serviloj eble manipulas blokojn malsame. Publikaj afiŝoj eble ankoraŭ estas videbla por ne-ensalutintaj uzantoj.", diff --git a/app/javascript/mastodon/locales/es-AR.json b/app/javascript/mastodon/locales/es-AR.json index e8302a4c75da44..b7e5b919afa495 100644 --- a/app/javascript/mastodon/locales/es-AR.json +++ b/app/javascript/mastodon/locales/es-AR.json @@ -87,6 +87,15 @@ "alert.unexpected.title": "¡Epa!", "alt_text_badge.title": "Texto alternativo", "announcement.announcement": "Anuncio", + "annual_report.summary.followers.followers": "seguidores", + "annual_report.summary.here_it_is": "Aquí está tu resumen de {year}:", + "annual_report.summary.highlighted_post.by_reblogs": "publicación más impulsada", + "annual_report.summary.highlighted_post.by_replies": "publicación con más respuestas", + "annual_report.summary.highlighted_post.possessive": "de {name}", + "annual_report.summary.most_used_app.most_used_app": "aplicación más usada", + "annual_report.summary.most_used_hashtag.most_used_hashtag": "etiqueta más usada", + "annual_report.summary.new_posts.new_posts": "nuevas publicaciones", + "annual_report.summary.thanks": "¡Gracias por ser parte de Mastodon!", "attachments_list.unprocessed": "[sin procesar]", "audio.hide": "Ocultar audio", "block_modal.remote_users_caveat": "Le pediremos al servidor {domain} que respete tu decisión. Sin embargo, el cumplimiento no está garantizado, ya que algunos servidores pueden manejar los bloqueos de forma diferente. Los mensajes públicos todavía podrían estar visibles para los usuarios no conectados.", diff --git a/app/javascript/mastodon/locales/es-MX.json b/app/javascript/mastodon/locales/es-MX.json index c73a64c4e0bda9..40061d1cf28572 100644 --- a/app/javascript/mastodon/locales/es-MX.json +++ b/app/javascript/mastodon/locales/es-MX.json @@ -87,6 +87,15 @@ "alert.unexpected.title": "¡Ups!", "alt_text_badge.title": "Texto alternativo", "announcement.announcement": "Anuncio", + "annual_report.summary.followers.followers": "seguidores", + "annual_report.summary.here_it_is": "Aquí está tu resumen de {year}:", + "annual_report.summary.highlighted_post.by_reblogs": "publicación más impulsada", + "annual_report.summary.highlighted_post.by_replies": "publicación con más respuestas", + "annual_report.summary.highlighted_post.possessive": "de {name}", + "annual_report.summary.most_used_app.most_used_app": "aplicación más usada", + "annual_report.summary.most_used_hashtag.most_used_hashtag": "etiqueta más usada", + "annual_report.summary.new_posts.new_posts": "nuevas publicaciones", + "annual_report.summary.thanks": "¡Gracias por ser parte de Mastodon!", "attachments_list.unprocessed": "(sin procesar)", "audio.hide": "Ocultar audio", "block_modal.remote_users_caveat": "Le pediremos al servidor {domain} que respete tu decisión. Sin embargo, el cumplimiento no está garantizado ya que algunos servidores pueden manejar bloques de forma diferente. Las publicaciones públicas pueden ser todavía visibles para los usuarios no conectados.", diff --git a/app/javascript/mastodon/locales/es.json b/app/javascript/mastodon/locales/es.json index dea526f8a0c218..2de5a4136ada44 100644 --- a/app/javascript/mastodon/locales/es.json +++ b/app/javascript/mastodon/locales/es.json @@ -87,6 +87,15 @@ "alert.unexpected.title": "¡Ups!", "alt_text_badge.title": "Texto alternativo", "announcement.announcement": "Anuncio", + "annual_report.summary.followers.followers": "seguidores", + "annual_report.summary.here_it_is": "Aquí está tu resumen de {year}:", + "annual_report.summary.highlighted_post.by_reblogs": "publicación más impulsada", + "annual_report.summary.highlighted_post.by_replies": "publicación con más respuestas", + "annual_report.summary.highlighted_post.possessive": "de {name}", + "annual_report.summary.most_used_app.most_used_app": "aplicación más usada", + "annual_report.summary.most_used_hashtag.most_used_hashtag": "etiqueta más usada", + "annual_report.summary.new_posts.new_posts": "nuevas publicaciones", + "annual_report.summary.thanks": "¡Gracias por ser parte de Mastodon!", "attachments_list.unprocessed": "(sin procesar)", "audio.hide": "Ocultar audio", "block_modal.remote_users_caveat": "Le pediremos al servidor {domain} que respete tu decisión. Sin embargo, el cumplimiento no está garantizado, ya que algunos servidores pueden manejar bloqueos de forma distinta. Los mensajes públicos pueden ser todavía visibles para los usuarios que no hayan iniciado sesión.", diff --git a/app/javascript/mastodon/locales/fi.json b/app/javascript/mastodon/locales/fi.json index f06566df752f20..32069b1a03801b 100644 --- a/app/javascript/mastodon/locales/fi.json +++ b/app/javascript/mastodon/locales/fi.json @@ -87,6 +87,11 @@ "alert.unexpected.title": "Hups!", "alt_text_badge.title": "Vaihtoehtoinen teksti", "announcement.announcement": "Tiedote", + "annual_report.summary.archetype.replier": "Sosiaalinen perhonen", + "annual_report.summary.highlighted_post.by_reblogs": "tehostetuin julkaisu", + "annual_report.summary.most_used_app.most_used_app": "käytetyin sovellus", + "annual_report.summary.most_used_hashtag.most_used_hashtag": "käytetyin aihetunniste", + "annual_report.summary.thanks": "Kiitos, että olet osa Mastodonia!", "attachments_list.unprocessed": "(käsittelemätön)", "audio.hide": "Piilota ääni", "block_modal.remote_users_caveat": "Pyydämme palvelinta {domain} kunnioittamaan päätöstäsi. Myötämielisyyttä ei kuitenkaan taata, koska jotkin palvelimet voivat käsitellä estoja eri tavalla. Julkiset julkaisut voivat silti näkyä kirjautumattomille käyttäjille.", @@ -508,6 +513,7 @@ "notification.admin.report_statuses_other": "{name} raportoi käyttäjän {target}", "notification.admin.sign_up": "{name} rekisteröityi", "notification.admin.sign_up.name_and_others": "{name} ja {count, plural, one {# muu} other {# muuta}} rekisteröityivät", + "notification.annual_report.view": "Näytä #Wrapstodon", "notification.favourite": "{name} lisäsi julkaisusi suosikkeihinsa", "notification.favourite.name_and_others_with_link": "{name} ja {count, plural, one {# muu} other {# muuta}} lisäsivät julkaisusi suosikkeihinsa", "notification.follow": "{name} seurasi sinua", diff --git a/app/javascript/mastodon/locales/ga.json b/app/javascript/mastodon/locales/ga.json index aa7892163bcd54..3181d7978e1e6e 100644 --- a/app/javascript/mastodon/locales/ga.json +++ b/app/javascript/mastodon/locales/ga.json @@ -87,6 +87,24 @@ "alert.unexpected.title": "Hiúps!", "alt_text_badge.title": "Téacs alt", "announcement.announcement": "Fógra", + "annual_report.summary.archetype.booster": "An sealgair fionnuar", + "annual_report.summary.archetype.lurker": "An lurker", + "annual_report.summary.archetype.oracle": "An oracal", + "annual_report.summary.archetype.pollster": "An pollaire", + "annual_report.summary.archetype.replier": "An féileacán sóisialta", + "annual_report.summary.followers.followers": "leanúna", + "annual_report.summary.followers.total": "{count} san iomlán", + "annual_report.summary.here_it_is": "Seo do {year} faoi athbhreithniú:", + "annual_report.summary.highlighted_post.by_favourites": "post is fearr leat", + "annual_report.summary.highlighted_post.by_reblogs": "post is treisithe", + "annual_report.summary.highlighted_post.by_replies": "post leis an líon is mó freagraí", + "annual_report.summary.highlighted_post.possessive": "{name}'s", + "annual_report.summary.most_used_app.most_used_app": "aip is mó a úsáidtear", + "annual_report.summary.most_used_hashtag.most_used_hashtag": "hashtag is mó a úsáidtear", + "annual_report.summary.new_posts.new_posts": "postanna nua", + "annual_report.summary.percentile.text": "Cuireann sé sin i mbarr úsáideoirí Mastodon.", + "annual_report.summary.percentile.we_wont_tell_bernie": "Ní inseoidh muid do Bernie.", + "annual_report.summary.thanks": "Go raibh maith agat as a bheith mar chuid de Mastodon!", "attachments_list.unprocessed": "(neamhphróiseáilte)", "audio.hide": "Cuir fuaim i bhfolach", "block_modal.remote_users_caveat": "Iarrfaimid ar an bhfreastalaí {domain} meas a bheith agat ar do chinneadh. Mar sin féin, ní ráthaítear comhlíonadh toisc go bhféadfadh roinnt freastalaithe bloic a láimhseáil ar bhealach difriúil. Seans go mbeidh postálacha poiblí fós le feiceáil ag úsáideoirí nach bhfuil logáilte isteach.", @@ -386,6 +404,7 @@ "interaction_modal.description.follow": "Le cuntas ar Mastodon, is féidir leat {name} a leanúint chun a gcuid postálacha a fháil i do fhotha baile.", "interaction_modal.description.reblog": "Le cuntas ar Mastodon, is féidir leat an postáil seo a threisiú chun é a roinnt le do leantóirí féin.", "interaction_modal.description.reply": "Le cuntas ar Mastodon, is féidir leat freagra a thabhairt ar an bpostáil seo.", + "interaction_modal.description.vote": "Le cuntas ar Mastodon, is féidir leat vótáil sa vótaíocht seo.", "interaction_modal.login.action": "Thabhairt dom abhaile", "interaction_modal.login.prompt": "Fearann ​​do fhreastalaí baile, e.g. mastodon.sóisialta", "interaction_modal.no_account_yet": "Ní ar Mastodon?", @@ -397,6 +416,7 @@ "interaction_modal.title.follow": "Lean {name}", "interaction_modal.title.reblog": "Mol postáil de chuid {name}", "interaction_modal.title.reply": "Freagair postáil {name}", + "interaction_modal.title.vote": "Vótáil i vótaíocht {name}", "intervals.full.days": "{number, plural, one {# lá} other {# lá}}", "intervals.full.hours": "{number, plural, one {# uair} other {# uair}}", "intervals.full.minutes": "{number, plural, one {# nóiméad} other {# nóiméad}}", @@ -506,6 +526,8 @@ "notification.admin.report_statuses_other": "{name} tuairiscithe {target}", "notification.admin.sign_up": "Chláraigh {name}", "notification.admin.sign_up.name_and_others": "{name} agus {count, plural, one {# duine eile} two {# daoine eile} few {# daoine eile} many {# daoine eile} other {# daoine eile}} a chláraigh", + "notification.annual_report.message": "Tá do {year} #Wrapstodon ag fanacht! Nocht buaicphointí na bliana agus chuimhneacháin i gcuimhne ar Mastodon!", + "notification.annual_report.view": "Amharc #Wrapstodon", "notification.favourite": "Is fearr le {name} do phostáil", "notification.favourite.name_and_others_with_link": "{name} agus {count, plural, one {# duine eile} other {# daoine eile}} thaitin le do phost", "notification.follow": "Lean {name} thú", diff --git a/app/javascript/mastodon/locales/gl.json b/app/javascript/mastodon/locales/gl.json index e89d386c853f55..06a7ac8ca49a04 100644 --- a/app/javascript/mastodon/locales/gl.json +++ b/app/javascript/mastodon/locales/gl.json @@ -87,6 +87,16 @@ "alert.unexpected.title": "Vaites!", "alt_text_badge.title": "Texto Alt", "announcement.announcement": "Anuncio", + "annual_report.summary.followers.followers": "seguidoras", + "annual_report.summary.followers.total": "{count} en total", + "annual_report.summary.here_it_is": "Este é o resumo do teu {year}:", + "annual_report.summary.highlighted_post.by_favourites": "a publicación mais favorecida", + "annual_report.summary.highlighted_post.by_reblogs": "a publicación con mais promocións", + "annual_report.summary.highlighted_post.by_replies": "a publicación con mais respostas", + "annual_report.summary.highlighted_post.possessive": "de {name}", + "annual_report.summary.most_used_app.most_used_app": "app que mais usaches", + "annual_report.summary.most_used_hashtag.most_used_hashtag": "o cancelo mais utilizado", + "annual_report.summary.new_posts.new_posts": "novas publicacións", "attachments_list.unprocessed": "(sen procesar)", "audio.hide": "Agochar audio", "block_modal.remote_users_caveat": "Ímoslle pedir ao servidor {domain} que respecte a túa decisión. Emporiso, non hai garantía de que atenda a petición xa que os servidores xestionan os bloqueos de formas diferentes. As publicacións públicas poderían aínda ser visibles para usuarias que non iniciaron sesión.", diff --git a/app/javascript/mastodon/locales/is.json b/app/javascript/mastodon/locales/is.json index 8c87298910597d..adc86faf40ec24 100644 --- a/app/javascript/mastodon/locales/is.json +++ b/app/javascript/mastodon/locales/is.json @@ -87,6 +87,24 @@ "alert.unexpected.title": "Úbbs!", "alt_text_badge.title": "Hjálpartexti mynda", "announcement.announcement": "Auglýsing", + "annual_report.summary.archetype.booster": "Svali gaurinn", + "annual_report.summary.archetype.lurker": "Lurkurinn", + "annual_report.summary.archetype.oracle": "Völvan", + "annual_report.summary.archetype.pollster": "Kannanafíkillinn", + "annual_report.summary.archetype.replier": "Félagsveran", + "annual_report.summary.followers.followers": "fylgjendur", + "annual_report.summary.followers.total": "{count} alls", + "annual_report.summary.here_it_is": "Hér er yfirlitið þitt fyrir {year}:", + "annual_report.summary.highlighted_post.by_favourites": "færsla sett oftast í eftirlæti", + "annual_report.summary.highlighted_post.by_reblogs": "færsla oftast endurbirt", + "annual_report.summary.highlighted_post.by_replies": "færsla með flestum svörum", + "annual_report.summary.highlighted_post.possessive": "{name}", + "annual_report.summary.most_used_app.most_used_app": "mest notaða forrit", + "annual_report.summary.most_used_hashtag.most_used_hashtag": "mest notaða myllumerki", + "annual_report.summary.new_posts.new_posts": "nýjar færslur", + "annual_report.summary.percentile.text": "Það setur þig á meðal efstunotenda Mastodon.", + "annual_report.summary.percentile.we_wont_tell_bernie": "Við förum ekkert að raupa um þetta.", + "annual_report.summary.thanks": "Takk fyrir að vera hluti af Mastodon-samfélaginu!", "attachments_list.unprocessed": "(óunnið)", "audio.hide": "Fela hljóð", "block_modal.remote_users_caveat": "Við munum biðja {domain} netþjóninn um að virða ákvörðun þína. Hitt er svo annað mál hvort hann fari eftir þessu, ekki er hægt að tryggja eftirfylgni því sumir netþjónar meðhöndla útilokanir á sinn hátt. Opinberar færslur gætu verið sýnilegar notendum sem ekki eru skráðir inn.", @@ -508,6 +526,8 @@ "notification.admin.report_statuses_other": "{name} kærði {target}", "notification.admin.sign_up": "{name} skráði sig", "notification.admin.sign_up.name_and_others": "{name} og {count, plural, one {# í viðbót hefur} other {# í viðbót hafa}} skráð sig", + "notification.annual_report.message": "{year} á #Wrapstodon bíður! Afhjúpaðu hvað bar hæst á árinu og minnistæðustu augnablikin á Mastodon!", + "notification.annual_report.view": "Skoða #Wrapstodon", "notification.favourite": "{name} setti færsluna þína í eftirlæti", "notification.favourite.name_and_others_with_link": "{name} og {count, plural, one {# í viðbót hefur} other {# í viðbót hafa}} sett færsluna þína í eftirlæti", "notification.follow": "{name} fylgist með þér", diff --git a/app/javascript/mastodon/locales/lt.json b/app/javascript/mastodon/locales/lt.json index 7d53c2702fc99e..d03833e11f53f4 100644 --- a/app/javascript/mastodon/locales/lt.json +++ b/app/javascript/mastodon/locales/lt.json @@ -87,6 +87,24 @@ "alert.unexpected.title": "Ups!", "alt_text_badge.title": "Alternatyvus tekstas", "announcement.announcement": "Skelbimas", + "annual_report.summary.archetype.booster": "Šaunus medžiotojas", + "annual_report.summary.archetype.lurker": "Stebėtojas", + "annual_report.summary.archetype.oracle": "Vydūnas", + "annual_report.summary.archetype.pollster": "Apklausos rengėjas", + "annual_report.summary.archetype.replier": "Socialinis drugelis", + "annual_report.summary.followers.followers": "sekėjai (-ų)", + "annual_report.summary.followers.total": "iš viso {count}", + "annual_report.summary.here_it_is": "Štai jūsų {year} apžvalga:", + "annual_report.summary.highlighted_post.by_favourites": "labiausiai pamėgtas įrašas", + "annual_report.summary.highlighted_post.by_reblogs": "labiausiai pasidalintas įrašas", + "annual_report.summary.highlighted_post.by_replies": "įrašas su daugiausiai atsakymų", + "annual_report.summary.highlighted_post.possessive": "{name}", + "annual_report.summary.most_used_app.most_used_app": "labiausiai naudota programa", + "annual_report.summary.most_used_hashtag.most_used_hashtag": "labiausiai naudotas saitažodis", + "annual_report.summary.new_posts.new_posts": "nauji įrašai", + "annual_report.summary.percentile.text": "Tai reiškia, kad esate tarppopuliariausių „Mastodon“ naudotojų.", + "annual_report.summary.percentile.we_wont_tell_bernie": "Mes nesakysime Bernie.", + "annual_report.summary.thanks": "Dėkojame, kad esate „Mastodon“ dalis!", "attachments_list.unprocessed": "(neapdorotas)", "audio.hide": "Slėpti garsą", "block_modal.remote_users_caveat": "Paprašysime serverio {domain} gerbti tavo sprendimą. Tačiau atitiktis negarantuojama, nes kai kurie serveriai gali skirtingai tvarkyti blokavimus. Vieši įrašai vis tiek gali būti matomi neprisijungusiems naudotojams.", @@ -507,6 +525,8 @@ "notification.admin.report_statuses": "{name} pranešė {target} kategorijai {category}", "notification.admin.report_statuses_other": "{name} pranešė {target}", "notification.admin.sign_up": "{name} užsiregistravo", + "notification.annual_report.message": "Jūsų laukia {year} #Wrapstodon! Atskleiskite savo metų svarbiausius įvykius ir įsimintinas akimirkas platformoje „Mastodon“.", + "notification.annual_report.view": "Peržiūrėti #Wrapstodon", "notification.favourite": "{name} pamėgo tavo įrašą", "notification.follow": "{name} seka tave", "notification.follow.name_and_others": "{name} ir {count, plural, one {# kitas} few {# kiti} many {# kito} other {# kitų}} seka tave", diff --git a/app/javascript/mastodon/locales/nl.json b/app/javascript/mastodon/locales/nl.json index 9f265782e111b3..b66fcf09c04c0c 100644 --- a/app/javascript/mastodon/locales/nl.json +++ b/app/javascript/mastodon/locales/nl.json @@ -87,6 +87,24 @@ "alert.unexpected.title": "Oeps!", "alt_text_badge.title": "Alt-tekst", "announcement.announcement": "Mededeling", + "annual_report.summary.archetype.booster": "De cool-hunter", + "annual_report.summary.archetype.lurker": "De lurker", + "annual_report.summary.archetype.oracle": "Het orakel", + "annual_report.summary.archetype.pollster": "De opiniepeiler", + "annual_report.summary.archetype.replier": "De sociale vlinder", + "annual_report.summary.followers.followers": "volgers", + "annual_report.summary.followers.total": "totaal {count}", + "annual_report.summary.here_it_is": "Hier is jouw terugblik op {year}:", + "annual_report.summary.highlighted_post.by_favourites": "bericht met de meeste favorieten", + "annual_report.summary.highlighted_post.by_reblogs": "bericht met de meeste boosts", + "annual_report.summary.highlighted_post.by_replies": "bericht met de meeste reacties", + "annual_report.summary.highlighted_post.possessive": "{name}'s", + "annual_report.summary.most_used_app.most_used_app": "meest gebruikte app", + "annual_report.summary.most_used_hashtag.most_used_hashtag": "meest gebruikte hashtag", + "annual_report.summary.new_posts.new_posts": "nieuwe berichten", + "annual_report.summary.percentile.text": "Dat zet je in de topvan Mastodon-gebruikers.", + "annual_report.summary.percentile.we_wont_tell_bernie": "We zullen Bernie niets vertellen.", + "annual_report.summary.thanks": "Bedankt dat je deel uitmaakt van Mastodon!", "attachments_list.unprocessed": "(niet verwerkt)", "audio.hide": "Audio verbergen", "block_modal.remote_users_caveat": "We vragen de server {domain} om je besluit te respecteren. Het naleven hiervan is echter niet gegarandeerd, omdat sommige servers blokkades anders kunnen interpreteren. Openbare berichten zijn mogelijk nog steeds zichtbaar voor niet-ingelogde gebruikers.", @@ -508,6 +526,8 @@ "notification.admin.report_statuses_other": "{name} rapporteerde {target}", "notification.admin.sign_up": "{name} heeft zich geregistreerd", "notification.admin.sign_up.name_and_others": "{name} en {count, plural, one {# ander persoon} other {# andere personen}} hebben zich geregistreerd", + "notification.annual_report.message": "Jouw {year} #Wrapstodon staat klaar! Laat de hoogtepunten en memorabele momenten van jouw jaar zien op Mastodon!", + "notification.annual_report.view": "#Wrapstodon bekijken", "notification.favourite": "{name} markeerde jouw bericht als favoriet", "notification.favourite.name_and_others_with_link": "{name} en {count, plural, one {# ander persoon} other {# andere personen}} hebben jouw bericht als favoriet gemarkeerd", "notification.follow": "{name} volgt jou nu", diff --git a/app/javascript/mastodon/locales/pt-BR.json b/app/javascript/mastodon/locales/pt-BR.json index c620933abe2ae3..5e69741f201748 100644 --- a/app/javascript/mastodon/locales/pt-BR.json +++ b/app/javascript/mastodon/locales/pt-BR.json @@ -87,6 +87,24 @@ "alert.unexpected.title": "Eita!", "alt_text_badge.title": "Texto alternativo", "announcement.announcement": "Comunicados", + "annual_report.summary.archetype.booster": "Caçador legal", + "annual_report.summary.archetype.lurker": "O espreitador", + "annual_report.summary.archetype.oracle": "O oráculo", + "annual_report.summary.archetype.pollster": "O pesquisador", + "annual_report.summary.archetype.replier": "A borboleta social", + "annual_report.summary.followers.followers": "seguidores", + "annual_report.summary.followers.total": "{count} total", + "annual_report.summary.here_it_is": "Aqui está seu {year} em revisão:", + "annual_report.summary.highlighted_post.by_favourites": "publicação mais favoritada", + "annual_report.summary.highlighted_post.by_reblogs": "publicação mais impulsionada", + "annual_report.summary.highlighted_post.by_replies": "publicação com mais respostas", + "annual_report.summary.highlighted_post.possessive": "{name}", + "annual_report.summary.most_used_app.most_used_app": "aplicativo mais usado", + "annual_report.summary.most_used_hashtag.most_used_hashtag": "hashtag mais usada", + "annual_report.summary.new_posts.new_posts": "novas publicações", + "annual_report.summary.percentile.text": "Isso o coloca no topodos usuários de Mastodon.", + "annual_report.summary.percentile.we_wont_tell_bernie": "Não contaremos à Bernie.", + "annual_report.summary.thanks": "Obrigada por fazer parte do Mastodon!", "attachments_list.unprocessed": "(não processado)", "audio.hide": "Ocultar áudio", "block_modal.remote_users_caveat": "Pediremos ao servidor {domínio} que respeite sua decisão. No entanto, a conformidade não é garantida pois alguns servidores podem lidar com os blocos de maneira diferente. As postagens públicas ainda podem estar visíveis para usuários não logados.", @@ -508,6 +526,8 @@ "notification.admin.report_statuses_other": "{name} denunciou {target}", "notification.admin.sign_up": "{name} se inscreveu", "notification.admin.sign_up.name_and_others": "{name} e {count, plural, one {# other} other {# outros}}", + "notification.annual_report.message": "O #Wrapstodon do seu {year} está esperando! Desvende seus destaques do ano e momentos memoráveis no Mastodon!", + "notification.annual_report.view": "Ver #Wrapstodon", "notification.favourite": "{name} favoritou sua publicação", "notification.favourite.name_and_others_with_link": "{name} e {count, plural, one {# outro} other {# others}} favoritaram a publicação", "notification.follow": "{name} te seguiu", diff --git a/app/javascript/mastodon/locales/sq.json b/app/javascript/mastodon/locales/sq.json index 410d7c2ef3dd2f..088b48a3f3e3e7 100644 --- a/app/javascript/mastodon/locales/sq.json +++ b/app/javascript/mastodon/locales/sq.json @@ -87,6 +87,19 @@ "alert.unexpected.title": "Hëm!", "alt_text_badge.title": "Tekst alternativ", "announcement.announcement": "Lajmërim", + "annual_report.summary.followers.followers": "ndjekës", + "annual_report.summary.followers.total": "{count} gjithsej", + "annual_report.summary.here_it_is": "Ja {year} juaj e shqyrtuar:", + "annual_report.summary.highlighted_post.by_favourites": "potimi më i parapëlqyer", + "annual_report.summary.highlighted_post.by_reblogs": "postimi me më shumë përforcime", + "annual_report.summary.highlighted_post.by_replies": "postimi me më tepër përgjigje", + "annual_report.summary.highlighted_post.possessive": "nga {name}", + "annual_report.summary.most_used_app.most_used_app": "aplikacioni më i përdorur", + "annual_report.summary.most_used_hashtag.most_used_hashtag": "hashtag-u më i përdorur", + "annual_report.summary.new_posts.new_posts": "postime të reja", + "annual_report.summary.percentile.text": "Kjo ju vë në kryetë përdoruesve të Mastodon-it.", + "annual_report.summary.percentile.we_wont_tell_bernie": "Nuk do t’ia themi Bernit.", + "annual_report.summary.thanks": "Faleminderit që jeni pjesë e Mastodon-it!", "attachments_list.unprocessed": "(e papërpunuar)", "audio.hide": "Fshihe audion", "block_modal.remote_users_caveat": "Do t’i kërkojmë shërbyesit {domain} të respektojë vendimin tuaj. Por, pajtimi s’është i garantuar, ngaqë disa shërbyes mund t’i trajtojnë ndryshe bllokimet. Psotimet publike mundet të jenë ende të dukshme për përdorues pa bërë hyrje në llogari.", @@ -508,6 +521,8 @@ "notification.admin.report_statuses_other": "{name} raportoi {target}", "notification.admin.sign_up": "{name} u regjistrua", "notification.admin.sign_up.name_and_others": "U regjistrua {name} dhe {count, plural, one {# tjetër} other {# të tjerë}}", + "notification.annual_report.message": "#Wrapstodon juaj për {year} pret! Zbuloni pikat e theksuara dhe çastet e paharrueshëm të këtij viti për ju në Mastodon!", + "notification.annual_report.view": "Shihni #Wrapstodon", "notification.favourite": "{name} i vuri shenjë postimit tuaj si të parapëlqyer", "notification.favourite.name_and_others_with_link": "{name} dhe {count, plural, one {# tjetër} other {# të tjerë}} i vunë shenjë postimit tuaj si të parapëlqyer", "notification.follow": "{name} zuri t’ju ndjekë", diff --git a/app/javascript/mastodon/locales/sv.json b/app/javascript/mastodon/locales/sv.json index e404c2244bbe1e..5f551fc4cd5a88 100644 --- a/app/javascript/mastodon/locales/sv.json +++ b/app/javascript/mastodon/locales/sv.json @@ -87,6 +87,12 @@ "alert.unexpected.title": "Hoppsan!", "alt_text_badge.title": "Alt-Text", "announcement.announcement": "Meddelande", + "annual_report.summary.followers.followers": "följare", + "annual_report.summary.followers.total": "{count} totalt", + "annual_report.summary.highlighted_post.by_replies": "inlägg med flest svar", + "annual_report.summary.new_posts.new_posts": "nya inlägg", + "annual_report.summary.percentile.we_wont_tell_bernie": "Vi berättar inte för Bernie.", + "annual_report.summary.thanks": "Tack för att du är en del av Mastodon!", "attachments_list.unprocessed": "(obehandlad)", "audio.hide": "Dölj audio", "block_modal.remote_users_caveat": "Vi kommer att be servern {domain} att respektera ditt beslut. Dock garanteras inte efterlevnad eftersom vissa servrar kan hantera blockeringar på olika sätt. Offentliga inlägg kan fortfarande vara synliga för icke-inloggade användare.", @@ -508,6 +514,7 @@ "notification.admin.report_statuses_other": "{name} rapporterade {target}", "notification.admin.sign_up": "{name} registrerade sig", "notification.admin.sign_up.name_and_others": "{name} och {count, plural, one {# en annan} other {# andra}} har registrerat sig", + "notification.annual_report.view": "Visa #Wrapstodon", "notification.favourite": "{name} favoritmarkerade ditt inlägg", "notification.favourite.name_and_others_with_link": "{name} och {count, plural, one {# annan} other {# andra}} har favoritmarkerat ditt inlägg", "notification.follow": "{name} följer dig", diff --git a/app/javascript/mastodon/locales/zh-CN.json b/app/javascript/mastodon/locales/zh-CN.json index 603ec5d791a6a7..57b2011bb18d8d 100644 --- a/app/javascript/mastodon/locales/zh-CN.json +++ b/app/javascript/mastodon/locales/zh-CN.json @@ -87,6 +87,24 @@ "alert.unexpected.title": "哎呀!", "alt_text_badge.title": "替代文本", "announcement.announcement": "公告", + "annual_report.summary.archetype.booster": "潮流捕手", + "annual_report.summary.archetype.lurker": "吃瓜群众", + "annual_report.summary.archetype.oracle": "预言家", + "annual_report.summary.archetype.pollster": "投票狂魔", + "annual_report.summary.archetype.replier": "评论区原住民", + "annual_report.summary.followers.followers": "关注者", + "annual_report.summary.followers.total": "{count} 人", + "annual_report.summary.here_it_is": "你的 {year} 年度回顾在此:", + "annual_report.summary.highlighted_post.by_favourites": "最受欢迎嘟嘟", + "annual_report.summary.highlighted_post.by_reblogs": "传播最广嘟嘟", + "annual_report.summary.highlighted_post.by_replies": "最热闹嘟嘟", + "annual_report.summary.highlighted_post.possessive": "{name} 的", + "annual_report.summary.most_used_app.most_used_app": "最常用的应用", + "annual_report.summary.most_used_hashtag.most_used_hashtag": "最常用的话题", + "annual_report.summary.new_posts.new_posts": "新发嘟", + "annual_report.summary.percentile.text": "这使你跻身 Mastodon 用户的前", + "annual_report.summary.percentile.we_wont_tell_bernie": "我们打死也不会告诉Bernie。", + "annual_report.summary.thanks": "感谢你这一年与 Mastodon 一路同行!", "attachments_list.unprocessed": "(未处理)", "audio.hide": "隐藏音频", "block_modal.remote_users_caveat": "我们将要求服务器 {domain} 尊重您的决定。然而,我们无法保证对方一定遵从,因为某些服务器可能会以不同的方案处理屏蔽操作。公开嘟文仍然可能对未登录的用户可见。", @@ -508,6 +526,8 @@ "notification.admin.report_statuses_other": "{name} 举报了 {target}", "notification.admin.sign_up": "{name} 注册了", "notification.admin.sign_up.name_and_others": "{name} 和 {count, plural, other {另外 # 人}}注册了", + "notification.annual_report.message": "你的 {year} #Wrapstodon 年度回顾来啦!快来看看这一年你在 Mastodon 上的精彩瞬间!", + "notification.annual_report.view": "查看 #Wrapstodon", "notification.favourite": "{name} 喜欢了你的嘟文", "notification.favourite.name_and_others_with_link": "{name} 和 {count, plural, other {另外 # 人}} 喜欢了你的嘟文", "notification.follow": "{name} 开始关注你", diff --git a/app/javascript/mastodon/locales/zh-TW.json b/app/javascript/mastodon/locales/zh-TW.json index a3de26ffc40dca..e1f9eeb210b250 100644 --- a/app/javascript/mastodon/locales/zh-TW.json +++ b/app/javascript/mastodon/locales/zh-TW.json @@ -87,6 +87,23 @@ "alert.unexpected.title": "哎呀!", "alt_text_badge.title": "ALT 說明文字", "announcement.announcement": "公告", + "annual_report.summary.archetype.booster": "酷炫的獵人", + "annual_report.summary.archetype.lurker": "潛伏者", + "annual_report.summary.archetype.oracle": "先知", + "annual_report.summary.archetype.pollster": "民調人員", + "annual_report.summary.archetype.replier": "社交菁英", + "annual_report.summary.followers.followers": "跟隨者", + "annual_report.summary.followers.total": "總共 {count}", + "annual_report.summary.here_it_is": "以下是您的{year}年度回顧:", + "annual_report.summary.highlighted_post.by_favourites": "最愛的嘟文", + "annual_report.summary.highlighted_post.by_reblogs": "最多轉嘟的嘟文", + "annual_report.summary.highlighted_post.by_replies": "最多回覆的嘟文", + "annual_report.summary.highlighted_post.possessive": "{name} 的", + "annual_report.summary.most_used_app.most_used_app": "最常使用的應用程式", + "annual_report.summary.most_used_hashtag.most_used_hashtag": "最常使用的主題標籤", + "annual_report.summary.new_posts.new_posts": "新嘟文", + "annual_report.summary.percentile.text": "這讓您成為前Mastodon 的使用者。", + "annual_report.summary.thanks": "感謝您成為 Mastodon 的一員!", "attachments_list.unprocessed": "(未經處理)", "audio.hide": "隱藏音訊", "block_modal.remote_users_caveat": "我們會要求 {domain} 伺服器尊重您的決定。然而,我們無法保證所有伺服器皆會遵守,某些伺服器可能以不同方式處理封鎖。未登入之使用者仍可能看見您的公開嘟文。", diff --git a/config/locales/simple_form.ko.yml b/config/locales/simple_form.ko.yml index c40814d61b1593..b2ebf5666def38 100644 --- a/config/locales/simple_form.ko.yml +++ b/config/locales/simple_form.ko.yml @@ -32,9 +32,9 @@ ko: warning_preset_id: 선택사항. 틀의 마지막에 임의의 텍스트를 추가 할 수 있습니다 announcement: all_day: 체크 되었을 경우, 그 시간에 속한 날짜들에만 표시됩니다 - ends_at: 옵션입니다. 공지사항이 이 시간에 자동으로 발행 중지 됩니다 + ends_at: 선택사항. 공지사항이 이 시간에 자동으로 발행 중지 됩니다 scheduled_at: 공백으로 두면 공지사항이 곧바로 발행 됩니다 - starts_at: 공지사항이 특정한 시간에 종속 될 때를 위한 옵션입니다 + starts_at: 선택사항. 공지사항이 특정한 시간에 종속 될 때를 위한 옵션입니다 text: 게시물 문법을 사용할 수 있습니다. 공지사항은 사용자의 화면 상단 공간을 차지한다는 것을 명심하세요 appeal: text: 처벌에 대해 단 한 번만 이의제기를 할 수 있습니다 @@ -110,7 +110,7 @@ ko: invite_request: text: 이 정보는 신청을 검토하는데 도움을 줄 수 있습니다. ip_block: - comment: 필수 아님. 왜 이 규칙을 추가했는지 기억하세요. + comment: 선택사항. 왜 이 규칙을 추가했는지 기억하세요. expires_in: IP 주소는 한정된 자원입니다, 이것들은 가끔 공유 되거나 자주 소유자가 바뀌기도 합니다. 이런 이유로 인해, IP 차단을 영구히 유지하는 것은 추천하지 않습니다. ip: IPv4 또는 IPv6 주소를 입력하세요. CIDR 문법을 사용해서 모든 범위를 차단할 수도 있습니다. 자기 자신을 잠가버리지 않도록 주의하세요! severities: @@ -119,7 +119,7 @@ ko: sign_up_requires_approval: 새 가입이 승인을 필요로 하도록 합니다 severity: 해당 IP로부터의 요청에 대해 무엇이 일어나게 할 지 고르세요 rule: - hint: 옵션사항. 규칙에 대한 더 상세한 정보를 제공하세요 + hint: 선택사항. 규칙에 대한 더 상세한 정보를 제공하세요 text: 이 서버 사용자들이 지켜야 할 규칙과 요구사항을 설명해주세요. 짧고 간단하게 작성해주세요 sessions: otp: '휴대전화에서 생성된 이중 인증 코드를 입력하거나, 복구 코드 중 하나를 사용하세요:' From 2bea74e69d43f15aff646de5948cfbb4b9296145 Mon Sep 17 00:00:00 2001 From: Claire Date: Wed, 6 Nov 2024 11:51:54 +0100 Subject: [PATCH 133/357] Avoid latest featured tag use on post removal unless necessary (#32787) --- app/models/featured_tag.rb | 12 +++++- app/services/process_hashtags_service.rb | 2 +- app/services/remove_status_service.rb | 2 +- spec/models/featured_tag_spec.rb | 54 ++++++++++++++++++++---- 4 files changed, 58 insertions(+), 12 deletions(-) diff --git a/app/models/featured_tag.rb b/app/models/featured_tag.rb index a4e7b7cf6f0262..529056f9c60e2c 100644 --- a/app/models/featured_tag.rb +++ b/app/models/featured_tag.rb @@ -44,8 +44,16 @@ def increment(timestamp) update(statuses_count: statuses_count + 1, last_status_at: timestamp) end - def decrement(deleted_status_id) - update(statuses_count: [0, statuses_count - 1].max, last_status_at: visible_tagged_account_statuses.where.not(id: deleted_status_id).pick(:created_at)) + def decrement(deleted_status) + if statuses_count <= 1 + update(statuses_count: 0, last_status_at: nil) + elsif last_status_at > deleted_status.created_at + update(statuses_count: statuses_count - 1) + else + # Fetching the latest status creation time can be expensive, so only perform it + # if we know we are deleting the latest status using this tag + update(statuses_count: statuses_count - 1, last_status_at: visible_tagged_account_statuses.where(id: ...deleted_status.id).pick(:created_at)) + end end private diff --git a/app/services/process_hashtags_service.rb b/app/services/process_hashtags_service.rb index 17c347b08895be..0baea0185cef0b 100644 --- a/app/services/process_hashtags_service.rb +++ b/app/services/process_hashtags_service.rb @@ -33,7 +33,7 @@ def update_featured_tags! unless removed_tags.empty? @account.featured_tags.where(tag_id: removed_tags.map(&:id)).find_each do |featured_tag| - featured_tag.decrement(@status.id) + featured_tag.decrement(@status) end end end diff --git a/app/services/remove_status_service.rb b/app/services/remove_status_service.rb index 221791ad323804..dc9fb6cab68a07 100644 --- a/app/services/remove_status_service.rb +++ b/app/services/remove_status_service.rb @@ -115,7 +115,7 @@ def remove_reblogs def remove_from_hashtags @account.featured_tags.where(tag_id: @status.tags.map(&:id)).find_each do |featured_tag| - featured_tag.decrement(@status.id) + featured_tag.decrement(@status) end return unless @status.public_visibility? diff --git a/spec/models/featured_tag_spec.rb b/spec/models/featured_tag_spec.rb index 0f5ead8f978ac1..20059cfba4c638 100644 --- a/spec/models/featured_tag_spec.rb +++ b/spec/models/featured_tag_spec.rb @@ -126,16 +126,54 @@ end describe '#decrement' do - it 'decreases the count and updates the last_status_at timestamp' do - tag = Fabricate :tag, name: 'test' - status = Fabricate :status, visibility: :public, created_at: 10.days.ago - status.tags << tag + let(:tag) { Fabricate(:tag, name: 'test') } + let(:account) { Fabricate(:account) } + let(:featured_tag) { Fabricate(:featured_tag, name: 'test', account: account) } - featured_tag = Fabricate :featured_tag, name: 'test', account: status.account + context 'when removing the last status using the tag' do + let(:status) { Fabricate(:status, visibility: :public, account: account, created_at: 10.days.ago) } - expect { featured_tag.decrement(status.id) } - .to change(featured_tag, :statuses_count).from(1).to(0) - .and change(featured_tag, :last_status_at).to(nil) + before do + status.tags << tag + end + + it 'decreases the count and updates the last_status_at timestamp' do + expect { featured_tag.decrement(status) } + .to change(featured_tag, :statuses_count).from(1).to(0) + .and change(featured_tag, :last_status_at).to(nil) + end + end + + context 'when removing a previous status using the tag' do + let(:previous_status) { Fabricate(:status, visibility: :public, account: account, created_at: 1.month.ago) } + let(:status) { Fabricate(:status, visibility: :public, account: account, created_at: 10.days.ago) } + + before do + previous_status.tags << tag + status.tags << tag + end + + it 'decreases the count and updates the last_status_at timestamp' do + expect { featured_tag.decrement(previous_status) } + .to change(featured_tag, :statuses_count).from(2).to(1) + .and not_change(featured_tag, :last_status_at) + end + end + + context 'when removing the most recent use of the tag' do + let(:previous_status) { Fabricate(:status, visibility: :public, account: account, created_at: 1.month.ago) } + let(:status) { Fabricate(:status, visibility: :public, account: account, created_at: 10.days.ago) } + + before do + previous_status.tags << tag + status.tags << tag + end + + it 'decreases the count and updates the last_status_at timestamp' do + expect { featured_tag.decrement(status) } + .to change(featured_tag, :statuses_count).from(2).to(1) + .and change(featured_tag, :last_status_at) + end end end end From e4b4d6d262131c5cf326435e003c80d143628e19 Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Wed, 6 Nov 2024 11:57:42 +0100 Subject: [PATCH 134/357] Update dependency ruby to v3.3.6 (#32773) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> --- .ruby-version | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.ruby-version b/.ruby-version index fa7adc7ac72a28..9c25013dbb862f 100644 --- a/.ruby-version +++ b/.ruby-version @@ -1 +1 @@ -3.3.5 +3.3.6 From e581c1a520cd961620ff3edd8907c8d2c4e00bbf Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Wed, 6 Nov 2024 10:58:01 +0000 Subject: [PATCH 135/357] Update docker.io/ruby Docker tag to v3.3.6 (#32784) 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 c6d8466f43c048..a6c7d46b579ad8 100644 --- a/Dockerfile +++ b/Dockerfile @@ -12,7 +12,7 @@ ARG BUILDPLATFORM=${BUILDPLATFORM} # Ruby image to use for base image, change with [--build-arg RUBY_VERSION="3.3.x"] # renovate: datasource=docker depName=docker.io/ruby -ARG RUBY_VERSION="3.3.5" +ARG RUBY_VERSION="3.3.6" # # Node version to use in base image, change with [--build-arg NODE_MAJOR_VERSION="20"] # renovate: datasource=node-version depName=node ARG NODE_MAJOR_VERSION="22" From 4053cd2bff25f830fd1e2a3cdd6c95ef8ae28c7f Mon Sep 17 00:00:00 2001 From: Matt Jankowski Date: Wed, 6 Nov 2024 05:58:28 -0500 Subject: [PATCH 136/357] Update faraday to version 2.12.0 (#32718) --- Gemfile | 1 + Gemfile.lock | 34 +++++++++------------------------- 2 files changed, 10 insertions(+), 25 deletions(-) diff --git a/Gemfile b/Gemfile index bc7a219789a941..690e2a59d2a797 100644 --- a/Gemfile +++ b/Gemfile @@ -47,6 +47,7 @@ gem 'color_diff', '~> 0.1' gem 'csv', '~> 3.2' gem 'discard', '~> 1.2' gem 'doorkeeper', '~> 5.6' +gem 'faraday-httpclient' gem 'fast_blank', '~> 1.0' gem 'fastimage' gem 'hiredis', '~> 0.6' diff --git a/Gemfile.lock b/Gemfile.lock index 617233d702439f..7328afa5239ef9 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -229,29 +229,14 @@ GEM fabrication (2.31.0) faker (3.5.1) i18n (>= 1.8.11, < 2) - faraday (1.10.3) - faraday-em_http (~> 1.0) - faraday-em_synchrony (~> 1.0) - faraday-excon (~> 1.1) - faraday-httpclient (~> 1.0) - faraday-multipart (~> 1.0) - faraday-net_http (~> 1.0) - faraday-net_http_persistent (~> 1.0) - faraday-patron (~> 1.0) - faraday-rack (~> 1.0) - faraday-retry (~> 1.0) - ruby2_keywords (>= 0.0.4) - faraday-em_http (1.0.0) - faraday-em_synchrony (1.0.0) - faraday-excon (1.1.0) - faraday-httpclient (1.0.1) - faraday-multipart (1.0.4) - multipart-post (~> 2) - faraday-net_http (1.0.2) - faraday-net_http_persistent (1.2.0) - faraday-patron (1.0.0) - faraday-rack (1.0.0) - faraday-retry (1.0.3) + faraday (2.12.0) + faraday-net_http (>= 2.0, < 3.4) + json + logger + faraday-httpclient (2.0.1) + httpclient (>= 2.2) + faraday-net_http (3.3.0) + net-http fast_blank (1.0.1) fastimage (2.3.1) ffi (1.17.0) @@ -430,7 +415,6 @@ GEM minitest (5.25.1) msgpack (1.7.3) multi_json (1.15.0) - multipart-post (2.4.1) mutex_m (0.2.0) net-http (0.4.1) uri @@ -760,7 +744,6 @@ GEM ruby-vips (2.2.2) ffi (~> 1.12) logger - ruby2_keywords (0.0.5) rubyzip (2.3.2) rufus-scheduler (3.9.1) fugit (~> 1.1, >= 1.1.6) @@ -930,6 +913,7 @@ DEPENDENCIES email_spec fabrication (~> 2.30) faker (~> 3.2) + faraday-httpclient fast_blank (~> 1.0) fastimage flatware-rspec From 1392daa638abbfc7bce32903aeed4fa9303c21cd Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Wed, 6 Nov 2024 11:58:50 +0100 Subject: [PATCH 137/357] Update dependency discard to v1.4.0 (#32785) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> --- Gemfile.lock | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/Gemfile.lock b/Gemfile.lock index 7328afa5239ef9..844eb1b6b230e8 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -200,8 +200,8 @@ GEM devise (>= 4.0.0) rpam2 (~> 4.0) diff-lcs (1.5.1) - discard (1.3.0) - activerecord (>= 4.2, < 8) + discard (1.4.0) + activerecord (>= 4.2, < 9.0) docile (1.4.1) domain_name (0.6.20240107) doorkeeper (5.7.1) From d482211aa6293f78f161cbc7149e829966cd8e3a Mon Sep 17 00:00:00 2001 From: Claire Date: Wed, 6 Nov 2024 14:30:53 +0100 Subject: [PATCH 138/357] Fix out-of-view post contents being inconsistent with in-view post contents (#32778) --- app/javascript/mastodon/components/status.jsx | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/app/javascript/mastodon/components/status.jsx b/app/javascript/mastodon/components/status.jsx index 479213636818c9..96ccf3aad4f465 100644 --- a/app/javascript/mastodon/components/status.jsx +++ b/app/javascript/mastodon/components/status.jsx @@ -393,13 +393,16 @@ class Status extends ImmutablePureComponent { }; let media, statusAvatar, prepend, rebloggedByText; + const matchedFilters = status.get('matched_filters'); + const expanded = (!matchedFilters || this.state.showDespiteFilter) && (!status.get('hidden') || status.get('spoiler_text').length === 0); if (hidden) { return (
{status.getIn(['account', 'display_name']) || status.getIn(['account', 'username'])} - {status.get('content')} + {status.get('spoiler_text').length > 0 && ({status.get('spoiler_text')})} + {expanded && {status.get('content')}}
); @@ -408,7 +411,6 @@ class Status extends ImmutablePureComponent { const connectUp = previousId && previousId === status.get('in_reply_to_id'); const connectToRoot = rootId && rootId === status.get('in_reply_to_id'); const connectReply = nextInReplyToId && nextInReplyToId === status.get('id'); - const matchedFilters = status.get('matched_filters'); if (featured) { prepend = ( @@ -538,7 +540,6 @@ class Status extends ImmutablePureComponent { } const {statusContentProps, hashtagBar} = getHashtagBarForStatus(status); - const expanded = (!matchedFilters || this.state.showDespiteFilter) && (!status.get('hidden') || status.get('spoiler_text').length === 0); return ( From 4ed3ce237739643cd9145396e25bf4d4b020dccd Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" <41898282+github-actions[bot]@users.noreply.github.com> Date: Thu, 7 Nov 2024 10:45:05 +0100 Subject: [PATCH 139/357] New Crowdin Translations (automated) (#32793) Co-authored-by: GitHub Actions --- app/javascript/mastodon/locales/eo.json | 4 +++ app/javascript/mastodon/locales/es-AR.json | 11 +++++++ app/javascript/mastodon/locales/es-MX.json | 11 +++++++ app/javascript/mastodon/locales/es.json | 11 +++++++ app/javascript/mastodon/locales/fo.json | 20 ++++++++++++ app/javascript/mastodon/locales/gl.json | 2 ++ app/javascript/mastodon/locales/ko.json | 20 ++++++++++++ app/javascript/mastodon/locales/sk.json | 15 +++++++++ app/javascript/mastodon/locales/tr.json | 20 ++++++++++++ app/javascript/mastodon/locales/uk.json | 1 + app/javascript/mastodon/locales/vi.json | 20 ++++++++++++ config/locales/fo.yml | 38 ++++++++++++++++++++++ 12 files changed, 173 insertions(+) diff --git a/app/javascript/mastodon/locales/eo.json b/app/javascript/mastodon/locales/eo.json index 6cfc94d139a42c..757bb39866ed1c 100644 --- a/app/javascript/mastodon/locales/eo.json +++ b/app/javascript/mastodon/locales/eo.json @@ -87,6 +87,9 @@ "alert.unexpected.title": "Aj!", "alt_text_badge.title": "Alt-teksto", "announcement.announcement": "Anonco", + "annual_report.summary.archetype.replier": "La plej societema", + "annual_report.summary.followers.followers": "sekvantoj", + "annual_report.summary.highlighted_post.by_replies": "afiŝo kun la plej multaj respondoj", "annual_report.summary.new_posts.new_posts": "novaj afiŝoj", "annual_report.summary.thanks": "Dankon pro esti parto de Mastodon!", "attachments_list.unprocessed": "(neprilaborita)", @@ -510,6 +513,7 @@ "notification.admin.report_statuses_other": "{name} raportis {target}", "notification.admin.sign_up": "{name} kreis konton", "notification.admin.sign_up.name_and_others": "{name} kaj {count, plural, one {# alia} other {# aliaj}} kreis konton", + "notification.annual_report.view": "Vidu #Wrapstodon", "notification.favourite": "{name} stelumis vian afiŝon", "notification.favourite.name_and_others_with_link": "{name} kaj {count, plural, one {# alia} other {# aliaj}} ŝatis vian afiŝon", "notification.follow": "{name} eksekvis vin", diff --git a/app/javascript/mastodon/locales/es-AR.json b/app/javascript/mastodon/locales/es-AR.json index b7e5b919afa495..a556d90e33b3db 100644 --- a/app/javascript/mastodon/locales/es-AR.json +++ b/app/javascript/mastodon/locales/es-AR.json @@ -87,14 +87,23 @@ "alert.unexpected.title": "¡Epa!", "alt_text_badge.title": "Texto alternativo", "announcement.announcement": "Anuncio", + "annual_report.summary.archetype.booster": "El cazador de tendencias", + "annual_report.summary.archetype.lurker": "El acechador", + "annual_report.summary.archetype.oracle": "El oráculo", + "annual_report.summary.archetype.pollster": "El encuestador", + "annual_report.summary.archetype.replier": "El más sociable", "annual_report.summary.followers.followers": "seguidores", + "annual_report.summary.followers.total": "{count} en total", "annual_report.summary.here_it_is": "Aquí está tu resumen de {year}:", + "annual_report.summary.highlighted_post.by_favourites": "publicación con más favoritos", "annual_report.summary.highlighted_post.by_reblogs": "publicación más impulsada", "annual_report.summary.highlighted_post.by_replies": "publicación con más respuestas", "annual_report.summary.highlighted_post.possessive": "de {name}", "annual_report.summary.most_used_app.most_used_app": "aplicación más usada", "annual_report.summary.most_used_hashtag.most_used_hashtag": "etiqueta más usada", "annual_report.summary.new_posts.new_posts": "nuevas publicaciones", + "annual_report.summary.percentile.text": "Eso te pone en el topde usuarios de Mastodon.", + "annual_report.summary.percentile.we_wont_tell_bernie": "No se lo diremos a Bernie.", "annual_report.summary.thanks": "¡Gracias por ser parte de Mastodon!", "attachments_list.unprocessed": "[sin procesar]", "audio.hide": "Ocultar audio", @@ -517,6 +526,8 @@ "notification.admin.report_statuses_other": "{name} denunció a {target}", "notification.admin.sign_up": "Se registró {name}", "notification.admin.sign_up.name_and_others": "Se registraron {name} y {count, plural, one {# cuenta más} other {# cuentas más}}", + "notification.annual_report.message": "¡Tu #Wrapstodon {year} te espera! ¡Desvela los momentos más destacados y memorables de tu año en Mastodon!", + "notification.annual_report.view": "Ver #Wrapstodon", "notification.favourite": "{name} marcó tu mensaje como favorito", "notification.favourite.name_and_others_with_link": "{name} y {count, plural, one {# cuenta más} other {# cuentas más}} marcaron tu mensaje como favorito", "notification.follow": "{name} te empezó a seguir", diff --git a/app/javascript/mastodon/locales/es-MX.json b/app/javascript/mastodon/locales/es-MX.json index 40061d1cf28572..4faa35e5c87ada 100644 --- a/app/javascript/mastodon/locales/es-MX.json +++ b/app/javascript/mastodon/locales/es-MX.json @@ -87,14 +87,23 @@ "alert.unexpected.title": "¡Ups!", "alt_text_badge.title": "Texto alternativo", "announcement.announcement": "Anuncio", + "annual_report.summary.archetype.booster": "El cazador de tendencias", + "annual_report.summary.archetype.lurker": "El acechador", + "annual_report.summary.archetype.oracle": "El oráculo", + "annual_report.summary.archetype.pollster": "El encuestador", + "annual_report.summary.archetype.replier": "El más sociable", "annual_report.summary.followers.followers": "seguidores", + "annual_report.summary.followers.total": "{count} en total", "annual_report.summary.here_it_is": "Aquí está tu resumen de {year}:", + "annual_report.summary.highlighted_post.by_favourites": "publicación con más favoritos", "annual_report.summary.highlighted_post.by_reblogs": "publicación más impulsada", "annual_report.summary.highlighted_post.by_replies": "publicación con más respuestas", "annual_report.summary.highlighted_post.possessive": "de {name}", "annual_report.summary.most_used_app.most_used_app": "aplicación más usada", "annual_report.summary.most_used_hashtag.most_used_hashtag": "etiqueta más usada", "annual_report.summary.new_posts.new_posts": "nuevas publicaciones", + "annual_report.summary.percentile.text": "Eso te pone en el topde usuarios de Mastodon.", + "annual_report.summary.percentile.we_wont_tell_bernie": "No se lo diremos a Bernie.", "annual_report.summary.thanks": "¡Gracias por ser parte de Mastodon!", "attachments_list.unprocessed": "(sin procesar)", "audio.hide": "Ocultar audio", @@ -517,6 +526,8 @@ "notification.admin.report_statuses_other": "{name} reportó {target}", "notification.admin.sign_up": "{name} se unio", "notification.admin.sign_up.name_and_others": "{name} y {count, plural, one {# otro} other {# otros}} se registraron", + "notification.annual_report.message": "¡Tu #Wrapstodon {year} te espera! ¡Desvela los momentos más destacados y memorables de tu año en Mastodon!", + "notification.annual_report.view": "Ver #Wrapstodon", "notification.favourite": "{name} marcó como favorita tu publicación", "notification.favourite.name_and_others_with_link": "{name} y {count, plural, one {# otro} other {# otros}} marcaron tu publicación como favorita", "notification.follow": "{name} te empezó a seguir", diff --git a/app/javascript/mastodon/locales/es.json b/app/javascript/mastodon/locales/es.json index 2de5a4136ada44..d14b7180160695 100644 --- a/app/javascript/mastodon/locales/es.json +++ b/app/javascript/mastodon/locales/es.json @@ -87,14 +87,23 @@ "alert.unexpected.title": "¡Ups!", "alt_text_badge.title": "Texto alternativo", "announcement.announcement": "Anuncio", + "annual_report.summary.archetype.booster": "El cazador de tendencias", + "annual_report.summary.archetype.lurker": "El acechador", + "annual_report.summary.archetype.oracle": "El oráculo", + "annual_report.summary.archetype.pollster": "El encuestador", + "annual_report.summary.archetype.replier": "El más sociable", "annual_report.summary.followers.followers": "seguidores", + "annual_report.summary.followers.total": "{count} en total", "annual_report.summary.here_it_is": "Aquí está tu resumen de {year}:", + "annual_report.summary.highlighted_post.by_favourites": "publicación con más favoritos", "annual_report.summary.highlighted_post.by_reblogs": "publicación más impulsada", "annual_report.summary.highlighted_post.by_replies": "publicación con más respuestas", "annual_report.summary.highlighted_post.possessive": "de {name}", "annual_report.summary.most_used_app.most_used_app": "aplicación más usada", "annual_report.summary.most_used_hashtag.most_used_hashtag": "etiqueta más usada", "annual_report.summary.new_posts.new_posts": "nuevas publicaciones", + "annual_report.summary.percentile.text": "Eso te pone en el topde usuarios de Mastodon.", + "annual_report.summary.percentile.we_wont_tell_bernie": "No se lo diremos a Bernie.", "annual_report.summary.thanks": "¡Gracias por ser parte de Mastodon!", "attachments_list.unprocessed": "(sin procesar)", "audio.hide": "Ocultar audio", @@ -517,6 +526,8 @@ "notification.admin.report_statuses_other": "{name} informó de {target}", "notification.admin.sign_up": "{name} se registró", "notification.admin.sign_up.name_and_others": "{name} y {count, plural, one {# más} other {# más}} se registraron", + "notification.annual_report.message": "¡Tu #Wrapstodon {year} te espera! ¡Desvela los momentos más destacados y memorables de tu año en Mastodon!", + "notification.annual_report.view": "Ver #Wrapstodon", "notification.favourite": "{name} marcó como favorita tu publicación", "notification.favourite.name_and_others_with_link": "{name} y {count, plural, one {# más} other {# más}} marcaron tu publicación como favorita", "notification.follow": "{name} te empezó a seguir", diff --git a/app/javascript/mastodon/locales/fo.json b/app/javascript/mastodon/locales/fo.json index e15385725a0097..6b26ed84fd7cf8 100644 --- a/app/javascript/mastodon/locales/fo.json +++ b/app/javascript/mastodon/locales/fo.json @@ -87,6 +87,24 @@ "alert.unexpected.title": "Ups!", "alt_text_badge.title": "Annar tekstur", "announcement.announcement": "Kunngerð", + "annual_report.summary.archetype.booster": "Kuli jagarin", + "annual_report.summary.archetype.lurker": "Lúrarin", + "annual_report.summary.archetype.oracle": "Oraklið", + "annual_report.summary.archetype.pollster": "Spyrjarin", + "annual_report.summary.archetype.replier": "Sosiali firvaldurin", + "annual_report.summary.followers.followers": "fylgjarar", + "annual_report.summary.followers.total": "{count} íalt", + "annual_report.summary.here_it_is": "Her er ein samandráttur av {year}:", + "annual_report.summary.highlighted_post.by_favourites": "mest dámdi postur", + "annual_report.summary.highlighted_post.by_reblogs": "oftast lyfti postur", + "annual_report.summary.highlighted_post.by_replies": "postur við flestum svarum", + "annual_report.summary.highlighted_post.possessive": "hjá {name}", + "annual_report.summary.most_used_app.most_used_app": "mest brúkta app", + "annual_report.summary.most_used_hashtag.most_used_hashtag": "mest brúkta frámerki", + "annual_report.summary.new_posts.new_posts": "nýggir postar", + "annual_report.summary.percentile.text": "Tað fær teg í toppav Mastodon brúkarum.", + "annual_report.summary.percentile.we_wont_tell_bernie": "Vit fara ikki at fortelja Bernie tað.", + "annual_report.summary.thanks": "Takk fyri at tú er partur av Mastodon!", "attachments_list.unprocessed": "(óviðgjørt)", "audio.hide": "Fjal ljóð", "block_modal.remote_users_caveat": "Vit biðja ambætaran {domain} virða tína avgerð. Kortini er eingin vissa um samsvar, av tí at fleiri ambætarar handfara blokkar ymiskt. Almennir postar kunnu framvegis vera sjónligir fyri brúkarar, sum ikki eru innritaðir.", @@ -508,6 +526,8 @@ "notification.admin.report_statuses_other": "{name} meldaði {target}", "notification.admin.sign_up": "{name} meldaði seg til", "notification.admin.sign_up.name_and_others": "{name} og {count, plural, one {# annar/onnur} other {# onnur}} teknaðu seg", + "notification.annual_report.message": "Títt {year} #Wrapstodon bíðar! Avdúka hæddarpunktini og minniligu løturnar á Mastodon!", + "notification.annual_report.view": "Sí #Wrapstodon", "notification.favourite": "{name} dámdi postin hjá tær", "notification.favourite.name_and_others_with_link": "{name} og {count, plural, one {# annar/onnur} other {# onnur}} yndisfrámerktu postin hjá tær", "notification.follow": "{name} fylgdi tær", diff --git a/app/javascript/mastodon/locales/gl.json b/app/javascript/mastodon/locales/gl.json index 06a7ac8ca49a04..23f444715b2631 100644 --- a/app/javascript/mastodon/locales/gl.json +++ b/app/javascript/mastodon/locales/gl.json @@ -97,6 +97,8 @@ "annual_report.summary.most_used_app.most_used_app": "app que mais usaches", "annual_report.summary.most_used_hashtag.most_used_hashtag": "o cancelo mais utilizado", "annual_report.summary.new_posts.new_posts": "novas publicacións", + "annual_report.summary.percentile.text": "Sitúante no top das usuarias de Mastodon.", + "annual_report.summary.thanks": "Grazas por ser parte de Mastodon!", "attachments_list.unprocessed": "(sen procesar)", "audio.hide": "Agochar audio", "block_modal.remote_users_caveat": "Ímoslle pedir ao servidor {domain} que respecte a túa decisión. Emporiso, non hai garantía de que atenda a petición xa que os servidores xestionan os bloqueos de formas diferentes. As publicacións públicas poderían aínda ser visibles para usuarias que non iniciaron sesión.", diff --git a/app/javascript/mastodon/locales/ko.json b/app/javascript/mastodon/locales/ko.json index dbdb5062cff331..b5c8d4bd21b27a 100644 --- a/app/javascript/mastodon/locales/ko.json +++ b/app/javascript/mastodon/locales/ko.json @@ -87,6 +87,24 @@ "alert.unexpected.title": "앗!", "alt_text_badge.title": "대체 문구", "announcement.announcement": "공지사항", + "annual_report.summary.archetype.booster": "연쇄부스트마", + "annual_report.summary.archetype.lurker": "은둔자", + "annual_report.summary.archetype.oracle": "예언자", + "annual_report.summary.archetype.pollster": "여론조사원", + "annual_report.summary.archetype.replier": "인싸", + "annual_report.summary.followers.followers": "팔로워", + "annual_report.summary.followers.total": "총 {count}", + "annual_report.summary.here_it_is": "{year}년 결산입니다:", + "annual_report.summary.highlighted_post.by_favourites": "가장 많은 좋아요를 받은 게시물", + "annual_report.summary.highlighted_post.by_reblogs": "가장 많이 부스트된 게시물", + "annual_report.summary.highlighted_post.by_replies": "가장 많은 답글을 받은 게시물", + "annual_report.summary.highlighted_post.possessive": "{name} 님의", + "annual_report.summary.most_used_app.most_used_app": "가장 많이 사용한 앱", + "annual_report.summary.most_used_hashtag.most_used_hashtag": "가장 많이 사용한 해시태그", + "annual_report.summary.new_posts.new_posts": "새 게시물", + "annual_report.summary.percentile.text": "마스토돈 사용자의 상위입니다.", + "annual_report.summary.percentile.we_wont_tell_bernie": "엄마한테 말 안 할게요.", + "annual_report.summary.thanks": "마스토돈과 함께 해주셔서 감사합니다!", "attachments_list.unprocessed": "(처리 안 됨)", "audio.hide": "소리 숨기기", "block_modal.remote_users_caveat": "우리는 {domain} 서버가 당신의 결정을 존중해 주길 부탁할 것입니다. 하지만 몇몇 서버는 차단을 다르게 취급할 수 있기 때문에 규정이 준수되는 것을 보장할 수는 없습니다. 공개 게시물은 로그인 하지 않은 사용자들에게 여전히 보여질 수 있습니다.", @@ -508,6 +526,8 @@ "notification.admin.report_statuses_other": "{name} 님이 {target}을 신고했습니다", "notification.admin.sign_up": "{name} 님이 가입했습니다", "notification.admin.sign_up.name_and_others": "{name} 외 {count, plural, other {# 명}}이 가입했습니다", + "notification.annual_report.message": "{year} #Wrapstodon 이 기다리고 있습니다! 올 해 마스토돈에서 있었던 최고의 순간과 기억들을 열어보세요!", + "notification.annual_report.view": "#Wrapstodon 보기", "notification.favourite": "{name} 님이 내 게시물을 좋아합니다", "notification.favourite.name_and_others_with_link": "{name} 외 {count, plural, other {# 명}}이 내 게시물을 좋아합니다", "notification.follow": "{name} 님이 나를 팔로우했습니다", diff --git a/app/javascript/mastodon/locales/sk.json b/app/javascript/mastodon/locales/sk.json index dc31f6100f1ee1..7b9254c0d36728 100644 --- a/app/javascript/mastodon/locales/sk.json +++ b/app/javascript/mastodon/locales/sk.json @@ -87,6 +87,11 @@ "alert.unexpected.title": "Ups!", "alt_text_badge.title": "Alternatívny popis", "announcement.announcement": "Oznámenie", + "annual_report.summary.followers.followers": "sledovatelia", + "annual_report.summary.highlighted_post.by_reblogs": "najviac vyzdvihovaný príspevok", + "annual_report.summary.most_used_app.most_used_app": "najviac používaná aplikácia", + "annual_report.summary.most_used_hashtag.most_used_hashtag": "najviac užívaný hashtag", + "annual_report.summary.new_posts.new_posts": "nové príspevky", "attachments_list.unprocessed": "(nespracované)", "audio.hide": "Skryť zvuk", "block_modal.show_less": "Zobraziť menej", @@ -345,6 +350,9 @@ "home.pending_critical_update.link": "Zobraziť aktualizácie", "home.pending_critical_update.title": "Je dostupná kritická bezpečnostná aktualizácia.", "home.show_announcements": "Zobraziť oznámenia", + "ignore_notifications_modal.filter_instead": "Radšej triediť", + "ignore_notifications_modal.filter_to_act_users": "Stále budeš môcť akceptovať, odmietnuť, alebo nahlásiť užívateľov", + "ignore_notifications_modal.filter_to_avoid_confusion": "Triedenie pomáha vyvarovať sa možnému zmäteniu", "ignore_notifications_modal.ignore": "Ignoruj upozornenia", "interaction_modal.description.favourite": "S účtom na Mastodone môžete tento príspevok ohviezdičkovať, tak dať autorovi vedieť, že sa vám páči, a uložiť si ho na neskôr.", "interaction_modal.description.follow": "S účtom na Mastodone môžete {name} sledovať a vidieť ich príspevky vo svojom domovskom kanáli.", @@ -428,7 +436,11 @@ "mute_modal.hide_options": "Skryť možnosti", "mute_modal.indefinite": "Pokiaľ ich neodtíšim", "mute_modal.show_options": "Zobraziť možnosti", + "mute_modal.they_can_mention_and_follow": "Môže ťa spomenúť a nasledovať, ale ty ho/ju neuvidíš.", + "mute_modal.they_wont_know": "Nebude vedieť, že bol/a stíšený/á.", "mute_modal.title": "Stíšiť užívateľa?", + "mute_modal.you_wont_see_mentions": "Neuvidíš príspevky, ktoré ho/ju spomínajú.", + "mute_modal.you_wont_see_posts": "Stále uvidí tvoje príspevky, ale ty neuvidíš jeho/jej.", "navigation_bar.about": "O tomto serveri", "navigation_bar.administration": "Spravovanie", "navigation_bar.advanced_interface": "Otvoriť v pokročilom webovom rozhraní", @@ -468,12 +480,15 @@ "notification.label.private_reply": "Súkromná odpoveď", "notification.label.reply": "Odpoveď", "notification.mention": "Zmienka", + "notification.mentioned_you": "{name} ťa spomenul/a", "notification.moderation-warning.learn_more": "Zisti viac", + "notification.moderation_warning": "Dostal/a si varovanie od moderátora", "notification.moderation_warning.action_delete_statuses": "Niektoré z tvojich príspevkov boli odstránené.", "notification.moderation_warning.action_disable": "Tvoj účet bol vypnutý.", "notification.moderation_warning.action_silence": "Tvoj účet bol obmedzený.", "notification.moderation_warning.action_suspend": "Tvoj účet bol pozastavený.", "notification.own_poll": "Vaša anketa sa skončila", + "notification.poll": "Anketa, v ktorej si hlasoval/a, skončila", "notification.reblog": "{name} zdieľa váš príspevok", "notification.relationships_severance_event": "Stratené prepojenia s {name}", "notification.relationships_severance_event.account_suspension": "Správca z {from} pozastavil/a {target}, čo znamená, že od nich viac nemôžeš dostávať aktualizácie, alebo s nimi interaktovať.", diff --git a/app/javascript/mastodon/locales/tr.json b/app/javascript/mastodon/locales/tr.json index 5ac5a3368b4c5d..4699b9f4bda3f5 100644 --- a/app/javascript/mastodon/locales/tr.json +++ b/app/javascript/mastodon/locales/tr.json @@ -87,6 +87,24 @@ "alert.unexpected.title": "Hay aksi!", "alt_text_badge.title": "Alternatif metin", "announcement.announcement": "Duyuru", + "annual_report.summary.archetype.booster": "Trend takipçisi", + "annual_report.summary.archetype.lurker": "Gizli meraklı", + "annual_report.summary.archetype.oracle": "Kahin", + "annual_report.summary.archetype.pollster": "Anketör", + "annual_report.summary.archetype.replier": "Sosyal kelebek", + "annual_report.summary.followers.followers": "takipçiler", + "annual_report.summary.followers.total": "{count} toplam", + "annual_report.summary.here_it_is": "İşte {year} yılı değerlendirmeniz:", + "annual_report.summary.highlighted_post.by_favourites": "en çok beğenilen gönderi", + "annual_report.summary.highlighted_post.by_reblogs": "en çok paylaşılan gönderi", + "annual_report.summary.highlighted_post.by_replies": "en çok yanıt alan gönderi", + "annual_report.summary.highlighted_post.possessive": "{name}", + "annual_report.summary.most_used_app.most_used_app": "en çok kullanılan uygulama", + "annual_report.summary.most_used_hashtag.most_used_hashtag": "en çok kullanılan etiket", + "annual_report.summary.new_posts.new_posts": "yeni gönderiler", + "annual_report.summary.percentile.text": "Mastodon kullanıcılarınınüst dilimindesiniz.", + "annual_report.summary.percentile.we_wont_tell_bernie": "Bernie'ye söylemeyiz.", + "annual_report.summary.thanks": "Mastodon'un bir parçası olduğunuz için teşekkürler!", "attachments_list.unprocessed": "(işlenmemiş)", "audio.hide": "Sesi gizle", "block_modal.remote_users_caveat": "{domain} sunucusundan kararınıza saygı duymasını isteyeceğiz. Ancak, Uymaları garanti değildir çünkü bazı sunucular engellemeyi farklı şekilde yapıyorlar. Herkese açık gönderiler giriş yapmamış kullanıcılara görüntülenmeye devam edebilir.", @@ -508,6 +526,8 @@ "notification.admin.report_statuses_other": "{name}, {target} kişisini bildirdi", "notification.admin.sign_up": "{name} kaydoldu", "notification.admin.sign_up.name_and_others": "{name} ve {count, plural, one {# diğer kişi} other {# diğer kişi}} kaydoldu", + "notification.annual_report.message": "{year} yılı #Wrapstodon'unuz bekliyor! Yılınızın Mastodon'daki öne çıkanlarını ve anılarınızı gösterin!", + "notification.annual_report.view": "#Wrapstodon'u Görüntüle", "notification.favourite": "{name} gönderinizi beğendi", "notification.favourite.name_and_others_with_link": "{name} ve {count, plural, one {# diğer kişi} other {# diğer kişi}} gönderinizi beğendi", "notification.follow": "{name} seni takip etti", diff --git a/app/javascript/mastodon/locales/uk.json b/app/javascript/mastodon/locales/uk.json index fc396aa9339cca..b34785ebc3feab 100644 --- a/app/javascript/mastodon/locales/uk.json +++ b/app/javascript/mastodon/locales/uk.json @@ -87,6 +87,7 @@ "alert.unexpected.title": "Ой!", "alt_text_badge.title": "Альтернативний текст", "announcement.announcement": "Оголошення", + "annual_report.summary.new_posts.new_posts": "нові дописи", "attachments_list.unprocessed": "(не оброблено)", "audio.hide": "Сховати аудіо", "block_modal.remote_users_caveat": "Ми попросимо сервер {domain} поважати ваше рішення. Однак дотримання вимог не гарантується, оскільки деякі сервери можуть обробляти блоки по-різному. Загальнодоступні дописи все ще можуть бути видимими для користувачів, які не увійшли в систему.", diff --git a/app/javascript/mastodon/locales/vi.json b/app/javascript/mastodon/locales/vi.json index 7ae955c1b0ca6f..2b5401a878f7d6 100644 --- a/app/javascript/mastodon/locales/vi.json +++ b/app/javascript/mastodon/locales/vi.json @@ -87,6 +87,24 @@ "alert.unexpected.title": "Ốiii!", "alt_text_badge.title": "Văn bản thay thế", "announcement.announcement": "Có gì mới?", + "annual_report.summary.archetype.booster": "Hiệp sĩ ngầu", + "annual_report.summary.archetype.lurker": "Kẻ rình mò", + "annual_report.summary.archetype.oracle": "Nhà tiên tri", + "annual_report.summary.archetype.pollster": "Chuyên gia khảo sát", + "annual_report.summary.archetype.replier": "Bướm xã hội", + "annual_report.summary.followers.followers": "người theo dõi", + "annual_report.summary.followers.total": "tổng {count}", + "annual_report.summary.here_it_is": "Nhìn lại năm {year} của bạn:", + "annual_report.summary.highlighted_post.by_favourites": "tút được thích nhiều nhất", + "annual_report.summary.highlighted_post.by_reblogs": "tút được đăng lại nhiều nhất", + "annual_report.summary.highlighted_post.by_replies": "tút được trả lời nhiều nhất", + "annual_report.summary.highlighted_post.possessive": "{name}", + "annual_report.summary.most_used_app.most_used_app": "app dùng nhiều nhất", + "annual_report.summary.most_used_hashtag.most_used_hashtag": "hashtag dùng nhiều nhất", + "annual_report.summary.new_posts.new_posts": "tút mới", + "annual_report.summary.percentile.text": "Bạn nằm trong topthành viên Mastodon.", + "annual_report.summary.percentile.we_wont_tell_bernie": "Chúng tôi sẽ không kể cho Bernie.", + "annual_report.summary.thanks": "Cảm ơn đã trở thành một phần của Mastodon!", "attachments_list.unprocessed": "(chưa xử lí)", "audio.hide": "Ẩn âm thanh", "block_modal.remote_users_caveat": "Chúng tôi sẽ yêu cầu {domain} tôn trọng quyết định của bạn. Tuy nhiên, việc tuân thủ không được đảm bảo vì một số máy chủ có thể xử lý việc chặn theo cách khác nhau. Các tút công khai vẫn có thể hiển thị đối với người dùng chưa đăng nhập.", @@ -508,6 +526,8 @@ "notification.admin.report_statuses_other": "{name} báo cáo {target}", "notification.admin.sign_up": "{name} tham gia máy chủ của bạn", "notification.admin.sign_up.name_and_others": "{name} và {count, plural, other {# người}} đã đăng ký", + "notification.annual_report.message": "#Wrapstodon {year} của bạn có rồi đây! Hãy chia sẻ những điểm nhấn và khoảnh khắc đáng nhớ trên Mastodon của bạn trong năm qua!", + "notification.annual_report.view": "Xem #Wrapstodon", "notification.favourite": "{name} thích tút của bạn", "notification.favourite.name_and_others_with_link": "{name} và {count, plural, other {# người khác}} đã thích tút của bạn", "notification.follow": "{name} theo dõi bạn", diff --git a/config/locales/fo.yml b/config/locales/fo.yml index 3ade3007f44a56..1060ee1609c2bd 100644 --- a/config/locales/fo.yml +++ b/config/locales/fo.yml @@ -1368,6 +1368,44 @@ fo: merge_long: Varðveit verandi teigarøð og legg nýggjar afturat overwrite: Skriva omaná overwrite_long: Legg nýggj teigarøð inn fyri tey verandi + overwrite_preambles: + blocking_html: + one: Tú ert í ferð við at útskifta blokeringslistan hjá tær við upp til %{count} kontu frá %{filename}. + other: Tú ert í ferð við at útskifta blokeringslistan hjá tær við upp til %{count} kontum frá %{filename}. + bookmarks_html: + one: Tú ert í ferð við at útskifta tíni bókamerki við upp til %{count} posti frá %{filename}. + other: Tú ert í ferð við at útskifta tíni bókamerki við upp til %{count} postum frá %{filename}. + domain_blocking_html: + one: Tú ert í ferð við at útskifta navnaøkisblokeringslistan hjá tær við upp til %{count} navnaøki frá %{filename}. + other: Tú ert í ferð við at útskifta navnaøkisblokeringslistan hjá tær við upp til %{count} navnaøkjum frá %{filename}. + following_html: + one: Tú ert í ferð við at fylgja upp til %{count} kontu frá %{filename} og at gevast at fylgja øðrum. + other: Tú ert í ferð við at fylgja upp til %{count} kontum frá %{filename} og at gevast at fylgja øðrum. + lists_html: + one: Tú ert í ferð við at skifta listarnar hjá tær út við tað, sum er í %{filename}. Upp til %{count} konta verður løgd afturat nýggjum listum. + other: Tú ert í ferð við at skifta listarnar hjá tær út við tað, sum er í %{filename}. Upp til %{count} kontur verða lagdar afturat nýggjum listum. + muting_html: + one: Tú ert í ferð við at útskifta listan hjá tær við doyvdum kontum við upp til %{count} kontu frá %{filename}. + other: Tú ert í ferð við at útskifta listan hjá tær við doyvdum kontum við upp til %{count} kontum frá %{filename}. + preambles: + blocking_html: + one: Tú ert í ferð við at blokera upp til %{count} kontu frá %{filename}. + other: Tú ert í ferð við at blokera upp til %{count} kontur frá %{filename}. + bookmarks_html: + one: Tú ert í ferð við at leggja upp til %{count} post frá %{filename} afturat tínum bókamerkjum. + other: Tú ert í ferð við at leggja upp til %{count} postar frá %{filename} afturat tínum bókamerkjum. + domain_blocking_html: + one: Tú ert í ferð við at blokera upp til %{count} navnaøki frá %{filename}. + other: Tú ert í ferð við at blokera upp til %{count} navnaøki frá %{filename}. + following_html: + one: Tú ert í ferð við at fylgja upp til %{count} kontu frá %{filename}. + other: Tú ert í ferð við at fylgja upp til %{count} kontur frá %{filename}. + lists_html: + one: Tú ert í ferð við at leggja upp til %{count} kontu frá %{filename} afturat tínum listum. Nýggir listar verða stovnaðir, um eingin listi er at leggja afturat. + other: Tú ert í ferð við at leggja upp til %{count} kontur frá %{filename} afturat tínum listum. Nýggir listar verða stovnaðir, um eingin listi er at leggja afturat. + muting_html: + one: Tú ert í ferð við at doyva upp til %{count} kontu frá %{filename}. + other: Tú ert í ferð við at doyva upp til %{count} kontur frá %{filename}. preface: Tú kanst innlesa dátur, sum tú hevur útlisið frá einum øðrum ambætara, so sum listar av fólki, sum tú fylgir ella blokerar. recent_imports: Feskar innflytingar states: From 8f4af29a73a406c29eb8007decd59fd157276aaa Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Thu, 7 Nov 2024 10:45:19 +0100 Subject: [PATCH 140/357] Update dependency aws-sdk-s3 to v1.170.0 (#32791) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> --- Gemfile.lock | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/Gemfile.lock b/Gemfile.lock index 844eb1b6b230e8..00ec451af9ab9c 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -100,8 +100,8 @@ GEM attr_required (1.0.2) awrence (1.2.1) aws-eventstream (1.3.0) - aws-partitions (1.997.0) - aws-sdk-core (3.211.0) + aws-partitions (1.1001.0) + aws-sdk-core (3.212.0) aws-eventstream (~> 1, >= 1.3.0) aws-partitions (~> 1, >= 1.992.0) aws-sigv4 (~> 1.9) @@ -109,7 +109,7 @@ GEM aws-sdk-kms (1.95.0) aws-sdk-core (~> 3, >= 3.210.0) aws-sigv4 (~> 1.5) - aws-sdk-s3 (1.169.0) + aws-sdk-s3 (1.170.0) aws-sdk-core (~> 3, >= 3.210.0) aws-sdk-kms (~> 1) aws-sigv4 (~> 1.5) From befb44a08c6048337f27cf93db453249624e9a34 Mon Sep 17 00:00:00 2001 From: Claire Date: Thu, 7 Nov 2024 10:57:42 +0100 Subject: [PATCH 141/357] =?UTF-8?q?Fix=20=E2=80=9Cuninitialized=20constant?= =?UTF-8?q?=20HttpLog=E2=80=9D=20errors=20in=20tootctl=20(#32796)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- lib/mastodon/cli/progress_helper.rb | 2 +- lib/tasks/mastodon.rake | 2 +- lib/tasks/repo.rake | 4 ++-- 3 files changed, 4 insertions(+), 4 deletions(-) diff --git a/lib/mastodon/cli/progress_helper.rb b/lib/mastodon/cli/progress_helper.rb index 56343437967650..da9527ffd79083 100644 --- a/lib/mastodon/cli/progress_helper.rb +++ b/lib/mastodon/cli/progress_helper.rb @@ -5,7 +5,7 @@ Rails.logger = dev_null ActiveRecord::Base.logger = dev_null ActiveJob::Base.logger = dev_null -HttpLog.configuration.logger = dev_null +HttpLog.configuration.logger = dev_null if defined?(HttpLog) Paperclip.options[:log] = false Chewy.logger = dev_null diff --git a/lib/tasks/mastodon.rake b/lib/tasks/mastodon.rake index 2822f2eeb126ed..e1e2dd8194fcf0 100644 --- a/lib/tasks/mastodon.rake +++ b/lib/tasks/mastodon.rake @@ -596,7 +596,7 @@ def disable_log_stdout! Rails.logger = dev_null ActiveRecord::Base.logger = dev_null - HttpLog.configuration.logger = dev_null + HttpLog.configuration.logger = dev_null if defined?(HttpLog) Paperclip.options[:log] = false end diff --git a/lib/tasks/repo.rake b/lib/tasks/repo.rake index 539c44273f4a3a..c8f977f6512dc2 100644 --- a/lib/tasks/repo.rake +++ b/lib/tasks/repo.rake @@ -18,7 +18,7 @@ namespace :repo do url = "https://api.github.com/repos/#{REPOSITORY_NAME}/contributors?anon=1" - HttpLog.config.compact_log = true + HttpLog.config.compact_log = true if defined?(HttpLog) while url.present? response = HTTP.get(url) @@ -43,7 +43,7 @@ namespace :repo do path = Rails.root.join('CHANGELOG.md') tmp = Tempfile.new - HttpLog.config.compact_log = true + HttpLog.config.compact_log = true if defined?(HttpLog) begin File.open(path, 'r') do |file| From ae667624acbdcba796921dc44c24efd362d4a49a Mon Sep 17 00:00:00 2001 From: Matt Jankowski Date: Thu, 7 Nov 2024 05:07:04 -0500 Subject: [PATCH 142/357] Use `with_options` for shared settings options in routes (#30847) --- config/routes/admin.rb | 6 ++++-- config/routes/api.rb | 6 ++++-- 2 files changed, 8 insertions(+), 4 deletions(-) diff --git a/config/routes/admin.rb b/config/routes/admin.rb index 3dba6fa5b8eb6d..2afe5702360628 100644 --- a/config/routes/admin.rb +++ b/config/routes/admin.rb @@ -40,8 +40,10 @@ end end - get '/settings', to: redirect('/admin/settings/branding') - get '/settings/edit', to: redirect('/admin/settings/branding') + with_options to: redirect('/admin/settings/branding') do + get '/settings' + get '/settings/edit' + end namespace :settings do resource :branding, only: [:show, :update], controller: 'branding' diff --git a/config/routes/api.rb b/config/routes/api.rb index ccdd83dec7df1f..95fdf332a0ca66 100644 --- a/config/routes/api.rb +++ b/config/routes/api.rb @@ -44,8 +44,10 @@ resources :list, only: :show end - get '/streaming', to: 'streaming#index' - get '/streaming/(*any)', to: 'streaming#index' + with_options to: 'streaming#index' do + get '/streaming' + get '/streaming/(*any)' + end resources :custom_emojis, only: [:index] resources :suggestions, only: [:index, :destroy] From 73f66af6eb6c344768ab30c38fc2f82c45482d4d Mon Sep 17 00:00:00 2001 From: Matt Jankowski Date: Thu, 7 Nov 2024 05:28:59 -0500 Subject: [PATCH 143/357] Update location of unused `MIN_SCHEDULE_OFFSET` constant (#31217) --- app/models/scheduled_status.rb | 3 ++- app/services/post_status_service.rb | 2 -- app/workers/scheduler/scheduled_statuses_scheduler.rb | 8 ++++++-- 3 files changed, 8 insertions(+), 5 deletions(-) diff --git a/app/models/scheduled_status.rb b/app/models/scheduled_status.rb index 27f0cbd280cbf2..cb49e907057ac1 100644 --- a/app/models/scheduled_status.rb +++ b/app/models/scheduled_status.rb @@ -15,6 +15,7 @@ class ScheduledStatus < ApplicationRecord TOTAL_LIMIT = 300 DAILY_LIMIT = 25 + MINIMUM_OFFSET = 5.minutes.freeze belongs_to :account, inverse_of: :scheduled_statuses has_many :media_attachments, inverse_of: :scheduled_status, dependent: :nullify @@ -26,7 +27,7 @@ class ScheduledStatus < ApplicationRecord private def validate_future_date - errors.add(:scheduled_at, I18n.t('scheduled_statuses.too_soon')) if scheduled_at.present? && scheduled_at <= Time.now.utc + PostStatusService::MIN_SCHEDULE_OFFSET + errors.add(:scheduled_at, I18n.t('scheduled_statuses.too_soon')) if scheduled_at.present? && scheduled_at <= Time.now.utc + MINIMUM_OFFSET end def validate_total_limit diff --git a/app/services/post_status_service.rb b/app/services/post_status_service.rb index 98fd95f0258da4..ee6b18c74ce5e9 100644 --- a/app/services/post_status_service.rb +++ b/app/services/post_status_service.rb @@ -4,8 +4,6 @@ class PostStatusService < BaseService include Redisable include LanguagesHelper - MIN_SCHEDULE_OFFSET = 5.minutes.freeze - class UnexpectedMentionsError < StandardError attr_reader :accounts diff --git a/app/workers/scheduler/scheduled_statuses_scheduler.rb b/app/workers/scheduler/scheduled_statuses_scheduler.rb index 4e251780de5f1a..e2ccabf70f84ca 100644 --- a/app/workers/scheduler/scheduled_statuses_scheduler.rb +++ b/app/workers/scheduler/scheduled_statuses_scheduler.rb @@ -20,7 +20,7 @@ def publish_scheduled_statuses! end def due_statuses - ScheduledStatus.where(scheduled_at: ..Time.now.utc + PostStatusService::MIN_SCHEDULE_OFFSET) + ScheduledStatus.where(scheduled_at: ..time_due_at) end def publish_scheduled_announcements! @@ -30,7 +30,7 @@ def publish_scheduled_announcements! end def due_announcements - Announcement.unpublished.where('scheduled_at IS NOT NULL AND scheduled_at <= ?', Time.now.utc + PostStatusService::MIN_SCHEDULE_OFFSET) + Announcement.unpublished.where('scheduled_at IS NOT NULL AND scheduled_at <= ?', time_due_at) end def unpublish_expired_announcements! @@ -40,4 +40,8 @@ def unpublish_expired_announcements! def expired_announcements Announcement.published.where('ends_at IS NOT NULL AND ends_at <= ?', Time.now.utc) end + + def time_due_at + Time.now.utc + ScheduledStatus::MINIMUM_OFFSET + end end From 68b545ef338fc772c56d0f9dde781698b5730ae6 Mon Sep 17 00:00:00 2001 From: Matt Jankowski Date: Thu, 7 Nov 2024 05:32:33 -0500 Subject: [PATCH 144/357] Add `Status.not_direct_visibility` scope (#32065) --- app/models/account_statuses_cleanup_policy.rb | 2 +- app/models/status.rb | 1 + lib/mastodon/cli/cache.rb | 4 ++-- 3 files changed, 4 insertions(+), 3 deletions(-) diff --git a/app/models/account_statuses_cleanup_policy.rb b/app/models/account_statuses_cleanup_policy.rb index 6e998e2dcaf6b0..ef41bb3ee3aa08 100644 --- a/app/models/account_statuses_cleanup_policy.rb +++ b/app/models/account_statuses_cleanup_policy.rb @@ -130,7 +130,7 @@ def validate_local_account end def without_direct_scope - Status.where.not(visibility: :direct) + Status.not_direct_visibility end def old_enough_scope(max_id = nil) diff --git a/app/models/status.rb b/app/models/status.rb index f0a4f50ff6f6ad..c58de5114c7adf 100644 --- a/app/models/status.rb +++ b/app/models/status.rb @@ -127,6 +127,7 @@ class Status < ApplicationRecord } scope :distributable_visibility, -> { where(visibility: %i(public unlisted)) } scope :list_eligible_visibility, -> { where(visibility: %i(public unlisted private)) } + scope :not_direct_visibility, -> { where.not(visibility: :direct) } after_create_commit :trigger_create_webhooks after_update_commit :trigger_update_webhooks diff --git a/lib/mastodon/cli/cache.rb b/lib/mastodon/cli/cache.rb index f32ab292ee29b2..cfb6cba1ff201f 100644 --- a/lib/mastodon/cli/cache.rb +++ b/lib/mastodon/cli/cache.rb @@ -52,7 +52,7 @@ def recount_account_stats(account) account.account_stat.tap do |account_stat| account_stat.following_count = account.active_relationships.count account_stat.followers_count = account.passive_relationships.count - account_stat.statuses_count = account.statuses.where.not(visibility: :direct).count + account_stat.statuses_count = account.statuses.not_direct_visibility.count account_stat.save if account_stat.changed? end @@ -60,7 +60,7 @@ def recount_account_stats(account) def recount_status_stats(status) status.status_stat.tap do |status_stat| - status_stat.replies_count = status.replies.where.not(visibility: :direct).count + status_stat.replies_count = status.replies.not_direct_visibility.count status_stat.reblogs_count = status.reblogs.count status_stat.favourites_count = status.favourites.count From e0a44b8317504bd953779495cd77156359b60550 Mon Sep 17 00:00:00 2001 From: Matt Jankowski Date: Thu, 7 Nov 2024 05:34:13 -0500 Subject: [PATCH 145/357] Use `shell.indent` for list output indentation in CLI area (#31969) --- lib/mastodon/cli/accounts.rb | 4 +++- lib/mastodon/cli/email_domain_blocks.rb | 6 ++++-- lib/mastodon/cli/emoji.rb | 4 +++- 3 files changed, 10 insertions(+), 4 deletions(-) diff --git a/lib/mastodon/cli/accounts.rb b/lib/mastodon/cli/accounts.rb index 23c907543f2884..c8e91224cf6712 100644 --- a/lib/mastodon/cli/accounts.rb +++ b/lib/mastodon/cli/accounts.rb @@ -321,7 +321,9 @@ def cull(*domains) unless skip_domains.empty? say('The following domains were not available during the check:', :yellow) - skip_domains.each { |domain| say(" #{domain}") } + shell.indent(2) do + skip_domains.each { |domain| say(domain) } + end end end diff --git a/lib/mastodon/cli/email_domain_blocks.rb b/lib/mastodon/cli/email_domain_blocks.rb index 6b9107c8ade6a6..4aa31f8af84635 100644 --- a/lib/mastodon/cli/email_domain_blocks.rb +++ b/lib/mastodon/cli/email_domain_blocks.rb @@ -10,8 +10,10 @@ def list EmailDomainBlock.where(parent_id: nil).find_each do |entry| say(entry.domain.to_s, :white) - EmailDomainBlock.where(parent_id: entry.id).find_each do |child| - say(" #{child.domain}", :cyan) + shell.indent do + EmailDomainBlock.where(parent_id: entry.id).find_each do |child| + say(child.domain, :cyan) + end end end end diff --git a/lib/mastodon/cli/emoji.rb b/lib/mastodon/cli/emoji.rb index 4a8949de0e412c..206961f854898c 100644 --- a/lib/mastodon/cli/emoji.rb +++ b/lib/mastodon/cli/emoji.rb @@ -62,7 +62,9 @@ def import(path) failed += 1 say('Failure/Error: ', :red) say(entry.full_name) - say(" #{custom_emoji.errors[:image].join(', ')}", :red) + shell.indent(2) do + say(custom_emoji.errors[:image].join(', '), :red) + end end end end From 6ae1fcd0591ece24867483865f41e95b80cc0fb2 Mon Sep 17 00:00:00 2001 From: Claire Date: Thu, 7 Nov 2024 12:45:46 +0100 Subject: [PATCH 146/357] Fix list of follow requests not having a back button (#32797) --- app/javascript/mastodon/features/follow_requests/index.jsx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/app/javascript/mastodon/features/follow_requests/index.jsx b/app/javascript/mastodon/features/follow_requests/index.jsx index a8f40a31d0d007..7d651f2ca69c24 100644 --- a/app/javascript/mastodon/features/follow_requests/index.jsx +++ b/app/javascript/mastodon/features/follow_requests/index.jsx @@ -68,7 +68,7 @@ class FollowRequests extends ImmutablePureComponent { ); return ( - + Date: Thu, 7 Nov 2024 08:46:20 -0500 Subject: [PATCH 147/357] Add `EmailDomainBlock.parents` scope (#31968) --- app/controllers/admin/email_domain_blocks_controller.rb | 2 +- app/models/email_domain_block.rb | 2 ++ lib/mastodon/cli/email_domain_blocks.rb | 6 +++--- 3 files changed, 6 insertions(+), 4 deletions(-) diff --git a/app/controllers/admin/email_domain_blocks_controller.rb b/app/controllers/admin/email_domain_blocks_controller.rb index faa0a061a6ddd1..fe822d8c999d25 100644 --- a/app/controllers/admin/email_domain_blocks_controller.rb +++ b/app/controllers/admin/email_domain_blocks_controller.rb @@ -5,7 +5,7 @@ class EmailDomainBlocksController < BaseController def index authorize :email_domain_block, :index? - @email_domain_blocks = EmailDomainBlock.where(parent_id: nil).includes(:children).order(id: :desc).page(params[:page]) + @email_domain_blocks = EmailDomainBlock.parents.includes(:children).order(id: :desc).page(params[:page]) @form = Form::EmailDomainBlockBatch.new end diff --git a/app/models/email_domain_block.rb b/app/models/email_domain_block.rb index f3a86eae8f3533..583d2e6c1b18fa 100644 --- a/app/models/email_domain_block.rb +++ b/app/models/email_domain_block.rb @@ -28,6 +28,8 @@ class EmailDomainBlock < ApplicationRecord validates :domain, presence: true, uniqueness: true, domain: true + scope :parents, -> { where(parent_id: nil) } + # Used for adding multiple blocks at once attr_accessor :other_domains diff --git a/lib/mastodon/cli/email_domain_blocks.rb b/lib/mastodon/cli/email_domain_blocks.rb index 4aa31f8af84635..7b2da8ef9f4db0 100644 --- a/lib/mastodon/cli/email_domain_blocks.rb +++ b/lib/mastodon/cli/email_domain_blocks.rb @@ -7,11 +7,11 @@ module Mastodon::CLI class EmailDomainBlocks < Base desc 'list', 'List blocked e-mail domains' def list - EmailDomainBlock.where(parent_id: nil).find_each do |entry| - say(entry.domain.to_s, :white) + EmailDomainBlock.parents.find_each do |parent| + say(parent.domain.to_s, :white) shell.indent do - EmailDomainBlock.where(parent_id: entry.id).find_each do |child| + EmailDomainBlock.where(parent_id: parent.id).find_each do |child| say(child.domain, :cyan) end end From 16b074d731de2ee03d392f91dede60fe0b24b0b1 Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Thu, 7 Nov 2024 14:56:14 +0100 Subject: [PATCH 148/357] Update dependency net-http to '~> 0.5.0' (#32794) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> --- Gemfile | 2 +- Gemfile.lock | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/Gemfile b/Gemfile index 690e2a59d2a797..f7808d4e75cae2 100644 --- a/Gemfile +++ b/Gemfile @@ -221,7 +221,7 @@ gem 'concurrent-ruby', require: false gem 'connection_pool', require: false gem 'xorcist', '~> 1.1' -gem 'net-http', '~> 0.4.0' +gem 'net-http', '~> 0.5.0' gem 'rubyzip', '~> 2.3' gem 'hcaptcha', '~> 7.1' diff --git a/Gemfile.lock b/Gemfile.lock index 00ec451af9ab9c..087af73d9f88b9 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -416,7 +416,7 @@ GEM msgpack (1.7.3) multi_json (1.15.0) mutex_m (0.2.0) - net-http (0.4.1) + net-http (0.5.0) uri net-imap (0.5.0) date @@ -946,7 +946,7 @@ DEPENDENCIES mario-redis-lock (~> 1.2) memory_profiler mime-types (~> 3.6.0) - net-http (~> 0.4.0) + net-http (~> 0.5.0) net-ldap (~> 0.18) nokogiri (~> 1.15) oj (~> 3.14) From 41227aeb9534ed566241c3038bfc91401b971638 Mon Sep 17 00:00:00 2001 From: Matt Jankowski Date: Thu, 7 Nov 2024 09:58:20 -0500 Subject: [PATCH 149/357] Update Rails to version 7.2.2 (#30391) --- Gemfile | 3 +- Gemfile.lock | 135 +++++++++--------- .../system_check/database_schema_check.rb | 2 +- .../concerns/status/safe_reblog_insert.rb | 19 ++- config/application.rb | 7 +- config/environments/development.rb | 10 +- config/environments/production.rb | 35 ++--- config/environments/test.rb | 9 +- lib/active_record/with_recursive.rb | 65 --------- lib/arel/union_parenthesizing.rb | 51 ------- lib/tasks/tests.rake | 2 +- .../database_schema_check_spec.rb | 4 +- 12 files changed, 118 insertions(+), 224 deletions(-) delete mode 100644 lib/active_record/with_recursive.rb delete mode 100644 lib/arel/union_parenthesizing.rb diff --git a/Gemfile b/Gemfile index f7808d4e75cae2..47506929b064ed 100644 --- a/Gemfile +++ b/Gemfile @@ -6,7 +6,7 @@ ruby '>= 3.2.0' gem 'propshaft' gem 'puma', '~> 6.3' gem 'rack', '~> 2.2.7' -gem 'rails', '~> 7.1.1' +gem 'rails', '~> 7.2.0' gem 'thor', '~> 1.2' gem 'dotenv' @@ -63,6 +63,7 @@ gem 'kaminari', '~> 1.2' gem 'link_header', '~> 0.0' gem 'mario-redis-lock', '~> 1.2', require: 'redis_lock' gem 'mime-types', '~> 3.6.0', require: 'mime/types/columnar' +gem 'mutex_m' gem 'nokogiri', '~> 1.15' gem 'oj', '~> 3.14' gem 'ox', '~> 2.14' diff --git a/Gemfile.lock b/Gemfile.lock index 087af73d9f88b9..1888485af08110 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -10,51 +10,46 @@ GIT GEM remote: https://rubygems.org/ specs: - actioncable (7.1.4.2) - actionpack (= 7.1.4.2) - activesupport (= 7.1.4.2) + actioncable (7.2.2) + actionpack (= 7.2.2) + activesupport (= 7.2.2) nio4r (~> 2.0) websocket-driver (>= 0.6.1) zeitwerk (~> 2.6) - actionmailbox (7.1.4.2) - actionpack (= 7.1.4.2) - activejob (= 7.1.4.2) - activerecord (= 7.1.4.2) - activestorage (= 7.1.4.2) - activesupport (= 7.1.4.2) - mail (>= 2.7.1) - net-imap - net-pop - net-smtp - actionmailer (7.1.4.2) - actionpack (= 7.1.4.2) - actionview (= 7.1.4.2) - activejob (= 7.1.4.2) - activesupport (= 7.1.4.2) - mail (~> 2.5, >= 2.5.4) - net-imap - net-pop - net-smtp + actionmailbox (7.2.2) + actionpack (= 7.2.2) + activejob (= 7.2.2) + activerecord (= 7.2.2) + activestorage (= 7.2.2) + activesupport (= 7.2.2) + mail (>= 2.8.0) + actionmailer (7.2.2) + actionpack (= 7.2.2) + actionview (= 7.2.2) + activejob (= 7.2.2) + activesupport (= 7.2.2) + mail (>= 2.8.0) rails-dom-testing (~> 2.2) - actionpack (7.1.4.2) - actionview (= 7.1.4.2) - activesupport (= 7.1.4.2) + actionpack (7.2.2) + actionview (= 7.2.2) + activesupport (= 7.2.2) nokogiri (>= 1.8.5) racc - rack (>= 2.2.4) + rack (>= 2.2.4, < 3.2) rack-session (>= 1.0.1) rack-test (>= 0.6.3) rails-dom-testing (~> 2.2) rails-html-sanitizer (~> 1.6) - actiontext (7.1.4.2) - actionpack (= 7.1.4.2) - activerecord (= 7.1.4.2) - activestorage (= 7.1.4.2) - activesupport (= 7.1.4.2) + useragent (~> 0.16) + actiontext (7.2.2) + actionpack (= 7.2.2) + activerecord (= 7.2.2) + activestorage (= 7.2.2) + activesupport (= 7.2.2) globalid (>= 0.6.0) nokogiri (>= 1.8.5) - actionview (7.1.4.2) - activesupport (= 7.1.4.2) + actionview (7.2.2) + activesupport (= 7.2.2) builder (~> 3.1) erubi (~> 1.11) rails-dom-testing (~> 2.2) @@ -64,31 +59,33 @@ GEM activemodel (>= 4.1) case_transform (>= 0.2) jsonapi-renderer (>= 0.1.1.beta1, < 0.3) - activejob (7.1.4.2) - activesupport (= 7.1.4.2) + activejob (7.2.2) + activesupport (= 7.2.2) globalid (>= 0.3.6) - activemodel (7.1.4.2) - activesupport (= 7.1.4.2) - activerecord (7.1.4.2) - activemodel (= 7.1.4.2) - activesupport (= 7.1.4.2) + activemodel (7.2.2) + activesupport (= 7.2.2) + activerecord (7.2.2) + activemodel (= 7.2.2) + activesupport (= 7.2.2) timeout (>= 0.4.0) - activestorage (7.1.4.2) - actionpack (= 7.1.4.2) - activejob (= 7.1.4.2) - activerecord (= 7.1.4.2) - activesupport (= 7.1.4.2) + activestorage (7.2.2) + actionpack (= 7.2.2) + activejob (= 7.2.2) + activerecord (= 7.2.2) + activesupport (= 7.2.2) marcel (~> 1.0) - activesupport (7.1.4.2) + activesupport (7.2.2) base64 + benchmark (>= 0.3) bigdecimal - concurrent-ruby (~> 1.0, >= 1.0.2) + concurrent-ruby (~> 1.0, >= 1.3.1) connection_pool (>= 2.2.5) drb i18n (>= 1.6, < 2) + logger (>= 1.4.2) minitest (>= 5.1) - mutex_m - tzinfo (~> 2.0) + securerandom (>= 0.3) + tzinfo (~> 2.0, >= 2.0.5) addressable (2.8.7) public_suffix (>= 2.0.2, < 7.0) aes_key_wrap (1.1.0) @@ -120,6 +117,7 @@ GEM base64 (0.2.0) bcp47_spec (0.2.1) bcrypt (3.1.20) + benchmark (0.3.0) better_errors (2.10.1) erubi (>= 1.0.0) rack (>= 0.9.0) @@ -613,20 +611,20 @@ GEM rackup (1.0.0) rack (< 3) webrick - rails (7.1.4.2) - actioncable (= 7.1.4.2) - actionmailbox (= 7.1.4.2) - actionmailer (= 7.1.4.2) - actionpack (= 7.1.4.2) - actiontext (= 7.1.4.2) - actionview (= 7.1.4.2) - activejob (= 7.1.4.2) - activemodel (= 7.1.4.2) - activerecord (= 7.1.4.2) - activestorage (= 7.1.4.2) - activesupport (= 7.1.4.2) + rails (7.2.2) + actioncable (= 7.2.2) + actionmailbox (= 7.2.2) + actionmailer (= 7.2.2) + actionpack (= 7.2.2) + actiontext (= 7.2.2) + actionview (= 7.2.2) + activejob (= 7.2.2) + activemodel (= 7.2.2) + activerecord (= 7.2.2) + activestorage (= 7.2.2) + activesupport (= 7.2.2) bundler (>= 1.15.0) - railties (= 7.1.4.2) + railties (= 7.2.2) rails-controller-testing (1.0.5) actionpack (>= 5.0.1.rc1) actionview (>= 5.0.1.rc1) @@ -641,10 +639,10 @@ GEM rails-i18n (7.0.10) i18n (>= 0.7, < 2) railties (>= 6.0.0, < 8) - railties (7.1.4.2) - actionpack (= 7.1.4.2) - activesupport (= 7.1.4.2) - irb + railties (7.2.2) + actionpack (= 7.2.2) + activesupport (= 7.2.2) + irb (~> 1.13) rackup (>= 1.0.0) rake (>= 12.2) thor (~> 1.0, >= 1.2.2) @@ -755,6 +753,7 @@ GEM scenic (1.8.0) activerecord (>= 4.0.0) railties (>= 4.0.0) + securerandom (0.3.1) selenium-webdriver (4.26.0) base64 (~> 0.2) logger (~> 1.4) @@ -838,6 +837,7 @@ GEM unf_ext (0.0.9.1) unicode-display_width (2.6.0) uri (0.13.1) + useragent (0.16.10) validate_email (0.1.6) activemodel (>= 3.0) mail (>= 2.2.5) @@ -946,6 +946,7 @@ DEPENDENCIES mario-redis-lock (~> 1.2) memory_profiler mime-types (~> 3.6.0) + mutex_m net-http (~> 0.5.0) net-ldap (~> 0.18) nokogiri (~> 1.15) @@ -984,7 +985,7 @@ DEPENDENCIES rack-attack (~> 6.6) rack-cors (~> 2.0) rack-test (~> 2.1) - rails (~> 7.1.1) + rails (~> 7.2.0) rails-controller-testing (~> 1.0) rails-i18n (~> 7.0) rdf-normalize (~> 0.5) diff --git a/app/lib/admin/system_check/database_schema_check.rb b/app/lib/admin/system_check/database_schema_check.rb index c2f01fd55b528c..a3ef0613ea0c1d 100644 --- a/app/lib/admin/system_check/database_schema_check.rb +++ b/app/lib/admin/system_check/database_schema_check.rb @@ -6,7 +6,7 @@ def skip? end def pass? - !ActiveRecord::Base.connection.migration_context.needs_migration? + !ActiveRecord::Base.connection_pool.migration_context.needs_migration? end def message diff --git a/app/models/concerns/status/safe_reblog_insert.rb b/app/models/concerns/status/safe_reblog_insert.rb index 60ddb78e52c40e..48d585ea18c241 100644 --- a/app/models/concerns/status/safe_reblog_insert.rb +++ b/app/models/concerns/status/safe_reblog_insert.rb @@ -15,7 +15,9 @@ module Status::SafeReblogInsert # # The code is kept similar to ActiveRecord::Persistence code and calls it # directly when we are not handling a reblog. - def _insert_record(values, returning) + # + # https://github.com/rails/rails/blob/v7.2.1.1/activerecord/lib/active_record/persistence.rb#L238-L263 + def _insert_record(connection, values, returning) return super unless values.is_a?(Hash) && values['reblog_of_id']&.value.present? primary_key = self.primary_key @@ -30,14 +32,19 @@ def _insert_record(values, returning) # The following line departs from stock ActiveRecord # Original code was: - # im.insert(values.transform_keys { |name| arel_table[name] }) + # im = Arel::InsertManager.new(arel_table) # Instead, we use a custom builder when a reblog is happening: im = _compile_reblog_insert(values) - connection.insert(im, "#{self} Create", primary_key || false, primary_key_value, returning: returning).tap do |result| - # Since we are using SELECT instead of VALUES, a non-error `nil` return is possible. - # For our purposes, it's equivalent to a foreign key constraint violation - raise ActiveRecord::InvalidForeignKey, "(reblog_of_id)=(#{values['reblog_of_id'].value}) is not present in table \"statuses\"" if result.nil? + with_connection do |_c| + connection.insert( + im, "#{self} Create", primary_key || false, primary_key_value, + returning: returning + ).tap do |result| + # Since we are using SELECT instead of VALUES, a non-error `nil` return is possible. + # For our purposes, it's equivalent to a foreign key constraint violation + raise ActiveRecord::InvalidForeignKey, "(reblog_of_id)=(#{values['reblog_of_id'].value}) is not present in table \"statuses\"" if result.nil? + end end end diff --git a/config/application.rb b/config/application.rb index f94366d36f49db..18a1b1a0fdc688 100644 --- a/config/application.rb +++ b/config/application.rb @@ -52,8 +52,6 @@ require_relative '../lib/stoplight/redis_data_store_extensions' require_relative '../lib/active_record/database_tasks_extensions' require_relative '../lib/active_record/batches' -require_relative '../lib/active_record/with_recursive' -require_relative '../lib/arel/union_parenthesizing' require_relative '../lib/simple_navigation/item_extensions' Bundler.require(:pam_authentication) if ENV['PAM_ENABLED'] == 'true' @@ -61,10 +59,7 @@ module Mastodon class Application < Rails::Application # Initialize configuration defaults for originally generated Rails version. - config.load_defaults 7.1 - - # Explicitly set the cache format version to align with Rails version - config.active_support.cache_format_version = 7.1 + config.load_defaults 7.2 # Please, add to the `ignore` list any other `lib` subdirectories that do # not contain `.rb` files, or that should not be reloaded or eager loaded. diff --git a/config/environments/development.rb b/config/environments/development.rb index f5f22a3c1ff158..8533935a8835ba 100644 --- a/config/environments/development.rb +++ b/config/environments/development.rb @@ -37,11 +37,6 @@ config.action_controller.forgery_protection_origin_check = ENV['DISABLE_FORGERY_REQUEST_PROTECTION'].nil? - ActiveSupport::Logger.new($stdout).tap do |logger| - logger.formatter = config.log_formatter - config.logger = ActiveSupport::TaggedLogging.new(logger) - end - # Generate random VAPID keys Webpush.generate_key.tap do |vapid_key| config.x.vapid_private_key = vapid_key.private_key @@ -51,6 +46,8 @@ # Don't care if the mailer can't send. config.action_mailer.raise_delivery_errors = false + # Disable caching for Action Mailer templates even if Action Controller + # caching is enabled. config.action_mailer.perform_caching = false # Print deprecation notices to the Rails logger. @@ -89,6 +86,9 @@ # Raise error when a before_action's only/except options reference missing actions. config.action_controller.raise_on_missing_callback_actions = true + + # Apply autocorrection by RuboCop to files generated by `bin/rails generate`. + config.generators.apply_rubocop_autocorrect_after_generate! end Redis.raise_deprecations = true diff --git a/config/environments/production.rb b/config/environments/production.rb index 1cf752f3b24904..6d4c30cd2085ef 100644 --- a/config/environments/production.rb +++ b/config/environments/production.rb @@ -17,7 +17,6 @@ # Full error reports are disabled and caching is turned on. config.consider_all_requests_local = false config.action_controller.perform_caching = true - config.action_controller.asset_host = ENV['CDN_HOST'] if ENV['CDN_HOST'].present? # Ensures that a master key has been made available in ENV["RAILS_MASTER_KEY"], config/master.key, or an environment # key such as config/credentials/production.key. This key is used to decrypt credentials (and other encrypted files). @@ -26,8 +25,11 @@ # Do not fallback to assets pipeline if a precompiled asset is missed. config.assets.compile = false + # Disable serving static files from `public/`, relying on NGINX/Apache to do so instead. + # config.public_file_server.enabled = false + # Enable serving of images, stylesheets, and JavaScripts from an asset server. - # config.asset_host = "http://assets.example.com" + config.asset_host = ENV['CDN_HOST'] if ENV['CDN_HOST'].present? # Specifies the header that your server uses for sending files. config.action_dispatch.x_sendfile_header = ENV['SENDFILE_HEADER'] if ENV['SENDFILE_HEADER'].present? @@ -37,6 +39,10 @@ # Allow to specify public IP of reverse proxy if it's needed config.action_dispatch.trusted_proxies = ENV['TRUSTED_PROXY_IP'].split(/(?:\s*,\s*|\s+)/).map { |item| IPAddr.new(item) } if ENV['TRUSTED_PROXY_IP'].present? + # Assume all access to the app is happening through a SSL-terminating reverse proxy. + # Can be used together with config.force_ssl for Strict-Transport-Security and secure cookies. + # config.assume_ssl = true + # Force all access to the app over SSL, use Strict-Transport-Security, and use secure cookies. config.force_ssl = true # Skip http-to-https redirect for the default health check endpoint. @@ -46,14 +52,19 @@ }, } - # Info include generic and useful information about system operation, but avoids logging too much - # information to avoid inadvertent exposure of personally identifiable information (PII). If you - # want to log everything, set the level to "debug". - config.log_level = ENV.fetch('RAILS_LOG_LEVEL', 'info').to_sym + # Log to STDOUT by default + config.logger = ActiveSupport::Logger.new($stdout) + .tap { |logger| logger.formatter = ::Logger::Formatter.new } + .then { |logger| ActiveSupport::TaggedLogging.new(logger) } # Prepend all log lines with the following tags. config.log_tags = [:request_id] + # "info" includes generic and useful information about system operation, but avoids logging too much + # information to avoid inadvertent exposure of personally identifiable information (PII). If you + # want to log everything, set the level to "debug". + config.log_level = ENV.fetch('RAILS_LOG_LEVEL', 'info') + # Use a different cache store in production. config.cache_store = :redis_cache_store, REDIS_CONFIGURATION.cache @@ -61,6 +72,8 @@ # config.active_job.queue_adapter = :resque # config.active_job.queue_name_prefix = "mastodon_production" + # Disable caching for Action Mailer templates even if Action Controller + # caching is enabled. config.action_mailer.perform_caching = false # Ignore bad email addresses and do not raise email delivery errors. @@ -87,18 +100,8 @@ { key: controller.signature_key_id } if controller.respond_to?(:signed_request?) && controller.signed_request? end - # Use a different logger for distributed setups. - # require "syslog/logger" - # config.logger = ActiveSupport::TaggedLogging.new(Syslog::Logger.new "app-name") - - # Log to STDOUT by default - config.logger = ActiveSupport::Logger.new($stdout) - .tap { |logger| logger.formatter = ::Logger::Formatter.new } - .then { |logger| ActiveSupport::TaggedLogging.new(logger) } - # Do not dump schema after migrations. config.active_record.dump_schema_after_migration = false - config.action_mailer.perform_caching = false # E-mails diff --git a/config/environments/test.rb b/config/environments/test.rb index eb29ab1e176775..5406eac9ecac6d 100644 --- a/config/environments/test.rb +++ b/config/environments/test.rb @@ -19,8 +19,6 @@ # loading is working properly before deploying your code. config.eager_load = ENV['CI'].present? - config.assets_digest = false - # Show full error reports and disable caching. config.consider_all_requests_local = true config.action_controller.perform_caching = false @@ -32,6 +30,8 @@ # Disable request forgery protection in test environment. config.action_controller.allow_forgery_protection = false + # Disable caching for Action Mailer templates even if Action Controller + # caching is enabled. config.action_mailer.perform_caching = false config.action_mailer.default_options = { from: 'notifications@localhost' } @@ -41,6 +41,10 @@ # ActionMailer::Base.deliveries array. config.action_mailer.delivery_method = :test + # Unlike controllers, the mailer instance doesn't have any context about the + # incoming request so you'll need to provide the :host parameter yourself. + config.action_mailer.default_url_options = { host: 'www.example.com' } + # Print deprecation notices to the stderr. config.active_support.deprecation = :stderr @@ -58,7 +62,6 @@ # Raise exceptions for disallowed deprecations. config.active_support.disallowed_deprecation = :raise - config.i18n.default_locale = :en config.i18n.fallbacks = true # Tell Active Support which deprecation messages to disallow. diff --git a/lib/active_record/with_recursive.rb b/lib/active_record/with_recursive.rb deleted file mode 100644 index 4bd3e81eedc1c9..00000000000000 --- a/lib/active_record/with_recursive.rb +++ /dev/null @@ -1,65 +0,0 @@ -# frozen_string_literal: true - -# Add support for writing recursive CTEs in ActiveRecord - -# Initially from Lorin Thwaits (https://github.com/lorint) as per comment: -# https://github.com/vlado/activerecord-cte/issues/16#issuecomment-1433043310 - -# Modified from the above code to change the signature to -# `with_recursive(hash)` and extending CTE hash values to also includes arrays -# of values that get turned into UNION ALL expressions. - -# This implementation has been merged in Rails: https://github.com/rails/rails/pull/51601 - -module ActiveRecord - module QueryMethodsExtensions - def with_recursive(*args) - @with_is_recursive = true - check_if_method_has_arguments!(__callee__, args) - spawn.with_recursive!(*args) - end - - # Like #with_recursive but modifies the relation in place. - def with_recursive!(*args) # :nodoc: - self.with_values += args - @with_is_recursive = true - self - end - - private - - def build_with(arel) - return if with_values.empty? - - with_statements = with_values.map do |with_value| - raise ArgumentError, "Unsupported argument type: #{with_value} #{with_value.class}" unless with_value.is_a?(Hash) - - build_with_value_from_hash(with_value) - end - - # Was: arel.with(with_statements) - @with_is_recursive ? arel.with(:recursive, with_statements) : arel.with(with_statements) - end - - def build_with_value_from_hash(hash) - hash.map do |name, value| - Arel::Nodes::TableAlias.new(build_with_expression_from_value(value), name) - end - end - - def build_with_expression_from_value(value) - case value - when Arel::Nodes::SqlLiteral then Arel::Nodes::Grouping.new(value) - when ActiveRecord::Relation then value.arel - when Arel::SelectManager then value - when Array then value.map { |e| build_with_expression_from_value(e) }.reduce { |result, value| Arel::Nodes::UnionAll.new(result, value) } - else - raise ArgumentError, "Unsupported argument type: `#{value}` #{value.class}" - end - end - end -end - -ActiveSupport.on_load(:active_record) do - ActiveRecord::QueryMethods.prepend(ActiveRecord::QueryMethodsExtensions) -end diff --git a/lib/arel/union_parenthesizing.rb b/lib/arel/union_parenthesizing.rb deleted file mode 100644 index 852d8e92d8a4f3..00000000000000 --- a/lib/arel/union_parenthesizing.rb +++ /dev/null @@ -1,51 +0,0 @@ -# frozen_string_literal: true - -# Fix an issue with `LIMIT` ocurring on the left side of a `UNION` causing syntax errors. -# See https://github.com/rails/rails/issues/40181 - -# The fix has been merged in ActiveRecord: https://github.com/rails/rails/pull/51549 -# TODO: drop this when available in ActiveRecord - -# rubocop:disable all -- This is a mostly vendored file - -module Arel - module Visitors - class ToSql - private - - def infix_value_with_paren(o, collector, value, suppress_parens = false) - collector << "( " unless suppress_parens - collector = if o.left.class == o.class - infix_value_with_paren(o.left, collector, value, true) - else - select_parentheses o.left, collector, false # Changed from `visit o.left, collector` - end - collector << value - collector = if o.right.class == o.class - infix_value_with_paren(o.right, collector, value, true) - else - select_parentheses o.right, collector, false # Changed from `visit o.right, collector` - end - collector << " )" unless suppress_parens - collector - end - - def select_parentheses(o, collector, always_wrap_selects = true) - if o.is_a?(Nodes::SelectStatement) && (always_wrap_selects || require_parentheses?(o)) - collector << "(" - visit o, collector - collector << ")" - collector - else - visit o, collector - end - end - - def require_parentheses?(o) - !o.orders.empty? || o.limit || o.offset - end - end - end -end - -# rubocop:enable all diff --git a/lib/tasks/tests.rake b/lib/tasks/tests.rake index cb7fce31399f4d..74269439ddde83 100644 --- a/lib/tasks/tests.rake +++ b/lib/tasks/tests.rake @@ -11,7 +11,7 @@ namespace :tests do '3_3_0' => 2020_12_18_054746, }.each do |release, version| ActiveRecord::Tasks::DatabaseTasks - .migration_connection + .migration_connection_pool .migration_context .migrate(version) Rake::Task["tests:migrations:populate_v#{release}"] diff --git a/spec/lib/admin/system_check/database_schema_check_spec.rb b/spec/lib/admin/system_check/database_schema_check_spec.rb index 311d5249563ea2..3dc5763f92d0fb 100644 --- a/spec/lib/admin/system_check/database_schema_check_spec.rb +++ b/spec/lib/admin/system_check/database_schema_check_spec.rb @@ -13,7 +13,7 @@ context 'when database needs migration' do before do context = instance_double(ActiveRecord::MigrationContext, needs_migration?: true) - allow(ActiveRecord::Base.connection).to receive(:migration_context).and_return(context) + allow(ActiveRecord::Base.connection_pool).to receive(:migration_context).and_return(context) end it 'returns false' do @@ -24,7 +24,7 @@ context 'when database does not need migration' do before do context = instance_double(ActiveRecord::MigrationContext, needs_migration?: false) - allow(ActiveRecord::Base.connection).to receive(:migration_context).and_return(context) + allow(ActiveRecord::Base.connection_pool).to receive(:migration_context).and_return(context) end it 'returns true' do From 870bb06994753023cde350bc94c4c317091d3d7b Mon Sep 17 00:00:00 2001 From: Matt Jankowski Date: Thu, 7 Nov 2024 10:37:26 -0500 Subject: [PATCH 150/357] Add coverage for misc serializers (#32781) --- .../activitypub/actor_serializer_spec.rb | 39 +++++++++++++++++++ .../activitypub/add_serializer_spec.rb | 27 +++++++++++++ .../activitypub/collection_serializer_spec.rb | 39 +++++++++++++++++++ .../activitypub/remove_serializer_spec.rb | 27 +++++++++++++ ...ionship_severance_event_serializer_spec.rb | 18 +++++++++ .../rest/account_warning_serializer_spec.rb | 19 +++++++++ .../rest/admin/account_serializer_spec.rb | 25 ++++++++++++ .../rest/admin/cohort_serializer_spec.rb | 19 +++++++++ .../admin/webhook_event_serializer_spec.rb | 33 ++++++++++++++++ .../rest/appeal_serializer_spec.rb | 27 +++++++++++++ .../rest/custom_emoji_serializer_spec.rb | 18 +++++++++ .../extended_description_serializer_spec.rb | 35 +++++++++++++++++ spec/serializers/rest/rule_serializer_spec.rb | 18 +++++++++ 13 files changed, 344 insertions(+) create mode 100644 spec/serializers/activitypub/actor_serializer_spec.rb create mode 100644 spec/serializers/activitypub/add_serializer_spec.rb create mode 100644 spec/serializers/activitypub/collection_serializer_spec.rb create mode 100644 spec/serializers/activitypub/remove_serializer_spec.rb create mode 100644 spec/serializers/rest/account_relationship_severance_event_serializer_spec.rb create mode 100644 spec/serializers/rest/account_warning_serializer_spec.rb create mode 100644 spec/serializers/rest/admin/account_serializer_spec.rb create mode 100644 spec/serializers/rest/admin/cohort_serializer_spec.rb create mode 100644 spec/serializers/rest/admin/webhook_event_serializer_spec.rb create mode 100644 spec/serializers/rest/appeal_serializer_spec.rb create mode 100644 spec/serializers/rest/custom_emoji_serializer_spec.rb create mode 100644 spec/serializers/rest/extended_description_serializer_spec.rb create mode 100644 spec/serializers/rest/rule_serializer_spec.rb diff --git a/spec/serializers/activitypub/actor_serializer_spec.rb b/spec/serializers/activitypub/actor_serializer_spec.rb new file mode 100644 index 00000000000000..ad2445595375ac --- /dev/null +++ b/spec/serializers/activitypub/actor_serializer_spec.rb @@ -0,0 +1,39 @@ +# frozen_string_literal: true + +require 'rails_helper' + +RSpec.describe ActivityPub::ActorSerializer do + subject { serialized_record_json(record, described_class) } + + describe '#type' do + context 'with the instance actor' do + let(:record) { Account.find(Account::INSTANCE_ACTOR_ID) } + + it { is_expected.to include('type' => 'Application') } + end + + context 'with an application actor' do + let(:record) { Fabricate :account, actor_type: 'Application' } + + it { is_expected.to include('type' => 'Service') } + end + + context 'with a service actor' do + let(:record) { Fabricate :account, actor_type: 'Service' } + + it { is_expected.to include('type' => 'Service') } + end + + context 'with a Group actor' do + let(:record) { Fabricate :account, actor_type: 'Group' } + + it { is_expected.to include('type' => 'Group') } + end + + context 'with a Person actor' do + let(:record) { Fabricate :account, actor_type: 'Person' } + + it { is_expected.to include('type' => 'Person') } + end + end +end diff --git a/spec/serializers/activitypub/add_serializer_spec.rb b/spec/serializers/activitypub/add_serializer_spec.rb new file mode 100644 index 00000000000000..3b3eaeb1b015b1 --- /dev/null +++ b/spec/serializers/activitypub/add_serializer_spec.rb @@ -0,0 +1,27 @@ +# frozen_string_literal: true + +require 'rails_helper' + +RSpec.describe ActivityPub::AddSerializer do + describe '.serializer_for' do + subject { described_class.serializer_for(model, {}) } + + context 'with a Status model' do + let(:model) { Status.new } + + it { is_expected.to eq(described_class::UriSerializer) } + end + + context 'with a FeaturedTag model' do + let(:model) { FeaturedTag.new } + + it { is_expected.to eq(ActivityPub::HashtagSerializer) } + end + + context 'with an Array' do + let(:model) { [] } + + it { is_expected.to eq(ActiveModel::Serializer::CollectionSerializer) } + end + end +end diff --git a/spec/serializers/activitypub/collection_serializer_spec.rb b/spec/serializers/activitypub/collection_serializer_spec.rb new file mode 100644 index 00000000000000..7726df914f258c --- /dev/null +++ b/spec/serializers/activitypub/collection_serializer_spec.rb @@ -0,0 +1,39 @@ +# frozen_string_literal: true + +require 'rails_helper' + +RSpec.describe ActivityPub::CollectionSerializer do + describe '.serializer_for' do + subject { described_class.serializer_for(model, {}) } + + context 'with a Status model' do + let(:model) { Status.new } + + it { is_expected.to eq(ActivityPub::NoteSerializer) } + end + + context 'with a FeaturedTag model' do + let(:model) { FeaturedTag.new } + + it { is_expected.to eq(ActivityPub::HashtagSerializer) } + end + + context 'with an ActivityPub::CollectionPresenter' do + let(:model) { ActivityPub::CollectionPresenter.new } + + it { is_expected.to eq(described_class) } + end + + context 'with a String' do + let(:model) { '' } + + it { is_expected.to eq(described_class::StringSerializer) } + end + + context 'with an Array' do + let(:model) { [] } + + it { is_expected.to eq(ActiveModel::Serializer::CollectionSerializer) } + end + end +end diff --git a/spec/serializers/activitypub/remove_serializer_spec.rb b/spec/serializers/activitypub/remove_serializer_spec.rb new file mode 100644 index 00000000000000..0e4b199838e629 --- /dev/null +++ b/spec/serializers/activitypub/remove_serializer_spec.rb @@ -0,0 +1,27 @@ +# frozen_string_literal: true + +require 'rails_helper' + +RSpec.describe ActivityPub::RemoveSerializer do + describe '.serializer_for' do + subject { described_class.serializer_for(model, {}) } + + context 'with a Status model' do + let(:model) { Status.new } + + it { is_expected.to eq(described_class::UriSerializer) } + end + + context 'with a FeaturedTag model' do + let(:model) { FeaturedTag.new } + + it { is_expected.to eq(ActivityPub::HashtagSerializer) } + end + + context 'with an Array' do + let(:model) { [] } + + it { is_expected.to eq(ActiveModel::Serializer::CollectionSerializer) } + end + end +end diff --git a/spec/serializers/rest/account_relationship_severance_event_serializer_spec.rb b/spec/serializers/rest/account_relationship_severance_event_serializer_spec.rb new file mode 100644 index 00000000000000..95b4d7dcd2a6b0 --- /dev/null +++ b/spec/serializers/rest/account_relationship_severance_event_serializer_spec.rb @@ -0,0 +1,18 @@ +# frozen_string_literal: true + +require 'rails_helper' + +RSpec.describe REST::AccountRelationshipSeveranceEventSerializer do + subject { serialized_record_json(record, described_class) } + + let(:record) { Fabricate.build :account_relationship_severance_event, id: 123 } + + describe 'serialization' do + it 'returns expected values' do + expect(subject) + .to include( + 'id' => be_a(String).and(eq('123')) + ) + end + end +end diff --git a/spec/serializers/rest/account_warning_serializer_spec.rb b/spec/serializers/rest/account_warning_serializer_spec.rb new file mode 100644 index 00000000000000..0f335d12159f43 --- /dev/null +++ b/spec/serializers/rest/account_warning_serializer_spec.rb @@ -0,0 +1,19 @@ +# frozen_string_literal: true + +require 'rails_helper' + +RSpec.describe REST::AccountWarningSerializer do + subject { serialized_record_json(record, described_class) } + + let(:record) { Fabricate :account_warning, id: 123, status_ids: [456, 789] } + + describe 'serialization' do + it 'returns expected values' do + expect(subject) + .to include( + 'id' => be_a(String).and(eq('123')), + 'status_ids' => be_a(Array).and(eq(['456', '789'])) + ) + end + end +end diff --git a/spec/serializers/rest/admin/account_serializer_spec.rb b/spec/serializers/rest/admin/account_serializer_spec.rb new file mode 100644 index 00000000000000..58f58a997b17c8 --- /dev/null +++ b/spec/serializers/rest/admin/account_serializer_spec.rb @@ -0,0 +1,25 @@ +# frozen_string_literal: true + +require 'rails_helper' + +RSpec.describe REST::Admin::AccountSerializer do + subject { serialized_record_json(record, described_class) } + + describe 'created_by_application_id' do + context 'when account is application-created' do + let(:record) { Fabricate :account, user: Fabricate(:user, created_by_application: application) } + let(:application) { Fabricate :application } + + it { is_expected.to include('created_by_application_id' => application.id.to_s) } + end + end + + describe 'invited_by_account_id' do + context 'when account was invited' do + let(:record) { Fabricate :account, user: Fabricate(:user, invite: invite) } + let(:invite) { Fabricate :invite } + + it { is_expected.to include('invited_by_account_id' => invite.user.account.id.to_s) } + end + end +end diff --git a/spec/serializers/rest/admin/cohort_serializer_spec.rb b/spec/serializers/rest/admin/cohort_serializer_spec.rb new file mode 100644 index 00000000000000..ed6067c0d21f07 --- /dev/null +++ b/spec/serializers/rest/admin/cohort_serializer_spec.rb @@ -0,0 +1,19 @@ +# frozen_string_literal: true + +require 'rails_helper' + +RSpec.describe REST::Admin::CohortSerializer do + subject { serialized_record_json(record, described_class) } + + let(:record) { Admin::Metrics::Retention.new('2024-01-01', '2024-01-02', 'day').cohorts.first } + + describe 'serialization' do + it 'returns expected values' do + expect(subject) + .to include( + 'data' => be_a(Array), + 'period' => /2024-01-01/ + ) + end + end +end diff --git a/spec/serializers/rest/admin/webhook_event_serializer_spec.rb b/spec/serializers/rest/admin/webhook_event_serializer_spec.rb new file mode 100644 index 00000000000000..3cbfbd92a316d3 --- /dev/null +++ b/spec/serializers/rest/admin/webhook_event_serializer_spec.rb @@ -0,0 +1,33 @@ +# frozen_string_literal: true + +require 'rails_helper' + +RSpec.describe REST::Admin::WebhookEventSerializer do + describe '.serializer_for' do + subject { described_class.serializer_for(model, {}) } + + context 'with an Account model' do + let(:model) { Account.new } + + it { is_expected.to eq(REST::Admin::AccountSerializer) } + end + + context 'with a Report model' do + let(:model) { Report.new } + + it { is_expected.to eq(REST::Admin::ReportSerializer) } + end + + context 'with a Status model' do + let(:model) { Status.new } + + it { is_expected.to eq(REST::StatusSerializer) } + end + + context 'with an Array' do + let(:model) { [] } + + it { is_expected.to eq(ActiveModel::Serializer::CollectionSerializer) } + end + end +end diff --git a/spec/serializers/rest/appeal_serializer_spec.rb b/spec/serializers/rest/appeal_serializer_spec.rb new file mode 100644 index 00000000000000..1ae6617de5776a --- /dev/null +++ b/spec/serializers/rest/appeal_serializer_spec.rb @@ -0,0 +1,27 @@ +# frozen_string_literal: true + +require 'rails_helper' + +RSpec.describe REST::AppealSerializer do + subject { serialized_record_json(record, described_class) } + + describe 'state' do + context 'when appeal is approved' do + let(:record) { Fabricate.build :appeal, approved_at: 2.days.ago } + + it { is_expected.to include('state' => 'approved') } + end + + context 'when appeal is rejected' do + let(:record) { Fabricate.build :appeal, rejected_at: 2.days.ago } + + it { is_expected.to include('state' => 'rejected') } + end + + context 'when appeal is not approved or rejected' do + let(:record) { Fabricate.build :appeal, approved_at: nil, rejected_at: nil } + + it { is_expected.to include('state' => 'pending') } + end + end +end diff --git a/spec/serializers/rest/custom_emoji_serializer_spec.rb b/spec/serializers/rest/custom_emoji_serializer_spec.rb new file mode 100644 index 00000000000000..a694ca515a5568 --- /dev/null +++ b/spec/serializers/rest/custom_emoji_serializer_spec.rb @@ -0,0 +1,18 @@ +# frozen_string_literal: true + +require 'rails_helper' + +RSpec.describe REST::CustomEmojiSerializer do + subject { serialized_record_json(record, described_class) } + + let(:record) { Fabricate.build :custom_emoji, id: 123, category: Fabricate(:custom_emoji_category, name: 'Category Name') } + + describe 'serialization' do + it 'returns expected values' do + expect(subject) + .to include( + 'category' => be_a(String).and(eq('Category Name')) + ) + end + end +end diff --git a/spec/serializers/rest/extended_description_serializer_spec.rb b/spec/serializers/rest/extended_description_serializer_spec.rb new file mode 100644 index 00000000000000..d7bd078e1d6f02 --- /dev/null +++ b/spec/serializers/rest/extended_description_serializer_spec.rb @@ -0,0 +1,35 @@ +# frozen_string_literal: true + +require 'rails_helper' + +RSpec.describe REST::ExtendedDescriptionSerializer do + subject { serialized_record_json(record, described_class) } + + describe 'serialization' do + context 'with text present' do + let(:record) { ExtendedDescription.new text: 'Hello world', updated_at: Date.new(2024, 1, 1) } + + it 'returns expected values' do + expect(subject) + .to include( + 'content' => eq(<<~HTML), +

Hello world

+ HTML + 'updated_at' => eq('2024-01-01') + ) + end + end + + context 'with text missing' do + let(:record) { ExtendedDescription.new text: nil, updated_at: Date.new(2024, 1, 1) } + + it 'returns expected values' do + expect(subject) + .to include( + 'content' => eq(''), + 'updated_at' => eq('2024-01-01') + ) + end + end + end +end diff --git a/spec/serializers/rest/rule_serializer_spec.rb b/spec/serializers/rest/rule_serializer_spec.rb new file mode 100644 index 00000000000000..4d801e77d36b9c --- /dev/null +++ b/spec/serializers/rest/rule_serializer_spec.rb @@ -0,0 +1,18 @@ +# frozen_string_literal: true + +require 'rails_helper' + +RSpec.describe REST::RuleSerializer do + subject { serialized_record_json(record, described_class) } + + let(:record) { Fabricate.build :rule, id: 123 } + + describe 'serialization' do + it 'returns expected values' do + expect(subject) + .to include( + 'id' => be_a(String).and(eq('123')) + ) + end + end +end From f180880f657c92b5deec181486c4ebd3a0aa4f79 Mon Sep 17 00:00:00 2001 From: Matt Jankowski Date: Thu, 7 Nov 2024 10:40:41 -0500 Subject: [PATCH 151/357] Remove postgres version support check for `REINDEX` in migration (#32744) --- ...51_add_unique_index_on_preview_cards_statuses.rb | 13 +------------ 1 file changed, 1 insertion(+), 12 deletions(-) diff --git a/db/post_migrate/20230803082451_add_unique_index_on_preview_cards_statuses.rb b/db/post_migrate/20230803082451_add_unique_index_on_preview_cards_statuses.rb index 4271f8c08af7f4..c35ad800282343 100644 --- a/db/post_migrate/20230803082451_add_unique_index_on_preview_cards_statuses.rb +++ b/db/post_migrate/20230803082451_add_unique_index_on_preview_cards_statuses.rb @@ -15,21 +15,10 @@ def down private - def supports_concurrent_reindex? - @supports_concurrent_reindex ||= begin - ActiveRecord::Base.connection.database_version >= 120_000 - end - end - def deduplicate_and_reindex! deduplicate_preview_cards! - if supports_concurrent_reindex? - safety_assured { execute 'REINDEX INDEX CONCURRENTLY preview_cards_statuses_pkey' } - else - remove_index :preview_cards_statuses, name: :preview_cards_statuses_pkey - add_index :preview_cards_statuses, [:status_id, :preview_card_id], name: :preview_cards_statuses_pkey, algorithm: :concurrently, unique: true - end + safety_assured { execute 'REINDEX INDEX CONCURRENTLY preview_cards_statuses_pkey' } rescue ActiveRecord::RecordNotUnique retry end From 8df867b20a5542a29a66c8380e97aa5bf5921c90 Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" <41898282+github-actions[bot]@users.noreply.github.com> Date: Fri, 8 Nov 2024 10:53:47 +0100 Subject: [PATCH 152/357] New Crowdin Translations (automated) (#32803) Co-authored-by: GitHub Actions --- app/javascript/mastodon/locales/it.json | 15 +++ app/javascript/mastodon/locales/ru.json | 162 +++++++++++++----------- app/javascript/mastodon/locales/sk.json | 7 + app/javascript/mastodon/locales/sv.json | 13 ++ config/locales/ru.yml | 54 +++++++- 5 files changed, 172 insertions(+), 79 deletions(-) diff --git a/app/javascript/mastodon/locales/it.json b/app/javascript/mastodon/locales/it.json index a692fb7fd33836..13ba1f8836e5af 100644 --- a/app/javascript/mastodon/locales/it.json +++ b/app/javascript/mastodon/locales/it.json @@ -87,6 +87,19 @@ "alert.unexpected.title": "Oops!", "alt_text_badge.title": "Testo alternativo", "announcement.announcement": "Annuncio", + "annual_report.summary.archetype.oracle": "L'oracolo", + "annual_report.summary.followers.followers": "seguaci", + "annual_report.summary.followers.total": "{count} in totale", + "annual_report.summary.here_it_is": "Ecco il tuo {year} in sintesi:", + "annual_report.summary.highlighted_post.by_favourites": "il post più apprezzato", + "annual_report.summary.highlighted_post.by_reblogs": "il post più condiviso", + "annual_report.summary.highlighted_post.by_replies": "il post con più risposte", + "annual_report.summary.highlighted_post.possessive": "di {name}", + "annual_report.summary.most_used_app.most_used_app": "l'app più utilizzata", + "annual_report.summary.most_used_hashtag.most_used_hashtag": "l'hashtag più usato", + "annual_report.summary.new_posts.new_posts": "nuovi post", + "annual_report.summary.percentile.text": "Questo ti colloca tra ildei migliori utenti Mastodon.", + "annual_report.summary.percentile.we_wont_tell_bernie": "Non lo diremo a Bernie.", "attachments_list.unprocessed": "(non elaborato)", "audio.hide": "Nascondi audio", "block_modal.remote_users_caveat": "Chiederemo al server {domain} di rispettare la tua decisione. Tuttavia, la conformità non è garantita poiché alcuni server potrebbero gestire i blocchi in modo diverso. I post pubblici potrebbero essere ancora visibili agli utenti che non hanno effettuato l'accesso.", @@ -508,6 +521,8 @@ "notification.admin.report_statuses_other": "{name} ha segnalato {target}", "notification.admin.sign_up": "{name} si è iscritto", "notification.admin.sign_up.name_and_others": "Si sono iscritti: {name} e {count, plural, one {# altro utente} other {altri # utenti}}", + "notification.annual_report.message": "Il tuo #Wrapstodon {year} ti aspetta! Scopri i momenti salienti e memorabili del tuo anno su Mastodon!", + "notification.annual_report.view": "Visualizza #Wrapstodon", "notification.favourite": "{name} ha aggiunto il tuo post ai preferiti", "notification.favourite.name_and_others_with_link": "{name} e {count, plural, one {# altro} other {altri #}} hanno aggiunto il tuo post ai preferiti", "notification.follow": "{name} ha iniziato a seguirti", diff --git a/app/javascript/mastodon/locales/ru.json b/app/javascript/mastodon/locales/ru.json index 9d937939a9b463..f5617550e16e7c 100644 --- a/app/javascript/mastodon/locales/ru.json +++ b/app/javascript/mastodon/locales/ru.json @@ -40,7 +40,7 @@ "account.follows.empty": "Этот пользователь пока ни на кого не подписался.", "account.go_to_profile": "Перейти к профилю", "account.hide_reblogs": "Скрыть продвижения от @{name}", - "account.in_memoriam": "В Памяти.", + "account.in_memoriam": "Вечная память.", "account.joined_short": "Присоединился", "account.languages": "Изменить языки подписки", "account.link_verified_on": "Владение этой ссылкой было проверено {date}", @@ -62,13 +62,13 @@ "account.requested_follow": "{name} отправил(а) вам запрос на подписку", "account.share": "Поделиться профилем @{name}", "account.show_reblogs": "Показывать продвижения от @{name}", - "account.statuses_counter": "{count, plural, one {# пост} few {# поста} many {# постов} other {# постов}}", + "account.statuses_counter": "{count, plural, one {{counter} пост} few {{counter} поста} other {{counter} постов}}", "account.unblock": "Разблокировать @{name}", "account.unblock_domain": "Разблокировать {domain}", "account.unblock_short": "Разблокировать", "account.unendorse": "Не рекомендовать в профиле", "account.unfollow": "Отписаться", - "account.unmute": "Убрать {name} из игнорируемых", + "account.unmute": "Перестать игнорировать @{name}", "account.unmute_notifications_short": "Включить уведомления", "account.unmute_short": "Не игнорировать", "account_note.placeholder": "Текст заметки", @@ -87,6 +87,20 @@ "alert.unexpected.title": "Ой!", "alt_text_badge.title": "Альтернативный текст", "announcement.announcement": "Объявление", + "annual_report.summary.archetype.booster": "Репостер", + "annual_report.summary.archetype.lurker": "Молчун", + "annual_report.summary.archetype.pollster": "Опросчик", + "annual_report.summary.archetype.replier": "Душа компании", + "annual_report.summary.followers.followers": "подписчиков", + "annual_report.summary.here_it_is": "Вот ваши итоги {year} года:", + "annual_report.summary.highlighted_post.by_favourites": "пост с наибольшим количеством звёздочек", + "annual_report.summary.highlighted_post.by_reblogs": "пост с наибольшим количеством продвижений", + "annual_report.summary.highlighted_post.by_replies": "пост с наибольшим количеством ответов", + "annual_report.summary.highlighted_post.possessive": "{name}", + "annual_report.summary.most_used_app.most_used_app": "наиболее часто используемое приложение", + "annual_report.summary.most_used_hashtag.most_used_hashtag": "наиболее часто используемый хэштег", + "annual_report.summary.new_posts.new_posts": "новых постов", + "annual_report.summary.thanks": "Спасибо за то, что были вместе с Mastodon!", "attachments_list.unprocessed": "(не обработан)", "audio.hide": "Скрыть аудио", "block_modal.remote_users_caveat": "Мы попросим сервер {domain} уважать ваше решение. Однако, соблюдение требований не гарантировано, поскольку некоторые серверы могут работать с блокировками по-разному. Публичные записи по-прежнему могут быть видны неавторизованным пользователям.", @@ -146,10 +160,10 @@ "community.column_settings.remote_only": "Только удалённые", "compose.language.change": "Сменить язык", "compose.language.search": "Поиск языков...", - "compose.published.body": "Запись опубликована.", + "compose.published.body": "Пост опубликован.", "compose.published.open": "Открыть", - "compose.saved.body": "Запись сохранена.", - "compose_form.direct_message_warning_learn_more": "Подробнее", + "compose.saved.body": "Пост отредактирован.", + "compose_form.direct_message_warning_learn_more": "Узнать больше", "compose_form.encryption_warning": "Посты в Mastodon не защищены сквозным шифрованием. Не делитесь конфиденциальной информацией через Mastodon.", "compose_form.hashtag_warning": "Этот пост не будет виден ни под одним из хэштегов, так как он не публичный. Только публичные посты можно найти по хэштегу.", "compose_form.lock_disclaimer": "Ваша учётная запись {locked}. Любой пользователь сможет подписаться на вас и просматривать посты для подписчиков.", @@ -161,14 +175,14 @@ "compose_form.poll.single": "Один вариант ответа", "compose_form.poll.switch_to_multiple": "Разрешить выбор нескольких вариантов", "compose_form.poll.switch_to_single": "Переключить в режим выбора одного ответа", - "compose_form.poll.type": "Стиль", + "compose_form.poll.type": "Тип", "compose_form.publish": "Опубликовать", "compose_form.publish_form": "Опубликовать", "compose_form.reply": "Ответить", "compose_form.save_changes": "Сохранить", "compose_form.spoiler.marked": "Текст скрыт за предупреждением", "compose_form.spoiler.unmarked": "Текст не скрыт", - "compose_form.spoiler_placeholder": "Предупреждение о контенте (опционально)", + "compose_form.spoiler_placeholder": "Предупреждение о содержимом (необязательно)", "confirmation_modal.cancel": "Отмена", "confirmations.block.confirm": "Заблокировать", "confirmations.delete.confirm": "Удалить", @@ -178,17 +192,17 @@ "confirmations.delete_list.message": "Вы действительно хотите навсегда удалить этот список?", "confirmations.delete_list.title": "Удалить список?", "confirmations.discard_edit_media.confirm": "Отменить", - "confirmations.discard_edit_media.message": "У вас есть несохранённые изменения описания мультимедиа или предпросмотра, отменить их?", + "confirmations.discard_edit_media.message": "У вас имеются несохранённые изменения превью и описания медиафайла, отменить их?", "confirmations.edit.confirm": "Редактировать", - "confirmations.edit.message": "В данный момент, редактирование перезапишет составляемое вами сообщение. Вы уверены, что хотите продолжить?", - "confirmations.edit.title": "Перепишем сообщение?", + "confirmations.edit.message": "При редактировании, текст набираемого поста будет очищен. Продолжить?", + "confirmations.edit.title": "Переписать сообщение?", "confirmations.logout.confirm": "Выйти", "confirmations.logout.message": "Вы уверены, что хотите выйти?", "confirmations.logout.title": "Выйти?", "confirmations.mute.confirm": "Игнорировать", "confirmations.redraft.confirm": "Удалить и исправить", - "confirmations.redraft.message": "Вы уверены, что хотите удалить и переписать этот пост? Отметки «избранного», продвижения и ответы к оригинальному посту будут удалены.", - "confirmations.redraft.title": "Удалим и исправим пост?", + "confirmations.redraft.message": "Вы уверены, что хотите удалить и переписать этот пост? Отметки «избранного», продвижения и ответы к оригинальному посту будут потеряны.", + "confirmations.redraft.title": "Создать пост заново?", "confirmations.reply.confirm": "Ответить", "confirmations.reply.message": "При ответе, текст набираемого поста будет очищен. Продолжить?", "confirmations.reply.title": "Перепишем пост?", @@ -243,7 +257,7 @@ "embed.preview": "Так это будет выглядеть:", "emoji_button.activity": "Занятия", "emoji_button.clear": "Очистить", - "emoji_button.custom": "С этого узла", + "emoji_button.custom": "С этого сервера", "emoji_button.flags": "Флаги", "emoji_button.food": "Еда и напитки", "emoji_button.label": "Вставить эмодзи", @@ -350,12 +364,12 @@ "hashtag.column_settings.tag_mode.any": "Любой из списка", "hashtag.column_settings.tag_mode.none": "Ни один из списка", "hashtag.column_settings.tag_toggle": "Включить дополнительные теги для этой колонки", - "hashtag.counter_by_accounts": "{count, plural, one {{counter} участник} few {{counter} участников} many {{counter} участников} other {{counter} участников}}", - "hashtag.counter_by_uses": "{count, plural, one {{counter} сообщение} few {{counter} сообщения} many {{counter} сообщения} other {{counter} сообщения}}", - "hashtag.counter_by_uses_today": "{count, plural, one {{counter} сообщение} other {{counter} сообщений}} сегодня", + "hashtag.counter_by_accounts": "{count, plural, one {{counter} пользователь} few {{counter} пользователя} other {{counter} пользователей}}", + "hashtag.counter_by_uses": "{count, plural, one {{counter} пост} few {{counter} поста} other {{counter} постов}}", + "hashtag.counter_by_uses_today": "{count, plural, one {{counter} пост} few {{counter} поста} other {{counter} постов}} сегодня", "hashtag.follow": "Подписаться на новые посты", "hashtag.unfollow": "Отписаться", - "hashtags.and_other": "...и {count, plural, other {# ещё}}", + "hashtags.and_other": "…и {count, plural, other {ещё #}}", "hints.profiles.followers_may_be_missing": "Подписчики у этого профиля могут отсутствовать.", "hints.profiles.follows_may_be_missing": "Фолловеры для этого профиля могут отсутствовать.", "hints.profiles.posts_may_be_missing": "Некоторые сообщения из этого профиля могут отсутствовать.", @@ -404,15 +418,15 @@ "intervals.full.minutes": "{number, plural, one {# минута} few {# минуты} other {# минут}}", "keyboard_shortcuts.back": "перейти назад", "keyboard_shortcuts.blocked": "чтобы открыть список заблокированных", - "keyboard_shortcuts.boost": "Репостнуть", + "keyboard_shortcuts.boost": "продвинуть пост", "keyboard_shortcuts.column": "фокус на одном из столбцов", "keyboard_shortcuts.compose": "фокус на поле ввода", "keyboard_shortcuts.description": "Описание", "keyboard_shortcuts.direct": "чтобы открыть столбец личных упоминаний", "keyboard_shortcuts.down": "вниз по списку", "keyboard_shortcuts.enter": "открыть пост", - "keyboard_shortcuts.favourite": "Добавить пост в избранное", - "keyboard_shortcuts.favourites": "Открыть «Избранное»", + "keyboard_shortcuts.favourite": "добавить пост в избранное", + "keyboard_shortcuts.favourites": "открыть «Избранные»", "keyboard_shortcuts.federated": "перейти к глобальной ленте", "keyboard_shortcuts.heading": "Сочетания клавиш", "keyboard_shortcuts.home": "перейти к домашней ленте", @@ -420,7 +434,7 @@ "keyboard_shortcuts.legend": "показать это окно", "keyboard_shortcuts.local": "перейти к локальной ленте", "keyboard_shortcuts.mention": "упомянуть автора поста", - "keyboard_shortcuts.muted": "Открыть список игнорируемых", + "keyboard_shortcuts.muted": "открыть список игнорируемых", "keyboard_shortcuts.my_profile": "перейти к своему профилю", "keyboard_shortcuts.notifications": "перейти к уведомлениям", "keyboard_shortcuts.open_media": "открыть вложение", @@ -432,7 +446,7 @@ "keyboard_shortcuts.spoilers": "показать/скрыть поле предупреждения о содержании", "keyboard_shortcuts.start": "Перейти к разделу \"Начать\"", "keyboard_shortcuts.toggle_hidden": "показать/скрыть текст за предупреждением", - "keyboard_shortcuts.toggle_sensitivity": "Показать/скрыть медиафайлы", + "keyboard_shortcuts.toggle_sensitivity": "показать/скрыть медиафайлы", "keyboard_shortcuts.toot": "начать писать новый пост", "keyboard_shortcuts.unfocus": "убрать фокус с поля ввода/поиска", "keyboard_shortcuts.up": "вверх по списку", @@ -470,12 +484,12 @@ "mute_modal.show_options": "Показать опции", "mute_modal.they_can_mention_and_follow": "Они могут упоминать и следить за вами, но вы не будете их видеть.", "mute_modal.they_wont_know": "Они не будут знать, что их заглушили.", - "mute_modal.title": "Заткнуть пользователя?", + "mute_modal.title": "Заглушить пользователя?", "mute_modal.you_wont_see_mentions": "Вы не увидите постов, которые их упоминают.", "mute_modal.you_wont_see_posts": "Они по-прежнему смогут видеть ваши посты, но вы не сможете видеть их посты.", "navigation_bar.about": "О проекте", - "navigation_bar.administration": "Администрация", - "navigation_bar.advanced_interface": "Включить многоколоночный интерфейс", + "navigation_bar.administration": "Администрирование", + "navigation_bar.advanced_interface": "Открыть в многоколоночном интерфейсе", "navigation_bar.blocks": "Заблокированные пользователи", "navigation_bar.bookmarks": "Закладки", "navigation_bar.community_timeline": "Локальная лента", @@ -501,27 +515,29 @@ "navigation_bar.search": "Поиск", "navigation_bar.security": "Безопасность", "not_signed_in_indicator.not_signed_in": "Вам нужно войти, чтобы иметь доступ к этому ресурсу.", - "notification.admin.report": "{name} сообщил о {target}", - "notification.admin.report_account": "{name} сообщил {count, plural, one {один пост} other {# постов}} от {target} для {category}", - "notification.admin.report_account_other": "{name} сообщил {count, plural, one {одно сообщение} other {# сообщений}} от {target}", - "notification.admin.report_statuses": "{name} сообщил {target} для {category}", - "notification.admin.report_statuses_other": "{name} сообщает {target}", - "notification.admin.sign_up": "{name} зарегистрирован", - "notification.admin.sign_up.name_and_others": "{name} и {count, plural, one {# другой} other {# другие}} подписались", + "notification.admin.report": "{name} пожаловался на {target}", + "notification.admin.report_account": "{name} пожаловался на {count, plural, one {# пост} few {# поста} other {# постов}} от пользователя {target} по причине: {category}", + "notification.admin.report_account_other": "{name} пожаловался на {count, plural, one {# пост} few {# поста} other {# постов}} от пользователя {target}", + "notification.admin.report_statuses": "{name} пожаловался на {target} по причине: {category}", + "notification.admin.report_statuses_other": "{name} пожаловался на {target}", + "notification.admin.sign_up": "{name} зарегистрировался", + "notification.admin.sign_up.name_and_others": "{name} и ещё {count, plural, one {# пользователь} few {# пользователя} other {# пользователей}} зарегистрировались", + "notification.annual_report.message": "#Wrapstodon за {year} год ждёт вас! Откройте для себя итоги и памятные моменты этого года в Mastodon!", + "notification.annual_report.view": "Перейти к #Wrapstodon", "notification.favourite": "{name} добавил(а) ваш пост в избранное", "notification.favourite.name_and_others_with_link": "{name} и ещё {count, plural, one {# пользователь} few {# пользователя} other {# пользователей}} добавили ваш пост в избранное", "notification.follow": "{name} подписался (-лась) на вас", - "notification.follow.name_and_others": "{name} и {count, plural, one {# other} few {# others} many {# others} other {# others}} подписались на вас", + "notification.follow.name_and_others": "{name} и ещё {count, plural, one {# пользователь} few {# пользователя} other {# пользователей}} подписались на вас", "notification.follow_request": "{name} отправил запрос на подписку", "notification.follow_request.name_and_others": "{name} и ещё {count, plural, one {#} other {# других}} подписались на вас", "notification.label.mention": "Упоминание", - "notification.label.private_mention": "Частное упоминание", - "notification.label.private_reply": "Частный ответ", - "notification.label.reply": "Ответить", + "notification.label.private_mention": "Личное упоминание", + "notification.label.private_reply": "Приватный ответ", + "notification.label.reply": "Ответ", "notification.mention": "Упоминание", - "notification.mentioned_you": "{name} упоминает вас", + "notification.mentioned_you": "{name} упомянул(а) вас", "notification.moderation-warning.learn_more": "Узнать больше", - "notification.moderation_warning": "Вы получили предупреждение от модерации", + "notification.moderation_warning": "Модераторы вынесли вам предупреждение", "notification.moderation_warning.action_delete_statuses": "Некоторые из ваших публикаций были удалены.", "notification.moderation_warning.action_disable": "Ваша учётная запись была отключена.", "notification.moderation_warning.action_mark_statuses_as_sensitive": "Некоторые из ваших сообщений были отмечены как деликатные.", @@ -561,16 +577,16 @@ "notification_requests.view": "Просмотр уведомлений", "notifications.clear": "Очистить уведомления", "notifications.clear_confirmation": "Вы уверены, что хотите очистить все уведомления?", - "notifications.clear_title": "Сбросить уведомления?", + "notifications.clear_title": "Очистить уведомления?", "notifications.column_settings.admin.report": "Новые жалобы:", "notifications.column_settings.admin.sign_up": "Новые регистрации:", "notifications.column_settings.alert": "Уведомления на рабочем столе", - "notifications.column_settings.favourite": "Избранные:", - "notifications.column_settings.filter_bar.advanced": "Отображать все категории", + "notifications.column_settings.favourite": "Ваш пост добавили в избранные:", + "notifications.column_settings.filter_bar.advanced": "Показать все категории", "notifications.column_settings.filter_bar.category": "Панель сортировки", "notifications.column_settings.follow": "У вас новый подписчик:", "notifications.column_settings.follow_request": "Новые запросы на подписку:", - "notifications.column_settings.group": "Группа", + "notifications.column_settings.group": "Группировать", "notifications.column_settings.mention": "Вас упомянули в посте:", "notifications.column_settings.poll": "Опрос, в котором вы приняли участие, завершился:", "notifications.column_settings.push": "Пуш-уведомления", @@ -590,27 +606,27 @@ "notifications.filter.statuses": "Обновления от людей, на которых вы подписаны", "notifications.grant_permission": "Предоставить разрешение.", "notifications.group": "{count} уведомл.", - "notifications.mark_as_read": "Отмечать все уведомления прочитанными", + "notifications.mark_as_read": "Отметить все уведомления прочитанными", "notifications.permission_denied": "Уведомления на рабочем столе недоступны, так как вы запретили их отправку в браузере. Проверьте настройки для сайта, чтобы включить их обратно.", "notifications.permission_denied_alert": "Уведомления на рабочем столе недоступны, так как вы ранее отклонили запрос на их отправку.", "notifications.permission_required": "Чтобы включить уведомления на рабочем столе, необходимо разрешить их в браузере.", - "notifications.policy.accept": "Принять", - "notifications.policy.accept_hint": "Показать в уведомлениях", - "notifications.policy.drop": "Игнорируем", - "notifications.policy.drop_hint": "Отправить в пустоту, чтобы никогда больше не увидеть", - "notifications.policy.filter": "Фильтр", - "notifications.policy.filter_hint": "Отправка в папку фильтрованных уведомлений", - "notifications.policy.filter_limited_accounts_hint": "Ограничено модераторами сервера", - "notifications.policy.filter_limited_accounts_title": "Модерируемые аккаунты", - "notifications.policy.filter_new_accounts.hint": "Создано в течение последних {days, plural, one {один день} few {# дней} many {# дней} other {# дня}}", + "notifications.policy.accept": "Принимать", + "notifications.policy.accept_hint": "Показывать в уведомлениях", + "notifications.policy.drop": "Игнорировать", + "notifications.policy.drop_hint": "Отправлять в пустоту, чтобы никогда больше не увидеть", + "notifications.policy.filter": "Фильтровать", + "notifications.policy.filter_hint": "Отправлять в раздел отфильтрованных уведомлений", + "notifications.policy.filter_limited_accounts_hint": "Ограниченные модераторами сервера", + "notifications.policy.filter_limited_accounts_title": "Модерируемые учётные записи", + "notifications.policy.filter_new_accounts.hint": "Созданные в течение {days, plural, one {последнего # дня} other {последних # дней}}", "notifications.policy.filter_new_accounts_title": "Новые учётные записи", "notifications.policy.filter_not_followers_hint": "Включая людей, которые подписаны на вас меньше чем {days, plural, one {# день} few {# дня} other {# дней}}", "notifications.policy.filter_not_followers_title": "Люди, не подписанные на вас", "notifications.policy.filter_not_following_hint": "Пока вы не одобрите их вручную", "notifications.policy.filter_not_following_title": "Люди, на которых вы не подписаны", - "notifications.policy.filter_private_mentions_hint": "Фильтруется, если только это не ответ на ваше собственное упоминание или если вы подписаны на отправителя", + "notifications.policy.filter_private_mentions_hint": "Фильтруются, если только это не ответ на ваше собственное упоминание или если вы подписаны на отправителя", "notifications.policy.filter_private_mentions_title": "Нежелательные личные упоминания", - "notifications.policy.title": "………Управлять уведомлениями от…", + "notifications.policy.title": "Управление уведомлениями", "notifications_permission_banner.enable": "Включить уведомления", "notifications_permission_banner.how_to_control": "Получайте уведомления даже когда Mastodon закрыт, включив уведомления на рабочем столе. А чтобы лишний шум не отвлекал, вы можете настроить какие уведомления вы хотите получать, нажав на кнопку {icon} выше.", "notifications_permission_banner.title": "Будьте в курсе происходящего", @@ -679,7 +695,7 @@ "privacy_policy.title": "Политика конфиденциальности", "recommended": "Рекомендуется", "refresh": "Обновить", - "regeneration_indicator.label": "Грузим…", + "regeneration_indicator.label": "Загрузка…", "regeneration_indicator.sublabel": "Один момент, мы подготавливаем вашу ленту!", "relative_time.days": "{number} д", "relative_time.full.days": "{number, plural, one {# день} many {# дней} other {# дня}} назад", @@ -692,15 +708,15 @@ "relative_time.minutes": "{number} мин", "relative_time.seconds": "{number} с", "relative_time.today": "сегодня", - "reply_indicator.attachments": "{count, plural, one {# вложение} other {# вложения}}", + "reply_indicator.attachments": "{count, plural, one {# вложение} few {# вложения} other {# вложений}}", "reply_indicator.cancel": "Отмена", "reply_indicator.poll": "Опрос", "report.block": "Заблокировать", "report.block_explanation": "Вы перестанете видеть посты этого пользователя, и он(а) больше не сможет подписаться на вас и читать ваши посты. Он(а) сможет понять, что вы заблокировали его/её.", - "report.categories.legal": "Правовая информация", + "report.categories.legal": "Нарушение закона", "report.categories.other": "Другое", "report.categories.spam": "Спам", - "report.categories.violation": "Содержимое нарушает одно или несколько правил узла", + "report.categories.violation": "Содержимое нарушает одно или несколько правил сервера", "report.category.subtitle": "Выберите наиболее подходящее", "report.category.title": "Расскажите нам, что не так с {type}", "report.category.title_account": "этим профилем", @@ -771,32 +787,32 @@ "server_banner.about_active_users": "Люди, заходившие на этот сервер за последние 30 дней (ежемесячные активные пользователи)", "server_banner.active_users": "активные пользователи", "server_banner.administered_by": "Управляется:", - "server_banner.is_one_of_many": "{domain} - это один из многих независимых серверов Mastodon, которые вы можете использовать для участия в fediverse.", + "server_banner.is_one_of_many": "{domain} — это один из многих независимых серверов Mastodon, которые вы можете использовать для участия в сети Fediverse.", "server_banner.server_stats": "Статистика сервера:", "sign_in_banner.create_account": "Зарегистрироваться", - "sign_in_banner.follow_anyone": "Следите за любым человеком в федеральной вселенной и смотрите все в хронологическом порядке. Никаких алгоритмов, рекламы или клик бейта.", - "sign_in_banner.mastodon_is": "Mastodon - лучший способ быть в курсе всего происходящего.", + "sign_in_banner.follow_anyone": "Подписывайтесь на кого угодно в федивёрсе и смотрите ленту в хронологическом порядке. Никаких алгоритмов, рекламы или кликбейта.", + "sign_in_banner.mastodon_is": "Mastodon — лучший способ быть в курсе всего происходящего.", "sign_in_banner.sign_in": "Войти", "sign_in_banner.sso_redirect": "Войдите или Зарегистрируйтесь", "status.admin_account": "Открыть интерфейс модератора для @{name}", - "status.admin_domain": "Открыть интерфейс модерации {domain}", + "status.admin_domain": "Открыть интерфейс модератора для {domain}", "status.admin_status": "Открыть этот пост в интерфейсе модератора", "status.block": "Заблокировать @{name}", - "status.bookmark": "Сохранить в закладки", + "status.bookmark": "Добавить в закладки", "status.cancel_reblog_private": "Не продвигать", "status.cannot_reblog": "Этот пост не может быть продвинут", "status.continued_thread": "Продолжение темы", "status.copy": "Скопировать ссылку на пост", "status.delete": "Удалить", "status.detailed_status": "Подробный просмотр обсуждения", - "status.direct": "Лично упоминать @{name}", - "status.direct_indicator": "Личные упоминания", + "status.direct": "Упомянуть @{name} лично", + "status.direct_indicator": "Личное упоминание", "status.edit": "Изменить", "status.edited": "Дата последнего изменения: {date}", "status.edited_x_times": "{count, plural, one {{count} изменение} many {{count} изменений} other {{count} изменения}}", "status.embed": "Получить код для встраивания", - "status.favourite": "Избранное", - "status.favourites": "{count, plural, one {в избранном} other {в избранном}}", + "status.favourite": "Добавить в избранное", + "status.favourites": "{count, plural, other {в избранном}}", "status.filter": "Фильтровать этот пост", "status.history.created": "{name} создал {date}", "status.history.edited": "{name} отредактировал(а) {date}", @@ -829,13 +845,13 @@ "status.show_less_all": "Свернуть все спойлеры в ветке", "status.show_more_all": "Развернуть все спойлеры в ветке", "status.show_original": "Показать оригинал", - "status.title.with_attachments": "{user} размещено {attachmentCount, plural, one {вложение} other {{attachmentCount} вложений}}", + "status.title.with_attachments": "{user} опубликовал {attachmentCount, plural, one {{attachmentCount} вложение} few {{attachmentCount} вложения} other {{attachmentCount} вложений}}", "status.translate": "Перевод", - "status.translated_from_with": "Переведено с {lang}, используя {provider}", - "status.uncached_media_warning": "Прослушивание недоступно", + "status.translated_from_with": "Переведено с {lang} с помощью {provider}", + "status.uncached_media_warning": "Предварительный просмотр недоступен", "status.unmute_conversation": "Не игнорировать обсуждение", "status.unpin": "Открепить от профиля", - "subscribed_languages.lead": "Посты только на выбранных языках будут отображаться на вашей домашней странице и в списке лент после изменения. Выберите «Нет», чтобы получать посты на всех языках.", + "subscribed_languages.lead": "Посты лишь на выбранных языках будут появляться в вашей домашней ленте и в списках после изменения. Снимите выбор, чтобы получать посты на всех языках.", "subscribed_languages.save": "Сохранить изменения", "subscribed_languages.target": "Изменить языки подписки для {target}", "tabs_bar.home": "Главная", @@ -845,7 +861,7 @@ "time_remaining.minutes": "{number, plural, one {осталась # минута} few {осталось # минуты} many {осталось # минут} other {осталось # минут}}", "time_remaining.moments": "остались считанные мгновения", "time_remaining.seconds": "{number, plural, one {# секунда} many {# секунд} other {# секунды}}", - "trends.counter_by_accounts": "{count, plural, few {{counter} человека} other {{counter} человек}} за {days, plural, one {последний день} few {последние {days} дня} other {последние {days} дней}}", + "trends.counter_by_accounts": "{count, plural, few {{counter} человека} other {{counter} человек}} за {days, plural, one {последний {days} день} few {последние {days} дня} other {последние {days} дней}}", "trends.trending_now": "Самое актуальное", "ui.beforeunload": "Ваш черновик будет утерян, если вы покинете Mastodon.", "units.short.billion": "{count} млрд", diff --git a/app/javascript/mastodon/locales/sk.json b/app/javascript/mastodon/locales/sk.json index 7b9254c0d36728..1102754fd7634a 100644 --- a/app/javascript/mastodon/locales/sk.json +++ b/app/javascript/mastodon/locales/sk.json @@ -89,9 +89,11 @@ "announcement.announcement": "Oznámenie", "annual_report.summary.followers.followers": "sledovatelia", "annual_report.summary.highlighted_post.by_reblogs": "najviac vyzdvihovaný príspevok", + "annual_report.summary.highlighted_post.by_replies": "príspevok s najviac odpoveďami", "annual_report.summary.most_used_app.most_used_app": "najviac používaná aplikácia", "annual_report.summary.most_used_hashtag.most_used_hashtag": "najviac užívaný hashtag", "annual_report.summary.new_posts.new_posts": "nové príspevky", + "annual_report.summary.percentile.we_wont_tell_bernie": "Nepovieme Berniemu.", "attachments_list.unprocessed": "(nespracované)", "audio.hide": "Skryť zvuk", "block_modal.show_less": "Zobraziť menej", @@ -409,6 +411,7 @@ "lightbox.close": "Zatvoriť", "lightbox.next": "Ďalej", "lightbox.previous": "Späť", + "lightbox.zoom_out": "Priblížiť na mieru", "limited_account_hint.action": "Aj tak zobraziť profil", "limited_account_hint.title": "Tento profil bol skrytý správcami servera {domain}.", "link_preview.author": "Autor: {name}", @@ -535,6 +538,8 @@ "notifications.permission_denied": "Upozornenia na ploche sú nedostupné pre už skôr zamietnutú požiadavku prehliadača", "notifications.permission_denied_alert": "Upozornenia na ploche nemôžu byť zapnuté, pretože požiadavka prehliadača bola už skôr zamietnutá", "notifications.permission_required": "Upozornenia na ploche sú nedostupné, pretože neboli udelené potrebné povolenia.", + "notifications.policy.accept": "Prijať", + "notifications.policy.accept_hint": "Ukáž v oznámeniach", "notifications.policy.drop": "Ignoruj", "notifications.policy.filter": "Triediť", "notifications.policy.filter_limited_accounts_title": "Moderované účty", @@ -542,6 +547,7 @@ "notifications.policy.filter_not_followers_title": "Ľudia, ktorí ťa nenasledujú", "notifications.policy.filter_not_following_title": "Ľudia, ktorých nenasleduješ", "notifications.policy.filter_private_mentions_title": "Nevyžiadané priame spomenutia", + "notifications.policy.title": "Spravuj oznámenia od…", "notifications_permission_banner.enable": "Povoliť upozornenia 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": "Nenechajte si nič ujsť", @@ -712,6 +718,7 @@ "status.bookmark": "Pridať záložku", "status.cancel_reblog_private": "Zrušiť zdieľanie", "status.cannot_reblog": "Tento príspevok nie je možné zdieľať", + "status.continued_thread": "Pokračujúce vlákno", "status.copy": "Kopírovať odkaz na príspevok", "status.delete": "Vymazať", "status.detailed_status": "Podrobný náhľad celej konverzácie", diff --git a/app/javascript/mastodon/locales/sv.json b/app/javascript/mastodon/locales/sv.json index 5f551fc4cd5a88..e3571704bb0131 100644 --- a/app/javascript/mastodon/locales/sv.json +++ b/app/javascript/mastodon/locales/sv.json @@ -87,10 +87,22 @@ "alert.unexpected.title": "Hoppsan!", "alt_text_badge.title": "Alt-Text", "announcement.announcement": "Meddelande", + "annual_report.summary.archetype.booster": "Häftighetsjägaren", + "annual_report.summary.archetype.lurker": "Smygaren", + "annual_report.summary.archetype.oracle": "Oraklet", + "annual_report.summary.archetype.pollster": "Frågaren", + "annual_report.summary.archetype.replier": "Den sociala fjärilen", "annual_report.summary.followers.followers": "följare", "annual_report.summary.followers.total": "{count} totalt", + "annual_report.summary.here_it_is": "Här är en tillbakablick på ditt {year}:", + "annual_report.summary.highlighted_post.by_favourites": "mest favoritmarkerat inlägg", + "annual_report.summary.highlighted_post.by_reblogs": "mest boostat inlägg", "annual_report.summary.highlighted_post.by_replies": "inlägg med flest svar", + "annual_report.summary.highlighted_post.possessive": "{name}s", + "annual_report.summary.most_used_app.most_used_app": "mest använda app", + "annual_report.summary.most_used_hashtag.most_used_hashtag": "mest använda hashtag", "annual_report.summary.new_posts.new_posts": "nya inlägg", + "annual_report.summary.percentile.text": "Det placerar dig i toppav Mastodon-användare.", "annual_report.summary.percentile.we_wont_tell_bernie": "Vi berättar inte för Bernie.", "annual_report.summary.thanks": "Tack för att du är en del av Mastodon!", "attachments_list.unprocessed": "(obehandlad)", @@ -514,6 +526,7 @@ "notification.admin.report_statuses_other": "{name} rapporterade {target}", "notification.admin.sign_up": "{name} registrerade sig", "notification.admin.sign_up.name_and_others": "{name} och {count, plural, one {# en annan} other {# andra}} har registrerat sig", + "notification.annual_report.message": "Din {year} #Wrapstodon väntar! Upptäck ditt års höjdpunkter och minnesvärda stunder på Mastodon!", "notification.annual_report.view": "Visa #Wrapstodon", "notification.favourite": "{name} favoritmarkerade ditt inlägg", "notification.favourite.name_and_others_with_link": "{name} och {count, plural, one {# annan} other {# andra}} har favoritmarkerat ditt inlägg", diff --git a/config/locales/ru.yml b/config/locales/ru.yml index 41b74c8cb45e04..831f68b24b3a33 100644 --- a/config/locales/ru.yml +++ b/config/locales/ru.yml @@ -65,7 +65,7 @@ ru: demote: Разжаловать destroyed_msg: Данные %{username} поставлены в очередь на удаление disable: Заморозка - disable_sign_in_token_auth: Отключите аутентификацию с помощью маркера электронной почты + disable_sign_in_token_auth: Отключить аутентификацию по e-mail кодам disable_two_factor_authentication: Отключить 2FA disabled: Отключено display_name: Отображаемое имя @@ -74,7 +74,7 @@ ru: email: E-mail email_status: Статус e-mail enable: Включить - enable_sign_in_token_auth: Включите аутентификацию с помощью маркера электронной почты + enable_sign_in_token_auth: Включить аутентификацию по e-mail кодам enabled: Включен enabled_msg: Учётная запись %{username} успешно разморожена followers: Подписчики @@ -147,8 +147,8 @@ ru: security_measures: only_password: Только пароль password_and_2fa: Пароль и 2FA - sensitive: Отметить как «деликатного содержания» - sensitized: отмечено как «деликатного характера» + sensitive: Деликатный + sensitized: отмечено как деликатный контент shared_inbox_url: URL общих входящих show: created_reports: Жалобы, отправленные с этой учётной записи @@ -166,7 +166,7 @@ ru: unblock_email: Разблокировать e-mail адрес unblocked_email_msg: E-mail адрес %{username} разблокирован unconfirmed_email: Неподтверждённый e-mail - undo_sensitized: Убрать отметку «деликатного содержания» + undo_sensitized: Снять отметку "деликатный" undo_silenced: Отменить скрытие undo_suspension: Снять блокировку unsilenced_msg: Ограничения с учётной записи %{username} сняты успешно @@ -1316,7 +1316,7 @@ ru: csv: CSV domain_blocks: Доменные блокировки lists: Списки - mutes: Ваши игнорируете + mutes: Ваши игнорируемые storage: Ваши файлы featured_tags: add_new: Добавить @@ -1439,6 +1439,47 @@ ru: many: Вы собираетесь подписаться на %{count} аккаунтов из файла %{filename} и отписаться от всех прочих. one: Вы собираетесь подписаться на %{count} аккаунт из файла %{filename} и отписаться от всех прочих. other: Вы собираетесь подписаться на %{count} аккаунтов из файла %{filename} и отписаться от всех прочих. + lists_html: + few: Вы собираетесь заменить свои списки содержимым файла %{filename}. В новые списки будут добавлены %{count} аккаунта. + many: Вы собираетесь заменить свои списки содержимым файла %{filename}. В новые списки будут добавлены %{count} аккаунтов. + one: Вы собираетесь заменить свои списки содержимым файла %{filename}. В новые списки будет добавлен %{count} аккаунт. + other: Вы собираетесь заменить свои списки содержимым файла %{filename}. В новые списки будут добавлены %{count} аккаунтов. + muting_html: + few: Вы собираетесь заменить свой список игнорируемых пользователей списком из %{count} аккаунтов из файла %{filename}. + many: Вы собираетесь заменить свой список игнорируемых пользователей списком из %{count} аккаунтов из файла %{filename}. + one: Вы собираетесь заменить свой список игнорируемых пользователей списком из %{count} аккаунта из файла %{filename}. + other: Вы собираетесь заменить свой список игнорируемых пользователей списком из %{count} аккаунтов из файла %{filename}. + preambles: + blocking_html: + few: Вы собираетесь заблокировать %{count} аккаунта из файла %{filename}. + many: Вы собираетесь заблокировать %{count} аккаунтов из файла %{filename}. + one: Вы собираетесь заблокировать %{count} аккаунт из файла %{filename}. + other: Вы собираетесь заблокировать %{count} аккаунтов из файла %{filename}. + bookmarks_html: + few: Вы собираетесь добавить %{count} поста из файла %{filename} в свои закладки. + many: Вы собираетесь добавить %{count} постов из файла %{filename} в свои закладки. + one: Вы собираетесь добавить %{count} пост из файла %{filename} в свои закладки. + other: Вы собираетесь добавить %{count} постов из файла %{filename} в свои закладки. + domain_blocking_html: + few: Вы собираетесь заблокировать %{count} домена из файла %{filename}. + many: Вы собираетесь заблокировать %{count} доменов из файла %{filename}. + one: Вы собираетесь заблокировать %{count} домен из файла %{filename}. + other: Вы собираетесь заблокировать %{count} доменов из файла %{filename}. + following_html: + few: Вы собираетесь подписаться на %{count} аккаунта из файла %{filename}. + many: Вы собираетесь подписаться на %{count} аккаунтов из файла %{filename}. + one: Вы собираетесь подписаться на %{count} аккаунт из файла %{filename}. + other: Вы собираетесь подписаться на %{count} аккаунтов из файла %{filename}. + lists_html: + few: Вы собираетесь добавить %{count} аккаунта из файла %{filename} в свои списки. Если соответствующих списков нет, они будут созданы. + many: Вы собираетесь добавить %{count} аккаунтов из файла %{filename} в свои списки. Если соответствующих списков нет, они будут созданы. + one: Вы собираетесь добавить %{count} аккаунт из файла %{filename} в свои списки. Если соответствующих списков нет, они будут созданы. + other: Вы собираетесь добавить %{count} аккаунтов из файла %{filename} в свои списки. Если соответствующих списков нет, они будут созданы. + muting_html: + few: Вы собираетесь начать игнорировать %{count} аккаунта из файла %{filename}. + many: Вы собираетесь начать игнорировать %{count} аккаунтов из файла %{filename}. + one: Вы собираетесь начать игнорировать %{count} аккаунт из файла %{filename}. + other: Вы собираетесь начать игнорировать %{count} аккаунтов из файла %{filename}. preface: Вы можете загрузить некоторые данные, например, списки людей, на которых Вы подписаны или которых блокируете, в Вашу учётную запись на этом узле из файлов, экспортированных с другого узла. recent_imports: Недавно импортированное states: @@ -1511,6 +1552,7 @@ ru: unsubscribe: action: Да, отписаться complete: Подписка отменена + confirmation_html: Вы точно желаете отписаться от всех уведомления типа «%{type}», доставляемых из сервера Mastodon %{domain} на ваш адрес электронной почты %{email}? Вы всегда сможете подписаться снова в настройках e-mail уведомлений. emails: notification_emails: favourite: любимые электронные письма с уведомлениями From 4ef3a1a38d505e05e8ba19adefe84186b16eedba Mon Sep 17 00:00:00 2001 From: Matt Jankowski Date: Fri, 8 Nov 2024 04:55:15 -0500 Subject: [PATCH 153/357] Match dependency-generator output for `require_relative` usage (#32800) --- Rakefile | 2 +- config.ru | 3 ++- spec/rails_helper.rb | 2 +- 3 files changed, 4 insertions(+), 3 deletions(-) diff --git a/Rakefile b/Rakefile index e51cf0e17e838a..488c551fee2cd1 100644 --- a/Rakefile +++ b/Rakefile @@ -3,6 +3,6 @@ # Add your own tasks in files placed in lib/tasks ending in .rake, # for example lib/tasks/capistrano.rake, and they will automatically be available to Rake. -require File.expand_path('config/application', __dir__) +require_relative 'config/application' Rails.application.load_tasks diff --git a/config.ru b/config.ru index afd13e211238e2..842bccc3402da2 100644 --- a/config.ru +++ b/config.ru @@ -2,5 +2,6 @@ # This file is used by Rack-based servers to start the application. -require File.expand_path('config/environment', __dir__) +require_relative 'config/environment' + run Rails.application diff --git a/spec/rails_helper.rb b/spec/rails_helper.rb index d2ad40be7310fb..574d5438442fcc 100644 --- a/spec/rails_helper.rb +++ b/spec/rails_helper.rb @@ -32,7 +32,7 @@ STREAMING_PORT = ENV.fetch('TEST_STREAMING_PORT', '4020') ENV['STREAMING_API_BASE_URL'] = "http://localhost:#{STREAMING_PORT}" -require File.expand_path('../config/environment', __dir__) +require_relative '../config/environment' abort('The Rails environment is running in production mode!') if Rails.env.production? From df54196a144d088a0621c916c34061c456362f06 Mon Sep 17 00:00:00 2001 From: Matt Jankowski Date: Fri, 8 Nov 2024 05:00:15 -0500 Subject: [PATCH 154/357] Use `touch_all` with batches (#32799) --- app/controllers/admin/invites_controller.rb | 2 +- app/models/user.rb | 2 +- app/services/unallow_domain_service.rb | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/app/controllers/admin/invites_controller.rb b/app/controllers/admin/invites_controller.rb index dabfe97655f933..614e2a32d000f3 100644 --- a/app/controllers/admin/invites_controller.rb +++ b/app/controllers/admin/invites_controller.rb @@ -32,7 +32,7 @@ def destroy def deactivate_all authorize :invite, :deactivate_all? - Invite.available.in_batches.update_all(expires_at: Time.now.utc) + Invite.available.in_batches.touch_all(:expires_at) redirect_to admin_invites_path end diff --git a/app/models/user.rb b/app/models/user.rb index 69c5a01569774a..8827a8fbd6e177 100644 --- a/app/models/user.rb +++ b/app/models/user.rb @@ -340,7 +340,7 @@ def revoke_access! Doorkeeper::AccessGrant.by_resource_owner(self).update_all(revoked_at: Time.now.utc) Doorkeeper::AccessToken.by_resource_owner(self).in_batches do |batch| - batch.update_all(revoked_at: Time.now.utc) + batch.touch_all(:revoked_at) Web::PushSubscription.where(access_token_id: batch).delete_all # Revoke each access token for the Streaming API, since `update_all`` diff --git a/app/services/unallow_domain_service.rb b/app/services/unallow_domain_service.rb index bdc71b1c08e7ab..bbe957145057c0 100644 --- a/app/services/unallow_domain_service.rb +++ b/app/services/unallow_domain_service.rb @@ -12,7 +12,7 @@ def call(domain_allow) private def suspend_accounts!(domain) - Account.where(domain: domain).in_batches.update_all(suspended_at: Time.now.utc) + Account.where(domain: domain).in_batches.touch_all(:suspended_at) AfterUnallowDomainWorker.perform_async(domain) end end From bde0f1239ab016a6dfc8229ba579c5e2cf96a8e6 Mon Sep 17 00:00:00 2001 From: Matt Jankowski Date: Fri, 8 Nov 2024 05:08:36 -0500 Subject: [PATCH 155/357] Add `InetContainer` with scopes of `containing` and `contained` (#32802) --- app/helpers/registration_helper.rb | 2 +- app/lib/suspicious_sign_in_detector.rb | 2 +- app/models/concerns/inet_container.rb | 10 ++++++++++ app/models/ip_block.rb | 1 + app/models/user.rb | 4 ++-- app/models/user_ip.rb | 1 + lib/mastodon/cli/ip_blocks.rb | 4 ++-- 7 files changed, 18 insertions(+), 6 deletions(-) create mode 100644 app/models/concerns/inet_container.rb diff --git a/app/helpers/registration_helper.rb b/app/helpers/registration_helper.rb index ef5462ac887413..0f141c43590f4e 100644 --- a/app/helpers/registration_helper.rb +++ b/app/helpers/registration_helper.rb @@ -16,6 +16,6 @@ def omniauth_only? end def ip_blocked?(remote_ip) - IpBlock.where(severity: :sign_up_block).exists?(['ip >>= ?', remote_ip.to_s]) + IpBlock.where(severity: :sign_up_block).containing(remote_ip.to_s).exists? end end diff --git a/app/lib/suspicious_sign_in_detector.rb b/app/lib/suspicious_sign_in_detector.rb index 74f49aa5587e7d..60e5fdad4f8be7 100644 --- a/app/lib/suspicious_sign_in_detector.rb +++ b/app/lib/suspicious_sign_in_detector.rb @@ -19,7 +19,7 @@ def sufficient_security_measures? end def previously_seen_ip?(request) - @user.ips.exists?(['ip <<= ?', masked_ip(request)]) + @user.ips.contained_by(masked_ip(request)).exists? end def freshly_signed_up? diff --git a/app/models/concerns/inet_container.rb b/app/models/concerns/inet_container.rb new file mode 100644 index 00000000000000..da03bcc5d73379 --- /dev/null +++ b/app/models/concerns/inet_container.rb @@ -0,0 +1,10 @@ +# frozen_string_literal: true + +module InetContainer + extend ActiveSupport::Concern + + included do + scope :containing, ->(value) { where('ip >>= ?', value) } + scope :contained_by, ->(value) { where('ip <<= ?', value) } + end +end diff --git a/app/models/ip_block.rb b/app/models/ip_block.rb index 5ed4d2a84626d4..416ae38382722c 100644 --- a/app/models/ip_block.rb +++ b/app/models/ip_block.rb @@ -17,6 +17,7 @@ class IpBlock < ApplicationRecord CACHE_KEY = 'blocked_ips' include Expireable + include InetContainer include Paginable enum :severity, { diff --git a/app/models/user.rb b/app/models/user.rb index 8827a8fbd6e177..9a215669b99ae5 100644 --- a/app/models/user.rb +++ b/app/models/user.rb @@ -125,7 +125,7 @@ class User < ApplicationRecord scope :signed_in_recently, -> { where(current_sign_in_at: ACTIVE_DURATION.ago..) } scope :not_signed_in_recently, -> { where(current_sign_in_at: ...ACTIVE_DURATION.ago) } scope :matches_email, ->(value) { where(arel_table[:email].matches("#{value}%")) } - scope :matches_ip, ->(value) { left_joins(:ips).where('user_ips.ip <<= ?', value).group('users.id') } + scope :matches_ip, ->(value) { left_joins(:ips).merge(IpBlock.contained_by(value)).group('users.id') } before_validation :sanitize_role before_create :set_approved @@ -444,7 +444,7 @@ def wrap_email_confirmation end def sign_up_from_ip_requires_approval? - sign_up_ip.present? && IpBlock.severity_sign_up_requires_approval.exists?(['ip >>= ?', sign_up_ip.to_s]) + sign_up_ip.present? && IpBlock.severity_sign_up_requires_approval.containing(sign_up_ip.to_s).exists? end def sign_up_email_requires_approval? diff --git a/app/models/user_ip.rb b/app/models/user_ip.rb index a6da2c07401b44..25aa81ccd42f71 100644 --- a/app/models/user_ip.rb +++ b/app/models/user_ip.rb @@ -11,6 +11,7 @@ class UserIp < ApplicationRecord include DatabaseViewRecord + include InetContainer self.primary_key = :user_id diff --git a/lib/mastodon/cli/ip_blocks.rb b/lib/mastodon/cli/ip_blocks.rb index ef24f2e047e30c..f1f40c99ce33d4 100644 --- a/lib/mastodon/cli/ip_blocks.rb +++ b/lib/mastodon/cli/ip_blocks.rb @@ -80,9 +80,9 @@ def remove(*addresses) end ip_blocks = if options[:force] - IpBlock.where('ip >>= ?', address) + IpBlock.containing(address) else - IpBlock.where('ip <<= ?', address) + IpBlock.contained_by(address) end if ip_blocks.empty? From 10c895dc849d074681e292102ec28dc3a16d2824 Mon Sep 17 00:00:00 2001 From: Matt Jankowski Date: Fri, 8 Nov 2024 09:21:44 -0500 Subject: [PATCH 156/357] Use existing arel scopes instead of string ordering (#32801) --- app/models/admin/status_filter.rb | 2 +- app/models/session_activation.rb | 4 +++- 2 files changed, 4 insertions(+), 2 deletions(-) diff --git a/app/models/admin/status_filter.rb b/app/models/admin/status_filter.rb index 8d20e4f6abce94..fd4d0ef59ddff0 100644 --- a/app/models/admin/status_filter.rb +++ b/app/models/admin/status_filter.rb @@ -32,7 +32,7 @@ def results def scope_for(key, _value) case key.to_s when 'media' - Status.joins(:media_attachments).merge(@account.media_attachments).group(:id).reorder('statuses.id desc') + Status.joins(:media_attachments).merge(@account.media_attachments).group(:id).recent else raise Mastodon::InvalidParameterError, "Unknown filter: #{key}" end diff --git a/app/models/session_activation.rb b/app/models/session_activation.rb index 31f18fd7ef09be..d99ecf8adba43d 100644 --- a/app/models/session_activation.rb +++ b/app/models/session_activation.rb @@ -30,6 +30,8 @@ class SessionActivation < ApplicationRecord DEFAULT_SCOPES = %w(read write follow).freeze + scope :latest, -> { order(id: :desc) } + class << self def active?(id) id && exists?(session_id: id) @@ -48,7 +50,7 @@ def deactivate(id) end def purge_old - order('created_at desc').offset(Rails.configuration.x.max_session_activations).destroy_all + latest.offset(Rails.configuration.x.max_session_activations).destroy_all end def exclusive(id) From 1e71c4e247eb8900a718b04113ffce9c1b8ad2f4 Mon Sep 17 00:00:00 2001 From: Matt Jankowski Date: Fri, 8 Nov 2024 09:23:52 -0500 Subject: [PATCH 157/357] Use enum-generated `IpBlock.severity...` scopes (#31210) --- app/helpers/registration_helper.rb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/app/helpers/registration_helper.rb b/app/helpers/registration_helper.rb index 0f141c43590f4e..002d167c05833a 100644 --- a/app/helpers/registration_helper.rb +++ b/app/helpers/registration_helper.rb @@ -16,6 +16,6 @@ def omniauth_only? end def ip_blocked?(remote_ip) - IpBlock.where(severity: :sign_up_block).containing(remote_ip.to_s).exists? + IpBlock.severity_sign_up_block.containing(remote_ip.to_s).exists? end end From e22ec250770a395579ab52965b2feeacb697e128 Mon Sep 17 00:00:00 2001 From: Emelia Smith Date: Sun, 10 Nov 2024 13:26:51 +0100 Subject: [PATCH 158/357] Fix typo in account unlocked localisation (#32821) --- config/locales/simple_form.en.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/config/locales/simple_form.en.yml b/config/locales/simple_form.en.yml index 25de9f5910715b..f451c780b0e0d7 100644 --- a/config/locales/simple_form.en.yml +++ b/config/locales/simple_form.en.yml @@ -10,7 +10,7 @@ en: indexable: Your public posts may appear in search results on Mastodon. People who have interacted with your posts may be able to search them regardless. note: 'You can @mention other people or #hashtags.' show_collections: People will be able to browse through your follows and followers. People that you follow will see that you follow them regardless. - unlocked: People will be able to follow you without requesting approval. Uncheck if you want to review follow requests and chose whether to accept or reject new followers. + unlocked: People will be able to follow you without requesting approval. Uncheck if you want to review follow requests and choose whether to accept or reject new followers. account_alias: acct: Specify the username@domain of the account you want to move from account_migration: From d19d7a283e2e309e9dc5490d758136537b3be13c Mon Sep 17 00:00:00 2001 From: Claire Date: Mon, 4 Nov 2024 12:08:19 +0100 Subject: [PATCH 159/357] [Glitch] Fix alt-text pop-in not using the translated description Port 0a1b5df2024fcf8454638da80a47c336b69e659b to glitch-soc Signed-off-by: Claire --- .../flavours/glitch/components/media_gallery.jsx | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/app/javascript/flavours/glitch/components/media_gallery.jsx b/app/javascript/flavours/glitch/components/media_gallery.jsx index f2f8b21e3b5389..46ff875ab68910 100644 --- a/app/javascript/flavours/glitch/components/media_gallery.jsx +++ b/app/javascript/flavours/glitch/components/media_gallery.jsx @@ -98,12 +98,12 @@ class Item extends PureComponent { height = 50; } - if (attachment.get('description')?.length > 0) { - badges.push(); - } - const description = attachment.getIn(['translation', 'description']) || attachment.get('description'); + if (description?.length > 0) { + badges.push(); + } + if (attachment.get('type') === 'unknown') { return (
From 3244926565e12549df03a75295c558c62dbefe9d Mon Sep 17 00:00:00 2001 From: Eugen Rochko Date: Tue, 5 Nov 2024 15:40:07 +0100 Subject: [PATCH 160/357] [Glitch] Add year in review feature to web UI Port d6349c0e9aa93c3d9f70dafb26cf792e874022bf to glitch-soc Signed-off-by: Claire --- .../glitch/api_types/notifications.ts | 16 +- .../flavours/glitch/components/modal_root.jsx | 22 +- .../features/annual_report/archetype.tsx | 69 ++++ .../features/annual_report/followers.tsx | 69 ++++ .../annual_report/highlighted_post.tsx | 109 ++++++ .../glitch/features/annual_report/index.tsx | 99 ++++++ .../features/annual_report/most_used_app.tsx | 29 ++ .../annual_report/most_used_hashtag.tsx | 29 ++ .../features/annual_report/new_posts.tsx | 53 +++ .../features/annual_report/percentile.tsx | 53 +++ .../components/notification_annual_report.tsx | 59 +++ .../components/notification_group.tsx | 9 + .../status/components/detailed_status.tsx | 8 +- .../ui/components/annual_report_modal.tsx | 21 ++ .../features/ui/components/modal_root.jsx | 2 + .../features/ui/util/async-components.js | 4 + .../flavours/glitch/models/annual_report.ts | 44 +++ .../glitch/models/notification_group.ts | 25 +- .../glitch/styles/annual_reports.scss | 335 ++++++++++++++++++ .../flavours/glitch/styles/application.scss | 1 + .../flavours/glitch/styles/components.scss | 6 +- 21 files changed, 1047 insertions(+), 15 deletions(-) create mode 100644 app/javascript/flavours/glitch/features/annual_report/archetype.tsx create mode 100644 app/javascript/flavours/glitch/features/annual_report/followers.tsx create mode 100644 app/javascript/flavours/glitch/features/annual_report/highlighted_post.tsx create mode 100644 app/javascript/flavours/glitch/features/annual_report/index.tsx create mode 100644 app/javascript/flavours/glitch/features/annual_report/most_used_app.tsx create mode 100644 app/javascript/flavours/glitch/features/annual_report/most_used_hashtag.tsx create mode 100644 app/javascript/flavours/glitch/features/annual_report/new_posts.tsx create mode 100644 app/javascript/flavours/glitch/features/annual_report/percentile.tsx create mode 100644 app/javascript/flavours/glitch/features/notifications_v2/components/notification_annual_report.tsx create mode 100644 app/javascript/flavours/glitch/features/ui/components/annual_report_modal.tsx create mode 100644 app/javascript/flavours/glitch/models/annual_report.ts create mode 100644 app/javascript/flavours/glitch/styles/annual_reports.scss diff --git a/app/javascript/flavours/glitch/api_types/notifications.ts b/app/javascript/flavours/glitch/api_types/notifications.ts index 17c2ede32bd86e..d173083dbd2143 100644 --- a/app/javascript/flavours/glitch/api_types/notifications.ts +++ b/app/javascript/flavours/glitch/api_types/notifications.ts @@ -20,6 +20,7 @@ export const allNotificationTypes = [ 'admin.report', 'moderation_warning', 'severed_relationships', + 'annual_report', ]; export type NotificationWithStatusType = @@ -37,7 +38,8 @@ export type NotificationType = | 'moderation_warning' | 'severed_relationships' | 'admin.sign_up' - | 'admin.report'; + | 'admin.report' + | 'annual_report'; export interface BaseNotificationJSON { id: string; @@ -130,6 +132,15 @@ interface AccountRelationshipSeveranceNotificationJSON event: ApiAccountRelationshipSeveranceEventJSON; } +export interface ApiAnnualReportEventJSON { + year: string; +} + +interface AnnualReportNotificationGroupJSON extends BaseNotificationGroupJSON { + type: 'annual_report'; + annual_report: ApiAnnualReportEventJSON; +} + export type ApiNotificationJSON = | SimpleNotificationJSON | ReportNotificationJSON @@ -142,7 +153,8 @@ export type ApiNotificationGroupJSON = | ReportNotificationGroupJSON | AccountRelationshipSeveranceNotificationGroupJSON | NotificationGroupWithStatusJSON - | ModerationWarningNotificationGroupJSON; + | ModerationWarningNotificationGroupJSON + | AnnualReportNotificationGroupJSON; export interface ApiNotificationGroupsResultJSON { accounts: ApiAccountJSON[]; diff --git a/app/javascript/flavours/glitch/components/modal_root.jsx b/app/javascript/flavours/glitch/components/modal_root.jsx index 71b875cfeeb547..bfe9efea06e218 100644 --- a/app/javascript/flavours/glitch/components/modal_root.jsx +++ b/app/javascript/flavours/glitch/components/modal_root.jsx @@ -13,11 +13,14 @@ class ModalRoot extends PureComponent { static propTypes = { children: PropTypes.node, onClose: PropTypes.func.isRequired, - backgroundColor: PropTypes.shape({ - r: PropTypes.number, - g: PropTypes.number, - b: PropTypes.number, - }), + backgroundColor: PropTypes.oneOfType([ + PropTypes.string, + PropTypes.shape({ + r: PropTypes.number, + g: PropTypes.number, + b: PropTypes.number, + }), + ]), noEsc: PropTypes.bool, ignoreFocus: PropTypes.bool, ...WithOptionalRouterPropTypes, @@ -146,14 +149,17 @@ class ModalRoot extends PureComponent { let backgroundColor = null; - if (this.props.backgroundColor) { - backgroundColor = multiply({ ...this.props.backgroundColor, a: 1 }, { r: 0, g: 0, b: 0, a: 0.7 }); + if (this.props.backgroundColor && typeof this.props.backgroundColor === 'string') { + backgroundColor = this.props.backgroundColor; + } else if (this.props.backgroundColor) { + const darkenedColor = multiply({ ...this.props.backgroundColor, a: 1 }, { r: 0, g: 0, b: 0, a: 0.7 }); + backgroundColor = `rgb(${darkenedColor.r}, ${darkenedColor.g}, ${darkenedColor.b})`; } return (
-
+
{children}
diff --git a/app/javascript/flavours/glitch/features/annual_report/archetype.tsx b/app/javascript/flavours/glitch/features/annual_report/archetype.tsx new file mode 100644 index 00000000000000..604f401039e1bb --- /dev/null +++ b/app/javascript/flavours/glitch/features/annual_report/archetype.tsx @@ -0,0 +1,69 @@ +import { FormattedMessage } from 'react-intl'; + +import booster from '@/images/archetypes/booster.png'; +import lurker from '@/images/archetypes/lurker.png'; +import oracle from '@/images/archetypes/oracle.png'; +import pollster from '@/images/archetypes/pollster.png'; +import replier from '@/images/archetypes/replier.png'; +import type { Archetype as ArchetypeData } from 'flavours/glitch/models/annual_report'; + +export const Archetype: React.FC<{ + data: ArchetypeData; +}> = ({ data }) => { + let illustration, label; + + switch (data) { + case 'booster': + illustration = booster; + label = ( + + ); + break; + case 'replier': + illustration = replier; + label = ( + + ); + break; + case 'pollster': + illustration = pollster; + label = ( + + ); + break; + case 'lurker': + illustration = lurker; + label = ( + + ); + break; + case 'oracle': + illustration = oracle; + label = ( + + ); + break; + } + + return ( +
+
{label}
+ +
+ ); +}; diff --git a/app/javascript/flavours/glitch/features/annual_report/followers.tsx b/app/javascript/flavours/glitch/features/annual_report/followers.tsx new file mode 100644 index 00000000000000..e5238705d797f0 --- /dev/null +++ b/app/javascript/flavours/glitch/features/annual_report/followers.tsx @@ -0,0 +1,69 @@ +import { FormattedMessage, FormattedNumber } from 'react-intl'; + +import { Sparklines, SparklinesCurve } from 'react-sparklines'; + +import { ShortNumber } from 'flavours/glitch/components/short_number'; +import type { TimeSeriesMonth } from 'flavours/glitch/models/annual_report'; + +export const Followers: React.FC<{ + data: TimeSeriesMonth[]; + total?: number; +}> = ({ data, total }) => { + const change = data.reduce((sum, item) => sum + item.followers, 0); + + const cumulativeGraph = data.reduce( + (newData, item) => [ + ...newData, + item.followers + (newData[newData.length - 1] ?? 0), + ], + [0], + ); + + return ( +
+ + + + + + + + + + + + + +
+
+ {change > -1 ? '+' : '-'} + +
+ +
+ + + +
+ }} + /> +
+
+
+
+ ); +}; diff --git a/app/javascript/flavours/glitch/features/annual_report/highlighted_post.tsx b/app/javascript/flavours/glitch/features/annual_report/highlighted_post.tsx new file mode 100644 index 00000000000000..e66752b53eb9dc --- /dev/null +++ b/app/javascript/flavours/glitch/features/annual_report/highlighted_post.tsx @@ -0,0 +1,109 @@ +/* eslint-disable @typescript-eslint/no-unsafe-return, + @typescript-eslint/no-explicit-any, + @typescript-eslint/no-unsafe-assignment */ + +import { useCallback } from 'react'; + +import { FormattedMessage } from 'react-intl'; + +import { toggleStatusSpoilers } from 'flavours/glitch/actions/statuses'; +import { DetailedStatus } from 'flavours/glitch/features/status/components/detailed_status'; +import { me } from 'flavours/glitch/initial_state'; +import type { TopStatuses } from 'flavours/glitch/models/annual_report'; +import { + makeGetStatus, + makeGetPictureInPicture, +} from 'flavours/glitch/selectors'; +import { useAppSelector, useAppDispatch } from 'flavours/glitch/store'; + +const getStatus = makeGetStatus() as unknown as (arg0: any, arg1: any) => any; +const getPictureInPicture = makeGetPictureInPicture() as unknown as ( + arg0: any, + arg1: any, +) => any; + +export const HighlightedPost: React.FC<{ + data: TopStatuses; +}> = ({ data }) => { + let statusId, label; + + if (data.by_reblogs) { + statusId = data.by_reblogs; + label = ( + + ); + } else if (data.by_favourites) { + statusId = data.by_favourites; + label = ( + + ); + } else { + statusId = data.by_replies; + label = ( + + ); + } + + const dispatch = useAppDispatch(); + const domain = useAppSelector((state) => state.meta.get('domain')); + const status = useAppSelector((state) => + statusId ? getStatus(state, { id: statusId }) : undefined, + ); + const pictureInPicture = useAppSelector((state) => + statusId ? getPictureInPicture(state, { id: statusId }) : undefined, + ); + const account = useAppSelector((state) => + me ? state.accounts.get(me) : undefined, + ); + + const handleToggleHidden = useCallback(() => { + dispatch(toggleStatusSpoilers(statusId)); + }, [dispatch, statusId]); + + if (!status) { + return ( +
+ ); + } + + const displayName = ( + + + + ), + }} + /> + + {label} + + ); + + return ( +
+ +
+ ); +}; diff --git a/app/javascript/flavours/glitch/features/annual_report/index.tsx b/app/javascript/flavours/glitch/features/annual_report/index.tsx new file mode 100644 index 00000000000000..0c737934b4bea1 --- /dev/null +++ b/app/javascript/flavours/glitch/features/annual_report/index.tsx @@ -0,0 +1,99 @@ +import { useState, useEffect } from 'react'; + +import { FormattedMessage } from 'react-intl'; + +import { + importFetchedStatuses, + importFetchedAccounts, +} from 'flavours/glitch/actions/importer'; +import { apiRequestGet, apiRequestPost } from 'flavours/glitch/api'; +import { LoadingIndicator } from 'flavours/glitch/components/loading_indicator'; +import { me } from 'flavours/glitch/initial_state'; +import type { Account } from 'flavours/glitch/models/account'; +import type { AnnualReport as AnnualReportData } from 'flavours/glitch/models/annual_report'; +import type { Status } from 'flavours/glitch/models/status'; +import { useAppSelector, useAppDispatch } from 'flavours/glitch/store'; + +import { Archetype } from './archetype'; +import { Followers } from './followers'; +import { HighlightedPost } from './highlighted_post'; +import { MostUsedHashtag } from './most_used_hashtag'; +import { NewPosts } from './new_posts'; +import { Percentile } from './percentile'; + +interface AnnualReportResponse { + annual_reports: AnnualReportData[]; + accounts: Account[]; + statuses: Status[]; +} + +export const AnnualReport: React.FC<{ + year: string; +}> = ({ year }) => { + const [response, setResponse] = useState(null); + const [loading, setLoading] = useState(false); + const currentAccount = useAppSelector((state) => + me ? state.accounts.get(me) : undefined, + ); + const dispatch = useAppDispatch(); + + useEffect(() => { + setLoading(true); + + apiRequestGet(`v1/annual_reports/${year}`) + .then((data) => { + dispatch(importFetchedStatuses(data.statuses)); + dispatch(importFetchedAccounts(data.accounts)); + + setResponse(data); + setLoading(false); + + return apiRequestPost(`v1/annual_reports/${year}/read`); + }) + .catch(() => { + setLoading(false); + }); + }, [dispatch, year, setResponse, setLoading]); + + if (loading) { + return ; + } + + const report = response?.annual_reports[0]; + + if (!report) { + return null; + } + + return ( +
+
+

+ +

+

+ +

+
+ +
+ + + + + + +
+
+ ); +}; diff --git a/app/javascript/flavours/glitch/features/annual_report/most_used_app.tsx b/app/javascript/flavours/glitch/features/annual_report/most_used_app.tsx new file mode 100644 index 00000000000000..f78a02b296a008 --- /dev/null +++ b/app/javascript/flavours/glitch/features/annual_report/most_used_app.tsx @@ -0,0 +1,29 @@ +import { FormattedMessage } from 'react-intl'; + +import type { NameAndCount } from 'flavours/glitch/models/annual_report'; + +export const MostUsedApp: React.FC<{ + data: NameAndCount[]; +}> = ({ data }) => { + const app = data[0]; + + if (!app) { + return ( +
+ ); + } + + return ( +
+
+ {app.name} +
+
+ +
+
+ ); +}; diff --git a/app/javascript/flavours/glitch/features/annual_report/most_used_hashtag.tsx b/app/javascript/flavours/glitch/features/annual_report/most_used_hashtag.tsx new file mode 100644 index 00000000000000..a6d5e08fe154ca --- /dev/null +++ b/app/javascript/flavours/glitch/features/annual_report/most_used_hashtag.tsx @@ -0,0 +1,29 @@ +import { FormattedMessage } from 'react-intl'; + +import type { NameAndCount } from 'flavours/glitch/models/annual_report'; + +export const MostUsedHashtag: React.FC<{ + data: NameAndCount[]; +}> = ({ data }) => { + const hashtag = data[0]; + + if (!hashtag) { + return ( +
+ ); + } + + return ( +
+
+ #{hashtag.name} +
+
+ +
+
+ ); +}; diff --git a/app/javascript/flavours/glitch/features/annual_report/new_posts.tsx b/app/javascript/flavours/glitch/features/annual_report/new_posts.tsx new file mode 100644 index 00000000000000..4ca286debb68d5 --- /dev/null +++ b/app/javascript/flavours/glitch/features/annual_report/new_posts.tsx @@ -0,0 +1,53 @@ +import { FormattedNumber, FormattedMessage } from 'react-intl'; + +import ChatBubbleIcon from '@/material-icons/400-24px/chat_bubble.svg?react'; +import type { TimeSeriesMonth } from 'flavours/glitch/models/annual_report'; + +export const NewPosts: React.FC<{ + data: TimeSeriesMonth[]; +}> = ({ data }) => { + const posts = data.reduce((sum, item) => sum + item.statuses, 0); + + return ( +
+ + + + + + + + + + + +
+ +
+
+ +
+
+ ); +}; diff --git a/app/javascript/flavours/glitch/features/annual_report/percentile.tsx b/app/javascript/flavours/glitch/features/annual_report/percentile.tsx new file mode 100644 index 00000000000000..322171ba212290 --- /dev/null +++ b/app/javascript/flavours/glitch/features/annual_report/percentile.tsx @@ -0,0 +1,53 @@ +/* eslint-disable react/jsx-no-useless-fragment */ +import { FormattedMessage, FormattedNumber } from 'react-intl'; + +import type { Percentiles } from 'flavours/glitch/models/annual_report'; + +export const Percentile: React.FC<{ + data: Percentiles; +}> = ({ data }) => { + const percentile = data.statuses; + + return ( +
+ ( +
+ {str} +
+ ), + percentage: () => ( +
+ +
+ ), + bottomLabel: (str) => ( +
+
+ {str} +
+ + {percentile < 6 && ( +
+ +
+ )} +
+ ), + }} + > + {(message) => <>{message}} +
+
+ ); +}; diff --git a/app/javascript/flavours/glitch/features/notifications_v2/components/notification_annual_report.tsx b/app/javascript/flavours/glitch/features/notifications_v2/components/notification_annual_report.tsx new file mode 100644 index 00000000000000..42754d1490f5f8 --- /dev/null +++ b/app/javascript/flavours/glitch/features/notifications_v2/components/notification_annual_report.tsx @@ -0,0 +1,59 @@ +import { useCallback } from 'react'; + +import { FormattedMessage } from 'react-intl'; + +import classNames from 'classnames'; + +import CelebrationIcon from '@/material-icons/400-24px/celebration.svg?react'; +import { openModal } from 'flavours/glitch/actions/modal'; +import { Icon } from 'flavours/glitch/components/icon'; +import type { NotificationGroupAnnualReport } from 'flavours/glitch/models/notification_group'; +import { useAppDispatch } from 'flavours/glitch/store'; + +export const NotificationAnnualReport: React.FC<{ + notification: NotificationGroupAnnualReport; + unread: boolean; +}> = ({ notification: { annualReport }, unread }) => { + const dispatch = useAppDispatch(); + const year = annualReport.year; + + const handleClick = useCallback(() => { + dispatch( + openModal({ + modalType: 'ANNUAL_REPORT', + modalProps: { year }, + }), + ); + }, [dispatch, year]); + + return ( +
+
+ +
+ +
+

+ +

+ +
+
+ ); +}; diff --git a/app/javascript/flavours/glitch/features/notifications_v2/components/notification_group.tsx b/app/javascript/flavours/glitch/features/notifications_v2/components/notification_group.tsx index f4275179c5efe9..9bd6c27a86acd8 100644 --- a/app/javascript/flavours/glitch/features/notifications_v2/components/notification_group.tsx +++ b/app/javascript/flavours/glitch/features/notifications_v2/components/notification_group.tsx @@ -9,6 +9,7 @@ import { useAppSelector, useAppDispatch } from 'flavours/glitch/store'; import { NotificationAdminReport } from './notification_admin_report'; import { NotificationAdminSignUp } from './notification_admin_sign_up'; +import { NotificationAnnualReport } from './notification_annual_report'; import { NotificationFavourite } from './notification_favourite'; import { NotificationFollow } from './notification_follow'; import { NotificationFollowRequest } from './notification_follow_request'; @@ -143,6 +144,14 @@ export const NotificationGroup: React.FC<{ /> ); break; + case 'annual_report': + content = ( + + ); + break; default: return null; } diff --git a/app/javascript/flavours/glitch/features/status/components/detailed_status.tsx b/app/javascript/flavours/glitch/features/status/components/detailed_status.tsx index 0b08e88cf8f606..c6f0900c5fe2bf 100644 --- a/app/javascript/flavours/glitch/features/status/components/detailed_status.tsx +++ b/app/javascript/flavours/glitch/features/status/components/detailed_status.tsx @@ -51,6 +51,7 @@ export const DetailedStatus: React.FC<{ domain: string; showMedia?: boolean; withLogo?: boolean; + overrideDisplayName?: React.ReactNode; pictureInPicture: any; onToggleHidden?: (status: any) => void; onToggleMediaVisibility?: () => void; @@ -65,6 +66,7 @@ export const DetailedStatus: React.FC<{ domain, showMedia, withLogo, + overrideDisplayName, pictureInPicture, onToggleMediaVisibility, onToggleHidden, @@ -378,7 +380,11 @@ export const DetailedStatus: React.FC<{
- + + {overrideDisplayName ?? ( + + )} + {withLogo && ( <>
diff --git a/app/javascript/flavours/glitch/features/ui/components/annual_report_modal.tsx b/app/javascript/flavours/glitch/features/ui/components/annual_report_modal.tsx new file mode 100644 index 00000000000000..b7f5db04ace68e --- /dev/null +++ b/app/javascript/flavours/glitch/features/ui/components/annual_report_modal.tsx @@ -0,0 +1,21 @@ +import { useEffect } from 'react'; + +import { AnnualReport } from 'flavours/glitch/features/annual_report'; + +const AnnualReportModal: React.FC<{ + year: string; + onChangeBackgroundColor: (arg0: string) => void; +}> = ({ year, onChangeBackgroundColor }) => { + useEffect(() => { + onChangeBackgroundColor('var(--indigo-1)'); + }, [onChangeBackgroundColor]); + + return ( +
+ +
+ ); +}; + +// eslint-disable-next-line import/no-default-export +export default AnnualReportModal; diff --git a/app/javascript/flavours/glitch/features/ui/components/modal_root.jsx b/app/javascript/flavours/glitch/features/ui/components/modal_root.jsx index 83345905becb97..506cccfbb2224d 100644 --- a/app/javascript/flavours/glitch/features/ui/components/modal_root.jsx +++ b/app/javascript/flavours/glitch/features/ui/components/modal_root.jsx @@ -20,6 +20,7 @@ import { SubscribedLanguagesModal, ClosedRegistrationsModal, IgnoreNotificationsModal, + AnnualReportModal, } from 'flavours/glitch/features/ui/util/async-components'; import { getScrollbarWidth } from 'flavours/glitch/utils/scrollbar'; @@ -82,6 +83,7 @@ export const MODAL_COMPONENTS = { 'INTERACTION': InteractionModal, 'CLOSED_REGISTRATIONS': ClosedRegistrationsModal, 'IGNORE_NOTIFICATIONS': IgnoreNotificationsModal, + 'ANNUAL_REPORT': AnnualReportModal, }; export default class ModalRoot extends PureComponent { diff --git a/app/javascript/flavours/glitch/features/ui/util/async-components.js b/app/javascript/flavours/glitch/features/ui/util/async-components.js index c7f2e6cff9c813..1354c21f09b07e 100644 --- a/app/javascript/flavours/glitch/features/ui/util/async-components.js +++ b/app/javascript/flavours/glitch/features/ui/util/async-components.js @@ -229,3 +229,7 @@ export function NotificationRequest () { export function LinkTimeline () { return import(/*webpackChunkName: "features/glitch/link_timeline" */'../../link_timeline'); } + +export function AnnualReportModal () { + return import(/*webpackChunkName: "flavours/glitch/async/modals/annual_report_modal" */'../components/annual_report_modal'); +} diff --git a/app/javascript/flavours/glitch/models/annual_report.ts b/app/javascript/flavours/glitch/models/annual_report.ts new file mode 100644 index 00000000000000..c0a101e6c872da --- /dev/null +++ b/app/javascript/flavours/glitch/models/annual_report.ts @@ -0,0 +1,44 @@ +export interface Percentiles { + followers: number; + statuses: number; +} + +export interface NameAndCount { + name: string; + count: number; +} + +export interface TimeSeriesMonth { + month: number; + statuses: number; + following: number; + followers: number; +} + +export interface TopStatuses { + by_reblogs: number; + by_favourites: number; + by_replies: number; +} + +export type Archetype = + | 'lurker' + | 'booster' + | 'pollster' + | 'replier' + | 'oracle'; + +interface AnnualReportV1 { + most_used_apps: NameAndCount[]; + percentiles: Percentiles; + top_hashtags: NameAndCount[]; + top_statuses: TopStatuses; + time_series: TimeSeriesMonth[]; + archetype: Archetype; +} + +export interface AnnualReport { + year: number; + schema_version: number; + data: AnnualReportV1; +} diff --git a/app/javascript/flavours/glitch/models/notification_group.ts b/app/javascript/flavours/glitch/models/notification_group.ts index 26a4d6be844687..ff963307c64106 100644 --- a/app/javascript/flavours/glitch/models/notification_group.ts +++ b/app/javascript/flavours/glitch/models/notification_group.ts @@ -1,6 +1,7 @@ import type { ApiAccountRelationshipSeveranceEventJSON, ApiAccountWarningJSON, + ApiAnnualReportEventJSON, BaseNotificationGroupJSON, ApiNotificationGroupJSON, ApiNotificationJSON, @@ -65,6 +66,12 @@ export interface NotificationGroupSeveredRelationships event: AccountRelationshipSeveranceEvent; } +type AnnualReportEvent = ApiAnnualReportEventJSON; +export interface NotificationGroupAnnualReport + extends BaseNotification<'annual_report'> { + annualReport: AnnualReportEvent; +} + interface Report extends Omit { targetAccountId: string; } @@ -86,7 +93,8 @@ export type NotificationGroup = | NotificationGroupModerationWarning | NotificationGroupSeveredRelationships | NotificationGroupAdminSignUp - | NotificationGroupAdminReport; + | NotificationGroupAdminReport + | NotificationGroupAnnualReport; function createReportFromJSON(reportJSON: ApiReportJSON): Report { const { target_account, ...report } = reportJSON; @@ -112,6 +120,12 @@ function createAccountRelationshipSeveranceEventFromJSON( return eventJson; } +function createAnnualReportEventFromJSON( + eventJson: ApiAnnualReportEventJSON, +): AnnualReportEvent { + return eventJson; +} + export function createNotificationGroupFromJSON( groupJson: ApiNotificationGroupJSON, ): NotificationGroup { @@ -145,7 +159,6 @@ export function createNotificationGroupFromJSON( event: createAccountRelationshipSeveranceEventFromJSON(group.event), sampleAccountIds, }; - case 'moderation_warning': { const { moderation_warning, ...groupWithoutModerationWarning } = group; return { @@ -154,6 +167,14 @@ export function createNotificationGroupFromJSON( sampleAccountIds, }; } + case 'annual_report': { + const { annual_report, ...groupWithoutAnnualReport } = group; + return { + ...groupWithoutAnnualReport, + annualReport: createAnnualReportEventFromJSON(annual_report), + sampleAccountIds, + }; + } default: return { sampleAccountIds, diff --git a/app/javascript/flavours/glitch/styles/annual_reports.scss b/app/javascript/flavours/glitch/styles/annual_reports.scss new file mode 100644 index 00000000000000..39784e3b5ea12b --- /dev/null +++ b/app/javascript/flavours/glitch/styles/annual_reports.scss @@ -0,0 +1,335 @@ +:root { + --indigo-1: #17063b; + --indigo-2: #2f0c7a; + --indigo-3: #562cfc; + --indigo-5: #858afa; + --indigo-6: #cccfff; + --lime: #baff3b; + --goldenrod-2: #ffc954; +} + +.annual-report { + flex: 0 0 auto; + background: var(--indigo-1); + padding: 24px; + + &__header { + margin-bottom: 16px; + + h1 { + font-size: 25px; + font-weight: 600; + line-height: 30px; + color: var(--lime); + margin-bottom: 8px; + } + + p { + font-size: 16px; + font-weight: 600; + line-height: 20px; + color: var(--indigo-6); + } + } + + &__bento { + display: grid; + gap: 8px; + grid-template-columns: minmax(0, 1fr) minmax(0, 1fr) minmax(0, 1fr); + grid-template-rows: minmax(0, auto) minmax(0, 1fr) minmax(0, auto) minmax( + 0, + auto + ); + + &__box { + padding: 16px; + border-radius: 8px; + background: var(--indigo-2); + color: var(--indigo-5); + } + } + + &__summary { + &__most-boosted-post { + grid-column: span 2; + grid-row: span 2; + padding: 0; + + .status__content, + .content-warning { + color: var(--indigo-6); + } + + .detailed-status { + border: 0; + } + + .content-warning { + border: 0; + background: var(--indigo-1); + + .link-button { + color: var(--indigo-5); + } + } + + .detailed-status__meta__line { + border-bottom-color: var(--indigo-3); + } + + .detailed-status__meta { + text-overflow: ellipsis; + overflow: hidden; + white-space: nowrap; + } + + .detailed-status__meta, + .poll__footer, + .poll__link, + .detailed-status .logo, + .detailed-status__display-name { + color: var(--indigo-5); + } + + .detailed-status__meta .animated-number, + .detailed-status__display-name strong { + color: var(--indigo-6); + } + + .poll__chart { + background-color: var(--indigo-3); + + &.leading { + background-color: var(--goldenrod-2); + } + } + } + + &__followers { + grid-column: span 1; + text-align: center; + position: relative; + overflow: hidden; + padding-block-start: 24px; + padding-block-end: 24px; + + --sparkline-gradient-top: rgba(86, 44, 252, 50%); + --sparkline-gradient-bottom: rgba(86, 44, 252, 0%); + + &__foreground { + width: 100%; + height: 100%; + display: flex; + flex-direction: column; + align-items: center; + justify-content: center; + gap: 8px; + position: relative; + z-index: 1; + } + + &__number { + font-size: 31px; + font-weight: 600; + line-height: 37px; + color: var(--lime); + } + + &__label { + font-size: 14px; + font-weight: 600; + line-height: 17px; + color: var(--indigo-6); + } + + &__footnote { + display: block; + font-weight: 400; + opacity: 0.5; + } + + svg { + position: absolute; + bottom: 0; + inset-inline-end: 0; + pointer-events: none; + z-index: 0; + height: 70%; + width: auto; + + path:first-child { + fill: url('#gradient') !important; + fill-opacity: 1 !important; + } + + path:last-child { + stroke: var(--indigo-3) !important; + fill: none !important; + } + } + } + + &__archetype { + grid-column: span 1; + display: flex; + flex-direction: column; + align-items: center; + justify-content: center; + text-align: center; + gap: 8px; + padding: 0; + + img { + display: block; + width: 100%; + height: auto; + border-radius: 8px; + } + + &__label { + padding: 16px; + padding-bottom: 8px; + font-size: 14px; + line-height: 17px; + font-weight: 600; + color: var(--lime); + } + } + + &__most-used-app { + grid-column: span 1; + text-align: center; + display: flex; + flex-direction: column; + align-items: center; + justify-content: center; + gap: 8px; + box-sizing: border-box; + + &__label { + font-size: 14px; + line-height: 17px; + font-weight: 600; + color: var(--indigo-6); + } + + &__icon { + font-size: 14px; + line-height: 17px; + font-weight: 600; + color: var(--goldenrod-2); + } + } + + &__percentile { + grid-row: span 2; + display: flex; + flex-direction: column; + align-items: center; + justify-content: space-between; + text-align: center; + text-wrap: balance; + padding: 16px 8px; + + &__label { + font-size: 14px; + line-height: 17px; + } + + &__number { + font-size: 61px; + font-weight: 600; + line-height: 73px; + color: var(--goldenrod-2); + } + + &__footnote { + font-size: 11px; + line-height: 14px; + opacity: 0.5; + } + } + + &__new-posts { + grid-column: span 2; + text-align: center; + position: relative; + overflow: hidden; + + &__label { + font-size: 20px; + font-weight: 600; + line-height: 24px; + color: var(--indigo-6); + z-index: 1; + position: relative; + } + + &__number { + font-size: 76px; + font-weight: 600; + line-height: 91px; + color: var(--goldenrod-2); + z-index: 1; + position: relative; + } + + svg { + position: absolute; + inset-inline-start: -7px; + top: -4px; + z-index: 0; + } + } + + &__most-used-hashtag { + grid-column: span 2; + text-align: center; + overflow: hidden; + + &__hashtag { + font-size: 42px; + font-weight: 600; + line-height: 58px; + color: var(--indigo-6); + margin-inline-start: -100%; + margin-inline-end: -100%; + } + + &__label { + font-size: 14px; + font-weight: 600; + line-height: 17px; + } + } + } +} + +.annual-report-modal { + max-width: 480px; + background: var(--indigo-1); + border-radius: 16px; + display: flex; + flex-direction: column; + overflow-y: auto; + + .loading-indicator .circular-progress { + color: var(--lime); + } + + @media screen and (max-width: $no-columns-breakpoint) { + border-bottom: 0; + border-radius: 16px 16px 0 0; + } +} + +.notification-group--annual-report { + .notification-group__icon { + color: var(--lime); + } + + .notification-group__main .link-button { + font-weight: 500; + color: var(--lime); + } +} diff --git a/app/javascript/flavours/glitch/styles/application.scss b/app/javascript/flavours/glitch/styles/application.scss index fd55960311d24d..ac58cca66a557d 100644 --- a/app/javascript/flavours/glitch/styles/application.scss +++ b/app/javascript/flavours/glitch/styles/application.scss @@ -15,6 +15,7 @@ @import 'polls'; @import 'modal'; @import 'emoji_picker'; +@import 'annual_reports'; @import 'about'; @import 'tables'; @import 'admin'; diff --git a/app/javascript/flavours/glitch/styles/components.scss b/app/javascript/flavours/glitch/styles/components.scss index 5048798a0c3b84..f35f5702b404ee 100644 --- a/app/javascript/flavours/glitch/styles/components.scss +++ b/app/javascript/flavours/glitch/styles/components.scss @@ -1856,7 +1856,8 @@ body > [data-popper-placement] { .status__wrapper-direct, .notification-ungrouped--direct, -.notification-group--direct { +.notification-group--direct, +.notification-group--annual-report { background: rgba($ui-highlight-color, 0.05); &:focus { @@ -6241,7 +6242,8 @@ a.status-card { inset-inline-start: 0; inset-inline-end: 0; bottom: 0; - background: rgba($base-overlay-background, 0.7); + opacity: 0.9; + background: $base-overlay-background; transition: background 0.5s; } From 80378921e6016567079ee8b2c03b933fc05ece31 Mon Sep 17 00:00:00 2001 From: Claire Date: Wed, 6 Nov 2024 14:30:53 +0100 Subject: [PATCH 161/357] [Glitch] Fix out-of-view post contents being inconsistent with in-view post contents Port d482211aa6293f78f161cbc7149e829966cd8e3a to glitch-soc Signed-off-by: Claire --- app/javascript/flavours/glitch/components/status.jsx | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/app/javascript/flavours/glitch/components/status.jsx b/app/javascript/flavours/glitch/components/status.jsx index bbf947a4592e42..71a1d14d37f362 100644 --- a/app/javascript/flavours/glitch/components/status.jsx +++ b/app/javascript/flavours/glitch/components/status.jsx @@ -583,12 +583,15 @@ class Status extends ImmutablePureComponent { let prepend, rebloggedByText; + const matchedFilters = status.get('matched_filters'); + if (hidden) { return (
{status.getIn(['account', 'display_name']) || status.getIn(['account', 'username'])} - {status.get('content')} + {status.get('spoiler_text').length > 0 && ({status.get('spoiler_text')})} + {isExpanded && {status.get('content')}}
); @@ -597,7 +600,6 @@ class Status extends ImmutablePureComponent { const connectUp = previousId && previousId === status.get('in_reply_to_id'); const connectToRoot = rootId && rootId === status.get('in_reply_to_id'); const connectReply = nextInReplyToId && nextInReplyToId === status.get('id'); - const matchedFilters = status.get('matched_filters'); if (this.state.forceFilter === undefined ? matchedFilters : this.state.forceFilter) { const minHandlers = this.props.muted ? {} : { From f3eac6f45ad86cd26a2edbcf2542b8bb0489e99e Mon Sep 17 00:00:00 2001 From: Claire Date: Thu, 7 Nov 2024 12:45:46 +0100 Subject: [PATCH 162/357] [Glitch] Fix list of follow requests not having a back button Port 6ae1fcd0591ece24867483865f41e95b80cc0fb2 to glitch-soc Signed-off-by: Claire --- .../flavours/glitch/features/follow_requests/index.jsx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/app/javascript/flavours/glitch/features/follow_requests/index.jsx b/app/javascript/flavours/glitch/features/follow_requests/index.jsx index a8f40a31d0d007..7d651f2ca69c24 100644 --- a/app/javascript/flavours/glitch/features/follow_requests/index.jsx +++ b/app/javascript/flavours/glitch/features/follow_requests/index.jsx @@ -68,7 +68,7 @@ class FollowRequests extends ImmutablePureComponent { ); return ( - + Date: Sun, 10 Nov 2024 17:16:07 +0100 Subject: [PATCH 163/357] Backspace hotkey should override default behaviour (#32826) --- app/javascript/mastodon/features/ui/index.jsx | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/app/javascript/mastodon/features/ui/index.jsx b/app/javascript/mastodon/features/ui/index.jsx index 2f9f962b810c4c..b90ea5585aeee0 100644 --- a/app/javascript/mastodon/features/ui/index.jsx +++ b/app/javascript/mastodon/features/ui/index.jsx @@ -482,7 +482,9 @@ class UI extends PureComponent { } }; - handleHotkeyBack = () => { + handleHotkeyBack = e => { + e.preventDefault(); + const { history } = this.props; if (history.location?.state?.fromMastodon) { From d29f27fad73be817bef683d313540276b8e83b34 Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" <41898282+github-actions[bot]@users.noreply.github.com> Date: Sun, 10 Nov 2024 22:07:04 +0100 Subject: [PATCH 164/357] New Crowdin Translations (automated) (#2851) * New Crowdin translations * Update simple_form.no.yml * Update no.yml --------- Co-authored-by: GitHub Actions Co-authored-by: Claire --- .../flavours/glitch/locales/de.json | 2 - .../flavours/glitch/locales/es-AR.json | 2 - .../flavours/glitch/locales/ko.json | 2 - .../flavours/glitch/locales/ru.json | 87 ++++++++++++++++++- .../flavours/glitch/locales/zh-CN.json | 2 - config/locales-glitch/ru.yml | 18 ++++ config/locales-glitch/simple_form.ru.yml | 19 ++++ 7 files changed, 122 insertions(+), 10 deletions(-) diff --git a/app/javascript/flavours/glitch/locales/de.json b/app/javascript/flavours/glitch/locales/de.json index 22350c191042d2..d3e4ff40b9ed96 100644 --- a/app/javascript/flavours/glitch/locales/de.json +++ b/app/javascript/flavours/glitch/locales/de.json @@ -154,7 +154,5 @@ "status.is_poll": "Dieser Toot ist eine Umfrage", "status.local_only": "Nur auf deiner Instanz sichtbar", "status.show_filter_reason": "Trotzdem anzeigen", - "status.show_less": "Weniger anzeigen", - "status.show_more": "Mehr anzeigen", "status.uncollapse": "Ausklappen" } diff --git a/app/javascript/flavours/glitch/locales/es-AR.json b/app/javascript/flavours/glitch/locales/es-AR.json index 8153c773cec7c9..de7617a31d85c8 100644 --- a/app/javascript/flavours/glitch/locales/es-AR.json +++ b/app/javascript/flavours/glitch/locales/es-AR.json @@ -154,7 +154,5 @@ "status.is_poll": "Esta publicación es una encuesta", "status.local_only": "Sólo visible para tu instancia", "status.show_filter_reason": "Mostrar de todos modos", - "status.show_less": "Mostrar menos", - "status.show_more": "Mostrar más", "status.uncollapse": "Descolapsar" } diff --git a/app/javascript/flavours/glitch/locales/ko.json b/app/javascript/flavours/glitch/locales/ko.json index 4d77f4427ea94e..0c4dd590b21512 100644 --- a/app/javascript/flavours/glitch/locales/ko.json +++ b/app/javascript/flavours/glitch/locales/ko.json @@ -154,7 +154,5 @@ "status.is_poll": "이 글은 설문입니다", "status.local_only": "당신의 서버에서만 보입니다", "status.show_filter_reason": "그냥 표시하기", - "status.show_less": "접기", - "status.show_more": "더보기", "status.uncollapse": "펼치기" } diff --git a/app/javascript/flavours/glitch/locales/ru.json b/app/javascript/flavours/glitch/locales/ru.json index 6c9355ae11c7fe..7ac02de1e3820a 100644 --- a/app/javascript/flavours/glitch/locales/ru.json +++ b/app/javascript/flavours/glitch/locales/ru.json @@ -1,5 +1,88 @@ { - "about.fork_disclaimer": "Glitch-soc - это бесплатное программное обеспечение с открытым исходным кодом, обращенное от Mastodon.", + "about.fork_disclaimer": "Glitch-soc — это свободное программное обеспечение с открытым исходным кодом, ответвлённое от Mastodon.", + "account.follows": "Подписки", + "account.follows_you": "Подписан(а) на вас", + "account.suspended_disclaimer_full": "Этот пользователь был заблокирован модератором.", + "boost_modal.missing_description": "Этот пост содержит медиафайлы без описания", + "column.favourited_by": "Добавили в избранное", + "column.reblogged_by": "Продвинули", + "column_header.profile": "Профиль", + "column_subheading.lists": "Списки", + "column_subheading.navigation": "Навигация", + "compose.attach.doodle": "Нарисовать что-нибудь", + "compose.change_federation": "Изменить настройки федерации", + "compose.content-type.html": "HTML", + "compose.content-type.markdown": "Markdown", + "compose.content-type.plain": "Простой текст", + "compose.disable_threaded_mode": "Отключить режим треда", + "compose.enable_threaded_mode": "Включить режим треда", + "confirmation_modal.do_not_ask_again": "Больше не спрашивать подтверждение", + "confirmations.deprecated_settings.confirm": "Использовать настройки Mastodon", + "confirmations.missing_media_description.confirm": "Всё равно опубликовать", + "direct.group_by_conversations": "Группировать по перепискам", + "endorsed_accounts_editor.endorsed_accounts": "Рекомендованные аккаунты", + "favourite_modal.favourite": "Добавить пост в избранное?", + "federation.federated.long": "Разрешить делиться этим постом с другими серверами", + "federation.local_only.long": "Запретить делиться этим постом с другими серверами", + "home.column_settings.advanced": "Продвинутые настройки", + "home.column_settings.filter_regex": "Фильтр по регулярным выражениям", + "keyboard_shortcuts.bookmark": "добавить закладку", + "keyboard_shortcuts.toggle_collapse": "свернуть/развернуть пост", + "moved_to_warning": "Этот аккаунт переехал на {moved_to_link}, и скорее всего не принимает новых подписчиков.", + "navigation_bar.app_settings": "Настройки приложения", + "navigation_bar.keyboard_shortcuts": "Сочетания клавиш", + "notification.markForDeletion": "Отметить для удаления", + "notification_purge.btn_all": "Выбрать все", + "notification_purge.btn_apply": "Удалить выбранное", + "notification_purge.btn_invert": "Инвертировать выбор", + "notification_purge.btn_none": "Отменить выбор", + "notification_purge.start": "Войти в режим очистки уведомлений", + "notifications.column_settings.filter_bar.show_bar": "Показать панель фильтров", + "notifications.marked_clear": "Удалить выбранные уведомления", + "notifications.marked_clear_confirmation": "Вы уверены, что хотите безвозвратно удалить все выбранные уведомления?", + "settings.auto_collapse": "Сворачивать автоматически", + "settings.auto_collapse_all": "Всё", + "settings.auto_collapse_height": "Высота (в пикселях) для того, чтобы пост считался длинным", + "settings.auto_collapse_lengthy": "Длинные посты", + "settings.auto_collapse_media": "Посты с медиафайлами", + "settings.auto_collapse_notifications": "Уведомления", + "settings.auto_collapse_reblogs": "Продвижения", + "settings.auto_collapse_replies": "Ответы", + "settings.close": "Закрыть", + "settings.collapsed_statuses": "Сворачивание постов", + "settings.compose_box_opts": "Форма постинга", "settings.content_warnings": "Content warnings", - "settings.preferences": "Preferences" + "settings.content_warnings.regexp": "Регулярное выражение", + "settings.content_warnings_unfold_opts": "Автоматическое раскрытие", + "settings.deprecated_setting": "Эта опция теперь может быть включена в {settings_page_link} Mastodon", + "settings.enable_collapsed": "Включить сворачивание постов", + "settings.general": "Общие", + "settings.hicolor_privacy_icons": "Цветные значки публичности поста", + "settings.hicolor_privacy_icons.hint": "Отображать значки публичности поста в ярких и различимых цветах", + "settings.media": "Медиафайлы", + "settings.notifications.favicon_badge": "Индикатор уведомлений на иконке сайта", + "settings.notifications_opts": "Опции уведомлений", + "settings.pop_in_left": "Слева", + "settings.pop_in_player": "Включить плавающий плеер", + "settings.pop_in_position": "Расположение плавающего плеера:", + "settings.pop_in_right": "Справа", + "settings.preferences": "Preferences", + "settings.shared_settings_link": "настройках пользователя", + "settings.show_reply_counter": "Показывать приблизительное число ответов", + "settings.side_arm": "Дополнительная кнопка постинга:", + "settings.side_arm.none": "Нет", + "settings.side_arm_reply_mode": "При ответе на пост дополнительная кнопка постинга должна:", + "settings.status_icons": "Значки постов", + "settings.status_icons_language": "Индикатор языка", + "settings.status_icons_local_only": "Индикатор нефедерируемого поста", + "settings.status_icons_media": "Индикаторы медиафайлов и опросов", + "settings.status_icons_reply": "Индикатор ответа", + "settings.status_icons_visibility": "Индикатор публичности поста", + "settings.tag_misleading_links": "Помечать обманчивые ссылки", + "status.collapse": "Свернуть", + "status.hide": "Скрыть пост", + "status.in_reply_to": "Этот пост является ответом", + "status.is_poll": "Этот пост содержит опрос", + "status.show_filter_reason": "Всё равно показать", + "status.uncollapse": "Развернуть" } diff --git a/app/javascript/flavours/glitch/locales/zh-CN.json b/app/javascript/flavours/glitch/locales/zh-CN.json index 8cdb2c89a444da..50bcdc0161318c 100644 --- a/app/javascript/flavours/glitch/locales/zh-CN.json +++ b/app/javascript/flavours/glitch/locales/zh-CN.json @@ -153,7 +153,5 @@ "status.is_poll": "此嘟文是投票", "status.local_only": "此嘟文仅本站可见", "status.show_filter_reason": "仍然显示", - "status.show_less": "部分显示", - "status.show_more": "完全显示", "status.uncollapse": "展开" } diff --git a/config/locales-glitch/ru.yml b/config/locales-glitch/ru.yml index ddc9d1e32c29bb..f6f52ae1048f01 100644 --- a/config/locales-glitch/ru.yml +++ b/config/locales-glitch/ru.yml @@ -1 +1,19 @@ +--- ru: + admin: + custom_emojis: + batch_error: 'Произошла ошибка: %{message}' + settings: + flavour_and_skin: + title: Стиль и цвета + hide_followers_count: + title: Скрыть количество подписчиков + other: + preamble: Настройки glitch-soc, которые не могут быть отнесены к другим категориям. + title: Прочее + appearance: + localization: + glitch_guide_link: https://crowdin.com/project/glitch-soc + glitch_guide_link_text: И для glitch-soc тоже! + settings: + flavours: Стили diff --git a/config/locales-glitch/simple_form.ru.yml b/config/locales-glitch/simple_form.ru.yml index ddc9d1e32c29bb..179f7c10506b38 100644 --- a/config/locales-glitch/simple_form.ru.yml +++ b/config/locales-glitch/simple_form.ru.yml @@ -1 +1,20 @@ +--- ru: + simple_form: + glitch_only: glitch-soc + hints: + defaults: + setting_skin: Меняет оформление выбранного стиля Mastodon + labels: + defaults: + setting_default_content_type: Формат постов по умолчанию + setting_default_content_type_html: HTML + setting_default_content_type_markdown: Markdown + setting_default_content_type_plain: Простой текст + setting_favourite_modal: Всегда спрашивать перед добавлением в избранное (применяется только к стилю Glitch) + setting_skin: Тема + setting_system_emoji_font: Использовать системный шрифт эмодзи по умолчанию (применяется только к стилю Glitch) + notification_emails: + trending_link: Новая актуальная ссылка требует проверки + trending_status: Новый актуальный пост требует проверки + trending_tag: Новый актуальный хештег требует проверки From b7a66c6eaccc09c62a589b52aa16833681866823 Mon Sep 17 00:00:00 2001 From: Claire Date: Sun, 10 Nov 2024 22:43:27 +0100 Subject: [PATCH 165/357] Fix status clickable area (#2895) --- app/javascript/flavours/glitch/components/status.jsx | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/app/javascript/flavours/glitch/components/status.jsx b/app/javascript/flavours/glitch/components/status.jsx index 71a1d14d37f362..ec572252b73d91 100644 --- a/app/javascript/flavours/glitch/components/status.jsx +++ b/app/javascript/flavours/glitch/components/status.jsx @@ -808,7 +808,8 @@ class Status extends ImmutablePureComponent { {(connectReply || connectUp || connectToRoot) &&
} {(!muted || !isCollapsed) && ( -
+ /* eslint-disable-next-line jsx-a11y/no-static-element-interactions */ +
Date: Mon, 11 Nov 2024 03:29:55 -0500 Subject: [PATCH 166/357] Move account silence-related methods to concern (#28866) --- app/models/account.rb | 15 +------------ app/models/concerns/account/silences.rb | 22 +++++++++++++++++++ spec/models/account_spec.rb | 8 ------- spec/models/concerns/account/silences_spec.rb | 18 +++++++++++++++ 4 files changed, 41 insertions(+), 22 deletions(-) create mode 100644 app/models/concerns/account/silences.rb create mode 100644 spec/models/concerns/account/silences_spec.rb diff --git a/app/models/account.rb b/app/models/account.rb index 957ccc73c46c79..007fad7830d3f1 100644 --- a/app/models/account.rb +++ b/app/models/account.rb @@ -90,6 +90,7 @@ class Account < ApplicationRecord include Account::Interactions include Account::Merging include Account::Search + include Account::Silences include Account::StatusesSearch include Account::Suspensions include Account::AttributionDomains @@ -129,9 +130,7 @@ class Account < ApplicationRecord scope :remote, -> { where.not(domain: nil) } scope :local, -> { where(domain: nil) } scope :partitioned, -> { order(Arel.sql('row_number() over (partition by domain)')) } - scope :silenced, -> { where.not(silenced_at: nil) } scope :sensitized, -> { where.not(sensitized_at: nil) } - scope :without_silenced, -> { where(silenced_at: nil) } scope :without_instance_actor, -> { where.not(id: INSTANCE_ACTOR_ID) } scope :recent, -> { reorder(id: :desc) } scope :bots, -> { where(actor_type: AUTOMATED_ACTOR_TYPES) } @@ -244,18 +243,6 @@ def refresh! ResolveAccountService.new.call(acct) unless local? end - def silenced? - silenced_at.present? - end - - def silence!(date = Time.now.utc) - update!(silenced_at: date) - end - - def unsilence! - update!(silenced_at: nil) - end - def sensitized? sensitized_at.present? end diff --git a/app/models/concerns/account/silences.rb b/app/models/concerns/account/silences.rb new file mode 100644 index 00000000000000..bd785df311f8ef --- /dev/null +++ b/app/models/concerns/account/silences.rb @@ -0,0 +1,22 @@ +# frozen_string_literal: true + +module Account::Silences + extend ActiveSupport::Concern + + included do + scope :silenced, -> { where.not(silenced_at: nil) } + scope :without_silenced, -> { where(silenced_at: nil) } + end + + def silenced? + silenced_at.present? + end + + def silence!(date = Time.now.utc) + update!(silenced_at: date) + end + + def unsilence! + update!(silenced_at: nil) + end +end diff --git a/spec/models/account_spec.rb b/spec/models/account_spec.rb index 7a5deed599c5e4..77341b778644da 100644 --- a/spec/models/account_spec.rb +++ b/spec/models/account_spec.rb @@ -983,14 +983,6 @@ def account_note_over_limit end end - describe 'silenced' do - it 'returns an array of accounts who are silenced' do - silenced_account = Fabricate(:account, silenced: true) - _account = Fabricate(:account, silenced: false) - expect(described_class.silenced).to contain_exactly(silenced_account) - end - end - describe 'searchable' do let!(:suspended_local) { Fabricate(:account, suspended: true, username: 'suspended_local') } let!(:suspended_remote) { Fabricate(:account, suspended: true, domain: 'example.org', username: 'suspended_remote') } diff --git a/spec/models/concerns/account/silences_spec.rb b/spec/models/concerns/account/silences_spec.rb new file mode 100644 index 00000000000000..0d8337ce1d5863 --- /dev/null +++ b/spec/models/concerns/account/silences_spec.rb @@ -0,0 +1,18 @@ +# frozen_string_literal: true + +require 'rails_helper' + +RSpec.describe Account::Silences do + describe 'Scopes' do + describe '.silenced' do + let(:silenced_account) { Fabricate :account, silenced: true } + + before { Fabricate :account, silenced: false } + + it 'returns an array of accounts who are silenced' do + expect(Account.silenced) + .to contain_exactly(silenced_account) + end + end + end +end From c78dc23b497ae71e91c6362b91c57a4810715b72 Mon Sep 17 00:00:00 2001 From: Matt Jankowski Date: Mon, 11 Nov 2024 08:08:23 -0500 Subject: [PATCH 167/357] Move account sensitize-related methods to concern (#28865) --- app/models/account.rb | 14 +------------ app/models/concerns/account/sensitizes.rb | 21 +++++++++++++++++++ .../concerns/account/sensitizes_spec.rb | 18 ++++++++++++++++ 3 files changed, 40 insertions(+), 13 deletions(-) create mode 100644 app/models/concerns/account/sensitizes.rb create mode 100644 spec/models/concerns/account/sensitizes_spec.rb diff --git a/app/models/account.rb b/app/models/account.rb index 007fad7830d3f1..206529301e4b57 100644 --- a/app/models/account.rb +++ b/app/models/account.rb @@ -90,6 +90,7 @@ class Account < ApplicationRecord include Account::Interactions include Account::Merging include Account::Search + include Account::Sensitizes include Account::Silences include Account::StatusesSearch include Account::Suspensions @@ -130,7 +131,6 @@ class Account < ApplicationRecord scope :remote, -> { where.not(domain: nil) } scope :local, -> { where(domain: nil) } scope :partitioned, -> { order(Arel.sql('row_number() over (partition by domain)')) } - scope :sensitized, -> { where.not(sensitized_at: nil) } scope :without_instance_actor, -> { where.not(id: INSTANCE_ACTOR_ID) } scope :recent, -> { reorder(id: :desc) } scope :bots, -> { where(actor_type: AUTOMATED_ACTOR_TYPES) } @@ -243,18 +243,6 @@ def refresh! ResolveAccountService.new.call(acct) unless local? end - def sensitized? - sensitized_at.present? - end - - def sensitize!(date = Time.now.utc) - update!(sensitized_at: date) - end - - def unsensitize! - update!(sensitized_at: nil) - end - def memorialize! update!(memorial: true) end diff --git a/app/models/concerns/account/sensitizes.rb b/app/models/concerns/account/sensitizes.rb new file mode 100644 index 00000000000000..3bb74324a8dc42 --- /dev/null +++ b/app/models/concerns/account/sensitizes.rb @@ -0,0 +1,21 @@ +# frozen_string_literal: true + +module Account::Sensitizes + extend ActiveSupport::Concern + + included do + scope :sensitized, -> { where.not(sensitized_at: nil) } + end + + def sensitized? + sensitized_at.present? + end + + def sensitize!(date = Time.now.utc) + update!(sensitized_at: date) + end + + def unsensitize! + update!(sensitized_at: nil) + end +end diff --git a/spec/models/concerns/account/sensitizes_spec.rb b/spec/models/concerns/account/sensitizes_spec.rb new file mode 100644 index 00000000000000..3596c9a1261050 --- /dev/null +++ b/spec/models/concerns/account/sensitizes_spec.rb @@ -0,0 +1,18 @@ +# frozen_string_literal: true + +require 'rails_helper' + +RSpec.describe Account::Sensitizes do + describe 'Scopes' do + describe '.sensitized' do + let(:sensitized_account) { Fabricate :account, sensitized_at: 2.days.ago } + + before { Fabricate :account, sensitized_at: false } + + it 'returns an array of accounts who are sensitized' do + expect(Account.sensitized) + .to contain_exactly(sensitized_account) + end + end + end +end From 1ae5f84774239bc10b41839b126a714e8b37c185 Mon Sep 17 00:00:00 2001 From: Claire Date: Mon, 11 Nov 2024 16:11:24 +0100 Subject: [PATCH 168/357] Fix clicking on avatar/display opening status instead of profile (#2897) Fix regression from #2895 --- .../flavours/glitch/components/status.jsx | 39 ++++++++++--------- .../glitch/components/status_header.jsx | 11 ++---- 2 files changed, 24 insertions(+), 26 deletions(-) diff --git a/app/javascript/flavours/glitch/components/status.jsx b/app/javascript/flavours/glitch/components/status.jsx index ec572252b73d91..62b1b388fad8ee 100644 --- a/app/javascript/flavours/glitch/components/status.jsx +++ b/app/javascript/flavours/glitch/components/status.jsx @@ -372,26 +372,29 @@ class Status extends ImmutablePureComponent { const { isCollapsed } = this.state; if (!history) return; - if (e.button === 0 && !(e.ctrlKey || e.altKey || e.metaKey)) { - if (isCollapsed) this.setCollapsed(false); - else if (e.shiftKey) { - this.setCollapsed(true); - document.getSelection().removeAllRanges(); - } else if (this.props.onClick) { - this.props.onClick(); - return; - } else { - if (destination === undefined) { - destination = `/@${ - status.getIn(['reblog', 'account', 'acct'], status.getIn(['account', 'acct'])) - }/${ - status.getIn(['reblog', 'id'], status.get('id')) - }`; - } - history.push(destination); + if (e.button !== 0 || e.ctrlKey || e.altKey || e.metaKey) { + return; + } + + if (isCollapsed) this.setCollapsed(false); + else if (e.shiftKey) { + this.setCollapsed(true); + document.getSelection().removeAllRanges(); + } else if (this.props.onClick) { + this.props.onClick(); + return; + } else { + if (destination === undefined) { + destination = `/@${ + status.getIn(['reblog', 'account', 'acct'], status.getIn(['account', 'acct'])) + }/${ + status.getIn(['reblog', 'id'], status.get('id')) + }`; } - e.preventDefault(); + history.push(destination); } + + e.preventDefault(); }; handleToggleMediaVisibility = () => { diff --git a/app/javascript/flavours/glitch/components/status_header.jsx b/app/javascript/flavours/glitch/components/status_header.jsx index 5eeed3d41dcdae..dffffe4fb8512e 100644 --- a/app/javascript/flavours/glitch/components/status_header.jsx +++ b/app/javascript/flavours/glitch/components/status_header.jsx @@ -18,15 +18,10 @@ export default class StatusHeader extends PureComponent { parseClick: PropTypes.func.isRequired, }; - // Handles clicks on account name/image - handleClick = (acct, e) => { - const { parseClick } = this.props; - parseClick(e, `/@${acct}`); - }; - handleAccountClick = (e) => { - const { status } = this.props; - this.handleClick(status.getIn(['account', 'acct']), e); + const { status, parseClick } = this.props; + parseClick(e, `/@${status.getIn(['account', 'acct'])}`); + e.stopPropagation(); }; // Rendering. From aeae1520068c54cb51dd3a350276df393ef43149 Mon Sep 17 00:00:00 2001 From: Emelia Smith Date: Mon, 11 Nov 2024 20:56:28 +0100 Subject: [PATCH 169/357] Prevent Web::Push notification delivery if notification is outside of TTL window (#32842) --- app/workers/web/push_notification_worker.rb | 2 ++ 1 file changed, 2 insertions(+) diff --git a/app/workers/web/push_notification_worker.rb b/app/workers/web/push_notification_worker.rb index 824e7b59407d6b..3629904fa7f920 100644 --- a/app/workers/web/push_notification_worker.rb +++ b/app/workers/web/push_notification_worker.rb @@ -13,6 +13,8 @@ def perform(subscription_id, notification_id) @subscription = Web::PushSubscription.find(subscription_id) @notification = Notification.find(notification_id) + return if @notification.updated_at < TTL.ago + # Polymorphically associated activity could have been deleted # in the meantime, so we have to double-check before proceeding return unless @notification.activity.present? && @subscription.pushable?(@notification) From c099797700c5f84b83cf3096c1b58ef2adadb7d7 Mon Sep 17 00:00:00 2001 From: Matt Jankowski Date: Tue, 12 Nov 2024 03:28:31 -0500 Subject: [PATCH 170/357] Use `mastodon` config namespace to load software update default value via `config_for` (#30534) --- app/models/software_update.rb | 2 +- app/services/software_update_check_service.rb | 2 +- config/application.rb | 1 + config/mastodon.yml | 3 +++ config/navigation.rb | 6 +++++- .../system_check/software_version_check_spec.rb | 7 ++++--- .../services/software_update_check_service_spec.rb | 14 ++++++++------ 7 files changed, 23 insertions(+), 12 deletions(-) create mode 100644 config/mastodon.yml diff --git a/app/models/software_update.rb b/app/models/software_update.rb index 51a73c27311d9a..2cb935130a46a2 100644 --- a/app/models/software_update.rb +++ b/app/models/software_update.rb @@ -24,7 +24,7 @@ def gem_version class << self def check_enabled? - ENV['UPDATE_CHECK_URL'] != '' + Rails.configuration.x.mastodon.software_update_url.present? end def pending_to_a diff --git a/app/services/software_update_check_service.rb b/app/services/software_update_check_service.rb index 24a6955b8859ac..148f2692896bfb 100644 --- a/app/services/software_update_check_service.rb +++ b/app/services/software_update_check_service.rb @@ -27,7 +27,7 @@ def fetch_update_notices end def api_url - ENV.fetch('UPDATE_CHECK_URL', 'https://api.joinmastodon.org/update-check') + Rails.configuration.x.mastodon.software_update_url end def version diff --git a/config/application.rb b/config/application.rb index 18a1b1a0fdc688..cfeed02e983788 100644 --- a/config/application.rb +++ b/config/application.rb @@ -105,6 +105,7 @@ class Application < Rails::Application end config.x.captcha = config_for(:captcha) + config.x.mastodon = config_for(:mastodon) config.x.translation = config_for(:translation) config.to_prepare do diff --git a/config/mastodon.yml b/config/mastodon.yml new file mode 100644 index 00000000000000..255213b4b7a698 --- /dev/null +++ b/config/mastodon.yml @@ -0,0 +1,3 @@ +--- +shared: + software_update_url: <%= ENV.fetch('UPDATE_CHECK_URL', 'https://api.joinmastodon.org/update-check') %> diff --git a/config/navigation.rb b/config/navigation.rb index 7ec7ecb7e72794..bdda569092e703 100644 --- a/config/navigation.rb +++ b/config/navigation.rb @@ -6,7 +6,11 @@ navigation.items do |n| n.item :web, safe_join([material_symbol('chevron_left'), t('settings.back')]), root_path - n.item :software_updates, safe_join([material_symbol('report'), t('admin.critical_update_pending')]), admin_software_updates_path, if: -> { ENV['UPDATE_CHECK_URL'] != '' && current_user.can?(:view_devops) && SoftwareUpdate.urgent_pending? }, html: { class: 'warning' } + n.item :software_updates, + safe_join([material_symbol('report'), t('admin.critical_update_pending')]), + admin_software_updates_path, + if: -> { Rails.configuration.x.mastodon.software_update_url.present? && current_user.can?(:view_devops) && SoftwareUpdate.urgent_pending? }, + html: { class: 'warning' } n.item :profile, safe_join([material_symbol('person'), t('settings.profile')]), settings_profile_path, if: -> { current_user.functional? && !self_destruct }, highlights_on: %r{/settings/profile|/settings/featured_tags|/settings/verification|/settings/privacy} diff --git a/spec/lib/admin/system_check/software_version_check_spec.rb b/spec/lib/admin/system_check/software_version_check_spec.rb index 8460d9066881bf..75dc1a47329406 100644 --- a/spec/lib/admin/system_check/software_version_check_spec.rb +++ b/spec/lib/admin/system_check/software_version_check_spec.rb @@ -27,9 +27,10 @@ context 'when checks are disabled' do around do |example| - ClimateControl.modify UPDATE_CHECK_URL: '' do - example.run - end + original = Rails.configuration.x.mastodon.software_update_url + Rails.configuration.x.mastodon.software_update_url = '' + example.run + Rails.configuration.x.mastodon.software_update_url = original end it 'returns true' do diff --git a/spec/services/software_update_check_service_spec.rb b/spec/services/software_update_check_service_spec.rb index a1eb9d86e96a59..4098bd470a79c1 100644 --- a/spec/services/software_update_check_service_spec.rb +++ b/spec/services/software_update_check_service_spec.rb @@ -124,9 +124,10 @@ context 'when update checking is disabled' do around do |example| - ClimateControl.modify UPDATE_CHECK_URL: '' do - example.run - end + original = Rails.configuration.x.mastodon.software_update_url + Rails.configuration.x.mastodon.software_update_url = '' + example.run + Rails.configuration.x.mastodon.software_update_url = original end before do @@ -148,9 +149,10 @@ let(:update_check_url) { 'https://api.example.com/update_check' } around do |example| - ClimateControl.modify UPDATE_CHECK_URL: 'https://api.example.com/update_check' do - example.run - end + original = Rails.configuration.x.mastodon.software_update_url + Rails.configuration.x.mastodon.software_update_url = 'https://api.example.com/update_check' + example.run + Rails.configuration.x.mastodon.software_update_url = original end it_behaves_like 'when the feature is enabled' From 5a99ac3cfd234d61c9f23fe2a6c0a76da3c1a354 Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Tue, 12 Nov 2024 08:31:08 +0000 Subject: [PATCH 171/357] Update dependency aws-sdk-s3 to v1.170.1 (#32846) 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 1888485af08110..64abf4d77a3e60 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -106,7 +106,7 @@ GEM aws-sdk-kms (1.95.0) aws-sdk-core (~> 3, >= 3.210.0) aws-sigv4 (~> 1.5) - aws-sdk-s3 (1.170.0) + aws-sdk-s3 (1.170.1) aws-sdk-core (~> 3, >= 3.210.0) aws-sdk-kms (~> 1) aws-sigv4 (~> 1.5) From 67a2b03909a5ba459fdb5aff2a32fe396551ce29 Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Tue, 12 Nov 2024 09:32:43 +0100 Subject: [PATCH 172/357] Update dependency postcss-preset-env to v10.1.0 (#32835) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> --- yarn.lock | 218 ++++++++++++++++++++++++++++++------------------------ 1 file changed, 123 insertions(+), 95 deletions(-) diff --git a/yarn.lock b/yarn.lock index c4a35c93283cd3..db834ec39ea4b7 100644 --- a/yarn.lock +++ b/yarn.lock @@ -1480,26 +1480,26 @@ __metadata: languageName: node linkType: hard -"@csstools/css-calc@npm:^2.0.4": - version: 2.0.4 - resolution: "@csstools/css-calc@npm:2.0.4" +"@csstools/css-calc@npm:^2.1.0": + version: 2.1.0 + resolution: "@csstools/css-calc@npm:2.1.0" peerDependencies: "@csstools/css-parser-algorithms": ^3.0.4 "@csstools/css-tokenizer": ^3.0.3 - checksum: 10c0/ecb68fc9f8d930b861d5c9c5d4fc6eb43dabc619a4cd6c82dc18034ee746f907dba106fa6cdb909ac727fbfc9b1f7ceac1f356641542faeb2fab99c5fcd52a2e + checksum: 10c0/c707bb533a6ea63ed5bb4b8f1ffcbf3cd2daf970a6d76d42b684243426f5aa7513179a8f34d2e3c5a85df3870f44d3bc2850ca40b085c5fe00b41a291a2ecae2 languageName: node linkType: hard -"@csstools/css-color-parser@npm:^3.0.5": - version: 3.0.5 - resolution: "@csstools/css-color-parser@npm:3.0.5" +"@csstools/css-color-parser@npm:^3.0.6": + version: 3.0.6 + resolution: "@csstools/css-color-parser@npm:3.0.6" dependencies: "@csstools/color-helpers": "npm:^5.0.1" - "@csstools/css-calc": "npm:^2.0.4" + "@csstools/css-calc": "npm:^2.1.0" peerDependencies: "@csstools/css-parser-algorithms": ^3.0.4 "@csstools/css-tokenizer": ^3.0.3 - checksum: 10c0/535e2a38222ad7ee9e1143c3ef09ba07b2e70a4214bbdf7ca13398388b8d2db9ee295fe15d9d306342036e554d97dd235567a8c8ee03fea6825483f1c4dbbf7e + checksum: 10c0/7c4f42a704c8c44cece75f5dcd647a83634dec0f44d398ae1fbdc6e8527d4fbdc3a809eaaba3b739edf8e3c09d62c28234636f250f9b0b0d52a599e824c22047 languageName: node linkType: hard @@ -1551,33 +1551,33 @@ __metadata: languageName: node linkType: hard -"@csstools/postcss-color-function@npm:^4.0.5": - version: 4.0.5 - resolution: "@csstools/postcss-color-function@npm:4.0.5" +"@csstools/postcss-color-function@npm:^4.0.6": + version: 4.0.6 + resolution: "@csstools/postcss-color-function@npm:4.0.6" dependencies: - "@csstools/css-color-parser": "npm:^3.0.5" + "@csstools/css-color-parser": "npm:^3.0.6" "@csstools/css-parser-algorithms": "npm:^3.0.4" "@csstools/css-tokenizer": "npm:^3.0.3" "@csstools/postcss-progressive-custom-properties": "npm:^4.0.0" "@csstools/utilities": "npm:^2.0.0" peerDependencies: postcss: ^8.4 - checksum: 10c0/b47cc4567445eb12dd3e67a4298470d62a449a4d754fd4dd32eb78b23615ba6bd1fe8dacccc6c95087ce8749a6552bace8de0b9b6eee0c9a7b7202a0bcb8fcac + checksum: 10c0/facbae01fd58898a176219cfcffee9ffb06fb466a2c439fd28403819e48778b682621b86a69682c0f758c659f8ec5f14eca1a9612b12b8777a2198173f386b49 languageName: node linkType: hard -"@csstools/postcss-color-mix-function@npm:^3.0.5": - version: 3.0.5 - resolution: "@csstools/postcss-color-mix-function@npm:3.0.5" +"@csstools/postcss-color-mix-function@npm:^3.0.6": + version: 3.0.6 + resolution: "@csstools/postcss-color-mix-function@npm:3.0.6" dependencies: - "@csstools/css-color-parser": "npm:^3.0.5" + "@csstools/css-color-parser": "npm:^3.0.6" "@csstools/css-parser-algorithms": "npm:^3.0.4" "@csstools/css-tokenizer": "npm:^3.0.3" "@csstools/postcss-progressive-custom-properties": "npm:^4.0.0" "@csstools/utilities": "npm:^2.0.0" peerDependencies: postcss: ^8.4 - checksum: 10c0/a17d20dcc42d2c1ccd7a5ceb8d1413133ae9461bf973a9aad997a5782bf4cbbd847aef06accc20fa391ac6fbd44a1003e18c30a621d7c77052d4256fe39619aa + checksum: 10c0/66b906b2425ed137b1c2ef3d166036719ae69039668385dccce4e02bd91e41733b37dd3c884b74a2999067bfe8a8d8d1afa4082ef21a0bf044ba7e7fffb77e01 languageName: node linkType: hard @@ -1595,16 +1595,16 @@ __metadata: languageName: node linkType: hard -"@csstools/postcss-exponential-functions@npm:^2.0.4": - version: 2.0.4 - resolution: "@csstools/postcss-exponential-functions@npm:2.0.4" +"@csstools/postcss-exponential-functions@npm:^2.0.5": + version: 2.0.5 + resolution: "@csstools/postcss-exponential-functions@npm:2.0.5" dependencies: - "@csstools/css-calc": "npm:^2.0.4" + "@csstools/css-calc": "npm:^2.1.0" "@csstools/css-parser-algorithms": "npm:^3.0.4" "@csstools/css-tokenizer": "npm:^3.0.3" peerDependencies: postcss: ^8.4 - checksum: 10c0/b174faa8782b7b3f3a9636412f90963740ff033c6506acf662f002fa07f59b370eb23937dbe3f1a05d7df277373f662d6970237d34ae938cf282a0b8dbde9a47 + checksum: 10c0/8935cb69f70d7448aa5a3dcdfd188bdcfbc34e9a99131306947df8847126272773212011dcff85e10bcee4c9d01f94f7f8557ef93933122a0b82743185684ab1 languageName: node linkType: hard @@ -1620,46 +1620,46 @@ __metadata: languageName: node linkType: hard -"@csstools/postcss-gamut-mapping@npm:^2.0.5": - version: 2.0.5 - resolution: "@csstools/postcss-gamut-mapping@npm:2.0.5" +"@csstools/postcss-gamut-mapping@npm:^2.0.6": + version: 2.0.6 + resolution: "@csstools/postcss-gamut-mapping@npm:2.0.6" dependencies: - "@csstools/css-color-parser": "npm:^3.0.5" + "@csstools/css-color-parser": "npm:^3.0.6" "@csstools/css-parser-algorithms": "npm:^3.0.4" "@csstools/css-tokenizer": "npm:^3.0.3" peerDependencies: postcss: ^8.4 - checksum: 10c0/a9d7365bed5c323dddad06d53c137ef3508870e541c6275dbdf3a73a50d44437830c22fa62c510d9316441d1e9f3b5552730778d1b73d083422245673bd00dac + checksum: 10c0/8a3f012774ab261924cc9f3519caa87a25a6abcd70d78f622144d8e7126a687bddbdaa92995fc30f53355759cd5971e71ac099b6b8cb85c89d8ca86455588e3b languageName: node linkType: hard -"@csstools/postcss-gradients-interpolation-method@npm:^5.0.5": - version: 5.0.5 - resolution: "@csstools/postcss-gradients-interpolation-method@npm:5.0.5" +"@csstools/postcss-gradients-interpolation-method@npm:^5.0.6": + version: 5.0.6 + resolution: "@csstools/postcss-gradients-interpolation-method@npm:5.0.6" dependencies: - "@csstools/css-color-parser": "npm:^3.0.5" + "@csstools/css-color-parser": "npm:^3.0.6" "@csstools/css-parser-algorithms": "npm:^3.0.4" "@csstools/css-tokenizer": "npm:^3.0.3" "@csstools/postcss-progressive-custom-properties": "npm:^4.0.0" "@csstools/utilities": "npm:^2.0.0" peerDependencies: postcss: ^8.4 - checksum: 10c0/0ef258478270005ab3a879132dc6dbf2bf80788c79861515c826607953c551df1c2ef7005ba9592c31c6dad332d12ee247928a9fdd1569a51927a18a75dcc865 + checksum: 10c0/0d97be76837f972ea323b58189ded2310b618ad94b40777464d0d8ac050b557ca9fd1f20af5ada105d61574cc9d8c119ae0daf294a3aacaaa89926f864d9d674 languageName: node linkType: hard -"@csstools/postcss-hwb-function@npm:^4.0.5": - version: 4.0.5 - resolution: "@csstools/postcss-hwb-function@npm:4.0.5" +"@csstools/postcss-hwb-function@npm:^4.0.6": + version: 4.0.6 + resolution: "@csstools/postcss-hwb-function@npm:4.0.6" dependencies: - "@csstools/css-color-parser": "npm:^3.0.5" + "@csstools/css-color-parser": "npm:^3.0.6" "@csstools/css-parser-algorithms": "npm:^3.0.4" "@csstools/css-tokenizer": "npm:^3.0.3" "@csstools/postcss-progressive-custom-properties": "npm:^4.0.0" "@csstools/utilities": "npm:^2.0.0" peerDependencies: postcss: ^8.4 - checksum: 10c0/9ce0a66bf288c9ec7f1fc28323d56ec54d38a30cb2ab722d1afbd46ec070cc5e61121bacb503803cb00293fc5ed117269969ac21071d7f4ce94b385c96168445 + checksum: 10c0/e7bcc98095ef2873a7b1a7326f1618bbeecc1c78660b23805bbefd8ec067bf2f35f2a2d4675be51a02d2280046f36f74d55f6af78e3ce107b82624d1a421ffcf languageName: node linkType: hard @@ -1761,17 +1761,17 @@ __metadata: languageName: node linkType: hard -"@csstools/postcss-media-minmax@npm:^2.0.4": - version: 2.0.4 - resolution: "@csstools/postcss-media-minmax@npm:2.0.4" +"@csstools/postcss-media-minmax@npm:^2.0.5": + version: 2.0.5 + resolution: "@csstools/postcss-media-minmax@npm:2.0.5" dependencies: - "@csstools/css-calc": "npm:^2.0.4" + "@csstools/css-calc": "npm:^2.1.0" "@csstools/css-parser-algorithms": "npm:^3.0.4" "@csstools/css-tokenizer": "npm:^3.0.3" "@csstools/media-query-list-parser": "npm:^4.0.2" peerDependencies: postcss: ^8.4 - checksum: 10c0/f9fe1e99b83a0724250f9426335da6f13bfbc28be6d10ebfafbf037766fc5245240ec33be7e68c9c5b60c013fbc2fa0be96fbed0d41383c919ee9e6f1b8225ce + checksum: 10c0/0d17782076fcaba2c3c85bd769fc102d95809e9ee6141ad9de706ee116466cada62424fd68623c58cc2456771725291c356e550377ba73a102ab6fe628931e30 languageName: node linkType: hard @@ -1811,18 +1811,18 @@ __metadata: languageName: node linkType: hard -"@csstools/postcss-oklab-function@npm:^4.0.5": - version: 4.0.5 - resolution: "@csstools/postcss-oklab-function@npm:4.0.5" +"@csstools/postcss-oklab-function@npm:^4.0.6": + version: 4.0.6 + resolution: "@csstools/postcss-oklab-function@npm:4.0.6" dependencies: - "@csstools/css-color-parser": "npm:^3.0.5" + "@csstools/css-color-parser": "npm:^3.0.6" "@csstools/css-parser-algorithms": "npm:^3.0.4" "@csstools/css-tokenizer": "npm:^3.0.3" "@csstools/postcss-progressive-custom-properties": "npm:^4.0.0" "@csstools/utilities": "npm:^2.0.0" peerDependencies: postcss: ^8.4 - checksum: 10c0/a49e2ee60066f7da18316c7c80e5b2ced286ec962052f83c01f1952a1c5fe5b65ba9803a04698260125270a1dd47416f0b287a8f42e591f0d88c9a660ae844ce + checksum: 10c0/74ec74eb7171881deeff7a79e0dc696097fb53dcdcd9627d9559cd7be63f41adecec06c1e88ddd5d8a37f4705715d1c0c135ca2b001fb70fdc0b76ab1e491b66 languageName: node linkType: hard @@ -1837,18 +1837,31 @@ __metadata: languageName: node linkType: hard -"@csstools/postcss-relative-color-syntax@npm:^3.0.5": - version: 3.0.5 - resolution: "@csstools/postcss-relative-color-syntax@npm:3.0.5" +"@csstools/postcss-random-function@npm:^1.0.0": + version: 1.0.1 + resolution: "@csstools/postcss-random-function@npm:1.0.1" + dependencies: + "@csstools/css-calc": "npm:^2.1.0" + "@csstools/css-parser-algorithms": "npm:^3.0.4" + "@csstools/css-tokenizer": "npm:^3.0.3" + peerDependencies: + postcss: ^8.4 + checksum: 10c0/5e8f29c024aa6ed1f89ee8b9c8ece39c8e72602d63faa82d9684e3183828f01971cf2f760b7d5b773605d44a4ea661d6d4389ec03f7e21002f9aa9e8db613a61 + languageName: node + linkType: hard + +"@csstools/postcss-relative-color-syntax@npm:^3.0.6": + version: 3.0.6 + resolution: "@csstools/postcss-relative-color-syntax@npm:3.0.6" dependencies: - "@csstools/css-color-parser": "npm:^3.0.5" + "@csstools/css-color-parser": "npm:^3.0.6" "@csstools/css-parser-algorithms": "npm:^3.0.4" "@csstools/css-tokenizer": "npm:^3.0.3" "@csstools/postcss-progressive-custom-properties": "npm:^4.0.0" "@csstools/utilities": "npm:^2.0.0" peerDependencies: postcss: ^8.4 - checksum: 10c0/505da97e7b219095a9fb6fa0ad6c6a1358ce1f5debada00564e635e1aa11d034c588be9ce2f76263172a8d1bd07d90647fde826f4565de22dcfc0a76beb68ff1 + checksum: 10c0/207ae711831f8ae9170093dbea3727cd6f32ca31d22c1231b5b678592679eb49e329e87ea403714b8e10feb5b9137780364cc7e1e7d8cc4c90d47483a42132dc languageName: node linkType: hard @@ -1863,16 +1876,29 @@ __metadata: languageName: node linkType: hard -"@csstools/postcss-stepped-value-functions@npm:^4.0.4": - version: 4.0.4 - resolution: "@csstools/postcss-stepped-value-functions@npm:4.0.4" +"@csstools/postcss-sign-functions@npm:^1.0.0": + version: 1.0.0 + resolution: "@csstools/postcss-sign-functions@npm:1.0.0" dependencies: - "@csstools/css-calc": "npm:^2.0.4" + "@csstools/css-calc": "npm:^2.1.0" "@csstools/css-parser-algorithms": "npm:^3.0.4" "@csstools/css-tokenizer": "npm:^3.0.3" peerDependencies: postcss: ^8.4 - checksum: 10c0/c8413a855a5ee9ad5b800263545d24d1bbd815f5ae0693c7dfd10c5f5b47bae5a9d985efdb2c46b03194ed3cae39f3d82c3ccfde502dee0b35d620fa539906be + checksum: 10c0/ec745b2f1e714ffead43ade5964234dfc1750c3a71d2e29df862ab3f79ba4a1275187b270b4c226bbb1155bee8e9e63c35597b4f4cb3effaa632e5e07e422344 + languageName: node + linkType: hard + +"@csstools/postcss-stepped-value-functions@npm:^4.0.5": + version: 4.0.5 + resolution: "@csstools/postcss-stepped-value-functions@npm:4.0.5" + dependencies: + "@csstools/css-calc": "npm:^2.1.0" + "@csstools/css-parser-algorithms": "npm:^3.0.4" + "@csstools/css-tokenizer": "npm:^3.0.3" + peerDependencies: + postcss: ^8.4 + checksum: 10c0/76f1f60c24b9e6a80b044eb19f37c1816788a2335fbf7c25f3fbea1cd7104857f424a451dcff60e4f8841618c6b6ffa6091f8b840d6d5930c1c7100c2f8ae74b languageName: node linkType: hard @@ -1888,16 +1914,16 @@ __metadata: languageName: node linkType: hard -"@csstools/postcss-trigonometric-functions@npm:^4.0.4": - version: 4.0.4 - resolution: "@csstools/postcss-trigonometric-functions@npm:4.0.4" +"@csstools/postcss-trigonometric-functions@npm:^4.0.5": + version: 4.0.5 + resolution: "@csstools/postcss-trigonometric-functions@npm:4.0.5" dependencies: - "@csstools/css-calc": "npm:^2.0.4" + "@csstools/css-calc": "npm:^2.1.0" "@csstools/css-parser-algorithms": "npm:^3.0.4" "@csstools/css-tokenizer": "npm:^3.0.3" peerDependencies: postcss: ^8.4 - checksum: 10c0/344c07961d24894f315faebf43c0128167fb2e33964c70d0d39d99a051c045678511d7378959105d672c5286a5360fde28fe390cdebfe823f3949e3cd1d50c4e + checksum: 10c0/b8518c8b81da047448dcee12a5f3716dbc19671333387a4a673991a16f1a120441d2768de8a30ce1e2ef8d0d76509b9509f506ef1e8630da84834451414b23a3 languageName: node linkType: hard @@ -6714,10 +6740,10 @@ __metadata: languageName: node linkType: hard -"cssdb@npm:^8.1.2": - version: 8.1.2 - resolution: "cssdb@npm:8.1.2" - checksum: 10c0/056149e713a78921f56d9ef0cd734577cedb93c27966c3d0eab01956a2aa8d3c260a911766064b57ded8b4d9c55dd5275626cbb022ccd8d2d0b93b53fefd1603 +"cssdb@npm:^8.2.1": + version: 8.2.1 + resolution: "cssdb@npm:8.2.1" + checksum: 10c0/d27d7db0a39e1105181aac119a98d6c92cd5ceba2e8bd349cdf2ba4a8d9ead149b685a1dba9542ca24f094cc70eca4a3e02973fe1f74c11a373b508606e5e1c0 languageName: node linkType: hard @@ -13270,18 +13296,18 @@ __metadata: languageName: node linkType: hard -"postcss-color-functional-notation@npm:^7.0.5": - version: 7.0.5 - resolution: "postcss-color-functional-notation@npm:7.0.5" +"postcss-color-functional-notation@npm:^7.0.6": + version: 7.0.6 + resolution: "postcss-color-functional-notation@npm:7.0.6" dependencies: - "@csstools/css-color-parser": "npm:^3.0.5" + "@csstools/css-color-parser": "npm:^3.0.6" "@csstools/css-parser-algorithms": "npm:^3.0.4" "@csstools/css-tokenizer": "npm:^3.0.3" "@csstools/postcss-progressive-custom-properties": "npm:^4.0.0" "@csstools/utilities": "npm:^2.0.0" peerDependencies: postcss: ^8.4 - checksum: 10c0/5e1771b8a43abd3cb18142842e8ac100b205f37a6757d6686da49e0c61ecf33d09244d256f3802962105e7ef79fbde2dffbfc1eedf1700198c54d2d5e48f3dc1 + checksum: 10c0/15f6dfc9a24d6f5186fb054623a92bcf9e804f4eaa35b339551a8048cdb0c7bd2e4655fdbb09a0c9a89f854e9fb1d71e298e8749597660ac034e79bd0d38d7dd languageName: node linkType: hard @@ -13492,18 +13518,18 @@ __metadata: languageName: node linkType: hard -"postcss-lab-function@npm:^7.0.5": - version: 7.0.5 - resolution: "postcss-lab-function@npm:7.0.5" +"postcss-lab-function@npm:^7.0.6": + version: 7.0.6 + resolution: "postcss-lab-function@npm:7.0.6" dependencies: - "@csstools/css-color-parser": "npm:^3.0.5" + "@csstools/css-color-parser": "npm:^3.0.6" "@csstools/css-parser-algorithms": "npm:^3.0.4" "@csstools/css-tokenizer": "npm:^3.0.3" "@csstools/postcss-progressive-custom-properties": "npm:^4.0.0" "@csstools/utilities": "npm:^2.0.0" peerDependencies: postcss: ^8.4 - checksum: 10c0/b688f6332ac12974452c97c5a40f4d0a604ce16b074124a1106add9cf9c25fbe7717d23423d6e92d937dc6e288e03e885b70e0793b96f41d28d2f7403bce7bf5 + checksum: 10c0/8b8d498dbc939ee79737b29232b39d09cbda26cc92e8926fb74fe56a1bb05af1198e85a67a822f39cc69109ac6757a6ff7b20842ba5ffafce891abc9bc1c3c68 languageName: node linkType: hard @@ -13824,18 +13850,18 @@ __metadata: linkType: hard "postcss-preset-env@npm:^10.0.0": - version: 10.0.9 - resolution: "postcss-preset-env@npm:10.0.9" + version: 10.1.0 + resolution: "postcss-preset-env@npm:10.1.0" dependencies: "@csstools/postcss-cascade-layers": "npm:^5.0.1" - "@csstools/postcss-color-function": "npm:^4.0.5" - "@csstools/postcss-color-mix-function": "npm:^3.0.5" + "@csstools/postcss-color-function": "npm:^4.0.6" + "@csstools/postcss-color-mix-function": "npm:^3.0.6" "@csstools/postcss-content-alt-text": "npm:^2.0.4" - "@csstools/postcss-exponential-functions": "npm:^2.0.4" + "@csstools/postcss-exponential-functions": "npm:^2.0.5" "@csstools/postcss-font-format-keywords": "npm:^4.0.0" - "@csstools/postcss-gamut-mapping": "npm:^2.0.5" - "@csstools/postcss-gradients-interpolation-method": "npm:^5.0.5" - "@csstools/postcss-hwb-function": "npm:^4.0.5" + "@csstools/postcss-gamut-mapping": "npm:^2.0.6" + "@csstools/postcss-gradients-interpolation-method": "npm:^5.0.6" + "@csstools/postcss-hwb-function": "npm:^4.0.6" "@csstools/postcss-ic-unit": "npm:^4.0.0" "@csstools/postcss-initial": "npm:^2.0.0" "@csstools/postcss-is-pseudo-class": "npm:^5.0.1" @@ -13845,27 +13871,29 @@ __metadata: "@csstools/postcss-logical-overscroll-behavior": "npm:^2.0.0" "@csstools/postcss-logical-resize": "npm:^3.0.0" "@csstools/postcss-logical-viewport-units": "npm:^3.0.3" - "@csstools/postcss-media-minmax": "npm:^2.0.4" + "@csstools/postcss-media-minmax": "npm:^2.0.5" "@csstools/postcss-media-queries-aspect-ratio-number-values": "npm:^3.0.4" "@csstools/postcss-nested-calc": "npm:^4.0.0" "@csstools/postcss-normalize-display-values": "npm:^4.0.0" - "@csstools/postcss-oklab-function": "npm:^4.0.5" + "@csstools/postcss-oklab-function": "npm:^4.0.6" "@csstools/postcss-progressive-custom-properties": "npm:^4.0.0" - "@csstools/postcss-relative-color-syntax": "npm:^3.0.5" + "@csstools/postcss-random-function": "npm:^1.0.0" + "@csstools/postcss-relative-color-syntax": "npm:^3.0.6" "@csstools/postcss-scope-pseudo-class": "npm:^4.0.1" - "@csstools/postcss-stepped-value-functions": "npm:^4.0.4" + "@csstools/postcss-sign-functions": "npm:^1.0.0" + "@csstools/postcss-stepped-value-functions": "npm:^4.0.5" "@csstools/postcss-text-decoration-shorthand": "npm:^4.0.1" - "@csstools/postcss-trigonometric-functions": "npm:^4.0.4" + "@csstools/postcss-trigonometric-functions": "npm:^4.0.5" "@csstools/postcss-unset-value": "npm:^4.0.0" autoprefixer: "npm:^10.4.19" browserslist: "npm:^4.23.1" css-blank-pseudo: "npm:^7.0.1" css-has-pseudo: "npm:^7.0.1" css-prefers-color-scheme: "npm:^10.0.0" - cssdb: "npm:^8.1.2" + cssdb: "npm:^8.2.1" postcss-attribute-case-insensitive: "npm:^7.0.1" postcss-clamp: "npm:^4.1.0" - postcss-color-functional-notation: "npm:^7.0.5" + postcss-color-functional-notation: "npm:^7.0.6" postcss-color-hex-alpha: "npm:^10.0.0" postcss-color-rebeccapurple: "npm:^10.0.0" postcss-custom-media: "npm:^11.0.5" @@ -13878,7 +13906,7 @@ __metadata: postcss-font-variant: "npm:^5.0.0" postcss-gap-properties: "npm:^6.0.0" postcss-image-set-function: "npm:^7.0.0" - postcss-lab-function: "npm:^7.0.5" + postcss-lab-function: "npm:^7.0.6" postcss-logical: "npm:^8.0.0" postcss-nesting: "npm:^13.0.1" postcss-opacity-percentage: "npm:^3.0.0" @@ -13890,7 +13918,7 @@ __metadata: postcss-selector-not: "npm:^8.0.1" peerDependencies: postcss: ^8.4 - checksum: 10c0/985ef4cfd2dd6a94d8a802db8e392c4b4c47ae0de8fd5224c60d8172cac3d7ce9011e63ab80470cddc77f21f09b2be850f97ac2478f651bc0a8956b538b079fe + checksum: 10c0/bd157dbed38c3c125b3bf86f5437a8094539ec5bf24428487c7bbf29da393731e48053afc695494cc9dbe4d182cfe405c398fcf0b22eb326b6db395e7315f892 languageName: node linkType: hard From 90b5017c190b705b73b5d14488db8aec152da527 Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Tue, 12 Nov 2024 09:33:02 +0100 Subject: [PATCH 173/357] Update dependency postcss to v8.4.49 (#32831) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> --- yarn.lock | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/yarn.lock b/yarn.lock index db834ec39ea4b7..3da56cf38eef38 100644 --- a/yarn.lock +++ b/yarn.lock @@ -13079,10 +13079,10 @@ __metadata: languageName: node linkType: hard -"picocolors@npm:^1.0.0, picocolors@npm:^1.0.1, picocolors@npm:^1.1.0": - version: 1.1.0 - resolution: "picocolors@npm:1.1.0" - checksum: 10c0/86946f6032148801ef09c051c6fb13b5cf942eaf147e30ea79edb91dd32d700934edebe782a1078ff859fb2b816792e97ef4dab03d7f0b804f6b01a0df35e023 +"picocolors@npm:^1.0.0, picocolors@npm:^1.0.1, picocolors@npm:^1.1.1": + version: 1.1.1 + resolution: "picocolors@npm:1.1.1" + checksum: 10c0/e2e3e8170ab9d7c7421969adaa7e1b31434f789afb9b3f115f6b96d91945041ac3ceb02e9ec6fe6510ff036bcc0bf91e69a1772edc0b707e12b19c0f2d6bcf58 languageName: node linkType: hard @@ -14052,13 +14052,13 @@ __metadata: linkType: hard "postcss@npm:^8.2.15, postcss@npm:^8.4.24, postcss@npm:^8.4.47": - version: 8.4.47 - resolution: "postcss@npm:8.4.47" + version: 8.4.49 + resolution: "postcss@npm:8.4.49" dependencies: nanoid: "npm:^3.3.7" - picocolors: "npm:^1.1.0" + picocolors: "npm:^1.1.1" source-map-js: "npm:^1.2.1" - checksum: 10c0/929f68b5081b7202709456532cee2a145c1843d391508c5a09de2517e8c4791638f71dd63b1898dba6712f8839d7a6da046c72a5e44c162e908f5911f57b5f44 + checksum: 10c0/f1b3f17aaf36d136f59ec373459f18129908235e65dbdc3aee5eef8eba0756106f52de5ec4682e29a2eab53eb25170e7e871b3e4b52a8f1de3d344a514306be3 languageName: node linkType: hard From 88512220bbd21c49730ca676668c2b61d0a690f2 Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Tue, 12 Nov 2024 08:33:23 +0000 Subject: [PATCH 174/357] Update dependency @formatjs/cli to v6.3.8 (#32830) 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 3da56cf38eef38..665ebff051695f 100644 --- a/yarn.lock +++ b/yarn.lock @@ -2232,8 +2232,8 @@ __metadata: linkType: hard "@formatjs/cli@npm:^6.1.1": - version: 6.3.6 - resolution: "@formatjs/cli@npm:6.3.6" + version: 6.3.8 + resolution: "@formatjs/cli@npm:6.3.8" peerDependencies: "@glimmer/env": ^0.1.7 "@glimmer/reference": ^0.91.1 || ^0.92.0 @@ -2262,7 +2262,7 @@ __metadata: optional: true bin: formatjs: bin/formatjs - checksum: 10c0/55f10699644c8b879d7fcf38660e7d9b0642c5f40ca59076c25ba190f350b48d7edb7f3d8481cc6139d3a708ee73f877c2c0a7d1865f15e80a73667270c9b7e3 + checksum: 10c0/61fb0e56a2da26befad5ca6ff5a8bcf9c383d22634cf288f3cab5661bece7686e6f064adaa500954b37726a7745c73134b459d115d52c931b76d68d998c7b22d languageName: node linkType: hard From a34edc211f9f33ed0bd5a1891ef2d475a935b0e6 Mon Sep 17 00:00:00 2001 From: Emelia Smith Date: Tue, 12 Nov 2024 09:35:08 +0100 Subject: [PATCH 175/357] Add audit logging to Relays (#32819) --- app/controllers/admin/relays_controller.rb | 4 ++++ app/helpers/admin/action_logs_helper.rb | 2 ++ app/models/admin/action_log_filter.rb | 4 ++++ app/models/relay.rb | 4 ++++ config/locales/en.yml | 8 ++++++++ 5 files changed, 22 insertions(+) diff --git a/app/controllers/admin/relays_controller.rb b/app/controllers/admin/relays_controller.rb index c893802159b753..f05255adb6d59f 100644 --- a/app/controllers/admin/relays_controller.rb +++ b/app/controllers/admin/relays_controller.rb @@ -21,6 +21,7 @@ def create @relay = Relay.new(resource_params) if @relay.save + log_action :create, @relay @relay.enable! redirect_to admin_relays_path else @@ -31,18 +32,21 @@ def create def destroy authorize :relay, :update? @relay.destroy + log_action :destroy, @relay redirect_to admin_relays_path end def enable authorize :relay, :update? @relay.enable! + log_action :enable, @relay redirect_to admin_relays_path end def disable authorize :relay, :update? @relay.disable! + log_action :disable, @relay redirect_to admin_relays_path end diff --git a/app/helpers/admin/action_logs_helper.rb b/app/helpers/admin/action_logs_helper.rb index 51e28d8b4e9234..859f92468762ac 100644 --- a/app/helpers/admin/action_logs_helper.rb +++ b/app/helpers/admin/action_logs_helper.rb @@ -33,6 +33,8 @@ def log_target(log) else I18n.t('admin.action_logs.deleted_account') end + when 'Relay' + link_to log.human_identifier, admin_relays_path end end diff --git a/app/models/admin/action_log_filter.rb b/app/models/admin/action_log_filter.rb index 1f48e0a497731f..dfb7fd00ede906 100644 --- a/app/models/admin/action_log_filter.rb +++ b/app/models/admin/action_log_filter.rb @@ -31,6 +31,7 @@ class Admin::ActionLogFilter create_domain_block: { target_type: 'DomainBlock', action: 'create' }.freeze, create_email_domain_block: { target_type: 'EmailDomainBlock', action: 'create' }.freeze, create_ip_block: { target_type: 'IpBlock', action: 'create' }.freeze, + create_relay: { target_type: 'Relay', action: 'create' }.freeze, create_unavailable_domain: { target_type: 'UnavailableDomain', action: 'create' }.freeze, create_user_role: { target_type: 'UserRole', action: 'create' }.freeze, create_canonical_email_block: { target_type: 'CanonicalEmailBlock', action: 'create' }.freeze, @@ -40,6 +41,7 @@ class Admin::ActionLogFilter destroy_domain_allow: { target_type: 'DomainAllow', action: 'destroy' }.freeze, destroy_domain_block: { target_type: 'DomainBlock', action: 'destroy' }.freeze, destroy_ip_block: { target_type: 'IpBlock', action: 'destroy' }.freeze, + destroy_relay: { target_type: 'Relay', action: 'destroy' }.freeze, destroy_email_domain_block: { target_type: 'EmailDomainBlock', action: 'destroy' }.freeze, destroy_instance: { target_type: 'Instance', action: 'destroy' }.freeze, destroy_unavailable_domain: { target_type: 'UnavailableDomain', action: 'destroy' }.freeze, @@ -49,8 +51,10 @@ class Admin::ActionLogFilter 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, + disable_relay: { target_type: 'Relay', action: 'disable' }.freeze, enable_custom_emoji: { target_type: 'CustomEmoji', action: 'enable' }.freeze, enable_user: { target_type: 'User', action: 'enable' }.freeze, + enable_relay: { target_type: 'Relay', action: 'enable' }.freeze, memorialize_account: { target_type: 'Account', action: 'memorialize' }.freeze, promote_user: { target_type: 'User', action: 'promote' }.freeze, remove_avatar_user: { target_type: 'User', action: 'remove_avatar' }.freeze, diff --git a/app/models/relay.rb b/app/models/relay.rb index f652b4864b66c0..1a8fdebc7f588a 100644 --- a/app/models/relay.rb +++ b/app/models/relay.rb @@ -25,6 +25,10 @@ class Relay < ApplicationRecord alias enabled? accepted? + def to_log_human_identifier + inbox_url + end + def enable! activity_id = ActivityPub::TagManager.instance.generate_uri_for(nil) payload = Oj.dump(follow_activity(activity_id)) diff --git a/config/locales/en.yml b/config/locales/en.yml index e9c8822d5acb30..cf783338e258f8 100644 --- a/config/locales/en.yml +++ b/config/locales/en.yml @@ -187,6 +187,7 @@ en: create_domain_block: Create Domain Block create_email_domain_block: Create Email Domain Block create_ip_block: Create IP rule + create_relay: Create Relay create_unavailable_domain: Create Unavailable Domain create_user_role: Create Role demote_user: Demote User @@ -198,14 +199,17 @@ en: destroy_email_domain_block: Delete Email Domain Block destroy_instance: Purge Domain destroy_ip_block: Delete IP rule + destroy_relay: Delete Relay destroy_status: Delete Post destroy_unavailable_domain: Delete Unavailable Domain destroy_user_role: Destroy Role disable_2fa_user: Disable 2FA disable_custom_emoji: Disable Custom Emoji + disable_relay: Disable Relay disable_sign_in_token_auth_user: Disable Email Token Authentication for User disable_user: Disable User enable_custom_emoji: Enable Custom Emoji + enable_relay: Enable Relay enable_sign_in_token_auth_user: Enable Email Token Authentication for User enable_user: Enable User memorialize_account: Memorialize Account @@ -247,6 +251,7 @@ en: create_domain_block_html: "%{name} blocked domain %{target}" create_email_domain_block_html: "%{name} blocked email domain %{target}" create_ip_block_html: "%{name} created rule for IP %{target}" + create_relay_html: "%{name} created a relay %{target}" create_unavailable_domain_html: "%{name} stopped delivery to domain %{target}" create_user_role_html: "%{name} created %{target} role" demote_user_html: "%{name} demoted user %{target}" @@ -258,14 +263,17 @@ en: destroy_email_domain_block_html: "%{name} unblocked email domain %{target}" destroy_instance_html: "%{name} purged domain %{target}" destroy_ip_block_html: "%{name} deleted rule for IP %{target}" + destroy_relay_html: "%{name} deleted the relay %{target}" destroy_status_html: "%{name} removed post by %{target}" destroy_unavailable_domain_html: "%{name} resumed delivery to domain %{target}" destroy_user_role_html: "%{name} deleted %{target} role" disable_2fa_user_html: "%{name} disabled two factor requirement for user %{target}" disable_custom_emoji_html: "%{name} disabled emoji %{target}" + disable_relay_html: "%{name} disabled the relay %{target}" disable_sign_in_token_auth_user_html: "%{name} disabled email token authentication for %{target}" disable_user_html: "%{name} disabled login for user %{target}" enable_custom_emoji_html: "%{name} enabled emoji %{target}" + enable_relay_html: "%{name} enabled the relay %{target}" enable_sign_in_token_auth_user_html: "%{name} enabled email token authentication for %{target}" enable_user_html: "%{name} enabled login for user %{target}" memorialize_account_html: "%{name} turned %{target}'s account into a memoriam page" From 1f85ca2b0e6cf0b928f255271e1b1f491a41dc6d Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Tue, 12 Nov 2024 08:35:31 +0000 Subject: [PATCH 176/357] Update dependency react-select to v5.8.3 (#32817) 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 665ebff051695f..9e3ec41017fce9 100644 --- a/yarn.lock +++ b/yarn.lock @@ -14682,8 +14682,8 @@ __metadata: linkType: hard "react-select@npm:^5.7.3": - version: 5.8.2 - resolution: "react-select@npm:5.8.2" + version: 5.8.3 + resolution: "react-select@npm:5.8.3" dependencies: "@babel/runtime": "npm:^7.12.0" "@emotion/cache": "npm:^11.4.0" @@ -14697,7 +14697,7 @@ __metadata: peerDependencies: react: ^16.8.0 || ^17.0.0 || ^18.0.0 react-dom: ^16.8.0 || ^17.0.0 || ^18.0.0 - checksum: 10c0/3089b8bfb23f556a7b1de07ea654fc5f5976f531a731a0231bbcbc195afb9294c36f49d712712f2deefc13eb6d7ede4aa1d80cb45b80afd3e26fde2f09db35eb + checksum: 10c0/25aaf0ad964a31dcf991be8b9eb478f94b2ff5dfd2e74a894f692c6dec9247f6ded6258fbf875984d2ada5aeb0ee742b85c6a94f58fae89112e913526cfd0577 languageName: node linkType: hard From ea6d3ca8c10e37a98a687a4a922061973dbac1b7 Mon Sep 17 00:00:00 2001 From: Matt Jankowski Date: Tue, 12 Nov 2024 03:38:08 -0500 Subject: [PATCH 177/357] Define constants for sampling sizes in `AccountReachFinder` (#32805) --- app/lib/account_reach_finder.rb | 26 ++++++++++++++++++++++---- 1 file changed, 22 insertions(+), 4 deletions(-) diff --git a/app/lib/account_reach_finder.rb b/app/lib/account_reach_finder.rb index 481e254396e453..19464024a6e392 100644 --- a/app/lib/account_reach_finder.rb +++ b/app/lib/account_reach_finder.rb @@ -1,6 +1,10 @@ # frozen_string_literal: true class AccountReachFinder + RECENT_LIMIT = 2_000 + STATUS_LIMIT = 200 + STATUS_SINCE = 2.days + def initialize(account) @account = account end @@ -20,13 +24,27 @@ def reporters_inboxes end def recently_mentioned_inboxes - cutoff_id = Mastodon::Snowflake.id_at(2.days.ago, with_random: false) - recent_statuses = @account.statuses.recent.where(id: cutoff_id...).limit(200) - - Account.joins(:mentions).where(mentions: { status: recent_statuses }).inboxes.take(2000) + Account + .joins(:mentions) + .where(mentions: { status: recent_statuses }) + .inboxes + .take(RECENT_LIMIT) end def relay_inboxes Relay.enabled.pluck(:inbox_url) end + + def oldest_status_id + Mastodon::Snowflake + .id_at(STATUS_SINCE.ago, with_random: false) + end + + def recent_statuses + @account + .statuses + .recent + .where(id: oldest_status_id...) + .limit(STATUS_LIMIT) + end end From 0d06d70d114a9c25d8c68a284384b3d9a57288bb Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" <41898282+github-actions[bot]@users.noreply.github.com> Date: Tue, 12 Nov 2024 09:47:59 +0100 Subject: [PATCH 178/357] New Crowdin Translations (automated) (#32811) Co-authored-by: GitHub Actions --- app/javascript/mastodon/locales/be.json | 2 +- app/javascript/mastodon/locales/cy.json | 26 ++++++++-- app/javascript/mastodon/locales/da.json | 21 ++++++++ app/javascript/mastodon/locales/de.json | 10 ++-- app/javascript/mastodon/locales/el.json | 32 +++++++++++- app/javascript/mastodon/locales/es-AR.json | 24 ++++----- app/javascript/mastodon/locales/he.json | 20 ++++++++ app/javascript/mastodon/locales/hu.json | 20 ++++++++ app/javascript/mastodon/locales/it.json | 1 + app/javascript/mastodon/locales/ja.json | 20 ++++++++ app/javascript/mastodon/locales/pt-PT.json | 4 ++ app/javascript/mastodon/locales/sk.json | 5 ++ app/javascript/mastodon/locales/sq.json | 2 + app/javascript/mastodon/locales/sv.json | 22 ++++---- app/javascript/mastodon/locales/th.json | 8 +++ app/javascript/mastodon/locales/uk.json | 19 +++++++ app/javascript/mastodon/locales/zh-TW.json | 15 +++--- config/locales/doorkeeper.ro.yml | 14 +++++ config/locales/doorkeeper.sv.yml | 2 +- config/locales/el.yml | 1 + config/locales/lv.yml | 5 ++ config/locales/simple_form.ar.yml | 1 - config/locales/simple_form.ast.yml | 1 - config/locales/simple_form.be.yml | 1 - config/locales/simple_form.bg.yml | 1 - config/locales/simple_form.ca.yml | 2 +- config/locales/simple_form.cs.yml | 1 - config/locales/simple_form.cy.yml | 1 - config/locales/simple_form.da.yml | 2 +- config/locales/simple_form.el.yml | 1 - config/locales/simple_form.en-GB.yml | 1 - config/locales/simple_form.eo.yml | 2 +- config/locales/simple_form.es-AR.yml | 2 +- config/locales/simple_form.es-MX.yml | 2 +- config/locales/simple_form.es.yml | 2 +- config/locales/simple_form.et.yml | 1 - config/locales/simple_form.eu.yml | 1 - config/locales/simple_form.fa.yml | 1 - config/locales/simple_form.fr-CA.yml | 1 - config/locales/simple_form.fr.yml | 1 - config/locales/simple_form.fy.yml | 1 - config/locales/simple_form.ga.yml | 1 - config/locales/simple_form.gd.yml | 1 - config/locales/simple_form.ia.yml | 1 - config/locales/simple_form.ie.yml | 1 - config/locales/simple_form.io.yml | 1 - config/locales/simple_form.it.yml | 2 +- config/locales/simple_form.lad.yml | 1 - config/locales/simple_form.lt.yml | 1 - config/locales/simple_form.lv.yml | 3 +- config/locales/simple_form.ms.yml | 1 - config/locales/simple_form.my.yml | 1 - config/locales/simple_form.nn.yml | 1 - config/locales/simple_form.no.yml | 1 - config/locales/simple_form.pl.yml | 1 - config/locales/simple_form.pt-BR.yml | 1 - config/locales/simple_form.pt-PT.yml | 1 - config/locales/simple_form.ro.yml | 59 +++++++++++++++++++++- config/locales/simple_form.ru.yml | 1 - config/locales/simple_form.sl.yml | 1 - config/locales/simple_form.sr-Latn.yml | 1 - config/locales/simple_form.sr.yml | 1 - config/locales/simple_form.sv.yml | 1 - config/locales/simple_form.th.yml | 1 - config/locales/simple_form.zh-CN.yml | 2 +- config/locales/simple_form.zh-HK.yml | 1 - config/locales/sq.yml | 1 + config/locales/sv.yml | 14 ++--- 68 files changed, 307 insertions(+), 94 deletions(-) diff --git a/app/javascript/mastodon/locales/be.json b/app/javascript/mastodon/locales/be.json index 97d4dc4b4c9f98..06d86a0e85cb87 100644 --- a/app/javascript/mastodon/locales/be.json +++ b/app/javascript/mastodon/locales/be.json @@ -154,7 +154,7 @@ "compose_form.hashtag_warning": "Гэты допіс не будзе паказаны пад аніякім хэштэгам, бо ён не публічны. Толькі публічныя допісы можна знайсці па хэштэгу.", "compose_form.lock_disclaimer": "Ваш уліковы запіс не {locked}. Усе могуць падпісацца на вас, каб бачыць допісы толькі для падпісчыкаў.", "compose_form.lock_disclaimer.lock": "закрыты", - "compose_form.placeholder": "Што здарылася?", + "compose_form.placeholder": "Што ў вас новага?", "compose_form.poll.duration": "Працягласць апытання", "compose_form.poll.multiple": "Множны выбар", "compose_form.poll.option_placeholder": "Варыянт {number}", diff --git a/app/javascript/mastodon/locales/cy.json b/app/javascript/mastodon/locales/cy.json index 675f7a203ecbcd..ca83af9215cc3e 100644 --- a/app/javascript/mastodon/locales/cy.json +++ b/app/javascript/mastodon/locales/cy.json @@ -87,11 +87,29 @@ "alert.unexpected.title": "Wps!", "alt_text_badge.title": "Testun Amgen", "announcement.announcement": "Cyhoeddiad", + "annual_report.summary.archetype.booster": "Y hyrwyddwr", + "annual_report.summary.archetype.lurker": "Yr arsylwr", + "annual_report.summary.archetype.oracle": "Yr oracl", + "annual_report.summary.archetype.pollster": "Yr arholwr", + "annual_report.summary.archetype.replier": "Y sbardunwr", + "annual_report.summary.followers.followers": "dilynwyr", + "annual_report.summary.followers.total": "{count} cyfanswm", + "annual_report.summary.here_it_is": "Dyma eich {year} yn gryno:", + "annual_report.summary.highlighted_post.by_favourites": "postiad wedi'i ffefrynu fwyaf", + "annual_report.summary.highlighted_post.by_reblogs": "postiad wedi'i hybu fwyaf", + "annual_report.summary.highlighted_post.by_replies": "postiad gyda'r ymatebion mwyaf", + "annual_report.summary.highlighted_post.possessive": "{name}", + "annual_report.summary.most_used_app.most_used_app": "ap a ddefnyddiwyd fwyaf", + "annual_report.summary.most_used_hashtag.most_used_hashtag": "hashnod a ddefnyddiwyd fwyaf", + "annual_report.summary.new_posts.new_posts": "postiadau newydd", + "annual_report.summary.percentile.text": "Rydych chi yn y mwyaf o ddefnyddwyr Mastodon.", + "annual_report.summary.percentile.we_wont_tell_bernie": "Ni fyddwn yn dweud wrth Bernie.", + "annual_report.summary.thanks": "Diolch am fod yn rhan o Mastodon!", "attachments_list.unprocessed": "(heb eu prosesu)", "audio.hide": "Cuddio sain", "block_modal.remote_users_caveat": "Byddwn yn gofyn i'r gweinydd {domain} barchu eich penderfyniad. Fodd bynnag, nid yw cydymffurfiad wedi'i warantu gan y gall rhai gweinyddwyr drin rhwystro mewn ffyrdd gwahanol. Mae'n bosibl y bydd postiadau cyhoeddus yn dal i fod yn weladwy i ddefnyddwyr nad ydynt wedi mewngofnodi.", "block_modal.show_less": "Dangos llai", - "block_modal.show_more": "Dangos mwy", + "block_modal.show_more": "Dangos rhagor", "block_modal.they_cant_mention": "Nid ydynt yn gallu eich crybwyll na'ch dilyn.", "block_modal.they_cant_see_posts": "Nid ydynt yn gallu gweld eich postiadau ac ni fyddwch yn gweld eu rhai hwy.", "block_modal.they_will_know": "Gallant weld eu bod wedi'u rhwystro.", @@ -163,9 +181,9 @@ "compose_form.poll.switch_to_single": "Newid pleidlais i gyfyngu i un dewis", "compose_form.poll.type": "Arddull", "compose_form.publish": "Postiad", - "compose_form.publish_form": "Cyhoeddi", + "compose_form.publish_form": "Postiad newydd", "compose_form.reply": "Ateb", - "compose_form.save_changes": "Diweddariad", + "compose_form.save_changes": "Diweddaru", "compose_form.spoiler.marked": "Dileu rhybudd cynnwys", "compose_form.spoiler.unmarked": "Ychwanegu rhybudd cynnwys", "compose_form.spoiler_placeholder": "Rhybudd cynnwys (dewisol)", @@ -508,6 +526,8 @@ "notification.admin.report_statuses_other": "Adroddodd {name} {target}", "notification.admin.sign_up": "Cofrestrodd {name}", "notification.admin.sign_up.name_and_others": "Cofrestrodd {name} {count, plural, one {ac # arall} other {a # arall}}", + "notification.annual_report.message": "Mae eich #Wrapstodon {year} yn aros i chi! Gwelwch eich uchafbwyntiau ac amseroedd i'w cofio o'r flwyddyn hon ar Mastodon!", + "notification.annual_report.view": "Gweld #Wrapstodon", "notification.favourite": "Ffafriodd {name} eich postiad", "notification.favourite.name_and_others_with_link": "Ffafriodd {name} a {count, plural, one {# arall} other {# arall}} eich postiad", "notification.follow": "Dilynodd {name} chi", diff --git a/app/javascript/mastodon/locales/da.json b/app/javascript/mastodon/locales/da.json index 55315764479eb8..927d0a7cb834d4 100644 --- a/app/javascript/mastodon/locales/da.json +++ b/app/javascript/mastodon/locales/da.json @@ -87,6 +87,24 @@ "alert.unexpected.title": "Ups!", "alt_text_badge.title": "Alt text", "announcement.announcement": "Bekendtgørelse", + "annual_report.summary.archetype.booster": "Cool-hunter", + "annual_report.summary.archetype.lurker": "Lurker", + "annual_report.summary.archetype.oracle": "Oracle", + "annual_report.summary.archetype.pollster": "Pollster", + "annual_report.summary.archetype.replier": "Social butterfly", + "annual_report.summary.followers.followers": "følgere", + "annual_report.summary.followers.total": "{count} i alt", + "annual_report.summary.here_it_is": "Her er {year} i sammendrag:", + "annual_report.summary.highlighted_post.by_favourites": "mest favoritmarkerede indlæg", + "annual_report.summary.highlighted_post.by_reblogs": "mest boostede indlæg", + "annual_report.summary.highlighted_post.by_replies": "indlæg med flest svar", + "annual_report.summary.highlighted_post.possessive": "{name}s", + "annual_report.summary.most_used_app.most_used_app": "mest benyttede app", + "annual_report.summary.most_used_hashtag.most_used_hashtag": "mest benyttede hashtag", + "annual_report.summary.new_posts.new_posts": "nye indlæg", + "annual_report.summary.percentile.text": "Det betyder, at man er i topaf Mastodon-brugere.", + "annual_report.summary.percentile.we_wont_tell_bernie": "Vi fortæller det ikke til Bernie.", + "annual_report.summary.thanks": "Tak for at være en del af Mastodon!", "attachments_list.unprocessed": "(ubehandlet)", "audio.hide": "Skjul lyd", "block_modal.remote_users_caveat": "Serveren {domain} vil blive bedt om at respektere din beslutning. Overholdelse er dog ikke garanteret, da nogle servere kan håndtere blokke forskelligt. Offentlige indlæg kan stadig være synlige for ikke-indloggede brugere.", @@ -158,6 +176,7 @@ "compose_form.poll.duration": "Afstemningens varighed", "compose_form.poll.multiple": "Multivalg", "compose_form.poll.option_placeholder": "Valgmulighed {number}", + "compose_form.poll.single": "Enkeltvalg", "compose_form.poll.switch_to_multiple": "Ændr afstemning til flervalgstype", "compose_form.poll.switch_to_single": "Ændr afstemning til enkeltvalgstype", "compose_form.poll.type": "Stil", @@ -507,6 +526,8 @@ "notification.admin.report_statuses_other": "{name} anmeldte {target}", "notification.admin.sign_up": "{name} tilmeldte sig", "notification.admin.sign_up.name_and_others": "{name} og {count, plural, one {# anden} other {# andre}} tilmeldte sig", + "notification.annual_report.message": "{year} #Wrapstodon venter! Afslør årets højdepunkter og mindeværdige øjeblikke på Mastodon!", + "notification.annual_report.view": "Vis #Wrapstodon", "notification.favourite": "{name} favoritmarkerede dit indlæg", "notification.favourite.name_and_others_with_link": "{name} og {count, plural, one {# anden} other {# andre}} gjorde dit indlæg til favorit", "notification.follow": "{name} begyndte at følge dig", diff --git a/app/javascript/mastodon/locales/de.json b/app/javascript/mastodon/locales/de.json index d048a191e39adf..e7679a363cd264 100644 --- a/app/javascript/mastodon/locales/de.json +++ b/app/javascript/mastodon/locales/de.json @@ -525,15 +525,15 @@ "notification.admin.report_statuses": "{name} meldete {target} wegen {category}", "notification.admin.report_statuses_other": "{name} meldete {target}", "notification.admin.sign_up": "{name} registrierte sich", - "notification.admin.sign_up.name_and_others": "{name} und {count, plural, one {# weitere Person} other {# weitere Personen}} registrierten sich", + "notification.admin.sign_up.name_and_others": "{name} und {count, plural, one {# weiteres Profil} other {# weitere Profile}} registrierten sich", "notification.annual_report.message": "Dein {year} #Wrapstodon erwartet dich! Lass deine Highlights und unvergesslichen Momente auf Mastodon erneut aufleben!", "notification.annual_report.view": "#Wrapstodon ansehen", "notification.favourite": "{name} favorisierte deinen Beitrag", - "notification.favourite.name_and_others_with_link": "{name} und {count, plural, one {# weitere Person} other {# weitere Personen}} favorisierten deinen Beitrag", + "notification.favourite.name_and_others_with_link": "{name} und {count, plural, one {# weiteres Profil} other {# weitere Profile}} favorisierten deinen Beitrag", "notification.follow": "{name} folgt dir", - "notification.follow.name_and_others": "{name} und {count, plural, one {# weitere Person} other {# weitere Personen}} folgen dir", + "notification.follow.name_and_others": "{name} und {count, plural, one {# weiteres Profil} other {# weitere Profile}} folgen dir", "notification.follow_request": "{name} möchte dir folgen", - "notification.follow_request.name_and_others": "{name} und {count, plural, one {# weitere Person} other {# weitere Personen}} möchten dir folgen", + "notification.follow_request.name_and_others": "{name} und {count, plural, one {# weiteres Profil} other {# weitere Profile}} möchten dir folgen", "notification.label.mention": "Erwähnung", "notification.label.private_mention": "Private Erwähnung", "notification.label.private_reply": "Private Antwort", @@ -552,7 +552,7 @@ "notification.own_poll": "Deine Umfrage ist beendet", "notification.poll": "Eine Umfrage, an der du teilgenommen hast, ist beendet", "notification.reblog": "{name} teilte deinen Beitrag", - "notification.reblog.name_and_others_with_link": "{name} und {count, plural, one {# weitere Person} other {# weitere Personen}} teilten deinen Beitrag", + "notification.reblog.name_and_others_with_link": "{name} und {count, plural, one {# weiteres Profil} other {# weitere Profile}} teilten deinen Beitrag", "notification.relationships_severance_event": "Verbindungen mit {name} verloren", "notification.relationships_severance_event.account_suspension": "Ein Admin von {from} hat {target} gesperrt. Du wirst von diesem Profil keine Updates mehr erhalten und auch nicht mit ihm interagieren können.", "notification.relationships_severance_event.domain_block": "Ein Admin von {from} hat {target} blockiert – darunter {followersCount} deiner Follower und {followingCount, plural, one {# Konto, dem} other {# Konten, denen}} du folgst.", diff --git a/app/javascript/mastodon/locales/el.json b/app/javascript/mastodon/locales/el.json index 40517f8340901c..2920968e6ac000 100644 --- a/app/javascript/mastodon/locales/el.json +++ b/app/javascript/mastodon/locales/el.json @@ -87,6 +87,24 @@ "alert.unexpected.title": "Ουπς!", "alt_text_badge.title": "Εναλλακτικό κείμενο", "announcement.announcement": "Ανακοίνωση", + "annual_report.summary.archetype.booster": "Ο κυνηγός των φοβερών", + "annual_report.summary.archetype.lurker": "Ο διακριτικός", + "annual_report.summary.archetype.oracle": "Η Πυθία", + "annual_report.summary.archetype.pollster": "Ο δημοσκόπος", + "annual_report.summary.archetype.replier": "Η κοινωνική πεταλούδα", + "annual_report.summary.followers.followers": "ακόλουθοι", + "annual_report.summary.followers.total": "{count} συνολικά", + "annual_report.summary.here_it_is": "Εδώ είναι το {year} σου σε ανασκόπηση:", + "annual_report.summary.highlighted_post.by_favourites": "πιο αγαπημένη ανάρτηση", + "annual_report.summary.highlighted_post.by_reblogs": "πιο ενισχυμένη ανάρτηση", + "annual_report.summary.highlighted_post.by_replies": "ανάρτηση με τις περισσότερες απαντήσεις", + "annual_report.summary.highlighted_post.possessive": "του χρήστη {name}", + "annual_report.summary.most_used_app.most_used_app": "πιο χρησιμοποιημένη εφαρμογή", + "annual_report.summary.most_used_hashtag.most_used_hashtag": "πιο χρησιμοποιημένη ετικέτα", + "annual_report.summary.new_posts.new_posts": "νέες αναρτήσεις", + "annual_report.summary.percentile.text": "Αυτό σε βάζει στην κορυφή του των χρηστών του Mastodon.", + "annual_report.summary.percentile.we_wont_tell_bernie": "Δεν θα το πούμε στον Bernie.", + "annual_report.summary.thanks": "Ευχαριστούμε που συμμετέχεις στο Mastodon!", "attachments_list.unprocessed": "(μη επεξεργασμένο)", "audio.hide": "Απόκρυψη αρχείου ήχου", "block_modal.remote_users_caveat": "Θα ζητήσουμε από τον διακομιστή {domain} να σεβαστεί την απόφασή σου. Ωστόσο, η συμμόρφωση δεν είναι εγγυημένη δεδομένου ότι ορισμένοι διακομιστές ενδέχεται να χειρίζονται τους αποκλεισμούς διαφορετικά. Οι δημόσιες αναρτήσεις ενδέχεται να είναι ορατές σε μη συνδεδεμένους χρήστες.", @@ -158,6 +176,7 @@ "compose_form.poll.duration": "Διάρκεια δημοσκόπησης", "compose_form.poll.multiple": "Πολλαπλή επιλογή", "compose_form.poll.option_placeholder": "Επιλογή {number}", + "compose_form.poll.single": "Μονή επιλογή", "compose_form.poll.switch_to_multiple": "Ενημέρωση δημοσκόπησης με πολλαπλές επιλογές", "compose_form.poll.switch_to_single": "Ενημέρωση δημοσκόπησης με μοναδική επιλογή", "compose_form.poll.type": "Στυλ", @@ -196,6 +215,7 @@ "confirmations.unfollow.title": "Άρση ακολούθησης;", "content_warning.hide": "Απόκρυψη ανάρτησης", "content_warning.show": "Εμφάνιση ούτως ή άλλως", + "content_warning.show_more": "Εμφάνιση περισσότερων", "conversation.delete": "Διαγραφή συζήτησης", "conversation.mark_as_read": "Σήμανση ως αναγνωσμένο", "conversation.open": "Προβολή συνομιλίας", @@ -304,6 +324,7 @@ "filter_modal.select_filter.subtitle": "Χρησιμοποιήστε μια υπάρχουσα κατηγορία ή δημιουργήστε μια νέα", "filter_modal.select_filter.title": "Φιλτράρισμα αυτής της ανάρτησης", "filter_modal.title.status": "Φιλτράρισμα μιας ανάρτησης", + "filter_warning.matches_filter": "Ταιριάζει με το φίλτρο “{title}”", "filtered_notifications_banner.pending_requests": "Από {count, plural, =0 {κανένα} one {ένα άτομο} other {# άτομα}} που μπορεί να ξέρεις", "filtered_notifications_banner.title": "Φιλτραρισμένες ειδοποιήσεις", "firehose.all": "Όλα", @@ -383,9 +404,10 @@ "interaction_modal.description.follow": "Με έναν λογαριασμό Mastodon, μπορείς να ακολουθήσεις τον/την {name} ώστε να λαμβάνεις τις αναρτήσεις του/της στη δική σου ροή.", "interaction_modal.description.reblog": "Με ένα λογαριασμό Mastodon, μπορείς να ενισχύσεις αυτή την ανάρτηση για να τη μοιραστείς με τους δικούς σου ακολούθους.", "interaction_modal.description.reply": "Με ένα λογαριασμό Mastodon, μπορείς να απαντήσεις σε αυτή την ανάρτηση.", - "interaction_modal.login.action": "Take me home\nΠήγαινέ με στην αρχική σελίδα", + "interaction_modal.description.vote": "Με ένα λογαριασμό Mastodon, μπορείς να απαντήσεις σ' αυτή την ανάρτηση.", + "interaction_modal.login.action": "Πήγαινέ με στην αρχική σελίδα", "interaction_modal.login.prompt": "Τομέας του οικιακού σου διακομιστή, πχ. mastodon.social", - "interaction_modal.no_account_yet": "Not on Mastodon?\nΔεν είστε στο Mastodon;", + "interaction_modal.no_account_yet": "Δεν είστε στο Mastodon;", "interaction_modal.on_another_server": "Σε διαφορετικό διακομιστή", "interaction_modal.on_this_server": "Σε αυτόν τον διακομιστή", "interaction_modal.sign_in": "Δεν είσαι συνδεδεμένος σε αυτόν το διακομιστή. Πού φιλοξενείται ο λογαριασμός σου;", @@ -394,6 +416,7 @@ "interaction_modal.title.follow": "Ακολούθησε {name}", "interaction_modal.title.reblog": "Ενίσχυσε την ανάρτηση του {name}", "interaction_modal.title.reply": "Απάντηση στην ανάρτηση του {name}", + "interaction_modal.title.vote": "Ψήφισε στη δημοσκόπηση του χρήστη {name}", "intervals.full.days": "{number, plural, one {# μέρα} other {# μέρες}}", "intervals.full.hours": "{number, plural, one {# ώρα} other {# ώρες}}", "intervals.full.minutes": "{number, plural, one {# λεπτό} other {# λεπτά}}", @@ -503,9 +526,12 @@ "notification.admin.report_statuses_other": "Ο χρήστης {name} ανέφερε τον χρήστη {target}", "notification.admin.sign_up": "{name} έχει εγγραφεί", "notification.admin.sign_up.name_and_others": "{name} και {count, plural, one {# ακόμη} other {# ακόμη}} έχουν εγγραφεί", + "notification.annual_report.message": "Το #Wrapstodon {year} σε περιμένει! Αποκάλυψε τα στιγμιότυπα της χρονιάς και αξέχαστες στιγμές σου στο Mastodon!", + "notification.annual_report.view": "Προβολή #Wrapstodon", "notification.favourite": "{name} favorited your post\n{name} προτίμησε την ανάρτηση σου", "notification.favourite.name_and_others_with_link": "{name} και {count, plural, one {# ακόμη} other {# ακόμη}} αγάπησαν την ανάρτησή σου", "notification.follow": "Ο/Η {name} σε ακολούθησε", + "notification.follow.name_and_others": "Ο χρήστης {name} και {count, plural, one {# ακόμη} other {# ακόμη}} σε ακολούθησαν", "notification.follow_request": "Ο/H {name} ζήτησε να σε ακολουθήσει", "notification.follow_request.name_and_others": "{name} και {count, plural, one {# άλλος} other {# άλλοι}} ζήτησαν να σε ακολουθήσουν", "notification.label.mention": "Επισήμανση", @@ -513,6 +539,7 @@ "notification.label.private_reply": "Ιδιωτική απάντηση", "notification.label.reply": "Απάντηση", "notification.mention": "Επισήμανση", + "notification.mentioned_you": "Ο χρήστης {name} σε επισήμανε", "notification.moderation-warning.learn_more": "Μάθε περισσότερα", "notification.moderation_warning": "Έχετε λάβει μία προειδοποίηση συντονισμού", "notification.moderation_warning.action_delete_statuses": "Ορισμένες από τις αναρτήσεις σου έχουν αφαιρεθεί.", @@ -563,6 +590,7 @@ "notifications.column_settings.filter_bar.category": "Μπάρα γρήγορου φίλτρου", "notifications.column_settings.follow": "Νέοι ακόλουθοι:", "notifications.column_settings.follow_request": "Νέο αίτημα ακολούθησης:", + "notifications.column_settings.group": "Ομάδα", "notifications.column_settings.mention": "Επισημάνσεις:", "notifications.column_settings.poll": "Αποτελέσματα δημοσκόπησης:", "notifications.column_settings.push": "Ειδοποιήσεις Push", diff --git a/app/javascript/mastodon/locales/es-AR.json b/app/javascript/mastodon/locales/es-AR.json index a556d90e33b3db..9dc7b0d6c0a093 100644 --- a/app/javascript/mastodon/locales/es-AR.json +++ b/app/javascript/mastodon/locales/es-AR.json @@ -87,22 +87,22 @@ "alert.unexpected.title": "¡Epa!", "alt_text_badge.title": "Texto alternativo", "announcement.announcement": "Anuncio", - "annual_report.summary.archetype.booster": "El cazador de tendencias", + "annual_report.summary.archetype.booster": "Corrió la voz", "annual_report.summary.archetype.lurker": "El acechador", "annual_report.summary.archetype.oracle": "El oráculo", - "annual_report.summary.archetype.pollster": "El encuestador", - "annual_report.summary.archetype.replier": "El más sociable", + "annual_report.summary.archetype.pollster": "Estuvo consultando", + "annual_report.summary.archetype.replier": "Respondió un montón", "annual_report.summary.followers.followers": "seguidores", "annual_report.summary.followers.total": "{count} en total", - "annual_report.summary.here_it_is": "Aquí está tu resumen de {year}:", - "annual_report.summary.highlighted_post.by_favourites": "publicación con más favoritos", - "annual_report.summary.highlighted_post.by_reblogs": "publicación más impulsada", - "annual_report.summary.highlighted_post.by_replies": "publicación con más respuestas", - "annual_report.summary.highlighted_post.possessive": "de {name}", - "annual_report.summary.most_used_app.most_used_app": "aplicación más usada", - "annual_report.summary.most_used_hashtag.most_used_hashtag": "etiqueta más usada", - "annual_report.summary.new_posts.new_posts": "nuevas publicaciones", - "annual_report.summary.percentile.text": "Eso te pone en el topde usuarios de Mastodon.", + "annual_report.summary.here_it_is": "Acá está tu resumen de {year}:", + "annual_report.summary.highlighted_post.by_favourites": "el mensaje más veces marcado como favorito", + "annual_report.summary.highlighted_post.by_reblogs": "el mensaje que más adhesiones recibió", + "annual_report.summary.highlighted_post.by_replies": "el mensaje que más respuestas recibió", + "annual_report.summary.highlighted_post.possessive": "{name}", + "annual_report.summary.most_used_app.most_used_app": "la aplicación más usada", + "annual_report.summary.most_used_hashtag.most_used_hashtag": "la etiqueta más usada", + "annual_report.summary.new_posts.new_posts": "nuevos mensajes", + "annual_report.summary.percentile.text": "Eso te pone en la cimade los usuarios de Mastodon.", "annual_report.summary.percentile.we_wont_tell_bernie": "No se lo diremos a Bernie.", "annual_report.summary.thanks": "¡Gracias por ser parte de Mastodon!", "attachments_list.unprocessed": "[sin procesar]", diff --git a/app/javascript/mastodon/locales/he.json b/app/javascript/mastodon/locales/he.json index ed08a9aba3e570..48ea869dd2f11c 100644 --- a/app/javascript/mastodon/locales/he.json +++ b/app/javascript/mastodon/locales/he.json @@ -87,6 +87,24 @@ "alert.unexpected.title": "אופס!", "alt_text_badge.title": "כיתוב חלופי", "announcement.announcement": "הכרזה", + "annual_report.summary.archetype.booster": "ההד-וניסט(ית)", + "annual_report.summary.archetype.lurker": "השורץ.ת השקט.ה", + "annual_report.summary.archetype.oracle": "כבוד הרב.ה", + "annual_report.summary.archetype.pollster": "הסקרן.ית", + "annual_report.summary.archetype.replier": "הפרפר.ית החברתי.ת", + "annual_report.summary.followers.followers": "עוקבים", + "annual_report.summary.followers.total": "{count} בסך הכל", + "annual_report.summary.here_it_is": "והנה סיכום {year} שלך:", + "annual_report.summary.highlighted_post.by_favourites": "התות הכי מחובב", + "annual_report.summary.highlighted_post.by_reblogs": "התות הכי מהודהד", + "annual_report.summary.highlighted_post.by_replies": "התות עם מספר התשובות הגבוה ביותר", + "annual_report.summary.highlighted_post.possessive": "של {name}", + "annual_report.summary.most_used_app.most_used_app": "היישומון שהכי בשימוש", + "annual_report.summary.most_used_hashtag.most_used_hashtag": "התג בשימוש הרב ביותר", + "annual_report.summary.new_posts.new_posts": "הודעות חדשות", + "annual_report.summary.percentile.text": "ממקם אותך באחוזון של משמשי מסטודון.", + "annual_report.summary.percentile.we_wont_tell_bernie": "לא נגלה לברני.", + "annual_report.summary.thanks": "תודה על היותך חלק ממסטודון!", "attachments_list.unprocessed": "(לא מעובד)", "audio.hide": "השתק", "block_modal.remote_users_caveat": "אנו נבקש מהשרת {domain} לכבד את החלטתך. עם זאת, ציות למוסכמות איננו מובטח כיוון ששרתים מסויימים עשויים לטפל בחסימות בצורה אחרת. הודעות פומביות עדיין יהיו גלויות לעיני משתמשים שאינם מחוברים.", @@ -508,6 +526,8 @@ "notification.admin.report_statuses_other": "{name} דיווח.ה על {target}", "notification.admin.sign_up": "{name} נרשמו", "notification.admin.sign_up.name_and_others": "{name} ועוד {count, plural,one {אחד אחר}other {# אחרים}} נרשמו", + "notification.annual_report.message": "ה- #סיכומודון שלך לשנת {year} מחכה! גלו את רגעי השיא והזכרונות ממסטודון!", + "notification.annual_report.view": "לצפייה ב- #סיכומודון", "notification.favourite": "הודעתך חובבה על ידי {name}", "notification.favourite.name_and_others_with_link": "{name} ועוד {count, plural,one {אחד נוסף}other {# נוספים}} חיבבו את הודעתך", "notification.follow": "{name} במעקב אחרייך", diff --git a/app/javascript/mastodon/locales/hu.json b/app/javascript/mastodon/locales/hu.json index 0933a7c25655d1..cdc113d8d70dc2 100644 --- a/app/javascript/mastodon/locales/hu.json +++ b/app/javascript/mastodon/locales/hu.json @@ -87,6 +87,24 @@ "alert.unexpected.title": "Hoppá!", "alt_text_badge.title": "Helyettesítő szöveg", "announcement.announcement": "Közlemény", + "annual_report.summary.archetype.booster": "A cool-vadász", + "annual_report.summary.archetype.lurker": "A settenkedő", + "annual_report.summary.archetype.oracle": "Az orákulum", + "annual_report.summary.archetype.pollster": "A közvélemény-kutató", + "annual_report.summary.archetype.replier": "A társasági pillangó", + "annual_report.summary.followers.followers": "követő", + "annual_report.summary.followers.total": "{count} összesen", + "annual_report.summary.here_it_is": "Itt a {year}. év értékelése:", + "annual_report.summary.highlighted_post.by_favourites": "legkedvencebb bejegyzés", + "annual_report.summary.highlighted_post.by_reblogs": "legtöbbet megtolt bejegyzés", + "annual_report.summary.highlighted_post.by_replies": "bejegyzés a legtöbb válasszal", + "annual_report.summary.highlighted_post.possessive": "{name} fióktól", + "annual_report.summary.most_used_app.most_used_app": "legtöbbet használt app", + "annual_report.summary.most_used_hashtag.most_used_hashtag": "legtöbbet használt hashtag", + "annual_report.summary.new_posts.new_posts": "új bejegyzés", + "annual_report.summary.percentile.text": "Ezzel acsúcs Mastodon felhasználó között vagy.", + "annual_report.summary.percentile.we_wont_tell_bernie": "Nem mondjuk el Bernie-nek.", + "annual_report.summary.thanks": "Kösz, hogy a Mastodon része vagy!", "attachments_list.unprocessed": "(feldolgozatlan)", "audio.hide": "Hang elrejtése", "block_modal.remote_users_caveat": "Arra kérjük a {domain} kiszolgálót, hogy tartsa tiszteletben a döntésedet. Ugyanakkor az együttműködés nem garantált, mivel néhány kiszolgáló másképp kezelheti a letiltásokat. A nyilvános bejegyzések a be nem jelentkezett felhasználók számára továbbra is látszódhatnak.", @@ -508,6 +526,8 @@ "notification.admin.report_statuses_other": "{name} jelentette: {target}", "notification.admin.sign_up": "{name} regisztrált", "notification.admin.sign_up.name_and_others": "{name} és {count, plural, one {# másik} other {# másik}} regisztrált", + "notification.annual_report.message": "Vár a {year}. év #Wrapstodon jelentése! Fedd fel az éved jelentős eseményeit és emlékezetes pillanatait a Mastodonon!", + "notification.annual_report.view": "#Wrapstodon Megtekintése", "notification.favourite": "{name} kedvencnek jelölte a bejegyzésedet", "notification.favourite.name_and_others_with_link": "{name} és {count, plural, one {# másik} other {# másik}} kedvencnek jelölte a bejegyzésedet", "notification.follow": "{name} követ téged", diff --git a/app/javascript/mastodon/locales/it.json b/app/javascript/mastodon/locales/it.json index 13ba1f8836e5af..bf179ea2f2008e 100644 --- a/app/javascript/mastodon/locales/it.json +++ b/app/javascript/mastodon/locales/it.json @@ -100,6 +100,7 @@ "annual_report.summary.new_posts.new_posts": "nuovi post", "annual_report.summary.percentile.text": "Questo ti colloca tra ildei migliori utenti Mastodon.", "annual_report.summary.percentile.we_wont_tell_bernie": "Non lo diremo a Bernie.", + "annual_report.summary.thanks": "Grazie per far parte di Mastodon!", "attachments_list.unprocessed": "(non elaborato)", "audio.hide": "Nascondi audio", "block_modal.remote_users_caveat": "Chiederemo al server {domain} di rispettare la tua decisione. Tuttavia, la conformità non è garantita poiché alcuni server potrebbero gestire i blocchi in modo diverso. I post pubblici potrebbero essere ancora visibili agli utenti che non hanno effettuato l'accesso.", diff --git a/app/javascript/mastodon/locales/ja.json b/app/javascript/mastodon/locales/ja.json index 6f319dbb10c7b3..b839764242dfa1 100644 --- a/app/javascript/mastodon/locales/ja.json +++ b/app/javascript/mastodon/locales/ja.json @@ -87,6 +87,24 @@ "alert.unexpected.title": "エラー!", "alt_text_badge.title": "代替テキスト", "announcement.announcement": "お知らせ", + "annual_report.summary.archetype.booster": "トレンドハンター", + "annual_report.summary.archetype.lurker": "ROM専", + "annual_report.summary.archetype.oracle": "予言者", + "annual_report.summary.archetype.pollster": "調査員", + "annual_report.summary.archetype.replier": "社交家", + "annual_report.summary.followers.followers": "フォロワー", + "annual_report.summary.followers.total": "合計{count}", + "annual_report.summary.here_it_is": "こちらがあなたの{year}年の振り返りです", + "annual_report.summary.highlighted_post.by_favourites": "最もお気に入りされた投稿", + "annual_report.summary.highlighted_post.by_reblogs": "最もブーストされた投稿", + "annual_report.summary.highlighted_post.by_replies": "最も返信が多かった投稿", + "annual_report.summary.highlighted_post.possessive": "{name}の", + "annual_report.summary.most_used_app.most_used_app": "最も使用されているアプリ", + "annual_report.summary.most_used_hashtag.most_used_hashtag": "最も使用されたハッシュタグ", + "annual_report.summary.new_posts.new_posts": "新しい投稿", + "annual_report.summary.percentile.text": "それにより、あなたは上位に位置しています。Mastodonユーザーの中で。", + "annual_report.summary.percentile.we_wont_tell_bernie": "バー二ーには秘密にしておくよ。", + "annual_report.summary.thanks": "Mastodonの一員になってくれてありがとう!", "attachments_list.unprocessed": "(未処理)", "audio.hide": "音声を閉じる", "block_modal.remote_users_caveat": "このサーバーはあなたのブロックの意思を尊重するように {domain} へ通知します。しかしながら、ブロックの扱い方はサーバーによってさまざまで、相手のサーバーは必ずしもこのブロックを適切に取り扱うものではないことに留意が必要です。また、あなたの公開投稿はサーバーからログアウトすれば誰からも見ることができます。", @@ -508,6 +526,8 @@ "notification.admin.report_statuses_other": "{name}さんが{target}さんを通報しました", "notification.admin.sign_up": "{name}さんがサインアップしました", "notification.admin.sign_up.name_and_others": "{name}さんとほか{count, plural, other {#人}}がサインアップしました", + "notification.annual_report.message": "「あなたの{year}年の#Wrapstodonが待っています!Mastodonであなたの年のハイライトや思い出の瞬間を公開しましょう!」と訳せます。", + "notification.annual_report.view": "#Wrapstodon を表示", "notification.favourite": "{name}さんがお気に入りしました", "notification.favourite.name_and_others_with_link": "{name}さんとほか{count, plural, other {#人}}がお気に入りしました", "notification.follow": "{name}さんにフォローされました", diff --git a/app/javascript/mastodon/locales/pt-PT.json b/app/javascript/mastodon/locales/pt-PT.json index a4f2e274013f1a..a06d259be2ad14 100644 --- a/app/javascript/mastodon/locales/pt-PT.json +++ b/app/javascript/mastodon/locales/pt-PT.json @@ -85,7 +85,11 @@ "alert.rate_limited.title": "Limite de tentativas", "alert.unexpected.message": "Ocorreu um erro inesperado.", "alert.unexpected.title": "Bolas!", + "alt_text_badge.title": "Texto alternativo", "announcement.announcement": "Anúncio", + "annual_report.summary.followers.total": "{count} total", + "annual_report.summary.here_it_is": "Aqui está o seu {year} em revisão:", + "annual_report.summary.new_posts.new_posts": "novas publicações", "attachments_list.unprocessed": "(não processado)", "audio.hide": "Ocultar áudio", "block_modal.remote_users_caveat": "Vamos pedir ao servidor {domain} para respeitar a sua decisão. No entanto, não é garantido o seu cumprimento, uma vez que alguns servidores podem tratar os bloqueios de forma diferente. As mensagens públicas podem continuar a ser visíveis para utilizadores não autenticados.", diff --git a/app/javascript/mastodon/locales/sk.json b/app/javascript/mastodon/locales/sk.json index 1102754fd7634a..8a01263eb222ce 100644 --- a/app/javascript/mastodon/locales/sk.json +++ b/app/javascript/mastodon/locales/sk.json @@ -88,6 +88,8 @@ "alt_text_badge.title": "Alternatívny popis", "announcement.announcement": "Oznámenie", "annual_report.summary.followers.followers": "sledovatelia", + "annual_report.summary.followers.total": "{count} celkovo", + "annual_report.summary.highlighted_post.by_favourites": "najviac obľúbený príspevok", "annual_report.summary.highlighted_post.by_reblogs": "najviac vyzdvihovaný príspevok", "annual_report.summary.highlighted_post.by_replies": "príspevok s najviac odpoveďami", "annual_report.summary.most_used_app.most_used_app": "najviac používaná aplikácia", @@ -99,6 +101,7 @@ "block_modal.show_less": "Zobraziť menej", "block_modal.show_more": "Zobraziť viac", "block_modal.they_cant_mention": "Nemôžu ťa spomenúť, alebo nasledovať.", + "block_modal.they_cant_see_posts": "On/a nemôže vidieť tvoje príspevky a ty neuvidíš jej/ho.", "block_modal.they_will_know": "Môžu vidieť, že sú zablokovaní/ý.", "block_modal.title": "Blokovať užívateľa?", "block_modal.you_wont_see_mentions": "Neuvidíš príspevky, ktoré ich spomínajú.", @@ -345,6 +348,7 @@ "hashtag.follow": "Sledovať hashtag", "hashtag.unfollow": "Prestať sledovať hashtag", "hashtags.and_other": "…a {count, plural, other {# ďalších}}", + "hints.threads.see_more": "Pozri viac odpovedí na {domain}", "home.column_settings.show_reblogs": "Zobraziť zdieľania", "home.column_settings.show_replies": "Zobraziť odpovede", "home.hide_announcements": "Skryť oznámenia", @@ -371,6 +375,7 @@ "interaction_modal.title.follow": "Sledovať {name}", "interaction_modal.title.reblog": "Zdieľať príspevok od {name}", "interaction_modal.title.reply": "Odpovedať na príspevok od {name}", + "interaction_modal.title.vote": "Hlasuj v ankete od {name}", "intervals.full.days": "{number, plural, one {# deň} few {# dni} many {# dní} other {# dní}}", "intervals.full.hours": "{number, plural, one {# hodina} few {# hodiny} many {# hodín} other {# hodín}}", "intervals.full.minutes": "{number, plural, one {# minúta} few {# minúty} many {# minút} other {# minút}}", diff --git a/app/javascript/mastodon/locales/sq.json b/app/javascript/mastodon/locales/sq.json index 088b48a3f3e3e7..0faee304c6b785 100644 --- a/app/javascript/mastodon/locales/sq.json +++ b/app/javascript/mastodon/locales/sq.json @@ -526,6 +526,7 @@ "notification.favourite": "{name} i vuri shenjë postimit tuaj si të parapëlqyer", "notification.favourite.name_and_others_with_link": "{name} dhe {count, plural, one {# tjetër} other {# të tjerë}} i vunë shenjë postimit tuaj si të parapëlqyer", "notification.follow": "{name} zuri t’ju ndjekë", + "notification.follow.name_and_others": "Ju ndoqi {name} dhe {count, plural, one {# tjetër} other {# të tjerë}}", "notification.follow_request": "{name} ka kërkuar t’ju ndjekë", "notification.follow_request.name_and_others": "Ka kërkuar t’ju ndjekë {name} dhe {count, plural, one {# tjetër} other {# të tjerë}}", "notification.label.mention": "Përmendje", @@ -584,6 +585,7 @@ "notifications.column_settings.filter_bar.category": "Shtyllë filtrimesh të shpejta", "notifications.column_settings.follow": "Ndjekës të rinj:", "notifications.column_settings.follow_request": "Kërkesa të reja për ndjekje:", + "notifications.column_settings.group": "Grupoji", "notifications.column_settings.mention": "Përmendje:", "notifications.column_settings.poll": "Përfundime pyetësori:", "notifications.column_settings.push": "Njoftime Push", diff --git a/app/javascript/mastodon/locales/sv.json b/app/javascript/mastodon/locales/sv.json index e3571704bb0131..ef2d912c00ae39 100644 --- a/app/javascript/mastodon/locales/sv.json +++ b/app/javascript/mastodon/locales/sv.json @@ -424,7 +424,7 @@ "keyboard_shortcuts.blocked": "Öppna listan över blockerade användare", "keyboard_shortcuts.boost": "Boosta inlägg", "keyboard_shortcuts.column": "Fokusera kolumn", - "keyboard_shortcuts.compose": "för att fokusera skrivfältet", + "keyboard_shortcuts.compose": "Fokusera skrivfältet", "keyboard_shortcuts.description": "Beskrivning", "keyboard_shortcuts.direct": "för att öppna privata nämningskolumnen", "keyboard_shortcuts.down": "Flytta ner i listan", @@ -433,20 +433,20 @@ "keyboard_shortcuts.favourites": "Öppna favoritlistan", "keyboard_shortcuts.federated": "Öppna federerad tidslinje", "keyboard_shortcuts.heading": "Tangentbordsgenvägar", - "keyboard_shortcuts.home": "för att öppna Hem-tidslinjen", + "keyboard_shortcuts.home": "Öppna Hemtidslinjen", "keyboard_shortcuts.hotkey": "Kommando", - "keyboard_shortcuts.legend": "för att visa denna översikt", - "keyboard_shortcuts.local": "för att öppna Lokal tidslinje", - "keyboard_shortcuts.mention": "för att nämna skaparen", + "keyboard_shortcuts.legend": "Visa denna översikt", + "keyboard_shortcuts.local": "Öppna lokal tidslinje", + "keyboard_shortcuts.mention": "Nämna skaparen", "keyboard_shortcuts.muted": "Öppna listan över tystade användare", - "keyboard_shortcuts.my_profile": "för att öppna din profil", - "keyboard_shortcuts.notifications": "för att öppna Meddelanden", - "keyboard_shortcuts.open_media": "öppna media", + "keyboard_shortcuts.my_profile": "Öppna din profil", + "keyboard_shortcuts.notifications": "Öppna meddelanden", + "keyboard_shortcuts.open_media": "Öppna media", "keyboard_shortcuts.pinned": "Öppna listan över fästa inlägg", - "keyboard_shortcuts.profile": "för att öppna skaparens profil", + "keyboard_shortcuts.profile": "Öppna författarens profil", "keyboard_shortcuts.reply": "Svara på inlägg", - "keyboard_shortcuts.requests": "för att öppna Följförfrågningar", - "keyboard_shortcuts.search": "för att fokusera sökfältet", + "keyboard_shortcuts.requests": "Öppna följförfrågningar", + "keyboard_shortcuts.search": "Fokusera sökfältet", "keyboard_shortcuts.spoilers": "Visa/dölja CW-fält", "keyboard_shortcuts.start": "Öppna \"Kom igång\"-kolumnen", "keyboard_shortcuts.toggle_hidden": "Visa/gömma text bakom CW", diff --git a/app/javascript/mastodon/locales/th.json b/app/javascript/mastodon/locales/th.json index 5cf95554bc0e4c..95e3e1e52b62b2 100644 --- a/app/javascript/mastodon/locales/th.json +++ b/app/javascript/mastodon/locales/th.json @@ -87,6 +87,13 @@ "alert.unexpected.title": "อุปส์!", "alt_text_badge.title": "ข้อความแสดงแทน", "announcement.announcement": "ประกาศ", + "annual_report.summary.followers.followers": "ผู้ติดตาม", + "annual_report.summary.highlighted_post.by_favourites": "โพสต์ที่ได้รับการชื่นชอบมากที่สุด", + "annual_report.summary.highlighted_post.by_reblogs": "โพสต์ที่ได้รับการดันมากที่สุด", + "annual_report.summary.highlighted_post.by_replies": "โพสต์ที่มีการตอบกลับมากที่สุด", + "annual_report.summary.new_posts.new_posts": "โพสต์ใหม่", + "annual_report.summary.percentile.we_wont_tell_bernie": "เราจะไม่บอก Bernie", + "annual_report.summary.thanks": "ขอบคุณสำหรับการเป็นส่วนหนึ่งของ Mastodon!", "attachments_list.unprocessed": "(ยังไม่ได้ประมวลผล)", "audio.hide": "ซ่อนเสียง", "block_modal.remote_users_caveat": "เราจะขอให้เซิร์ฟเวอร์ {domain} เคารพการตัดสินใจของคุณ อย่างไรก็ตาม ไม่รับประกันการปฏิบัติตามข้อกำหนดเนื่องจากเซิร์ฟเวอร์บางแห่งอาจจัดการการปิดกั้นแตกต่างกัน โพสต์สาธารณะอาจยังคงปรากฏแก่ผู้ใช้ที่ไม่ได้เข้าสู่ระบบ", @@ -508,6 +515,7 @@ "notification.admin.report_statuses_other": "{name} ได้รายงาน {target}", "notification.admin.sign_up": "{name} ได้ลงทะเบียน", "notification.admin.sign_up.name_and_others": "{name} และ {count, plural, other {# อื่น ๆ}} ได้ลงทะเบียน", + "notification.annual_report.view": "ดู #Wrapstodon", "notification.favourite": "{name} ได้ชื่นชอบโพสต์ของคุณ", "notification.favourite.name_and_others_with_link": "{name} และ {count, plural, other {# อื่น ๆ}} ได้ชื่นชอบโพสต์ของคุณ", "notification.follow": "{name} ได้ติดตามคุณ", diff --git a/app/javascript/mastodon/locales/uk.json b/app/javascript/mastodon/locales/uk.json index b34785ebc3feab..dcbf8cec58a50f 100644 --- a/app/javascript/mastodon/locales/uk.json +++ b/app/javascript/mastodon/locales/uk.json @@ -87,7 +87,24 @@ "alert.unexpected.title": "Ой!", "alt_text_badge.title": "Альтернативний текст", "announcement.announcement": "Оголошення", + "annual_report.summary.archetype.booster": "Мисливець на дописи", + "annual_report.summary.archetype.lurker": "Причаєнець", + "annual_report.summary.archetype.oracle": "Оракул", + "annual_report.summary.archetype.pollster": "Опитувач", + "annual_report.summary.archetype.replier": "Душа компанії", + "annual_report.summary.followers.followers": "підписники", + "annual_report.summary.followers.total": "Загалом {count}", + "annual_report.summary.here_it_is": "Ось ваші підсумки {year} року:", + "annual_report.summary.highlighted_post.by_favourites": "найуподобаніші дописи", + "annual_report.summary.highlighted_post.by_reblogs": "найпоширюваніші дописи", + "annual_report.summary.highlighted_post.by_replies": "найкоментованіші дописи", + "annual_report.summary.highlighted_post.possessive": "{name}", + "annual_report.summary.most_used_app.most_used_app": "найчастіше використовуваний застосунок", + "annual_report.summary.most_used_hashtag.most_used_hashtag": "найчастіший хештег", "annual_report.summary.new_posts.new_posts": "нові дописи", + "annual_report.summary.percentile.text": "Це виводить вас в топ користувачів Mastodon.", + "annual_report.summary.percentile.we_wont_tell_bernie": "Ми не скажемо Bernie.", + "annual_report.summary.thanks": "Дякуємо, що ви є частиною Mastodon!", "attachments_list.unprocessed": "(не оброблено)", "audio.hide": "Сховати аудіо", "block_modal.remote_users_caveat": "Ми попросимо сервер {domain} поважати ваше рішення. Однак дотримання вимог не гарантується, оскільки деякі сервери можуть обробляти блоки по-різному. Загальнодоступні дописи все ще можуть бути видимими для користувачів, які не увійшли в систему.", @@ -509,6 +526,8 @@ "notification.admin.report_statuses_other": "{name} повідомляє про {target}", "notification.admin.sign_up": "{name} приєдналися", "notification.admin.sign_up.name_and_others": "{name} та {count, plural, one {# інший} few {# інших} many {# інших} other {# інший}} зареєструвалися", + "notification.annual_report.message": "#Wrapstodon за {year} чекає на вас! Дізнайтеся про найяскравіші та пам'ятні моменти вашого року на Mastodon!", + "notification.annual_report.view": "Переглянути #Wrapstodon", "notification.favourite": "Ваш допис сподобався {name}", "notification.favourite.name_and_others_with_link": "{name} та {count, plural, one {# інший} few {# інших} many {# інших} other {# інший}} вподобали ваш допис", "notification.follow": "{name} підписалися на вас", diff --git a/app/javascript/mastodon/locales/zh-TW.json b/app/javascript/mastodon/locales/zh-TW.json index e1f9eeb210b250..91d7f6e45d53e6 100644 --- a/app/javascript/mastodon/locales/zh-TW.json +++ b/app/javascript/mastodon/locales/zh-TW.json @@ -87,15 +87,15 @@ "alert.unexpected.title": "哎呀!", "alt_text_badge.title": "ALT 說明文字", "announcement.announcement": "公告", - "annual_report.summary.archetype.booster": "酷炫的獵人", - "annual_report.summary.archetype.lurker": "潛伏者", + "annual_report.summary.archetype.booster": "酷炫獵人", + "annual_report.summary.archetype.lurker": "潛水高手", "annual_report.summary.archetype.oracle": "先知", - "annual_report.summary.archetype.pollster": "民調人員", + "annual_report.summary.archetype.pollster": "民調專家", "annual_report.summary.archetype.replier": "社交菁英", "annual_report.summary.followers.followers": "跟隨者", "annual_report.summary.followers.total": "總共 {count}", - "annual_report.summary.here_it_is": "以下是您的{year}年度回顧:", - "annual_report.summary.highlighted_post.by_favourites": "最愛的嘟文", + "annual_report.summary.here_it_is": "以下是您的 {year} 年度回顧:", + "annual_report.summary.highlighted_post.by_favourites": "最多被加到最愛的嘟文", "annual_report.summary.highlighted_post.by_reblogs": "最多轉嘟的嘟文", "annual_report.summary.highlighted_post.by_replies": "最多回覆的嘟文", "annual_report.summary.highlighted_post.possessive": "{name} 的", @@ -103,7 +103,8 @@ "annual_report.summary.most_used_hashtag.most_used_hashtag": "最常使用的主題標籤", "annual_report.summary.new_posts.new_posts": "新嘟文", "annual_report.summary.percentile.text": "這讓您成為前Mastodon 的使用者。", - "annual_report.summary.thanks": "感謝您成為 Mastodon 的一員!", + "annual_report.summary.percentile.we_wont_tell_bernie": "我們不會告訴 Bernie。", + "annual_report.summary.thanks": "感謝您成為 Mastodon 的一份子!", "attachments_list.unprocessed": "(未經處理)", "audio.hide": "隱藏音訊", "block_modal.remote_users_caveat": "我們會要求 {domain} 伺服器尊重您的決定。然而,我們無法保證所有伺服器皆會遵守,某些伺服器可能以不同方式處理封鎖。未登入之使用者仍可能看見您的公開嘟文。", @@ -525,6 +526,8 @@ "notification.admin.report_statuses_other": "{name} 已檢舉 {target}", "notification.admin.sign_up": "{name} 已經註冊", "notification.admin.sign_up.name_and_others": "{name} 與{count, plural, other {其他 # 個人}}已註冊", + "notification.annual_report.message": "您的 {year} #Wrapstodon 正等著您!揭開您 Mastodon 上的年度精彩時刻與值得回憶的難忘時光!", + "notification.annual_report.view": "檢視 #Wrapstodon", "notification.favourite": "{name} 已將您的嘟文加入最愛", "notification.favourite.name_and_others_with_link": "{name} 與{count, plural, other {其他 # 個人}}已將您的嘟文加入最愛", "notification.follow": "{name} 已跟隨您", diff --git a/config/locales/doorkeeper.ro.yml b/config/locales/doorkeeper.ro.yml index 9c02501eff7ca7..08b7c3fa8d6d57 100644 --- a/config/locales/doorkeeper.ro.yml +++ b/config/locales/doorkeeper.ro.yml @@ -60,6 +60,7 @@ ro: error: title: A apărut o eroare new: + prompt_html: "%{client_name} ar dori să vă acceseze contul. Aprobați această solicitare numai dacă recunoașteți și aveți încredere în această sursă." review_permissions: Revizuiți permisiunile title: Autorizare necesară show: @@ -82,6 +83,7 @@ ro: access_denied: Proprietarul de resurse sau serverul de autorizare a refuzat cererea. credential_flow_not_configured: Fluxul Resurselor de Acreditări Parole a eșuat din cauza faptului că Doorkeeper.configure.resource_owner_from_credentials nu este configurat. invalid_client: Autentificarea clientului a eșuat din cauza unui client necunoscut, nici o autentificare client inclusă, sau metodă de autentificare nesuportată. + invalid_code_challenge_method: Metoda de provocare a codului trebuie să fie S256, simplu nu este acceptată. invalid_grant: Acordarea autorizației furnizată este invalidă, expirată, revocată, nu corespunde URI-ului de redirecționare folosit în cererea de autorizare, sau a fost eliberat altui client. invalid_redirect_uri: Uri-ul de redirecționare inclus nu este valid. invalid_request: @@ -134,6 +136,7 @@ ro: media: Atașamente media mutes: Pus pe silențios notifications: Notificări + profile: Profilul tău Mastodon push: Notificări push reports: Rapoarte search: Căutare @@ -148,12 +151,23 @@ ro: scopes: admin:read: citește toate datele de pe server admin:read:accounts: citește informații sensibile ale tuturor conturilor + admin:read:canonical_email_blocks: citește informații sensibile ale tuturor blocurilor de e-mail canonice + admin:read:domain_allows: citește informații sensibile ale tuturor domeniilor permise + admin:read:domain_blocks: citește informații sensibile ale tuturor blocurilor de domeniu + admin:read:email_domain_blocks: citește informații sensibile ale tuturor blocurilor de domeniu de e-mail + admin:read:ip_blocks: citește informații sensibile ale tuturor blocurilor IP admin:read:reports: citește informații sensibile din toate rapoartele și conturile raportate admin:write: modifică toate datele de pe server admin:write:accounts: efectuează acțiuni de moderare pe conturi + admin:write:canonical_email_blocks: efectuează acțiuni de moderare pe blocurile de e-mail canonice + admin:write:domain_allows: efectuează acțiuni de moderare pe domeniile permise + admin:write:domain_blocks: efectuează acțiuni de moderare pe blocurile de domeniu + admin:write:email_domain_blocks: efectuează acțiuni de moderare pe blocurile de domeniu de e-mail + admin:write:ip_blocks: efectuează acțiuni de moderare pe blocurile IP admin:write:reports: efectuează acțiuni de moderare pe rapoarte crypto: utilizează criptare la ambele capete follow: modifică relațiile contului + profile: citește doar informațiile de profil ale contului tău push: primește notificările tale push read: citește toate datele contului tău read:accounts: vede informațiile privind conturile diff --git a/config/locales/doorkeeper.sv.yml b/config/locales/doorkeeper.sv.yml index ca8271ebf1c5d1..3c8b08ff268d32 100644 --- a/config/locales/doorkeeper.sv.yml +++ b/config/locales/doorkeeper.sv.yml @@ -72,7 +72,7 @@ sv: revoke: Är du säker? index: authorized_at: Godkändes den %{date} - description_html: Dessa applikationer har åtkomst till ditt konto genom API:et. Om det finns applikationer du inte känner igen här, eller om en applikation inte fungerar, kan du återkalla dess åtkomst. + description_html: Detta är program som kan komma åt ditt konto med hjälp av API. Om det finns program som du inte känner igen här, eller om ett program är inte fungerar kan du återkalla dess åtkomst. last_used_at: Användes senast %{date} never_used: Aldrig använd scopes: Behörigheter diff --git a/config/locales/el.yml b/config/locales/el.yml index 0df31b246f9d7e..3a145cbdaba1d9 100644 --- a/config/locales/el.yml +++ b/config/locales/el.yml @@ -21,6 +21,7 @@ el: one: Ανάρτηση other: Αναρτήσεις posts_tab_heading: Αναρτήσεις + self_follow_error: Δεν επιτρέπεται να ακολουθήσεις τον δικό σου λογαριασμό admin: account_actions: action: Εκτέλεση ενέργειας diff --git a/config/locales/lv.yml b/config/locales/lv.yml index 9e9515511045eb..3e5a1db00ebed9 100644 --- a/config/locales/lv.yml +++ b/config/locales/lv.yml @@ -447,6 +447,7 @@ lv: resolve: Atrisināt domēnu not_permitted: Nav atļauta resolved_through_html: Atrisināts, izmantojot %{domain} + title: Bloķētie e-pasta domēni export_domain_allows: new: title: Importēt domēnu atļaujas @@ -872,6 +873,8 @@ lv: message_html: Tu neesi definējis nevienu servera nosacījumu. sidekiq_process_check: message_html: Rindā(s) %{value} nedarbojas neviens Sidekiq process. Lūdzu, pārskati savu Sidekiq konfigurāciju + software_version_check: + action: Skatīt pieejamos atjauninājumus software_version_critical_check: action: Skatīt pieejamos atjauninājumus message_html: Ir pieejams kritisks Mastodon atjauninājums. Lūdzu, atjaunini to pēc iespējas ātrāk. @@ -1668,6 +1671,8 @@ lv: webauthn_authentication: Drošības atslēgas severed_relationships: download: Lejupielādēt (%{count}) + event_type: + user_domain_block: Jūs bloķējāt %{target_name} lost_followers: Zaudētie sekotāji lost_follows: Zaudētie sekojumi type: Notikums diff --git a/config/locales/simple_form.ar.yml b/config/locales/simple_form.ar.yml index 0a665fb784d415..f5be51f9c32df9 100644 --- a/config/locales/simple_form.ar.yml +++ b/config/locales/simple_form.ar.yml @@ -9,7 +9,6 @@ ar: indexable: قد تظهر منشوراتك الموجهة للعامة في نتائج البحث على ماستدون. فالأشخاص الذين تفاعلوا مع منشوراتك قد يكون بمقدورهم البحث عنها بغظ النظر عن ذلك. note: 'يمكنك @ذكر أشخاص آخرين أو استعمال #الوسوم.' show_collections: سيستطيع الناس من تصفح متابعيك و متابعاتك. سيرى الأشخاص الذين تتبعهم أنك تتبعهم دون أي شك. - unlocked: سيتمكن الآخرون من متابعتك دون طلب الموافقة. قم بتعطيله إن كنت ترغب في مراجعة تلك الطلبات يدويا باختيار قبول أو رفض المتابعين الجدد. account_alias: acct: ادخِل عنون الحساب username@domain الذي تودّ مغادرته account_migration: diff --git a/config/locales/simple_form.ast.yml b/config/locales/simple_form.ast.yml index 00617c4e3cc072..997423449db43a 100644 --- a/config/locales/simple_form.ast.yml +++ b/config/locales/simple_form.ast.yml @@ -4,7 +4,6 @@ ast: hints: account: note: 'Pues @mentar a otros perfiles o poner #etiquetes.' - unlocked: Los perfiles van ser a siguite ensin solicitar la to aprobación. Desmarca esta opción si quies revisar les solicitúes de siguimientu y escoyer si aceptales o refugales. admin_account_action: text_html: Opcional. Pues usar la sintaxis de los artículos y amestar alvertencies preconfiguraes p'aforrar tiempu type_html: Escueyi qué facer con %{acct} diff --git a/config/locales/simple_form.be.yml b/config/locales/simple_form.be.yml index db6a94f8eb2c48..d7be72b8766474 100644 --- a/config/locales/simple_form.be.yml +++ b/config/locales/simple_form.be.yml @@ -9,7 +9,6 @@ be: indexable: Вашыя публічныя допісы могуць з'яўляцца ў рэзультатах пошуку Mastodon. Людзі, якія ўзаемадзейнічалі з вашымі допісамі, усё роўна маюць магчымасць іх знаходзіць. note: 'Вы можаце @згадаць іншых людзей або выкарыстоўваць #хэштэгі.' show_collections: Людзі змогуць праглядаць спіс вашых падпісак і падпісчыкаў. Людзі, на якіх вы падпісаны ў любым выпадку будуць бачыць, што вы іх чытаеце. - unlocked: Людзі змогуць сачыць за вамі, не запытваючы пацвярджэння. Зніміце сцяжок, калі вы хочаце праглядаць запыты на падпіску і выбіраць, прымаць ці адхіляць новых падпісчыкаў. account_alias: acct: Прызначце карыстальнік@дамен уліковага запісу з якога вы хочаце пераехаць account_migration: diff --git a/config/locales/simple_form.bg.yml b/config/locales/simple_form.bg.yml index 2690f071417beb..5540942d93bdef 100644 --- a/config/locales/simple_form.bg.yml +++ b/config/locales/simple_form.bg.yml @@ -9,7 +9,6 @@ bg: indexable: Вашите обществени публикации може да се появят в резултатите от търсене в Mastodon. Взаимодействалите с публикациите ви може да ги търсят независимо. note: 'Може да @споменавате други хора или #хаштагове.' show_collections: Хората ще може да разглеждат през вашите последвания и последователи. Хората, които сте следвали, ще видят, че ги следвате независимо от това. - unlocked: Хората ще могат да ви последват без изискване на одобрение. Размаркирайте, ако искате да преглеждате заявките за последване и изберете дали да приемете или отхвърлите новите последователи. account_alias: acct: Посочете потребителско_име@домейн на акаунта си, от който искате да се преместите account_migration: diff --git a/config/locales/simple_form.ca.yml b/config/locales/simple_form.ca.yml index c628bebaad79fd..defb13325bcfa4 100644 --- a/config/locales/simple_form.ca.yml +++ b/config/locales/simple_form.ca.yml @@ -9,7 +9,7 @@ ca: indexable: Els teus tuts públics poden aparèixer en els resultats de cerca de Mastodon. Les persones que han interaccionat amb el teus tuts seran sempre capaços de cercar-los. note: 'Pots @mencionar altra gent o #etiquetes.' show_collections: La gent podrà navegar pels teus seguits i seguidors. Qui segueixis sí que veurà que els segueixes. - unlocked: La gent serà capaç de seguir-te sense sol·licitar-ho. Desmarca si vols revisar les sol·licituds i triar si acceptes o no els nous seguidors. + unlocked: Us podran seguir sense la vostra aprovació. Desmarqueu si voleu moderar les peticions de seguiment i decidir quines autoritzeu o denegueu. account_alias: acct: Especifica l'usuari@domini del compte des d'on et vols traslladar account_migration: diff --git a/config/locales/simple_form.cs.yml b/config/locales/simple_form.cs.yml index 6242b1ca6e657c..ef82b3232a7486 100644 --- a/config/locales/simple_form.cs.yml +++ b/config/locales/simple_form.cs.yml @@ -9,7 +9,6 @@ cs: indexable: Vaše veřejné příspěvky se mohou objevit ve výsledcích vyhledávání na Mastodonu. Lidé, kteří s vašimi příspěvky interagovaly, je mohou stále vyhledávat. note: 'Můžete @zmínit jiné osoby nebo #hashtagy.' show_collections: Lidé budou moci procházet skrz sledující. Lidé, které sledujete, uvidí, že je sledujete bezohledně. - unlocked: Lidé vás budou moci sledovat, aniž by vás žádali o schválení. Zrušte zaškrtnutí, pokud chcete zkontrolovat požadavky a zvolte, zda přijmete nebo odmítněte nové následovníky. account_alias: acct: Zadejte svůj účet, ze kterého se chcete přesunout jinam, ve formátu přezdívka@doména account_migration: diff --git a/config/locales/simple_form.cy.yml b/config/locales/simple_form.cy.yml index dedd50504ba2db..5f3ac2818c7aa9 100644 --- a/config/locales/simple_form.cy.yml +++ b/config/locales/simple_form.cy.yml @@ -10,7 +10,6 @@ cy: indexable: Mae'n bosib y bydd eich postiadau cyhoeddus yn ymddangos yng nghanlyniadau chwilio ar Mastodon. Mae'n bosibl y bydd pobl sydd wedi rhyngweithio â'ch postiadau yn dal i allu eu chwilio. note: 'Gallwch @grybwyll pobl eraill neu #hashnodau.' show_collections: Bydd pobl yn gallu pori trwy'r rhai rydych yn eu dilyn a'ch dilynwyr. Bydd y bobl rydych chi'n eu dilyn yn gweld eich bod chi'n eu dilyn beth bynnag. - unlocked: Bydd pobl yn gallu eich dilyn heb ofyn am ganiatâd. Dad-diciwch os ydych am adolygu ceisiadau dilyn a dewis a ydych am dderbyn neu wrthod dilynwyr newydd. account_alias: acct: Rhowch enwdefnyddiwr@parth y cyfrif y hoffech chi symud ohono account_migration: diff --git a/config/locales/simple_form.da.yml b/config/locales/simple_form.da.yml index 25cf670ea917ac..32e8e90b858f0d 100644 --- a/config/locales/simple_form.da.yml +++ b/config/locales/simple_form.da.yml @@ -10,7 +10,7 @@ da: indexable: Dine offentlige indlæg vil kunne vises i Mastodon-søgeresultater. Folk, som har interageret med dem, vil kunne finde dem uanset. note: 'Du kan @omtale andre personer eller #hashtags.' show_collections: Folk vil ikke kunne tjekke dine Følger og Følgere. Folk, du selv følger, vil stadig kunne se dette. - unlocked: Folk vil kunne følge dig uden krav om godkendelse. Fjern markeringen, såfremt du ønsker at tjekke Følg-anmodninger og individuelt acceptere eller afvise nye Følgere. + unlocked: Man vil kunne følges af folk uden først at godkende dem. Ønsker man at gennemgå Følg-anmodninger og individuelt acceptere/afvise nye følgere, så fjern markeringen. account_alias: acct: Angiv brugernavn@domain for den konto, hvorfra du vil flytte account_migration: diff --git a/config/locales/simple_form.el.yml b/config/locales/simple_form.el.yml index 9dcac5c16064e3..a04db4b2280680 100644 --- a/config/locales/simple_form.el.yml +++ b/config/locales/simple_form.el.yml @@ -9,7 +9,6 @@ el: indexable: Οι δημόσιες δημοσιεύσεις σου μπορεί να εμφανιστούν στα αποτελέσματα αναζήτησης στο Mastodon. Άτομα που έχουν αλληλεπιδράσει με τις δημοσιεύσεις σου μπορεί να είναι σε θέση να τις αναζητήσουν όπως και να 'χει. note: 'Μπορείς να @επισημάνεις άλλα άτομα ή #ετικέτες.' show_collections: Οι χρήστες θα είναι σε θέση να περιηγηθούν στα άτομα που ακολουθείς και στους ακόλουθούς σου. Άτομα που ακολουθείς θα βλέπουν ότι τους ακολουθείς όπως και να 'χει. - unlocked: Οι χρήστες θα είναι σε θέση να σε ακολουθήσουν χωρίς να ζητούν έγκριση. Κατάργησε την επιλογή αν θες να αξιολογείς τα αιτήματα ακολούθησης και να επιλέξεις αν θα αποδεχθείς ή απορρίψεις νέους ακόλουθους. account_alias: acct: Όρισε το username@domain του λογαριασμού από τον οποίο θέλεις να μετακινηθείς account_migration: diff --git a/config/locales/simple_form.en-GB.yml b/config/locales/simple_form.en-GB.yml index e20249e6bc22fb..ef252d8aeb26e3 100644 --- a/config/locales/simple_form.en-GB.yml +++ b/config/locales/simple_form.en-GB.yml @@ -9,7 +9,6 @@ en-GB: indexable: Your public posts may appear in search results on Mastodon. People who have interacted with your posts may be able to search them regardless. note: 'You can @mention other people or #hashtags.' show_collections: People will be able to browse through your follows and followers. People that you follow will see that you follow them regardless. - unlocked: People will be able to follow you without requesting approval. Uncheck if you want to review follow requests and chose whether to accept or reject new followers. account_alias: acct: Specify the username@domain of the account you want to move from account_migration: diff --git a/config/locales/simple_form.eo.yml b/config/locales/simple_form.eo.yml index f8a5776835b4cb..f39eb18f616024 100644 --- a/config/locales/simple_form.eo.yml +++ b/config/locales/simple_form.eo.yml @@ -10,7 +10,7 @@ eo: indexable: Viaj publikaj afiŝoj povas aperi en serĉrezultoj ĉe Mastodon. Homoj, kiuj interagis kun viaj afiŝoj, eble povos serĉi ilin sendepende. note: 'Vi povas @mencii aliajn homojn aŭ #haŝetikedoj.' show_collections: Homoj povos foliumi viajn sekvatojn kaj sekvantojn. Homoj, kiujn vi sekvas, vidos, ke vi sekvas ilin ĉiaokaze. - unlocked: Homoj povos sekvi vin sen peto de aprobo. Malelektu se vi volas kontroli petojn de sekvado kaj elekti, ĉu akcepti aŭ malakcepti novajn sekvantojn. + unlocked: Homoj povos sekvi vin sen peti aprobon. Malmarku ĉu vi volas revizii sekvajn petojn kaj elektu ĉu akcepti aŭ malakcepti novajn sekvantojn. account_alias: acct: Specifu la uzantnomon@domajnon de la konto el kiu vi volas translokiĝi account_migration: diff --git a/config/locales/simple_form.es-AR.yml b/config/locales/simple_form.es-AR.yml index 98254c5e994d45..dada648d5a188b 100644 --- a/config/locales/simple_form.es-AR.yml +++ b/config/locales/simple_form.es-AR.yml @@ -10,7 +10,7 @@ es-AR: indexable: Tus mensajes públicos pueden aparecer en los resultados de la búsqueda en Mastodon. La gente que interactuó con tus mensajes puede ser capaz de buscarlos sin importar el momento. note: 'Podés @mencionar otras cuentas o usar #etiquetas.' show_collections: La gente podrá navegar a través de tus seguidos y seguidores. Sin embargo, la gente que sigás, sabrá que lo estás haciendo. - unlocked: La gente podrá seguirte sin solicitar aprobación. Desmarcá si querés revisar las solicitudes de seguimiento y elegir si aceptar o rechazar nuevos seguidores. + unlocked: Las personas podrán seguirte sin solicitar aprobación. Desmarca si quieres revisar las solicitudes de seguimiento y elige si quieres aceptar o rechazar nuevos seguidores. account_alias: acct: Especificá el nombredeusuario@dominio de la cuenta desde la que querés mudarte account_migration: diff --git a/config/locales/simple_form.es-MX.yml b/config/locales/simple_form.es-MX.yml index 2b5d22aee83210..3c340b3005abc6 100644 --- a/config/locales/simple_form.es-MX.yml +++ b/config/locales/simple_form.es-MX.yml @@ -10,7 +10,7 @@ es-MX: indexable: Tus publicaciones públicas pueden aparecer en los resultados de búsqueda en Mastodon. Las personas que han interactuado con tus publicaciones pueden buscarlas en cualquier momento. note: 'Puedes @mencionar a otra gente o #hashtags.' show_collections: Las personas pueden navegar a través de tus seguidos y seguidores. Las personas que te siguen pueden ver que las sigues. - unlocked: Las personas pueden seguirte sin solicitar la aprobación. No lo selecciones si quieres revisar las solicitudes de seguimiento y elegir si aceptas o rechazas a nuevos seguidores. + unlocked: Las personas podrán seguirte sin solicitar aprobación. Desmarca si quieres revisar las solicitudes de seguimiento y elige si quieres aceptar o rechazar nuevos seguidores. account_alias: acct: Especifique el nombre de usuario@dominio de la cuenta desde la cual se desea migrar account_migration: diff --git a/config/locales/simple_form.es.yml b/config/locales/simple_form.es.yml index 8bc2c5f65c5e14..a0338a3029e00d 100644 --- a/config/locales/simple_form.es.yml +++ b/config/locales/simple_form.es.yml @@ -10,7 +10,7 @@ es: indexable: Tus publicaciones públicas pueden aparecer en los resultados de búsqueda en Mastodon. Las personas que han interactuado con tus publicaciones pueden ser capaces de buscarlas sin importar su visibilidad. note: Puedes mencionar a otras personas o etiquetas. show_collections: Las personas podrán navegar a través de tus seguidos y seguidores. Esto no impide que las personas que sigues sepan que las estás siguiendo. - unlocked: Las personas podrán seguirte sin pedir aprobación. Desmarca si deseas revisar las solicitudes de seguimiento y aceptar o rechazar nuevos seguidores. + unlocked: Las personas podrán seguirte sin solicitar aprobación. Desmarca si quieres revisar las solicitudes de seguimiento y elige si quieres aceptar o rechazar nuevos seguidores. account_alias: acct: Especifica el nombre_de_usuario@dominio de la cuenta desde donde deseas migrar account_migration: diff --git a/config/locales/simple_form.et.yml b/config/locales/simple_form.et.yml index a2ebf63b11c716..690661cd49f7e1 100644 --- a/config/locales/simple_form.et.yml +++ b/config/locales/simple_form.et.yml @@ -10,7 +10,6 @@ et: indexable: Sinu avalikud postitused võivad ilmuda Mastodoni otsingutulemustes. Inimesed, kes on sinu postitustele reageerinud, saavad neid otsida nii või naa. note: 'Saad @mainida teisi inimesi või #silte.' show_collections: Inimesed saavad sirvida su jälgijaid ja jälgitavaid. Inimesed, keda sa jälgid, näevad seda sõltumata häälestuse valikust. - unlocked: Inimesed saavad sind jälgima hakata kinnitamist taotlemata. Eemalda märge, kui soovid jälgimistaotlusi üle vaadata ja valida, kas nõustuda või keelduda uute jälgijatega. account_alias: acct: Sisesta konto kasutajanimi@domeen, mille soovid siia ümber kolida account_migration: diff --git a/config/locales/simple_form.eu.yml b/config/locales/simple_form.eu.yml index 7647e187ecac0a..f6c4f149154478 100644 --- a/config/locales/simple_form.eu.yml +++ b/config/locales/simple_form.eu.yml @@ -9,7 +9,6 @@ eu: indexable: Zure argitalpen publikoak bilaketa-emaitzetan ager daitezke Mastodonen. Zure argitalpenekin elkarregin duten jendeak ikusi ahal izango dituzte, hala ere. note: 'Beste pertsona edo #traola batzuk @aipatu ditzakezu.' show_collections: Pertsonek zuk jarraitzen dituzunak eta zure jarraitzaileak arakatu ahal izango dute. Jarraitzen dituzun pertsonak jarraitzen dituzula ikusi ahal izando dute, hala ere. - unlocked: Pertsonek zuri jarraitu ahal izango dizute onarpen-eskaerarik gabe. Desgaitu jarraipen-eskaerak berrikusi nahi badituzu eta hauek onartu edo ez erabaki nahi baduzu. account_alias: acct: Zehaztu migrazioaren jatorri den kontuaren erabiltzailea@domeinua account_migration: diff --git a/config/locales/simple_form.fa.yml b/config/locales/simple_form.fa.yml index f51a4ce8bfe5f9..9872de222f6b93 100644 --- a/config/locales/simple_form.fa.yml +++ b/config/locales/simple_form.fa.yml @@ -10,7 +10,6 @@ fa: indexable: ممکن است فرسته‌های عمومیتان در نتیجه‌های جست‌وجوی ماستودون ظاهر شود. افرادی که با فرسته‌هایتان تعامل داشتند در هر صورت می‌توانند جست‌وجویشان کنند. note: 'می‌توانید افراد دیگر را @نام برده یا #برچسب بزنید.' show_collections: افراد خواهند توانست پی‌گیران و پی‌گرفته شده‌هایتان را مرور کنند. افرادی که پی‌می‌گیریدشان در هر صورت خواهند دید که پی‌می‌گیریدشان. - unlocked: افراد خواهند توانست بدون درخواست تأیید پی‌بگیرندتان. اگر می‌خواهید درخواست‌های پی‌گیری را بازبینی کرده و بگزینید که پی‌گیران جدید را بپذیرید یا رد کنید، علامت را بردارید. account_alias: acct: مشخّص کردن username@domain حسابی که می‌خواهید از آن منتقل شوید account_migration: diff --git a/config/locales/simple_form.fr-CA.yml b/config/locales/simple_form.fr-CA.yml index d2ce30ec8e3df8..d38aeaa4140333 100644 --- a/config/locales/simple_form.fr-CA.yml +++ b/config/locales/simple_form.fr-CA.yml @@ -9,7 +9,6 @@ fr-CA: indexable: Vos messages publics peuvent apparaître dans les résultats de recherche sur Mastodon. Les personnes qui ont interagi avec vos messages peuvent les trouver dans une recherche quoi qu’il arrive. note: 'Vous pouvez @mentionner d’autres personnes ou des #hashtags.' show_collections: Les gens pourront voir les personnes que vous suivez ou qui vous suivent. Ceux que vous suivez verront que vous les suivez dans tous les cas. - unlocked: Les gens pourront vous suivre sans demander d'approbation. Décochez cette option si vous voulez valider les demandes d'abonnement et choisir d'accepter ou de rejeter les nouveaux abonnés. account_alias: acct: Spécifiez l’identifiant@domaine du compte que vous souhaitez faire migrer account_migration: diff --git a/config/locales/simple_form.fr.yml b/config/locales/simple_form.fr.yml index 626032600aaacc..b601bf0b66e81d 100644 --- a/config/locales/simple_form.fr.yml +++ b/config/locales/simple_form.fr.yml @@ -9,7 +9,6 @@ fr: indexable: Vos messages publics peuvent apparaître dans les résultats de recherche sur Mastodon. Les personnes qui ont interagi avec vos messages peuvent les trouver dans une recherche quoi qu’il arrive. note: 'Vous pouvez @mentionner d’autres personnes ou des #hashtags.' show_collections: Les gens pourront voir les personnes que vous suivez ou qui vous suivent. Ceux que vous suivez verront que vous les suivez dans tous les cas. - unlocked: Les gens pourront vous suivre sans demander d'approbation. Décochez cette option si vous voulez valider les demandes d'abonnement et choisir d'accepter ou de rejeter les nouveaux abonnés. account_alias: acct: Spécifiez l’identifiant@domaine du compte à partir duquel vous souhaitez migrer account_migration: diff --git a/config/locales/simple_form.fy.yml b/config/locales/simple_form.fy.yml index c840342db5cf4d..6a37a092013d30 100644 --- a/config/locales/simple_form.fy.yml +++ b/config/locales/simple_form.fy.yml @@ -10,7 +10,6 @@ fy: indexable: Jo iepenbiere berjochten kinne ferskine yn de sykresultaten op Mastodon. Minsken dy’t reagearre hawwe op jo berjochten kinne se hoe dan ek trochsykje. note: 'Jo kinne oare minsken @fermelde of #hashtags brûke.' show_collections: Minsken kinne sjen wa’t jo folgje en wa’t jo folget. - unlocked: Minsken kinne jo folgje sûnder dêrfoar tastimming freegje te hoegen. Wannear’t jo nije folgers hânmjittich goedkarre wolle, moatte jo dizze opsje deselektearje. account_alias: acct: Fermeld de brûkersnamme@domein fan de account fan wêr’t jo ferhúzje wolle account_migration: diff --git a/config/locales/simple_form.ga.yml b/config/locales/simple_form.ga.yml index f8257a9da9dd10..62d59235bf2aa5 100644 --- a/config/locales/simple_form.ga.yml +++ b/config/locales/simple_form.ga.yml @@ -10,7 +10,6 @@ ga: indexable: Seans go mbeidh do phostálacha poiblí le feiceáil sna torthaí cuardaigh ar Mastodon. Seans go mbeidh daoine a d’idirghníomhaigh le do phostálacha in ann iad a chuardach beag beann ar. note: 'Is féidir leat @trá a dhéanamh ar dhaoine eile nó #hashtags.' show_collections: Beidh daoine in ann brabhsáil trí do seo a leanas agus do leanúna. Feicfidh na daoine a leanann tú go leanann tú iad beag beann ar. - unlocked: Beidh daoine in ann tú a leanúint gan cead a iarraidh. Díthiceáil an dteastaíonn uait athbhreithniú a dhéanamh ar iarratais leantacha agus roghnaigh cé acu an nglacfaidh nó an diúltóidh tú do leantóirí nua. account_alias: acct: Sonraigh ainm@fearann don chuntas ar mhaith leat aistriú uaidh account_migration: diff --git a/config/locales/simple_form.gd.yml b/config/locales/simple_form.gd.yml index af1f06a3167eb2..4083469b6314e5 100644 --- a/config/locales/simple_form.gd.yml +++ b/config/locales/simple_form.gd.yml @@ -10,7 +10,6 @@ gd: indexable: Faodaidh na postaichean poblach agad a nochdadh am measg toraidhean luirg air Mastodon. ’S urrainn dhan fheadhainn a rinn eadar-ghabhail leis na postaichean agad lorg annta air a h-uile dòigh. note: "’S urrainn dhut @iomradh a thoirt air càch no air #tagaicheanHais." show_collections: "’S urrainn do chàch na dàimhean leantainn agad a rùrachadh. Chì daoine a leanas tu gu bheil thu ’gan leantainn air a h-uile dòigh." - unlocked: "’S urrainnear do leantainn gun aontachadh iarraidh. Thoir a’ chromag far a’ bhogsa nam bu mhiann leat lèirmheas a dhèanamh air na h-iarrtasan leantainn agus taghadh an aontaich thu ri neach-leantainn ùr no an dhiùlt thu iad." account_alias: acct: Sònraich ainm-cleachdaiche@àrainn dhen chunntas a tha thu airson imrich uaithe account_migration: diff --git a/config/locales/simple_form.ia.yml b/config/locales/simple_form.ia.yml index 85fa74f1edd960..5ac75aafb1a14c 100644 --- a/config/locales/simple_form.ia.yml +++ b/config/locales/simple_form.ia.yml @@ -9,7 +9,6 @@ ia: indexable: Tu messages public pote apparer in le resultatos de recerca sur Mastodon. Le personas qui ha interagite con tu messages pote cercar los in omne caso. note: 'Tu pote @mentionar altere personas o #hashtags.' show_collections: Le gente potera percurrer le listas de personas que tu seque e qui te seque. Le personas que tu seque videra que tu les seque in omne caso. - unlocked: Le personas potera sequer te sin requestar approbation. Dismarca si tu vole revider le requestas de sequimento e seliger si acceptar o rejectar nove sequitores. account_alias: acct: Specifica le nomine_de_usator@dominio del conto desde le qual tu vole migrar account_migration: diff --git a/config/locales/simple_form.ie.yml b/config/locales/simple_form.ie.yml index 771e34161615f8..56e737172dcd81 100644 --- a/config/locales/simple_form.ie.yml +++ b/config/locales/simple_form.ie.yml @@ -9,7 +9,6 @@ ie: indexable: Tui public postas posse aparir in sercha-resultates sur Mastodon. E in omni casu, tis qui ha interactet con tui postas va posser serchar e trovar les. note: 'Tu posse @mentionar altri persones o #hashtags.' show_collections: Gente va posser navigar tra tui sequentes e sequitores. Gente quem tu seque va vider que tu seque les sin egarda. - unlocked: Persones va posser sequer te sin petir aprobation. Desselecte si tu vole manualmen tractar petitiones de sequer e decider ca acceptar o rejecter nov sequitores. account_alias: acct: Specificar li usatornomine@dominia del conto ex quel tu vole translocar account_migration: diff --git a/config/locales/simple_form.io.yml b/config/locales/simple_form.io.yml index 1df50081951292..631e7182fd41d6 100644 --- a/config/locales/simple_form.io.yml +++ b/config/locales/simple_form.io.yml @@ -9,7 +9,6 @@ io: indexable: Vua posta publika povos aparar en rezultaji di serchi che Mastodon. Personi qui interagis kun vua posti povos serchar oli irgakaze. note: 'Vu povas @mencionar altra personi o #hashtagi.' show_collections: Personi povos navigar tra vua sequati e sequanti. Personi quin vu sequas, vidos ke vu sequas li irgakaze. - unlocked: Personi povos sequar vu sen demandar aprobo. Deselektez se vu volas revuar sequadodemandi e selektez aceptar o refuzar nova sequati. account_alias: acct: Partikulare pozez uzantonomo@domeno di konto quon vua volas ektransferesar account_migration: diff --git a/config/locales/simple_form.it.yml b/config/locales/simple_form.it.yml index c36fce36f74930..b1fb6c3fc15e8d 100644 --- a/config/locales/simple_form.it.yml +++ b/config/locales/simple_form.it.yml @@ -10,7 +10,7 @@ it: indexable: I tuoi post pubblici potrebbero apparire nei risultati di ricerca su Mastodon. Le persone che hanno interagito con i tuoi post potrebbero essere in grado di cercarli anche se non hai attivato questa impostazione. note: 'Puoi @menzionare altre persone o usare gli #hashtags.' show_collections: Le persone saranno in grado di navigare attraverso i tuoi seguaci e seguaci. Le persone che segui vedranno che li seguirai indipendentemente dalle tue impostazioni. - unlocked: Le persone saranno in grado di seguirti senza richiedere l'approvazione. Deseleziona se vuoi controllare le richieste di seguirti e scegli se accettare o rifiutare nuovi follower. + unlocked: Le persone potranno seguirti senza richiedere l'approvazione. Deseleziona questa opzione, se vuoi rivedere le richieste per poterti seguire e scegliere se accettare o rifiutare i nuovi seguaci. account_alias: acct: Indica il nomeutente@dominio dell'account dal quale vuoi trasferirti account_migration: diff --git a/config/locales/simple_form.lad.yml b/config/locales/simple_form.lad.yml index de37005312d456..712c2f4e8a8c10 100644 --- a/config/locales/simple_form.lad.yml +++ b/config/locales/simple_form.lad.yml @@ -9,7 +9,6 @@ lad: indexable: Tus publikasyones publikas pueden apareser en rezultados de bushkeda en Mastodon. Personas ke enteraktuaron kon tus publikasyones syempre pueden bushkarlas inkluzo si trokes esta preferensya. note: 'Puedes @enmentar a otra djente o #etiketas.' show_collections: Otra djente podra ver tus segidos i suivantes. Personas a las kualas siges siempre podran ver que las estas sigiendo. - unlocked: Djente va poder segirte sin solisitar tu achetasyon. Deseleksyona si keres revizar solisitasyones de segimyento i dechidir si keres achetar o refuzar a muevos suivantes. account_alias: acct: Espesifika tu nombre de utilizador@domeno del kuento de ande keres migrar account_migration: diff --git a/config/locales/simple_form.lt.yml b/config/locales/simple_form.lt.yml index de3dd2f31c64e0..d9204efaaaba33 100644 --- a/config/locales/simple_form.lt.yml +++ b/config/locales/simple_form.lt.yml @@ -10,7 +10,6 @@ lt: indexable: Tavo vieši įrašai gali būti rodomi Mastodon paieškos rezultatuose. Žmonės, kurie bendravo su tavo įrašais, gali jų ieškoti nepriklausomai nuo to. note: 'Gali @paminėti kitus žmones arba #saitažodžius.' show_collections: Žmonės galės peržiūrėti tavo sekimus ir sekėjus. Žmonės, kuriuos seki, matys, kad juos seki, nepaisant to. - unlocked: Žmonės galės tave sekti nepaprašę patvirtinimo. Panaikink žymėjimą, jei nori peržiūrėti sekimo prašymus ir pasirinkti, ar priimti, ar atmesti naujus sekėjus. account_alias: acct: Nurodyk paskyros, iš kurios nori perkelti, naudotojo vardą@domeną account_migration: diff --git a/config/locales/simple_form.lv.yml b/config/locales/simple_form.lv.yml index 106e29d2de1aa0..da8dac3c22d7d7 100644 --- a/config/locales/simple_form.lv.yml +++ b/config/locales/simple_form.lv.yml @@ -10,7 +10,6 @@ lv: indexable: Tavi publiskie ieraksti var tikt parādīti Mastodon meklēšanas iznākumā. Cilvēki, kuri ir mijiedarbojušies ar Taviem ierakstiem, var tos meklēt neatkarīgi no tā. note: 'Tu vari @minēt citus cilvēkus vai #mirkļbirkas.' show_collections: Cilvēki varēs pārlūkot Tavus sekotājus un sekojamos. Cilvēki, kuriem Tu seko, redzēs, ka Tu seko viņiem neatkarīgi no tā. - unlocked: Cilvēki varēs tev sekot, neprasot apstiprinājumu. Noņem atzīmi, ja vēlies pārskatīt sekošanas pieprasījumus un izvēlēties, pieņemt vai noraidīt jaunus sekotājus. account_alias: acct: Norādi konta lietotājvārdu@domēnu, no kura vēlies pārvākties account_migration: @@ -183,7 +182,7 @@ lv: autofollow: Uzaicini sekot tavam kontam avatar: Profila attēls bot: Šis ir automatizēts konts - chosen_languages: Filtrēt valodas + chosen_languages: Atlasīt valodas confirm_new_password: Apstiprināt jauno paroli confirm_password: Apstiprināt paroli context: Filtrēt kontekstus diff --git a/config/locales/simple_form.ms.yml b/config/locales/simple_form.ms.yml index ecc3588d67690d..96c6002aa466a1 100644 --- a/config/locales/simple_form.ms.yml +++ b/config/locales/simple_form.ms.yml @@ -9,7 +9,6 @@ ms: indexable: Kiriman awam anda mungkin muncul dalam hasil carian di Mastodon. Orang yang telah berinteraksi dengan kiriman anda mungkin boleh mencarinya. note: 'Anda boleh @menyebut orang lain atau #hashtags.' show_collections: Orang akan dapat menyemak imbas ikutan dan pengikut anda. Orang yang anda ikuti akan melihat bahawa anda tetap mengikuti mereka. - unlocked: Orang akan dapat mengikuti anda tanpa meminta kelulusan. Nyahtanda jika anda ingin menyemak permintaan ikutan dan pilih sama ada untuk menerima atau menolak pengikut baharu. account_alias: acct: Tentukan namapengguna@domain akaun yang ingin anda alihkan daripada account_migration: diff --git a/config/locales/simple_form.my.yml b/config/locales/simple_form.my.yml index abcb11bdaa5e56..474b0f6cb41fd5 100644 --- a/config/locales/simple_form.my.yml +++ b/config/locales/simple_form.my.yml @@ -9,7 +9,6 @@ my: indexable: သင်၏ အများမြင်ပို့စ်များသည် Mastodon ရှိ ရှာဖွေမှုရလဒ်များတွင် ပေါ်လာနိုင်သည်။ သင့်ပို့စ်များမှတစ်ဆင့် အပြန်အလှန်တုံ့ပြန်ပြီး ရှာဖွေနိုင်ပါမည်။ note: 'သင်သည် အခြားသူများ သို့မဟုတ် #hashtag များကို @mention ဖြင့် ဖော်ပြနိုင်သည်။' show_collections: သင်စောင့်ကြည့်သူများနှင့် သင့်ကိုစောင့်ကြည့်သူများမှတစ်ဆင့် ရှာဖွေနိုင်မည်ဖြစ်သည်။ သင်စောင့်ကြည့်သူများသည် သင်သူတို့ကို မည်သို့စောင့်ကြည့်သည်ကို တွေ့ရလိမ့်မည်။ - unlocked: ခွင့်ပြုချက်မတောင်းဘဲ လူများက သင့်ကိုစောင့်ကြည့်နိုင်ပါမည်။ စောင့်ကြည့်ရန်အတွက် တောင်းဆိုချက်များထားရှိလိုပါက အမှန်ခြစ်ဖြုတ်ပြီး စောင့်ကြည့်သူသစ်များကို လက်ခံခြင်း သို့မဟုတ် ငြင်းပယ်ခြင်းလည်း အမှန်ခြစ်ဖြုတ်နိုင်ပါသည်။ account_alias: acct: ပြောင်းရွှေ့မည့်အကောင့်မှ username@domain ကို သတ်မှတ်ပါ account_migration: diff --git a/config/locales/simple_form.nn.yml b/config/locales/simple_form.nn.yml index 46b7af4bdb08d8..008af2c5acdcb4 100644 --- a/config/locales/simple_form.nn.yml +++ b/config/locales/simple_form.nn.yml @@ -10,7 +10,6 @@ nn: indexable: Dei offentlege innlegga dine kan dukka opp i søkjeresultat på Mastodon. Folk som har reagert på oinnlegga dine kan uansett søkja gjennom dei. note: 'Du kan @nemne folk eller #emneknaggar.' show_collections: Andre kan sjå kven du fylgjer og kven som fylgjer deg. Dei du fylgjer kan alltid sjå at du fylgjer dei. - unlocked: Alle kan fylgja deg utan å måtta be om det. Vel bort dersom du vil gå gjennom førespurnader om å fylgja deg og seia ja eller nei til kvar av dei. account_alias: acct: Angi brukarnamn@domene til brukaren du ynskjer å flytta frå account_migration: diff --git a/config/locales/simple_form.no.yml b/config/locales/simple_form.no.yml index 73ba17cd4cc198..fb7a8088762d1d 100644 --- a/config/locales/simple_form.no.yml +++ b/config/locales/simple_form.no.yml @@ -9,7 +9,6 @@ indexable: Dine offentlige innlegg kan vises i søkeresultat på Mastodon. Personer som har samhandlet med innleggene dine kan finne de uansett. note: 'Du kan @nevne andre eller #emneknagger.' show_collections: Folk vil kunne bla gjennom de du følger og dine følgere. Folk du følger vil uansett se at du følger dem. - unlocked: Folk vil kunne følge deg uten å be om godkjenning. Fjern markeringen om du vil gjennomgå følge-forespørsler og velge om du vil akseptere eller avvise nye følgere. account_alias: acct: Spesifiser brukernavn@domene til kontoen du vil flytte fra account_migration: diff --git a/config/locales/simple_form.pl.yml b/config/locales/simple_form.pl.yml index c5ff55c15de10f..4fba45098d47ea 100644 --- a/config/locales/simple_form.pl.yml +++ b/config/locales/simple_form.pl.yml @@ -10,7 +10,6 @@ pl: indexable: Twoje publiczne wpisy mogą pojawiać się w wynikach wyszukiwania w Mastodonie. Użytkownicy, którzy wchodzili w interakcje z twoimi wpisami będą mogli je znaleźć niezależnie od tego ustawienia. note: 'Możesz @wspomnieć użytkowników albo #hasztagi.' show_collections: Twoja lista obserwowanych i obserwujących będzie widoczna dla wszystkich. Użytkownicy których obserwujesz będą jednak o tym wiedzieli. - unlocked: Inni użytkownicy będą mogli cię obserwować bez proszenia o zgodę. Odznacz, jeżeli chcesz aprobować obserwujących ręcznie po przejrzeniu próśb o obserwowanie. account_alias: acct: Określ nazwę@domenę konta z którego chcesz się przenieść account_migration: diff --git a/config/locales/simple_form.pt-BR.yml b/config/locales/simple_form.pt-BR.yml index 16d7cfe4458bf9..0c6be63aaae1e1 100644 --- a/config/locales/simple_form.pt-BR.yml +++ b/config/locales/simple_form.pt-BR.yml @@ -10,7 +10,6 @@ pt-BR: indexable: Suas publicações públicas podem aparecer nos resultados da pesquisa em Mastodon. As pessoas que interagiram com suas publicações podem conseguir pesquisá-las independentemente disso. note: 'Você pode @mencionar outras pessoas ou #hashtags.' show_collections: As pessoas poderão navegar entre os seus seguidores e seguidores. As pessoas que você segue verão que você as segue independentemente disso. - unlocked: As pessoas poderão te seguir sem pedir aprovação. Desmarque se você deseja revisar pedidos e escolher se aceita ou rejeita novos seguidores. account_alias: acct: Especifique o usuário@domínio de onde veio account_migration: diff --git a/config/locales/simple_form.pt-PT.yml b/config/locales/simple_form.pt-PT.yml index 3b606df03229b1..a172ed27527918 100644 --- a/config/locales/simple_form.pt-PT.yml +++ b/config/locales/simple_form.pt-PT.yml @@ -9,7 +9,6 @@ pt-PT: indexable: As suas mensagens públicas podem aparecer nos resultados da pesquisa no Mastodon. Independentemente disso, as pessoas que interagiram com as suas publicações podem ser capazes de as pesquisar. note: 'Pode @mencionar outras pessoas ou #hashtags.' show_collections: As pessoas podem navegar pelas listas das pessoas que segue e dos seus seguidores. Independentemente disso, as pessoas que segue verão que você as segue. - unlocked: As pessoas podem segui-lo/a sem pedir a sua aprovação. Desmarque se quiser rever os pedidos para seguir e escolher se aceita ou rejeita os novos seguidores. account_alias: acct: Especifique o utilizador@domínio da conta de onde você deseja migrar account_migration: diff --git a/config/locales/simple_form.ro.yml b/config/locales/simple_form.ro.yml index 458638ddec1acb..63dcf91343b598 100644 --- a/config/locales/simple_form.ro.yml +++ b/config/locales/simple_form.ro.yml @@ -3,11 +3,14 @@ ro: simple_form: hints: account: + attribution_domains_as_text: Una pe linie. Protejează împotriva atribuirilor false. discoverable: Este posibil ca postările și profilul tău să fie recomandate în diferite zone ale Mastodon, iar profilul tău ar poate fi sugerat altor utilizatori. + display_name: Numele dvs. complet sau numele dvs. amuzant. fields: Pagina ta principală, pronumele tale, vârsta, sau orice îți dorești. indexable: Postările tale publice pot apărea în rezultatele căutărilor pe Mastodon. Persoanele care au interacționat cu postările tale vor putea să le caute oricând. note: 'Poți @menționa alte persoane sau #hashtag-uri.' - unlocked: Alte persoane vă vor putea urmări fără a solicita aprobare. Debifați dacă doriți să revizuiți cererile și să alegeți dacă doriți să acceptați sau să respingeți noii urmăritori. + show_collections: Oamenii vor putea să răsfoiască urmăriți și urmăritorii dvs. Oamenii pe care îi urmăriți vor vedea că îi urmăriți indiferent. + unlocked: Alte persoane vă vor putea urmări fără a solicita aprobare. Debifați dacă doriți să revizuiți cererile de urmărire și să alegeți dacă doriți să acceptați sau să respingeți noii urmăritori. account_alias: acct: Specificați numele de utilizator@domeniu al contului de la care doriți să treceți account_migration: @@ -20,6 +23,12 @@ ro: send_email_notification: Utilizatorul va primi o explicație cu privire la ceea ce sa întâmplat cu contul lui text_html: Opțional. Poți utiliza sintaxe. Poți adăuga avertismente predefinite pentru a salva timp type_html: Alege ce se întâmplă cu %{acct} + types: + disable: Împiedicați utilizatorul să-și folosească contul, dar nu ștergeți sau ascundeți conținutul acestuia. + none: Utilizați acest lucru pentru a trimite o avertizare utilizatorului, fără a declanșa nicio altă acțiune. + sensitive: Forțează toate atașamentele media ale acestui utilizator să fie marcate ca sensibile. + silence: Împiedicați utilizatorul să poată posta cu vizibilitate publică, ascundeți postările și notificările de la persoanele care nu le urmăresc. Închide toate rapoartele pentru acest cont. + suspend: Preveniți orice interacțiune din sau către acest cont și ștergeți conținutul acestuia. Reversibil în 30 de zile. Închide toate rapoartele pentru acest cont. warning_preset_id: Opțional. Poți adăuga text personalizat la sfârșitul presetului announcement: all_day: Când este bifat, numai datele intervalului de timp vor fi afișate @@ -27,6 +36,8 @@ ro: scheduled_at: Lăsați necompletat pentru a publica anunțul imediat starts_at: Opțional. În cazul în care anunțul tău este legat de un anumit interval de timp text: Poți folosi sintaxa de postare. Te rugăm să fii atent la spațiul pe care anunțul îl va ocupa pe ecranul utilizatorului + appeal: + text: Puteți contesta un avertisment o singură dată defaults: autofollow: Persoanele care se înregistrează datorită invitației tale te vor urmări automat avatar: WEBP, PNG, GIF sau JPG. Cel mult %{size}. Va fi redimensionată la %{dimensions}px @@ -65,18 +76,64 @@ ro: actions: hide: Ascunde complet conținutul filtrat, ca și cum nu ar exista warn: Ascunde conținutul filtrat în spatele unui avertisment care menționează titlul filtrului + form_admin_settings: + activity_api_enabled: Numărul de postări publicate local, utilizatori activi și înregistrări noi în grupe săptămânale + app_icon: WEBP, PNG, GIF sau JPG. Înlocuiește pictograma implicită a aplicației pe dispozitivele mobile cu o pictogramă personalizată. + backups_retention_period: Utilizatorii au posibilitatea de a genera arhive ale postărilor lor pentru a le descărca mai târziu. Când este setat la o valoare pozitivă, aceste arhive vor fi șterse automat din spațiul dvs. de stocare după numărul de zile specificat. + bootstrap_timeline_accounts: Aceste conturi vor fi fixate în partea de sus a recomandărilor de urmărire ale noilor utilizatori. + closed_registrations_message: Afișat când înscrierile sunt închise + content_cache_retention_period: Toate postările de pe alte servere (inclusiv amplificarea și răspunsurile) vor fi șterse după numărul specificat de zile, fără a ține cont de interacțiunea utilizatorului local cu acele postări. Aceasta include postările în care un utilizator local le-a marcat ca marcaje sau favorite. Mențiunile private între utilizatorii din diferite instanțe se vor pierde și vor fi imposibil de restaurat. Utilizarea acestei setări este destinată cazurilor cu scop special și încalcă multe așteptări ale utilizatorilor atunci când este implementată pentru uz general. + custom_css: Puteți aplica stiluri personalizate pe versiunea web a Mastodon. + favicon: WEBP, PNG, GIF sau JPG. Suprascrie favicon-ul implicit Mastodon cu o pictogramă personalizată. + mascot: Suprascrie ilustrația din interfața web avansată. + media_cache_retention_period: Fișierele media din postările făcute de utilizatorii la distanță sunt stocate în cache pe serverul dvs. Când este setată la o valoare pozitivă, fișierele media vor fi ștearse după numărul specificat de zile. Dacă datele media sunt solicitate după ce sunt șterse, acestea vor fi re-descărcate, dacă conținutul sursă este încă disponibil. Din cauza restricțiilor cu privire la frecvența cu care cardurile de previzualizare a linkurilor interogează site-urile terțelor părți, se recomandă să setați această valoare la cel puțin 14 zile, sau cardurile de previzualizare a linkurilor nu vor fi actualizate la cerere înainte de această oră. + peers_api_enabled: O listă de nume de domenii pe care acest server le-a întâlnit în fediverse. Nu sunt incluse aici date despre dacă vă federați cu un anumit server, doar că serverul dvs. știe despre asta. Acesta este folosit de serviciile care colectează statistici despre federație în sens general. + profile_directory: Directorul de profil listează toți utilizatorii care au optat pentru a fi descoperibili. + require_invite_text: Când înscrierile necesită aprobare manuală, faceți introducerea textului „De ce doriți să vă alăturați?” obligatorie și nu opțională + site_contact_email: Cum vă pot contacta oamenii pentru întrebări juridice sau de asistență. + site_contact_username: Cum vă pot contacta oamenii pe Mastodon. + site_extended_description: Orice informație suplimentară care poate fi utilă vizitatorilor și utilizatorilor dvs. Poate fi structurată cu sintaxa Markdown. + site_short_description: O descriere scurtă pentru a ajuta la identificarea unică a serverului dvs. Cine-l conduce, pentru cine este? + site_terms: Utilizați propria politică de confidențialitate sau lăsați necompletat pentru a o utiliza pe cea implicit. Poate fi structurată cu sintaxa Markdown. + site_title: Cum se pot referi oamenii la serverul dvs. în afară de numele său de domeniu. + status_page_url: URL-ul unei pagini unde oamenii pot vedea starea acestui server în timpul unei întreruperi + theme: Tema pe care vizitatorii deconectați și utilizatorii noi o văd. + thumbnail: O imagine de aproximativ 2:1 afișată alături de informațiile serverului dvs. + timeline_preview: Vizitatorii deconectați vor putea să răsfoiască cele mai recente postări publice disponibile pe server. + trendable_by_default: Omiteți revizuirea manuală a conținutului în tendințe. Elementele individuale pot fi în continuare eliminate din tendințe după fapt. + trends: Tendințele arată ce postări, hashtag-uri și știri câștigă teren pe serverul dvs. + trends_as_landing_page: Afișați conținut în tendințe utilizatorilor deconectați și vizitatorilor în loc de o descriere a acestui server. Necesită ca tendințele să fie activate. form_challenge: current_password: Ați intrat într-o zonă securizată imports: data: Fișierul CSV exportat de la o altă instanță invite_request: text: Acest lucru ne va ajuta să revizuim cererea dvs + ip_block: + comment: Opțional. Amintiți-vă de ce ați adăugat această regulă. + expires_in: Adresele IP sunt o resursă finită, uneori sunt partajate și adesea se schimbă. Din acest motiv, blocurile IP nedefinite nu sunt recomandate. + ip: Introduceți o adresă IPv4 sau IPv6. Puteți bloca întregul spectru folosind sintaxa CIDR. Aveți grijă să nu vă blocați! + severities: + no_access: Blocați accesul la toate resursele + sign_up_block: Nu vor fi posibile înscrieri noi + sign_up_requires_approval: Înscrierile noi vor necesita aprobarea dvs. + severity: Alegeți ce se va întâmpla cu cererile de la acestă adresă IP + rule: + hint: Opțional. Oferiți mai multe detalii despre regulă + text: Descrieți o regulă sau o cerință pentru utilizatorii de pe acest server. Încercați să o faceți scurtă și simplă sessions: otp: 'Introdu codul pentru dubla protecție generat de telefonul mobil sau unul din codurile de rezervă:' + webauthn: Dacă este o cheie USB, asigurați-vă că o introduceți și, dacă este necesar, atingeți-o. + settings: + indexable: Pagina dvs. de profil poate apărea în rezultatele căutării pe Google, Bing și altele. + show_application: Veți putea întotdeauna să vedeți ce aplicație v-a publicat postarea. tag: name: Poți doar să schimbi caseta literelor, de exemplu, pentru a o face mai lizibilă user: chosen_languages: Doar postările în limbile selectate vor fi afișate în fluxurile publice + role: Rolul controlează ce permisiuni are utilizatorul. + user_role: + color: Culoare care va fi folosită pentru rol în întreaga interfață, ca RGB în format hexazecimal labels: account: fields: diff --git a/config/locales/simple_form.ru.yml b/config/locales/simple_form.ru.yml index 37626ff9fd1ec2..d8822d35b92901 100644 --- a/config/locales/simple_form.ru.yml +++ b/config/locales/simple_form.ru.yml @@ -10,7 +10,6 @@ ru: indexable: Ваши публичные сообщения могут появляться в результатах поиска на Mastodon. Люди, которые взаимодействовали с вашими сообщениями, могут искать их независимо от этого. note: 'Вы можете @упоминать других людей или #хэштеги.' show_collections: Люди смогут просматривать список ваших подписок и подписчиков. Люди, за которыми вы следуете, будут видеть, что вы подписаны на них, несмотря ни на что. - unlocked: Люди смогут подписываться на вас, не запрашивая подтверждения. Снимите флажок, если вы хотите просматривать запросы на подписку и выбирать, принимать или отклонять новых подписчиков. account_alias: acct: Укажите имя_пользователя@домен учётной записи, с которой вы собираетесь мигрировать account_migration: diff --git a/config/locales/simple_form.sl.yml b/config/locales/simple_form.sl.yml index d1ae553c8c245e..1f1867854e275e 100644 --- a/config/locales/simple_form.sl.yml +++ b/config/locales/simple_form.sl.yml @@ -9,7 +9,6 @@ sl: indexable: Vaše javne objave se lahko pojavijo v rezultatih iskanja na Mastodonu. Ljudje, ki so bili v interakciji z vašimi objavami, jih bodo lahko iskali ne glede na to. note: 'Druge osebe lahko @omenite ali #ključnite.' show_collections: Ljudje bodo lahko brskali po vaših sledilcih in sledenih. Ljudje, ki jim sledite, bodo videli, da jim sledite ne glede na to. - unlocked: Ljudje vam bodo lahko sledili, ne da bi zahtevali odobritev. Ne potrdite, če želite pregledati prošnje za sledenje, in izbirajte, ali želite nove sledilce sprejeti ali zavrniti. account_alias: acct: Določite uporabniškoime@domena računa, od katerega se želite preseliti account_migration: diff --git a/config/locales/simple_form.sr-Latn.yml b/config/locales/simple_form.sr-Latn.yml index 1dec901340da26..fee7600074b29e 100644 --- a/config/locales/simple_form.sr-Latn.yml +++ b/config/locales/simple_form.sr-Latn.yml @@ -9,7 +9,6 @@ sr-Latn: indexable: Vaše javne objave se mogu pojaviti u rezultatima pretrage na Mastodon-u. Ljudi koji su stupili u interakciju sa vašim objavama će možda moći da ih pretražuju. note: 'Možete da @pomenete druge ljude ili #heš oznake.' show_collections: Ljudi će moći da pregledaju vaše pratioce i pratioce. Ljudi koje pratite videće da ih pratite. - unlocked: Ljudi će moći da vas prate bez zahtevanja odobrenja. Opozovite izbor ako želite da pregledate zahteve za praćenje i izaberite da li da prihvatite ili odbijete nove pratioce. account_alias: acct: Navedite korisničko_ime@domen naloga sa kojeg želite da se preselite account_migration: diff --git a/config/locales/simple_form.sr.yml b/config/locales/simple_form.sr.yml index 9566e0947535a7..7161627e287fd3 100644 --- a/config/locales/simple_form.sr.yml +++ b/config/locales/simple_form.sr.yml @@ -9,7 +9,6 @@ sr: indexable: Ваше јавне објаве се могу појавити у резултатима претраге на Mastodon-у. Људи који су ступили у интеракцију са вашим објавама ће можда моћи да их претражују. note: 'Можете да @поменете друге људе или #хеш ознаке.' show_collections: Људи ће моћи да прегледају ваше пратиоце и пратиоце. Људи које пратите видеће да их пратите. - unlocked: Људи ће моћи да вас прате без захтевања одобрења. Опозовите избор ако желите да прегледате захтеве за праћење и изаберите да ли да прихватите или одбијете нове пратиоце. account_alias: acct: Наведите корисничко_име@домен налога са којег желите да се преселите account_migration: diff --git a/config/locales/simple_form.sv.yml b/config/locales/simple_form.sv.yml index 72c3f000f60cac..b8303e29450aa0 100644 --- a/config/locales/simple_form.sv.yml +++ b/config/locales/simple_form.sv.yml @@ -10,7 +10,6 @@ sv: indexable: Dina offentliga inlägg kan visas i sökresultat på Mastodon. Personer som har interagerat med dina inlägg kan söka dem oavsett. note: 'Du kan @nämna andra personer eller #hashtaggar.' show_collections: Andra kan se vem du följer och vem som följer dig. De du följer kan alltid se att du följer dem. - unlocked: Andra kommer att kunna följa dig utan att begära godkännande. Avmarkera om du vill granska följeslagare och välja om du vill acceptera eller avvisa nya följare. account_alias: acct: Ange användarnamn@domän för kontot som du vill flytta från account_migration: diff --git a/config/locales/simple_form.th.yml b/config/locales/simple_form.th.yml index f8f4d3f11947cf..0ba54e26ce4b61 100644 --- a/config/locales/simple_form.th.yml +++ b/config/locales/simple_form.th.yml @@ -10,7 +10,6 @@ th: indexable: โพสต์สาธารณะของคุณอาจปรากฏในผลลัพธ์การค้นหาใน Mastodon ผู้คนที่ได้โต้ตอบกับโพสต์ของคุณอาจสามารถค้นหาโพสต์เหล่านั้นได้ไม่ว่าอย่างไรก็ตาม note: 'คุณสามารถ @กล่าวถึง ผู้คนอื่น ๆ หรือ #แฮชแท็ก' show_collections: ผู้คนจะสามารถเรียกดูการติดตามและผู้ติดตามของคุณ ผู้คนที่คุณติดตามจะเห็นว่าคุณติดตามเขาไม่ว่าอย่างไรก็ตาม - unlocked: ผู้คนจะสามารถติดตามคุณได้โดยไม่ต้องขอการอนุมัติ เลิกกาเครื่องหมายหากคุณต้องการตรวจทานคำขอติดตามและเลือกว่าจะยอมรับหรือปฏิเสธผู้ติดตามใหม่ account_alias: acct: ระบุ username@domain ของบัญชีที่คุณต้องการย้ายจาก account_migration: diff --git a/config/locales/simple_form.zh-CN.yml b/config/locales/simple_form.zh-CN.yml index 6586c372efd238..5f98d73be67115 100644 --- a/config/locales/simple_form.zh-CN.yml +++ b/config/locales/simple_form.zh-CN.yml @@ -10,7 +10,7 @@ zh-CN: indexable: 您的公开嘟文会出现在 Mastodon 的搜索结果中。无论是否勾选,与您的嘟文有过交互的人都可能通过搜索找到它们。 note: '你可以提及 @其他人 或 #标签 。' show_collections: 人们将能够浏览您的关注和追随者。您关注的人会看到您关注他们。 - unlocked: 人们将能够在不请求批准的情况下关注你。如果你希望审核关注请求并选择接受或拒绝新的粉丝,请取消勾选此项。 + unlocked: 人们将能够在不请求批准的情况下关注你。如果你希望审核关注请求并选择接受或拒绝新的关注者,请取消勾选此项。 account_alias: acct: 指定你想要迁移过来的原账号:用户名@站点域名 account_migration: diff --git a/config/locales/simple_form.zh-HK.yml b/config/locales/simple_form.zh-HK.yml index dd134a58fba866..c77de84e4a83ca 100644 --- a/config/locales/simple_form.zh-HK.yml +++ b/config/locales/simple_form.zh-HK.yml @@ -9,7 +9,6 @@ zh-HK: indexable: 你的公開帖文可能會出現在 Mastodon 的搜尋結果中。無論如何,與你帖文互動過的人都能搜尋到它。 note: '你可以 @提及他人 或使用 #主題標籤。' show_collections: 大家可瀏覽你追蹤的人和你的追蹤者。你追蹤的人無論如何都會看到你追蹤了他們。 - unlocked: 大家毋須獲得批准即可追蹤你。如果你想審核追蹤請求,來接受或拒絕新追蹤者,請取消勾選。 account_alias: acct: 指定欲移動之帳戶的「使用者名稱@域名」 account_migration: diff --git a/config/locales/sq.yml b/config/locales/sq.yml index 980eff1aa58eac..6cff74fb5085ac 100644 --- a/config/locales/sq.yml +++ b/config/locales/sq.yml @@ -645,6 +645,7 @@ sq: report: 'Raportim #%{id}' reported_account: Llogari e raportuar reported_by: Raportuar nga + reported_with_application: Raportuar me aplikacion resolved: I zgjidhur resolved_msg: Raportimi u zgjidh me sukses! skip_to_actions: Kaloni te veprimet diff --git a/config/locales/sv.yml b/config/locales/sv.yml index bd33e837bda0bf..b2ec21b82e606d 100644 --- a/config/locales/sv.yml +++ b/config/locales/sv.yml @@ -60,10 +60,10 @@ sv: deleted: Raderad demote: Degradera destroyed_msg: "%{username}s data har nu lagts till kön för att raderas omedelbart" - disable: inaktivera + disable: Inaktivera disable_sign_in_token_auth: Inaktivera autentisering med pollett via e-post disable_two_factor_authentication: Inaktivera 2FA - disabled: inaktiverad + disabled: Inaktiverad display_name: Visningsnamn domain: Domän edit: Redigera @@ -142,7 +142,7 @@ sv: only_password: Endast lösenord password_and_2fa: Lösenord och 2FA sensitive: Känsligt - sensitized: markerad som känsligt + sensitized: Markerad som känsligt shared_inbox_url: Delad inkorg URL show: created_reports: Anmälningar som skapats av det här kontot @@ -836,7 +836,7 @@ sv: title: Kontoinlägg trending: Trendande visibility: Synlighet - with_media: med media + with_media: Med media strikes: actions: delete_statuses: "%{name} raderade %{target}s inlägg" @@ -1494,7 +1494,7 @@ sv: not_ready: Kan inte bifoga filer som inte har behandlats färdigt. Försök igen om ett ögonblick! too_many: Det går inte att bifoga mer än 4 filer migrations: - acct: användarnamn@domän av det nya kontot + acct: Flyttad till cancel: Avbryt omdirigering cancel_explanation: Avstängning av omdirigeringen kommer att återaktivera ditt nuvarande konto, men kommer inte att återskapa följare som har flyttats till det kontot. cancelled_msg: Avbröt omdirigeringen. @@ -1703,7 +1703,7 @@ sv: ios: iOS kai_os: KaiOS linux: Linux - mac: Mac + mac: macOS unknown_platform: Okänd plattform windows: Windows windows_mobile: Windows Mobile @@ -1879,7 +1879,7 @@ sv: subject: Andra faktorns autentiseringsfel title: Misslyckad tvåfaktorsautentisering suspicious_sign_in: - change_password: Ändra ditt lösenord + change_password: ändra ditt lösenord details: 'Här är inloggningsdetaljerna:' explanation: Vi har upptäckt en inloggning till ditt konto från en ny IP-adress. further_actions_html: Om detta inte var du, rekommenderar vi att du snarast %{action} och aktiverar tvåfaktorsautentisering för att hålla ditt konto säkert. From e97f4b18ad5abcb992c6027fefd66b7dcc5b7268 Mon Sep 17 00:00:00 2001 From: Claire Date: Tue, 12 Nov 2024 09:54:18 +0100 Subject: [PATCH 179/357] Update changelog and docker tags to v4.3.1 (#32849) --- CHANGELOG.md | 42 ++++++++++++++++++++++++++++++++++++++++++ docker-compose.yml | 6 +++--- 2 files changed, 45 insertions(+), 3 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 0fc5291d7226b5..0696f0b31c18f7 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -2,6 +2,48 @@ All notable changes to this project will be documented in this file. +## [4.3.1] - 2024-10-21 + +### Added + +- Add more explicit explanations about author attribution and `fediverse:creator` (#32383 by @ClearlyClaire) +- Add ability to group follow notifications in WebUI, can be disabled in the column settings (#32520 by @renchap) +- Add back a 6 hours mute duration option (#32522 by @renchap) +- Add note about not changing ActiveRecord encryption secrets once they are set (#32413, #32476, #32512, and #32537 by @ClearlyClaire and @mjankowski) + +### Changed + +- Change translation feature to translate to selected regional variant (e.g. pt-BR) if available (#32428 by @c960657) + +### Removed + +- Remove ability to get embed code for remote posts (#32578 by @ClearlyClaire)\ + Getting the embed code is only reliable for local posts.\ + It never worked for non-Mastodon servers, and stopped working correctly with the changes made in 4.3.0.\ + We have therefore decided to remove the menu entry while we investigate solutions. + +### Fixed + +- Fix follow recommendation moderation page default language when using regional variant (#32580 by @ClearlyClaire) +- Fix column-settings spacing in local timeline in advanced view (#32567 by @lindwurm) +- Fix broken i18n in text welcome mailer tags area (#32571 by @mjankowski) +- Fix missing or incorrect cache-control headers for Streaming server (#32551 by @ThisIsMissEm) +- Fix only the first paragraph being displayed in some notifications (#32348 by @ClearlyClaire) +- Fix reblog icons on account media view (#32506 by @tribela) +- Fix Content-Security-Policy not allowing OpenStack SWIFT object storage URI (#32439 by @kenkiku1021) +- Fix back arrow pointing to the incorrect direction in RTL languages (#32485 by @renchap) +- Fix streaming server using `REDIS_USERNAME` instead of `REDIS_USER` (#32493 by @ThisIsMissEm) +- Fix follow recommendation carrousel scrolling on RTL layouts (#32462 and #32505 by @ClearlyClaire) +- Fix follow recommendation suppressions not applying immediately (#32392 by @ClearlyClaire) +- Fix language of push notifications (#32415 by @ClearlyClaire) +- Fix mute duration not being shown in list of muted accounts in web UI (#32388 by @ClearlyClaire) +- Fix “Mark every notification as read” not updating the read marker if scrolled down (#32385 by @ClearlyClaire) +- Fix “Mention” appearing for otherwise filtered posts (#32356 by @ClearlyClaire) +- Fix notification requests from suspended accounts still being listed (#32354 by @ClearlyClaire) +- Fix list edition modal styling (#32358 and #32367 by @ClearlyClaire and @vmstan) +- Fix 4 columns barely not fitting on 1920px screen (#32361 by @ClearlyClaire) +- Fix icon alignment in applications list (#32293 by @mjankowski) + ## [4.3.0] - 2024-10-08 The following changelog entries focus on changes visible to users, administrators, client developers or federated software developers, but there has also been a lot of code modernization, refactoring, and tooling work, in particular by @mjankowski. diff --git a/docker-compose.yml b/docker-compose.yml index 37cb16497fbfb9..6018b85a708674 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -59,7 +59,7 @@ services: web: # You can uncomment the following line if you want to not use the prebuilt image, for example if you have local code changes # build: . - image: ghcr.io/mastodon/mastodon:v4.3.0 + image: ghcr.io/mastodon/mastodon:v4.3.1 restart: always env_file: .env.production command: bundle exec puma -C config/puma.rb @@ -83,7 +83,7 @@ services: # build: # dockerfile: ./streaming/Dockerfile # context: . - image: ghcr.io/mastodon/mastodon-streaming:v4.3.0 + image: ghcr.io/mastodon/mastodon-streaming:v4.3.1 restart: always env_file: .env.production command: node ./streaming/index.js @@ -101,7 +101,7 @@ services: sidekiq: build: . - image: ghcr.io/mastodon/mastodon:v4.3.0 + image: ghcr.io/mastodon/mastodon:v4.3.1 restart: always env_file: .env.production command: bundle exec sidekiq From bf609090b1b9c0649fdcb51b5acb3453deef84ca Mon Sep 17 00:00:00 2001 From: Emelia Smith Date: Tue, 12 Nov 2024 09:55:17 +0100 Subject: [PATCH 180/357] Fix: prevent linking to pages which require extra permissions (#32843) --- app/views/admin/dashboard/index.html.haml | 8 ++++---- app/views/admin/instances/_dashboard.html.haml | 4 ++-- 2 files changed, 6 insertions(+), 6 deletions(-) diff --git a/app/views/admin/dashboard/index.html.haml b/app/views/admin/dashboard/index.html.haml index 2b4d02fa67c0a0..c3b7933293f95a 100644 --- a/app/views/admin/dashboard/index.html.haml +++ b/app/views/admin/dashboard/index.html.haml @@ -16,7 +16,7 @@ .dashboard__item = react_admin_component :counter, end_at: @time_period.last, - href: admin_accounts_path(origin: 'local'), + href: current_user.can?(:manage_users) ? admin_accounts_path(origin: 'local') : nil, label: t('admin.dashboard.new_users'), measure: 'new_users', start_at: @time_period.first @@ -24,7 +24,7 @@ .dashboard__item = react_admin_component :counter, end_at: @time_period.last, - href: admin_accounts_path(origin: 'local'), + href: current_user.can?(:manage_users) ? admin_accounts_path(origin: 'local') : nil, label: t('admin.dashboard.active_users'), measure: 'active_users', start_at: @time_period.first @@ -39,7 +39,7 @@ .dashboard__item = react_admin_component :counter, end_at: @time_period.last, - href: admin_reports_path, + href: current_user.can?(:manage_reports) ? admin_reports_path : nil, label: t('admin.dashboard.opened_reports'), measure: 'opened_reports', start_at: @time_period.first @@ -47,7 +47,7 @@ .dashboard__item = react_admin_component :counter, end_at: @time_period.last, - href: admin_reports_path(resolved: '1'), + href: current_user.can?(:manage_reports) ? admin_reports_path(resolved: '1') : nil, label: t('admin.dashboard.resolved_reports'), measure: 'resolved_reports', start_at: @time_period.first diff --git a/app/views/admin/instances/_dashboard.html.haml b/app/views/admin/instances/_dashboard.html.haml index ef8500103be462..16dcb051a280f8 100644 --- a/app/views/admin/instances/_dashboard.html.haml +++ b/app/views/admin/instances/_dashboard.html.haml @@ -7,7 +7,7 @@ .dashboard__item = react_admin_component :counter, end_at: period_end_at, - href: admin_accounts_path(origin: 'remote', by_domain: instance_domain), + href: current_user.can?(:manage_users) ? admin_accounts_path(origin: 'remote', by_domain: instance_domain) : nil, label: t('admin.instances.dashboard.instance_accounts_measure'), measure: 'instance_accounts', params: { domain: instance_domain }, @@ -43,7 +43,7 @@ .dashboard__item = react_admin_component :counter, end_at: period_end_at, - href: admin_reports_path(by_target_domain: instance_domain), + href: current_user.can?(:manage_reports) ? admin_reports_path(by_target_domain: instance_domain) : nil, label: t('admin.instances.dashboard.instance_reports_measure'), measure: 'instance_reports', params: { domain: instance_domain }, From 897cb1803e14a4e0eafec44de7ffe37d7a0d2a28 Mon Sep 17 00:00:00 2001 From: Matt Jankowski Date: Tue, 12 Nov 2024 03:56:04 -0500 Subject: [PATCH 181/357] Run `bin/rails db:schema:dump` under Rails 7.2 (#32838) --- db/schema.rb | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/db/schema.rb b/db/schema.rb index ec029366a54bf1..30b16a8a82d66e 100644 --- a/db/schema.rb +++ b/db/schema.rb @@ -10,7 +10,7 @@ # # It's strongly recommended that you check this file into your version control system. -ActiveRecord::Schema[7.1].define(version: 2024_11_04_082851) do +ActiveRecord::Schema[7.2].define(version: 2024_11_04_082851) do # These are extensions that must be enabled in order to support this database enable_extension "plpgsql" @@ -261,10 +261,10 @@ end create_table "annual_report_statuses_per_account_counts", force: :cascade do |t| - t.integer "year", null: false - t.bigint "account_id", null: false - t.bigint "statuses_count", null: false - t.index ["year", "account_id"], name: "idx_on_year_account_id_ff3e167cef", unique: true + t.integer "year", null: false + t.bigint "account_id", null: false + t.bigint "statuses_count", null: false + t.index ["year", "account_id"], name: "idx_on_year_account_id_ff3e167cef", unique: true end create_table "appeals", force: :cascade do |t| From 5d9dde3ec04ecd17baa8e6a352599725bd21c3ae Mon Sep 17 00:00:00 2001 From: Matt Jankowski Date: Tue, 12 Nov 2024 03:57:06 -0500 Subject: [PATCH 182/357] Add age/expiry duration constants to `BulkImport` class (#32839) --- app/lib/vacuum/imports_vacuum.rb | 10 ++++++-- app/models/bulk_import.rb | 6 +++++ spec/models/bulk_import_spec.rb | 42 ++++++++++++++++++++++++++++++++ 3 files changed, 56 insertions(+), 2 deletions(-) create mode 100644 spec/models/bulk_import_spec.rb diff --git a/app/lib/vacuum/imports_vacuum.rb b/app/lib/vacuum/imports_vacuum.rb index b67865194f39a9..7f101c45063951 100644 --- a/app/lib/vacuum/imports_vacuum.rb +++ b/app/lib/vacuum/imports_vacuum.rb @@ -9,10 +9,16 @@ def perform private def clean_unconfirmed_imports! - BulkImport.state_unconfirmed.where(created_at: ..10.minutes.ago).in_batches.delete_all + BulkImport + .confirmation_missed + .in_batches + .delete_all end def clean_old_imports! - BulkImport.where(created_at: ..1.week.ago).in_batches.delete_all + BulkImport + .archival_completed + .in_batches + .delete_all end end diff --git a/app/models/bulk_import.rb b/app/models/bulk_import.rb index 9b3f4c8a3ae64a..e3e46d7b1c6310 100644 --- a/app/models/bulk_import.rb +++ b/app/models/bulk_import.rb @@ -21,6 +21,9 @@ class BulkImport < ApplicationRecord self.inheritance_column = false + ARCHIVE_PERIOD = 1.week + CONFIRM_PERIOD = 10.minutes + belongs_to :account has_many :rows, class_name: 'BulkImportRow', inverse_of: :bulk_import, dependent: :delete_all @@ -42,6 +45,9 @@ class BulkImport < ApplicationRecord validates :type, presence: true + scope :archival_completed, -> { where(created_at: ..ARCHIVE_PERIOD.ago) } + scope :confirmation_missed, -> { state_unconfirmed.where(created_at: ..CONFIRM_PERIOD.ago) } + def self.progress!(bulk_import_id, imported: false) # Use `increment_counter` so that the incrementation is done atomically in the database BulkImport.increment_counter(:processed_items, bulk_import_id) diff --git a/spec/models/bulk_import_spec.rb b/spec/models/bulk_import_spec.rb new file mode 100644 index 00000000000000..a3bd01d2a85dec --- /dev/null +++ b/spec/models/bulk_import_spec.rb @@ -0,0 +1,42 @@ +# frozen_string_literal: true + +require 'rails_helper' + +RSpec.describe BulkImport do + describe 'Associations' do + it { is_expected.to belong_to(:account).required } + it { is_expected.to have_many(:rows).class_name('BulkImportRow').inverse_of(:bulk_import).dependent(:delete_all) } + end + + describe 'Validations' do + subject { Fabricate.build :bulk_import } + + it { is_expected.to validate_presence_of(:type) } + end + + describe 'Scopes' do + describe '.archival_completed' do + let!(:old_import) { Fabricate :bulk_import, created_at: 1.month.ago } + let!(:new_import) { Fabricate :bulk_import, created_at: 1.day.ago } + + it 'returns imports which have passed the archive window period' do + expect(described_class.archival_completed) + .to include(old_import) + .and not_include(new_import) + end + end + + describe '.confirmation_missed' do + let!(:old_unconfirmed_import) { Fabricate :bulk_import, created_at: 1.week.ago, state: :unconfirmed } + let!(:old_scheduled_import) { Fabricate :bulk_import, created_at: 1.week.ago, state: :scheduled } + let!(:new_unconfirmed_import) { Fabricate :bulk_import, created_at: 1.minute.ago, state: :unconfirmed } + + it 'returns imports which have passed the confirmation window without confirming' do + expect(described_class.confirmation_missed) + .to include(old_unconfirmed_import) + .and not_include(old_scheduled_import) + .and not_include(new_unconfirmed_import) + end + end + end +end From f8e96e761b8de0d9a0c9ad3664a00225e3984065 Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Tue, 12 Nov 2024 10:09:53 +0100 Subject: [PATCH 183/357] Update dependency strong_migrations to v2.1.0 (#32810) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> --- Gemfile.lock | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/Gemfile.lock b/Gemfile.lock index 64abf4d77a3e60..743a78ad54df5e 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -117,7 +117,7 @@ GEM base64 (0.2.0) bcp47_spec (0.2.1) bcrypt (3.1.20) - benchmark (0.3.0) + benchmark (0.4.0) better_errors (2.10.1) erubi (>= 1.0.0) rack (>= 0.9.0) @@ -753,7 +753,7 @@ GEM scenic (1.8.0) activerecord (>= 4.0.0) railties (>= 4.0.0) - securerandom (0.3.1) + securerandom (0.3.2) selenium-webdriver (4.26.0) base64 (~> 0.2) logger (~> 1.4) @@ -795,7 +795,7 @@ GEM stoplight (4.1.0) redlock (~> 1.0) stringio (3.1.1) - strong_migrations (2.0.2) + strong_migrations (2.1.0) activerecord (>= 6.1) swd (1.3.0) activesupport (>= 3) @@ -810,7 +810,7 @@ GEM test-prof (1.4.2) thor (1.3.2) tilt (2.4.0) - timeout (0.4.1) + timeout (0.4.2) tpm-key_attestation (0.12.1) bindata (~> 2.4) openssl (> 2.0) From 32e5e1d3f166062e4939b3fbf25dff5657417893 Mon Sep 17 00:00:00 2001 From: Eugen Rochko Date: Tue, 12 Nov 2024 13:35:35 +0100 Subject: [PATCH 184/357] Fix a few visual issues with annual reports in web UI (#32807) --- .../features/annual_report/most_used_hashtag.tsx | 15 ++++++++------- .../features/annual_report/percentile.tsx | 4 ++-- app/javascript/mastodon/locales/en.json | 1 + app/javascript/styles/mastodon-light/diff.scss | 7 +++++++ .../styles/mastodon/annual_reports.scss | 9 +++++++-- 5 files changed, 25 insertions(+), 11 deletions(-) diff --git a/app/javascript/mastodon/features/annual_report/most_used_hashtag.tsx b/app/javascript/mastodon/features/annual_report/most_used_hashtag.tsx index 0e4c78f6398930..4b59b897375aff 100644 --- a/app/javascript/mastodon/features/annual_report/most_used_hashtag.tsx +++ b/app/javascript/mastodon/features/annual_report/most_used_hashtag.tsx @@ -7,16 +7,17 @@ export const MostUsedHashtag: React.FC<{ }> = ({ data }) => { const hashtag = data[0]; - if (!hashtag) { - return ( -
- ); - } - return (
- #{hashtag.name} + {hashtag ? ( + <>#{hashtag.name} + ) : ( + + )}
(
), diff --git a/app/javascript/mastodon/locales/en.json b/app/javascript/mastodon/locales/en.json index 5bc8c4ad711671..9728528f8ea863 100644 --- a/app/javascript/mastodon/locales/en.json +++ b/app/javascript/mastodon/locales/en.json @@ -101,6 +101,7 @@ "annual_report.summary.highlighted_post.possessive": "{name}'s", "annual_report.summary.most_used_app.most_used_app": "most used app", "annual_report.summary.most_used_hashtag.most_used_hashtag": "most used hashtag", + "annual_report.summary.most_used_hashtag.none": "None", "annual_report.summary.new_posts.new_posts": "new posts", "annual_report.summary.percentile.text": "That puts you in the topof Mastodon users.", "annual_report.summary.percentile.we_wont_tell_bernie": "We won't tell Bernie.", diff --git a/app/javascript/styles/mastodon-light/diff.scss b/app/javascript/styles/mastodon-light/diff.scss index 45da56994c0c6e..3d4539bb9de58c 100644 --- a/app/javascript/styles/mastodon-light/diff.scss +++ b/app/javascript/styles/mastodon-light/diff.scss @@ -535,3 +535,10 @@ a.sparkline { ::-webkit-scrollbar-thumb { opacity: 0.25; } + +.notification-group--annual-report { + .notification-group__icon, + .notification-group__main .link-button { + color: var(--indigo-3); + } +} diff --git a/app/javascript/styles/mastodon/annual_reports.scss b/app/javascript/styles/mastodon/annual_reports.scss index 39784e3b5ea12b..dff1c76ecac462 100644 --- a/app/javascript/styles/mastodon/annual_reports.scss +++ b/app/javascript/styles/mastodon/annual_reports.scss @@ -103,6 +103,11 @@ background-color: var(--goldenrod-2); } } + + .status-card, + .hashtag-bar { + display: none; + } } &__followers { @@ -237,7 +242,7 @@ } &__number { - font-size: 61px; + font-size: 54px; font-weight: 600; line-height: 73px; color: var(--goldenrod-2); @@ -306,7 +311,7 @@ } .annual-report-modal { - max-width: 480px; + max-width: 600px; background: var(--indigo-1); border-radius: 16px; display: flex; From f5f6273d2badd896cb6ca39ccdd645c339354fa2 Mon Sep 17 00:00:00 2001 From: Claire Date: Tue, 12 Nov 2024 14:00:52 +0100 Subject: [PATCH 185/357] Move `ALLOWED_PRIVATE_ADDRESSES` parsing to an initializer (#32850) --- app/lib/request.rb | 6 +----- config/initializers/allowed_private_addresses.rb | 5 +++++ 2 files changed, 6 insertions(+), 5 deletions(-) create mode 100644 config/initializers/allowed_private_addresses.rb diff --git a/app/lib/request.rb b/app/lib/request.rb index d7da9fe63c1303..a12e6e37476261 100644 --- a/app/lib/request.rb +++ b/app/lib/request.rb @@ -334,14 +334,10 @@ def open(host, *args) def check_private_address(address, host) addr = IPAddr.new(address.to_s) - return if Rails.env.development? || private_address_exceptions.any? { |range| range.include?(addr) } + return if Rails.env.development? || Rails.configuration.x.private_address_exceptions.any? { |range| range.include?(addr) } raise Mastodon::PrivateNetworkAddressError, host if PrivateAddressCheck.private_address?(addr) end - - def private_address_exceptions - @private_address_exceptions = (ENV['ALLOWED_PRIVATE_ADDRESSES'] || '').split(/(?:\s*,\s*|\s+)/).map { |addr| IPAddr.new(addr) } - end end end diff --git a/config/initializers/allowed_private_addresses.rb b/config/initializers/allowed_private_addresses.rb new file mode 100644 index 00000000000000..65c7af03b4d08d --- /dev/null +++ b/config/initializers/allowed_private_addresses.rb @@ -0,0 +1,5 @@ +# frozen_string_literal: true + +Rails.application.configure do + config.x.private_address_exceptions = (ENV['ALLOWED_PRIVATE_ADDRESSES'] || '').split(/(?:\s*,\s*|\s+)/).map { |addr| IPAddr.new(addr) } +end From 884bbf7ae239a9b07055e1a7d0238b213c2c8520 Mon Sep 17 00:00:00 2001 From: Matt Jankowski Date: Tue, 12 Nov 2024 10:43:55 -0500 Subject: [PATCH 186/357] Prepare the way for banning a bunch of usernames (#32856) --- spec/lib/feed_manager_spec.rb | 16 ++++++++-------- .../models/concerns/account/interactions_spec.rb | 4 ++-- 2 files changed, 10 insertions(+), 10 deletions(-) diff --git a/spec/lib/feed_manager_spec.rb b/spec/lib/feed_manager_spec.rb index 1d704996746338..afb007af427cb5 100644 --- a/spec/lib/feed_manager_spec.rb +++ b/spec/lib/feed_manager_spec.rb @@ -343,16 +343,16 @@ end describe '#push_to_list' do - let(:owner) { Fabricate(:account, username: 'owner') } + let(:list_owner) { Fabricate(:account, username: 'list_owner') } let(:alice) { Fabricate(:account, username: 'alice') } let(:bob) { Fabricate(:account, username: 'bob') } let(:eve) { Fabricate(:account, username: 'eve') } - let(:list) { Fabricate(:list, account: owner) } + let(:list) { Fabricate(:list, account: list_owner) } before do - owner.follow!(alice) - owner.follow!(bob) - owner.follow!(eve) + list_owner.follow!(alice) + list_owner.follow!(bob) + list_owner.follow!(eve) list.accounts << alice list.accounts << bob @@ -377,7 +377,7 @@ end it 'pushes statuses that are replies to list owner' do - status = Fabricate(:status, text: 'Hello world', account: owner) + status = Fabricate(:status, text: 'Hello world', account: list_owner) reply = Fabricate(:status, text: 'Nay', thread: status, account: bob) expect(subject.push_to_list(list, reply)).to be true end @@ -400,7 +400,7 @@ end it 'pushes statuses that are replies to list owner' do - status = Fabricate(:status, text: 'Hello world', account: owner) + status = Fabricate(:status, text: 'Hello world', account: list_owner) reply = Fabricate(:status, text: 'Nay', thread: status, account: bob) expect(subject.push_to_list(list, reply)).to be true end @@ -429,7 +429,7 @@ end it 'pushes statuses that are replies to list owner' do - status = Fabricate(:status, text: 'Hello world', account: owner) + status = Fabricate(:status, text: 'Hello world', account: list_owner) reply = Fabricate(:status, text: 'Nay', thread: status, account: bob) expect(subject.push_to_list(list, reply)).to be true end diff --git a/spec/models/concerns/account/interactions_spec.rb b/spec/models/concerns/account/interactions_spec.rb index 4868054df7e7cb..f7ec3a3912ff97 100644 --- a/spec/models/concerns/account/interactions_spec.rb +++ b/spec/models/concerns/account/interactions_spec.rb @@ -3,10 +3,10 @@ require 'rails_helper' RSpec.describe Account::Interactions do - let(:account) { Fabricate(:account, username: 'account') } + let(:account) { Fabricate(:account) } let(:account_id) { account.id } let(:account_ids) { [account_id] } - let(:target_account) { Fabricate(:account, username: 'target') } + let(:target_account) { Fabricate(:account) } let(:target_account_id) { target_account.id } let(:target_account_ids) { [target_account_id] } From ace426830879b9f4f34fe80430be4ac3235f8c01 Mon Sep 17 00:00:00 2001 From: Matt Jankowski Date: Tue, 12 Nov 2024 12:27:23 -0500 Subject: [PATCH 187/357] Remove unused `api/v1/polls#create` route (#32860) --- config/routes/api.rb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/config/routes/api.rb b/config/routes/api.rb index 95fdf332a0ca66..86e41a2abee7b3 100644 --- a/config/routes/api.rb +++ b/config/routes/api.rb @@ -225,7 +225,7 @@ resources :featured_tags, only: [:index, :create, :destroy] - resources :polls, only: [:create, :show] do + resources :polls, only: [:show] do resources :votes, only: :create, module: :polls end From 2bd56f726a99472b722f9ffafc7c2e4c6ea57350 Mon Sep 17 00:00:00 2001 From: Emelia Smith Date: Tue, 12 Nov 2024 23:06:13 +0100 Subject: [PATCH 188/357] Add client_secret_expires_at to OAuth Applications (#30317) --- app/serializers/rest/credential_application_serializer.rb | 8 +++++++- spec/requests/api/v1/apps/credentials_spec.rb | 1 + spec/requests/api/v1/apps_spec.rb | 1 + 3 files changed, 9 insertions(+), 1 deletion(-) diff --git a/app/serializers/rest/credential_application_serializer.rb b/app/serializers/rest/credential_application_serializer.rb index bfec7d03e80afa..0532390c9a587c 100644 --- a/app/serializers/rest/credential_application_serializer.rb +++ b/app/serializers/rest/credential_application_serializer.rb @@ -1,7 +1,7 @@ # frozen_string_literal: true class REST::CredentialApplicationSerializer < REST::ApplicationSerializer - attributes :client_id, :client_secret + attributes :client_id, :client_secret, :client_secret_expires_at def client_id object.uid @@ -10,4 +10,10 @@ def client_id def client_secret object.secret end + + # Added for future forwards compatibility when we may decide to expire OAuth + # Applications. Set to zero means that the client_secret never expires. + def client_secret_expires_at + 0 + end end diff --git a/spec/requests/api/v1/apps/credentials_spec.rb b/spec/requests/api/v1/apps/credentials_spec.rb index 8e5fa14b7e82a5..3aca53ed0ab1f7 100644 --- a/spec/requests/api/v1/apps/credentials_spec.rb +++ b/spec/requests/api/v1/apps/credentials_spec.rb @@ -44,6 +44,7 @@ expect(response.parsed_body) .to not_include(client_id: be_present) .and not_include(client_secret: be_present) + .and not_include(client_secret_expires_at: be_present) end end diff --git a/spec/requests/api/v1/apps_spec.rb b/spec/requests/api/v1/apps_spec.rb index cf43e14d62c267..4e9147ba32b932 100644 --- a/spec/requests/api/v1/apps_spec.rb +++ b/spec/requests/api/v1/apps_spec.rb @@ -42,6 +42,7 @@ id: app.id.to_s, client_id: app.uid, client_secret: app.secret, + client_secret_expires_at: 0, name: client_name, website: website, scopes: ['read', 'write'], From a6d829e86fb228be6a8ed8f19b2276e07d5a89e2 Mon Sep 17 00:00:00 2001 From: Matt Jankowski Date: Wed, 13 Nov 2024 03:39:58 -0500 Subject: [PATCH 189/357] Fix error in CLI EmailDomainBlocks when supplying `--with-dns-records` (#32863) --- lib/mastodon/cli/email_domain_blocks.rb | 2 +- .../lib/mastodon/cli/email_domain_blocks_spec.rb | 16 ++++++++++++++++ 2 files changed, 17 insertions(+), 1 deletion(-) diff --git a/lib/mastodon/cli/email_domain_blocks.rb b/lib/mastodon/cli/email_domain_blocks.rb index 7b2da8ef9f4db0..a830ca36617e50 100644 --- a/lib/mastodon/cli/email_domain_blocks.rb +++ b/lib/mastodon/cli/email_domain_blocks.rb @@ -48,7 +48,7 @@ def add(*domains) if options[:with_dns_records] Resolv::DNS.open do |dns| dns.timeouts = 5 - other_domains = dns.getresources(@email_domain_block.domain, Resolv::DNS::Resource::IN::MX).to_a + other_domains = dns.getresources(domain, Resolv::DNS::Resource::IN::MX).to_a.map { |e| e.exchange.to_s }.compact_blank end end diff --git a/spec/lib/mastodon/cli/email_domain_blocks_spec.rb b/spec/lib/mastodon/cli/email_domain_blocks_spec.rb index a5fbd23e652a63..6ce1a7c5f3aee6 100644 --- a/spec/lib/mastodon/cli/email_domain_blocks_spec.rb +++ b/spec/lib/mastodon/cli/email_domain_blocks_spec.rb @@ -63,6 +63,22 @@ .and(change(EmailDomainBlock, :count).by(1)) end end + + context 'with --with-dns-records true' do + let(:domain) { 'host.example' } + let(:arguments) { [domain] } + let(:options) { { with_dns_records: true } } + + before do + configure_mx(domain: domain, exchange: 'other.host') + end + + it 'adds a new block for parent and children' do + expect { subject } + .to output_results('Added 2') + .and(change(EmailDomainBlock, :count).by(2)) + end + end end describe '#remove' do From baad7953849307fa4a6bcdd878b9b2207226352d Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" <41898282+github-actions[bot]@users.noreply.github.com> Date: Wed, 13 Nov 2024 10:33:02 +0100 Subject: [PATCH 190/357] New Crowdin Translations (automated) (#32868) Co-authored-by: GitHub Actions --- app/javascript/mastodon/locales/ca.json | 1 + app/javascript/mastodon/locales/da.json | 1 + app/javascript/mastodon/locales/de.json | 1 + app/javascript/mastodon/locales/eo.json | 11 ++-- app/javascript/mastodon/locales/es-AR.json | 1 + app/javascript/mastodon/locales/es-MX.json | 5 +- app/javascript/mastodon/locales/es.json | 1 + app/javascript/mastodon/locales/fi.json | 13 +++++ app/javascript/mastodon/locales/fo.json | 1 + app/javascript/mastodon/locales/gl.json | 8 +++ app/javascript/mastodon/locales/hu.json | 1 + app/javascript/mastodon/locales/is.json | 1 + app/javascript/mastodon/locales/ko.json | 1 + app/javascript/mastodon/locales/nl.json | 1 + app/javascript/mastodon/locales/nn.json | 22 +++++++ app/javascript/mastodon/locales/pt-BR.json | 1 + app/javascript/mastodon/locales/ru.json | 4 ++ app/javascript/mastodon/locales/sq.json | 1 + app/javascript/mastodon/locales/sv.json | 1 + app/javascript/mastodon/locales/tr.json | 1 + app/javascript/mastodon/locales/uk.json | 1 + app/javascript/mastodon/locales/vi.json | 1 + app/javascript/mastodon/locales/zh-CN.json | 1 + app/javascript/mastodon/locales/zh-TW.json | 1 + config/locales/ca.yml | 8 +++ config/locales/da.yml | 8 +++ config/locales/de.yml | 8 +++ config/locales/fi.yml | 10 +++- config/locales/fo.yml | 8 +++ config/locales/gl.yml | 8 +++ config/locales/hu.yml | 8 +++ config/locales/is.yml | 8 +++ config/locales/ko.yml | 8 +++ config/locales/lt.yml | 8 +++ config/locales/nn.yml | 11 ++++ config/locales/pt-BR.yml | 16 ++++- config/locales/ru.yml | 68 ++++++++++++---------- config/locales/simple_form.ko.yml | 2 +- config/locales/simple_form.lt.yml | 1 + config/locales/simple_form.nl.yml | 2 +- config/locales/simple_form.nn.yml | 1 + config/locales/simple_form.pl.yml | 1 + config/locales/simple_form.ru.yml | 1 + config/locales/simple_form.sv.yml | 1 + config/locales/sq.yml | 8 +++ config/locales/sv.yml | 16 +++-- config/locales/tr.yml | 8 +++ config/locales/vi.yml | 8 +++ config/locales/zh-CN.yml | 8 +++ config/locales/zh-TW.yml | 10 +++- 50 files changed, 278 insertions(+), 47 deletions(-) diff --git a/app/javascript/mastodon/locales/ca.json b/app/javascript/mastodon/locales/ca.json index 160a74af4fae6d..53bfc4474cc5a7 100644 --- a/app/javascript/mastodon/locales/ca.json +++ b/app/javascript/mastodon/locales/ca.json @@ -97,6 +97,7 @@ "annual_report.summary.highlighted_post.possessive": "de {name}", "annual_report.summary.most_used_app.most_used_app": "l'aplicació més utilitzada", "annual_report.summary.most_used_hashtag.most_used_hashtag": "l'etiqueta més utilitzada", + "annual_report.summary.most_used_hashtag.none": "Cap", "annual_report.summary.new_posts.new_posts": "publicacions noves", "annual_report.summary.thanks": "Gràcies per formar part de Mastodon!", "attachments_list.unprocessed": "(sense processar)", diff --git a/app/javascript/mastodon/locales/da.json b/app/javascript/mastodon/locales/da.json index 927d0a7cb834d4..4ba1f4d9e19194 100644 --- a/app/javascript/mastodon/locales/da.json +++ b/app/javascript/mastodon/locales/da.json @@ -101,6 +101,7 @@ "annual_report.summary.highlighted_post.possessive": "{name}s", "annual_report.summary.most_used_app.most_used_app": "mest benyttede app", "annual_report.summary.most_used_hashtag.most_used_hashtag": "mest benyttede hashtag", + "annual_report.summary.most_used_hashtag.none": "Intet", "annual_report.summary.new_posts.new_posts": "nye indlæg", "annual_report.summary.percentile.text": "Det betyder, at man er i topaf Mastodon-brugere.", "annual_report.summary.percentile.we_wont_tell_bernie": "Vi fortæller det ikke til Bernie.", diff --git a/app/javascript/mastodon/locales/de.json b/app/javascript/mastodon/locales/de.json index e7679a363cd264..bd24ccd48fc692 100644 --- a/app/javascript/mastodon/locales/de.json +++ b/app/javascript/mastodon/locales/de.json @@ -101,6 +101,7 @@ "annual_report.summary.highlighted_post.possessive": "{name}", "annual_report.summary.most_used_app.most_used_app": "am häufigsten verwendete App", "annual_report.summary.most_used_hashtag.most_used_hashtag": "am häufigsten verwendeter Hashtag", + "annual_report.summary.most_used_hashtag.none": "Kein", "annual_report.summary.new_posts.new_posts": "neue Beiträge", "annual_report.summary.percentile.text": "Damit gehörst du zu den oberstender Mastodon-Nutzer*innen.", "annual_report.summary.percentile.we_wont_tell_bernie": "Wir werden Bernie nichts verraten.", diff --git a/app/javascript/mastodon/locales/eo.json b/app/javascript/mastodon/locales/eo.json index 757bb39866ed1c..731e11f27aa2f0 100644 --- a/app/javascript/mastodon/locales/eo.json +++ b/app/javascript/mastodon/locales/eo.json @@ -90,6 +90,7 @@ "annual_report.summary.archetype.replier": "La plej societema", "annual_report.summary.followers.followers": "sekvantoj", "annual_report.summary.highlighted_post.by_replies": "afiŝo kun la plej multaj respondoj", + "annual_report.summary.most_used_hashtag.none": "Nenio", "annual_report.summary.new_posts.new_posts": "novaj afiŝoj", "annual_report.summary.thanks": "Dankon pro esti parto de Mastodon!", "attachments_list.unprocessed": "(neprilaborita)", @@ -219,7 +220,7 @@ "dismissable_banner.community_timeline": "Jen la plej novaj publikaj afiŝoj de uzantoj, kies kontojn gastigas {domain}.", "dismissable_banner.dismiss": "Eksigi", "dismissable_banner.explore_links": "Tiuj novaĵoj estas aktuale priparolataj de uzantoj en tiu ĉi kaj aliaj serviloj, sur la malcentrigita reto.", - "dismissable_banner.explore_statuses": "Ĉi tiuj estas afiŝoj de la tuta socia reto, kiuj populariĝas hodiaŭ. Pli novaj afiŝoj kun pli da diskonigoj kaj plej ŝatataj estas rangigitaj pli alte.", + "dismissable_banner.explore_statuses": "Jen afiŝoj en la socia reto kiuj populariĝis hodiaŭ. Novaj afiŝoj kun pli da diskonigoj kaj stelumoj aperas pli alte.", "dismissable_banner.explore_tags": "Ĉi tiuj kradvostoj populariĝas en ĉi tiu kaj aliaj serviloj en la malcentraliza reto nun.", "dismissable_banner.public_timeline": "Ĉi tiuj estas la plej lastatempaj publikaj afiŝoj de homoj en la socia reto, kiujn homoj sur {domain} sekvas.", "domain_block_modal.block": "Bloki servilon", @@ -646,7 +647,7 @@ "onboarding.start.lead": "Vi nun estas parto de Mastodon, unika, malcentralizita socia amaskomunikilara platformo, kie vi—ne algoritmo—zorgas vian propran sperton. Ni komencu vin sur ĉi tiu nova socia limo:", "onboarding.start.skip": "Ĉu vi ne bezonas helpon por komenci?", "onboarding.start.title": "Vi atingas ĝin!", - "onboarding.steps.follow_people.body": "Sekvi interesajn homojn estas pri kio Mastodonto temas.", + "onboarding.steps.follow_people.body": "You curate your own feed. Lets fill it with interesting people.", "onboarding.steps.follow_people.title": "Agordu vian hejman fluon", "onboarding.steps.publish_status.body": "Salutu la mondon per teksto, fotoj, filmetoj aŭ balotenketoj {emoji}", "onboarding.steps.publish_status.title": "Fari vian unuan afiŝon", @@ -780,9 +781,9 @@ "server_banner.is_one_of_many": "{domain} estas unu el la multaj sendependaj Mastodon-serviloj, kiujn vi povas uzi por partopreni en la fediverso.", "server_banner.server_stats": "Statistikoj de la servilo:", "sign_in_banner.create_account": "Krei konton", - "sign_in_banner.follow_anyone": "Sekvi iun ajn tra la fediverso kaj vidi ĉion en kronologia ordo. Neniuj algoritmoj, reklamoj aŭ klakbetoj videblas.", - "sign_in_banner.mastodon_is": "Mastodonto estas la plej bona maniero por resti flank-al-flanke kun kio okazas.", - "sign_in_banner.sign_in": "Saluti", + "sign_in_banner.follow_anyone": "Sekvu iun ajn tra la fediverso kaj vidu ĉion laŭ templinio. Nul algoritmo, reklamo aŭ kliklogilo ĉeestas.", + "sign_in_banner.mastodon_is": "Mastodon estas la plej bona maniero resti ĝisdata pri aktualaĵoj.", + "sign_in_banner.sign_in": "Ensaluti", "sign_in_banner.sso_redirect": "Ensalutu aŭ Registriĝi", "status.admin_account": "Malfermi fasadon de moderigado por @{name}", "status.admin_domain": "Malfermu moderigan interfacon por {domain}", diff --git a/app/javascript/mastodon/locales/es-AR.json b/app/javascript/mastodon/locales/es-AR.json index 9dc7b0d6c0a093..406c52698334ec 100644 --- a/app/javascript/mastodon/locales/es-AR.json +++ b/app/javascript/mastodon/locales/es-AR.json @@ -101,6 +101,7 @@ "annual_report.summary.highlighted_post.possessive": "{name}", "annual_report.summary.most_used_app.most_used_app": "la aplicación más usada", "annual_report.summary.most_used_hashtag.most_used_hashtag": "la etiqueta más usada", + "annual_report.summary.most_used_hashtag.none": "Ninguna", "annual_report.summary.new_posts.new_posts": "nuevos mensajes", "annual_report.summary.percentile.text": "Eso te pone en la cimade los usuarios de Mastodon.", "annual_report.summary.percentile.we_wont_tell_bernie": "No se lo diremos a Bernie.", diff --git a/app/javascript/mastodon/locales/es-MX.json b/app/javascript/mastodon/locales/es-MX.json index 4faa35e5c87ada..63dc31c6dfdc94 100644 --- a/app/javascript/mastodon/locales/es-MX.json +++ b/app/javascript/mastodon/locales/es-MX.json @@ -89,9 +89,9 @@ "announcement.announcement": "Anuncio", "annual_report.summary.archetype.booster": "El cazador de tendencias", "annual_report.summary.archetype.lurker": "El acechador", - "annual_report.summary.archetype.oracle": "El oráculo", + "annual_report.summary.archetype.oracle": "El oraculo", "annual_report.summary.archetype.pollster": "El encuestador", - "annual_report.summary.archetype.replier": "El más sociable", + "annual_report.summary.archetype.replier": "La mariposa sociable", "annual_report.summary.followers.followers": "seguidores", "annual_report.summary.followers.total": "{count} en total", "annual_report.summary.here_it_is": "Aquí está tu resumen de {year}:", @@ -101,6 +101,7 @@ "annual_report.summary.highlighted_post.possessive": "de {name}", "annual_report.summary.most_used_app.most_used_app": "aplicación más usada", "annual_report.summary.most_used_hashtag.most_used_hashtag": "etiqueta más usada", + "annual_report.summary.most_used_hashtag.none": "Ninguna", "annual_report.summary.new_posts.new_posts": "nuevas publicaciones", "annual_report.summary.percentile.text": "Eso te pone en el topde usuarios de Mastodon.", "annual_report.summary.percentile.we_wont_tell_bernie": "No se lo diremos a Bernie.", diff --git a/app/javascript/mastodon/locales/es.json b/app/javascript/mastodon/locales/es.json index d14b7180160695..258b19f411ebe8 100644 --- a/app/javascript/mastodon/locales/es.json +++ b/app/javascript/mastodon/locales/es.json @@ -101,6 +101,7 @@ "annual_report.summary.highlighted_post.possessive": "de {name}", "annual_report.summary.most_used_app.most_used_app": "aplicación más usada", "annual_report.summary.most_used_hashtag.most_used_hashtag": "etiqueta más usada", + "annual_report.summary.most_used_hashtag.none": "Ninguna", "annual_report.summary.new_posts.new_posts": "nuevas publicaciones", "annual_report.summary.percentile.text": "Eso te pone en el topde usuarios de Mastodon.", "annual_report.summary.percentile.we_wont_tell_bernie": "No se lo diremos a Bernie.", diff --git a/app/javascript/mastodon/locales/fi.json b/app/javascript/mastodon/locales/fi.json index 32069b1a03801b..2763c39168def9 100644 --- a/app/javascript/mastodon/locales/fi.json +++ b/app/javascript/mastodon/locales/fi.json @@ -87,10 +87,22 @@ "alert.unexpected.title": "Hups!", "alt_text_badge.title": "Vaihtoehtoinen teksti", "announcement.announcement": "Tiedote", + "annual_report.summary.archetype.booster": "Tehostaja", + "annual_report.summary.archetype.lurker": "Lymyilijä", + "annual_report.summary.archetype.oracle": "Oraakkeli", + "annual_report.summary.archetype.pollster": "Mielipidetutkija", "annual_report.summary.archetype.replier": "Sosiaalinen perhonen", + "annual_report.summary.followers.followers": "seuraajaa", + "annual_report.summary.followers.total": "{count} yhteensä", + "annual_report.summary.here_it_is": "Tässä on katsaus vuoteesi {year}:", + "annual_report.summary.highlighted_post.by_favourites": "suosikkeihin lisätyin julkaisu", "annual_report.summary.highlighted_post.by_reblogs": "tehostetuin julkaisu", + "annual_report.summary.highlighted_post.by_replies": "julkaisu, jolla on eniten vastauksia", + "annual_report.summary.highlighted_post.possessive": "Käyttäjän {name}", "annual_report.summary.most_used_app.most_used_app": "käytetyin sovellus", "annual_report.summary.most_used_hashtag.most_used_hashtag": "käytetyin aihetunniste", + "annual_report.summary.new_posts.new_posts": "uutta julkaisua", + "annual_report.summary.percentile.text": "Olet osa huippujoukkoa, johon kuuluuMastodon-käyttäjistä.", "annual_report.summary.thanks": "Kiitos, että olet osa Mastodonia!", "attachments_list.unprocessed": "(käsittelemätön)", "audio.hide": "Piilota ääni", @@ -513,6 +525,7 @@ "notification.admin.report_statuses_other": "{name} raportoi käyttäjän {target}", "notification.admin.sign_up": "{name} rekisteröityi", "notification.admin.sign_up.name_and_others": "{name} ja {count, plural, one {# muu} other {# muuta}} rekisteröityivät", + "notification.annual_report.message": "Vuoden {year} #Wrapstodon odottaa! Paljasta vuotesi kohokohdat ikimuistoiset hetket Mastodonissa!", "notification.annual_report.view": "Näytä #Wrapstodon", "notification.favourite": "{name} lisäsi julkaisusi suosikkeihinsa", "notification.favourite.name_and_others_with_link": "{name} ja {count, plural, one {# muu} other {# muuta}} lisäsivät julkaisusi suosikkeihinsa", diff --git a/app/javascript/mastodon/locales/fo.json b/app/javascript/mastodon/locales/fo.json index 6b26ed84fd7cf8..789efaa40e4684 100644 --- a/app/javascript/mastodon/locales/fo.json +++ b/app/javascript/mastodon/locales/fo.json @@ -101,6 +101,7 @@ "annual_report.summary.highlighted_post.possessive": "hjá {name}", "annual_report.summary.most_used_app.most_used_app": "mest brúkta app", "annual_report.summary.most_used_hashtag.most_used_hashtag": "mest brúkta frámerki", + "annual_report.summary.most_used_hashtag.none": "Einki", "annual_report.summary.new_posts.new_posts": "nýggir postar", "annual_report.summary.percentile.text": "Tað fær teg í toppav Mastodon brúkarum.", "annual_report.summary.percentile.we_wont_tell_bernie": "Vit fara ikki at fortelja Bernie tað.", diff --git a/app/javascript/mastodon/locales/gl.json b/app/javascript/mastodon/locales/gl.json index 23f444715b2631..c69a431f4b0e52 100644 --- a/app/javascript/mastodon/locales/gl.json +++ b/app/javascript/mastodon/locales/gl.json @@ -87,6 +87,11 @@ "alert.unexpected.title": "Vaites!", "alt_text_badge.title": "Texto Alt", "announcement.announcement": "Anuncio", + "annual_report.summary.archetype.booster": "A axencia de noticias", + "annual_report.summary.archetype.lurker": "Volleur", + "annual_report.summary.archetype.oracle": "Sabichón/e", + "annual_report.summary.archetype.pollster": "O INE", + "annual_report.summary.archetype.replier": "Lareteire", "annual_report.summary.followers.followers": "seguidoras", "annual_report.summary.followers.total": "{count} en total", "annual_report.summary.here_it_is": "Este é o resumo do teu {year}:", @@ -96,6 +101,7 @@ "annual_report.summary.highlighted_post.possessive": "de {name}", "annual_report.summary.most_used_app.most_used_app": "app que mais usaches", "annual_report.summary.most_used_hashtag.most_used_hashtag": "o cancelo mais utilizado", + "annual_report.summary.most_used_hashtag.none": "Nada", "annual_report.summary.new_posts.new_posts": "novas publicacións", "annual_report.summary.percentile.text": "Sitúante no top das usuarias de Mastodon.", "annual_report.summary.thanks": "Grazas por ser parte de Mastodon!", @@ -520,6 +526,8 @@ "notification.admin.report_statuses_other": "{name} denunciou a {target}", "notification.admin.sign_up": "{name} rexistrouse", "notification.admin.sign_up.name_and_others": "{name} e {count, plural, one {# máis} other {# máis}} crearon unha conta", + "notification.annual_report.message": "A #VidaEnMastodon de {year} agarda por ti! Desvela os momentos máis destacados e historias reseñables en Mastodon!", + "notification.annual_report.view": "Ver #VidaEnMastodon", "notification.favourite": "{name} marcou como favorita a túa publicación", "notification.favourite.name_and_others_with_link": "{name} e {count, plural, one {# máis} other {# máis}} favoreceron a túa publicación", "notification.follow": "{name} comezou a seguirte", diff --git a/app/javascript/mastodon/locales/hu.json b/app/javascript/mastodon/locales/hu.json index cdc113d8d70dc2..2ba7aef34b7290 100644 --- a/app/javascript/mastodon/locales/hu.json +++ b/app/javascript/mastodon/locales/hu.json @@ -101,6 +101,7 @@ "annual_report.summary.highlighted_post.possessive": "{name} fióktól", "annual_report.summary.most_used_app.most_used_app": "legtöbbet használt app", "annual_report.summary.most_used_hashtag.most_used_hashtag": "legtöbbet használt hashtag", + "annual_report.summary.most_used_hashtag.none": "Nincs", "annual_report.summary.new_posts.new_posts": "új bejegyzés", "annual_report.summary.percentile.text": "Ezzel acsúcs Mastodon felhasználó között vagy.", "annual_report.summary.percentile.we_wont_tell_bernie": "Nem mondjuk el Bernie-nek.", diff --git a/app/javascript/mastodon/locales/is.json b/app/javascript/mastodon/locales/is.json index adc86faf40ec24..ecfc6429691e66 100644 --- a/app/javascript/mastodon/locales/is.json +++ b/app/javascript/mastodon/locales/is.json @@ -101,6 +101,7 @@ "annual_report.summary.highlighted_post.possessive": "{name}", "annual_report.summary.most_used_app.most_used_app": "mest notaða forrit", "annual_report.summary.most_used_hashtag.most_used_hashtag": "mest notaða myllumerki", + "annual_report.summary.most_used_hashtag.none": "Ekkert", "annual_report.summary.new_posts.new_posts": "nýjar færslur", "annual_report.summary.percentile.text": "Það setur þig á meðal efstunotenda Mastodon.", "annual_report.summary.percentile.we_wont_tell_bernie": "Við förum ekkert að raupa um þetta.", diff --git a/app/javascript/mastodon/locales/ko.json b/app/javascript/mastodon/locales/ko.json index b5c8d4bd21b27a..43f1e59e5ebdd8 100644 --- a/app/javascript/mastodon/locales/ko.json +++ b/app/javascript/mastodon/locales/ko.json @@ -101,6 +101,7 @@ "annual_report.summary.highlighted_post.possessive": "{name} 님의", "annual_report.summary.most_used_app.most_used_app": "가장 많이 사용한 앱", "annual_report.summary.most_used_hashtag.most_used_hashtag": "가장 많이 사용한 해시태그", + "annual_report.summary.most_used_hashtag.none": "없음", "annual_report.summary.new_posts.new_posts": "새 게시물", "annual_report.summary.percentile.text": "마스토돈 사용자의 상위입니다.", "annual_report.summary.percentile.we_wont_tell_bernie": "엄마한테 말 안 할게요.", diff --git a/app/javascript/mastodon/locales/nl.json b/app/javascript/mastodon/locales/nl.json index b66fcf09c04c0c..eb21d2ad1d32fe 100644 --- a/app/javascript/mastodon/locales/nl.json +++ b/app/javascript/mastodon/locales/nl.json @@ -101,6 +101,7 @@ "annual_report.summary.highlighted_post.possessive": "{name}'s", "annual_report.summary.most_used_app.most_used_app": "meest gebruikte app", "annual_report.summary.most_used_hashtag.most_used_hashtag": "meest gebruikte hashtag", + "annual_report.summary.most_used_hashtag.none": "Geen", "annual_report.summary.new_posts.new_posts": "nieuwe berichten", "annual_report.summary.percentile.text": "Dat zet je in de topvan Mastodon-gebruikers.", "annual_report.summary.percentile.we_wont_tell_bernie": "We zullen Bernie niets vertellen.", diff --git a/app/javascript/mastodon/locales/nn.json b/app/javascript/mastodon/locales/nn.json index cc567541934544..b45ff9058582fb 100644 --- a/app/javascript/mastodon/locales/nn.json +++ b/app/javascript/mastodon/locales/nn.json @@ -87,6 +87,24 @@ "alert.unexpected.title": "Oi sann!", "alt_text_badge.title": "Alternativ tekst", "announcement.announcement": "Kunngjering", + "annual_report.summary.archetype.booster": "Den som jaktar på noko kult", + "annual_report.summary.archetype.lurker": "Den som heng på hjørnet", + "annual_report.summary.archetype.oracle": "Orakelet", + "annual_report.summary.archetype.pollster": "Meiningsmålaren", + "annual_report.summary.archetype.replier": "Den sosiale sumarfuglen", + "annual_report.summary.followers.followers": "fylgjarar", + "annual_report.summary.followers.total": "{count} i alt", + "annual_report.summary.here_it_is": "Her er eit gjensyn med {year}:", + "annual_report.summary.highlighted_post.by_favourites": "det mest omtykte innlegget", + "annual_report.summary.highlighted_post.by_reblogs": "det mest framheva innlegget", + "annual_report.summary.highlighted_post.by_replies": "innlegget med flest svar", + "annual_report.summary.highlighted_post.possessive": "som {name} laga", + "annual_report.summary.most_used_app.most_used_app": "mest brukte app", + "annual_report.summary.most_used_hashtag.most_used_hashtag": "mest brukte emneknagg", + "annual_report.summary.new_posts.new_posts": "nye innlegg", + "annual_report.summary.percentile.text": "Du er av deiivrigaste Mastodon-brukarane.", + "annual_report.summary.percentile.we_wont_tell_bernie": "Ikkje eit ord til pressa.", + "annual_report.summary.thanks": "Takk for at du er med i Mastodon!", "attachments_list.unprocessed": "(ubehandla)", "audio.hide": "Gøym lyd", "block_modal.remote_users_caveat": "Me vil be tenaren {domain} om å respektere di avgjerd. Me kan ikkje garantera at det vert gjort, sidan nokre tenarar kan handtera blokkering ulikt. Offentlege innlegg kan framleis vera synlege for ikkje-innlogga brukarar.", @@ -197,6 +215,7 @@ "confirmations.unfollow.title": "Slutt å fylgja brukaren?", "content_warning.hide": "Gøym innlegg", "content_warning.show": "Vis likevel", + "content_warning.show_more": "Vis meir", "conversation.delete": "Slett samtale", "conversation.mark_as_read": "Marker som lesen", "conversation.open": "Sjå samtale", @@ -305,6 +324,7 @@ "filter_modal.select_filter.subtitle": "Bruk ein eksisterande kategori eller opprett ein ny", "filter_modal.select_filter.title": "Filtrer dette innlegget", "filter_modal.title.status": "Filtrer eit innlegg", + "filter_warning.matches_filter": "Passar med filteret «{title}»", "filtered_notifications_banner.pending_requests": "Frå {count, plural, =0 {ingen} one {éin person} other {# personar}} du kanskje kjenner", "filtered_notifications_banner.title": "Filtrerte varslingar", "firehose.all": "Alle", @@ -506,6 +526,8 @@ "notification.admin.report_statuses_other": "{name} rapporterte {target}", "notification.admin.sign_up": "{name} er registrert", "notification.admin.sign_up.name_and_others": "{name} og {count, plural, one {# annan} other {# andre}} vart med", + "notification.annual_report.message": "#Året ditt for {year} ventar! Sjå kva som skjedde i løpet av Mastodon-året ditt!", + "notification.annual_report.view": "Sjå #Året ditt", "notification.favourite": "{name} markerte innlegget ditt som favoritt", "notification.favourite.name_and_others_with_link": "{name} og {count, plural, one {# annan} other {# andre}} favorittmerka innlegget ditt", "notification.follow": "{name} fylgde deg", diff --git a/app/javascript/mastodon/locales/pt-BR.json b/app/javascript/mastodon/locales/pt-BR.json index 5e69741f201748..e2fbaff02b5858 100644 --- a/app/javascript/mastodon/locales/pt-BR.json +++ b/app/javascript/mastodon/locales/pt-BR.json @@ -101,6 +101,7 @@ "annual_report.summary.highlighted_post.possessive": "{name}", "annual_report.summary.most_used_app.most_used_app": "aplicativo mais usado", "annual_report.summary.most_used_hashtag.most_used_hashtag": "hashtag mais usada", + "annual_report.summary.most_used_hashtag.none": "Nenhuma", "annual_report.summary.new_posts.new_posts": "novas publicações", "annual_report.summary.percentile.text": "Isso o coloca no topodos usuários de Mastodon.", "annual_report.summary.percentile.we_wont_tell_bernie": "Não contaremos à Bernie.", diff --git a/app/javascript/mastodon/locales/ru.json b/app/javascript/mastodon/locales/ru.json index f5617550e16e7c..e336e39e016cdf 100644 --- a/app/javascript/mastodon/locales/ru.json +++ b/app/javascript/mastodon/locales/ru.json @@ -89,9 +89,11 @@ "announcement.announcement": "Объявление", "annual_report.summary.archetype.booster": "Репостер", "annual_report.summary.archetype.lurker": "Молчун", + "annual_report.summary.archetype.oracle": "Шаман", "annual_report.summary.archetype.pollster": "Опросчик", "annual_report.summary.archetype.replier": "Душа компании", "annual_report.summary.followers.followers": "подписчиков", + "annual_report.summary.followers.total": "{count} за всё время", "annual_report.summary.here_it_is": "Вот ваши итоги {year} года:", "annual_report.summary.highlighted_post.by_favourites": "пост с наибольшим количеством звёздочек", "annual_report.summary.highlighted_post.by_reblogs": "пост с наибольшим количеством продвижений", @@ -99,7 +101,9 @@ "annual_report.summary.highlighted_post.possessive": "{name}", "annual_report.summary.most_used_app.most_used_app": "наиболее часто используемое приложение", "annual_report.summary.most_used_hashtag.most_used_hashtag": "наиболее часто используемый хэштег", + "annual_report.summary.most_used_hashtag.none": "Нет", "annual_report.summary.new_posts.new_posts": "новых постов", + "annual_report.summary.percentile.text": "Всё это помещает вас в топпользователей Mastodon.", "annual_report.summary.thanks": "Спасибо за то, что были вместе с Mastodon!", "attachments_list.unprocessed": "(не обработан)", "audio.hide": "Скрыть аудио", diff --git a/app/javascript/mastodon/locales/sq.json b/app/javascript/mastodon/locales/sq.json index 0faee304c6b785..d1d92c69f69e70 100644 --- a/app/javascript/mastodon/locales/sq.json +++ b/app/javascript/mastodon/locales/sq.json @@ -96,6 +96,7 @@ "annual_report.summary.highlighted_post.possessive": "nga {name}", "annual_report.summary.most_used_app.most_used_app": "aplikacioni më i përdorur", "annual_report.summary.most_used_hashtag.most_used_hashtag": "hashtag-u më i përdorur", + "annual_report.summary.most_used_hashtag.none": "Asnjë", "annual_report.summary.new_posts.new_posts": "postime të reja", "annual_report.summary.percentile.text": "Kjo ju vë në kryetë përdoruesve të Mastodon-it.", "annual_report.summary.percentile.we_wont_tell_bernie": "Nuk do t’ia themi Bernit.", diff --git a/app/javascript/mastodon/locales/sv.json b/app/javascript/mastodon/locales/sv.json index ef2d912c00ae39..df24db96344f7d 100644 --- a/app/javascript/mastodon/locales/sv.json +++ b/app/javascript/mastodon/locales/sv.json @@ -101,6 +101,7 @@ "annual_report.summary.highlighted_post.possessive": "{name}s", "annual_report.summary.most_used_app.most_used_app": "mest använda app", "annual_report.summary.most_used_hashtag.most_used_hashtag": "mest använda hashtag", + "annual_report.summary.most_used_hashtag.none": "Inga", "annual_report.summary.new_posts.new_posts": "nya inlägg", "annual_report.summary.percentile.text": "Det placerar dig i toppav Mastodon-användare.", "annual_report.summary.percentile.we_wont_tell_bernie": "Vi berättar inte för Bernie.", diff --git a/app/javascript/mastodon/locales/tr.json b/app/javascript/mastodon/locales/tr.json index 4699b9f4bda3f5..ece97614ad7a58 100644 --- a/app/javascript/mastodon/locales/tr.json +++ b/app/javascript/mastodon/locales/tr.json @@ -101,6 +101,7 @@ "annual_report.summary.highlighted_post.possessive": "{name}", "annual_report.summary.most_used_app.most_used_app": "en çok kullanılan uygulama", "annual_report.summary.most_used_hashtag.most_used_hashtag": "en çok kullanılan etiket", + "annual_report.summary.most_used_hashtag.none": "Yok", "annual_report.summary.new_posts.new_posts": "yeni gönderiler", "annual_report.summary.percentile.text": "Mastodon kullanıcılarınınüst dilimindesiniz.", "annual_report.summary.percentile.we_wont_tell_bernie": "Bernie'ye söylemeyiz.", diff --git a/app/javascript/mastodon/locales/uk.json b/app/javascript/mastodon/locales/uk.json index dcbf8cec58a50f..0e0906eb3794b1 100644 --- a/app/javascript/mastodon/locales/uk.json +++ b/app/javascript/mastodon/locales/uk.json @@ -101,6 +101,7 @@ "annual_report.summary.highlighted_post.possessive": "{name}", "annual_report.summary.most_used_app.most_used_app": "найчастіше використовуваний застосунок", "annual_report.summary.most_used_hashtag.most_used_hashtag": "найчастіший хештег", + "annual_report.summary.most_used_hashtag.none": "Немає", "annual_report.summary.new_posts.new_posts": "нові дописи", "annual_report.summary.percentile.text": "Це виводить вас в топ користувачів Mastodon.", "annual_report.summary.percentile.we_wont_tell_bernie": "Ми не скажемо Bernie.", diff --git a/app/javascript/mastodon/locales/vi.json b/app/javascript/mastodon/locales/vi.json index 2b5401a878f7d6..73016ed8c92587 100644 --- a/app/javascript/mastodon/locales/vi.json +++ b/app/javascript/mastodon/locales/vi.json @@ -101,6 +101,7 @@ "annual_report.summary.highlighted_post.possessive": "{name}", "annual_report.summary.most_used_app.most_used_app": "app dùng nhiều nhất", "annual_report.summary.most_used_hashtag.most_used_hashtag": "hashtag dùng nhiều nhất", + "annual_report.summary.most_used_hashtag.none": "Không có", "annual_report.summary.new_posts.new_posts": "tút mới", "annual_report.summary.percentile.text": "Bạn nằm trong topthành viên Mastodon.", "annual_report.summary.percentile.we_wont_tell_bernie": "Chúng tôi sẽ không kể cho Bernie.", diff --git a/app/javascript/mastodon/locales/zh-CN.json b/app/javascript/mastodon/locales/zh-CN.json index 57b2011bb18d8d..887410dd51d4f0 100644 --- a/app/javascript/mastodon/locales/zh-CN.json +++ b/app/javascript/mastodon/locales/zh-CN.json @@ -101,6 +101,7 @@ "annual_report.summary.highlighted_post.possessive": "{name} 的", "annual_report.summary.most_used_app.most_used_app": "最常用的应用", "annual_report.summary.most_used_hashtag.most_used_hashtag": "最常用的话题", + "annual_report.summary.most_used_hashtag.none": "无", "annual_report.summary.new_posts.new_posts": "新发嘟", "annual_report.summary.percentile.text": "这使你跻身 Mastodon 用户的前", "annual_report.summary.percentile.we_wont_tell_bernie": "我们打死也不会告诉Bernie。", diff --git a/app/javascript/mastodon/locales/zh-TW.json b/app/javascript/mastodon/locales/zh-TW.json index 91d7f6e45d53e6..56ddd9745e0238 100644 --- a/app/javascript/mastodon/locales/zh-TW.json +++ b/app/javascript/mastodon/locales/zh-TW.json @@ -101,6 +101,7 @@ "annual_report.summary.highlighted_post.possessive": "{name} 的", "annual_report.summary.most_used_app.most_used_app": "最常使用的應用程式", "annual_report.summary.most_used_hashtag.most_used_hashtag": "最常使用的主題標籤", + "annual_report.summary.most_used_hashtag.none": "無最常用之主題標籤", "annual_report.summary.new_posts.new_posts": "新嘟文", "annual_report.summary.percentile.text": "這讓您成為前Mastodon 的使用者。", "annual_report.summary.percentile.we_wont_tell_bernie": "我們不會告訴 Bernie。", diff --git a/config/locales/ca.yml b/config/locales/ca.yml index 9d861fa30c3109..00c8f57a85021e 100644 --- a/config/locales/ca.yml +++ b/config/locales/ca.yml @@ -187,6 +187,7 @@ ca: create_domain_block: Crea un bloqueig de domini create_email_domain_block: Crea un blocatge del domini del correu electrònic create_ip_block: Crear regla IP + create_relay: Crea un repetidor create_unavailable_domain: Crea un domini no disponible create_user_role: Crea Rol demote_user: Degrada l'usuari @@ -198,14 +199,17 @@ ca: destroy_email_domain_block: Elimina el blocatge del domini del correu electrònic destroy_instance: Purga Domini destroy_ip_block: Eliminar regla IP + destroy_relay: Esborra el repetidor destroy_status: Elimina la publicació destroy_unavailable_domain: Esborra domini no disponible destroy_user_role: Destrueix Rol disable_2fa_user: Desactiva 2FA disable_custom_emoji: Desactiva l'emoji personalitzat + disable_relay: Desactiva el repetidor disable_sign_in_token_auth_user: Desactivar l'autenticació de token per correu-e per a l'usuari disable_user: Deshabilita l'usuari enable_custom_emoji: Activa l'emoji personalitzat + enable_relay: Activa el repetidor enable_sign_in_token_auth_user: Activar l'autenticació de token per correu-e per a l'usuari enable_user: Activa l'usuari memorialize_account: Memoritza el compte @@ -247,6 +251,7 @@ ca: create_domain_block_html: "%{name} ha bloquejat el domini %{target}" create_email_domain_block_html: "%{name} ha blocat el domini de correu electrònic %{target}" create_ip_block_html: "%{name} ha creat una regla per a l'IP %{target}" + create_relay_html: "%{name} ha creat un repetidor %{target}" create_unavailable_domain_html: "%{name} ha aturat el lliurament al domini %{target}" create_user_role_html: "%{name} ha creat el rol %{target}" demote_user_html: "%{name} ha degradat l'usuari %{target}" @@ -258,14 +263,17 @@ ca: destroy_email_domain_block_html: "%{name} ha desblocat el domini de correu electrònic %{target}" destroy_instance_html: "%{name} ha purgat el domini %{target}" destroy_ip_block_html: "%{name} ha esborrat la regla per a l'IP %{target}" + destroy_relay_html: "%{name} ha esborrat el repetidor %{target}" destroy_status_html: "%{name} ha eliminat el tut de %{target}" destroy_unavailable_domain_html: "%{name} ha représ el lliurament delivery al domini %{target}" destroy_user_role_html: "%{name} ha esborrat el rol %{target}" disable_2fa_user_html: "%{name} ha desactivat el requisit de dos factors per a l'usuari %{target}" disable_custom_emoji_html: "%{name} ha desactivat l'emoji %{target}" + disable_relay_html: "%{name} ha desactivat el repetidor %{target}" disable_sign_in_token_auth_user_html: "%{name} ha desactivat l'autenticació de token per correu-e per a %{target}" disable_user_html: "%{name} ha desactivat l'accés del usuari %{target}" enable_custom_emoji_html: "%{name} ha activat l'emoji %{target}" + enable_relay_html: "%{name} ha activat el repetidor %{target}" enable_sign_in_token_auth_user_html: "%{name} ha activat l'autenticació de token per correu-e per a %{target}" enable_user_html: "%{name} ha activat l'accés del usuari %{target}" memorialize_account_html: "%{name} ha convertit el compte %{target} en una pàgina de memorial" diff --git a/config/locales/da.yml b/config/locales/da.yml index 6447afb4930381..daf683637ded7a 100644 --- a/config/locales/da.yml +++ b/config/locales/da.yml @@ -187,6 +187,7 @@ da: create_domain_block: Opret domæneblokering create_email_domain_block: Opret e-maildomæneblokering create_ip_block: Opret IP-regel + create_relay: Opret Videresendelse create_unavailable_domain: Opret Utilgængeligt Domæne create_user_role: Opret rolle demote_user: Degradér bruger @@ -198,14 +199,17 @@ da: destroy_email_domain_block: Slet e-maildomæneblokering destroy_instance: Udrens domæne destroy_ip_block: Slet IP-regel + destroy_relay: Slet Videresendelse destroy_status: Slet indlæg destroy_unavailable_domain: Slet Utilgængeligt Domæne destroy_user_role: Ødelæg rolle disable_2fa_user: Deaktivér 2FA disable_custom_emoji: Deaktivér tilpasset emoji + disable_relay: Deaktivér Videresendelse disable_sign_in_token_auth_user: Deaktivér e-mailtoken godkendelse for bruger disable_user: Deaktivér bruger enable_custom_emoji: Aktivér tilpasset emoji + enable_relay: Aktivér Relay enable_sign_in_token_auth_user: Aktivér e-mailtoken godkendelse for bruger enable_user: Aktivér bruger memorialize_account: Memoralisér konto @@ -247,6 +251,7 @@ da: create_domain_block_html: "%{name} blokerede domænet %{target}" create_email_domain_block_html: "%{name} blokerede e-maildomænet %{target}" create_ip_block_html: "%{name} oprettede en regel for IP %{target}" + create_relay_html: "%{name} oprettede videresendelsen %{target}" create_unavailable_domain_html: "%{name} stoppede levering til domænet %{target}" create_user_role_html: "%{name} oprettede %{target}-rolle" demote_user_html: "%{name} degraderede brugeren %{target}" @@ -258,14 +263,17 @@ da: destroy_email_domain_block_html: "%{name} afblokerede e-maildomænet %{target}" destroy_instance_html: "%{name} udrensede domænet %{target}" destroy_ip_block_html: "%{name} slettede en regel for IP %{target}" + destroy_relay_html: "%{name} oprettede videresendelsen %{target}" destroy_status_html: "%{name} fjernede indlægget fra %{target}" destroy_unavailable_domain_html: "%{name} genoptog levering til domænet %{target}" destroy_user_role_html: "%{name} slettede %{target}-rolle" disable_2fa_user_html: "%{name} deaktiverede tofaktorkravet for brugeren %{target}" disable_custom_emoji_html: "%{name} deaktiverede emojien %{target}" + disable_relay_html: "%{name} deaktiverede videresendelsen %{target}" disable_sign_in_token_auth_user_html: "%{name} deaktiverede e-mailtoken godkendelsen for %{target}" disable_user_html: "%{name} deaktiverede indlogning for brugeren %{target}" enable_custom_emoji_html: "%{name} aktiverede emojien %{target}" + enable_relay_html: "%{name} aktiverede videresendelsen %{target}" enable_sign_in_token_auth_user_html: "%{name} aktiverede e-mailtoken godkendelse for %{target}" enable_user_html: "%{name} aktiverede indlogning for brugeren %{target}" memorialize_account_html: "%{name} gjorde %{target}s konto til en mindeside" diff --git a/config/locales/de.yml b/config/locales/de.yml index 323579f25fdcfc..10223f22788ac8 100644 --- a/config/locales/de.yml +++ b/config/locales/de.yml @@ -187,6 +187,7 @@ de: create_domain_block: Domain sperren create_email_domain_block: E-Mail-Domain-Sperre erstellen create_ip_block: IP-Regel erstellen + create_relay: Relay erstellen create_unavailable_domain: Nicht verfügbare Domain erstellen create_user_role: Rolle erstellen demote_user: Benutzer*in herabstufen @@ -198,14 +199,17 @@ de: destroy_email_domain_block: E-Mail-Domain-Sperre entfernen destroy_instance: Domain-Daten entfernen destroy_ip_block: IP-Regel löschen + destroy_relay: Relay löschen destroy_status: Beitrag entfernen destroy_unavailable_domain: Nicht-verfügbare Domain entfernen destroy_user_role: Rolle entfernen disable_2fa_user: 2FA deaktivieren disable_custom_emoji: Eigenes Emoji deaktivieren + disable_relay: Relay deaktivieren disable_sign_in_token_auth_user: E-Mail-Token-Authentisierung für dieses Konto deaktivieren disable_user: Benutzer*in deaktivieren enable_custom_emoji: Eigenes Emoji aktivieren + enable_relay: Relay aktivieren enable_sign_in_token_auth_user: E-Mail-Token-Authentisierung für dieses Konto aktivieren enable_user: Benutzer*in aktivieren memorialize_account: Gedenkkonto @@ -247,6 +251,7 @@ de: create_domain_block_html: "%{name} sperrte die Domain %{target}" create_email_domain_block_html: "%{name} sperrte die E-Mail-Domain %{target}" create_ip_block_html: "%{name} erstellte eine IP-Regel für %{target}" + create_relay_html: "%{name} erstellte ein Relay %{target}" create_unavailable_domain_html: "%{name} beendete die Zustellung an die Domain %{target}" create_user_role_html: "%{name} erstellte die Rolle %{target}" demote_user_html: "%{name} stufte %{target} herunter" @@ -258,14 +263,17 @@ de: destroy_email_domain_block_html: "%{name} entsperrte die E-Mail-Domain %{target}" destroy_instance_html: "%{name} entfernte die Daten der Domain %{target} von diesem Server" destroy_ip_block_html: "%{name} entfernte eine IP-Regel für %{target}" + destroy_relay_html: "%{name} löschte das Relay %{target}" destroy_status_html: "%{name} entfernte einen Beitrag von %{target}" destroy_unavailable_domain_html: "%{name} nahm die Zustellung an die Domain %{target} wieder auf" destroy_user_role_html: "%{name} löschte die Rolle %{target}" disable_2fa_user_html: "%{name} deaktivierte die Zwei-Faktor-Authentisierung für %{target}" disable_custom_emoji_html: "%{name} deaktivierte das Emoji %{target}" + disable_relay_html: "%{name} deaktivierte das Relay %{target}" disable_sign_in_token_auth_user_html: "%{name} deaktivierte die E-Mail-Token-Authentisierung für %{target}" disable_user_html: "%{name} deaktivierte den Zugang für %{target}" enable_custom_emoji_html: "%{name} aktivierte das Emoji %{target}" + enable_relay_html: "%{name} aktivierte das Relay %{target}" enable_sign_in_token_auth_user_html: "%{name} aktivierte die E-Mail-Token-Authentisierung für %{target}" enable_user_html: "%{name} aktivierte den Zugang für %{target}" memorialize_account_html: "%{name} wandelte das Konto von %{target} in eine Gedenkseite um" diff --git a/config/locales/fi.yml b/config/locales/fi.yml index 2f9a76c80d4d24..6fe9c145917ec7 100644 --- a/config/locales/fi.yml +++ b/config/locales/fi.yml @@ -187,6 +187,7 @@ fi: create_domain_block: Luo verkkotunnuksen esto create_email_domain_block: Luo sähköpostiverkkotunnuksen esto create_ip_block: Luo IP-sääntö + create_relay: Luo välittäjä create_unavailable_domain: Luo ei-saatavilla oleva verkkotunnus create_user_role: Luo rooli demote_user: Alenna käyttäjä @@ -198,14 +199,17 @@ fi: destroy_email_domain_block: Poista sähköpostiverkkotunnuksen esto destroy_instance: Tyhjennä verkkotunnus destroy_ip_block: Poista IP-sääntö + destroy_relay: Poista välittäjä destroy_status: Poista julkaisu destroy_unavailable_domain: Poista ei-saatavilla oleva verkkotunnus destroy_user_role: Hävitä rooli disable_2fa_user: Poista kaksivaiheinen todennus käytöstä disable_custom_emoji: Poista mukautettu emoji käytöstä + disable_relay: Poista välittäjä käytöstä disable_sign_in_token_auth_user: Poista sähköpostitunnuksella todennus käytöstä käyttäjältä disable_user: Poista tili käytöstä enable_custom_emoji: Ota mukautettu emoji käyttöön + enable_relay: Ota välittäjä käyttöön enable_sign_in_token_auth_user: Ota sähköpostitunnuksella todennus käyttöön käyttäjälle enable_user: Ota tili käyttöön memorialize_account: Muuta muistotiliksi @@ -216,7 +220,7 @@ fi: reopen_report: Avaa raportti uudelleen resend_user: Lähetä vahvistusviesti uudelleen reset_password_user: Palauta salasana - resolve_report: Selvitä raportti + resolve_report: Ratkaise raportti sensitive_account: Pakota arkaluonteiseksi tiliksi silence_account: Rajoita tiliä suspend_account: Jäädytä tili @@ -247,6 +251,7 @@ fi: create_domain_block_html: "%{name} esti verkkotunnuksen %{target}" create_email_domain_block_html: "%{name} esti sähköpostiverkkotunnuksen %{target}" create_ip_block_html: "%{name} loi säännön IP-osoitteelle %{target}" + create_relay_html: "%{name} loi välittäjä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}" @@ -258,14 +263,17 @@ fi: destroy_email_domain_block_html: "%{name} kumosi sähköpostiverkkotunnuksen %{target} eston" destroy_instance_html: "%{name} tyhjensi verkkotunnuksen %{target}" destroy_ip_block_html: "%{name} poisti säännön IP-osoitteelta %{target}" + destroy_relay_html: "%{name} poisti välittäjän %{target}" 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 kaksivaiheiseen todentamiseen" disable_custom_emoji_html: "%{name} poisti emojin %{target} käytöstä" + disable_relay_html: "%{name} poisti välittäjän %{target} käytöstä" disable_sign_in_token_auth_user_html: "%{name} poisti sähköpostitunnuksella todennuksen käytöstä käyttäjältä %{target}" disable_user_html: "%{name} poisti kirjautumisen käytöstä käyttäjältä %{target}" enable_custom_emoji_html: "%{name} otti emojin %{target} käyttöön" + enable_relay_html: "%{name} otti välittäjän %{target} käyttöön" enable_sign_in_token_auth_user_html: "%{name} otti sähköpostitunnuksella todennuksen 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" diff --git a/config/locales/fo.yml b/config/locales/fo.yml index 1060ee1609c2bd..6cc1fda6a01a9e 100644 --- a/config/locales/fo.yml +++ b/config/locales/fo.yml @@ -187,6 +187,7 @@ fo: create_domain_block: Stovna navnaøkjablokering create_email_domain_block: Stovna t-post-økisnavnablokk create_ip_block: Stovna IP reglu + create_relay: Stovna reiðlag create_unavailable_domain: Stovna navnaøki, sum ikki er tøkt create_user_role: Stovna leiklut demote_user: Lækka brúkara í tign @@ -198,14 +199,17 @@ fo: destroy_email_domain_block: Strika t-posta-økisnavnablokk destroy_instance: Reinsa navnaøki destroy_ip_block: Strika IP reglu + destroy_relay: Strika reiðlag destroy_status: Strika post destroy_unavailable_domain: Strika navnaøki, sum ikki er tøkt destroy_user_role: Bein burtur leiklut disable_2fa_user: Ger 2FA óvirkið disable_custom_emoji: Ger serligt kenslutekn óvirkið + disable_relay: Ger reiðlag óvirkið disable_sign_in_token_auth_user: Ger váttan við teldupostateknum óvirkna fyri brúkara disable_user: Ger brúkara óvirknan enable_custom_emoji: Ger serligt kenslutekn virkið + enable_relay: Ger reiðlag virkið enable_sign_in_token_auth_user: Ger váttan við teldupostateknum virkna fyri brúkara enable_user: Ger brúkara virknan memorialize_account: Minnst til Konto @@ -247,6 +251,7 @@ fo: create_domain_block_html: "%{name} blokeraði navnaøkið %{target}" create_email_domain_block_html: "%{name} blokeraði teldupostanavnaøkið %{target}" create_ip_block_html: "%{name} gjørdi reglu fyri IP %{target}" + create_relay_html: "%{name} gjørdi eitt reiðlag %{target}" create_unavailable_domain_html: "%{name} steðgaði veiting til navnaøkið %{target}" create_user_role_html: "%{name} stovnaði %{target} leiklutin" demote_user_html: "%{name} lækkaði tignina hjá brúkaranum %{target}" @@ -258,14 +263,17 @@ fo: destroy_email_domain_block_html: "%{name} leysgav teldupostanavnaøkið %{target}" destroy_instance_html: "%{name} reinsaði navnaøkið %{target}" destroy_ip_block_html: "%{name} slettaðar reglur fyri IP %{target}" + destroy_relay_html: "%{name} strikaði reiðlagið %{target}" destroy_status_html: "%{name} slettaði upplegg hjá %{target}" destroy_unavailable_domain_html: "%{name} tók upp aftir veiting til navnaøkið %{target}" destroy_user_role_html: "%{name} slettaði leiklutin hjá %{target}" disable_2fa_user_html: "%{name} slepti kravið um váttan í tveimum stigum fyri brúkaran %{target}" disable_custom_emoji_html: "%{name} gjørdi kensluteknið %{target} óvirkið" + disable_relay_html: "%{name} gjørdi reiðlagið %{target} óvirkið" disable_sign_in_token_auth_user_html: "%{name} gjørdi váttan við teldupostteknum óvirkna fyri %{target}" disable_user_html: "%{name} gjørdi innritan hjá brúkaranum %{target} óvirkna" enable_custom_emoji_html: "%{name} gjørdi kensluteknið %{target} virkið" + enable_relay_html: "%{name} gjørdi reiðlagið %{target} virkið" enable_sign_in_token_auth_user_html: "%{name} gjørdi váttan við teldupostteknum virkna fyri %{target}" enable_user_html: "%{name} gjørdi innritan virkna fyri brúkaran %{target}" memorialize_account_html: "%{name} broytti kontuna hjá %{target} til eina minnissíðu" diff --git a/config/locales/gl.yml b/config/locales/gl.yml index a4f63a50e06247..1ad8deb1791f05 100644 --- a/config/locales/gl.yml +++ b/config/locales/gl.yml @@ -187,6 +187,7 @@ gl: create_domain_block: Crear bloquedo do Dominio create_email_domain_block: Crear Bloqueo de Dominio do correo create_ip_block: Crear regra IP + create_relay: Crear Repetidor create_unavailable_domain: Crear dominio Non dispoñible create_user_role: Crear Rol demote_user: Degradar usuaria @@ -198,14 +199,17 @@ gl: destroy_email_domain_block: Eliminar bloqueo do dominio do correo destroy_instance: Purgar Dominio destroy_ip_block: Eliminar regra IP + destroy_relay: Eliminar Repetidor destroy_status: Eliminar publicación destroy_unavailable_domain: Eliminar dominio Non dispoñible destroy_user_role: Eliminar Rol disable_2fa_user: Desactivar 2FA disable_custom_emoji: Desactivar emoticona personalizada + disable_relay: Desactivar Repetidor disable_sign_in_token_auth_user: Desactivar Autenticación por Token no Correo para a Usuaria disable_user: Desactivar usuaria enable_custom_emoji: Activar emoticona personalizada + enable_relay: Activar Repetidor enable_sign_in_token_auth_user: Activar Autenticación con Token no Correo para a Usuaria enable_user: Activar usuaria memorialize_account: Transformar en conta conmemorativa @@ -247,6 +251,7 @@ gl: create_domain_block_html: "%{name} bloqueou o dominio %{target}" create_email_domain_block_html: "%{name} bloqueou o dominio de correo %{target}" create_ip_block_html: "%{name} creou regra para o IP %{target}" + create_relay_html: "%{name} creou un repetidor en %{target}" create_unavailable_domain_html: "%{name} deixou de interactuar co dominio %{target}" create_user_role_html: "%{name} creou o rol %{target}" demote_user_html: "%{name} degradou a usuaria %{target}" @@ -258,14 +263,17 @@ gl: destroy_email_domain_block_html: "%{name} desbloqueou o dominio de correo %{target}" destroy_instance_html: "%{name} purgou o dominio %{target}" destroy_ip_block_html: "%{name} eliminou a regra para o IP %{target}" + destroy_relay_html: "%{name} eliminou o repetidor %{target}" destroy_status_html: "%{name} eliminou a publicación de %{target}" destroy_unavailable_domain_html: "%{name} retomou a interacción co dominio %{target}" destroy_user_role_html: "%{name} eliminou o rol %{target}" disable_2fa_user_html: "%{name} desactivou o requerimento do segundo factor para a usuaria %{target}" disable_custom_emoji_html: "%{name} desactivou o emoji %{target}" + disable_relay_html: "%{name} desactivou o repetidor %{target}" disable_sign_in_token_auth_user_html: "%{name} desactivou a autenticación por token no email para %{target}" disable_user_html: "%{name} desactivou as credenciais para a usuaria %{target}" enable_custom_emoji_html: "%{name} activou o emoji %{target}" + enable_relay_html: "%{name} activou o repetidor %{target}" enable_sign_in_token_auth_user_html: "%{name} activou a autenticación con token no email para %{target}" enable_user_html: "%{name} activou as credenciais para a usuaria %{target}" memorialize_account_html: "%{name} convertiu a conta de %{target} nunha páxina para o recordo" diff --git a/config/locales/hu.yml b/config/locales/hu.yml index 47bd24fccf2767..18920092388a29 100644 --- a/config/locales/hu.yml +++ b/config/locales/hu.yml @@ -187,6 +187,7 @@ hu: create_domain_block: Domain tiltás létrehozása create_email_domain_block: E-mail-domain-tiltás létrehozása create_ip_block: IP szabály létrehozása + create_relay: Továbbító létrehozása create_unavailable_domain: Elérhetetlen domain létrehozása create_user_role: Szerepkör létrehozása demote_user: Felhasználó lefokozása @@ -198,14 +199,17 @@ hu: destroy_email_domain_block: E-mail-domain-tiltás törlése destroy_instance: Domain végleges törlése destroy_ip_block: IP szabály törlése + destroy_relay: Továbbító törlése destroy_status: Bejegyzés törlése destroy_unavailable_domain: Elérhetetlen domain törlése destroy_user_role: Szerepkör eltávolítása disable_2fa_user: Kétlépcsős hitelesítés letiltása disable_custom_emoji: Egyéni emodzsi letiltása + disable_relay: Továbbító letiltása disable_sign_in_token_auth_user: A felhasználó tokenes e-mail-hitelesítésének letiltása disable_user: Felhasználói letiltása enable_custom_emoji: Egyéni emodzsi engedélyezése + enable_relay: Továbbító engedélyezése enable_sign_in_token_auth_user: A felhasználó tokenes e-mail-hitelesítésének engedélyezése enable_user: Felhasználó engedélyezése memorialize_account: Fiók emlékké nyilvánítása @@ -247,6 +251,7 @@ hu: create_domain_block_html: "%{name} letiltotta a %{target} domaint" create_email_domain_block_html: "%{name} letiltotta a(z) %{target} e-mail-domaint" create_ip_block_html: "%{name} létrehozta a(z) %{target} IP-címre vonatkozó szabályt" + create_relay_html: "%{name} létrehozta az átirányítót: %{target}" create_unavailable_domain_html: "%{name} leállította a kézbesítést a %{target} domainbe" create_user_role_html: "%{name} létrehozta a(z) %{target} szerepkört" demote_user_html: "%{name} lefokozta %{target} felhasználót" @@ -258,14 +263,17 @@ hu: destroy_email_domain_block_html: "%{name} engedélyezte a(z) %{target} e-mail-domaint" destroy_instance_html: "%{name} véglegesen törölte a(z) %{target} domaint" destroy_ip_block_html: "%{name} törölte a(z) %{target} IP-címre vonatkozó szabályt" + destroy_relay_html: "%{name} törölte az átirányítót: %{target}" destroy_status_html: "%{name} eltávolította %{target} felhasználó bejegyzését" destroy_unavailable_domain_html: "%{name} újraindította a kézbesítést a %{target} domainbe" destroy_user_role_html: "%{name} törölte a(z) %{target} szerepkört" disable_2fa_user_html: "%{name} kikapcsolta a kétlépcsős hitelesítést %{target} felhasználó fiókján" disable_custom_emoji_html: "%{name} letiltotta az emodzsit: %{target}" + disable_relay_html: "%{name} letiltotta az átirányítót: %{target}" disable_sign_in_token_auth_user_html: "%{name} letiltotta a tokenes e-mail-hitelesítést %{target} felhasználóra" disable_user_html: "%{name} letiltotta %{target} felhasználó bejelentkezését" enable_custom_emoji_html: "%{name} engedélyezte az emodzsit: %{target}" + enable_relay_html: "%{name} engedélyezte az átirányítót: %{target}" enable_sign_in_token_auth_user_html: "%{name} engedélyezte a tokenes e-mail-hitelesítést %{target} felhasználóra" enable_user_html: "%{name} engedélyezte %{target} felhasználó bejelentkezését" memorialize_account_html: "%{name} emléket állított %{target} felhasználónak" diff --git a/config/locales/is.yml b/config/locales/is.yml index c50b3dd20dda02..552df8f064004f 100644 --- a/config/locales/is.yml +++ b/config/locales/is.yml @@ -187,6 +187,7 @@ is: create_domain_block: Búa til útilokun léns create_email_domain_block: Búa til útilokun tölvupóstléns create_ip_block: Búa til IP-reglu + create_relay: Búa til endurvarpa create_unavailable_domain: Útbúa lén sem ekki er tiltækt create_user_role: Útbúa hlutverk demote_user: Lækka notanda í tign @@ -198,14 +199,17 @@ is: destroy_email_domain_block: Eyða útilokun tölvupóstléns destroy_instance: Henda léni destroy_ip_block: Eyða IP-reglu + destroy_relay: Eyða endurvarpa destroy_status: Eyða færslu destroy_unavailable_domain: Eyða léni sem ekki er tiltækt destroy_user_role: Eyða hlutverki disable_2fa_user: Gera tveggja-þátta auðkenningu óvirka disable_custom_emoji: Gera sérsniðið tjáningartákn óvirkt + disable_relay: Gera endurvarpa óvirkan disable_sign_in_token_auth_user: Gera óvirka auðkenningu með teikni í tölvupósti fyrir notandann disable_user: Gera notanda óvirkan enable_custom_emoji: Virkja sérsniðið tjáningartákn + enable_relay: Virkja endurvarpa enable_sign_in_token_auth_user: Gera virka auðkenningu með teikni í tölvupósti fyrir notandann enable_user: Virkja notanda memorialize_account: Gera aðgang að minningargrein @@ -247,6 +251,7 @@ is: create_domain_block_html: "%{name} útilokaði lénið %{target}" create_email_domain_block_html: "%{name} útilokaði póstlénið %{target}" create_ip_block_html: "%{name} útbjó reglu fyrir IP-vistfangið %{target}" + create_relay_html: "%{name} bjó til endurvarpa %{target}" create_unavailable_domain_html: "%{name} stöðvaði afhendingu til lénsins %{target}" create_user_role_html: "%{name} útbjó %{target} hlutverk" demote_user_html: "%{name} lækkaði notandann %{target} í tign" @@ -258,14 +263,17 @@ is: destroy_email_domain_block_html: "%{name} aflétti útilokun af póstléninu %{target}" destroy_instance_html: "%{name} henti léninu %{target}" destroy_ip_block_html: "%{name} eyddi reglu fyrir IP-vistfangið %{target}" + destroy_relay_html: "%{name} eyddi endurvarpanum %{target}" destroy_status_html: "%{name} fjarlægði færslu frá %{target}" destroy_unavailable_domain_html: "%{name} hóf aftur afhendingu til lénsins %{target}" destroy_user_role_html: "%{name} eyddi hlutverki %{target}" disable_2fa_user_html: "%{name} gerði kröfu um tveggja-þátta innskráningu óvirka fyrir notandann %{target}" disable_custom_emoji_html: "%{name} gerði tjáningartáknið %{target} óvirkt" + disable_relay_html: "%{name} gerði endurvarpann %{target} óvirkan" disable_sign_in_token_auth_user_html: "%{name} gerði óvirka auðkenningu með teikni í tölvupósti fyrir %{target}" disable_user_html: "%{name} gerði innskráningu óvirka fyrir notandann %{target}" enable_custom_emoji_html: "%{name} gerði tjáningartáknið %{target} virkt" + enable_relay_html: "%{name} virkjaði endurvarpann %{target}" enable_sign_in_token_auth_user_html: "%{name} gerði virka auðkenningu með teikni í tölvupósti fyrir %{target}" enable_user_html: "%{name} gerði innskráningu virka fyrir notandann %{target}" memorialize_account_html: "%{name} breytti notandaaðgangnum %{target} í minningargreinarsíðu" diff --git a/config/locales/ko.yml b/config/locales/ko.yml index 6bff1703e68d97..1fe43f7e756138 100644 --- a/config/locales/ko.yml +++ b/config/locales/ko.yml @@ -184,6 +184,7 @@ ko: create_domain_block: 도메인 차단 추가 create_email_domain_block: 이메일 도메인 차단 생성 create_ip_block: IP 규칙 만들기 + create_relay: 릴레이 생성 create_unavailable_domain: 사용 불가능한 도메인 생성 create_user_role: 역할 생성 demote_user: 사용자 강등 @@ -195,14 +196,17 @@ ko: destroy_email_domain_block: 이메일 도메인 차단 삭제 destroy_instance: 도메인 퍼지하기 destroy_ip_block: IP 규칙 삭제 + destroy_relay: 릴레이 삭제 destroy_status: 게시물 삭제 destroy_unavailable_domain: 사용 불가능한 도메인 제거 destroy_user_role: 역할 삭제 disable_2fa_user: 2단계 인증 비활성화 disable_custom_emoji: 커스텀 에모지 비활성화 + disable_relay: 릴레이 비활성화 disable_sign_in_token_auth_user: 사용자의 이메일 토큰 인증 비활성화 disable_user: 사용자 비활성화 enable_custom_emoji: 커스텀 에모지 활성화 + enable_relay: 릴레이 활성화 enable_sign_in_token_auth_user: 사용자의 이메일 토큰 인증 활성화 enable_user: 사용자 활성화 memorialize_account: 고인의 계정으로 전환 @@ -244,6 +248,7 @@ ko: create_domain_block_html: "%{name} 님이 도메인 %{target}를 차단했습니다" create_email_domain_block_html: "%{name} 님이 이메일 도메인 %{target}를 차단했습니다" create_ip_block_html: "%{name} 님이 IP 규칙 %{target}을 만들었습니다" + create_relay_html: "%{name} 님이 릴레이 %{target}를 생성했습니다" create_unavailable_domain_html: "%{name} 님이 도메인 %{target}에 대한 전달을 중지했습니다" create_user_role_html: "%{name} 님이 %{target} 역할을 생성했습니다" demote_user_html: "%{name} 님이 사용자 %{target} 님을 강등했습니다" @@ -255,14 +260,17 @@ ko: destroy_email_domain_block_html: "%{name} 님이 이메일 도메인 %{target}을 차단 해제하였습니다" destroy_instance_html: "%{name} 님이 도메인 %{target}를 제거했습니다" destroy_ip_block_html: "%{name} 님이 IP 규칙 %{target}을 삭제하였습니다" + destroy_relay_html: "%{name} 님이 릴레이 %{target}를 삭제했습니다" destroy_status_html: "%{name} 님이 %{target} 님의 게시물을 삭제했습니다" destroy_unavailable_domain_html: "%{name} 님이 도메인 %{target}에 대한 전달을 재개" destroy_user_role_html: "%{name} 님이 %{target} 역할을 삭제했습니다" disable_2fa_user_html: "%{name} 님이 사용자 %{target} 님의 2단계 인증을 비활성화 했습니다" disable_custom_emoji_html: "%{name} 님이 에모지 %{target}를 비활성화했습니다" + disable_relay_html: "%{name} 님이 릴레이 %{target}를 비활성화했습니다" disable_sign_in_token_auth_user_html: "%{name} 님이 %{target} 님의 이메일 토큰 인증을 비활성화했습니다" disable_user_html: "%{name} 님이 사용자 %{target}의 로그인을 비활성화했습니다" enable_custom_emoji_html: "%{name} 님이 에모지 %{target}를 활성화했습니다" + enable_relay_html: "%{name} 님이 릴레이 %{target}를 활성화했습니다" enable_sign_in_token_auth_user_html: "%{name} 님이 %{target} 님의 이메일 토큰 인증을 활성화했습니다" enable_user_html: "%{name} 님이 사용자 %{target}의 로그인을 활성화했습니다" memorialize_account_html: "%{name} 님이 %{target}의 계정을 고인의 계정 페이지로 전환했습니다" diff --git a/config/locales/lt.yml b/config/locales/lt.yml index 8ba3bad07040ab..3850e2e071bb84 100644 --- a/config/locales/lt.yml +++ b/config/locales/lt.yml @@ -185,6 +185,7 @@ lt: create_domain_allow: Kurti domeno leidimą create_domain_block: Kurti domeno bloką create_ip_block: Kurti IP taisyklę + create_relay: Kurti perdavimą create_unavailable_domain: Kurti nepasiekiamą domeną create_user_role: Kurti vaidmenį demote_user: Pažeminti naudotoją @@ -194,13 +195,16 @@ lt: destroy_domain_block: Ištrinti domeno bloką destroy_instance: Išvalyti domeną destroy_ip_block: Ištrinti IP taisyklę + destroy_relay: Ištrinti perdavimą destroy_status: Ištrinti įrašą destroy_unavailable_domain: Ištrinti nepasiekiamą domeną destroy_user_role: Sunaikinti vaidmenį disable_2fa_user: Išjungti 2FA disable_custom_emoji: Išjungti pasirinktinį jaustuką + disable_relay: Išjungti perdavimą disable_user: Išjungti naudotoją enable_custom_emoji: Įjungti pasirinktinį jaustuką + enable_relay: Įjungti perdavimą enable_user: Įjungti naudotoją memorialize_account: Memorializuoti paskyrą promote_user: Paaukštinti naudotoją @@ -237,6 +241,7 @@ lt: create_domain_allow_html: "%{name} leido federaciją su domenu %{target}" create_domain_block_html: "%{name} užblokavo domeną %{target}" create_ip_block_html: "%{name} sukūrė taisyklę IP %{target}" + create_relay_html: "%{name} sukūrė perdavimą %{target}" create_unavailable_domain_html: "%{name} sustabdė tiekimą į domeną %{target}" create_user_role_html: "%{name} sukūrė %{target} vaidmenį" demote_user_html: "%{name} pažemino naudotoją %{target}" @@ -246,13 +251,16 @@ lt: destroy_domain_block_html: "%{name} atblokavo domeną %{target}" destroy_instance_html: "%{name} išvalė domeną %{target}" destroy_ip_block_html: "%{name} ištrynė taisyklę IP %{target}" + destroy_relay_html: "%{name} ištrynė perdavimą %{target}" destroy_status_html: "%{name} pašalino įrašą %{target}" destroy_unavailable_domain_html: "%{name} pratęsė tiekimą į domeną %{target}" destroy_user_role_html: "%{name} ištrynė %{target} vaidmenį" disable_2fa_user_html: "%{name} išjungė dviejų veiksnių reikalavimą naudotojui %{target}" disable_custom_emoji_html: "%{name} išjungė jaustuką %{target}" + disable_relay_html: "%{name} išjungė perdavimą %{target}" disable_user_html: "%{name} išjungė prisijungimą naudotojui %{target}" enable_custom_emoji_html: "%{name} įjungė jaustuką %{target}" + enable_relay_html: "%{name} įjungė perdavimą %{target}" enable_user_html: "%{name} įjungė prisijungimą naudotojui %{target}" memorialize_account_html: "%{name} pavertė %{target} paskyrą į atminimo puslapį" promote_user_html: "%{name} paaukštino naudotoją %{target}" diff --git a/config/locales/nn.yml b/config/locales/nn.yml index 9ec4f29f42682e..62b08f42ed001f 100644 --- a/config/locales/nn.yml +++ b/config/locales/nn.yml @@ -187,6 +187,7 @@ nn: create_domain_block: Opprett domene-blokk create_email_domain_block: Opprett blokkering av e-postdomene create_ip_block: Opprett IP-regel + create_relay: Opprett eit relé create_unavailable_domain: Opprett utilgjengeleg domene create_user_role: Opprett rolle demote_user: Degrader brukar @@ -198,14 +199,17 @@ nn: destroy_email_domain_block: Fjern blokkering av e-postdomene destroy_instance: Slett domene destroy_ip_block: Slett IP-regel + destroy_relay: Slett relé destroy_status: Slett status destroy_unavailable_domain: Slett utilgjengeleg domene destroy_user_role: Øydelegg rolle disable_2fa_user: Skruv av 2FA disable_custom_emoji: Skruv av tilpassa emoji + disable_relay: Skru av reléet disable_sign_in_token_auth_user: Slå av e-post-token-autentisering for brukar disable_user: Skruv av brukar enable_custom_emoji: Skruv på tilpassa emoji + enable_relay: Skru på reléet enable_sign_in_token_auth_user: Slå på e-post-token-autentisering for brukar enable_user: Skruv på brukar memorialize_account: Opprett minnekonto @@ -247,6 +251,7 @@ nn: create_domain_block_html: "%{name} blokkerte domenet %{target}" create_email_domain_block_html: "%{name} blokkerte e-postdomenet %{target}" create_ip_block_html: "%{name} oppretta ein regel for IP-en %{target}" + create_relay_html: "%{name} laga reléet %{target}" create_unavailable_domain_html: "%{name} stogga levering til domenet %{target}" create_user_role_html: "%{name} oppretta rolla %{target}" demote_user_html: "%{name} degraderte brukaren %{target}" @@ -258,14 +263,17 @@ nn: destroy_email_domain_block_html: "%{name} avblokkerte e-postdomenet %{target}" destroy_instance_html: "%{name} tømde domenet %{target}" destroy_ip_block_html: "%{name} sletta ein regel for IP-en %{target}" + destroy_relay_html: "%{name} sletta reléet %{target}" destroy_status_html: "%{name} fjerna innlegget frå %{target}" destroy_unavailable_domain_html: "%{name} tok opp att levering til domenet %{target}" destroy_user_role_html: "%{name} sletta rolla %{target}" disable_2fa_user_html: "%{name} tok vekk krav om tofaktorautentisering for brukaren %{target}" disable_custom_emoji_html: "%{name} deaktiverte emojien %{target}" + disable_relay_html: "%{name} skrudde av reléet %{target}" disable_sign_in_token_auth_user_html: "%{name} deaktiverte e-post-token-autentisering for %{target}" disable_user_html: "%{name} slo av innlogging for brukaren %{target}" enable_custom_emoji_html: "%{name} aktiverte emojien %{target}" + enable_relay_html: "%{name} skrudde på reléet %{target}" enable_sign_in_token_auth_user_html: "%{name} aktiverte e-post-token-autentisering for %{target}" enable_user_html: "%{name} aktiverte innlogging for brukaren %{target}" memorialize_account_html: "%{name} endret %{target}s konto til en minneside" @@ -1381,6 +1389,9 @@ nn: following_html: one: Du skal til å fylgja opp til %{count} brukarkonto frå %{filename} og slutta å fylgja alle andre. other: Du skal til å fylgja opp til %{count} brukarkontoar frå %{filename} og slutta å fylgja alle andre. + lists_html: + one: Du er i ferd med å erstatta listene dine med innhaldet i %{filename}. Opptil %{count} konto vil bli lagt til i dei nye listene. + other: Du er i ferd med å erstatta listene dine med innhaldet i %{filename}. Opptil %{count} kontoar vil bli lagt til i dei nye listene. muting_html: one: Du skal til å byta ut lista di over dempa brukarkontoar med opp til %{count} brukarkonto frå %{filename}. other: Du skal til å byta ut lista di over dempa brukarkontoar med opp til %{count} brukarkontoar frå %{filename}. diff --git a/config/locales/pt-BR.yml b/config/locales/pt-BR.yml index 8b2feb5193baae..0ff944e10857ee 100644 --- a/config/locales/pt-BR.yml +++ b/config/locales/pt-BR.yml @@ -35,12 +35,12 @@ pt-BR: accounts: add_email_domain_block: Bloquear domínio de email approve: Aprovar - approved_msg: O registro de %{username} foi aprovado + approved_msg: Aprovado com sucesso o pedido de registro de %{username} are_you_sure: Você tem certeza? avatar: Imagem de perfil by_domain: Domínio change_email: - changed_msg: E-mail alterado! + changed_msg: E-mail alterado com sucesso! current_email: E-mail atual label: Alterar e-mail new_email: Novo e-mail @@ -187,6 +187,7 @@ pt-BR: create_domain_block: Bloquear domínio create_email_domain_block: Criar Bloqueio de Domínio de Email create_ip_block: Criar regra de IP + create_relay: Criar Retransmissão create_unavailable_domain: Criar domínio indisponível create_user_role: Criar cargo demote_user: Rebaixar usuário @@ -198,14 +199,17 @@ pt-BR: destroy_email_domain_block: Deletar bloqueio de domínio Email destroy_instance: Limpar domínio destroy_ip_block: Excluir regra de IP + destroy_relay: Excluir Retransmissão destroy_status: Excluir publicação destroy_unavailable_domain: Excluir domínio indisponível destroy_user_role: Destruir cargo disable_2fa_user: Desativar autenticação de dois fatores disable_custom_emoji: Desativar emoji personalizado + disable_relay: Desativar Retransmissão disable_sign_in_token_auth_user: Desativar autenticação via Token de Email para Usuário disable_user: Desativar usuário enable_custom_emoji: Ativar emoji personalizado + enable_relay: Ativar Retransmissão enable_sign_in_token_auth_user: Ativar autenticação via Token de Email para Usuário enable_user: Ativar usuário memorialize_account: Converter conta em memorial @@ -247,6 +251,7 @@ pt-BR: create_domain_block_html: "%{name} bloqueou o domínio %{target}" create_email_domain_block_html: "%{name} bloqueou o domínio de e-mail %{target}" create_ip_block_html: "%{name} criou a regra para o IP %{target}" + create_relay_html: "%{name} criou uma retransmissão %{target}" create_unavailable_domain_html: "%{name} parou a entrega ao domínio %{target}" create_user_role_html: "%{name} criou o cargo %{target}" demote_user_html: "%{name} rebaixou o usuário %{target}" @@ -258,14 +263,17 @@ pt-BR: destroy_email_domain_block_html: "%{name} desbloqueou o domínio de e-mail %{target}" destroy_instance_html: "%{name} limpou o domínio %{target}" destroy_ip_block_html: "%{name} excluiu a regra para o IP %{target}" + destroy_relay_html: "%{name} excluiu uma retransmissão %{target}" destroy_status_html: "%{name} removeu a publicação de %{target}" destroy_unavailable_domain_html: "%{name} retomou a entrega ao domínio %{target}" destroy_user_role_html: "%{name} excluiu o cargo %{target}" disable_2fa_user_html: "%{name} desativou a exigência da autenticação de dois fatores para o usuário %{target}" disable_custom_emoji_html: "%{name} desativou o emoji %{target}" + disable_relay_html: "%{name} desativou uma retransmissão %{target}" disable_sign_in_token_auth_user_html: "%{name} desativou a autenticação via token por e-mail para %{target}" disable_user_html: "%{name} desativou o login para %{target}" enable_custom_emoji_html: "%{name} ativou o emoji %{target}" + enable_relay_html: "%{name} ativou uma retransmissão %{target}" enable_sign_in_token_auth_user_html: "%{name} ativou a autenticação via token por e-mail para %{target}" enable_user_html: "%{name} ativou o login para %{target}" memorialize_account_html: "%{name} transformou a conta de %{target} em um memorial" @@ -1368,6 +1376,10 @@ pt-BR: merge_long: Manter os registros existentes e adicionar novos overwrite: Sobrescrever overwrite_long: Substituir os registros atuais com os novos + overwrite_preambles: + bookmarks_html: + one: Você está prestes a substituir seus salvos por até %{count} publicação de %{filename}. + other: Você está prestes a substituir seus salvos por até %{count} publicações de %{filename}. preface: Você pode importar dados que você exportou de outro servidor, como a lista de pessoas que você segue ou bloqueou. recent_imports: Importações recentes states: diff --git a/config/locales/ru.yml b/config/locales/ru.yml index 831f68b24b3a33..8a84f2211592d3 100644 --- a/config/locales/ru.yml +++ b/config/locales/ru.yml @@ -179,104 +179,112 @@ ru: whitelisted: В белом списке action_logs: action_types: - approve_appeal: Одобрить обжалование - approve_user: Утвердить + approve_appeal: Одобрение обжалований + approve_user: Утверждение регистраций assigned_to_self_report: Присвоение жалоб - change_email_user: Сменить e-mail для пользователя - change_role_user: Изменить роль пользователя + change_email_user: Смена e-mail пользователей + change_role_user: Смена ролей пользователей confirm_user: Подтверждение пользователей create_account_warning: Выдача предупреждения create_announcement: Создание объявлений - create_canonical_email_block: Создать блок электронной почты + create_canonical_email_block: Создание блокировок e-mail create_custom_emoji: Добавление эмодзи create_domain_allow: Разрешение доменов create_domain_block: Блокировка доменов - create_email_domain_block: Создать блок домена электронной почты + create_email_domain_block: Создание доменных блокировок e-mail create_ip_block: Создание правил для IP-адресов + create_relay: Создание ретранслятора create_unavailable_domain: Добавление домена в список недоступных - create_user_role: Создать роль + create_user_role: Создание ролей demote_user: Разжалование пользователей destroy_announcement: Удаление объявлений - destroy_canonical_email_block: Удалить блок электронной почты + destroy_canonical_email_block: Удаление блокировок e-mail destroy_custom_emoji: Удаление эмодзи destroy_domain_allow: Отзыв разрешений для доменов destroy_domain_block: Разблокировка доменов - destroy_email_domain_block: Удалить блок домена электронной почты + destroy_email_domain_block: Удаление доменных блокировок e-mail destroy_instance: Очистить домен destroy_ip_block: Удаление правил для IP-адресов + destroy_relay: Удаление ретранслятора destroy_status: Удаление постов destroy_unavailable_domain: Исключение доменов из списка недоступных - destroy_user_role: Удалить роль + destroy_user_role: Удаление ролей disable_2fa_user: Отключение 2FA disable_custom_emoji: Отключение эмодзи - disable_sign_in_token_auth_user: Отключить аутентификацию пользователя с помощью токена электронной почты + disable_relay: Отключение ретранслятора + disable_sign_in_token_auth_user: Отключение аутентификации по e-mail кодам disable_user: Заморозка пользователей enable_custom_emoji: Включение эмодзи - enable_sign_in_token_auth_user: Включить аутентификацию пользователя с помощью токена электронной почты + enable_relay: Включение ретранслятора + enable_sign_in_token_auth_user: Включение аутентификации по e-mail кодам enable_user: Разморозка пользователей memorialize_account: Присвоение пользователям статуса «мемориала» promote_user: Повышение пользователей - reject_appeal: Отклонить обжалование - reject_user: Отклонить + reject_appeal: Отклонение обжалований + reject_user: Отклонение регистраций remove_avatar_user: Удаление аватаров reopen_report: Возобновление жалоб - resend_user: Повторно отправить письмо с подтверждением + resend_user: Повторная отправка писем с подтверждением reset_password_user: Сброс пароля пользователей resolve_report: Отметка жалоб «решёнными» sensitive_account: Присвоение пользователям отметки «деликатного содержания» silence_account: Скрытие пользователей suspend_account: Блокировка пользователей unassigned_report: Снятие жалоб - unblock_email_account: Разблокировать e-mail адрес + unblock_email_account: Разблокировка e-mail адресов unsensitive_account: Снятие с пользователей отметки «деликатного содержания» unsilence_account: Отмена скрытия пользователей unsuspend_account: Разблокировка пользователей update_announcement: Обновление объявлений update_custom_emoji: Обновление эмодзи update_domain_block: Изменение блокировки домена - update_ip_block: Обновить правило для IP-адреса - update_report: Обновить рапорт + update_ip_block: Обновление правил для IP-адресов + update_report: Изменение жалоб update_status: Изменение постов - update_user_role: Обновить роль + update_user_role: Изменение ролей actions: - approve_appeal_html: "%{name} одобрил апелляцию на умеренное решение от %{target}" + approve_appeal_html: "%{name} одобрил(а) обжалование действий модерации от %{target}" approve_user_html: "%{name} утвердил(а) регистрацию %{target}" assigned_to_self_report_html: "%{name} назначил(а) себя для решения жалобы %{target}" - change_email_user_html: "%{name} изменил адрес электронной почты пользователя %{target}" + change_email_user_html: "%{name} cменил(а) e-mail адрес пользователя %{target}" change_role_user_html: "%{name} изменил(а) роль %{target}" - confirm_user_html: "%{name} подтвержденный адрес электронной почты пользователя %{target}" + confirm_user_html: "%{name} подтвердил(а) e-mail адрес пользователя %{target}" create_account_warning_html: "%{name} выдал(а) предупреждение %{target}" create_announcement_html: "%{name} создал(а) новое объявление %{target}" - create_canonical_email_block_html: "%{name} заблокировал письмо с хэшем %{target}" + create_canonical_email_block_html: "%{name} заблокировал(а) e-mail с хешем %{target}" create_custom_emoji_html: "%{name} загрузил(а) новый эмодзи %{target}" create_domain_allow_html: "%{name} разрешил(а) федерацию с доменом %{target}" create_domain_block_html: "%{name} заблокировал(а) домен %{target}" - create_email_domain_block_html: "%{name} заблокированный почтовый домен %{target}" + create_email_domain_block_html: "%{name} заблокировал(а) e-mail домен %{target}" create_ip_block_html: "%{name} создал(а) правило для IP %{target}" + create_relay_html: "%{name} создал(а) ретранслятор %{target}" create_unavailable_domain_html: "%{name} приостановил доставку на узел %{target}" create_user_role_html: "%{name} создал(а) роль %{target}" demote_user_html: "%{name} разжаловал(а) пользователя %{target}" destroy_announcement_html: "%{name} удалил(а) объявление %{target}" - destroy_canonical_email_block_html: "%{name} разблокированное письмо с хэшем %{target}" + destroy_canonical_email_block_html: "%{name} снял(а) блокировку e-mail с хэшем %{target}" destroy_custom_emoji_html: "%{name} удалил(а) эмодзи %{target}" destroy_domain_allow_html: "%{name} запретил(а) федерацию с доменом %{target}" destroy_domain_block_html: "%{name} снял(а) блокировку с домена %{target}" - destroy_email_domain_block_html: "%{name} разблокированный почтовый домен %{target}" + destroy_email_domain_block_html: "%{name} снял(а) блокировку с e-mail домена %{target}" destroy_instance_html: "%{name} очистил(а) данные для домена %{target}" destroy_ip_block_html: "%{name} удалил(а) правило для IP %{target}" + destroy_relay_html: "%{name} удалил(а) ретранслятор %{target}" destroy_status_html: "%{name} удалил(а) пост пользователя %{target}" destroy_unavailable_domain_html: "%{name} возобновил доставку на узел %{target}" destroy_user_role_html: "%{name} удалил(а) роль %{target}" disable_2fa_user_html: "%{name} отключил(а) требование двухэтапной авторизации для пользователя %{target}" disable_custom_emoji_html: "%{name} отключил(а) эмодзи %{target}" - disable_sign_in_token_auth_user_html: "%{name} отключил аутентификацию по маркеру электронной почты для %{target}" + disable_relay_html: "%{name} отключил(а) ретранслятор %{target}" + disable_sign_in_token_auth_user_html: "%{name} отключил(а) аутентификацию по e-mail кодам для %{target}" disable_user_html: "%{name} заморозил(а) пользователя %{target}" enable_custom_emoji_html: "%{name} включил(а) эмодзи %{target}" - enable_sign_in_token_auth_user_html: "%{name} включил аутентификацию с помощью маркера электронной почты для %{target}" + enable_relay_html: "%{name} включил(а) ретранслятор %{target}" + enable_sign_in_token_auth_user_html: "%{name} включил(а) аутентификацию по e-mail кодам для %{target}" enable_user_html: "%{name} разморозил(а) пользователя %{target}" memorialize_account_html: "%{name} перевел(а) учётную запись пользователя %{target} в статус памятника" promote_user_html: "%{name} повысил(а) пользователя %{target}" - reject_appeal_html: "%{name} отклонил апелляцию на модерацию от %{target}" + reject_appeal_html: "%{name} отклонил(а) обжалование действий модерации от %{target}" reject_user_html: "%{name} отклонил(а) регистрацию %{target}" remove_avatar_user_html: "%{name} убрал(а) аватарку пользователя %{target}" reopen_report_html: "%{name} повторно открыл(а) жалобу %{target}" @@ -295,7 +303,7 @@ ru: update_custom_emoji_html: "%{name} обновил(а) эмодзи %{target}" update_domain_block_html: "%{name} обновил(а) блокировку домена для %{target}" update_ip_block_html: "%{name} изменил(а) правило для IP %{target}" - update_report_html: "%{name} обновленный отчет %{target}" + update_report_html: "%{name} изменил(а) жалобу %{target}" update_status_html: "%{name} изменил(а) пост пользователя %{target}" update_user_role_html: "%{name} изменил(а) роль %{target}" deleted_account: удалённая учётная запись diff --git a/config/locales/simple_form.ko.yml b/config/locales/simple_form.ko.yml index b2ebf5666def38..962f06253458b1 100644 --- a/config/locales/simple_form.ko.yml +++ b/config/locales/simple_form.ko.yml @@ -46,7 +46,7 @@ ko: current_password: 보안을 위해 현재 계정의 암호를 입력해주세요 current_username: 확인을 위해, 현재 계정의 사용자명을 입력해주세요 digest: 오랫동안 활동하지 않았을 때 받은 멘션들에 대한 요약 받기 - email: 확인용 이메일을 보냈습니다. + email: 확인용 이메일을 보내게 됩니다 header: WEBP, PNG, GIF 혹은 JPG. 최대 %{size}. %{dimensions}px로 축소됨 inbox_url: 사용 할 릴레이 서버의 프론트페이지에서 URL을 복사합니다 irreversible: 필터링 된 게시물은 나중에 필터가 사라지더라도 돌아오지 않게 됩니다 diff --git a/config/locales/simple_form.lt.yml b/config/locales/simple_form.lt.yml index d9204efaaaba33..77482d8012704f 100644 --- a/config/locales/simple_form.lt.yml +++ b/config/locales/simple_form.lt.yml @@ -10,6 +10,7 @@ lt: indexable: Tavo vieši įrašai gali būti rodomi Mastodon paieškos rezultatuose. Žmonės, kurie bendravo su tavo įrašais, gali jų ieškoti nepriklausomai nuo to. note: 'Gali @paminėti kitus žmones arba #saitažodžius.' show_collections: Žmonės galės peržiūrėti tavo sekimus ir sekėjus. Žmonės, kuriuos seki, matys, kad juos seki, nepaisant to. + unlocked: Žmonės galės jus sekti nepaprašę patvirtinimo. Panaikinkite žymėjimą, jei norite peržiūrėti sekimo prašymus ir pasirinkti, ar priimti, ar atmesti naujus sekėjus. account_alias: acct: Nurodyk paskyros, iš kurios nori perkelti, naudotojo vardą@domeną account_migration: diff --git a/config/locales/simple_form.nl.yml b/config/locales/simple_form.nl.yml index 5318059f4a4ccf..2bb31aa0f9dc93 100644 --- a/config/locales/simple_form.nl.yml +++ b/config/locales/simple_form.nl.yml @@ -3,7 +3,7 @@ nl: simple_form: hints: account: - attribution_domains_as_text: Eén per regel. Beschermt tegen valse toeschrijvingen. + attribution_domains_as_text: Eén per regel. Beschermt tegen ongeldige attributies. discoverable: Jouw openbare berichten kunnen worden uitgelicht op verschillende plekken binnen Mastodon en jouw account kan worden aanbevolen aan andere gebruikers. display_name: Jouw volledige naam of een leuke bijnaam. fields: Jouw website, persoonlijke voornaamwoorden, leeftijd, alles wat je maar kwijt wilt. diff --git a/config/locales/simple_form.nn.yml b/config/locales/simple_form.nn.yml index 008af2c5acdcb4..46b7af4bdb08d8 100644 --- a/config/locales/simple_form.nn.yml +++ b/config/locales/simple_form.nn.yml @@ -10,6 +10,7 @@ nn: indexable: Dei offentlege innlegga dine kan dukka opp i søkjeresultat på Mastodon. Folk som har reagert på oinnlegga dine kan uansett søkja gjennom dei. note: 'Du kan @nemne folk eller #emneknaggar.' show_collections: Andre kan sjå kven du fylgjer og kven som fylgjer deg. Dei du fylgjer kan alltid sjå at du fylgjer dei. + unlocked: Alle kan fylgja deg utan å måtta be om det. Vel bort dersom du vil gå gjennom førespurnader om å fylgja deg og seia ja eller nei til kvar av dei. account_alias: acct: Angi brukarnamn@domene til brukaren du ynskjer å flytta frå account_migration: diff --git a/config/locales/simple_form.pl.yml b/config/locales/simple_form.pl.yml index 4fba45098d47ea..c5ff55c15de10f 100644 --- a/config/locales/simple_form.pl.yml +++ b/config/locales/simple_form.pl.yml @@ -10,6 +10,7 @@ pl: indexable: Twoje publiczne wpisy mogą pojawiać się w wynikach wyszukiwania w Mastodonie. Użytkownicy, którzy wchodzili w interakcje z twoimi wpisami będą mogli je znaleźć niezależnie od tego ustawienia. note: 'Możesz @wspomnieć użytkowników albo #hasztagi.' show_collections: Twoja lista obserwowanych i obserwujących będzie widoczna dla wszystkich. Użytkownicy których obserwujesz będą jednak o tym wiedzieli. + unlocked: Inni użytkownicy będą mogli cię obserwować bez proszenia o zgodę. Odznacz, jeżeli chcesz aprobować obserwujących ręcznie po przejrzeniu próśb o obserwowanie. account_alias: acct: Określ nazwę@domenę konta z którego chcesz się przenieść account_migration: diff --git a/config/locales/simple_form.ru.yml b/config/locales/simple_form.ru.yml index d8822d35b92901..37626ff9fd1ec2 100644 --- a/config/locales/simple_form.ru.yml +++ b/config/locales/simple_form.ru.yml @@ -10,6 +10,7 @@ ru: indexable: Ваши публичные сообщения могут появляться в результатах поиска на Mastodon. Люди, которые взаимодействовали с вашими сообщениями, могут искать их независимо от этого. note: 'Вы можете @упоминать других людей или #хэштеги.' show_collections: Люди смогут просматривать список ваших подписок и подписчиков. Люди, за которыми вы следуете, будут видеть, что вы подписаны на них, несмотря ни на что. + unlocked: Люди смогут подписываться на вас, не запрашивая подтверждения. Снимите флажок, если вы хотите просматривать запросы на подписку и выбирать, принимать или отклонять новых подписчиков. account_alias: acct: Укажите имя_пользователя@домен учётной записи, с которой вы собираетесь мигрировать account_migration: diff --git a/config/locales/simple_form.sv.yml b/config/locales/simple_form.sv.yml index b8303e29450aa0..72c3f000f60cac 100644 --- a/config/locales/simple_form.sv.yml +++ b/config/locales/simple_form.sv.yml @@ -10,6 +10,7 @@ sv: indexable: Dina offentliga inlägg kan visas i sökresultat på Mastodon. Personer som har interagerat med dina inlägg kan söka dem oavsett. note: 'Du kan @nämna andra personer eller #hashtaggar.' show_collections: Andra kan se vem du följer och vem som följer dig. De du följer kan alltid se att du följer dem. + unlocked: Andra kommer att kunna följa dig utan att begära godkännande. Avmarkera om du vill granska följeslagare och välja om du vill acceptera eller avvisa nya följare. account_alias: acct: Ange användarnamn@domän för kontot som du vill flytta från account_migration: diff --git a/config/locales/sq.yml b/config/locales/sq.yml index 6cff74fb5085ac..e5becbd91693ee 100644 --- a/config/locales/sq.yml +++ b/config/locales/sq.yml @@ -187,6 +187,7 @@ sq: create_domain_block: Krijo Bllokim Përkatësie create_email_domain_block: Krijoni Bllokim Përkatësie Email-esh create_ip_block: Krijoni Rregull IP + create_relay: Krijoni Rele create_unavailable_domain: Krijo Përkatësi të Papërdorshme create_user_role: Krijoni Rol demote_user: Zhgradoje Përdoruesin @@ -198,14 +199,17 @@ sq: destroy_email_domain_block: Fshini Bllokim Përkatësie Email-esh destroy_instance: Spastroje Përkatësinë destroy_ip_block: Fshini Rregull IP + destroy_relay: Fshije Relenë destroy_status: Fshi Gjendje destroy_unavailable_domain: Fshi Përkatësi të Papërdorshme destroy_user_role: Asgjësoje Rolin disable_2fa_user: Çaktivizo 2FA-në disable_custom_emoji: Çaktivizo Emotikon Vetjak + disable_relay: Çaktivizoje Relenë disable_sign_in_token_auth_user: Çaktivizoni për Përdoruesin Mirëfilltësim Me Token Email-i disable_user: Çaktivizo Përdorues enable_custom_emoji: Aktivizo Emotikon Vetjak + enable_relay: Aktivizoje Relenë enable_sign_in_token_auth_user: Aktivizoni për Përdoruesin Mirëfilltësim Me Token Email-i enable_user: Aktivizo Përdorues memorialize_account: Bëje Llogari Përkujtimore @@ -247,6 +251,7 @@ sq: create_domain_block_html: "%{name} bllokoi përkatësinë %{target}" create_email_domain_block_html: "%{name} bllokoi përkatësinë email %{target}" create_ip_block_html: "%{name} krijoi rregull për IP-në %{target}" + create_relay_html: "%{name} krijoi një rele %{target}" create_unavailable_domain_html: "%{name} ndali dërgimin drejt përkatësisë %{target}" create_user_role_html: "%{name} krijoi rolin %{target}" demote_user_html: "%{name} zhgradoi përdoruesin %{target}" @@ -258,14 +263,17 @@ sq: destroy_email_domain_block_html: "%{name} zhbllokoi përkatësi email %{target}" destroy_instance_html: "%{name} spastroi përkatësinë %{target}" destroy_ip_block_html: "%{name} fshiu rregull për IP-në %{target}" + destroy_relay_html: "%{name} fshiu relenë %{target}" destroy_status_html: "%{name} hoqi gjendje nga %{target}" destroy_unavailable_domain_html: "%{name} rinisi dërgimin drejt përkatësisë %{target}" destroy_user_role_html: "%{name} fshiu rolin %{target}" disable_2fa_user_html: "%{name} çaktivizoi domosdoshmërinë për dyfaktorësh për përdoruesin %{target}" disable_custom_emoji_html: "%{name} çaktivizoi emoxhin %{target}" + disable_relay_html: "%{name} çaktivizoi relenë %{target}" disable_sign_in_token_auth_user_html: "%{name} çaktivizoi mirëfilltësim me token email për %{target}" disable_user_html: "%{name} çaktivizoi hyrje për përdoruesin %{target}" enable_custom_emoji_html: "%{name} aktivizoi emoxhin %{target}" + enable_relay_html: "%{name} aktivizoi relenë %{target}" enable_sign_in_token_auth_user_html: "%{name} aktivizoi mirëfilltësim me token email për %{target}" enable_user_html: "%{name} aktivizoi hyrje për përdoruesin %{target}" memorialize_account_html: "%{name} e shndërroi llogarinë e %{target} në një faqe përkujtimore" diff --git a/config/locales/sv.yml b/config/locales/sv.yml index b2ec21b82e606d..c41795a16816a2 100644 --- a/config/locales/sv.yml +++ b/config/locales/sv.yml @@ -187,6 +187,7 @@ sv: create_domain_block: Skapa blockerad domän create_email_domain_block: Skapa E-post domän block create_ip_block: Skapa IP-regel + create_relay: Skapa ombud create_unavailable_domain: Skapa otillgänglig domän create_user_role: Skapa roll demote_user: Degradera användare @@ -198,14 +199,17 @@ sv: destroy_email_domain_block: Ta bort E-post domän block destroy_instance: Rensa domänen destroy_ip_block: Radera IP-regel + destroy_relay: Radera ombud destroy_status: Radera inlägg destroy_unavailable_domain: Ta bort otillgänglig domän destroy_user_role: Förstör roll disable_2fa_user: Inaktivera 2FA disable_custom_emoji: Inaktivera egna emojis + disable_relay: Inaktivera ombud disable_sign_in_token_auth_user: Inaktivera autentisering med pollett via e-post för användare disable_user: Inaktivera användare enable_custom_emoji: Aktivera egna emojis + enable_relay: Aktivera ombud enable_sign_in_token_auth_user: Aktivera autentisering med pollett via e-post för användare enable_user: Aktivera användare memorialize_account: Minnesmärk konto @@ -247,6 +251,7 @@ sv: create_domain_block_html: "%{name} blockerade domänen %{target}" create_email_domain_block_html: "%{name} blockerade e-post domänet%{target}" create_ip_block_html: "%{name} skapade regel för IP %{target}" + create_relay_html: "%{name} skapade ombudet %{target}" create_unavailable_domain_html: "%{name} stoppade leverans till domänen %{target}" create_user_role_html: "%{name} skapade rollen %{target}" demote_user_html: "%{name} nedgraderade användare %{target}" @@ -258,14 +263,17 @@ sv: destroy_email_domain_block_html: "%{name} avblockerade e-post domänet %{target}" destroy_instance_html: "%{name} rensade domän %{target}" destroy_ip_block_html: "%{name} tog bort regel för IP %{target}" + destroy_relay_html: "%{name} tog bort ombudet %{target}" destroy_status_html: "%{name} tog bort inlägget av %{target}" destroy_unavailable_domain_html: "%{name} återupptog leverans till domänen %{target}" destroy_user_role_html: "%{name} raderade rollen %{target}" disable_2fa_user_html: "%{name} inaktiverade tvåfaktorsautentiseringskrav för användaren %{target}" disable_custom_emoji_html: "%{name} inaktiverade emoji %{target}" + disable_relay_html: "%{name} inaktiverade ombudet %{target}" disable_sign_in_token_auth_user_html: "%{name} inaktiverade e-posttokenautentisering för %{target}" disable_user_html: "%{name} stängde av inloggning för användaren %{target}" enable_custom_emoji_html: "%{name} aktiverade emoji %{target}" + enable_relay_html: "%{name} aktiverat ombudet %{target}" enable_sign_in_token_auth_user_html: "%{name} aktiverade e-posttokenautentisering för %{target}" enable_user_html: "%{name} aktiverade inloggning för användaren %{target}" memorialize_account_html: "%{name} gjorde %{target}s konto till en minnessida" @@ -571,7 +579,7 @@ sv: relationships: title: "%{acct}s relationer" relays: - add_new: Lägg till nytt relä + add_new: Lägg till nytt ombud delete: Radera description_html: Ett federeringsombud är en mellanliggande server som utbyter höga antal offentliga inlägg mellan servrar som prenumererar på och publicerar till det. Det kan hjälpa små och medelstora servrar upptäcka innehåll från fediversumet, vilket annars skulle kräva att lokala användare manuellt följer personer på fjärrservrar. disable: Inaktivera @@ -582,10 +590,10 @@ sv: inbox_url: Ombuds-URL pending: Väntar på ombudets godkännande save_and_enable: Spara och aktivera - setup: Konfigurera en relä-anslutning - signatures_not_enabled: Ombud fungerar inte korrekt medan säkert läge eller begränsat federeringsläge är aktiverade + setup: Konfigurera ett ombud + signatures_not_enabled: Ombud fungerar inte korrekt om säkert läge eller begränsat federeringsläge är aktiverade status: Status - title: Relä + title: Ombud report_notes: created_msg: Anmälningsanteckning har skapats! destroyed_msg: Anmälningsanteckning har raderats! diff --git a/config/locales/tr.yml b/config/locales/tr.yml index 942ee2fbf29b40..88636ef21bc9f0 100644 --- a/config/locales/tr.yml +++ b/config/locales/tr.yml @@ -187,6 +187,7 @@ tr: create_domain_block: Engellenen Alan Adı Oluştur create_email_domain_block: E-Posta Alan Adı Engeli Oluştur create_ip_block: IP kuralı oluştur + create_relay: Aktarıcı Oluştur create_unavailable_domain: Mevcut Olmayan Alan Adı Oluştur create_user_role: Rol Oluştur demote_user: Kullanıcıyı Düşür @@ -198,14 +199,17 @@ tr: destroy_email_domain_block: E-posta Alan Adı Engelini Sil destroy_instance: Alan adını temizle destroy_ip_block: IP kuralını sil + destroy_relay: Aktarıcı Sil destroy_status: Durumu Sil destroy_unavailable_domain: Mevcut Olmayan Alan Adı Sil destroy_user_role: Rolü Kaldır disable_2fa_user: 2AD Kapat disable_custom_emoji: Özel İfadeyi Devre Dışı Bırak + disable_relay: Aktarıcıyı Devre Dışı Bırak disable_sign_in_token_auth_user: Kullanıcı için E-posta Token Doğrulamayı Devre Dışı Bırak disable_user: Kullanıcıyı Devre Dışı Bırak enable_custom_emoji: Özel İfadeyi Etkinleştir + enable_relay: Aktarıcıyı Etkinleştir enable_sign_in_token_auth_user: Kullanıcı için E-posta Token Doğrulamayı Etkinleştir enable_user: Kullanıcıyı Etkinleştir memorialize_account: Hesabı Anıtlaştır @@ -247,6 +251,7 @@ tr: create_domain_block_html: "%{name}, %{target} alan adını engelledi" create_email_domain_block_html: "%{name}, %{target} e-posta alan adını engelledi" create_ip_block_html: "%{name}, %{target} IP adresi için kural oluşturdu" + create_relay_html: "%{name}, %{target} aktarıcısını oluşturdu" create_unavailable_domain_html: "%{name}, %{target} alan adına teslimatı durdurdu" create_user_role_html: "%{name}, %{target} rolünü oluşturdu" demote_user_html: "%{name}, %{target} kullanıcısını düşürdü" @@ -258,14 +263,17 @@ tr: destroy_email_domain_block_html: "%{name}, %{target} e-posta alan adı engelini kaldırdı" destroy_instance_html: "%{name}, %{target} alan adını temizledi" destroy_ip_block_html: "%{name}, %{target} IP adresi kuralını sildi" + destroy_relay_html: "%{name}, %{target} aktarıcısını sildi" destroy_status_html: "%{name}, %{target} kullanıcısının gönderisini kaldırdı" destroy_unavailable_domain_html: "%{name}, %{target} alan adına teslimatı sürdürdü" destroy_user_role_html: "%{name}, %{target} rolünü sildi" disable_2fa_user_html: "%{name}, %{target} kullanıcısının iki aşamalı doğrulama gereksinimini kapattı" disable_custom_emoji_html: "%{name}, %{target} emojisini devre dışı bıraktı" + disable_relay_html: "%{name}, %{target} aktarıcısını devre dışı bıraktı" disable_sign_in_token_auth_user_html: "%{name}, %{target} için e-posta token doğrulamayı devre dışı bıraktı" disable_user_html: "%{name}, %{target} kullanıcısı için oturum açmayı devre dışı bıraktı" enable_custom_emoji_html: "%{name}, %{target} emojisini etkinleştirdi" + enable_relay_html: "%{name}, %{target} aktarıcısını etkinleştirdi" enable_sign_in_token_auth_user_html: "%{name}, %{target} için e-posta token doğrulamayı etkinleştirdi" enable_user_html: "%{name}, %{target} kullanıcısı için oturum açmayı etkinleştirdi" memorialize_account_html: "%{name}, %{target} kullanıcısının hesabını bir anıt sayfaya dönüştürdü" diff --git a/config/locales/vi.yml b/config/locales/vi.yml index 172ce55a3d4a44..1d04f796f8c984 100644 --- a/config/locales/vi.yml +++ b/config/locales/vi.yml @@ -184,6 +184,7 @@ vi: create_domain_block: Chặn máy chủ create_email_domain_block: Chặn tên miền email create_ip_block: Chặn IP + create_relay: Tạo relay create_unavailable_domain: Bỏ liên hợp create_user_role: Tạo vai trò demote_user: Hạ vai trò @@ -195,14 +196,17 @@ vi: destroy_email_domain_block: Bỏ chặn tên miền email destroy_instance: Thanh trừng máy chủ destroy_ip_block: Bỏ chặn IP + destroy_relay: Xóa relay destroy_status: Xóa tút destroy_unavailable_domain: Cho phép liên hợp destroy_user_role: Xóa vai trò disable_2fa_user: Vô hiệu hóa 2FA disable_custom_emoji: Vô hiệu hóa emoji + disable_relay: Tắt relay disable_sign_in_token_auth_user: Tắt xác minh bằng email cho người dùng disable_user: Vô hiệu hóa đăng nhập enable_custom_emoji: Cho phép emoji + enable_relay: Bật relay enable_sign_in_token_auth_user: Bật xác minh bằng email cho người dùng enable_user: Cho phép đăng nhập memorialize_account: Gán tưởng niệm @@ -244,6 +248,7 @@ vi: create_domain_block_html: "%{name} đã chặn máy chủ %{target}" create_email_domain_block_html: "%{name} đã chặn tên miền email %{target}" create_ip_block_html: "%{name} đã chặn IP %{target}" + create_relay_html: "%{name} đã tạo relay %{target}" create_unavailable_domain_html: "%{name} đã bỏ liên hợp với máy chủ %{target}" create_user_role_html: "%{name} đã tạo vai trò %{target}" demote_user_html: "%{name} đã hạ vai trò của %{target}" @@ -255,14 +260,17 @@ vi: destroy_email_domain_block_html: "%{name} đã bỏ chặn email %{target}" destroy_instance_html: "%{name} đã thanh trừng máy chủ %{target}" destroy_ip_block_html: "%{name} đã bỏ chặn IP %{target}" + destroy_relay_html: "%{name} đã xóa relay %{target}" destroy_status_html: "%{name} đã xóa tút của %{target}" destroy_unavailable_domain_html: "%{name} tiếp tục liên hợp với máy chủ %{target}" destroy_user_role_html: "%{name} đã xóa vai trò %{target}" disable_2fa_user_html: "%{name} đã vô hiệu hóa xác minh hai bước của %{target}" disable_custom_emoji_html: "%{name} đã ẩn emoji %{target}" + disable_relay_html: "%{name} đã tắt relay %{target}" disable_sign_in_token_auth_user_html: "%{name} đã tắt xác minh email của %{target}" disable_user_html: "%{name} đã vô hiệu hóa đăng nhập %{target}" enable_custom_emoji_html: "%{name} đã cho phép emoji %{target}" + enable_relay_html: "%{name} đã bật relay %{target}" enable_sign_in_token_auth_user_html: "%{name} đã bật xác minh email của %{target}" enable_user_html: "%{name} đã bỏ vô hiệu hóa đăng nhập %{target}" memorialize_account_html: "%{name} đã biến tài khoản %{target} thành một trang tưởng niệm" diff --git a/config/locales/zh-CN.yml b/config/locales/zh-CN.yml index 209683e21cf32b..36d316649c8d42 100644 --- a/config/locales/zh-CN.yml +++ b/config/locales/zh-CN.yml @@ -184,6 +184,7 @@ zh-CN: create_domain_block: 封禁新域名 create_email_domain_block: 封禁新的邮箱域名 create_ip_block: 新建 IP 规则 + create_relay: 创建中继站 create_unavailable_domain: 创建不可用域名 create_user_role: 创建角色 demote_user: 给用户降职 @@ -195,14 +196,17 @@ zh-CN: destroy_email_domain_block: 解除邮箱域名封禁 destroy_instance: 删除实例 destroy_ip_block: 删除 IP 规则 + destroy_relay: 删除中继站 destroy_status: 删除嘟文 destroy_unavailable_domain: 删除不可用域名 destroy_user_role: 销毁角色 disable_2fa_user: 停用双因素认证 disable_custom_emoji: 禁用自定义表情符号 + disable_relay: 禁用中继站 disable_sign_in_token_auth_user: 为用户禁用邮件令牌身份验证 disable_user: 禁用用户 enable_custom_emoji: 启用自定义表情符号 + enable_relay: 启用中继站 enable_sign_in_token_auth_user: 为用户启用邮件令牌身份验证 enable_user: 启用用户 memorialize_account: 将账户设为追悼模式 @@ -244,6 +248,7 @@ zh-CN: create_domain_block_html: "%{name} 屏蔽了域名 %{target}" create_email_domain_block_html: "%{name} 封禁了邮箱域名 %{target}" create_ip_block_html: "%{name} 为 IP %{target} 创建了规则" + create_relay_html: "%{name} 添加了中继站 %{target}" create_unavailable_domain_html: "%{name} 停止了向域名 %{target} 的投递" create_user_role_html: "%{name} 创建了 %{target} 角色" demote_user_html: "%{name} 对用户 %{target} 进行了降任操作" @@ -255,14 +260,17 @@ zh-CN: destroy_email_domain_block_html: "%{name} 解封了邮箱域名 %{target}" destroy_instance_html: "%{name} 删除了实例 %{target}" destroy_ip_block_html: "%{name} 删除了 IP %{target} 的规则" + destroy_relay_html: "%{name} 删除了中继站 %{target}" destroy_status_html: "%{name} 删除了 %{target} 的嘟文" destroy_unavailable_domain_html: "%{name} 恢复了向域名 %{target} 的投递" destroy_user_role_html: "%{name} 删除了 %{target} 角色" disable_2fa_user_html: "%{name} 停用了用户 %{target} 的双因素认证" disable_custom_emoji_html: "%{name} 停用了自定义表情 %{target}" + disable_relay_html: "%{name} 停用了中继站 %{target}" disable_sign_in_token_auth_user_html: "%{name} 为 %{target} 禁用了邮件令牌身份验证" disable_user_html: "%{name} 将用户 %{target} 设置为禁止登录" enable_custom_emoji_html: "%{name} 启用了自定义表情 %{target}" + enable_relay_html: "%{name} 启用了中继站 %{target}" enable_sign_in_token_auth_user_html: "%{name} 为 %{target} 启用了邮件令牌身份验证" enable_user_html: "%{name} 将用户 %{target} 设置为允许登录" memorialize_account_html: "%{name} 将 %{target} 设置为追悼账户" diff --git a/config/locales/zh-TW.yml b/config/locales/zh-TW.yml index d8fef10816d145..495a6a474220db 100644 --- a/config/locales/zh-TW.yml +++ b/config/locales/zh-TW.yml @@ -184,6 +184,7 @@ zh-TW: create_domain_block: 新增網域封鎖 create_email_domain_block: 新增電子郵件網域封鎖 create_ip_block: 新增IP規則 + create_relay: 新增中繼 create_unavailable_domain: 新增無法存取的網域 create_user_role: 新增角色 demote_user: 將用戶降級 @@ -195,14 +196,17 @@ zh-TW: destroy_email_domain_block: 刪除電子郵件網域封鎖 destroy_instance: 清除網域 destroy_ip_block: 刪除 IP 規則 + destroy_relay: 刪除中繼 destroy_status: 刪除狀態 destroy_unavailable_domain: 刪除無法存取的網域 destroy_user_role: 移除角色 disable_2fa_user: 停用兩階段驗證 disable_custom_emoji: 停用自訂 emoji 表情符號 + disable_relay: 停用中繼 disable_sign_in_token_auth_user: 停用使用者電子郵件 token 驗證 disable_user: 停用帳號 enable_custom_emoji: 啟用自訂 emoji 表情符號 + enable_relay: 啟用中繼 enable_sign_in_token_auth_user: 啟用使用者電子郵件 token 驗證 enable_user: 啓用帳號 memorialize_account: 設定成追悼帳號 @@ -244,6 +248,7 @@ zh-TW: create_domain_block_html: "%{name} 已封鎖網域 %{target}" create_email_domain_block_html: "%{name} 已封鎖電子郵件網域 %{target}" create_ip_block_html: "%{name} 已設定 IP %{target} 的規則" + create_relay_html: "%{name} 已新增中繼 %{target}" create_unavailable_domain_html: "%{name} 停止發送至網域 %{target}" create_user_role_html: "%{name} 已新增 %{target} 角色" demote_user_html: "%{name} 將使用者 %{target} 降級" @@ -255,14 +260,17 @@ zh-TW: destroy_email_domain_block_html: "%{name} 已解除封鎖電子郵件網域 %{target}" destroy_instance_html: "%{name} 已清除網域 %{target}" destroy_ip_block_html: "%{name} 已刪除 IP %{target} 的規則" + destroy_relay_html: "%{name} 已刪除中繼 %{target}" destroy_status_html: "%{name} 已刪除 %{target} 的嘟文" destroy_unavailable_domain_html: "%{name} 已恢復對網域 %{target} 的發送" destroy_user_role_html: "%{name} 已刪除 %{target} 角色" disable_2fa_user_html: "%{name} 已停用使用者 %{target} 的兩階段驗證 (2FA) " disable_custom_emoji_html: "%{name} 已停用自訂 emoji 表情符號 %{target}" + disable_relay_html: "%{name} 已停用中繼 %{target}" disable_sign_in_token_auth_user_html: "%{name} 已停用 %{target} 之使用者電子郵件 token 驗證" disable_user_html: "%{name} 將使用者 %{target} 設定為禁止登入" enable_custom_emoji_html: "%{name} 已啟用自訂 emoji 表情符號 %{target}" + enable_relay_html: "%{name} 已啟用中繼 %{target}" enable_sign_in_token_auth_user_html: "%{name} 已啟用 %{target} 之使用者電子郵件 token 驗證" enable_user_html: "%{name} 將使用者 %{target} 設定為允許登入" memorialize_account_html: "%{name} 將 %{target} 設定為追悼帳號" @@ -560,7 +568,7 @@ zh-TW: relationships: title: "%{acct} 的關係" relays: - add_new: 新增中繼站 + add_new: 新增中繼 delete: 刪除 description_html: "聯邦中繼站 是種中繼伺服器,會於訂閱並推送至此中繼站的伺服器之間交換大量的公開嘟文。中繼站也能協助小型或中型伺服器自聯邦宇宙中探索內容,而無須本地使用者手動跟隨遠端伺服器的其他使用者。" disable: 停用 From 95d7120ce6671ec1765e8435b248eb2dc7d8ee02 Mon Sep 17 00:00:00 2001 From: Matt Jankowski Date: Wed, 13 Nov 2024 04:35:21 -0500 Subject: [PATCH 191/357] Misc gem version bumps (#32854) --- Gemfile.lock | 36 ++++++++++++++++++------------------ 1 file changed, 18 insertions(+), 18 deletions(-) diff --git a/Gemfile.lock b/Gemfile.lock index 743a78ad54df5e..b832a18df6b879 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -97,7 +97,7 @@ GEM attr_required (1.0.2) awrence (1.2.1) aws-eventstream (1.3.0) - aws-partitions (1.1001.0) + aws-partitions (1.1004.0) aws-sdk-core (3.212.0) aws-eventstream (~> 1, >= 1.3.0) aws-partitions (~> 1, >= 1.992.0) @@ -112,7 +112,7 @@ GEM aws-sigv4 (~> 1.5) aws-sigv4 (1.10.1) aws-eventstream (~> 1, >= 1.0.2) - azure-blob (0.5.2) + azure-blob (0.5.3) rexml base64 (0.2.0) bcp47_spec (0.2.1) @@ -178,7 +178,7 @@ GEM activerecord (>= 5.a) database_cleaner-core (~> 2.0.0) database_cleaner-core (2.0.1) - date (3.3.4) + date (3.4.0) debug (1.9.2) irb (~> 1.10) reline (>= 0.3.8) @@ -189,10 +189,10 @@ GEM railties (>= 4.1.0) responders warden (~> 1.2.3) - devise-two-factor (6.0.0) - activesupport (~> 7.0) + devise-two-factor (6.1.0) + activesupport (>= 7.0, < 8.1) devise (~> 4.0) - railties (~> 7.0) + railties (>= 7.0, < 8.1) rotp (~> 6.0) devise_pam_authenticatable2 (9.2.0) devise (>= 4.0.0) @@ -330,7 +330,7 @@ GEM azure-blob (~> 0.5.2) hashie (~> 5.0) jmespath (1.6.2) - json (2.7.4) + json (2.8.1) json-canonicalization (1.0.0) json-jwt (1.15.3.1) activesupport (>= 4.2) @@ -407,16 +407,16 @@ GEM mime-types (3.6.0) logger mime-types-data (~> 3.2015) - mime-types-data (3.2024.1001) + mime-types-data (3.2024.1105) mini_mime (1.1.5) mini_portile2 (2.8.7) minitest (5.25.1) - msgpack (1.7.3) + msgpack (1.7.5) multi_json (1.15.0) mutex_m (0.2.0) net-http (0.5.0) uri - net-imap (0.5.0) + net-imap (0.5.1) date net-protocol net-ldap (0.19.0) @@ -554,10 +554,10 @@ GEM opentelemetry-semantic_conventions (1.10.1) opentelemetry-api (~> 1.0) orm_adapter (0.5.0) - ostruct (0.6.0) + ostruct (0.6.1) ox (2.14.18) parallel (1.26.3) - parser (3.3.5.0) + parser (3.3.6.0) ast (~> 2.4.1) racc parslet (2.0.0) @@ -579,7 +579,7 @@ GEM activesupport (>= 7.0.0) rack railties (>= 7.0.0) - psych (5.1.2) + psych (5.2.0) stringio public_suffix (6.0.1) puma (6.4.3) @@ -664,7 +664,7 @@ GEM redlock (1.3.2) redis (>= 3.0.0, < 6.0) regexp_parser (2.9.2) - reline (0.5.10) + reline (0.5.11) io-console (~> 0.5) request_store (1.6.0) rack (>= 1.4) @@ -673,7 +673,7 @@ GEM railties (>= 5.2) rexml (3.3.9) rotp (6.3.0) - rouge (4.4.0) + rouge (4.5.1) rpam2 (4.0.2) rqrcode (2.2.0) chunky_png (~> 1.0) @@ -693,7 +693,7 @@ GEM rspec-mocks (3.13.2) diff-lcs (>= 1.2.0, < 2.0) rspec-support (~> 3.13.0) - rspec-rails (7.0.1) + rspec-rails (7.1.0) actionpack (>= 7.0) activesupport (>= 7.0) railties (>= 7.0) @@ -794,7 +794,7 @@ GEM stackprof (0.2.26) stoplight (4.1.0) redlock (~> 1.0) - stringio (3.1.1) + stringio (3.1.2) strong_migrations (2.1.0) activerecord (>= 6.1) swd (1.3.0) @@ -867,7 +867,7 @@ GEM rack-proxy (>= 0.6.1) railties (>= 5.2) semantic_range (>= 2.3.0) - webrick (1.8.2) + webrick (1.9.0) websocket (1.2.11) websocket-driver (0.7.6) websocket-extensions (>= 0.1.0) From 8f5cbf537026915215d84945efad9a878ac8cdb4 Mon Sep 17 00:00:00 2001 From: Claire Date: Wed, 13 Nov 2024 11:22:11 +0100 Subject: [PATCH 192/357] Fix list creation limit check (#32869) --- app/models/list.rb | 2 +- spec/models/list_spec.rb | 6 +++++- 2 files changed, 6 insertions(+), 2 deletions(-) diff --git a/app/models/list.rb b/app/models/list.rb index d4915f56fae830..bb7dd4cfc013e9 100644 --- a/app/models/list.rb +++ b/app/models/list.rb @@ -34,7 +34,7 @@ class List < ApplicationRecord private def validate_account_lists_limit - errors.add(:base, I18n.t('lists.errors.limit')) if account.lists.count >= PER_ACCOUNT_LIMIT + errors.add(:base, I18n.t('lists.errors.limit')) if account.owned_lists.count >= PER_ACCOUNT_LIMIT end def clean_feed_manager diff --git a/spec/models/list_spec.rb b/spec/models/list_spec.rb index 62a84dfebf2f96..48c273d3ecbabd 100644 --- a/spec/models/list_spec.rb +++ b/spec/models/list_spec.rb @@ -11,7 +11,11 @@ context 'when account has hit max list limit' do let(:account) { Fabricate :account } - before { stub_const 'List::PER_ACCOUNT_LIMIT', 0 } + before do + stub_const 'List::PER_ACCOUNT_LIMIT', 1 + + Fabricate(:list, account: account) + end context 'when creating a new list' do it { is_expected.to_not allow_value(account).for(:account).against(:base).with_message(I18n.t('lists.errors.limit')) } From 03ecf5df3bee1c667bfdba26887613c8620dc5c5 Mon Sep 17 00:00:00 2001 From: Jaz-Michael King <141073565+jmking-iftas@users.noreply.github.com> Date: Wed, 13 Nov 2024 08:10:01 -0500 Subject: [PATCH 193/357] Adds a range of reserved usernames to reduce potential misuse by malicious actors (#32828) --- config/settings.yml | 21 +++++++++++++++++---- 1 file changed, 17 insertions(+), 4 deletions(-) diff --git a/config/settings.yml b/config/settings.yml index 297bf0281d03ae..673a4c1be2bb29 100644 --- a/config/settings.yml +++ b/config/settings.yml @@ -21,14 +21,27 @@ defaults: &defaults trends_as_landing_page: true trendable_by_default: false reserved_usernames: + - abuse + - account + - accounts - admin - - support - - help - - root - - webmaster + - administration - administrator + - admins + - help + - helpdesk + - instance - mod - moderator + - moderators + - mods + - owner + - root + - security + - server + - staff + - support + - webmaster disallowed_hashtags: # space separated string or list of hashtags without the hash bootstrap_timeline_accounts: '' activity_api_enabled: true From 7fc8292ea540fda71434d24dd78622d8e94d024c Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Wed, 13 Nov 2024 16:08:10 +0100 Subject: [PATCH 194/357] Update dependency react-textarea-autosize to v8.5.5 (#32872) 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 9e3ec41017fce9..7fd68ac8c190e9 100644 --- a/yarn.lock +++ b/yarn.lock @@ -14787,15 +14787,15 @@ __metadata: linkType: hard "react-textarea-autosize@npm:^8.4.1": - version: 8.5.4 - resolution: "react-textarea-autosize@npm:8.5.4" + version: 8.5.5 + resolution: "react-textarea-autosize@npm:8.5.5" dependencies: "@babel/runtime": "npm:^7.20.13" use-composed-ref: "npm:^1.3.0" use-latest: "npm:^1.2.1" peerDependencies: react: ^16.8.0 || ^17.0.0 || ^18.0.0 - checksum: 10c0/ea92fda2128983c1a8e84c74706ffb4b8bfa1a19c803d210868ec031c1ac3b8ceee8028766ef5d91017265da2bdccf6a85e5b6e5d553005e839f0c47e5758b43 + checksum: 10c0/d708a31b39a409d0246cd8afbd956ce51db58ce0b6411b9d4e1dc876ce93c329d20875933ce5d337662fdcd3699596966dc630149236fee2835d74e302404c98 languageName: node linkType: hard From 980970ddfd659393877cc4fa87d2811bbd0e0a79 Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Thu, 14 Nov 2024 10:15:49 +0100 Subject: [PATCH 195/357] Update dependency browser to v6.1.0 (#32878) 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 b832a18df6b879..106fb0d0fde5e4 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -131,7 +131,7 @@ GEM msgpack (~> 1.2) brakeman (6.2.2) racc - browser (6.0.0) + browser (6.1.0) brpoplpush-redis_script (0.1.3) concurrent-ruby (~> 1.0, >= 1.0.5) redis (>= 1.0, < 6) From aaebf142aac8ae0f52faa847a9e0c206da57a555 Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" <41898282+github-actions[bot]@users.noreply.github.com> Date: Thu, 14 Nov 2024 10:39:33 +0100 Subject: [PATCH 196/357] New Crowdin Translations (automated) (#32884) Co-authored-by: GitHub Actions --- app/javascript/mastodon/locales/ar.json | 1 + app/javascript/mastodon/locales/eo.json | 5 +++-- app/javascript/mastodon/locales/fr-CA.json | 3 +++ app/javascript/mastodon/locales/fr.json | 3 +++ app/javascript/mastodon/locales/it.json | 1 + app/javascript/mastodon/locales/lad.json | 25 ++++++++++++++++++++++ config/locales/bg.yml | 18 ++++++++++++++++ config/locales/es.yml | 24 ++++++++++----------- config/locales/lad.yml | 9 ++++++++ config/locales/simple_form.bg.yml | 3 +++ config/locales/simple_form.lad.yml | 1 + 11 files changed, 79 insertions(+), 14 deletions(-) diff --git a/app/javascript/mastodon/locales/ar.json b/app/javascript/mastodon/locales/ar.json index 54ed1cb8c85b5a..5c7dfeb128fb19 100644 --- a/app/javascript/mastodon/locales/ar.json +++ b/app/javascript/mastodon/locales/ar.json @@ -86,6 +86,7 @@ "alert.unexpected.title": "المعذرة!", "alt_text_badge.title": "نص بديل", "announcement.announcement": "إعلان", + "annual_report.summary.archetype.booster": "The cool-hunter", "attachments_list.unprocessed": "(غير معالَج)", "audio.hide": "إخفاء المقطع الصوتي", "block_modal.remote_users_caveat": "سوف نطلب من الخادم {domain} أن يحترم قرارك، لكن الالتزام غير مضمون لأن بعض الخواديم قد تتعامل مع نصوص الكتل بشكل مختلف. قد تظل المنشورات العامة مرئية للمستخدمين غير المسجلين الدخول.", diff --git a/app/javascript/mastodon/locales/eo.json b/app/javascript/mastodon/locales/eo.json index 731e11f27aa2f0..6d8c82385bd8a1 100644 --- a/app/javascript/mastodon/locales/eo.json +++ b/app/javascript/mastodon/locales/eo.json @@ -90,6 +90,7 @@ "annual_report.summary.archetype.replier": "La plej societema", "annual_report.summary.followers.followers": "sekvantoj", "annual_report.summary.highlighted_post.by_replies": "afiŝo kun la plej multaj respondoj", + "annual_report.summary.most_used_app.most_used_app": "plej uzita apo", "annual_report.summary.most_used_hashtag.none": "Nenio", "annual_report.summary.new_posts.new_posts": "novaj afiŝoj", "annual_report.summary.thanks": "Dankon pro esti parto de Mastodon!", @@ -339,7 +340,7 @@ "followed_tags": "Sekvataj kradvortoj", "footer.about": "Pri", "footer.directory": "Profilujo", - "footer.get_app": "Akiru la Programon", + "footer.get_app": "Akiri la apon", "footer.invite": "Inviti homojn", "footer.keyboard_shortcuts": "Fulmoklavoj", "footer.privacy_policy": "Politiko de privateco", @@ -388,7 +389,7 @@ "ignore_notifications_modal.not_followers_title": "Ĉu ignori sciigojn de homoj, kiuj ne sekvas vin?", "ignore_notifications_modal.not_following_title": "Ĉu ignori sciigojn de homoj, kiujn vi ne sekvas?", "ignore_notifications_modal.private_mentions_title": "Ĉu ignori sciigojn de nepetitaj privataj mencioj?", - "interaction_modal.description.favourite": "Per konto ĉe Mastodon, vi povas stelumiti ĉi tiun afiŝon por sciigi la afiŝanton ke vi aprezigas ŝin kaj konservas por la estonteco.", + "interaction_modal.description.favourite": "Per konto ĉe Mastodon, vi povas stelumi ĉi tiun afiŝon por sciigi la afiŝanton ke vi sâtas kaj konservas ĝin por poste.", "interaction_modal.description.follow": "Kun konto ĉe Mastodon, vi povas sekvi {name} por ricevi iliajn afiŝojn en via hejma fluo.", "interaction_modal.description.reblog": "Kun konto ĉe Mastodon, vi povas diskonigi ĉi tiun afiŝon, por ke viaj propraj sekvantoj vidu ĝin.", "interaction_modal.description.reply": "Kun konto ĉe Mastodon, vi povos respondi al ĉi tiu afiŝo.", diff --git a/app/javascript/mastodon/locales/fr-CA.json b/app/javascript/mastodon/locales/fr-CA.json index 65bbc25c211b8e..fed111e7e8c187 100644 --- a/app/javascript/mastodon/locales/fr-CA.json +++ b/app/javascript/mastodon/locales/fr-CA.json @@ -87,6 +87,9 @@ "alert.unexpected.title": "Oups!", "alt_text_badge.title": "Texte Alt", "announcement.announcement": "Annonce", + "annual_report.summary.archetype.oracle": "L’oracle", + "annual_report.summary.here_it_is": "Voici votre récap de {year} :", + "annual_report.summary.most_used_app.most_used_app": "appli la plus utilisée", "attachments_list.unprocessed": "(non traité)", "audio.hide": "Masquer l'audio", "block_modal.remote_users_caveat": "Nous allons demander au serveur {domain} de respecter votre décision. Cependant, ce respect n'est pas garanti, car certains serveurs peuvent gérer différemment les blocages. Les messages publics peuvent rester visibles par les utilisateur·rice·s non connecté·e·s.", diff --git a/app/javascript/mastodon/locales/fr.json b/app/javascript/mastodon/locales/fr.json index ed751c244b50a3..10bfc22bd8b921 100644 --- a/app/javascript/mastodon/locales/fr.json +++ b/app/javascript/mastodon/locales/fr.json @@ -87,6 +87,9 @@ "alert.unexpected.title": "Oups !", "alt_text_badge.title": "Texte Alt", "announcement.announcement": "Annonce", + "annual_report.summary.archetype.oracle": "L’oracle", + "annual_report.summary.here_it_is": "Voici votre récap de {year} :", + "annual_report.summary.most_used_app.most_used_app": "appli la plus utilisée", "attachments_list.unprocessed": "(non traité)", "audio.hide": "Masquer l'audio", "block_modal.remote_users_caveat": "Nous allons demander au serveur {domain} de respecter votre décision. Cependant, ce respect n'est pas garanti, car certains serveurs peuvent gérer différemment les blocages. Les messages publics peuvent rester visibles par les utilisateur·rice·s non connecté·e·s.", diff --git a/app/javascript/mastodon/locales/it.json b/app/javascript/mastodon/locales/it.json index bf179ea2f2008e..06779d337c495a 100644 --- a/app/javascript/mastodon/locales/it.json +++ b/app/javascript/mastodon/locales/it.json @@ -97,6 +97,7 @@ "annual_report.summary.highlighted_post.possessive": "di {name}", "annual_report.summary.most_used_app.most_used_app": "l'app più utilizzata", "annual_report.summary.most_used_hashtag.most_used_hashtag": "l'hashtag più usato", + "annual_report.summary.most_used_hashtag.none": "Nessuno", "annual_report.summary.new_posts.new_posts": "nuovi post", "annual_report.summary.percentile.text": "Questo ti colloca tra ildei migliori utenti Mastodon.", "annual_report.summary.percentile.we_wont_tell_bernie": "Non lo diremo a Bernie.", diff --git a/app/javascript/mastodon/locales/lad.json b/app/javascript/mastodon/locales/lad.json index 563eb3b190af38..0a5f82aee3af9c 100644 --- a/app/javascript/mastodon/locales/lad.json +++ b/app/javascript/mastodon/locales/lad.json @@ -87,6 +87,17 @@ "alert.unexpected.title": "Atyo!", "alt_text_badge.title": "Teksto alternativo", "announcement.announcement": "Pregon", + "annual_report.summary.archetype.pollster": "El anketero", + "annual_report.summary.followers.followers": "suivantes", + "annual_report.summary.highlighted_post.by_favourites": "la puvlikasyon mas favoritada", + "annual_report.summary.highlighted_post.by_reblogs": "la puvlikasyon mas repartajada", + "annual_report.summary.highlighted_post.by_replies": "la puvlikasyon kon mas repuestas", + "annual_report.summary.highlighted_post.possessive": "de {name}", + "annual_report.summary.most_used_app.most_used_app": "la aplikasyon mas uzada", + "annual_report.summary.most_used_hashtag.most_used_hashtag": "la etiketa mas uzada", + "annual_report.summary.most_used_hashtag.none": "Dinguno", + "annual_report.summary.new_posts.new_posts": "puvlikasyones muevas", + "annual_report.summary.thanks": "Mersi por ser parte de Mastodon!", "attachments_list.unprocessed": "(no prosesado)", "audio.hide": "Eskonde audio", "block_modal.show_less": "Amostra manko", @@ -97,6 +108,7 @@ "block_modal.you_wont_see_mentions": "No veras publikasyones ke lo enmentan.", "boost_modal.combo": "Puedes klikar {combo} para ometer esto la proksima vez", "boost_modal.reblog": "Repartajar puvlikasyon?", + "boost_modal.undo_reblog": "Departajar puvlikasyon?", "bundle_column_error.copy_stacktrace": "Kopia el raporto de yerro", "bundle_column_error.error.body": "La pajina solisitada no pudo ser renderada. Podria ser por un yerro en muestro kodiche o un problem de kompatibilita kon el navigador.", "bundle_column_error.error.title": "Atyo, no!", @@ -155,6 +167,7 @@ "compose_form.poll.duration": "Durasion de anketa", "compose_form.poll.multiple": "Multiples opsyones", "compose_form.poll.option_placeholder": "Opsyon {number}", + "compose_form.poll.single": "Opsyon unika", "compose_form.poll.switch_to_multiple": "Troka anketa para permeter a eskojer mas ke una opsyon", "compose_form.poll.switch_to_single": "Troka anketa para permeter a eskojer solo una opsyon", "compose_form.poll.type": "Estilo", @@ -213,6 +226,7 @@ "dismissable_banner.public_timeline": "Estas son las publikasyones publikas mas resientes de personas en la red sosyala a las kualas la djente de {domain} sige.", "domain_block_modal.block": "Bloka sirvidor", "domain_block_modal.block_account_instead": "Bloka @{name} en su lugar", + "domain_block_modal.they_can_interact_with_old_posts": "Las personas de este sirvidor pueden enteraktuar kon tus puvlikasyones viejas.", "domain_block_modal.they_cant_follow": "Dingun de este sirvidor puede segirte.", "domain_block_modal.they_wont_know": "No savra ke tiene sido blokado.", "domain_block_modal.title": "Bloka el domeno?", @@ -307,6 +321,7 @@ "follow_suggestions.personalized_suggestion": "Sujestion personalizada", "follow_suggestions.popular_suggestion": "Sujestion populara", "follow_suggestions.popular_suggestion_longer": "Popular en {domain}", + "follow_suggestions.similar_to_recently_followed_longer": "Similares a los profils ke tienes segido resyentemente", "follow_suggestions.view_all": "Ve todos", "follow_suggestions.who_to_follow": "A ken segir", "followed_tags": "Etiketas segidas", @@ -335,6 +350,9 @@ "hashtag.follow": "Sige etiketa", "hashtag.unfollow": "Desige etiketa", "hashtags.and_other": "…i {count, plural, one {}other {# mas}}", + "hints.profiles.followers_may_be_missing": "Puede ser ke algunos suivantes de este profil no se amostren.", + "hints.profiles.follows_may_be_missing": "Puede ser ke algunos kuentos segidos por este profil no se amostren.", + "hints.profiles.posts_may_be_missing": "Puede ser ke algunas puvlikasyones de este profil no se amostren.", "hints.profiles.see_more_followers": "Ve mas suivantes en {domain}", "hints.profiles.see_more_follows": "Ve mas segidos en {domain}", "hints.profiles.see_more_posts": "Ve mas puvlikasyones en {domain}", @@ -352,10 +370,12 @@ "ignore_notifications_modal.new_accounts_title": "Inyorar avizos de kuentos muevos?", "ignore_notifications_modal.not_followers_title": "Inyorar avizos de personas a las kualas no te sigen?", "ignore_notifications_modal.not_following_title": "Inyorar avizos de personas a las kualas no siges?", + "ignore_notifications_modal.private_mentions_title": "Ignorar avizos de mensyones privadas no solisitadas?", "interaction_modal.description.favourite": "Kon un kuento en Mastodon, puedes markar esta publikasyon komo favorita para ke el autor sepa ke te plaze i para guadrarla para dempues.", "interaction_modal.description.follow": "Kon un kuento en Mastodon, puedes segir a {name} para risivir sus publikasyones en tu linya temporal prinsipala.", "interaction_modal.description.reblog": "Kon un kuento en Mastodon, puedes repartajar esta publikasyon para amostrarla a tus suivantes.", "interaction_modal.description.reply": "Kon un kuento en Mastodon, puedes arispondir a esta publikasyon.", + "interaction_modal.description.vote": "Kon un kuento en Mastodon, puedes votar en esta anketa.", "interaction_modal.login.action": "Va a tu sirvidor", "interaction_modal.login.prompt": "Domeno del sirvidor de tu kuento, por enshemplo mastodon.social", "interaction_modal.no_account_yet": "No tyenes kuento de Mastodon?", @@ -367,6 +387,7 @@ "interaction_modal.title.follow": "Sige a {name}", "interaction_modal.title.reblog": "Repartaja publikasyon de {name}", "interaction_modal.title.reply": "Arisponde a publikasyon de {name}", + "interaction_modal.title.vote": "Vota en la anketa de {name}", "intervals.full.days": "{number, plural, one {# diya} other {# diyas}}", "intervals.full.hours": "{number, plural, one {# ora} other {# oras}}", "intervals.full.minutes": "{number, plural, one {# minuto} other {# minutos}}", @@ -466,13 +487,16 @@ "navigation_bar.security": "Segurita", "not_signed_in_indicator.not_signed_in": "Nesesitas konektarse kon tu kuento para akseder este rekurso.", "notification.admin.report": "{name} raporto {target}", + "notification.admin.report_statuses": "{name} raporto {target} por {category}", "notification.admin.report_statuses_other": "{name} raporto {target}", "notification.admin.sign_up": "{name} kriyo un konto", + "notification.annual_report.view": "Ve #Wrapstodon", "notification.favourite": "A {name} le plaze tu publikasyon", "notification.follow": "{name} te ampeso a segir", "notification.follow_request": "{name} tiene solisitado segirte", "notification.label.mention": "Enmenta", "notification.label.private_mention": "Enmentadura privada", + "notification.label.private_reply": "Repuesta privada", "notification.label.reply": "Arisponde", "notification.mention": "Enmenta", "notification.mentioned_you": "{name} te enmento", @@ -536,6 +560,7 @@ "notifications.policy.accept_hint": "Amostra en avizos", "notifications.policy.drop": "Inyora", "notifications.policy.filter": "Filtra", + "notifications.policy.filter_limited_accounts_hint": "Limitadas por moderadores del sirvidor", "notifications.policy.filter_limited_accounts_title": "Kuentos moderados", "notifications.policy.filter_new_accounts.hint": "Kriyadas durante {days, plural, one {el ultimo diya} other {los ultimos # diyas}}", "notifications.policy.filter_new_accounts_title": "Muevos kuentos", diff --git a/config/locales/bg.yml b/config/locales/bg.yml index 1fdd0e3533bcde..7181b35b6d0ae2 100644 --- a/config/locales/bg.yml +++ b/config/locales/bg.yml @@ -412,6 +412,7 @@ bg: attempts_over_week: one: "%{count} опит за изминалата седмица" other: "%{count} опита за регистрация през изминалата седмица" + created_msg: Успешно блокиран домейн на е-поща delete: Изтриване dns: types: @@ -420,8 +421,11 @@ bg: new: create: Добавяне на домейн resolve: Преобразуване на домейна + title: Блокиране на нов домейн на имейл + no_email_domain_block_selected: Няма промяна, тъй като няма избрани блокирания на домейн на имейл not_permitted: Няма позволение resolved_through_html: Преобразувано чрез %{domain} + title: Блокирани домейни на имейл export_domain_allows: new: title: Внасяне на позволенията на домейни @@ -842,6 +846,9 @@ bg: message_html: Не сте определили никакви правила на сървъра. sidekiq_process_check: message_html: Не работи процес Sidekiq за %{value} опашка/и. Прегледайте настройките си за Sidekiq + software_version_check: + action: Преглед на наличните обновявания + message_html: Налично е обновяване на Mastodon. software_version_critical_check: action: Преглед на наличните обновявания message_html: Налично e критично обновяване на Mastodon. Обновете възможно най-бързо. @@ -1102,11 +1109,18 @@ bg: status: account_status: Състояние на акаунта functional: Вашият акаунт е в изправност. + pending: Вашето приложение чака преглед от персонала ни. Това може да отнеме време. Ще получите е-писмо, ако приложението ви се одобри. redirecting_to: Вашият акаунт е бездеен, защото сега се пренасочва към %{acct}. self_destruct: Затваряйки %{domain}, ще получите само ограничен достъп до акаунта си. view_strikes: Преглед на предишните предупреждения против акаунта ви too_fast: Образецът подаден пребързо, опитайте пак. use_security_key: Употреба на ключ за сигурност + author_attribution: + example_title: Примерен текст + more_from_html: Още от %{name} + s_blog: Блогът на %{name} + then_instructions: Тогава добавете име на домейна на публикацията в долното поле. + title: Приписване на авторството challenge: confirm: Продължаване hint_html: "Съвет: няма да ви питаме пак за паролата през следващия час." @@ -1450,6 +1464,7 @@ bg: update: subject: "%{name} промени публикация" notifications: + administration_emails: Известия за администратори по е-поща email_events_hint: 'Изберете събития, за които искате да получавате известия:' number: human: @@ -1607,6 +1622,7 @@ bg: import: Импортиране import_and_export: Импортиране и експортиране migrate: Миграция на акаунта + notifications: Известия по е-поща preferences: Предпочитания profile: Профил relationships: Последвания и последователи @@ -1842,6 +1858,7 @@ bg: invalid_otp_token: Невалиден код otp_lost_help_html: Ако загубите достъп до двете, то може да се свържете с %{email} rate_limited: Премного опити за удостоверяване. Опитайте пак по-късно. + seamless_external_login: Влезли сте чрез външна услуга, така че настройките за парола и имейл не са налични. signed_in_as: 'Влезли като:' verification: extra_instructions_html: Съвет:Връзката в уебсайта ви може да е невидима. Важна част е rel="me", която предотврятява имитирането на уебсайтове с породено от потребителите съдържание. Може дори да употребите етикет за връзката в заглавката на странице вместо а, но HTML трябва да достъпен без изпълнение на JavaScript. @@ -1850,6 +1867,7 @@ bg: instructions_html: Копипейстнете кода долу в HTML на уебсайта си. Тогава добавете адреса на уебсайта си в едно от допълнителните полета на профила ви от раздела "Редактиране на профила" и запазане на промените. verification: Проверка verified_links: Вашите потвърдени връзки + website_verification: Потвърждаване на уебсайта webauthn_credentials: add: Добавяне на нов ключ за сигурност create: diff --git a/config/locales/es.yml b/config/locales/es.yml index 8690c1cdfb57c4..ddd53a2387a4f1 100644 --- a/config/locales/es.yml +++ b/config/locales/es.yml @@ -67,8 +67,8 @@ es: display_name: Nombre domain: Dominio edit: Editar - email: E-mail - email_status: E-mail Status + email: Correo electrónico + email_status: Estado del correo electrónico enable: Habilitar enable_sign_in_token_auth: Habilitar la autenticación por token de correo electrónico enabled: Habilitada @@ -86,7 +86,7 @@ es: local: Local remote: Remoto title: Localización - login_status: Estado del login + login_status: Estado de inicio de sesión media_attachments: Multimedia memorialize: Convertir en memorial memorialized: Cuenta conmemorativa @@ -102,7 +102,7 @@ es: moderation_notes: Notas de moderación most_recent_activity: Actividad más reciente most_recent_ip: IP más reciente - no_account_selected: Ninguna cuenta se cambió como ninguna fue seleccionada + no_account_selected: Ninguna cuenta se cambió, ya que ninguna fue seleccionada no_limits_imposed: Sin límites impuestos no_role_assigned: Ningún rol asignado not_subscribed: No se está suscrito @@ -132,17 +132,17 @@ es: success: "¡Enlace de confirmación enviado con éxito!" reset: Reiniciar reset_password: Reiniciar contraseña - resubscribe: Re-suscribir + resubscribe: Volver a suscribirse role: Rol search: Buscar search_same_email_domain: Otros usuarios con el mismo dominio de correo search_same_ip: Otros usuarios con la misma IP security: Seguridad security_measures: - only_password: Sólo contraseña + only_password: Solo contraseña password_and_2fa: Contraseña y 2FA sensitive: Sensible - sensitized: marcado como sensible + sensitized: Marcada como sensible shared_inbox_url: URL de bandeja compartida show: created_reports: Reportes hechos por esta cuenta @@ -161,10 +161,10 @@ es: unblocked_email_msg: Se ha desbloqueado correctamente la dirección de correo de %{username} unconfirmed_email: Correo electrónico sin confirmar undo_sensitized: Desmarcar como sensible - undo_silenced: Des-silenciar - undo_suspension: Des-suspender + undo_silenced: Dejar de silenciar + undo_suspension: Deshacer suspensión unsilenced_msg: Se quitó con éxito el límite de la cuenta %{username} - unsubscribe: Desuscribir + unsubscribe: Cancelar suscripción unsuspended_msg: Se quitó con éxito la suspensión de la cuenta de %{username} username: Nombre de usuario view_domain: Ver resumen del dominio @@ -296,7 +296,7 @@ es: empty: No se encontraron registros. filter_by_action: Filtrar por acción filter_by_user: Filtrar por usuario - title: Log de auditoría + title: Registro de auditoría unavailable_instance: "(nombre de dominio no disponible)" announcements: destroyed_msg: "¡Anuncio eliminado con éxito!" @@ -338,7 +338,7 @@ es: listed: Listados new: title: Añadir nuevo emoji personalizado - no_emoji_selected: No se cambió ningún emoji ya que no se seleccionó ninguno + no_emoji_selected: No se cambió ningún emoji, ya que no se seleccionó ninguno not_permitted: No tienes permiso para realizar esta acción overwrite: Sobrescribir shortcode: Código de atajo diff --git a/config/locales/lad.yml b/config/locales/lad.yml index ad241856a43161..4486df637e8b28 100644 --- a/config/locales/lad.yml +++ b/config/locales/lad.yml @@ -24,6 +24,7 @@ lad: admin: account_actions: action: Realiza aksion + already_silenced: Este kuento ya tiene sido limitado. already_suspended: Este kuento ya tiene sido suspendido. title: Modera %{acct} account_moderation_notes: @@ -638,6 +639,7 @@ lad: report: 'Raporta #%{id}' reported_account: Kuento raportado reported_by: Raportado por + reported_with_application: Raportado kon aplikasyon resolved: Rezolvido resolved_msg: Tienes rezolvido la denunsia djustamente! skip_to_actions: Va direktamente a las aksyones @@ -752,6 +754,7 @@ lad: desc_html: Esto se baza en eskriptos eksternos de hCaptcha, ke pueden ser una influensya negra a la sigurita i privasita. Ademas, esto puede rezultar en un proseso de enrejistrasyon signifikativamente manko aksesivle para algunas personas (espesyalmente diskapasitadas). Por estas razones, por favor, konsidera otras alternativas komo rejistrasyon por aprovasyon manuala o kon envitasyon. title: Solisita ke los muevos utilizadores rezolven un CAPTCHA para konfirmar su konto content_retention: + danger_zone: Zona de perikolo preamble: Kontrola komo el kontenido jenerado por el utilizador se magazina en Mastodon. title: Retensyon de kontenido default_noindex: @@ -882,9 +885,12 @@ lad: message_html: "Tu magazinaje de objektos es mal konfigurado. La privasita de tus utilizadores esta en riziko." tags: moderation: + not_trendable: No trendavle + not_usable: No uzavle pending_review: Revizion esta asperando reviewed: Revizado title: Estado + trendable: Trendavle unreviewed: No revizado usable: Uzavle name: Nombre @@ -959,6 +965,7 @@ lad: used_by_over_week: one: Uzada por una persona durante la ultima semana other: Uzada por %{count} personas durante la ultima semana + title: Rekomendasyones i trendes trending: En trend warning_presets: add_new: Adjusta muevo @@ -1138,7 +1145,9 @@ lad: too_fast: Formulario enviado demaziado rapido, aprovalo de muevo. use_security_key: Uza la yave de sigurita author_attribution: + example_title: Teksto de enshemplo more_from_html: Mas de %{name} + s_blog: Blog de %{name} challenge: confirm: Kontinua hint_html: "Konsejo: No retornaremos a demandarte por el kod durante la sigiente ora." diff --git a/config/locales/simple_form.bg.yml b/config/locales/simple_form.bg.yml index 5540942d93bdef..17b7bd6239886c 100644 --- a/config/locales/simple_form.bg.yml +++ b/config/locales/simple_form.bg.yml @@ -3,12 +3,14 @@ bg: simple_form: hints: account: + attribution_domains_as_text: Едно на ред. Защитава от фалшиви атрибути. discoverable: Вашите публични публикации и профил може да се представят или препоръчват в различни области на Mastodon и вашия профил може да се предлага на други потребители. display_name: Вашето пълно име или псевдоним. fields: Вашата начална страница, местоимения, години, всичко що искате. indexable: Вашите обществени публикации може да се появят в резултатите от търсене в Mastodon. Взаимодействалите с публикациите ви може да ги търсят независимо. note: 'Може да @споменавате други хора или #хаштагове.' show_collections: Хората ще може да разглеждат през вашите последвания и последователи. Хората, които сте следвали, ще видят, че ги следвате независимо от това. + unlocked: Хората ще могат да ви последват без изискване на одобрение. Размаркирайте, ако искате да преглеждате заявките за последване и избирате дали да приемете или отхвърлите новите последователи. account_alias: acct: Посочете потребителско_име@домейн на акаунта си, от който искате да се преместите account_migration: @@ -142,6 +144,7 @@ bg: url: До къде ще се изпращат събитията labels: account: + attribution_domains_as_text: Уебсайтове, на които е позволено да приписват авторството ви discoverable: Включване на профил и публикации в алгоритмите за откриване fields: name: Етикет diff --git a/config/locales/simple_form.lad.yml b/config/locales/simple_form.lad.yml index 712c2f4e8a8c10..de37005312d456 100644 --- a/config/locales/simple_form.lad.yml +++ b/config/locales/simple_form.lad.yml @@ -9,6 +9,7 @@ lad: indexable: Tus publikasyones publikas pueden apareser en rezultados de bushkeda en Mastodon. Personas ke enteraktuaron kon tus publikasyones syempre pueden bushkarlas inkluzo si trokes esta preferensya. note: 'Puedes @enmentar a otra djente o #etiketas.' show_collections: Otra djente podra ver tus segidos i suivantes. Personas a las kualas siges siempre podran ver que las estas sigiendo. + unlocked: Djente va poder segirte sin solisitar tu achetasyon. Deseleksyona si keres revizar solisitasyones de segimyento i dechidir si keres achetar o refuzar a muevos suivantes. account_alias: acct: Espesifika tu nombre de utilizador@domeno del kuento de ande keres migrar account_migration: From ec663eaba13294d803fdb8ddab373d7534c5a644 Mon Sep 17 00:00:00 2001 From: Claire Date: Thu, 14 Nov 2024 13:50:36 +0100 Subject: [PATCH 197/357] Fix Content Warning and filter states not applying to boosted posts properly (#32887) --- app/javascript/mastodon/components/status.jsx | 29 ++++++++++--------- 1 file changed, 15 insertions(+), 14 deletions(-) diff --git a/app/javascript/mastodon/components/status.jsx b/app/javascript/mastodon/components/status.jsx index 96ccf3aad4f465..f17f0367c1b6a5 100644 --- a/app/javascript/mastodon/components/status.jsx +++ b/app/javascript/mastodon/components/status.jsx @@ -393,20 +393,6 @@ class Status extends ImmutablePureComponent { }; let media, statusAvatar, prepend, rebloggedByText; - const matchedFilters = status.get('matched_filters'); - const expanded = (!matchedFilters || this.state.showDespiteFilter) && (!status.get('hidden') || status.get('spoiler_text').length === 0); - - if (hidden) { - return ( - -
- {status.getIn(['account', 'display_name']) || status.getIn(['account', 'username'])} - {status.get('spoiler_text').length > 0 && ({status.get('spoiler_text')})} - {expanded && {status.get('content')}} -
-
- ); - } const connectUp = previousId && previousId === status.get('in_reply_to_id'); const connectToRoot = rootId && rootId === status.get('in_reply_to_id'); @@ -446,6 +432,21 @@ class Status extends ImmutablePureComponent { ); } + const matchedFilters = status.get('matched_filters'); + const expanded = (!matchedFilters || this.state.showDespiteFilter) && (!status.get('hidden') || status.get('spoiler_text').length === 0); + + if (hidden) { + return ( + +
+ {status.getIn(['account', 'display_name']) || status.getIn(['account', 'username'])} + {status.get('spoiler_text').length > 0 && ({status.get('spoiler_text')})} + {expanded && {status.get('content')}} +
+
+ ); + } + if (pictureInPicture.get('inUse')) { media = ; } else if (status.get('media_attachments').size > 0) { From e8b6607ece43e6fcda99e76f8db0ad40d54b50b6 Mon Sep 17 00:00:00 2001 From: Claire Date: Thu, 14 Nov 2024 14:28:00 +0100 Subject: [PATCH 198/357] Fix titles being escaped twice (#32889) --- app/helpers/application_helper.rb | 2 +- app/views/about/show.html.haml | 3 +-- app/views/accounts/show.html.haml | 3 +-- app/views/privacy/show.html.haml | 3 +-- app/views/statuses/show.html.haml | 3 +-- spec/helpers/application_helper_spec.rb | 6 +++--- spec/views/statuses/show.html.haml_spec.rb | 6 +----- 7 files changed, 9 insertions(+), 17 deletions(-) diff --git a/app/helpers/application_helper.rb b/app/helpers/application_helper.rb index e36de192557386..3d5025724f97ca 100644 --- a/app/helpers/application_helper.rb +++ b/app/helpers/application_helper.rb @@ -79,7 +79,7 @@ def locale_direction def html_title safe_join( - [content_for(:page_title).to_s.chomp, title] + [content_for(:page_title), title] .compact_blank, ' - ' ) diff --git a/app/views/about/show.html.haml b/app/views/about/show.html.haml index 05d8989add2be0..e8f7b43eaa3d97 100644 --- a/app/views/about/show.html.haml +++ b/app/views/about/show.html.haml @@ -1,5 +1,4 @@ -- content_for :page_title do - = t('about.title') +- content_for :page_title, t('about.title') - content_for :header_tags do = render partial: 'shared/og' diff --git a/app/views/accounts/show.html.haml b/app/views/accounts/show.html.haml index dde9c508474901..1f5f81348e23aa 100644 --- a/app/views/accounts/show.html.haml +++ b/app/views/accounts/show.html.haml @@ -1,5 +1,4 @@ -- content_for :page_title do - #{display_name(@account)} (#{acct(@account)}) +- content_for :page_title, "#{display_name(@account)} (#{acct(@account)})" - content_for :header_tags do - if @account.user_prefers_noindex? diff --git a/app/views/privacy/show.html.haml b/app/views/privacy/show.html.haml index 95e506641b058b..9eb4f7a570f70f 100644 --- a/app/views/privacy/show.html.haml +++ b/app/views/privacy/show.html.haml @@ -1,5 +1,4 @@ -- content_for :page_title do - = t('privacy_policy.title') +- content_for :page_title, t('privacy_policy.title') - content_for :header_tags do = render partial: 'shared/og' diff --git a/app/views/statuses/show.html.haml b/app/views/statuses/show.html.haml index 08bab63073505f..f669885de094f7 100644 --- a/app/views/statuses/show.html.haml +++ b/app/views/statuses/show.html.haml @@ -1,5 +1,4 @@ -- content_for :page_title do - = t('statuses.title', name: display_name(@account), quote: truncate(@status.spoiler_text.presence || @status.text, length: 50, omission: '…', escape: false)) +- content_for :page_title, t('statuses.title', name: display_name(@account), quote: truncate(@status.spoiler_text.presence || @status.text, length: 50, omission: '…', escape: false)) - content_for :header_tags do - if @account.user_prefers_noindex? diff --git a/spec/helpers/application_helper_spec.rb b/spec/helpers/application_helper_spec.rb index ffcc5b81b66c49..557d08e851d931 100644 --- a/spec/helpers/application_helper_spec.rb +++ b/spec/helpers/application_helper_spec.rb @@ -257,11 +257,11 @@ def current_theme = 'default' expect(helper.html_title).to be_html_safe end - it 'removes extra new lines' do + it 'does not escape twice' do Setting.site_title = 'Site Title' - helper.content_for(:page_title, "Test Value\n") + helper.content_for(:page_title, '"Test Value"'.html_safe) - expect(helper.html_title).to eq 'Test Value - Site Title' + expect(helper.html_title).to eq '"Test Value" - Site Title' expect(helper.html_title).to be_html_safe end end diff --git a/spec/views/statuses/show.html.haml_spec.rb b/spec/views/statuses/show.html.haml_spec.rb index 1afcb046d4f4c9..02b1fe738427d3 100644 --- a/spec/views/statuses/show.html.haml_spec.rb +++ b/spec/views/statuses/show.html.haml_spec.rb @@ -18,7 +18,7 @@ assign(:descendant_threads, []) end - it 'has valid opengraph tags' do + it 'has valid opengraph tags and twitter player tags' do render expect(header_tags) @@ -26,10 +26,6 @@ .and match(//) .and match(//) .and match(%r{}) - end - - it 'has twitter player tag' do - render expect(header_tags) .to match(%r{}) From 62d65504f66e0361d178ea882c97bdcfbc426c25 Mon Sep 17 00:00:00 2001 From: Matt Jankowski Date: Thu, 14 Nov 2024 08:47:29 -0500 Subject: [PATCH 199/357] Add `DomainResource` class to wrap MX lookup/normalize (#32864) --- .../admin/email_domain_blocks_controller.rb | 5 +---- app/lib/domain_resource.rb | 22 +++++++++++++++++++ app/models/user.rb | 8 +------ .../admin/email_domain_blocks/new.html.haml | 4 ++-- lib/mastodon/cli/email_domain_blocks.rb | 7 +----- spec/lib/domain_resource_spec.rb | 19 ++++++++++++++++ 6 files changed, 46 insertions(+), 19 deletions(-) create mode 100644 app/lib/domain_resource.rb create mode 100644 spec/lib/domain_resource_spec.rb diff --git a/app/controllers/admin/email_domain_blocks_controller.rb b/app/controllers/admin/email_domain_blocks_controller.rb index fe822d8c999d25..9501ebd63a0e5b 100644 --- a/app/controllers/admin/email_domain_blocks_controller.rb +++ b/app/controllers/admin/email_domain_blocks_controller.rb @@ -58,10 +58,7 @@ def create private def set_resolved_records - Resolv::DNS.open do |dns| - dns.timeouts = 5 - @resolved_records = dns.getresources(@email_domain_block.domain, Resolv::DNS::Resource::IN::MX).to_a - end + @resolved_records = DomainResource.new(@email_domain_block.domain).mx end def resource_params diff --git a/app/lib/domain_resource.rb b/app/lib/domain_resource.rb new file mode 100644 index 00000000000000..59a29d879798ab --- /dev/null +++ b/app/lib/domain_resource.rb @@ -0,0 +1,22 @@ +# frozen_string_literal: true + +class DomainResource + attr_reader :domain + + RESOLVE_TIMEOUT = 5 + + def initialize(domain) + @domain = domain + end + + def mx + Resolv::DNS.open do |dns| + dns.timeouts = RESOLVE_TIMEOUT + dns + .getresources(domain, Resolv::DNS::Resource::IN::MX) + .to_a + .map { |mx| mx.exchange.to_s } + .compact_blank + end + end +end diff --git a/app/models/user.rb b/app/models/user.rb index 9a215669b99ae5..f717dcd860464e 100644 --- a/app/models/user.rb +++ b/app/models/user.rb @@ -457,13 +457,7 @@ def sign_up_email_requires_approval? # Doing this conditionally is not very satisfying, but this is consistent # with the MX records validations we do and keeps the specs tractable. - unless self.class.skip_mx_check? - Resolv::DNS.open do |dns| - dns.timeouts = 5 - - records = dns.getresources(domain, Resolv::DNS::Resource::IN::MX).to_a.map { |e| e.exchange.to_s }.compact_blank - end - end + records = DomainResource.new(domain).mx unless self.class.skip_mx_check? EmailDomainBlock.requires_approval?(records + [domain], attempt_ip: sign_up_ip) end diff --git a/app/views/admin/email_domain_blocks/new.html.haml b/app/views/admin/email_domain_blocks/new.html.haml index 2dfdca93763dda..4db8fbe5e5424b 100644 --- a/app/views/admin/email_domain_blocks/new.html.haml +++ b/app/views/admin/email_domain_blocks/new.html.haml @@ -30,12 +30,12 @@ %label.batch-table__row__select.batch-table__row__select--aligned.batch-checkbox = f.input_field :other_domains, as: :boolean, - checked_value: record.exchange.to_s, + checked_value: record, include_hidden: false, multiple: true .batch-table__row__content.pending-account .pending-account__header - %samp= record.exchange.to_s + %samp= record %br = t('admin.email_domain_blocks.dns.types.mx') diff --git a/lib/mastodon/cli/email_domain_blocks.rb b/lib/mastodon/cli/email_domain_blocks.rb index a830ca36617e50..0cc9ccb7058bae 100644 --- a/lib/mastodon/cli/email_domain_blocks.rb +++ b/lib/mastodon/cli/email_domain_blocks.rb @@ -45,12 +45,7 @@ def add(*domains) end other_domains = [] - if options[:with_dns_records] - Resolv::DNS.open do |dns| - dns.timeouts = 5 - other_domains = dns.getresources(domain, Resolv::DNS::Resource::IN::MX).to_a.map { |e| e.exchange.to_s }.compact_blank - end - end + other_domains = DomainResource.new(domain).mx if options[:with_dns_records] email_domain_block = EmailDomainBlock.new(domain: domain, other_domains: other_domains) email_domain_block.save! diff --git a/spec/lib/domain_resource_spec.rb b/spec/lib/domain_resource_spec.rb new file mode 100644 index 00000000000000..0d239fd9dee0ce --- /dev/null +++ b/spec/lib/domain_resource_spec.rb @@ -0,0 +1,19 @@ +# frozen_string_literal: true + +require 'rails_helper' + +RSpec.describe DomainResource do + describe '#mx' do + subject { described_class.new(domain) } + + let(:domain) { 'example.host' } + let(:exchange) { 'mx.host' } + + before { configure_mx(domain: domain, exchange: exchange) } + + it 'returns array of hostnames' do + expect(subject.mx) + .to eq([exchange]) + end + end +end From 766358e52b86ca0dc6cf9bb091565e97af00b19a Mon Sep 17 00:00:00 2001 From: Matt Jankowski Date: Thu, 14 Nov 2024 09:03:57 -0500 Subject: [PATCH 200/357] Add coverage for malformed version cleanup in `SoftwareUpdateCheckService`, add helper query methods (#32876) --- app/models/software_update.rb | 16 +++++- app/services/software_update_check_service.rb | 2 +- spec/models/software_update_spec.rb | 54 +++++++++++++++++++ .../software_update_check_service_spec.rb | 5 +- 4 files changed, 73 insertions(+), 4 deletions(-) diff --git a/app/models/software_update.rb b/app/models/software_update.rb index 2cb935130a46a2..7e2b15656e2591 100644 --- a/app/models/software_update.rb +++ b/app/models/software_update.rb @@ -22,6 +22,14 @@ def gem_version Gem::Version.new(version) end + def outdated? + runtime_version >= gem_version + end + + def pending? + gem_version > runtime_version + end + class << self def check_enabled? Rails.configuration.x.mastodon.software_update_url.present? @@ -30,11 +38,17 @@ def check_enabled? def pending_to_a return [] unless check_enabled? - all.to_a.filter { |update| update.gem_version > Mastodon::Version.gem_version } + all.to_a.filter(&:pending?) end def urgent_pending? pending_to_a.any?(&:urgent?) end end + + private + + def runtime_version + Mastodon::Version.gem_version + end end diff --git a/app/services/software_update_check_service.rb b/app/services/software_update_check_service.rb index 148f2692896bfb..45ec1f50db516d 100644 --- a/app/services/software_update_check_service.rb +++ b/app/services/software_update_check_service.rb @@ -12,7 +12,7 @@ def call def clean_outdated_updates! SoftwareUpdate.find_each do |software_update| - software_update.delete if Mastodon::Version.gem_version >= software_update.gem_version + software_update.delete if software_update.outdated? rescue ArgumentError software_update.delete end diff --git a/spec/models/software_update_spec.rb b/spec/models/software_update_spec.rb index 0a494b0c4ce626..43e9cd058fb0e9 100644 --- a/spec/models/software_update_spec.rb +++ b/spec/models/software_update_spec.rb @@ -3,6 +3,60 @@ require 'rails_helper' RSpec.describe SoftwareUpdate do + describe '#pending?' do + subject { described_class.new(version: update_version) } + + before { allow(Mastodon::Version).to receive(:gem_version).and_return(Gem::Version.new(mastodon_version)) } + + context 'when the runtime version is older than the update' do + let(:mastodon_version) { '4.0.0' } + let(:update_version) { '5.0.0' } + + it { is_expected.to be_pending } + end + + context 'when the runtime version is newer than the update' do + let(:mastodon_version) { '6.0.0' } + let(:update_version) { '5.0.0' } + + it { is_expected.to_not be_pending } + end + + context 'when the runtime version is same as the update' do + let(:mastodon_version) { '4.0.0' } + let(:update_version) { '4.0.0' } + + it { is_expected.to_not be_pending } + end + end + + describe '#outdated?' do + subject { described_class.new(version: update_version) } + + before { allow(Mastodon::Version).to receive(:gem_version).and_return(Gem::Version.new(mastodon_version)) } + + context 'when the runtime version is older than the update' do + let(:mastodon_version) { '4.0.0' } + let(:update_version) { '5.0.0' } + + it { is_expected.to_not be_outdated } + end + + context 'when the runtime version is newer than the update' do + let(:mastodon_version) { '6.0.0' } + let(:update_version) { '5.0.0' } + + it { is_expected.to be_outdated } + end + + context 'when the runtime version is same as the update' do + let(:mastodon_version) { '4.0.0' } + let(:update_version) { '4.0.0' } + + it { is_expected.to be_outdated } + end + end + describe '.pending_to_a' do before do allow(Mastodon::Version).to receive(:gem_version).and_return(Gem::Version.new(mastodon_version)) diff --git a/spec/services/software_update_check_service_spec.rb b/spec/services/software_update_check_service_spec.rb index 4098bd470a79c1..637e1e26c593ad 100644 --- a/spec/services/software_update_check_service_spec.rb +++ b/spec/services/software_update_check_service_spec.rb @@ -27,6 +27,7 @@ before do Fabricate(:software_update, version: '3.5.0', type: 'major', urgent: false) Fabricate(:software_update, version: '42.13.12', type: 'major', urgent: false) + Fabricate(:software_update, version: 'Malformed', type: 'major', urgent: false) owner_user.settings.update('notification_emails.software_updates': 'all') owner_user.save! @@ -50,7 +51,7 @@ end it 'deletes outdated update records but keeps valid update records' do - expect { subject.call }.to change { SoftwareUpdate.pluck(:version).sort }.from(['3.5.0', '42.13.12']).to(['42.13.12']) + expect { subject.call }.to change { SoftwareUpdate.pluck(:version).sort }.from(['3.5.0', '42.13.12', 'Malformed']).to(['42.13.12']) end end @@ -85,7 +86,7 @@ end it 'updates the list of known updates' do - expect { subject.call }.to change { SoftwareUpdate.pluck(:version).sort }.from(['3.5.0', '42.13.12']).to(['4.2.1', '4.3.0', '5.0.0']) + expect { subject.call }.to change { SoftwareUpdate.pluck(:version).sort }.from(['3.5.0', '42.13.12', 'Malformed']).to(['4.2.1', '4.3.0', '5.0.0']) end context 'when no update is urgent' do From 2de018256ae2ec5e7a508aff6e0e7905ec517118 Mon Sep 17 00:00:00 2001 From: Claire Date: Thu, 14 Nov 2024 20:42:43 +0100 Subject: [PATCH 201/357] Fix filters not being correctly applied to boosted posts (#32895) --- app/javascript/mastodon/components/status.jsx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/app/javascript/mastodon/components/status.jsx b/app/javascript/mastodon/components/status.jsx index f17f0367c1b6a5..95ea53521f6190 100644 --- a/app/javascript/mastodon/components/status.jsx +++ b/app/javascript/mastodon/components/status.jsx @@ -397,6 +397,7 @@ class Status extends ImmutablePureComponent { const connectUp = previousId && previousId === status.get('in_reply_to_id'); const connectToRoot = rootId && rootId === status.get('in_reply_to_id'); const connectReply = nextInReplyToId && nextInReplyToId === status.get('id'); + const matchedFilters = status.get('matched_filters'); if (featured) { prepend = ( @@ -432,7 +433,6 @@ class Status extends ImmutablePureComponent { ); } - const matchedFilters = status.get('matched_filters'); const expanded = (!matchedFilters || this.state.showDespiteFilter) && (!status.get('hidden') || status.get('spoiler_text').length === 0); if (hidden) { From ddfb3d123bb4195f0b086fe19bc90700fa5170b4 Mon Sep 17 00:00:00 2001 From: Emelia Smith Date: Fri, 15 Nov 2024 10:38:01 +0100 Subject: [PATCH 202/357] Improve display of statuses in admin panel (#30813) --- app/controllers/admin/statuses_controller.rb | 2 + .../admin/account_moderation_notes_helper.rb | 4 +- app/javascript/styles/mastodon/admin.scss | 28 ++++++++ app/javascript/styles/mastodon/tables.scss | 16 ++--- app/views/admin/reports/_status.html.haml | 72 +++++++++++-------- app/views/admin/statuses/index.html.haml | 21 +++--- app/views/admin/statuses/show.html.haml | 64 +++++++++++++++-- config/locales/an.yml | 2 +- config/locales/ar.yml | 2 +- config/locales/be.yml | 2 +- config/locales/bg.yml | 2 +- config/locales/br.yml | 2 +- config/locales/ca.yml | 2 +- config/locales/ckb.yml | 2 +- config/locales/co.yml | 2 +- config/locales/cs.yml | 2 +- config/locales/cy.yml | 2 +- config/locales/da.yml | 2 +- config/locales/de.yml | 2 +- config/locales/el.yml | 2 +- config/locales/en-GB.yml | 2 +- config/locales/en.yml | 8 ++- config/locales/eo.yml | 2 +- config/locales/es-AR.yml | 2 +- config/locales/es-MX.yml | 2 +- config/locales/es.yml | 2 +- config/locales/et.yml | 2 +- config/locales/eu.yml | 2 +- config/locales/fa.yml | 2 +- config/locales/fi.yml | 2 +- config/locales/fo.yml | 2 +- config/locales/fr-CA.yml | 2 +- config/locales/fr.yml | 2 +- config/locales/fy.yml | 2 +- config/locales/ga.yml | 2 +- config/locales/gd.yml | 2 +- config/locales/gl.yml | 2 +- config/locales/he.yml | 2 +- config/locales/hu.yml | 2 +- config/locales/hy.yml | 2 +- config/locales/ia.yml | 2 +- config/locales/id.yml | 2 +- config/locales/ie.yml | 2 +- config/locales/io.yml | 2 +- config/locales/is.yml | 2 +- config/locales/it.yml | 2 +- config/locales/ja.yml | 2 +- config/locales/ka.yml | 2 +- config/locales/kab.yml | 2 +- config/locales/kk.yml | 2 +- config/locales/ko.yml | 2 +- config/locales/ku.yml | 2 +- config/locales/lad.yml | 2 +- config/locales/lt.yml | 2 +- config/locales/lv.yml | 2 +- config/locales/ms.yml | 2 +- config/locales/my.yml | 2 +- config/locales/nl.yml | 2 +- config/locales/nn.yml | 2 +- config/locales/no.yml | 2 +- config/locales/oc.yml | 2 +- config/locales/pl.yml | 2 +- config/locales/pt-BR.yml | 2 +- config/locales/pt-PT.yml | 2 +- config/locales/ru.yml | 2 +- config/locales/sc.yml | 2 +- config/locales/sco.yml | 2 +- config/locales/si.yml | 2 +- config/locales/sk.yml | 2 +- config/locales/sl.yml | 2 +- config/locales/sq.yml | 2 +- config/locales/sr-Latn.yml | 2 +- config/locales/sr.yml | 2 +- config/locales/sv.yml | 2 +- config/locales/th.yml | 2 +- config/locales/tr.yml | 2 +- config/locales/uk.yml | 2 +- config/locales/vi.yml | 2 +- config/locales/zh-CN.yml | 2 +- config/locales/zh-HK.yml | 2 +- config/locales/zh-TW.yml | 2 +- 81 files changed, 233 insertions(+), 128 deletions(-) diff --git a/app/controllers/admin/statuses_controller.rb b/app/controllers/admin/statuses_controller.rb index e53b22dca3210c..40d1a481b281c1 100644 --- a/app/controllers/admin/statuses_controller.rb +++ b/app/controllers/admin/statuses_controller.rb @@ -16,6 +16,8 @@ def index def show authorize [:admin, @status], :show? + + @status_batch_action = Admin::StatusBatchAction.new end def batch diff --git a/app/helpers/admin/account_moderation_notes_helper.rb b/app/helpers/admin/account_moderation_notes_helper.rb index 2a3d954a35447f..7c931c11570f33 100644 --- a/app/helpers/admin/account_moderation_notes_helper.rb +++ b/app/helpers/admin/account_moderation_notes_helper.rb @@ -12,12 +12,12 @@ def admin_account_link_to(account, path: nil) ) end - def admin_account_inline_link_to(account) + def admin_account_inline_link_to(account, path: nil) return if account.nil? link_to( account_inline_text(account), - admin_account_path(account.id), + path || admin_account_path(account.id), class: class_names('inline-name-tag', suspended: suspended_account?(account)), title: account.acct ) diff --git a/app/javascript/styles/mastodon/admin.scss b/app/javascript/styles/mastodon/admin.scss index c7b32a9c9eea44..579b2a4f692ac5 100644 --- a/app/javascript/styles/mastodon/admin.scss +++ b/app/javascript/styles/mastodon/admin.scss @@ -1922,3 +1922,31 @@ a.sparkline { } } } + +.status__card { + padding: 15px; + border-radius: 4px; + background: $ui-base-color; + font-size: 15px; + line-height: 20px; + word-wrap: break-word; + font-weight: 400; + border: 1px solid lighten($ui-base-color, 4%); + color: $primary-text-color; + box-sizing: border-box; + min-height: 100%; + + .status__prepend { + padding: 0 0 15px; + gap: 4px; + align-items: center; + } + + .status__content { + padding-top: 0; + + summary { + display: list-item; + } + } +} diff --git a/app/javascript/styles/mastodon/tables.scss b/app/javascript/styles/mastodon/tables.scss index 0cbf5c1d554921..07d1ce12fdaa17 100644 --- a/app/javascript/styles/mastodon/tables.scss +++ b/app/javascript/styles/mastodon/tables.scss @@ -339,16 +339,12 @@ a.table-action-link { } } - .status__content { - padding-top: 0; - - summary { - display: list-item; - } - - strong { - font-weight: 700; - } + // Reset the status card to not have borders, background or padding when + // inline in the table of statuses + .status__card { + border: none; + background: none; + padding: 0; } .nothing-here { diff --git a/app/views/admin/reports/_status.html.haml b/app/views/admin/reports/_status.html.haml index f4630ed25ae978..3a35fdd2725efb 100644 --- a/app/views/admin/reports/_status.html.haml +++ b/app/views/admin/reports/_status.html.haml @@ -2,40 +2,52 @@ %label.batch-table__row__select.batch-checkbox = f.check_box :status_ids, { multiple: true, include_hidden: false }, status.id .batch-table__row__content - .status__content>< - - if status.proper.spoiler_text.blank? - = prerender_custom_emojis(status_content_format(status.proper), status.proper.emojis) - - else - %details< - %summary>< - %strong> Content warning: #{prerender_custom_emojis(h(status.proper.spoiler_text), status.proper.emojis)} + .status__card + - if status.reblog? + .status__prepend + = material_symbol('repeat') + = t('statuses.boosted_from_html', acct_link: admin_account_inline_link_to(status.proper.account, path: admin_account_status_path(status.proper.account.id, status.proper.id))) + - elsif status.reply? && status.in_reply_to_id.present? + .status__prepend + = material_symbol('reply') + = t('admin.statuses.replied_to_html', acct_link: admin_account_inline_link_to(status.in_reply_to_account, path: admin_account_status_path(status.thread.account_id, status.in_reply_to_id))) + .status__content>< + - if status.proper.spoiler_text.blank? = prerender_custom_emojis(status_content_format(status.proper), status.proper.emojis) + - else + %details< + %summary>< + %strong> Content warning: #{prerender_custom_emojis(h(status.proper.spoiler_text), status.proper.emojis)} + = prerender_custom_emojis(status_content_format(status.proper), status.proper.emojis) - - unless status.proper.ordered_media_attachments.empty? - = render partial: 'admin/reports/media_attachments', locals: { status: status.proper } + - unless status.proper.ordered_media_attachments.empty? + = render partial: 'admin/reports/media_attachments', locals: { status: status.proper } - .detailed-status__meta - - if status.application - = status.application.name - · - = link_to ActivityPub::TagManager.instance.url_for(status.proper), class: 'detailed-status__datetime', target: stream_link_target, rel: 'noopener noreferrer' do - %time.formatted{ datetime: status.created_at.iso8601, title: l(status.created_at) }= l(status.created_at) - - if status.edited? - · - = link_to t('statuses.edited_at_html', date: content_tag(:time, l(status.edited_at), datetime: status.edited_at.iso8601, title: l(status.edited_at), class: 'formatted')), - admin_account_status_path(status.account_id, status), - class: 'detailed-status__datetime' - - if status.discarded? + .detailed-status__meta + - if status.application + = status.application.name + · + + = link_to admin_account_status_path(status.account.id, status), class: 'detailed-status__datetime' do + %time.formatted{ datetime: status.created_at.iso8601, title: l(status.created_at) }= l(status.created_at) + - if status.edited? + · + = link_to t('statuses.edited_at_html', date: content_tag(:time, l(status.edited_at), datetime: status.edited_at.iso8601, title: l(status.edited_at), class: 'formatted')), + admin_account_status_path(status.account_id, status), + class: 'detailed-status__datetime' + - if status.discarded? + · + %span.negative-hint= t('admin.statuses.deleted') · - %span.negative-hint= t('admin.statuses.deleted') - · - - if status.reblog? - = material_symbol('repeat_active') - = t('statuses.boosted_from_html', acct_link: admin_account_inline_link_to(status.proper.account)) - - else + = material_symbol visibility_icon(status) = t("statuses.visibilities.#{status.visibility}") - - if status.proper.sensitive? · - = material_symbol('visibility_off') - = t('stream_entries.sensitive_content') + + = link_to ActivityPub::TagManager.instance.url_for(status.proper), class: 'detailed-status__link', target: stream_link_target, rel: 'noopener noreferrer' do + = t('admin.statuses.view_publicly') + + - if status.proper.sensitive? + · + = material_symbol('visibility_off') + = t('stream_entries.sensitive_content') diff --git a/app/views/admin/statuses/index.html.haml b/app/views/admin/statuses/index.html.haml index 4d5d03706084d1..57b9fe0e15cb50 100644 --- a/app/views/admin/statuses/index.html.haml +++ b/app/views/admin/statuses/index.html.haml @@ -1,7 +1,5 @@ - content_for :page_title do - = t('admin.statuses.title') - \- - @#{@account.pretty_acct} + = t('admin.statuses.title', name: @account.pretty_acct) .filters .filter-subset @@ -33,11 +31,18 @@ = check_box_tag :batch_checkbox_all, nil, false .batch-table__toolbar__actions - unless @statuses.empty? - = f.button safe_join([material_symbol('flag'), t('admin.statuses.batch.report')]), - class: 'table-action-link', - data: { confirm: t('admin.reports.are_you_sure') }, - name: :report, - type: :submit + - if params[:report_id] + = f.button safe_join([material_symbol('add'), t('admin.statuses.batch.add_to_report', id: params[:report_id])]), + class: 'table-action-link', + data: { confirm: t('admin.reports.are_you_sure') }, + name: :report, + type: :submit + - else + = f.button safe_join([material_symbol('flag'), t('admin.statuses.batch.report')]), + class: 'table-action-link', + data: { confirm: t('admin.reports.are_you_sure') }, + name: :report, + type: :submit .batch-table__body - if @statuses.empty? = nothing_here 'nothing-here--under-tabs' diff --git a/app/views/admin/statuses/show.html.haml b/app/views/admin/statuses/show.html.haml index 9cadde2870c3e1..49c23e921c2b71 100644 --- a/app/views/admin/statuses/show.html.haml +++ b/app/views/admin/statuses/show.html.haml @@ -1,7 +1,14 @@ - content_for :page_title do - = t('statuses.title', name: display_name(@account), quote: truncate(@status.spoiler_text.presence || @status.text, length: 50, omission: '…', escape: false)) + = t('admin.statuses.status_title', name: @account.pretty_acct) - content_for :heading_actions do + = form_with model: @status_batch_action, url: batch_admin_account_statuses_path(@account.id) do |f| + = f.hidden_field :status_ids, { multiple: true, value: @status.id } + = f.button safe_join([material_symbol('flag'), t('admin.statuses.batch.report')]), + class: 'button', + data: { confirm: t('admin.reports.are_you_sure') }, + name: :report, + type: :submit = link_to t('admin.statuses.open'), ActivityPub::TagManager.instance.url_for(@status), class: 'button', target: '_blank', rel: 'noopener noreferrer' %h3= t('admin.statuses.metadata') @@ -44,7 +51,56 @@ %hr.spacer/ -%h3= t('admin.statuses.history') +%h3= t('admin.statuses.contents') + +.status__card + - if @status.reblog? + .status__prepend + = material_symbol('repeat') + = t('statuses.boosted_from_html', acct_link: admin_account_inline_link_to(@status.proper.account, path: admin_account_status_path(@status.proper.account.id, @status.proper.id))) + - elsif @status.reply? && @status.in_reply_to_id.present? + .status__prepend + = material_symbol('reply') + = t('admin.statuses.replied_to_html', acct_link: admin_account_inline_link_to(@status.in_reply_to_account, path: admin_account_status_path(@status.thread.account_id, @status.in_reply_to_id))) + .status__content>< + - if @status.proper.spoiler_text.blank? + = prerender_custom_emojis(status_content_format(@status.proper), @status.proper.emojis) + - else + %details< + %summary>< + %strong> Content warning: #{prerender_custom_emojis(h(@status.proper.spoiler_text), @status.proper.emojis)} + = prerender_custom_emojis(status_content_format(@status.proper), @status.proper.emojis) + + - unless @status.proper.ordered_media_attachments.empty? + = render partial: 'admin/reports/media_attachments', locals: { status: @status.proper } + + .detailed-status__meta + - if @status.application + = @status.application.name + · + %span.detailed-status__datetime + %time.formatted{ datetime: @status.created_at.iso8601, title: l(@status.created_at) }= l(@status.created_at) + - if @status.edited? + · + %span.detailed-status__datetime + = t('statuses.edited_at_html', date: content_tag(:time, l(@status.edited_at), datetime: @status.edited_at.iso8601, title: l(@status.edited_at), class: 'formatted')) + - if @status.discarded? + · + %span.negative-hint= t('admin.statuses.deleted') + - unless @status.reblog? + · + = material_symbol(visibility_icon(@status)) + = t("statuses.visibilities.#{@status.visibility}") + - if @status.proper.sensitive? + · + = material_symbol('visibility_off') + = t('stream_entries.sensitive_content') -%ol.history - = render partial: 'admin/status_edits/status_edit', collection: batched_ordered_status_edits +%hr.spacer/ + +%h3= t('admin.statuses.history') +- if @status.edits.empty? + %p= t('admin.statuses.no_history') +- else + %ol.history + = render partial: 'admin/status_edits/status_edit', collection: batched_ordered_status_edits diff --git a/config/locales/an.yml b/config/locales/an.yml index 2db042f1b1ad30..43f8d358cc2af2 100644 --- a/config/locales/an.yml +++ b/config/locales/an.yml @@ -723,7 +723,7 @@ an: original_status: Publicación orichinal reblogs: Impulsos status_changed: Publicación cambiada - title: Estau d'as cuentas + title: Estau d'as cuentas - @%{name} trending: En tendencia visibility: Visibilidat with_media: Con multimedia diff --git a/config/locales/ar.yml b/config/locales/ar.yml index 1a6f0da8c669bb..bbc481a1377cce 100644 --- a/config/locales/ar.yml +++ b/config/locales/ar.yml @@ -847,7 +847,7 @@ ar: original_status: المنشور الأصلي reblogs: المعاد تدوينها status_changed: عُدّل المنشور - title: منشورات الحساب + title: منشورات الحساب - @%{name} trending: المتداولة visibility: مدى الظهور with_media: تحتوي على وسائط diff --git a/config/locales/be.yml b/config/locales/be.yml index b627672b2d12c9..c59233eb8b8ad3 100644 --- a/config/locales/be.yml +++ b/config/locales/be.yml @@ -856,7 +856,7 @@ be: original_status: Зыходны допіс reblogs: Рэпосты status_changed: Допіс зменены - title: Допісы уліковага запісу + title: Допісы уліковага запісу - @%{name} trending: Папулярныя visibility: Бачнасць with_media: З медыя diff --git a/config/locales/bg.yml b/config/locales/bg.yml index 7181b35b6d0ae2..e10ce3197c36d0 100644 --- a/config/locales/bg.yml +++ b/config/locales/bg.yml @@ -803,7 +803,7 @@ bg: original_status: Първообразна публикация reblogs: Блогване пак status_changed: Публикацията променена - title: Публикации на акаунта + title: Публикации на акаунта - @%{name} trending: Изгряващи visibility: Видимост with_media: С мултимедия diff --git a/config/locales/br.yml b/config/locales/br.yml index f9fbd34adb55cb..098b20934fc23e 100644 --- a/config/locales/br.yml +++ b/config/locales/br.yml @@ -263,7 +263,7 @@ br: original_status: Toud orin reblogs: Skignadennoù status_changed: Toud kemmet - title: Toudoù ar gont + title: Toudoù ar gont - @%{name} visibility: Gwelusted with_media: Gant mediaoù strikes: diff --git a/config/locales/ca.yml b/config/locales/ca.yml index 00c8f57a85021e..970fd99fff0111 100644 --- a/config/locales/ca.yml +++ b/config/locales/ca.yml @@ -841,7 +841,7 @@ ca: original_status: Publicació original reblogs: Impulsos status_changed: Publicació canviada - title: Estats del compte + title: Estats del compte - @%{name} trending: Tendència visibility: Visibilitat with_media: Amb contingut multimèdia diff --git a/config/locales/ckb.yml b/config/locales/ckb.yml index 88dadff0146769..6e1b11379cb123 100644 --- a/config/locales/ckb.yml +++ b/config/locales/ckb.yml @@ -520,7 +520,7 @@ ckb: media: title: میدیا no_status_selected: هیچ دۆخیک نەگۆڕاوە وەک ئەوەی هیچ بارێک دەستنیشان نەکراوە - title: دۆخی ئەژمێر + title: دۆخی ئەژمێر - @%{name} with_media: بە میدیا tags: review: پێداچوونەوەی دۆخ diff --git a/config/locales/co.yml b/config/locales/co.yml index dad3e08ffd23d0..b81427e83399a2 100644 --- a/config/locales/co.yml +++ b/config/locales/co.yml @@ -459,7 +459,7 @@ co: media: title: Media no_status_selected: I statuti ùn sò micca stati mudificati perchè manc'unu era selezziunatu - title: Statuti di u contu + title: Statuti di u contu - @%{name} with_media: Cù media system_checks: rules_check: diff --git a/config/locales/cs.yml b/config/locales/cs.yml index 15211b928a433e..f5f7f4d7310977 100644 --- a/config/locales/cs.yml +++ b/config/locales/cs.yml @@ -826,7 +826,7 @@ cs: original_status: Původní příspěvek reblogs: Boosty status_changed: Příspěvek změněn - title: Příspěvky účtu + title: Příspěvky účtu - @%{name} trending: Populární visibility: Viditelnost with_media: S médii diff --git a/config/locales/cy.yml b/config/locales/cy.yml index 2d6a0eb38d118a..ca18de17bcfe45 100644 --- a/config/locales/cy.yml +++ b/config/locales/cy.yml @@ -889,7 +889,7 @@ cy: original_status: Postiad gwreiddiol reblogs: Ailflogiadau status_changed: Postiad wedi'i newid - title: Postiadau cyfrif + title: Postiadau cyfrif - @%{name} trending: Yn trendio visibility: Gwelededd with_media: Gyda chyfryngau diff --git a/config/locales/da.yml b/config/locales/da.yml index daf683637ded7a..e157af9cc2d66e 100644 --- a/config/locales/da.yml +++ b/config/locales/da.yml @@ -841,7 +841,7 @@ da: original_status: Oprindeligt indlæg reblogs: Genblogninger status_changed: Indlæg ændret - title: Kontoindlæg + title: Kontoindlæg - @%{name} trending: Populære visibility: Synlighed with_media: Med medier diff --git a/config/locales/de.yml b/config/locales/de.yml index 10223f22788ac8..e3ee03264e77ff 100644 --- a/config/locales/de.yml +++ b/config/locales/de.yml @@ -841,7 +841,7 @@ de: original_status: Ursprünglicher Beitrag reblogs: Geteilte Beiträge status_changed: Beitrag bearbeitet - title: Beiträge des Kontos + title: Beiträge des Kontos - @%{name} trending: Trends visibility: Sichtbarkeit with_media: Mit Medien diff --git a/config/locales/el.yml b/config/locales/el.yml index 3a145cbdaba1d9..26b0ec00a261b8 100644 --- a/config/locales/el.yml +++ b/config/locales/el.yml @@ -817,7 +817,7 @@ el: original_status: Αρχική ανάρτηση reblogs: Αναδημοσιεύσεις status_changed: Η ανάρτηση άλλαξε - title: Καταστάσεις λογαριασμού + title: Καταστάσεις λογαριασμού - @%{name} trending: Τάσεις visibility: Ορατότητα with_media: Με πολυμέσα diff --git a/config/locales/en-GB.yml b/config/locales/en-GB.yml index fb284479f2ab58..e22ed62051c3eb 100644 --- a/config/locales/en-GB.yml +++ b/config/locales/en-GB.yml @@ -832,7 +832,7 @@ en-GB: original_status: Original post reblogs: Reblogs status_changed: Post changed - title: Account posts + title: Account posts - @%{name} trending: Trending visibility: Visibility with_media: With media diff --git a/config/locales/en.yml b/config/locales/en.yml index cf783338e258f8..2971fe1f25ad7e 100644 --- a/config/locales/en.yml +++ b/config/locales/en.yml @@ -826,8 +826,10 @@ en: back_to_account: Back to account page back_to_report: Back to report page batch: + add_to_report: 'Add to report #%{id}' remove_from_report: Remove from report report: Report + contents: Contents deleted: Deleted favourites: Favorites history: Version history @@ -836,13 +838,17 @@ en: media: title: Media metadata: Metadata + no_history: This post hasn't been edited no_status_selected: No posts were changed as none were selected open: Open post original_status: Original post reblogs: Reblogs + replied_to_html: Replied to %{acct_link} status_changed: Post changed - title: Account posts + status_title: Post by @%{name} + title: Account posts - @%{name} trending: Trending + view_publicly: View publicly visibility: Visibility with_media: With media strikes: diff --git a/config/locales/eo.yml b/config/locales/eo.yml index 12cae075f0176a..b5287d9e2a4ed7 100644 --- a/config/locales/eo.yml +++ b/config/locales/eo.yml @@ -814,7 +814,7 @@ eo: original_status: Originala afiŝo reblogs: Reblogaĵoj status_changed: Afiŝo ŝanĝiĝis - title: Afiŝoj de la konto + title: Afiŝoj de la konto - @%{name} trending: Popularaĵoj visibility: Videbleco with_media: Kun aŭdovidaĵoj diff --git a/config/locales/es-AR.yml b/config/locales/es-AR.yml index 79bfdfbdbf7050..6dc9d99f377c97 100644 --- a/config/locales/es-AR.yml +++ b/config/locales/es-AR.yml @@ -833,7 +833,7 @@ es-AR: original_status: Mensaje original reblogs: Adhesiones status_changed: Mensaje cambiado - title: Mensajes de la cuenta + title: Mensajes de la cuenta - @%{name} trending: En tendencia visibility: Visibilidad with_media: Con medios diff --git a/config/locales/es-MX.yml b/config/locales/es-MX.yml index fef805680a3227..7e6570f068d4a7 100644 --- a/config/locales/es-MX.yml +++ b/config/locales/es-MX.yml @@ -833,7 +833,7 @@ es-MX: original_status: Publicación original reblogs: Impulsos status_changed: Publicación cambiada - title: Estado de las cuentas + title: Estado de las cuentas - @%{name} trending: En tendencia visibility: Visibilidad with_media: Con multimedia diff --git a/config/locales/es.yml b/config/locales/es.yml index ddd53a2387a4f1..32abd9420db4d6 100644 --- a/config/locales/es.yml +++ b/config/locales/es.yml @@ -833,7 +833,7 @@ es: original_status: Publicación original reblogs: Impulsos status_changed: Publicación cambiada - title: Publicaciones de la cuenta + title: Publicaciones de la cuenta - @%{name} trending: En tendencia visibility: Visibilidad with_media: Con multimedia diff --git a/config/locales/et.yml b/config/locales/et.yml index 3be9add91ce76a..f8a4f7f69ec7bc 100644 --- a/config/locales/et.yml +++ b/config/locales/et.yml @@ -833,7 +833,7 @@ et: original_status: Algne postitus reblogs: Jagamised status_changed: Muudetud postitus - title: Konto postitused + title: Konto postitused - @%{name} trending: Populaarne visibility: Nähtavus with_media: Meediaga diff --git a/config/locales/eu.yml b/config/locales/eu.yml index e9c3be2d24a492..a764e88baccc54 100644 --- a/config/locales/eu.yml +++ b/config/locales/eu.yml @@ -793,7 +793,7 @@ eu: original_status: Jatorrizko bidalketa reblogs: Bultzadak status_changed: Bidalketa aldatuta - title: Kontuaren bidalketak + title: Kontuaren bidalketak - @%{name} trending: Joera visibility: Ikusgaitasuna with_media: Multimediarekin diff --git a/config/locales/fa.yml b/config/locales/fa.yml index 603cfe8de18491..38daf70d298e05 100644 --- a/config/locales/fa.yml +++ b/config/locales/fa.yml @@ -741,7 +741,7 @@ fa: original_status: فرستهٔ اصلی reblogs: تقویت‌ها status_changed: فرسته تغییر کرد - title: نوشته‌های حساب + title: "@%{name} - نوشته‌های حساب" trending: پرطرفدار visibility: نمایانی with_media: دارای عکس یا ویدیو diff --git a/config/locales/fi.yml b/config/locales/fi.yml index 6fe9c145917ec7..efdfdfed04bf7b 100644 --- a/config/locales/fi.yml +++ b/config/locales/fi.yml @@ -841,7 +841,7 @@ fi: original_status: Alkuperäinen julkaisu reblogs: Edelleen jako status_changed: Julkaisua muutettu - title: Tilin tilat + title: Tilin tilat - @%{name} trending: Suosituttua visibility: Näkyvyys with_media: Sisältää mediaa diff --git a/config/locales/fo.yml b/config/locales/fo.yml index 6cc1fda6a01a9e..8dab61c267ad4e 100644 --- a/config/locales/fo.yml +++ b/config/locales/fo.yml @@ -841,7 +841,7 @@ fo: original_status: Upprunapostur reblogs: Endurbloggar status_changed: Postur broyttur - title: Postar hjá kontu + title: Postar hjá kontu - @%{name} trending: Vælumtókt visibility: Sýni with_media: Við miðli diff --git a/config/locales/fr-CA.yml b/config/locales/fr-CA.yml index 3c771d4c6430ff..bb0501d0e38d0c 100644 --- a/config/locales/fr-CA.yml +++ b/config/locales/fr-CA.yml @@ -836,7 +836,7 @@ fr-CA: original_status: Message original reblogs: Partages status_changed: Publication modifiée - title: Messages du compte + title: Messages du compte - @%{name} trending: Tendances visibility: Visibilité with_media: Avec médias diff --git a/config/locales/fr.yml b/config/locales/fr.yml index 58fc63fc1baaea..0c35dea62ab605 100644 --- a/config/locales/fr.yml +++ b/config/locales/fr.yml @@ -836,7 +836,7 @@ fr: original_status: Message original reblogs: Partages status_changed: Publication modifiée - title: Messages du compte + title: Messages du compte - @%{name} trending: Tendances visibility: Visibilité with_media: Avec médias diff --git a/config/locales/fy.yml b/config/locales/fy.yml index a6656f91b84cc1..8a4f519e0cb976 100644 --- a/config/locales/fy.yml +++ b/config/locales/fy.yml @@ -833,7 +833,7 @@ fy: original_status: Oarspronklik berjocht reblogs: Boosts status_changed: Berjocht wizige - title: Accountberjochten + title: Accountberjochten - @%{name} trending: Trending visibility: Sichtberheid with_media: Mei media diff --git a/config/locales/ga.yml b/config/locales/ga.yml index 5e5ecb238e3e6d..67461f3c2a268d 100644 --- a/config/locales/ga.yml +++ b/config/locales/ga.yml @@ -875,7 +875,7 @@ ga: original_status: Bunphostáil reblogs: Athbhlaganna status_changed: Athraíodh postáil - title: Poist chuntais + title: Poist chuntais - @%{name} trending: Ag treochtáil visibility: Infheictheacht with_media: Le meáin diff --git a/config/locales/gd.yml b/config/locales/gd.yml index c804f425232877..89198bd5143585 100644 --- a/config/locales/gd.yml +++ b/config/locales/gd.yml @@ -861,7 +861,7 @@ gd: original_status: Am post tùsail reblogs: Brosnachaidhean status_changed: Post air atharrachadh - title: Postaichean a’ chunntais + title: Postaichean a’ chunntais - @%{name} trending: A’ treandadh visibility: Faicsinneachd with_media: Le meadhanan riutha diff --git a/config/locales/gl.yml b/config/locales/gl.yml index 1ad8deb1791f05..0f3420a7f3513d 100644 --- a/config/locales/gl.yml +++ b/config/locales/gl.yml @@ -841,7 +841,7 @@ gl: original_status: Publicación orixinal reblogs: Promocións status_changed: Publicación editada - title: Publicacións da conta + title: Publicacións da conta - @%{name} trending: Popular visibility: Visibilidade with_media: con medios diff --git a/config/locales/he.yml b/config/locales/he.yml index 10b4611b9ac5c8..59dc09799d05e1 100644 --- a/config/locales/he.yml +++ b/config/locales/he.yml @@ -861,7 +861,7 @@ he: original_status: הודעה מקורית reblogs: שיתופים status_changed: הודעה שונתה - title: הודעות החשבון + title: הודעות החשבון - @%{name} trending: נושאים חמים visibility: נראות with_media: עם מדיה diff --git a/config/locales/hu.yml b/config/locales/hu.yml index 18920092388a29..da4ff78dc4081d 100644 --- a/config/locales/hu.yml +++ b/config/locales/hu.yml @@ -841,7 +841,7 @@ hu: original_status: Eredeti bejegyzés reblogs: Megosztások status_changed: A bejegyzés megváltozott - title: Fiók bejegyzései + title: Fiók bejegyzései - @%{name} trending: Felkapott visibility: Láthatóság with_media: Médiával diff --git a/config/locales/hy.yml b/config/locales/hy.yml index 201922d102c043..d8cf2a97ba9472 100644 --- a/config/locales/hy.yml +++ b/config/locales/hy.yml @@ -402,7 +402,7 @@ hy: deleted: Ջնջված է media: title: Մեդիա - title: Օգտատիրոջ գրառումները + title: Օգտատիրոջ գրառումները - @%{name} with_media: Մեդիայի հետ tags: review: Վերանայել գրառումը diff --git a/config/locales/ia.yml b/config/locales/ia.yml index 843e8724b9efcd..1398ae51d4526e 100644 --- a/config/locales/ia.yml +++ b/config/locales/ia.yml @@ -833,7 +833,7 @@ ia: original_status: Message original reblogs: Republicationes status_changed: Message cambiate - title: Messages del conto + title: Messages del conto - @%{name} trending: Tendentias visibility: Visibilitate with_media: Con multimedia diff --git a/config/locales/id.yml b/config/locales/id.yml index 6a005fddaae7dc..9c31daf420705e 100644 --- a/config/locales/id.yml +++ b/config/locales/id.yml @@ -711,7 +711,7 @@ id: original_status: Kiriman asli reblogs: Reblog status_changed: Kiriman diubah - title: Status akun + title: Status akun - @%{name} trending: Sedang tren visibility: Visibilitas with_media: Dengan media diff --git a/config/locales/ie.yml b/config/locales/ie.yml index 94c4b7f4f0a940..d7df83ef6956f0 100644 --- a/config/locales/ie.yml +++ b/config/locales/ie.yml @@ -791,7 +791,7 @@ ie: original_status: Original posta reblogs: Boosts status_changed: Posta modificat - title: Postas del conto + title: Postas del conto - @%{name} trending: Populari visibility: Visibilitá with_media: Con medie diff --git a/config/locales/io.yml b/config/locales/io.yml index 8ce5f3403bd6d3..1ff5d98bf2daf3 100644 --- a/config/locales/io.yml +++ b/config/locales/io.yml @@ -779,7 +779,7 @@ io: original_status: Originala posto reblogs: Dissemi status_changed: Posto chanjita - title: Kontoposti + title: Kontoposti - @%{name} trending: Populara visibility: Videbleso with_media: Kun medii diff --git a/config/locales/is.yml b/config/locales/is.yml index 552df8f064004f..9ba29f2af0ab88 100644 --- a/config/locales/is.yml +++ b/config/locales/is.yml @@ -843,7 +843,7 @@ is: original_status: Upprunaleg færsla reblogs: Endurbirtingar status_changed: Færslu breytt - title: Færslur notandaaðgangs + title: Færslur notandaaðgangs - @%{name} trending: Vinsælt visibility: Sýnileiki with_media: Með myndefni diff --git a/config/locales/it.yml b/config/locales/it.yml index e18cb0e8f68988..08e224ad94adc7 100644 --- a/config/locales/it.yml +++ b/config/locales/it.yml @@ -833,7 +833,7 @@ it: original_status: Post originale reblogs: Condivisioni status_changed: Post modificato - title: Gli status dell'account + title: Gli status dell'account - @%{name} trending: Di tendenza visibility: Visibilità with_media: con media diff --git a/config/locales/ja.yml b/config/locales/ja.yml index a70ae680e44be3..76152c374401fa 100644 --- a/config/locales/ja.yml +++ b/config/locales/ja.yml @@ -819,7 +819,7 @@ ja: original_status: オリジナルの投稿 reblogs: ブースト status_changed: 投稿を変更しました - title: 投稿一覧 + title: 投稿一覧 - @%{name} trending: トレンド visibility: 公開範囲 with_media: メディアあり diff --git a/config/locales/ka.yml b/config/locales/ka.yml index 2a0365fbf52644..93f7a39dc38ffd 100644 --- a/config/locales/ka.yml +++ b/config/locales/ka.yml @@ -190,7 +190,7 @@ ka: media: title: მედია no_status_selected: სატუსები არ შეცვლილა, რადგან არცერთი არ მონიშნულა - title: ანგარიშის სტატუსები + title: ანგარიშის სტატუსები - @%{name} with_media: მედიით title: ადმინისტრაცია admin_mailer: diff --git a/config/locales/kab.yml b/config/locales/kab.yml index 993488f1fc0934..c74540cfbfacd1 100644 --- a/config/locales/kab.yml +++ b/config/locales/kab.yml @@ -419,7 +419,7 @@ kab: media: title: Amidya open: Ldi tasuffeɣt - title: Tisuffaɣ n umiḍan + title: Tisuffaɣ n umiḍan - @%{name} trending: Ayen mucaɛen visibility: Abani with_media: S umidya diff --git a/config/locales/kk.yml b/config/locales/kk.yml index 537104ba51a90d..4b9cef245e1dc2 100644 --- a/config/locales/kk.yml +++ b/config/locales/kk.yml @@ -285,7 +285,7 @@ kk: media: title: Медиa no_status_selected: Бірде-бір статус өзгерген жоқ, себебі ештеңе таңдалмады - title: Аккаунт статустары + title: Аккаунт статустары - @%{name} with_media: Медиамен tags: review: Статусты көрсету diff --git a/config/locales/ko.yml b/config/locales/ko.yml index 1fe43f7e756138..36a13397d0fa98 100644 --- a/config/locales/ko.yml +++ b/config/locales/ko.yml @@ -829,7 +829,7 @@ ko: original_status: 원본 게시물 reblogs: 리블로그 status_changed: 게시물 변경됨 - title: 계정 게시물 + title: 계정 게시물 - @%{name} trending: 유행 중 visibility: 공개 설정 with_media: 미디어 있음 diff --git a/config/locales/ku.yml b/config/locales/ku.yml index ddd214441c352b..54188d25146365 100644 --- a/config/locales/ku.yml +++ b/config/locales/ku.yml @@ -720,7 +720,7 @@ ku: original_status: Şandiyê resen reblogs: Ji nû ve nivîsandin status_changed: Şandî hate guhertin - title: Şandiyên ajimêr + title: Şandiyên ajimêr - @%{name} trending: Rojev visibility: Xuyabarî with_media: Bi medya yê re diff --git a/config/locales/lad.yml b/config/locales/lad.yml index 4486df637e8b28..3b33888c71e006 100644 --- a/config/locales/lad.yml +++ b/config/locales/lad.yml @@ -825,7 +825,7 @@ lad: original_status: Publikasyon orijinala reblogs: Repartajasyones status_changed: Publikasyon trokada - title: Publikasyones del kuento + title: Publikasyones del kuento - @%{name} trending: Trendes visibility: Vizivilita with_media: Kon multimedia diff --git a/config/locales/lt.yml b/config/locales/lt.yml index 3850e2e071bb84..3519cb5b32616c 100644 --- a/config/locales/lt.yml +++ b/config/locales/lt.yml @@ -601,7 +601,7 @@ lt: no_status_selected: Jokie įrašai nebuvo pakeisti, nes nė vienas buvo pasirinktas open: Atidaryti įrašą original_status: Originalus įrašas - title: Paskyros statusai + title: Paskyros statusai - @%{name} trending: Tendencinga with_media: Su medija system_checks: diff --git a/config/locales/lv.yml b/config/locales/lv.yml index 3e5a1db00ebed9..d793c8e19606a4 100644 --- a/config/locales/lv.yml +++ b/config/locales/lv.yml @@ -830,7 +830,7 @@ lv: original_status: Oriģinālā ziņa reblogs: Reblogi status_changed: Ziņa mainīta - title: Konta ziņas + title: Konta ziņas - @%{name} trending: Aktuāli visibility: Redzamība with_media: Ar multividi diff --git a/config/locales/ms.yml b/config/locales/ms.yml index 90493a30b685c6..76f914dd168f18 100644 --- a/config/locales/ms.yml +++ b/config/locales/ms.yml @@ -768,7 +768,7 @@ ms: original_status: Hantaran asal reblogs: Ulang siar status_changed: Hantaran diubah - title: Hantaran akaun + title: Hantaran akaun - @%{name} trending: Sohor kini visibility: Visibiliti with_media: Dengan media diff --git a/config/locales/my.yml b/config/locales/my.yml index 6a330a16c7f75a..b238abb051278c 100644 --- a/config/locales/my.yml +++ b/config/locales/my.yml @@ -764,7 +764,7 @@ my: original_status: မူရင်းပို့စ် reblogs: Reblog များ status_changed: ပို့စ်ပြောင်းပြီးပါပြီ - title: အကောင့်ပို့စ်များ + title: "@%{name} - အကောင့်ပို့စ်များ" trending: လက်ရှိခေတ်စားနေခြင်း visibility: မြင်နိုင်မှု with_media: မီဒီယာနှင့်အတူ diff --git a/config/locales/nl.yml b/config/locales/nl.yml index 1af30bca98bff0..d4a88b3bea7bdb 100644 --- a/config/locales/nl.yml +++ b/config/locales/nl.yml @@ -833,7 +833,7 @@ nl: original_status: Oorspronkelijk bericht reblogs: Boosts status_changed: Bericht veranderd - title: Berichten van account + title: Berichten van account - @%{name} trending: Trending visibility: Zichtbaarheid with_media: Met media diff --git a/config/locales/nn.yml b/config/locales/nn.yml index 62b08f42ed001f..e04c0168f20037 100644 --- a/config/locales/nn.yml +++ b/config/locales/nn.yml @@ -841,7 +841,7 @@ nn: original_status: Opprinnelig innlegg reblogs: Framhevingar status_changed: Innlegg endret - title: Kontostatusar + title: Kontostatusar - @%{name} trending: Populært visibility: Synlighet with_media: Med media diff --git a/config/locales/no.yml b/config/locales/no.yml index 94986f4cae9d2d..408fdd5ae1c7d9 100644 --- a/config/locales/no.yml +++ b/config/locales/no.yml @@ -786,7 +786,7 @@ original_status: Opprinnelig innlegg reblogs: Fremheve status_changed: Innlegg endret - title: Kontostatuser + title: Kontostatuser - @%{name} trending: Populært visibility: Synlighet with_media: Med media diff --git a/config/locales/oc.yml b/config/locales/oc.yml index a30126c44ba936..5130977cb32e6f 100644 --- a/config/locales/oc.yml +++ b/config/locales/oc.yml @@ -401,7 +401,7 @@ oc: media: title: Mèdia no_status_selected: Cap d’estatut pas cambiat estant que cap èra pas seleccionat - title: Estatuts del compte + title: Estatuts del compte - @%{name} visibility: Visibilitat with_media: Amb mèdia system_checks: diff --git a/config/locales/pl.yml b/config/locales/pl.yml index d50a042a22ff5c..c5d63e1d73e6d0 100644 --- a/config/locales/pl.yml +++ b/config/locales/pl.yml @@ -861,7 +861,7 @@ pl: original_status: Oryginalny post reblogs: Podbicia status_changed: Post zmieniony - title: Wpisy konta + title: Wpisy konta - @%{name} trending: Popularne visibility: Widoczność with_media: Z zawartością multimedialną diff --git a/config/locales/pt-BR.yml b/config/locales/pt-BR.yml index 0ff944e10857ee..c5a0f3764a9722 100644 --- a/config/locales/pt-BR.yml +++ b/config/locales/pt-BR.yml @@ -841,7 +841,7 @@ pt-BR: original_status: Publicação original reblogs: Reblogs status_changed: Publicação alterada - title: Publicações da conta + title: Publicações da conta - @%{name} trending: Em alta visibility: Visibilidade with_media: Com mídia diff --git a/config/locales/pt-PT.yml b/config/locales/pt-PT.yml index 1761ec3f0c0ba8..ff80948848af25 100644 --- a/config/locales/pt-PT.yml +++ b/config/locales/pt-PT.yml @@ -832,7 +832,7 @@ pt-PT: original_status: Publicação original reblogs: Re-publicacões status_changed: Publicação alterada - title: Estado das contas + title: Estado das contas - @%{name} trending: Em tendência visibility: Visibilidade with_media: Com media diff --git a/config/locales/ru.yml b/config/locales/ru.yml index 8a84f2211592d3..09d89cef9d7d8b 100644 --- a/config/locales/ru.yml +++ b/config/locales/ru.yml @@ -869,7 +869,7 @@ ru: original_status: Оригинальный пост reblogs: Продвинули status_changed: Пост изменен - title: Посты пользователя + title: Посты пользователя - @%{name} trending: Популярное visibility: Видимость with_media: С файлами diff --git a/config/locales/sc.yml b/config/locales/sc.yml index 9ab62cea71e56b..09f8ba0e0e7838 100644 --- a/config/locales/sc.yml +++ b/config/locales/sc.yml @@ -582,7 +582,7 @@ sc: open: Aberi sa publicatzione original_status: Publicatzione originale status_changed: Publicatzione modificada - title: Istados de su contu + title: Istados de su contu - @%{name} trending: Populares visibility: Visibilidade with_media: Cun elementos multimediales diff --git a/config/locales/sco.yml b/config/locales/sco.yml index 8cc733a4acc2a2..55e0603d458bd1 100644 --- a/config/locales/sco.yml +++ b/config/locales/sco.yml @@ -713,7 +713,7 @@ sco: original_status: Original post reblogs: Reblogs status_changed: Post chynged - title: Accoont posts + title: Accoont posts - @%{name} trending: Trendin visibility: Visibility with_media: Wi media diff --git a/config/locales/si.yml b/config/locales/si.yml index 270e0ae3fc4e31..b0eb1d3b0cabf2 100644 --- a/config/locales/si.yml +++ b/config/locales/si.yml @@ -607,7 +607,7 @@ si: open: ලිපිය අරින්න original_status: මුල් ලිපිය status_changed: ලිපිය සංශෝධිතයි - title: ගිණුමේ ලිපි + title: ගිණුමේ ලිපි - @%{name} trending: නැගී එන with_media: මාධ්‍ය සමඟ strikes: diff --git a/config/locales/sk.yml b/config/locales/sk.yml index 6ef78a8f211407..d576bf0382d625 100644 --- a/config/locales/sk.yml +++ b/config/locales/sk.yml @@ -684,7 +684,7 @@ sk: open: Otvor príspevok original_status: Pôvodný príspevok status_changed: Príspevok bol zmenený - title: Príspevky na účte + title: Príspevky na účte - @%{name} trending: Populárne visibility: Viditeľnosť with_media: S médiami diff --git a/config/locales/sl.yml b/config/locales/sl.yml index e9c06bcaa65674..6ae239d69f67be 100644 --- a/config/locales/sl.yml +++ b/config/locales/sl.yml @@ -853,7 +853,7 @@ sl: original_status: Izvorna objava reblogs: Ponovljeni blogi status_changed: Objava spremenjena - title: Objave računa + title: Objave računa - @%{name} trending: V trendu visibility: Vidnost with_media: Z mediji diff --git a/config/locales/sq.yml b/config/locales/sq.yml index e5becbd91693ee..b1e2a4f61e9f50 100644 --- a/config/locales/sq.yml +++ b/config/locales/sq.yml @@ -838,7 +838,7 @@ sq: original_status: Postim origjinal reblogs: Riblogime status_changed: Postimi ndryshoi - title: Gjendje llogarish + title: Gjendje llogarish - @%{name} trending: Në modë visibility: Dukshmëri with_media: Me media diff --git a/config/locales/sr-Latn.yml b/config/locales/sr-Latn.yml index f56cdb9cb5e26f..76a0f8afe976af 100644 --- a/config/locales/sr-Latn.yml +++ b/config/locales/sr-Latn.yml @@ -807,7 +807,7 @@ sr-Latn: original_status: Originalna objava reblogs: Deljenja status_changed: Objava promenjena - title: Statusi naloga + title: Statusi naloga - @%{name} trending: U trendu visibility: Vidljivost with_media: Sa multimedijom diff --git a/config/locales/sr.yml b/config/locales/sr.yml index 45feb0b5fca073..6a75316c23e87b 100644 --- a/config/locales/sr.yml +++ b/config/locales/sr.yml @@ -837,7 +837,7 @@ sr: original_status: Оригинална објава reblogs: Дељења status_changed: Објава промењена - title: Статуси налога + title: Статуси налога - @%{name} trending: У тренду visibility: Видљивост with_media: Са мултимедијом diff --git a/config/locales/sv.yml b/config/locales/sv.yml index c41795a16816a2..11b37f8bfc7c89 100644 --- a/config/locales/sv.yml +++ b/config/locales/sv.yml @@ -841,7 +841,7 @@ sv: original_status: Ursprungligt inlägg reblogs: Ombloggningar status_changed: Inlägg ändrat - title: Kontoinlägg + title: Kontoinlägg - @%{name} trending: Trendande visibility: Synlighet with_media: Med media diff --git a/config/locales/th.yml b/config/locales/th.yml index ea039a2b9902c1..32f2b30292c7c0 100644 --- a/config/locales/th.yml +++ b/config/locales/th.yml @@ -819,7 +819,7 @@ th: original_status: โพสต์ดั้งเดิม reblogs: การดัน status_changed: เปลี่ยนโพสต์แล้ว - title: โพสต์ของบัญชี + title: โพสต์ของบัญชี - @%{name} trending: กำลังนิยม visibility: การมองเห็น with_media: มีสื่อ diff --git a/config/locales/tr.yml b/config/locales/tr.yml index 88636ef21bc9f0..2eafed1b4788b8 100644 --- a/config/locales/tr.yml +++ b/config/locales/tr.yml @@ -841,7 +841,7 @@ tr: original_status: Özgün gönderi reblogs: Yeniden Paylaşımlar status_changed: Gönderi değişti - title: Hesap durumları + title: Hesap durumları - @%{name} trending: Öne çıkanlar visibility: Görünürlük with_media: Medya ile diff --git a/config/locales/uk.yml b/config/locales/uk.yml index e6a765267fde81..7ea76b2a75d1e3 100644 --- a/config/locales/uk.yml +++ b/config/locales/uk.yml @@ -861,7 +861,7 @@ uk: original_status: Оригінальний допис reblogs: Поширення status_changed: Допис змінено - title: Дописи облікових записів + title: Дописи облікових записів - @%{name} trending: Популярне visibility: Видимість with_media: З медіа diff --git a/config/locales/vi.yml b/config/locales/vi.yml index 1d04f796f8c984..71c4357f2f2ce7 100644 --- a/config/locales/vi.yml +++ b/config/locales/vi.yml @@ -827,7 +827,7 @@ vi: original_status: Tút gốc reblogs: Lượt đăng lại status_changed: Tút đã sửa - title: Tất cả tút + title: Tất cả tút - @%{name} trending: Xu hướng visibility: Hiển thị with_media: Có media diff --git a/config/locales/zh-CN.yml b/config/locales/zh-CN.yml index 36d316649c8d42..cae0efee57ea8a 100644 --- a/config/locales/zh-CN.yml +++ b/config/locales/zh-CN.yml @@ -827,7 +827,7 @@ zh-CN: original_status: 原始嘟文 reblogs: 转发 status_changed: 嘟文已编辑 - title: 帐户嘟文 + title: 帐户嘟文 - @%{name} trending: 当前热门 visibility: 可见性 with_media: 含有媒体文件 diff --git a/config/locales/zh-HK.yml b/config/locales/zh-HK.yml index e33ebeadb4c096..6f0a99a5b35567 100644 --- a/config/locales/zh-HK.yml +++ b/config/locales/zh-HK.yml @@ -777,7 +777,7 @@ zh-HK: original_status: 原始帖文 reblogs: 轉發 status_changed: 帖文已變更 - title: 帳戶文章 + title: 帳戶文章 - @%{name} trending: 熱門 visibility: 可見性 with_media: 含有媒體檔案 diff --git a/config/locales/zh-TW.yml b/config/locales/zh-TW.yml index 495a6a474220db..ce6bd3e8f5c4bc 100644 --- a/config/locales/zh-TW.yml +++ b/config/locales/zh-TW.yml @@ -829,7 +829,7 @@ zh-TW: original_status: 原始嘟文 reblogs: 轉嘟 status_changed: 嘟文已編輯 - title: 帳號嘟文 + title: 帳號嘟文 - @%{name} trending: 熱門 visibility: 可見性 with_media: 含有媒體檔案 From c546aa57cb0b89c5d4ec7f7d7d38656d9e378402 Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" <41898282+github-actions[bot]@users.noreply.github.com> Date: Fri, 15 Nov 2024 11:30:11 +0100 Subject: [PATCH 203/357] New Crowdin Translations (automated) (#32900) Co-authored-by: GitHub Actions --- app/javascript/mastodon/locales/bg.json | 27 +++++++++++++++++++++++++ app/javascript/mastodon/locales/cy.json | 1 + app/javascript/mastodon/locales/lt.json | 1 + app/javascript/mastodon/locales/lv.json | 4 ++++ config/locales/bg.yml | 9 +++++++++ config/locales/cy.yml | 8 ++++++++ config/locales/devise.lv.yml | 10 ++++----- config/locales/eo.yml | 26 +++++++++++++++++++++++- config/locales/hu.yml | 16 +++++++-------- config/locales/lv.yml | 25 +++++++++++++++-------- config/locales/simple_form.cy.yml | 3 ++- config/locales/simple_form.hu.yml | 4 ++-- config/locales/simple_form.lv.yml | 5 +++-- 13 files changed, 112 insertions(+), 27 deletions(-) diff --git a/app/javascript/mastodon/locales/bg.json b/app/javascript/mastodon/locales/bg.json index 3d5d8a85850879..44482f6c960488 100644 --- a/app/javascript/mastodon/locales/bg.json +++ b/app/javascript/mastodon/locales/bg.json @@ -87,6 +87,17 @@ "alert.unexpected.title": "Опаа!", "alt_text_badge.title": "Алтернативен текст", "announcement.announcement": "Оповестяване", + "annual_report.summary.archetype.lurker": "Дебнещото", + "annual_report.summary.archetype.oracle": "Оракул", + "annual_report.summary.archetype.pollster": "Анкетьорче", + "annual_report.summary.archetype.replier": "Социална пеперуда", + "annual_report.summary.followers.followers": "последователи", + "annual_report.summary.followers.total": "{count} общо", + "annual_report.summary.highlighted_post.by_favourites": "най-правено като любима публикация", + "annual_report.summary.most_used_app.most_used_app": "най-употребявано приложение", + "annual_report.summary.most_used_hashtag.most_used_hashtag": "най-употребяван хаштаг", + "annual_report.summary.new_posts.new_posts": "нови публикации", + "annual_report.summary.thanks": "Благодарим, че сте част от Mastodon!", "attachments_list.unprocessed": "(необработено)", "audio.hide": "Скриване на звука", "block_modal.remote_users_caveat": "Ще поискаме сървърът {domain} да почита решението ви. Съгласието обаче не се гарантира откак някои сървъри могат да боравят с блоковете по различен начин. Обществените публикации още може да се виждат от невлезли в системата потребители.", @@ -158,6 +169,7 @@ "compose_form.poll.duration": "Времетраене на анкетата", "compose_form.poll.multiple": "Множествен избор", "compose_form.poll.option_placeholder": "Избор {number}", + "compose_form.poll.single": "Единичен избор", "compose_form.poll.switch_to_multiple": "Промяна на анкетата, за да се позволят множество възможни избора", "compose_form.poll.switch_to_single": "Промяна на анкетата, за да се позволи един възможен избор", "compose_form.poll.type": "Стил", @@ -195,6 +207,8 @@ "confirmations.unfollow.message": "Наистина ли искате да не следвате {name}?", "confirmations.unfollow.title": "Спирате ли да следвате потребителя?", "content_warning.hide": "Скриване на публ.", + "content_warning.show": "Нека се покаже", + "content_warning.show_more": "Показване на още", "conversation.delete": "Изтриване на разговора", "conversation.mark_as_read": "Маркиране като прочетено", "conversation.open": "Преглед на разговора", @@ -365,6 +379,9 @@ "home.pending_critical_update.link": "Преглед на обновяванията", "home.pending_critical_update.title": "Налично критично обновяване на сигурността!", "home.show_announcements": "Показване на оповестяванията", + "ignore_notifications_modal.disclaimer": "Mastodon не може да осведоми потребители, че сте пренебрегнали известията им. Пренебрегването на известията няма да спре самите съобщения да не бъдат изпращани.", + "ignore_notifications_modal.filter_to_act_users": "Вие все още ще може да приемате, отхвърляте или докладвате потребители", + "ignore_notifications_modal.filter_to_avoid_confusion": "Прецеждането помага за избягване на възможно объркване", "interaction_modal.description.favourite": "Имайки акаунт в Mastodon, може да сложите тази публикации в любими, за да позволите на автора да узнае, че я цените и да я запазите за по-късно.", "interaction_modal.description.follow": "С акаунт в Mastodon може да последвате {name}, за да получавате публикациите от този акаунт в началния си инфоканал.", "interaction_modal.description.reblog": "С акаунт в Mastodon може да подсилите тази публикация, за да я споделите с последователите си.", @@ -380,6 +397,7 @@ "interaction_modal.title.follow": "Последване на {name}", "interaction_modal.title.reblog": "Подсилване на публикацията на {name}", "interaction_modal.title.reply": "Отговаряне на публикацията на {name}", + "interaction_modal.title.vote": "Гласувайте в анкетата на {name}", "intervals.full.days": "{number, plural, one {# ден} other {# дни}}", "intervals.full.hours": "{number, plural, one {# час} other {# часа}}", "intervals.full.minutes": "{number, plural, one {# минута} other {# минути}}", @@ -420,6 +438,8 @@ "lightbox.close": "Затваряне", "lightbox.next": "Напред", "lightbox.previous": "Назад", + "lightbox.zoom_in": "Увеличение до действителната големина", + "lightbox.zoom_out": "Увеличение до побиране", "limited_account_hint.action": "Показване на профила въпреки това", "limited_account_hint.title": "Този профил е бил скрит от модераторите на {domain}.", "link_preview.author": "От {name}", @@ -441,6 +461,7 @@ "lists.subheading": "Вашите списъци", "load_pending": "{count, plural, one {# нов елемент} other {# нови елемента}}", "loading_indicator.label": "Зареждане…", + "media_gallery.hide": "Скриване", "moved_to_account_banner.text": "Вашият акаунт {disabledAccount} сега е изключен, защото се преместихте в {movedToAccount}.", "mute_modal.hide_from_notifications": "Скриване от известията", "mute_modal.hide_options": "Скриване на възможностите", @@ -489,6 +510,7 @@ "notification.favourite": "{name} направи любима публикацията ви", "notification.favourite.name_and_others_with_link": "{name} и {count, plural, one {# друг} other {# други}} направиха любима ваша публикация", "notification.follow": "{name} ви последва", + "notification.follow.name_and_others": "{name} и {count, plural, one {# друг} other {# други}} ви последваха", "notification.follow_request": "{name} поиска да ви последва", "notification.follow_request.name_and_others": "{name} и {count, plural, one {# друг} other {# други}} поискаха да ви последват", "notification.label.mention": "Споменаване", @@ -496,6 +518,7 @@ "notification.label.private_reply": "Личен отговор", "notification.label.reply": "Отговор", "notification.mention": "Споменаване", + "notification.mentioned_you": "{name} ви спомена", "notification.moderation-warning.learn_more": "Научете повече", "notification.moderation_warning": "Получихте предупреждение за модериране", "notification.moderation_warning.action_delete_statuses": "Някои от публикациите ви са премахнати.", @@ -752,6 +775,7 @@ "status.bookmark": "Отмятане", "status.cancel_reblog_private": "Край на подсилването", "status.cannot_reblog": "Публикацията не може да се подсилва", + "status.continued_thread": "Продължена нишка", "status.copy": "Копиране на връзката към публикация", "status.delete": "Изтриване", "status.detailed_status": "Подробен изглед на разговора", @@ -760,6 +784,7 @@ "status.edit": "Редактиране", "status.edited": "Последно редактирано на {date}", "status.edited_x_times": "Редактирано {count, plural,one {{count} път} other {{count} пъти}}", + "status.embed": "Вземане на кода за вграждане", "status.favourite": "Любимо", "status.favourites": "{count, plural, one {любимо} other {любими}}", "status.filter": "Филтриране на публ.", @@ -784,6 +809,7 @@ "status.reblogs.empty": "Още никого не е подсилвал публикацията. Подсилващият ще се покаже тук.", "status.redraft": "Изтриване и преработване", "status.remove_bookmark": "Премахване на отметката", + "status.replied_in_thread": "Отговорено в нишката", "status.replied_to": "В отговор до {name}", "status.reply": "Отговор", "status.replyAll": "Отговор на нишка", @@ -821,6 +847,7 @@ "upload_error.poll": "Качването на файлове не е позволено с анкети.", "upload_form.audio_description": "Опишете за хора, които са глухи или трудно чуват", "upload_form.description": "Опишете за хора, които са слепи или имат слабо зрение", + "upload_form.drag_and_drop.instructions": "Натиснете интервал или enter, за да подберете мултимедийно прикачване. Провлачвайки, ползвайте клавишите със стрелки, за да премествате мултимедията във всяка дадена посока. Натиснете пак интервал или enter, за да се стовари мултимедийното прикачване в новото си положение или натиснете Esc за отмяна.", "upload_form.edit": "Редактиране", "upload_form.thumbnail": "Промяна на миниобраза", "upload_form.video_description": "Опишете за хора, които са глухи или трудно чуват, слепи или имат слабо зрение", diff --git a/app/javascript/mastodon/locales/cy.json b/app/javascript/mastodon/locales/cy.json index ca83af9215cc3e..1fa17e56eaf1a3 100644 --- a/app/javascript/mastodon/locales/cy.json +++ b/app/javascript/mastodon/locales/cy.json @@ -101,6 +101,7 @@ "annual_report.summary.highlighted_post.possessive": "{name}", "annual_report.summary.most_used_app.most_used_app": "ap a ddefnyddiwyd fwyaf", "annual_report.summary.most_used_hashtag.most_used_hashtag": "hashnod a ddefnyddiwyd fwyaf", + "annual_report.summary.most_used_hashtag.none": "Dim", "annual_report.summary.new_posts.new_posts": "postiadau newydd", "annual_report.summary.percentile.text": "Rydych chi yn y mwyaf o ddefnyddwyr Mastodon.", "annual_report.summary.percentile.we_wont_tell_bernie": "Ni fyddwn yn dweud wrth Bernie.", diff --git a/app/javascript/mastodon/locales/lt.json b/app/javascript/mastodon/locales/lt.json index d03833e11f53f4..378f642cfe816d 100644 --- a/app/javascript/mastodon/locales/lt.json +++ b/app/javascript/mastodon/locales/lt.json @@ -101,6 +101,7 @@ "annual_report.summary.highlighted_post.possessive": "{name}", "annual_report.summary.most_used_app.most_used_app": "labiausiai naudota programa", "annual_report.summary.most_used_hashtag.most_used_hashtag": "labiausiai naudotas saitažodis", + "annual_report.summary.most_used_hashtag.none": "Nieko", "annual_report.summary.new_posts.new_posts": "nauji įrašai", "annual_report.summary.percentile.text": "Tai reiškia, kad esate tarppopuliariausių „Mastodon“ naudotojų.", "annual_report.summary.percentile.we_wont_tell_bernie": "Mes nesakysime Bernie.", diff --git a/app/javascript/mastodon/locales/lv.json b/app/javascript/mastodon/locales/lv.json index 30fc0ea3484f1b..f6053b2e0922a4 100644 --- a/app/javascript/mastodon/locales/lv.json +++ b/app/javascript/mastodon/locales/lv.json @@ -86,6 +86,10 @@ "alert.unexpected.message": "Radās negaidīta kļūda.", "alert.unexpected.title": "Ups!", "announcement.announcement": "Paziņojums", + "annual_report.summary.followers.followers": "sekotāji", + "annual_report.summary.followers.total": "pavisam {count}", + "annual_report.summary.here_it_is": "Šeit ir {year}. gada pārskats:", + "annual_report.summary.new_posts.new_posts": "jauni ieraksti", "attachments_list.unprocessed": "(neapstrādāti)", "audio.hide": "Slēpt audio", "block_modal.remote_users_caveat": "Mēs vaicāsim serverim {domain} ņemt vērā Tavu lēmumu. Tomēr atbilstība nav nodrošināta, jo atsevišķi serveri var apstrādāt bloķēšanu citādi. Publiski ieraksti joprojām var būt redzami lietotājiem, kuri nav pieteikušies.", diff --git a/config/locales/bg.yml b/config/locales/bg.yml index e10ce3197c36d0..2c5edf0b13af7c 100644 --- a/config/locales/bg.yml +++ b/config/locales/bg.yml @@ -21,9 +21,12 @@ bg: one: Публикация other: Публикации posts_tab_heading: Публикации + self_follow_error: Не е позволено да следвате собствения си акаунт admin: account_actions: action: Изпълняване на действие + already_silenced: Този акаунт вече е ограничен. + already_suspended: Този акаунт вече е спрян. title: Извършване на модериращо действие за %{acct} account_moderation_notes: create: Оставяне на бележка @@ -45,6 +48,7 @@ bg: title: Промяна на имейл за %{username} change_role: changed_msg: Успешно променена роля! + edit_roles: Управление на потребителските роли label: Промяна на ролята no_role: Без роля title: Промяна на ролята за %{username} @@ -875,6 +879,7 @@ bg: name: Име newest: Най-нови oldest: Най-стари + open: Преглед публично reset: Нулиране review: Преглед на състояние search: Търсене @@ -888,6 +893,7 @@ bg: links: allow: Позволяване на връзка allow_provider: Позволяване на публикуващия + confirm_allow: Наистина ли искате да позволите избраните връзки? confirm_allow_provider: Наистина ли искате да позволите избраните доставчици? description_html: Това са връзки, които в момента са много пъти споделяни от акаунти, чиито публикации сървърът ви вижда. Може да помогне на потребителите ви да разберат какво се случва по света. Никоя връзка няма да се показва публично, докато не одобрите публикуващия. Може още и да одобрявате или отхвърляте отделни връзки. disallow: Забранявам връзката @@ -912,6 +918,8 @@ bg: statuses: allow: Позволяване на публикацията allow_account: Позволяване на автора + confirm_allow: Наистина ли искате да позволите избраните статуси? + confirm_allow_account: Наистина ли искате да позволите избраните акаунти? description_html: Това са публикации, за които сървърът ви знае, че са често споделяни или харесвани в момента. Това може да помогне на вашите нови и завръщащи се потребители да открият повече хора за следване. Никоя от публикациите няма да бъде показана публично, докато не одобрите автора и докато авторът не позволи акаунтът му да бъде предлган на другите. Също така можете да позволявате или отхвърляте отделни публикации. disallow: Забраняване на публикацията disallow_account: Забрана на автора @@ -1028,6 +1036,7 @@ bg: guide_link_text: Всеки може да участва. sensitive_content: Деликатно съдържание application_mailer: + notification_preferences: Промяна на предпочитанията за е-поща salutation: "%{name}," unsubscribe: Стоп на абонамента view: 'Преглед:' diff --git a/config/locales/cy.yml b/config/locales/cy.yml index ca18de17bcfe45..f479f0f0a00629 100644 --- a/config/locales/cy.yml +++ b/config/locales/cy.yml @@ -199,6 +199,7 @@ cy: create_domain_block: Creu Gwaharddiad Parth create_email_domain_block: Creu Rhwystr Parth E-bost create_ip_block: Creu rheol IP + create_relay: Creu Cyfnewidiad create_unavailable_domain: Creu Parth Ddim ar Gael create_user_role: Creu Rôl demote_user: Diraddio Defnyddiwr @@ -210,14 +211,17 @@ cy: destroy_email_domain_block: Dileu Rhwystr Parth E-bost destroy_instance: Clirio Parth destroy_ip_block: Dileu rheol IP + destroy_relay: Dileu Cyfnewidiad destroy_status: Dileu Postiad destroy_unavailable_domain: Dileu Parth Ddim ar Gael destroy_user_role: Dileu Rôl disable_2fa_user: Diffodd 2FA disable_custom_emoji: Analluogi Emoji Addasedig + disable_relay: Analluogi Cyfnewidiad disable_sign_in_token_auth_user: Analluogi Dilysu Tocyn E-bost Defnyddiwr disable_user: Analluogi Defnyddiwr enable_custom_emoji: Galluogi Emoji Addasedig + enable_relay: Galluogi Cyfnewidiad enable_sign_in_token_auth_user: Galluogi Dilysu Tocyn E-bost Defnyddiwr enable_user: Galluogi Defnyddiwr memorialize_account: Cofadeilio Cyfrif @@ -259,6 +263,7 @@ cy: create_domain_block_html: Mae %{name} wedi rhwystro parth %{target} create_email_domain_block_html: Mae %{name} wedi rhwystro parth e-bost %{target} create_ip_block_html: Mae %{name} wedi creu rheol ar gyfer IP %{target} + create_relay_html: Creodd %{name} gyfnewidiad %{target} create_unavailable_domain_html: Mae %{name} wedi stopio danfon i barth %{target} create_user_role_html: Mae %{name} wedi creu rôl %{target} demote_user_html: Mae %{name} wedi israddio defnyddiwr %{target} @@ -270,14 +275,17 @@ cy: destroy_email_domain_block_html: Mae %{name} wedi dad-rwystro parth e-bost %{target} destroy_instance_html: Mae %{name} wedi dileu parth %{target} destroy_ip_block_html: Mae %{name} dileu rheol ar gyfer IP %{target} + destroy_relay_html: Dileodd %{name} y cyfnewidiad %{target} destroy_status_html: Mae %{name} wedi tynnu postiad gan %{target} destroy_unavailable_domain_html: Mae %{name} wedi ailddechrau anfon i barth %{target} destroy_user_role_html: Mae %{name} wedi dileu rôl %{target} disable_2fa_user_html: Mae %{name} wedi analluogi gofyniad dau ffactor ar gyfer defnyddiwr %{target} disable_custom_emoji_html: Mae %{name} wedi analluogi emoji %{target} + disable_relay_html: Analluogodd %{name} y cyfnewidiad %{target} disable_sign_in_token_auth_user_html: Mae %{name} wedi analluogi dilysiad tocyn e-bost %{target} disable_user_html: Mae %{name} wedi analluogi mewngofnodi defnyddiwr %{target} enable_custom_emoji_html: Mae %{name} wedi analluogi emoji %{target} + enable_relay_html: Galluogodd %{name} y cyfnewidiad %{target} enable_sign_in_token_auth_user_html: Mae %{name} wedi galluogi dilysiad tocyn e-bost %{target} enable_user_html: Mae %{name} wedi galluogi mewngofnodi defnyddiwr %{target} memorialize_account_html: Newidiodd %{name} gyfrif %{target} i dudalen memoriam diff --git a/config/locales/devise.lv.yml b/config/locales/devise.lv.yml index 4470c8109e2d99..5aaa23a731c656 100644 --- a/config/locales/devise.lv.yml +++ b/config/locales/devise.lv.yml @@ -14,7 +14,7 @@ lv: not_found_in_database: Nederīga %{authentication_keys} vai parole. omniauth_user_creation_failure: Kļūda šīs identitātes konta izveidošanā. pending: Tavs konts joprojām tiek pārskatīts. - timeout: Sesijair beigusies. Lūgums vēlreiz pieteikties, lai turpinātu. + timeout: Sesija ir beigusies. Lūgums vēlreiz pieteikties, lai turpinātu. unauthenticated: Lai turpinātu, jāpiesakās vai jāreģistrējas. unconfirmed: Lai turpinātu, jāapliecina sava e-pasta adrese. mailer: @@ -90,13 +90,13 @@ lv: no_token: Tu nevari piekļūt šai lapai, ja neesi saņēmis paroles atiestatīšanas e-pasta ziņojumu. Ja ienāci no paroles atiestatīšanas e-pasta, lūdzu, pārliecinies, vai izmanto visu norādīto URL. send_instructions: Ja tava e-pasta adrese ir mūsu datu bāzē, pēc dažām minūtēm uz savu e-pasta adresi saņemsi paroles atkopšanas saiti. Lūdzu, pārbaudi spama mapi, ja neesi saņēmis šo e-pastu. send_paranoid_instructions: Ja tava e-pasta adrese ir mūsu datu bāzē, pēc dažām minūtēm uz savu e-pasta adresi saņemsi paroles atkopšanas saiti. Lūdzu, pārbaudi spama mapi, ja neesi saņēmis šo e-pastu. - updated: Tava parole tika veiksmīgi nomainīta. Tu tagad esi pieteicies. + updated: Tava parole tika veiksmīgi nomainīta. Tagad esi pieteicies. updated_not_active: Tava parole ir veiksmīgi nomainīta. registrations: destroyed: Visu labu! Tavs konts ir veiksmīgi atcelts. Mēs ceram tevi drīz atkal redzēt. signed_up: Laipni lūdzam! Tu esi veiksmīgi reģistrējies. - signed_up_but_inactive: Tava reģistrācija bija veiksmīga. Tomēr mēs nevarējām tevi pierakstīt, jo tavs konts vēl nav aktivizēts. - signed_up_but_locked: Tava reģistrācija bija veiksmīga. Tomēr mēs nevarējām tevi pierakstīt, jo tavs konts ir bloķēts. + signed_up_but_inactive: Tava reģistrācija bija veiksmīga. Tomēr mēs nevarējām Tevi pieteikt, jo Tavs konts vēl nav aktivizēts. + signed_up_but_locked: Tava reģistrācija bija veiksmīga. Tomēr mēs nevarējām Tevi pieteikt, jo Tavs konts ir slēgts. signed_up_but_pending: Uz tavu e-pasta adresi ir nosūtīts ziņojums ar apstiprinājuma saiti. Pēc noklikšķināšanas uz saites mēs izskatīsim tavu pieteikumu. Tu tiksi informēts, ja tas tiks apstiprināts. signed_up_but_unconfirmed: Uz tavu e-pasta adresi ir nosūtīts ziņojums ar apstiprinājuma saiti. Lūdzu, seko saitei, lai aktivizētu savu kontu. Lūdzu, pārbaudi spama mapi, ja neesi saņēmis šo e-pastu. update_needs_confirmation: Tu veiksmīgi atjaunināji savu kontu, taču mums ir jāverificē teva jaunā e-pasta adrese. Lūdzu, pārbaudi savu e-pastu un seko apstiprinājuma saitei, lai apstiprinātu savu jauno e-pasta adresi. Lūdzu, pārbaudi spama mapi, ja neesi saņēmis šo e-pastu. @@ -111,7 +111,7 @@ lv: unlocked: Konts tika veiksmīgi atbloķēts. Lūgums pieteikties, lai turpinātu. errors: messages: - already_confirmed: jau tika apstiprināts, lūdzu, mēģini pierakstīties + already_confirmed: jau tika apstiprināts, lūgums mēģināt pieteikties confirmation_period_expired: jāapstiprina %{period} laikā, lūdzu, pieprasi jaunu expired: ir beidzies derīguma termiņš, lūdzu, pieprasi jaunu not_found: nav atrasts diff --git a/config/locales/eo.yml b/config/locales/eo.yml index b5287d9e2a4ed7..194b2c17b81279 100644 --- a/config/locales/eo.yml +++ b/config/locales/eo.yml @@ -73,7 +73,7 @@ eo: enable_sign_in_token_auth: Ebligu retpoŝtan ĵeton-aŭtentikigon enabled: Ebligita enabled_msg: Sukcese malfrostigis konton de %{username} - followers: Sekvantoj + followers: Sekvoj follows: Sekvatoj header: Kapa bildo inbox_url: Enira URL @@ -187,6 +187,7 @@ eo: create_domain_block: Krei Blokadon De Domajno create_email_domain_block: Krei retpoŝtan domajnan blokon create_ip_block: Krei IP-regulon + create_relay: Krei Relajson create_unavailable_domain: Krei Nehaveblan Domajnon create_user_role: Krei Rolon demote_user: Malpromocii Uzanton @@ -198,13 +199,18 @@ eo: destroy_email_domain_block: Forigi retpoŝtan domajnan blokon destroy_instance: Forigi Domajnon destroy_ip_block: Forigi IP-regulon + destroy_relay: Forigi Relajson destroy_status: Forigi Afiŝon destroy_unavailable_domain: Forigi Nehaveblan Domajnon destroy_user_role: Detrui Rolon disable_2fa_user: Malebligi 2FA disable_custom_emoji: Malebligi proprajn emoĝiojn + disable_relay: Malebligi Relajson + disable_sign_in_token_auth_user: Malebligi aŭtentigon per retpoŝta ĵetono por la uzanto disable_user: Neebligi la uzanton enable_custom_emoji: Ebligi Propran Emoĝion + enable_relay: Ebligi Relajson + enable_sign_in_token_auth_user: Ebligi aŭtentigon per retpoŝta ĵetono por la uzanto enable_user: Ebligi uzanton memorialize_account: Memorigu Konton promote_user: Promocii Uzanton @@ -245,6 +251,7 @@ eo: create_domain_block_html: "%{name} blokis domajnon %{target}" create_email_domain_block_html: "%{name} blokis retpoŝtan domajnon %{target}" create_ip_block_html: "%{name} kreis regulon por IP %{target}" + create_relay_html: "%{name} kreis relajson %{target}" create_unavailable_domain_html: "%{name} ĉesis sendon al domajno %{target}" create_user_role_html: "%{name} kreis rolon de %{target}" demote_user_html: "%{name} degradis uzanton %{target}" @@ -256,13 +263,18 @@ eo: destroy_email_domain_block_html: "%{name} malblokis retpoŝtan domajnon %{target}" destroy_instance_html: "%{name} forigis domajnon %{target}" destroy_ip_block_html: "%{name} forigis regulon por IP %{target}" + destroy_relay_html: "%{name} forigis la relajson %{target}" destroy_status_html: "%{name} forigis mesaĝojn de %{target}" destroy_unavailable_domain_html: "%{name} restartigis sendon al domajno %{target}" destroy_user_role_html: "%{name} forigis rolon de %{target}" disable_2fa_user_html: "%{name} malebligis dufaktoran aŭtentigon por uzanto %{target}" disable_custom_emoji_html: "%{name} malebligis la emoĝion %{target}" + disable_relay_html: "%{name} malebligis la relajson %{target}" + disable_sign_in_token_auth_user_html: "%{name} malebligis la aŭtentigon de retpoŝta ĵetono por %{target}" disable_user_html: "%{name} malebligis ensaluton por uzanto %{target}" enable_custom_emoji_html: "%{name} ebligis la emoĝion %{target}" + enable_relay_html: "%{name} ebligis la relajson %{target}" + enable_sign_in_token_auth_user_html: "%{name} ebligis la aŭtentigon de retpoŝta ĵetono por %{target}" enable_user_html: "%{name} ebligis ensaluton por uzanto %{target}" memorialize_account_html: "%{name} ŝanĝis la konton de %{target} al memora paĝo" promote_user_html: "%{name} plirangigis uzanton %{target}" @@ -270,6 +282,7 @@ eo: reject_user_html: "%{name} malakceptis registriĝon de %{target}" remove_avatar_user_html: "%{name} forigis la profilbildon de %{target}" reopen_report_html: "%{name} remalfermis signalon %{target}" + resend_user_html: "%{name} resendis konfirman retmesaĝon por %{target}" reset_password_user_html: "%{name} restarigis la pasvorton de la uzanto %{target}" resolve_report_html: "%{name} solvis raporton %{target}" sensitive_account_html: "%{name} markis audovidaĵon de %{target} kiel tiklan" @@ -440,6 +453,7 @@ eo: create: Aldoni domajnon resolve: Solvi domajnon title: Bloki novan retpoŝtan domajnon + no_email_domain_block_selected: Neniuj domajn blokoj ŝanĝiĝis ĉar nenio estis elektita not_permitted: Ne permesita resolved_through_html: Solvis tra %{domain} title: Blokis retpoŝtajn domajnojn @@ -467,6 +481,8 @@ eo: title: Rekomendoj de sekvado unsuppress: Regajni sekvorekomendon instances: + audit_log: + title: Novaj Protokoloj Pri Ekzamenoj availability: description_html: one: Se sendo la domajno malsukcesis por %{count} dio, ne estas sendprovo plu escepte de la dojmano. @@ -1054,6 +1070,7 @@ eo: awaiting_review_title: Via registriĝo estas reviziita clicking_this_link: alklakante ĉi tiun ligilon login_link: ensaluti + proceed_to_login_html: Vi nun povas iri al %{login_link}. registration_complete: Via registriĝo sur %{domain} nun finiĝis! welcome_title: Bonvenon, %{name}! wrong_email_hint: Se tiu retadreso ne estas ĝusta, vi povas ŝanĝi ĝin en kontagordoj. @@ -1329,6 +1346,7 @@ eo: unconfirmed: Nekonfirmita status: Stato success: Viaj datumoj estis sukcese alŝutitaj kaj estos traktitaj kiel planite + time_started: Komencis je titles: following: Importado de sekvaj kontoj lists: Importi listojn @@ -1375,6 +1393,7 @@ eo: authentication_methods: otp: 2-faktora autentigprogramaro password: pasvorto + sign_in_token: retpoŝta sekureca kodo webauthn: sekurecaj ŝlosiloj description_html: Se vi vidas nerekonitan agon, eble ŝanĝu vian pasvorton. empty: Neniu autentighistorio disponebla @@ -1385,6 +1404,9 @@ eo: unsubscribe: action: Jes, malabonu complete: Malabonita + emails: + notification_emails: + follow_request: retpoŝtajn petoj de sekvado title: Malaboni media_attachments: validations: @@ -1725,6 +1747,7 @@ eo: default: "%Y.%b.%d, %H:%M" month: "%b %Y" time: "%H:%M" + with_time_zone: "%b %d, %Y, %H:%M %Z" translation: errors: quota_exceeded: La tutservila uzkvoto por la tradukservo estas superita. @@ -1805,6 +1828,7 @@ eo: apps_ios_action: Elŝutu ĉe la App Store apps_step: Elŝutu niajn oficialajn aplikaĵojn. apps_title: Aplikaĵoj de Mastodon + checklist_title: Bonvenan Markolisto edit_profile_action: Agordi edit_profile_title: Agordi vian profilon explanation: Jen kelkaj konsiloj por helpi vin komenci diff --git a/config/locales/hu.yml b/config/locales/hu.yml index da4ff78dc4081d..56d41daf864bef 100644 --- a/config/locales/hu.yml +++ b/config/locales/hu.yml @@ -579,21 +579,21 @@ hu: relationships: title: "%{acct} kapcsolatai" relays: - add_new: Új relé hozzáadása + add_new: Új továbbító hozzáadása delete: Törlés - description_html: A föderációs relé egy olyan köztes szerver, mely nagy mennyiségű nyilvános bejegyzést cserél az erre feliratkozó vagy erre publikáló szerverek között. Ezzel segíthetsz kis és közepes szervereknek tartalmat megtalálni a föderációban, mely egyébként csak akkor válna lehetővé, ha a saját felhasználóik más szervereken lévő fiókokat követnének. + description_html: A föderációs továbbító egy olyan köztes kiszolgáló, mely nagy mennyiségű nyilvános bejegyzést cserél az erre feliratkozó vagy erre publikáló kiszolgálók között. Ezzel segíthetsz kis és közepes kiszolgálóknak megtalálni a tartalmakat a föderációban, melyek egyébként csak akkor válnának lehetővé, ha a saját felhasználóik más kiszolgálókon lévő fiókokat követnének. disable: Kikapcsolás disabled: Kikapcsolva enable: Bekapcsolás - enable_hint: Ha bekapcsolod, a szerver minden nyilvános bejegyzésre feliratkozik ezen a relén, valamint az összes nyilvános bejegyzést elküldi ennek. + enable_hint: Ha bekapcsolod, a kiszolgáló minden nyilvános bejegyzésre feliratkozik ezen a továbbítón, valamint az összes nyilvános bejegyzést elküldi ennek. enabled: Bekapcsolva - inbox_url: Relé URL - pending: Várakozás a relé jóváhagyására + inbox_url: Továbbító URL + pending: Várakozás a továbbító jóváhagyására save_and_enable: Mentés és engedélyezés - setup: Relé kapcsolat felállítása - signatures_not_enabled: A relék nem fognak megfelelően működni, amíg a biztonságos mód vagy a korlátozott föderációs mód engedélyezett + setup: Továbbító kapcsolat felállítása + signatures_not_enabled: A továbbítók nem fognak megfelelően működni, amíg a biztonságos mód vagy a korlátozott föderációs mód engedélyezett status: Állapot - title: Relék + title: Továbbítók report_notes: created_msg: Bejelentési feljegyzés létrehozva! destroyed_msg: Bejelentési feljegyzés törölve! diff --git a/config/locales/lv.yml b/config/locales/lv.yml index d793c8e19606a4..33b357b837f2f9 100644 --- a/config/locales/lv.yml +++ b/config/locales/lv.yml @@ -293,7 +293,7 @@ lv: empty: Žurnāli nav atrasti. filter_by_action: Filtrēt pēc darbības filter_by_user: Filtrēt pēc lietotāja - title: Auditācijas pieraksti + title: Audita žurnāls unavailable_instance: "(domēna vārds nav pieejams)" announcements: destroyed_msg: Paziņojums ir veiksmīgi izdzēsts! @@ -596,7 +596,7 @@ lv: one: "%{count} piezīme" other: "%{count} piezīmes" zero: "%{count} piezīmju" - action_log: Auditācijas pieraksti + action_log: Audita žurnāls action_taken_by: Veiktā darbība actions: delete_description_html: Raksti, par kurām ziņots, tiks dzēsti, un tiks reģistrēts brīdinājums, lai palīdzētu tev izvērst turpmākos pārkāpumus saistībā ar to pašu kontu. @@ -875,6 +875,7 @@ lv: message_html: Rindā(s) %{value} nedarbojas neviens Sidekiq process. Lūdzu, pārskati savu Sidekiq konfigurāciju software_version_check: action: Skatīt pieejamos atjauninājumus + message_html: Pieejams Mastodon atjauninājums. software_version_critical_check: action: Skatīt pieejamos atjauninājumus message_html: Ir pieejams kritisks Mastodon atjauninājums. Lūdzu, atjaunini to pēc iespējas ātrāk. @@ -1132,7 +1133,7 @@ lv: title: Pārbaudi savu iesūtni sign_in: preamble_html: Jāpiesakās ar saviem %{domain} piekļuves datiem. Ja konts tiek mitināts citā serverī, šeit nevarēs pieteikties. - title: Pierakstīties %{domain} + title: Pieteikties %{domain} sign_up: manual_review: Reģistrācijas domēnā %{domain} manuāli pārbauda mūsu moderatori. Lai palīdzētu mums apstrādāt tavu reģistrāciju, uzraksti mazliet par sevi un to, kāpēc vēlies kontu %{domain}. preamble: Ar kontu šajā Mastodon serverī varēsi sekot jebkuram citam tīklā esošam cilvēkam neatkarīgi no tā, kur tiek mitināts viņa konts. @@ -1418,13 +1419,20 @@ lv: webauthn: drošības atslēgas description_html: Ja pamani darbības, kuras neatpazīsti, jāapsver iespēja nomainīt savu paroli un iespējot divpakāpju autentifikāciju. empty: Nav pieejama autentifikācijas vēsture - failed_sign_in_html: Neizdevies pierakstīšanās mēģinājums ar %{method} no %{ip} (%{browser}) - successful_sign_in_html: Veiksmīga pierakstīšanās ar %{method} no %{ip} (%{browser}) + failed_sign_in_html: Neizdevies pieteikšanās mēģinājums ar %{method} no %{ip} (%{browser}) + successful_sign_in_html: Veiksmīga pieteikšanās ar %{method} no %{ip} (%{browser}) title: Autentifikācijas vēsture mail_subscriptions: unsubscribe: action: Jā, atcelt abonēšanu complete: Anulēts + emails: + notification_emails: + favourite: izlases paziņojumu e-pasta ziņojumi + follow: sekošanas paziņojumu e-pasta ziņojumi + follow_request: sekošanas pieprasījumu e-pasta ziņojumi + mention: pieminēšanas paziņojumu e-pasta ziņojumi + reblog: pastiprinājumu paziņojumu e-pasta ziņojumi title: Atcelt abonēšanu media_attachments: validations: @@ -1656,6 +1664,7 @@ lv: delete: Konta dzēšana development: Izstrāde edit_profile: Labot profilu + export: Izgūt featured_tags: Piedāvātie tēmturi import: Imports import_and_export: Imports un eksports @@ -1802,11 +1811,11 @@ lv: title: Arhīva līdzņemšana suspicious_sign_in: change_password: mainīt paroli - details: 'Šeit ir detalizēta informācija par pierakstīšanos:' - explanation: Esam konstatējuši pierakstīšanos tavā kontā no jaunas IP adreses. + details: 'Šeit ir pieteikšanās izvērsums:' + explanation: Esam noteikuši pieteikšanos Tavā kontā no jaunas IP adreses. further_actions_html: Ja tas nebiji tu, iesakām nekavējoties %{action} un iespējot divu faktoru autentifikāciju, lai tavs konts būtu drošībā. subject: Tavam kontam ir piekļūts no jaunas IP adreses - title: Jauna pierakstīšanās + title: Jauna pieteikšanās warning: appeal: Iesniegt apelāciju appeal_description: Ja uzskatāt, ka tā ir kļūda, varat iesniegt apelāciju %{instance} darbiniekiem. diff --git a/config/locales/simple_form.cy.yml b/config/locales/simple_form.cy.yml index 5f3ac2818c7aa9..6c21683b0760bc 100644 --- a/config/locales/simple_form.cy.yml +++ b/config/locales/simple_form.cy.yml @@ -3,13 +3,14 @@ cy: simple_form: hints: account: - attribution_domains_as_text: Un i bob llinell. Yn amddiffyn rhag cydnabyddiaethau ffug. + attribution_domains_as_text: Un i bob llinell. Yn amddiffyn rhag priodoli ffug. discoverable: Mae'n bosibl y bydd eich postiadau cyhoeddus a'ch proffil yn cael sylw neu'n cael eu hargymell mewn gwahanol feysydd o Mastodon ac efallai y bydd eich proffil yn cael ei awgrymu i ddefnyddwyr eraill. display_name: Eich enw llawn neu'ch enw hwyl. fields: Eich tudalen cartref, rhagenwau, oed, neu unrhyw beth. indexable: Mae'n bosib y bydd eich postiadau cyhoeddus yn ymddangos yng nghanlyniadau chwilio ar Mastodon. Mae'n bosibl y bydd pobl sydd wedi rhyngweithio â'ch postiadau yn dal i allu eu chwilio. note: 'Gallwch @grybwyll pobl eraill neu #hashnodau.' show_collections: Bydd pobl yn gallu pori trwy'r rhai rydych yn eu dilyn a'ch dilynwyr. Bydd y bobl rydych chi'n eu dilyn yn gweld eich bod chi'n eu dilyn beth bynnag. + unlocked: Bydd pobl yn gallu eich dilyn heb ofyn am gymeradwyaeth. Dad-diciwch os ydych am adolygu ceisiadau i'ch dilyn a dewis a ydych am dderbyn neu wrthod dilynwyr newydd. account_alias: acct: Rhowch enwdefnyddiwr@parth y cyfrif y hoffech chi symud ohono account_migration: diff --git a/config/locales/simple_form.hu.yml b/config/locales/simple_form.hu.yml index 230965fe87f8cc..60922b06b5c4cd 100644 --- a/config/locales/simple_form.hu.yml +++ b/config/locales/simple_form.hu.yml @@ -48,7 +48,7 @@ hu: digest: Csak hosszú távollét esetén küldődik és csak ha személyes üzenetet kaptál távollétedben email: Kapsz egy megerősítő e-mailt header: WEBP, PNG, GIF vagy JPG. Legfeljebb %{size}. Át lesz méretezve %{dimensions} képpontosra. - inbox_url: Másold ki a használandó relé szerver kezdőoldalának URL-jét + inbox_url: Másold ki a használandó továbbító kiszolgáló kezdőoldalának URL-jét irreversible: A kiszűrt bejegyzések visszafordíthatatlanul eltűnnek, a szűrő későbbi törlése esetén is locale: A felhasználói felület, e-mailek, push üzenetek nyelve password: Legalább 8 karakter @@ -195,7 +195,7 @@ hu: fields: Profil metaadatai header: Fejléc honeypot: "%{label} (ne töltsd ki)" - inbox_url: Relé inbox-hoz tartozó URL + inbox_url: Továbbító inbox-hoz tartozó URL irreversible: Eldobás elrejtés helyett locale: Felhasználói felület nyelve max_uses: Hányszor használható diff --git a/config/locales/simple_form.lv.yml b/config/locales/simple_form.lv.yml index da8dac3c22d7d7..2f4a05dca469e0 100644 --- a/config/locales/simple_form.lv.yml +++ b/config/locales/simple_form.lv.yml @@ -10,6 +10,7 @@ lv: indexable: Tavi publiskie ieraksti var tikt parādīti Mastodon meklēšanas iznākumā. Cilvēki, kuri ir mijiedarbojušies ar Taviem ierakstiem, var tos meklēt neatkarīgi no tā. note: 'Tu vari @minēt citus cilvēkus vai #mirkļbirkas.' show_collections: Cilvēki varēs pārlūkot Tavus sekotājus un sekojamos. Cilvēki, kuriem Tu seko, redzēs, ka Tu seko viņiem neatkarīgi no tā. + unlocked: Cilvēki varēs Tev sekot bez apstiprinājuma pieprasīšanas. Jānoņem atzīme, ja vēlies pārskatīt sekošanas pieprasījumus un izvēlēties, vai apstiprināt vai noraidīt jaunus sekotājus. account_alias: acct: Norādi konta lietotājvārdu@domēnu, no kura vēlies pārvākties account_migration: @@ -88,7 +89,7 @@ lv: media_cache_retention_period: Informācijas nesēju datnes no ierakstiem, kurus ir veikuši attālie lietotāji, tiek kešoti šajā serverī. Kad ir iestatīta apstiprinoša vērtība, informācijas nesēji tiks izdzēsti pēc norādītā dienu skaita. Ja informācijas nesēju dati tiks pieprasīti pēc tam, kad tie tika izdzēsti, tie tiks atkārtoti lejupielādēti, ja avota saturs joprojām būs pieejams. Saišu priekšskatījuma karšu vaicājumu biežuma ierobežojumu dēļ ir ieteicams iestatīt šo vērtību vismaz 14 dienas vai saišu priekšskatījuma kartes netiks atjauninātas pēc pieprasījuma pirms tā laika. peers_api_enabled: Domēna vārdu saraksts, ar kuriem šis serveris ir saskāries fediversā. Šeit nav iekļauti dati par to, vai tu veic federāciju ar noteiktu serveri, tikai tavs serveris par to zina. To izmanto dienesti, kas apkopo statistiku par federāciju vispārīgā nozīmē. profile_directory: Profilu direktorijā ir uzskaitīti visi lietotāji, kuri ir izvēlējušies būt atklājami. - require_invite_text: 'Ja pierakstīšanai nepieciešama manuāla apstiprināšana, izdari tā, lai teksta: “Kāpēc vēlaties pievienoties?” ievade ir obligāta, nevis opcionāla' + require_invite_text: Ja nepieciešama pašrocīga apstiprināšana, lai pierakstītos, teksta “Kāpēc vēlies pievienoties?” ievade jāpadara par nepieciešamu, nevis izvēles site_contact_email: Kā cilvēki var sazināties ar tevi par juridiskiem vai atbalsta jautājumiem. site_contact_username: Tagad cilvēki var tevi sasniegt Mastodon. site_extended_description: Jebkura papildu informācija, kas var būt noderīga apmeklētājiem un lietotājiem. Var strukturēt ar Markdown sintaksi. @@ -338,5 +339,5 @@ lv: text: nepieciešams title: sessions: - webauthn: Lai pierakstītos, izmanto vienu no savām drošības atslēgām + webauthn: Lai pieteiktos, jāizmanto viena no savām drošības atslēgām 'yes': Jā From 0838cf1e0576cbcb8df1f9a1a57d42abb51f866c Mon Sep 17 00:00:00 2001 From: Claire Date: Fri, 15 Nov 2024 14:37:45 +0100 Subject: [PATCH 204/357] Fix domain attribution field having autocorrect and autocapitalize enabled (#32903) --- app/views/settings/verifications/show.html.haml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/app/views/settings/verifications/show.html.haml b/app/views/settings/verifications/show.html.haml index 4def10e595dbe3..a93ffcebed7e5c 100644 --- a/app/views/settings/verifications/show.html.haml +++ b/app/views/settings/verifications/show.html.haml @@ -65,7 +65,7 @@ %p.lead= t('author_attribution.then_instructions') .fields-group - = f.input :attribution_domains_as_text, as: :text, wrapper: :with_block_label, input_html: { placeholder: "example1.com\nexample2.com\nexample3.com", rows: 4 } + = f.input :attribution_domains_as_text, as: :text, wrapper: :with_block_label, input_html: { placeholder: "example1.com\nexample2.com\nexample3.com", rows: 4, autocapitalize: 'none', autocorrect: 'off' } .actions = f.button :button, t('generic.save_changes'), type: :submit From f1ef7b5b433b392956469874392acb146bfc6c57 Mon Sep 17 00:00:00 2001 From: Claire Date: Fri, 15 Nov 2024 16:35:30 +0100 Subject: [PATCH 205/357] Fix uploading higher-than-wide GIF profile picture with libvips enabled (#32911) --- lib/paperclip/vips_lazy_thumbnail.rb | 1 + spec/fixtures/files/avatar-high.gif | Bin 0 -> 75006 bytes .../examples/models/concerns/account_avatar.rb | 9 ++++++++- 3 files changed, 9 insertions(+), 1 deletion(-) create mode 100644 spec/fixtures/files/avatar-high.gif diff --git a/lib/paperclip/vips_lazy_thumbnail.rb b/lib/paperclip/vips_lazy_thumbnail.rb index 4764b04af8ecb6..fea4b86064f7ac 100644 --- a/lib/paperclip/vips_lazy_thumbnail.rb +++ b/lib/paperclip/vips_lazy_thumbnail.rb @@ -52,6 +52,7 @@ def make # implement. If cropping ever becomes necessary for other situations, this will # need to be expanded. crop_width = crop_height = [target_width, target_height].min if @target_geometry&.square? + crop_width = crop_height = "'min(iw,ih)'" if crop_width == 'ih' filter = begin if @crop diff --git a/spec/fixtures/files/avatar-high.gif b/spec/fixtures/files/avatar-high.gif new file mode 100644 index 0000000000000000000000000000000000000000..7639f2c507ee72beb745a2ab0677590eb9eb7459 GIT binary patch literal 75006 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 Date: Fri, 15 Nov 2024 15:37:30 +0000 Subject: [PATCH 206/357] Rails 7+: primary_abstract_class recommendation (#32909) --- app/models/application_record.rb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/app/models/application_record.rb b/app/models/application_record.rb index 299aad6340461f..24e9d6aebab5a6 100644 --- a/app/models/application_record.rb +++ b/app/models/application_record.rb @@ -1,7 +1,7 @@ # frozen_string_literal: true class ApplicationRecord < ActiveRecord::Base - self.abstract_class = true + primary_abstract_class include Remotable From 297ce9ef4474c80e10043db7cc61b4fc331c68c1 Mon Sep 17 00:00:00 2001 From: Matt Jankowski Date: Fri, 15 Nov 2024 10:49:26 -0500 Subject: [PATCH 207/357] Move body class to shared partial for web app controller concern views (#31797) --- app/controllers/concerns/web_app_controller_concern.rb | 5 ----- app/views/shared/_web_app.html.haml | 1 + spec/system/about_spec.rb | 1 + spec/system/home_spec.rb | 2 ++ spec/system/privacy_spec.rb | 1 + spec/system/tags_spec.rb | 1 + 6 files changed, 6 insertions(+), 5 deletions(-) diff --git a/app/controllers/concerns/web_app_controller_concern.rb b/app/controllers/concerns/web_app_controller_concern.rb index 9485ecda4941cc..249bb20a25e35d 100644 --- a/app/controllers/concerns/web_app_controller_concern.rb +++ b/app/controllers/concerns/web_app_controller_concern.rb @@ -7,7 +7,6 @@ module WebAppControllerConcern vary_by 'Accept, Accept-Language, Cookie' before_action :redirect_unauthenticated_to_permalinks! - before_action :set_app_body_class content_security_policy do |p| policy = ContentSecurityPolicy.new @@ -24,10 +23,6 @@ def skip_csrf_meta_tags? !(ENV['ONE_CLICK_SSO_LOGIN'] == 'true' && ENV['OMNIAUTH_ONLY'] == 'true' && Devise.omniauth_providers.length == 1) && current_user.nil? end - def set_app_body_class - @body_classes = 'app-body' - end - def redirect_unauthenticated_to_permalinks! return if user_signed_in? && current_account.moved_to_account_id.nil? diff --git a/app/views/shared/_web_app.html.haml b/app/views/shared/_web_app.html.haml index 89d6ee567d4845..4f9a20a9f4bcf2 100644 --- a/app/views/shared/_web_app.html.haml +++ b/app/views/shared/_web_app.html.haml @@ -1,3 +1,4 @@ +- content_for :body_classes, 'app-body' - content_for :header_tags do - if user_signed_in? = preload_pack_asset 'features/compose.js' diff --git a/spec/system/about_spec.rb b/spec/system/about_spec.rb index f832802f91dc3c..d7fd7f51a1cf7a 100644 --- a/spec/system/about_spec.rb +++ b/spec/system/about_spec.rb @@ -8,5 +8,6 @@ expect(page) .to have_css('noscript', text: /Mastodon/) + .and have_css('body', class: 'app-body') end end diff --git a/spec/system/home_spec.rb b/spec/system/home_spec.rb index c1ce4e17261b3e..0838b3d8e7e667 100644 --- a/spec/system/home_spec.rb +++ b/spec/system/home_spec.rb @@ -11,6 +11,7 @@ expect(page) .to have_css('noscript', text: /Mastodon/) + .and have_css('body', class: 'app-body') end end @@ -20,6 +21,7 @@ expect(page) .to have_css('noscript', text: /Mastodon/) + .and have_css('body', class: 'app-body') end end end diff --git a/spec/system/privacy_spec.rb b/spec/system/privacy_spec.rb index 631440ebb2c72f..f2e4d5a9931021 100644 --- a/spec/system/privacy_spec.rb +++ b/spec/system/privacy_spec.rb @@ -8,5 +8,6 @@ expect(page) .to have_css('noscript', text: /Mastodon/) + .and have_css('body', class: 'app-body') end end diff --git a/spec/system/tags_spec.rb b/spec/system/tags_spec.rb index f39c6bf0d8dc24..9da5768c7f27aa 100644 --- a/spec/system/tags_spec.rb +++ b/spec/system/tags_spec.rb @@ -13,6 +13,7 @@ expect(page) .to have_css('noscript', text: /Mastodon/) + .and have_css('body', class: 'app-body') .and have_private_cache_control end end From 319109029d8eb8b851874b3c80ced3536ba81f29 Mon Sep 17 00:00:00 2001 From: Matt Jankowski Date: Fri, 15 Nov 2024 10:52:37 -0500 Subject: [PATCH 208/357] Fix logic in "last used at per application" oauth token list (#32912) --- .../authorized_applications_controller.rb | 8 +------ app/models/user.rb | 9 ++++++++ spec/models/user_spec.rb | 23 +++++++++++++++++++ 3 files changed, 33 insertions(+), 7 deletions(-) diff --git a/app/controllers/oauth/authorized_applications_controller.rb b/app/controllers/oauth/authorized_applications_controller.rb index 267409a9ce4ef6..9e541e5e3c1c78 100644 --- a/app/controllers/oauth/authorized_applications_controller.rb +++ b/app/controllers/oauth/authorized_applications_controller.rb @@ -35,12 +35,6 @@ def set_cache_headers end def set_last_used_at_by_app - @last_used_at_by_app = Doorkeeper::AccessToken - .select('DISTINCT ON (application_id) application_id, last_used_at') - .where(resource_owner_id: current_resource_owner.id) - .where.not(last_used_at: nil) - .order(application_id: :desc, last_used_at: :desc) - .pluck(:application_id, :last_used_at) - .to_h + @last_used_at_by_app = current_resource_owner.applications_last_used end end diff --git a/app/models/user.rb b/app/models/user.rb index f717dcd860464e..be9ebac6996097 100644 --- a/app/models/user.rb +++ b/app/models/user.rb @@ -280,6 +280,15 @@ def disable_two_factor! save! end + def applications_last_used + Doorkeeper::AccessToken + .where(resource_owner_id: id) + .where.not(last_used_at: nil) + .group(:application_id) + .maximum(:last_used_at) + .to_h + end + def token_for_app(app) return nil if app.nil? || app.owner != self diff --git a/spec/models/user_spec.rb b/spec/models/user_spec.rb index 4393be5a4efd54..9a5a070d25d79d 100644 --- a/spec/models/user_spec.rb +++ b/spec/models/user_spec.rb @@ -598,4 +598,27 @@ def stub_redis end end end + + describe '#applications_last_used' do + let!(:user) { Fabricate(:user) } + + let!(:never_used_application) { Fabricate :application, owner: user } + let!(:application_one) { Fabricate :application, owner: user } + let!(:application_two) { Fabricate :application, owner: user } + + before do + _other_user_token = Fabricate :access_token, last_used_at: 3.days.ago + _never_used_token = Fabricate :access_token, application: never_used_application, resource_owner_id: user.id, last_used_at: nil + _app_one_old_token = Fabricate :access_token, application: application_one, resource_owner_id: user.id, last_used_at: 5.days.ago + _app_one_new_token = Fabricate :access_token, application: application_one, resource_owner_id: user.id, last_used_at: 1.day.ago + _never_used_token = Fabricate :access_token, application: application_two, resource_owner_id: user.id, last_used_at: 5.days.ago + end + + it 'returns a hash of unique applications with last used values' do + expect(user.applications_last_used) + .to include(application_one.id => be_within(1.0).of(1.day.ago)) + .and include(application_two.id => be_within(1.0).of(5.days.ago)) + .and not_include(never_used_application.id) + end + end end From 54a7c1898e36cda393dc79cde4d44b53e0a5299a Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Fri, 15 Nov 2024 15:55:10 +0000 Subject: [PATCH 209/357] Update dependency uuid to v11 (#32676) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> --- streaming/package.json | 2 +- yarn.lock | 12 ++++++------ 2 files changed, 7 insertions(+), 7 deletions(-) diff --git a/streaming/package.json b/streaming/package.json index 585c4be4e1b233..380f1c429d1ad9 100644 --- a/streaming/package.json +++ b/streaming/package.json @@ -27,7 +27,7 @@ "pino": "^9.0.0", "pino-http": "^10.0.0", "prom-client": "^15.0.0", - "uuid": "^10.0.0", + "uuid": "^11.0.0", "ws": "^8.12.1" }, "devDependencies": { diff --git a/yarn.lock b/yarn.lock index 7fd68ac8c190e9..1f9ff3426b2313 100644 --- a/yarn.lock +++ b/yarn.lock @@ -3027,7 +3027,7 @@ __metadata: prom-client: "npm:^15.0.0" typescript: "npm:^5.0.4" utf-8-validate: "npm:^6.0.3" - uuid: "npm:^10.0.0" + uuid: "npm:^11.0.0" ws: "npm:^8.12.1" dependenciesMeta: bufferutil: @@ -17680,12 +17680,12 @@ __metadata: languageName: node linkType: hard -"uuid@npm:^10.0.0": - version: 10.0.0 - resolution: "uuid@npm:10.0.0" +"uuid@npm:^11.0.0": + version: 11.0.1 + resolution: "uuid@npm:11.0.1" bin: - uuid: dist/bin/uuid - checksum: 10c0/eab18c27fe4ab9fb9709a5d5f40119b45f2ec8314f8d4cf12ce27e4c6f4ffa4a6321dc7db6c515068fa373c075b49691ba969f0010bf37f44c37ca40cd6bf7fe + uuid: dist/esm/bin/uuid + checksum: 10c0/cd5a1d7eccfd6da80382ec88cfa28b68dce2c1c1402228b813fc0065ab8b29d20594cffeb67d850bc166ade677a6c35741072bd9dd0cc7d565c1fe8eca14ef22 languageName: node linkType: hard From 7bd7705f591692f9df0346f025a30ef8eda25ae1 Mon Sep 17 00:00:00 2001 From: Matt Jankowski Date: Fri, 15 Nov 2024 11:07:26 -0500 Subject: [PATCH 210/357] Combine shared-setup examples across `spec/controllers/auth/*` specs (#32906) --- .../auth/challenges_controller_spec.rb | 32 ++--- .../auth/confirmations_controller_spec.rb | 25 ++-- .../auth/passwords_controller_spec.rb | 61 ++++---- .../auth/registrations_controller_spec.rb | 131 +++++++++--------- 4 files changed, 123 insertions(+), 126 deletions(-) diff --git a/spec/controllers/auth/challenges_controller_spec.rb b/spec/controllers/auth/challenges_controller_spec.rb index 56fdfa61b58078..3c9d2a596460de 100644 --- a/spec/controllers/auth/challenges_controller_spec.rb +++ b/spec/controllers/auth/challenges_controller_spec.rb @@ -8,9 +8,7 @@ let(:password) { 'foobar12345' } let(:user) { Fabricate(:user, password: password) } - before do - sign_in user - end + before { sign_in user } describe 'POST #create' do let(:return_to) { edit_user_registration_path } @@ -18,28 +16,24 @@ context 'with correct password' do before { post :create, params: { form_challenge: { return_to: return_to, current_password: password } } } - it 'redirects back' do - expect(response).to redirect_to(return_to) - end - - it 'sets session' do - expect(session[:challenge_passed_at]).to_not be_nil + it 'redirects back and sets challenge passed at in session' do + expect(response) + .to redirect_to(return_to) + expect(session[:challenge_passed_at]) + .to_not be_nil end end context 'with incorrect password' do before { post :create, params: { form_challenge: { return_to: return_to, current_password: 'hhfggjjd562' } } } - it 'renders challenge' do - expect(response).to render_template('auth/challenges/new') - end - - it 'displays error' do - expect(response.body).to include 'Invalid password' - end - - it 'does not set session' do - expect(session[:challenge_passed_at]).to be_nil + it 'renders challenge, displays error, does not set session' do + expect(response) + .to render_template('auth/challenges/new') + expect(response.body) + .to include 'Invalid password' + expect(session[:challenge_passed_at]) + .to be_nil end end end diff --git a/spec/controllers/auth/confirmations_controller_spec.rb b/spec/controllers/auth/confirmations_controller_spec.rb index a5b212e660036d..09a178f0e80859 100644 --- a/spec/controllers/auth/confirmations_controller_spec.rb +++ b/spec/controllers/auth/confirmations_controller_spec.rb @@ -23,12 +23,11 @@ get :show, params: { confirmation_token: 'foobar' } end - it 'redirects to login' do - expect(response).to redirect_to(new_user_session_path) - end - - it 'queues up bootstrapping of home timeline' do - expect(BootstrapTimelineWorker).to have_received(:perform_async).with(user.account_id) + it 'redirects to login and queues worker' do + expect(response) + .to redirect_to(new_user_session_path) + expect(BootstrapTimelineWorker) + .to have_received(:perform_async).with(user.account_id) end end @@ -88,13 +87,13 @@ get :show, params: { confirmation_token: 'foobar' } end - it 'redirects to login and confirms email' do - expect(response).to redirect_to(new_user_session_path) - expect(user.reload.unconfirmed_email).to be_nil - end - - it 'does not queue up bootstrapping of home timeline' do - expect(BootstrapTimelineWorker).to_not have_received(:perform_async) + it 'redirects to login, confirms email, does not queue worker' do + expect(response) + .to redirect_to(new_user_session_path) + expect(user.reload.unconfirmed_email) + .to be_nil + expect(BootstrapTimelineWorker) + .to_not have_received(:perform_async) end end end diff --git a/spec/controllers/auth/passwords_controller_spec.rb b/spec/controllers/auth/passwords_controller_spec.rb index 9ccbb9e4942921..90095ac4b8bd49 100644 --- a/spec/controllers/auth/passwords_controller_spec.rb +++ b/spec/controllers/auth/passwords_controller_spec.rb @@ -57,29 +57,30 @@ post :update, params: { user: { password: password, password_confirmation: password, reset_password_token: token } } end - it 'redirect to sign in' do - expect(response).to redirect_to '/auth/sign_in' - end - - it 'changes password' do - this_user = User.find(user.id) - - expect(this_user).to_not be_nil - expect(this_user.valid_password?(password)).to be true - end - - it 'deactivates all sessions' do - expect(user.session_activations.count).to eq 0 - expect { session_activation.reload }.to raise_error(ActiveRecord::RecordNotFound) - end - - it 'revokes all access tokens' do - expect(Doorkeeper::AccessToken.active_for(user).count).to eq 0 - end - - it 'removes push subscriptions' do - expect(Web::PushSubscription.where(user: user).or(Web::PushSubscription.where(access_token: access_token)).count).to eq 0 - expect { web_push_subscription.reload }.to raise_error(ActiveRecord::RecordNotFound) + it 'resets the password' do + expect(response) + .to redirect_to '/auth/sign_in' + + # Change password + expect(User.find(user.id)) + .to be_present + .and be_valid_password(password) + + # Deactivate session + expect(user.session_activations.count) + .to eq 0 + expect { session_activation.reload } + .to raise_error(ActiveRecord::RecordNotFound) + + # Revoke tokens + expect(Doorkeeper::AccessToken.active_for(user).count) + .to eq 0 + + # Remove push subs + expect(Web::PushSubscription.where(user: user).or(Web::PushSubscription.where(access_token: access_token)).count) + .to eq 0 + expect { web_push_subscription.reload } + .to raise_error(ActiveRecord::RecordNotFound) end end @@ -88,15 +89,13 @@ post :update, params: { user: { password: password, password_confirmation: password, reset_password_token: 'some_invalid_value' } } end - it 'renders reset password' do - expect(response).to render_template(:new) - end - - it 'retains password' do - this_user = User.find(user.id) + it 'renders reset password and retains password' do + expect(response) + .to render_template(:new) - expect(this_user).to_not be_nil - expect(this_user.external_or_valid_password?(user.password)).to be true + expect(User.find(user.id)) + .to be_present + .and be_external_or_valid_password(user.password) end end end diff --git a/spec/controllers/auth/registrations_controller_spec.rb b/spec/controllers/auth/registrations_controller_spec.rb index d1542128e7a718..739cb455e88e55 100644 --- a/spec/controllers/auth/registrations_controller_spec.rb +++ b/spec/controllers/auth/registrations_controller_spec.rb @@ -6,25 +6,33 @@ render_views shared_examples 'checks for enabled registrations' do |path| - it 'redirects if it is in single user mode while it is open for registration' do - Fabricate(:account) - Setting.registrations_mode = 'open' - allow(Rails.configuration.x).to receive(:single_user_mode).and_return(true) + context 'when in single user mode and open for registration' do + before do + Setting.registrations_mode = 'open' + allow(Rails.configuration.x).to receive(:single_user_mode).and_return(true) + end - get path + it 'redirects to root' do + Fabricate(:account) + get path - expect(response).to redirect_to '/' - expect(Rails.configuration.x).to have_received(:single_user_mode) + expect(response).to redirect_to '/' + expect(Rails.configuration.x).to have_received(:single_user_mode) + end end - it 'redirects if it is not open for registration while it is not in single user mode' do - Setting.registrations_mode = 'none' - allow(Rails.configuration.x).to receive(:single_user_mode).and_return(false) + context 'when registrations closed and not in single user mode' do + before do + Setting.registrations_mode = 'none' + allow(Rails.configuration.x).to receive(:single_user_mode).and_return(false) + end - get path + it 'redirects to root' do + get path - expect(response).to redirect_to '/' - expect(Rails.configuration.x).to have_received(:single_user_mode) + expect(response).to redirect_to '/' + expect(Rails.configuration.x).to have_received(:single_user_mode) + end end end @@ -35,12 +43,12 @@ get :edit end - it 'returns http success' do - expect(response).to have_http_status(200) - end + it 'returns http success and cache headers' do + expect(response) + .to have_http_status(200) - it 'returns private cache control header' do - expect(response.headers['Cache-Control']).to include('private, no-store') + expect(response.headers['Cache-Control']) + .to include('private, no-store') end end @@ -53,14 +61,13 @@ sign_in(user, scope: :user) end - it 'returns http success' do + it 'returns http success and cache headers' do put :update - expect(response).to have_http_status(200) - end - it 'returns private cache control headers' do - put :update - expect(response.headers['Cache-Control']).to include('private, no-store') + expect(response) + .to have_http_status(200) + expect(response.headers['Cache-Control']) + .to include('private, no-store') end it 'can update the user email' do @@ -174,16 +181,14 @@ post :create, params: { user: { account_attributes: { username: 'test' }, email: 'test@example.com', password: '12345678', password_confirmation: '12345678', agreement: 'true' } } end - it 'redirects to setup' do + it 'redirects to setup and creates user' do subject - expect(response).to redirect_to auth_setup_path - end - it 'creates user' do - subject - user = User.find_by(email: 'test@example.com') - expect(user).to_not be_nil - expect(user.locale).to eq(accept_language) + expect(response) + .to redirect_to auth_setup_path + expect(User.find_by(email: 'test@example.com')) + .to be_present + .and have_attributes(locale: eq(accept_language)) end end @@ -254,17 +259,18 @@ post :create, params: { user: { account_attributes: { username: 'test' }, email: 'test@example.com', password: '12345678', password_confirmation: '12345678', agreement: 'true' } } end - it 'redirects to setup' do + it 'redirects to setup and creates user' do subject - expect(response).to redirect_to auth_setup_path - end - it 'creates user' do - subject - user = User.find_by(email: 'test@example.com') - expect(user).to_not be_nil - expect(user.locale).to eq(accept_language) - expect(user.approved).to be(false) + expect(response) + .to redirect_to auth_setup_path + + expect(User.find_by(email: 'test@example.com')) + .to be_present + .and have_attributes( + locale: eq(accept_language), + approved: be(false) + ) end end @@ -276,17 +282,17 @@ post :create, params: { user: { account_attributes: { username: 'test' }, email: 'test@example.com', password: '12345678', password_confirmation: '12345678', invite_code: invite.code, agreement: 'true' } } end - it 'redirects to setup' do + it 'redirects to setup and creates user' do subject + expect(response).to redirect_to auth_setup_path - end - it 'creates user' do - subject - user = User.find_by(email: 'test@example.com') - expect(user).to_not be_nil - expect(user.locale).to eq(accept_language) - expect(user.approved).to be(false) + expect(User.find_by(email: 'test@example.com')) + .to be_present + .and have_attributes( + locale: eq(accept_language), + approved: be(false) + ) end end @@ -300,17 +306,17 @@ post :create, params: { user: { account_attributes: { username: 'test' }, email: 'test@example.com', password: '12345678', password_confirmation: '12345678', invite_code: invite.code, agreement: 'true' } } end - it 'redirects to setup' do + it 'redirects to setup and creates user' do subject + expect(response).to redirect_to auth_setup_path - end - it 'creates user' do - subject - user = User.find_by(email: 'test@example.com') - expect(user).to_not be_nil - expect(user.locale).to eq(accept_language) - expect(user.approved).to be(true) + expect(User.find_by(email: 'test@example.com')) + .to be_present + .and have_attributes( + locale: eq(accept_language), + approved: be(true) + ) end end @@ -348,12 +354,11 @@ def username_error_text delete :destroy end - it 'returns http not found' do - expect(response).to have_http_status(404) - end - - it 'does not delete user' do - expect(User.find(user.id)).to_not be_nil + it 'returns http not found and keeps user' do + expect(response) + .to have_http_status(404) + expect(User.find(user.id)) + .to_not be_nil end end end From 9d3fcc3546df1cef5652ea29e370a86cb87d7a21 Mon Sep 17 00:00:00 2001 From: Matt Jankowski Date: Fri, 15 Nov 2024 11:10:20 -0500 Subject: [PATCH 211/357] Remove unused failure action in api/base controller spec (#32905) --- spec/controllers/api/base_controller_spec.rb | 4 ---- 1 file changed, 4 deletions(-) diff --git a/spec/controllers/api/base_controller_spec.rb b/spec/controllers/api/base_controller_spec.rb index 1e0e7c8f4dcffe..bd4073dfaf57de 100644 --- a/spec/controllers/api/base_controller_spec.rb +++ b/spec/controllers/api/base_controller_spec.rb @@ -7,10 +7,6 @@ def success head 200 end - - def failure - FakeService.new - end end it 'returns private cache control headers by default' do From 44d92fa4f6aac5c45ad358287af48cd879f5665e Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Fri, 15 Nov 2024 17:15:44 +0100 Subject: [PATCH 212/357] Update dependency uuid to v11.0.3 (#32913) 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 1f9ff3426b2313..aaecae7a2a2ef6 100644 --- a/yarn.lock +++ b/yarn.lock @@ -17681,11 +17681,11 @@ __metadata: linkType: hard "uuid@npm:^11.0.0": - version: 11.0.1 - resolution: "uuid@npm:11.0.1" + version: 11.0.3 + resolution: "uuid@npm:11.0.3" bin: uuid: dist/esm/bin/uuid - checksum: 10c0/cd5a1d7eccfd6da80382ec88cfa28b68dce2c1c1402228b813fc0065ab8b29d20594cffeb67d850bc166ade677a6c35741072bd9dd0cc7d565c1fe8eca14ef22 + checksum: 10c0/cee762fc76d949a2ff9205770334699e0043d52bb766472593a25f150077c9deed821230251ea3d6ab3943a5ea137d2826678797f1d5f6754c7ce5ce27e9f7a6 languageName: node linkType: hard From e98891f4e5d03927cdfa947b4aa5e75be879481b Mon Sep 17 00:00:00 2001 From: Christian Schmidt Date: Sun, 10 Nov 2024 17:16:07 +0100 Subject: [PATCH 213/357] [Glitch] Backspace hotkey should override default behaviour Port 157fba4698361348c8211bc64e522492a13ff23b to glitch-soc Signed-off-by: Claire --- app/javascript/flavours/glitch/features/ui/index.jsx | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/app/javascript/flavours/glitch/features/ui/index.jsx b/app/javascript/flavours/glitch/features/ui/index.jsx index 1ef29f8db20eda..8bf44844273dd0 100644 --- a/app/javascript/flavours/glitch/features/ui/index.jsx +++ b/app/javascript/flavours/glitch/features/ui/index.jsx @@ -532,7 +532,9 @@ class UI extends PureComponent { } }; - handleHotkeyBack = () => { + handleHotkeyBack = e => { + e.preventDefault(); + const { history } = this.props; if (history.location?.state?.fromMastodon) { From e86c1c814bad3dc48b8bba802342b5399c8ddf96 Mon Sep 17 00:00:00 2001 From: Eugen Rochko Date: Tue, 12 Nov 2024 13:35:35 +0100 Subject: [PATCH 214/357] [Glitch] Fix a few visual issues with annual reports in web UI Port 32e5e1d3f166062e4939b3fbf25dff5657417893 to glitch-soc Signed-off-by: Claire --- .../features/annual_report/most_used_hashtag.tsx | 15 ++++++++------- .../glitch/features/annual_report/percentile.tsx | 4 ++-- .../flavours/glitch/styles/annual_reports.scss | 9 +++++++-- .../glitch/styles/mastodon-light/diff.scss | 7 +++++++ 4 files changed, 24 insertions(+), 11 deletions(-) diff --git a/app/javascript/flavours/glitch/features/annual_report/most_used_hashtag.tsx b/app/javascript/flavours/glitch/features/annual_report/most_used_hashtag.tsx index a6d5e08fe154ca..6bf7493960d2fb 100644 --- a/app/javascript/flavours/glitch/features/annual_report/most_used_hashtag.tsx +++ b/app/javascript/flavours/glitch/features/annual_report/most_used_hashtag.tsx @@ -7,16 +7,17 @@ export const MostUsedHashtag: React.FC<{ }> = ({ data }) => { const hashtag = data[0]; - if (!hashtag) { - return ( -

- ); - } - return (
- #{hashtag.name} + {hashtag ? ( + <>#{hashtag.name} + ) : ( + + )}
(
), diff --git a/app/javascript/flavours/glitch/styles/annual_reports.scss b/app/javascript/flavours/glitch/styles/annual_reports.scss index 39784e3b5ea12b..dff1c76ecac462 100644 --- a/app/javascript/flavours/glitch/styles/annual_reports.scss +++ b/app/javascript/flavours/glitch/styles/annual_reports.scss @@ -103,6 +103,11 @@ background-color: var(--goldenrod-2); } } + + .status-card, + .hashtag-bar { + display: none; + } } &__followers { @@ -237,7 +242,7 @@ } &__number { - font-size: 61px; + font-size: 54px; font-weight: 600; line-height: 73px; color: var(--goldenrod-2); @@ -306,7 +311,7 @@ } .annual-report-modal { - max-width: 480px; + max-width: 600px; background: var(--indigo-1); border-radius: 16px; display: flex; diff --git a/app/javascript/flavours/glitch/styles/mastodon-light/diff.scss b/app/javascript/flavours/glitch/styles/mastodon-light/diff.scss index 2e5cb59398d066..ab4c3b38668951 100644 --- a/app/javascript/flavours/glitch/styles/mastodon-light/diff.scss +++ b/app/javascript/flavours/glitch/styles/mastodon-light/diff.scss @@ -598,3 +598,10 @@ a.sparkline { ::-webkit-scrollbar-thumb { opacity: 0.25; } + +.notification-group--annual-report { + .notification-group__icon, + .notification-group__main .link-button { + color: var(--indigo-3); + } +} From 18aa0d88717caae760fafdf60c24a9f488f724d0 Mon Sep 17 00:00:00 2001 From: Claire Date: Thu, 14 Nov 2024 13:50:36 +0100 Subject: [PATCH 215/357] [Glitch] Fix Content Warning and filter states not applying to boosted posts properly (refactor only) Port ec663eaba13294d803fdb8ddab373d7534c5a644 to glitch-soc Signed-off-by: Claire --- app/javascript/flavours/glitch/components/status.jsx | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) diff --git a/app/javascript/flavours/glitch/components/status.jsx b/app/javascript/flavours/glitch/components/status.jsx index 62b1b388fad8ee..30ce6c49177efe 100644 --- a/app/javascript/flavours/glitch/components/status.jsx +++ b/app/javascript/flavours/glitch/components/status.jsx @@ -586,6 +586,9 @@ class Status extends ImmutablePureComponent { let prepend, rebloggedByText; + const connectUp = previousId && previousId === status.get('in_reply_to_id'); + const connectToRoot = rootId && rootId === status.get('in_reply_to_id'); + const connectReply = nextInReplyToId && nextInReplyToId === status.get('id'); const matchedFilters = status.get('matched_filters'); if (hidden) { @@ -600,10 +603,6 @@ class Status extends ImmutablePureComponent { ); } - const connectUp = previousId && previousId === status.get('in_reply_to_id'); - const connectToRoot = rootId && rootId === status.get('in_reply_to_id'); - const connectReply = nextInReplyToId && nextInReplyToId === status.get('id'); - if (this.state.forceFilter === undefined ? matchedFilters : this.state.forceFilter) { const minHandlers = this.props.muted ? {} : { moveUp: this.handleHotkeyMoveUp, From 0e9ab5363a244b54411e3e089a03eb7674c97e80 Mon Sep 17 00:00:00 2001 From: Emelia Smith Date: Fri, 15 Nov 2024 10:38:01 +0100 Subject: [PATCH 216/357] [Glitch] Improve display of statuses in admin panel Port ddfb3d123bb4195f0b086fe19bc90700fa5170b4 to glitch-soc (CSS only) Signed-off-by: Claire --- .../flavours/glitch/styles/admin.scss | 28 +++++++++++++++++++ .../flavours/glitch/styles/tables.scss | 12 ++++---- 2 files changed, 34 insertions(+), 6 deletions(-) diff --git a/app/javascript/flavours/glitch/styles/admin.scss b/app/javascript/flavours/glitch/styles/admin.scss index fadc678de3c25f..b07c65c16bf268 100644 --- a/app/javascript/flavours/glitch/styles/admin.scss +++ b/app/javascript/flavours/glitch/styles/admin.scss @@ -1943,3 +1943,31 @@ a.sparkline { } } } + +.status__card { + padding: 15px; + border-radius: 4px; + background: $ui-base-color; + font-size: 15px; + line-height: 20px; + word-wrap: break-word; + font-weight: 400; + border: 1px solid lighten($ui-base-color, 4%); + color: $primary-text-color; + box-sizing: border-box; + min-height: 100%; + + .status__prepend { + padding: 0 0 15px; + gap: 4px; + align-items: center; + } + + .status__content { + padding-top: 0; + + summary { + display: list-item; + } + } +} diff --git a/app/javascript/flavours/glitch/styles/tables.scss b/app/javascript/flavours/glitch/styles/tables.scss index 75fc29aed5ea10..07d1ce12fdaa17 100644 --- a/app/javascript/flavours/glitch/styles/tables.scss +++ b/app/javascript/flavours/glitch/styles/tables.scss @@ -339,12 +339,12 @@ a.table-action-link { } } - .status__content { - padding-top: 0; - - strong { - font-weight: 700; - } + // Reset the status card to not have borders, background or padding when + // inline in the table of statuses + .status__card { + border: none; + background: none; + padding: 0; } .nothing-here { From e8c108d270d3d2eb573f02d33bcec0343103fce2 Mon Sep 17 00:00:00 2001 From: Claire Date: Sat, 16 Nov 2024 21:39:12 +0100 Subject: [PATCH 217/357] Fix collapse icon opening the post (#2899) --- app/javascript/flavours/glitch/components/collapse_button.jsx | 1 + 1 file changed, 1 insertion(+) diff --git a/app/javascript/flavours/glitch/components/collapse_button.jsx b/app/javascript/flavours/glitch/components/collapse_button.jsx index 36cda45361de5f..30008f1ff95155 100644 --- a/app/javascript/flavours/glitch/components/collapse_button.jsx +++ b/app/javascript/flavours/glitch/components/collapse_button.jsx @@ -19,6 +19,7 @@ export const CollapseButton = ({ collapsed, setCollapsed }) => { if (e.button === 0) { setCollapsed(!collapsed); e.preventDefault(); + e.stopPropagation(); } }, [collapsed, setCollapsed]); From a1ac2a73fffa2a8e1b3aa71041fd01c1587e0d5f Mon Sep 17 00:00:00 2001 From: Matt Jankowski Date: Sat, 16 Nov 2024 15:48:10 -0500 Subject: [PATCH 218/357] Remove remnants of embed views (#32419) --- app/helpers/statuses_helper.rb | 11 ------ app/views/admin/reports/_status.html.haml | 2 +- .../filters/statuses/_status_filter.html.haml | 2 +- spec/helpers/accounts_helper_spec.rb | 35 ++----------------- spec/helpers/statuses_helper_spec.rb | 24 ------------- 5 files changed, 4 insertions(+), 70 deletions(-) diff --git a/app/helpers/statuses_helper.rb b/app/helpers/statuses_helper.rb index 9bbb03fd820230..16b9d3fb531b21 100644 --- a/app/helpers/statuses_helper.rb +++ b/app/helpers/statuses_helper.rb @@ -1,9 +1,6 @@ # frozen_string_literal: true module StatusesHelper - EMBEDDED_CONTROLLER = 'statuses' - EMBEDDED_ACTION = 'embed' - VISIBLITY_ICONS = { public: 'globe', unlisted: 'lock_open', @@ -60,18 +57,10 @@ def status_description(status) components.compact_blank.join("\n\n") end - def stream_link_target - embedded_view? ? '_blank' : nil - end - def visibility_icon(status) VISIBLITY_ICONS[status.visibility.to_sym] end - def embedded_view? - params[:controller] == EMBEDDED_CONTROLLER && params[:action] == EMBEDDED_ACTION - end - def prefers_autoplay? ActiveModel::Type::Boolean.new.cast(params[:autoplay]) || current_user&.setting_auto_play_gif end diff --git a/app/views/admin/reports/_status.html.haml b/app/views/admin/reports/_status.html.haml index 3a35fdd2725efb..bd688a1a5d24aa 100644 --- a/app/views/admin/reports/_status.html.haml +++ b/app/views/admin/reports/_status.html.haml @@ -44,7 +44,7 @@ = t("statuses.visibilities.#{status.visibility}") · - = link_to ActivityPub::TagManager.instance.url_for(status.proper), class: 'detailed-status__link', target: stream_link_target, rel: 'noopener noreferrer' do + = link_to ActivityPub::TagManager.instance.url_for(status.proper), class: 'detailed-status__link', rel: 'noopener noreferrer' do = t('admin.statuses.view_publicly') - if status.proper.sensitive? diff --git a/app/views/filters/statuses/_status_filter.html.haml b/app/views/filters/statuses/_status_filter.html.haml index d0d04638d2aad8..3476869e6028fc 100644 --- a/app/views/filters/statuses/_status_filter.html.haml +++ b/app/views/filters/statuses/_status_filter.html.haml @@ -23,7 +23,7 @@ = image_tag(status.account.avatar.url, width: 15, height: 15, alt: '', class: 'avatar') .username= status.account.acct · - = link_to ActivityPub::TagManager.instance.url_for(status), class: 'detailed-status__datetime', target: stream_link_target, rel: 'noopener noreferrer' do + = link_to ActivityPub::TagManager.instance.url_for(status), class: 'detailed-status__datetime', rel: 'noopener noreferrer' do %time.formatted{ datetime: status.created_at.iso8601, title: l(status.created_at) }= l(status.created_at) - if status.edited? · diff --git a/spec/helpers/accounts_helper_spec.rb b/spec/helpers/accounts_helper_spec.rb index 2c949cde696912..85264823624618 100644 --- a/spec/helpers/accounts_helper_spec.rb +++ b/spec/helpers/accounts_helper_spec.rb @@ -3,16 +3,6 @@ require 'rails_helper' RSpec.describe AccountsHelper do - def set_not_embedded_view - params[:controller] = "not_#{StatusesHelper::EMBEDDED_CONTROLLER}" - params[:action] = "not_#{StatusesHelper::EMBEDDED_ACTION}" - end - - def set_embedded_view - params[:controller] = StatusesHelper::EMBEDDED_CONTROLLER - params[:action] = StatusesHelper::EMBEDDED_ACTION - end - describe '#display_name' do it 'uses the display name when it exists' do account = Account.new(display_name: 'Display', username: 'Username') @@ -28,9 +18,8 @@ def set_embedded_view end describe '#acct' do - it 'is fully qualified for embedded local accounts' do + it 'is fully qualified for local accounts' do allow(Rails.configuration.x).to receive(:local_domain).and_return('local_domain') - set_embedded_view account = Account.new(domain: nil, username: 'user') acct = helper.acct(account) @@ -38,32 +27,12 @@ def set_embedded_view expect(acct).to eq '@user@local_domain' end - it 'is fully qualified for embedded foreign accounts' do - set_embedded_view + it 'is fully qualified for remote accounts' do account = Account.new(domain: 'foreign_server.com', username: 'user') acct = helper.acct(account) expect(acct).to eq '@user@foreign_server.com' end - - it 'is fully qualified for non embedded foreign accounts' do - set_not_embedded_view - account = Account.new(domain: 'foreign_server.com', username: 'user') - - acct = helper.acct(account) - - expect(acct).to eq '@user@foreign_server.com' - end - - it 'is fully qualified for non embedded local accounts' do - allow(Rails.configuration.x).to receive(:local_domain).and_return('local_domain') - set_not_embedded_view - account = Account.new(domain: nil, username: 'user') - - acct = helper.acct(account) - - expect(acct).to eq '@user@local_domain' - end end end diff --git a/spec/helpers/statuses_helper_spec.rb b/spec/helpers/statuses_helper_spec.rb index edd3e8f2f7ff5a..07ad72eda956f9 100644 --- a/spec/helpers/statuses_helper_spec.rb +++ b/spec/helpers/statuses_helper_spec.rb @@ -77,28 +77,4 @@ end end end - - describe '#stream_link_target' do - it 'returns nil if it is not an embedded view' do - set_not_embedded_view - - expect(helper.stream_link_target).to be_nil - end - - it 'returns _blank if it is an embedded view' do - set_embedded_view - - expect(helper.stream_link_target).to eq '_blank' - end - end - - def set_not_embedded_view - params[:controller] = "not_#{StatusesHelper::EMBEDDED_CONTROLLER}" - params[:action] = "not_#{StatusesHelper::EMBEDDED_ACTION}" - end - - def set_embedded_view - params[:controller] = StatusesHelper::EMBEDDED_CONTROLLER - params[:action] = StatusesHelper::EMBEDDED_ACTION - end end From 1c6f53e70f3eb59e2870a55c9f271524ff6115a4 Mon Sep 17 00:00:00 2001 From: Matt Jankowski Date: Mon, 18 Nov 2024 03:07:18 -0500 Subject: [PATCH 219/357] Use `with_options` blocks in `Associations` concern (#32840) --- app/models/concerns/account/associations.rb | 107 +++++++++----------- 1 file changed, 50 insertions(+), 57 deletions(-) diff --git a/app/models/concerns/account/associations.rb b/app/models/concerns/account/associations.rb index 637e785953d06e..4e29235b6be202 100644 --- a/app/models/concerns/account/associations.rb +++ b/app/models/concerns/account/associations.rb @@ -4,75 +4,68 @@ module Account::Associations extend ActiveSupport::Concern included do - # Local users - has_one :user, inverse_of: :account, dependent: :destroy - - # Timelines - has_many :statuses, inverse_of: :account, dependent: :destroy - has_many :favourites, inverse_of: :account, dependent: :destroy - has_many :bookmarks, inverse_of: :account, dependent: :destroy - has_many :mentions, inverse_of: :account, dependent: :destroy - has_many :conversations, class_name: 'AccountConversation', dependent: :destroy, inverse_of: :account - has_many :scheduled_statuses, inverse_of: :account, dependent: :destroy - - # Notifications - has_many :notifications, inverse_of: :account, dependent: :destroy - has_one :notification_policy, inverse_of: :account, dependent: :destroy - has_many :notification_permissions, inverse_of: :account, dependent: :destroy - has_many :notification_requests, inverse_of: :account, dependent: :destroy - - # Pinned statuses - has_many :status_pins, inverse_of: :account, dependent: :destroy + # Core associations + with_options dependent: :destroy do + # Association where account owns record + with_options inverse_of: :account do + has_many :account_moderation_notes + has_many :account_pins + has_many :account_warnings + has_many :aliases, class_name: 'AccountAlias' + has_many :bookmarks + has_many :conversations, class_name: 'AccountConversation' + has_many :custom_filters + has_many :favourites + has_many :featured_tags, -> { includes(:tag) } + has_many :list_accounts + has_many :media_attachments + has_many :mentions + has_many :migrations, class_name: 'AccountMigration' + has_many :notification_permissions + has_many :notification_requests + has_many :notifications + has_many :owned_lists, class_name: 'List' + has_many :polls + has_many :report_notes + has_many :reports + has_many :scheduled_statuses + has_many :status_pins + has_many :statuses + + has_one :deletion_request, class_name: 'AccountDeletionRequest' + has_one :follow_recommendation_suppression + has_one :notification_policy + has_one :statuses_cleanup_policy, class_name: 'AccountStatusesCleanupPolicy' + has_one :user + end + + # Association where account is targeted by record + with_options foreign_key: :target_account_id, inverse_of: :target_account do + has_many :strikes, class_name: 'AccountWarning' + has_many :targeted_moderation_notes, class_name: 'AccountModerationNote' + has_many :targeted_reports, class_name: 'Report' + end + end + + # Status records pinned by the account has_many :pinned_statuses, -> { reorder('status_pins.created_at DESC') }, through: :status_pins, class_name: 'Status', source: :status - # Endorsements - has_many :account_pins, inverse_of: :account, dependent: :destroy + # Account records endorsed (pinned) by the account has_many :endorsed_accounts, through: :account_pins, class_name: 'Account', source: :target_account - # Media - has_many :media_attachments, dependent: :destroy - has_many :polls, dependent: :destroy - - # Report relationships - has_many :reports, dependent: :destroy, inverse_of: :account - has_many :targeted_reports, class_name: 'Report', foreign_key: :target_account_id, dependent: :destroy, inverse_of: :target_account - - has_many :report_notes, dependent: :destroy - has_many :custom_filters, inverse_of: :account, dependent: :destroy - - # Moderation notes - has_many :account_moderation_notes, dependent: :destroy, inverse_of: :account - has_many :targeted_moderation_notes, class_name: 'AccountModerationNote', foreign_key: :target_account_id, dependent: :destroy, inverse_of: :target_account - has_many :account_warnings, dependent: :destroy, inverse_of: :account - has_many :strikes, class_name: 'AccountWarning', foreign_key: :target_account_id, dependent: :destroy, inverse_of: :target_account - - # Lists (that the account is on, not owned by the account) - has_many :list_accounts, inverse_of: :account, dependent: :destroy + # List records the account has been added to (not owned by the account) has_many :lists, through: :list_accounts - # Lists (owned by the account) - has_many :owned_lists, class_name: 'List', dependent: :destroy, inverse_of: :account - - # Account migrations + # Account record where account has been migrated belongs_to :moved_to_account, class_name: 'Account', optional: true - has_many :migrations, class_name: 'AccountMigration', dependent: :destroy, inverse_of: :account - has_many :aliases, class_name: 'AccountAlias', dependent: :destroy, inverse_of: :account - # Hashtags + # Tag records applied to account has_and_belongs_to_many :tags # rubocop:disable Rails/HasAndBelongsToMany - has_many :featured_tags, -> { includes(:tag) }, dependent: :destroy, inverse_of: :account - # Account deletion requests - has_one :deletion_request, class_name: 'AccountDeletionRequest', inverse_of: :account, dependent: :destroy - - # Follow recommendations + # FollowRecommendation for account (surfaced via view) has_one :follow_recommendation, inverse_of: :account, dependent: nil - has_one :follow_recommendation_suppression, inverse_of: :account, dependent: :destroy - - # Account statuses cleanup policy - has_one :statuses_cleanup_policy, class_name: 'AccountStatusesCleanupPolicy', inverse_of: :account, dependent: :destroy - # Imports + # BulkImport records owned by account has_many :bulk_imports, inverse_of: :account, dependent: :delete_all end end From bcf5d30e01b711b86505f9eeae067dea08e03b41 Mon Sep 17 00:00:00 2001 From: Renaud Chaput Date: Mon, 18 Nov 2024 09:41:09 +0100 Subject: [PATCH 220/357] Add OpenTelemetry VCS attributes (#32904) --- .github/workflows/build-container-image.yml | 1 + Dockerfile | 307 ++++++++++---------- config/initializers/opentelemetry.rb | 7 + lib/mastodon/version.rb | 4 + 4 files changed, 167 insertions(+), 152 deletions(-) diff --git a/.github/workflows/build-container-image.yml b/.github/workflows/build-container-image.yml index 03a0f5bf37b81b..6204319a6379fa 100644 --- a/.github/workflows/build-container-image.yml +++ b/.github/workflows/build-container-image.yml @@ -92,6 +92,7 @@ jobs: build-args: | MASTODON_VERSION_PRERELEASE=${{ inputs.version_prerelease }} MASTODON_VERSION_METADATA=${{ inputs.version_metadata }} + SOURCE_COMMIT=${{ github.sha }} platforms: ${{ inputs.platforms }} provenance: false builder: ${{ steps.buildx.outputs.name || steps.buildx-native.outputs.name }} diff --git a/Dockerfile b/Dockerfile index a6c7d46b579ad8..c91f10de0f6614 100644 --- a/Dockerfile +++ b/Dockerfile @@ -29,6 +29,8 @@ FROM docker.io/ruby:${RUBY_VERSION}-slim-${DEBIAN_VERSION} AS ruby ARG MASTODON_VERSION_PRERELEASE="" # Append build metadata or fork information to version.rb [--build-arg MASTODON_VERSION_METADATA="pr-123456"] ARG MASTODON_VERSION_METADATA="" +# Will be available as Mastodon::Version.source_commit +ARG SOURCE_COMMIT="" # Allow Ruby on Rails to serve static files # See: https://docs.joinmastodon.org/admin/config/#rails_serve_static_files @@ -45,30 +47,31 @@ ARG GID="991" # Apply Mastodon build options based on options above ENV \ -# Apply Mastodon version information + # Apply Mastodon version information MASTODON_VERSION_PRERELEASE="${MASTODON_VERSION_PRERELEASE}" \ MASTODON_VERSION_METADATA="${MASTODON_VERSION_METADATA}" \ -# Apply Mastodon static files and YJIT options + SOURCE_COMMIT="${SOURCE_COMMIT}" \ + # Apply Mastodon static files and YJIT options RAILS_SERVE_STATIC_FILES=${RAILS_SERVE_STATIC_FILES} \ RUBY_YJIT_ENABLE=${RUBY_YJIT_ENABLE} \ -# Apply timezone + # Apply timezone TZ=${TZ} ENV \ -# Configure the IP to bind Mastodon to when serving traffic + # Configure the IP to bind Mastodon to when serving traffic BIND="0.0.0.0" \ -# Use production settings for Yarn, Node and related nodejs based tools + # Use production settings for Yarn, Node and related nodejs based tools NODE_ENV="production" \ -# Use production settings for Ruby on Rails + # Use production settings for Ruby on Rails RAILS_ENV="production" \ -# Add Ruby and Mastodon installation to the PATH + # Add Ruby and Mastodon installation to the PATH DEBIAN_FRONTEND="noninteractive" \ PATH="${PATH}:/opt/ruby/bin:/opt/mastodon/bin" \ -# Optimize jemalloc 5.x performance + # Optimize jemalloc 5.x performance MALLOC_CONF="narenas:2,background_thread:true,thp:never,dirty_decay_ms:1000,muzzy_decay_ms:0" \ -# Enable libvips, should not be changed + # Enable libvips, should not be changed MASTODON_USE_LIBVIPS=true \ -# Sidekiq will touch tmp/sidekiq_process_has_started_and_will_begin_processing_jobs to indicate it is ready. This can be used for a readiness check in Kubernetes + # Sidekiq will touch tmp/sidekiq_process_has_started_and_will_begin_processing_jobs to indicate it is ready. This can be used for a readiness check in Kubernetes MASTODON_SIDEKIQ_READY_FILENAME=sidekiq_process_has_started_and_will_begin_processing_jobs # Set default shell used for running commands @@ -79,14 +82,14 @@ ARG TARGETPLATFORM RUN echo "Target platform is $TARGETPLATFORM" RUN \ -# Remove automatic apt cache Docker cleanup scripts + # Remove automatic apt cache Docker cleanup scripts rm -f /etc/apt/apt.conf.d/docker-clean; \ -# Sets timezone + # Sets timezone echo "${TZ}" > /etc/localtime; \ -# Creates mastodon user/group and sets home directory + # Creates mastodon user/group and sets home directory groupadd -g "${GID}" mastodon; \ useradd -l -u "${UID}" -g "${GID}" -m -d /opt/mastodon mastodon; \ -# Creates /mastodon symlink to /opt/mastodon + # Creates /mastodon symlink to /opt/mastodon ln -s /opt/mastodon /mastodon; # Set /opt/mastodon as working directory @@ -94,28 +97,28 @@ WORKDIR /opt/mastodon # hadolint ignore=DL3008,DL3005 RUN \ -# Mount Apt cache and lib directories from Docker buildx caches ---mount=type=cache,id=apt-cache-${TARGETPLATFORM},target=/var/cache/apt,sharing=locked \ ---mount=type=cache,id=apt-lib-${TARGETPLATFORM},target=/var/lib/apt,sharing=locked \ -# Apt update & upgrade to check for security updates to Debian image + # Mount Apt cache and lib directories from Docker buildx caches + --mount=type=cache,id=apt-cache-${TARGETPLATFORM},target=/var/cache/apt,sharing=locked \ + --mount=type=cache,id=apt-lib-${TARGETPLATFORM},target=/var/lib/apt,sharing=locked \ + # Apt update & upgrade to check for security updates to Debian image apt-get update; \ apt-get dist-upgrade -yq; \ -# Install jemalloc, curl and other necessary components + # Install jemalloc, curl and other necessary components apt-get install -y --no-install-recommends \ - curl \ - file \ - libjemalloc2 \ - patchelf \ - procps \ - tini \ - tzdata \ - wget \ + curl \ + file \ + libjemalloc2 \ + patchelf \ + procps \ + tini \ + tzdata \ + wget \ ; \ -# Patch Ruby to use jemalloc + # Patch Ruby to use jemalloc patchelf --add-needed libjemalloc.so.2 /usr/local/bin/ruby; \ -# Discard patchelf after use + # Discard patchelf after use apt-get purge -y \ - patchelf \ + patchelf \ ; # Create temporary build layer from base image @@ -132,56 +135,56 @@ ARG TARGETPLATFORM # hadolint ignore=DL3008 RUN \ -# Mount Apt cache and lib directories from Docker buildx caches ---mount=type=cache,id=apt-cache-${TARGETPLATFORM},target=/var/cache/apt,sharing=locked \ ---mount=type=cache,id=apt-lib-${TARGETPLATFORM},target=/var/lib/apt,sharing=locked \ -# Install build tools and bundler dependencies from APT + # Mount Apt cache and lib directories from Docker buildx caches + --mount=type=cache,id=apt-cache-${TARGETPLATFORM},target=/var/cache/apt,sharing=locked \ + --mount=type=cache,id=apt-lib-${TARGETPLATFORM},target=/var/lib/apt,sharing=locked \ + # Install build tools and bundler dependencies from APT apt-get install -y --no-install-recommends \ - autoconf \ - automake \ - build-essential \ - cmake \ - git \ - libgdbm-dev \ - libglib2.0-dev \ - libgmp-dev \ - libicu-dev \ - libidn-dev \ - libpq-dev \ - libssl-dev \ - libtool \ - meson \ - nasm \ - pkg-config \ - shared-mime-info \ - xz-utils \ - # libvips components - libcgif-dev \ - libexif-dev \ - libexpat1-dev \ - libgirepository1.0-dev \ - libheif-dev \ - libimagequant-dev \ - libjpeg62-turbo-dev \ - liblcms2-dev \ - liborc-dev \ - libspng-dev \ - libtiff-dev \ - libwebp-dev \ + autoconf \ + automake \ + build-essential \ + cmake \ + git \ + libgdbm-dev \ + libglib2.0-dev \ + libgmp-dev \ + libicu-dev \ + libidn-dev \ + libpq-dev \ + libssl-dev \ + libtool \ + meson \ + nasm \ + pkg-config \ + shared-mime-info \ + xz-utils \ + # libvips components + libcgif-dev \ + libexif-dev \ + libexpat1-dev \ + libgirepository1.0-dev \ + libheif-dev \ + libimagequant-dev \ + libjpeg62-turbo-dev \ + liblcms2-dev \ + liborc-dev \ + libspng-dev \ + libtiff-dev \ + libwebp-dev \ # ffmpeg components - libdav1d-dev \ - liblzma-dev \ - libmp3lame-dev \ - libopus-dev \ - libsnappy-dev \ - libvorbis-dev \ - libvpx-dev \ - libx264-dev \ - libx265-dev \ + libdav1d-dev \ + liblzma-dev \ + libmp3lame-dev \ + libopus-dev \ + libsnappy-dev \ + libvorbis-dev \ + libvpx-dev \ + libx264-dev \ + libx265-dev \ ; RUN \ -# Configure Corepack + # Configure Corepack rm /usr/local/bin/yarn*; \ corepack enable; \ corepack prepare --activate; @@ -228,28 +231,28 @@ WORKDIR /usr/local/ffmpeg/src/ffmpeg-${FFMPEG_VERSION} # Configure and compile ffmpeg RUN \ ./configure \ - --prefix=/usr/local/ffmpeg \ - --toolchain=hardened \ - --disable-debug \ - --disable-devices \ - --disable-doc \ - --disable-ffplay \ - --disable-network \ - --disable-static \ - --enable-ffmpeg \ - --enable-ffprobe \ - --enable-gpl \ - --enable-libdav1d \ - --enable-libmp3lame \ - --enable-libopus \ - --enable-libsnappy \ - --enable-libvorbis \ - --enable-libvpx \ - --enable-libwebp \ - --enable-libx264 \ - --enable-libx265 \ - --enable-shared \ - --enable-version3 \ + --prefix=/usr/local/ffmpeg \ + --toolchain=hardened \ + --disable-debug \ + --disable-devices \ + --disable-doc \ + --disable-ffplay \ + --disable-network \ + --disable-static \ + --enable-ffmpeg \ + --enable-ffprobe \ + --enable-gpl \ + --enable-libdav1d \ + --enable-libmp3lame \ + --enable-libopus \ + --enable-libsnappy \ + --enable-libvorbis \ + --enable-libvpx \ + --enable-libwebp \ + --enable-libx264 \ + --enable-libx265 \ + --enable-shared \ + --enable-version3 \ ; \ make -j$(nproc); \ make install; @@ -263,17 +266,17 @@ ARG TARGETPLATFORM COPY Gemfile* /opt/mastodon/ RUN \ -# Mount Ruby Gem caches ---mount=type=cache,id=gem-cache-${TARGETPLATFORM},target=/usr/local/bundle/cache/,sharing=locked \ -# Configure bundle to prevent changes to Gemfile and Gemfile.lock + # Mount Ruby Gem caches + --mount=type=cache,id=gem-cache-${TARGETPLATFORM},target=/usr/local/bundle/cache/,sharing=locked \ + # Configure bundle to prevent changes to Gemfile and Gemfile.lock bundle config set --global frozen "true"; \ -# Configure bundle to not cache downloaded Gems + # Configure bundle to not cache downloaded Gems bundle config set --global cache_all "false"; \ -# Configure bundle to only process production Gems + # Configure bundle to only process production Gems bundle config set --local without "development test"; \ -# Configure bundle to not warn about root user + # Configure bundle to not warn about root user bundle config set silence_root_warning "true"; \ -# Download and install required Gems + # Download and install required Gems bundle install -j"$(nproc)"; # Create temporary node specific build layer from build layer @@ -288,9 +291,9 @@ COPY .yarn /opt/mastodon/.yarn # hadolint ignore=DL3008 RUN \ ---mount=type=cache,id=corepack-cache-${TARGETPLATFORM},target=/usr/local/share/.cache/corepack,sharing=locked \ ---mount=type=cache,id=yarn-cache-${TARGETPLATFORM},target=/usr/local/share/.cache/yarn,sharing=locked \ -# Install Node packages + --mount=type=cache,id=corepack-cache-${TARGETPLATFORM},target=/usr/local/share/.cache/corepack,sharing=locked \ + --mount=type=cache,id=yarn-cache-${TARGETPLATFORM},target=/usr/local/share/.cache/yarn,sharing=locked \ + # Install Node packages yarn workspaces focus --production @mastodon/mastodon; # Create temporary assets build layer from build layer @@ -311,10 +314,10 @@ ARG TARGETPLATFORM RUN \ ldconfig; \ -# Use Ruby on Rails to create Mastodon assets + # Use Ruby on Rails to create Mastodon assets SECRET_KEY_BASE_DUMMY=1 \ bundle exec rails assets:precompile; \ -# Cleanup temporary files + # Cleanup temporary files rm -fr /opt/mastodon/tmp; # Prep final Mastodon Ruby layer @@ -324,49 +327,49 @@ ARG TARGETPLATFORM # hadolint ignore=DL3008 RUN \ -# Mount Apt cache and lib directories from Docker buildx caches ---mount=type=cache,id=apt-cache-${TARGETPLATFORM},target=/var/cache/apt,sharing=locked \ ---mount=type=cache,id=apt-lib-${TARGETPLATFORM},target=/var/lib/apt,sharing=locked \ -# Mount Corepack and Yarn caches from Docker buildx caches ---mount=type=cache,id=corepack-cache-${TARGETPLATFORM},target=/usr/local/share/.cache/corepack,sharing=locked \ ---mount=type=cache,id=yarn-cache-${TARGETPLATFORM},target=/usr/local/share/.cache/yarn,sharing=locked \ -# Apt update install non-dev versions of necessary components + # Mount Apt cache and lib directories from Docker buildx caches + --mount=type=cache,id=apt-cache-${TARGETPLATFORM},target=/var/cache/apt,sharing=locked \ + --mount=type=cache,id=apt-lib-${TARGETPLATFORM},target=/var/lib/apt,sharing=locked \ + # Mount Corepack and Yarn caches from Docker buildx caches + --mount=type=cache,id=corepack-cache-${TARGETPLATFORM},target=/usr/local/share/.cache/corepack,sharing=locked \ + --mount=type=cache,id=yarn-cache-${TARGETPLATFORM},target=/usr/local/share/.cache/yarn,sharing=locked \ + # Apt update install non-dev versions of necessary components apt-get install -y --no-install-recommends \ - libexpat1 \ - libglib2.0-0 \ - libicu72 \ - libidn12 \ - libpq5 \ - libreadline8 \ - libssl3 \ - libyaml-0-2 \ + libexpat1 \ + libglib2.0-0 \ + libicu72 \ + libidn12 \ + libpq5 \ + libreadline8 \ + libssl3 \ + libyaml-0-2 \ # libvips components - libcgif0 \ - libexif12 \ - libheif1 \ - libimagequant0 \ - libjpeg62-turbo \ - liblcms2-2 \ - liborc-0.4-0 \ - libspng0 \ - libtiff6 \ - libwebp7 \ - libwebpdemux2 \ - libwebpmux3 \ + libcgif0 \ + libexif12 \ + libheif1 \ + libimagequant0 \ + libjpeg62-turbo \ + liblcms2-2 \ + liborc-0.4-0 \ + libspng0 \ + libtiff6 \ + libwebp7 \ + libwebpdemux2 \ + libwebpmux3 \ # ffmpeg components - libdav1d6 \ - libmp3lame0 \ - libopencore-amrnb0 \ - libopencore-amrwb0 \ - libopus0 \ - libsnappy1v5 \ - libtheora0 \ - libvorbis0a \ - libvorbisenc2 \ - libvorbisfile3 \ - libvpx7 \ - libx264-164 \ - libx265-199 \ + libdav1d6 \ + libmp3lame0 \ + libopencore-amrnb0 \ + libopencore-amrwb0 \ + libopus0 \ + libsnappy1v5 \ + libtheora0 \ + libvorbis0a \ + libvorbisenc2 \ + libvorbisfile3 \ + libvpx7 \ + libx264-164 \ + libx265-199 \ ; # Copy Mastodon sources into final layer @@ -386,7 +389,7 @@ COPY --from=ffmpeg /usr/local/ffmpeg/lib /usr/local/lib RUN \ ldconfig; \ -# Smoketest media processors + # Smoketest media processors vips -v; \ ffmpeg -version; \ ffprobe -version; @@ -396,10 +399,10 @@ RUN \ bundle exec bootsnap precompile --gemfile app/ lib/; RUN \ -# Pre-create and chown system volume to Mastodon user + # Pre-create and chown system volume to Mastodon user mkdir -p /opt/mastodon/public/system; \ chown mastodon:mastodon /opt/mastodon/public/system; \ -# Set Mastodon user as owner of tmp folder + # Set Mastodon user as owner of tmp folder chown -R mastodon:mastodon /opt/mastodon/tmp; # Set the running user for resulting container diff --git a/config/initializers/opentelemetry.rb b/config/initializers/opentelemetry.rb index 8edce03b909914..a40cd4e4c544c5 100644 --- a/config/initializers/opentelemetry.rb +++ b/config/initializers/opentelemetry.rb @@ -65,6 +65,13 @@ "#{prefix}#{separator}#{$PROGRAM_NAME.split('/').last}" end c.service_version = Mastodon::Version.to_s + + if Mastodon::Version.source_commit.present? + c.resource = OpenTelemetry::SDK::Resources::Resource.create( + 'vcs.repository.ref.revision' => Mastodon::Version.source_commit, + 'vcs.repository.url.full' => Mastodon::Version.source_base_url + ) + end end end diff --git a/lib/mastodon/version.rb b/lib/mastodon/version.rb index 88aa5152964a7a..f132c3a54835d3 100644 --- a/lib/mastodon/version.rb +++ b/lib/mastodon/version.rb @@ -70,6 +70,10 @@ def source_url end end + def source_commit + ENV.fetch('SOURCE_COMMIT', nil) + end + def user_agent @user_agent ||= "Mastodon/#{Version} (#{HTTP::Request::USER_AGENT}; +http#{Rails.configuration.x.use_https ? 's' : ''}://#{Rails.configuration.x.web_domain}/)" end From 60801ab9140c5bcce3a3336d3ed46ccfbf3ab129 Mon Sep 17 00:00:00 2001 From: Jeong Arm Date: Mon, 18 Nov 2024 03:48:27 -0500 Subject: [PATCH 221/357] Add missing autofocus on boost modal (#32953) --- app/javascript/mastodon/features/ui/components/boost_modal.tsx | 2 ++ 1 file changed, 2 insertions(+) diff --git a/app/javascript/mastodon/features/ui/components/boost_modal.tsx b/app/javascript/mastodon/features/ui/components/boost_modal.tsx index cdf7138d496d51..72a28a01f998fc 100644 --- a/app/javascript/mastodon/features/ui/components/boost_modal.tsx +++ b/app/javascript/mastodon/features/ui/components/boost_modal.tsx @@ -128,6 +128,8 @@ export const BoostModal: React.FC<{ ? messages.cancel_reblog : messages.reblog, )} + /* eslint-disable-next-line jsx-a11y/no-autofocus -- We are in the modal */ + autoFocus />
From 5b68f4b070dd2d569d854ecc3854a2610fb61866 Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Mon, 18 Nov 2024 09:56:19 +0100 Subject: [PATCH 222/357] Update libretranslate/libretranslate Docker tag to v1.6.2 (#32951) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> --- .devcontainer/compose.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.devcontainer/compose.yaml b/.devcontainer/compose.yaml index 5c7263c87467d9..705d26e0ab28a0 100644 --- a/.devcontainer/compose.yaml +++ b/.devcontainer/compose.yaml @@ -69,7 +69,7 @@ services: hard: -1 libretranslate: - image: libretranslate/libretranslate:v1.6.1 + image: libretranslate/libretranslate:v1.6.2 restart: unless-stopped volumes: - lt-data:/home/libretranslate/.local From 49a12a2df9d87321de9a13a5f4e4527bcd9bf69c Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Mon, 18 Nov 2024 08:57:37 +0000 Subject: [PATCH 223/357] Update dependency @formatjs/cli to v6.3.11 (#32950) 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 aaecae7a2a2ef6..20d00347b8b78b 100644 --- a/yarn.lock +++ b/yarn.lock @@ -2232,8 +2232,8 @@ __metadata: linkType: hard "@formatjs/cli@npm:^6.1.1": - version: 6.3.8 - resolution: "@formatjs/cli@npm:6.3.8" + version: 6.3.11 + resolution: "@formatjs/cli@npm:6.3.11" peerDependencies: "@glimmer/env": ^0.1.7 "@glimmer/reference": ^0.91.1 || ^0.92.0 @@ -2262,7 +2262,7 @@ __metadata: optional: true bin: formatjs: bin/formatjs - checksum: 10c0/61fb0e56a2da26befad5ca6ff5a8bcf9c383d22634cf288f3cab5661bece7686e6f064adaa500954b37726a7745c73134b459d115d52c931b76d68d998c7b22d + checksum: 10c0/31d5fac85314e97591c4c6a4793abf1d9c6fbf790fbbea779b2a4c0f742f1859804f290e77be06d128274468e44bc27992196aacb4cb6f2fbd141755ca79a98d languageName: node linkType: hard From 02985aae691d23086aa2512974996a1a51999b7c Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" <41898282+github-actions[bot]@users.noreply.github.com> Date: Mon, 18 Nov 2024 10:20:37 +0100 Subject: [PATCH 224/357] New Crowdin Translations (automated) (#32927) Co-authored-by: GitHub Actions --- app/javascript/mastodon/locales/bg.json | 4 + app/javascript/mastodon/locales/de.json | 2 +- app/javascript/mastodon/locales/fi.json | 3 +- app/javascript/mastodon/locales/ga.json | 1 + app/javascript/mastodon/locales/he.json | 1 + app/javascript/mastodon/locales/ia.json | 28 +++ app/javascript/mastodon/locales/lv.json | 8 + app/javascript/mastodon/locales/nn.json | 1 + app/javascript/mastodon/locales/sk.json | 6 + app/javascript/mastodon/locales/sl.json | 8 + app/javascript/mastodon/locales/tr.json | 4 +- app/javascript/mastodon/locales/zh-CN.json | 112 +++++------ config/locales/activerecord.zh-CN.yml | 10 +- config/locales/an.yml | 1 - config/locales/ar.yml | 1 - config/locales/be.yml | 1 - config/locales/bg.yml | 1 - config/locales/br.yml | 2 +- config/locales/ca.yml | 1 - config/locales/ckb.yml | 1 - config/locales/co.yml | 1 - config/locales/cs.yml | 1 - config/locales/cy.yml | 1 - config/locales/da.yml | 6 + config/locales/de.yml | 14 +- config/locales/devise.zh-CN.yml | 6 +- config/locales/doorkeeper.ia.yml | 2 + config/locales/doorkeeper.zh-CN.yml | 10 +- config/locales/el.yml | 1 - config/locales/en-GB.yml | 1 - config/locales/eo.yml | 1 - config/locales/es-AR.yml | 16 +- config/locales/es-MX.yml | 16 +- config/locales/es.yml | 44 +++-- config/locales/et.yml | 1 - config/locales/eu.yml | 1 - config/locales/fa.yml | 1 - config/locales/fi.yml | 8 +- config/locales/fo.yml | 8 +- config/locales/fr-CA.yml | 1 - config/locales/fr.yml | 1 - config/locales/fy.yml | 1 - config/locales/ga.yml | 16 +- config/locales/gd.yml | 1 - config/locales/gl.yml | 6 + config/locales/he.yml | 16 +- config/locales/hu.yml | 1 - config/locales/hy.yml | 1 - config/locales/ia.yml | 21 +- config/locales/id.yml | 1 - config/locales/ie.yml | 1 - config/locales/io.yml | 1 - config/locales/is.yml | 8 +- config/locales/it.yml | 8 +- config/locales/ja.yml | 16 +- config/locales/ka.yml | 1 - config/locales/kab.yml | 1 - config/locales/kk.yml | 1 - config/locales/ko.yml | 6 + config/locales/ku.yml | 1 - config/locales/lad.yml | 1 - config/locales/lt.yml | 8 +- config/locales/lv.yml | 1 - config/locales/ms.yml | 1 - config/locales/my.yml | 1 - config/locales/nl.yml | 6 +- config/locales/nn.yml | 8 +- config/locales/no.yml | 1 - config/locales/oc.yml | 1 - config/locales/pl.yml | 1 - config/locales/pt-BR.yml | 13 ++ config/locales/pt-PT.yml | 1 - config/locales/ru.yml | 1 - config/locales/sc.yml | 1 - config/locales/sco.yml | 1 - config/locales/si.yml | 1 - config/locales/simple_form.ga.yml | 1 + config/locales/simple_form.ia.yml | 5 + config/locales/simple_form.pt-BR.yml | 1 + config/locales/simple_form.zh-CN.yml | 34 ++-- config/locales/sk.yml | 1 - config/locales/sl.yml | 1 - config/locales/sq.yml | 8 +- config/locales/sr-Latn.yml | 1 - config/locales/sr.yml | 1 - config/locales/sv.yml | 5 + config/locales/th.yml | 1 - config/locales/tr.yml | 8 +- config/locales/uk.yml | 1 - config/locales/vi.yml | 8 +- config/locales/zh-CN.yml | 212 +++++++++++---------- config/locales/zh-HK.yml | 1 - config/locales/zh-TW.yml | 8 +- 93 files changed, 511 insertions(+), 278 deletions(-) diff --git a/app/javascript/mastodon/locales/bg.json b/app/javascript/mastodon/locales/bg.json index 44482f6c960488..8f99992f338474 100644 --- a/app/javascript/mastodon/locales/bg.json +++ b/app/javascript/mastodon/locales/bg.json @@ -93,10 +93,14 @@ "annual_report.summary.archetype.replier": "Социална пеперуда", "annual_report.summary.followers.followers": "последователи", "annual_report.summary.followers.total": "{count} общо", + "annual_report.summary.here_it_is": "Ето преглед на вашата {year} година:", "annual_report.summary.highlighted_post.by_favourites": "най-правено като любима публикация", + "annual_report.summary.highlighted_post.by_replies": "публикации с най-много отговори", + "annual_report.summary.highlighted_post.possessive": "на {name}", "annual_report.summary.most_used_app.most_used_app": "най-употребявано приложение", "annual_report.summary.most_used_hashtag.most_used_hashtag": "най-употребяван хаштаг", "annual_report.summary.new_posts.new_posts": "нови публикации", + "annual_report.summary.percentile.text": "Това ви слага най-отгоресред потребителите на Mastodon.", "annual_report.summary.thanks": "Благодарим, че сте част от Mastodon!", "attachments_list.unprocessed": "(необработено)", "audio.hide": "Скриване на звука", diff --git a/app/javascript/mastodon/locales/de.json b/app/javascript/mastodon/locales/de.json index bd24ccd48fc692..f692681387da21 100644 --- a/app/javascript/mastodon/locales/de.json +++ b/app/javascript/mastodon/locales/de.json @@ -101,7 +101,7 @@ "annual_report.summary.highlighted_post.possessive": "{name}", "annual_report.summary.most_used_app.most_used_app": "am häufigsten verwendete App", "annual_report.summary.most_used_hashtag.most_used_hashtag": "am häufigsten verwendeter Hashtag", - "annual_report.summary.most_used_hashtag.none": "Kein", + "annual_report.summary.most_used_hashtag.none": "Keiner", "annual_report.summary.new_posts.new_posts": "neue Beiträge", "annual_report.summary.percentile.text": "Damit gehörst du zu den oberstender Mastodon-Nutzer*innen.", "annual_report.summary.percentile.we_wont_tell_bernie": "Wir werden Bernie nichts verraten.", diff --git a/app/javascript/mastodon/locales/fi.json b/app/javascript/mastodon/locales/fi.json index 2763c39168def9..2c0aacc53559a7 100644 --- a/app/javascript/mastodon/locales/fi.json +++ b/app/javascript/mastodon/locales/fi.json @@ -38,7 +38,7 @@ "account.following": "Seuratut", "account.following_counter": "{count, plural, one {{counter} seurattu} other {{counter} seurattua}}", "account.follows.empty": "Tämä käyttäjä ei vielä seuraa ketään.", - "account.go_to_profile": "Mene profiiliin", + "account.go_to_profile": "Siirry profiiliin", "account.hide_reblogs": "Piilota käyttäjän @{name} tehostukset", "account.in_memoriam": "Muistoissamme.", "account.joined_short": "Liittynyt", @@ -101,6 +101,7 @@ "annual_report.summary.highlighted_post.possessive": "Käyttäjän {name}", "annual_report.summary.most_used_app.most_used_app": "käytetyin sovellus", "annual_report.summary.most_used_hashtag.most_used_hashtag": "käytetyin aihetunniste", + "annual_report.summary.most_used_hashtag.none": "Ei mitään", "annual_report.summary.new_posts.new_posts": "uutta julkaisua", "annual_report.summary.percentile.text": "Olet osa huippujoukkoa, johon kuuluuMastodon-käyttäjistä.", "annual_report.summary.thanks": "Kiitos, että olet osa Mastodonia!", diff --git a/app/javascript/mastodon/locales/ga.json b/app/javascript/mastodon/locales/ga.json index 3181d7978e1e6e..137a7c591fde95 100644 --- a/app/javascript/mastodon/locales/ga.json +++ b/app/javascript/mastodon/locales/ga.json @@ -101,6 +101,7 @@ "annual_report.summary.highlighted_post.possessive": "{name}'s", "annual_report.summary.most_used_app.most_used_app": "aip is mó a úsáidtear", "annual_report.summary.most_used_hashtag.most_used_hashtag": "hashtag is mó a úsáidtear", + "annual_report.summary.most_used_hashtag.none": "Dada", "annual_report.summary.new_posts.new_posts": "postanna nua", "annual_report.summary.percentile.text": "Cuireann sé sin i mbarr úsáideoirí Mastodon.", "annual_report.summary.percentile.we_wont_tell_bernie": "Ní inseoidh muid do Bernie.", diff --git a/app/javascript/mastodon/locales/he.json b/app/javascript/mastodon/locales/he.json index 48ea869dd2f11c..52d61b737b431b 100644 --- a/app/javascript/mastodon/locales/he.json +++ b/app/javascript/mastodon/locales/he.json @@ -101,6 +101,7 @@ "annual_report.summary.highlighted_post.possessive": "של {name}", "annual_report.summary.most_used_app.most_used_app": "היישומון שהכי בשימוש", "annual_report.summary.most_used_hashtag.most_used_hashtag": "התג בשימוש הרב ביותר", + "annual_report.summary.most_used_hashtag.none": "אף אחד", "annual_report.summary.new_posts.new_posts": "הודעות חדשות", "annual_report.summary.percentile.text": "ממקם אותך באחוזון של משמשי מסטודון.", "annual_report.summary.percentile.we_wont_tell_bernie": "לא נגלה לברני.", diff --git a/app/javascript/mastodon/locales/ia.json b/app/javascript/mastodon/locales/ia.json index e41d390a3f123d..402829817f860a 100644 --- a/app/javascript/mastodon/locales/ia.json +++ b/app/javascript/mastodon/locales/ia.json @@ -87,6 +87,25 @@ "alert.unexpected.title": "Ups!", "alt_text_badge.title": "Texto alt", "announcement.announcement": "Annuncio", + "annual_report.summary.archetype.booster": "Le impulsator", + "annual_report.summary.archetype.lurker": "Le lector", + "annual_report.summary.archetype.oracle": "Le oraculo", + "annual_report.summary.archetype.pollster": "Le sondagista", + "annual_report.summary.archetype.replier": "Le responditor", + "annual_report.summary.followers.followers": "sequitores", + "annual_report.summary.followers.total": "{count} in total", + "annual_report.summary.here_it_is": "Ecce tu summario de {year}:", + "annual_report.summary.highlighted_post.by_favourites": "message le plus favorite", + "annual_report.summary.highlighted_post.by_reblogs": "message le plus impulsate", + "annual_report.summary.highlighted_post.by_replies": "message le plus respondite", + "annual_report.summary.highlighted_post.possessive": "{name}, ecce tu…", + "annual_report.summary.most_used_app.most_used_app": "application le plus usate", + "annual_report.summary.most_used_hashtag.most_used_hashtag": "hashtag le plus usate", + "annual_report.summary.most_used_hashtag.none": "Necun", + "annual_report.summary.new_posts.new_posts": "nove messages", + "annual_report.summary.percentile.text": "Isto te pone in le primedel usatores de Mastodon.", + "annual_report.summary.percentile.we_wont_tell_bernie": "Tu es un primo inter pares.", + "annual_report.summary.thanks": "Gratias pro facer parte de Mastodon!", "attachments_list.unprocessed": "(non processate)", "audio.hide": "Celar audio", "block_modal.remote_users_caveat": "Nos demandera al servitor {domain} de respectar tu decision. Nonobstante, le conformitate non es garantite perque alcun servitores pote tractar le blocadas de maniera differente. Le messages public pote esser totevia visibile pro le usatores non authenticate.", @@ -158,6 +177,7 @@ "compose_form.poll.duration": "Durata del sondage", "compose_form.poll.multiple": "Selection multiple", "compose_form.poll.option_placeholder": "Option {number}", + "compose_form.poll.single": "Option singule", "compose_form.poll.switch_to_multiple": "Cambiar le sondage pro permitter selectiones multiple", "compose_form.poll.switch_to_single": "Cambiar le sondage pro permitter selection singule", "compose_form.poll.type": "Stilo", @@ -196,6 +216,7 @@ "confirmations.unfollow.title": "Cessar de sequer le usator?", "content_warning.hide": "Celar le message", "content_warning.show": "Monstrar in omne caso", + "content_warning.show_more": "Monstrar plus", "conversation.delete": "Deler conversation", "conversation.mark_as_read": "Marcar como legite", "conversation.open": "Vider conversation", @@ -304,6 +325,7 @@ "filter_modal.select_filter.subtitle": "Usa un categoria existente o crea un nove", "filter_modal.select_filter.title": "Filtrar iste message", "filter_modal.title.status": "Filtrar un message", + "filter_warning.matches_filter": "Corresponde al filtro “{title}”", "filtered_notifications_banner.pending_requests": "De {count, plural, =0 {nemo} one {un persona} other {# personas}} que tu pote cognoscer", "filtered_notifications_banner.title": "Notificationes filtrate", "firehose.all": "Toto", @@ -383,6 +405,7 @@ "interaction_modal.description.follow": "Con un conto sur Mastodon, tu pote sequer {name} e reciper su messages in tu fluxo de initio.", "interaction_modal.description.reblog": "Con un conto sur Mastodon, tu pote impulsar iste message pro condivider lo con tu proprie sequitores.", "interaction_modal.description.reply": "Con un conto sur Mastodon, tu pote responder a iste message.", + "interaction_modal.description.vote": "Con un conto sur Mastodon, tu pote votar in iste sondage.", "interaction_modal.login.action": "Porta me a casa", "interaction_modal.login.prompt": "Dominio de tu servitor, p.ex. mastodon.social", "interaction_modal.no_account_yet": "Non sur Mstodon?", @@ -394,6 +417,7 @@ "interaction_modal.title.follow": "Sequer {name}", "interaction_modal.title.reblog": "Impulsar le message de {name}", "interaction_modal.title.reply": "Responder al message de {name}", + "interaction_modal.title.vote": "Votar in le sondage de {name}", "intervals.full.days": "{number, plural, one {# die} other {# dies}}", "intervals.full.hours": "{number, plural, one {# hora} other {# horas}}", "intervals.full.minutes": "{number, plural, one {# minuta} other {# minutas}}", @@ -503,9 +527,12 @@ "notification.admin.report_statuses_other": "{name} ha reportate {target}", "notification.admin.sign_up": "{name} se ha inscribite", "notification.admin.sign_up.name_and_others": "{name} e {count, plural, one {# altere usator} other {altere # usatores}} se inscribeva", + "notification.annual_report.message": "Tu summario #Wrapstodon pro {year} attende! Revela le momentos saliente e memorabile de tu anno sur Mastodon!", + "notification.annual_report.view": "Visitar summario #Wrapstodon", "notification.favourite": "{name} ha marcate tu message como favorite", "notification.favourite.name_and_others_with_link": "{name} e {count, plural, one {# altere} other {# alteres}} favoriva tu message", "notification.follow": "{name} te ha sequite", + "notification.follow.name_and_others": "{name} e {count, plural, one {# other} other {# alteres}} te ha sequite", "notification.follow_request": "{name} ha requestate de sequer te", "notification.follow_request.name_and_others": "{name} e {count, plural, one {# altere} other {# alteres}} ha demandate de sequer te", "notification.label.mention": "Mention", @@ -564,6 +591,7 @@ "notifications.column_settings.filter_bar.category": "Barra de filtro rapide", "notifications.column_settings.follow": "Nove sequitores:", "notifications.column_settings.follow_request": "Nove requestas de sequimento:", + "notifications.column_settings.group": "Gruppo", "notifications.column_settings.mention": "Mentiones:", "notifications.column_settings.poll": "Resultatos del sondage:", "notifications.column_settings.push": "Notificationes push", diff --git a/app/javascript/mastodon/locales/lv.json b/app/javascript/mastodon/locales/lv.json index f6053b2e0922a4..d6fcb348281740 100644 --- a/app/javascript/mastodon/locales/lv.json +++ b/app/javascript/mastodon/locales/lv.json @@ -89,6 +89,10 @@ "annual_report.summary.followers.followers": "sekotāji", "annual_report.summary.followers.total": "pavisam {count}", "annual_report.summary.here_it_is": "Šeit ir {year}. gada pārskats:", + "annual_report.summary.highlighted_post.possessive": "{name}", + "annual_report.summary.most_used_app.most_used_app": "visizmantotākā lietotne", + "annual_report.summary.most_used_hashtag.most_used_hashtag": "visizmantotākais tēmturis", + "annual_report.summary.most_used_hashtag.none": "Nav", "annual_report.summary.new_posts.new_posts": "jauni ieraksti", "attachments_list.unprocessed": "(neapstrādāti)", "audio.hide": "Slēpt audio", @@ -329,7 +333,11 @@ "hashtag.follow": "Sekot tēmturim", "hashtag.unfollow": "Pārstāt sekot tēmturim", "hashtags.and_other": "… un {count, plural, other {vēl #}}", + "hints.profiles.see_more_followers": "Skatīt vairāk sekotāju {domain}", + "hints.profiles.see_more_follows": "Skatīt vairāk sekojumu {domain}", + "hints.profiles.see_more_posts": "Skatīt vairāk ierakstu {domain}", "hints.threads.replies_may_be_missing": "Var trūkt atbildes no citiem serveriem.", + "hints.threads.see_more": "Skatīt vairāk atbilžu {domain}", "home.column_settings.show_reblogs": "Rādīt pastiprinātos ierakstus", "home.column_settings.show_replies": "Rādīt atbildes", "home.hide_announcements": "Slēpt paziņojumus", diff --git a/app/javascript/mastodon/locales/nn.json b/app/javascript/mastodon/locales/nn.json index b45ff9058582fb..85d19c4f934ce5 100644 --- a/app/javascript/mastodon/locales/nn.json +++ b/app/javascript/mastodon/locales/nn.json @@ -101,6 +101,7 @@ "annual_report.summary.highlighted_post.possessive": "som {name} laga", "annual_report.summary.most_used_app.most_used_app": "mest brukte app", "annual_report.summary.most_used_hashtag.most_used_hashtag": "mest brukte emneknagg", + "annual_report.summary.most_used_hashtag.none": "Ingen", "annual_report.summary.new_posts.new_posts": "nye innlegg", "annual_report.summary.percentile.text": "Du er av deiivrigaste Mastodon-brukarane.", "annual_report.summary.percentile.we_wont_tell_bernie": "Ikkje eit ord til pressa.", diff --git a/app/javascript/mastodon/locales/sk.json b/app/javascript/mastodon/locales/sk.json index 8a01263eb222ce..1ecbaaffddb3ce 100644 --- a/app/javascript/mastodon/locales/sk.json +++ b/app/javascript/mastodon/locales/sk.json @@ -348,6 +348,8 @@ "hashtag.follow": "Sledovať hashtag", "hashtag.unfollow": "Prestať sledovať hashtag", "hashtags.and_other": "…a {count, plural, other {# ďalších}}", + "hints.profiles.see_more_posts": "Pozri viac príspevkov na {domain}", + "hints.threads.replies_may_be_missing": "Odpovede z ostatných serverov môžu chýbať.", "hints.threads.see_more": "Pozri viac odpovedí na {domain}", "home.column_settings.show_reblogs": "Zobraziť zdieľania", "home.column_settings.show_replies": "Zobraziť odpovede", @@ -360,6 +362,10 @@ "ignore_notifications_modal.filter_to_act_users": "Stále budeš môcť akceptovať, odmietnuť, alebo nahlásiť užívateľov", "ignore_notifications_modal.filter_to_avoid_confusion": "Triedenie pomáha vyvarovať sa možnému zmäteniu", "ignore_notifications_modal.ignore": "Ignoruj upozornenia", + "ignore_notifications_modal.new_accounts_title": "Nevšímať si oznámenia z nových účtov?", + "ignore_notifications_modal.not_followers_title": "Nevšímať si oznámenia od ľudí, ktorí ťa nenasledujú?", + "ignore_notifications_modal.not_following_title": "Nevšímať si oznámenia od ľudí, ktorých nenasleduješ?", + "ignore_notifications_modal.private_mentions_title": "Nevšímať si oznámenia o nevyžiadaných súkromných spomínaniach?", "interaction_modal.description.favourite": "S účtom na Mastodone môžete tento príspevok ohviezdičkovať, tak dať autorovi vedieť, že sa vám páči, a uložiť si ho na neskôr.", "interaction_modal.description.follow": "S účtom na Mastodone môžete {name} sledovať a vidieť ich príspevky vo svojom domovskom kanáli.", "interaction_modal.description.reblog": "S účtom na Mastodone môžete tento príspevok zdeľať so svojimi sledovateľmi.", diff --git a/app/javascript/mastodon/locales/sl.json b/app/javascript/mastodon/locales/sl.json index 32626b80f9d19d..3690c612b7d163 100644 --- a/app/javascript/mastodon/locales/sl.json +++ b/app/javascript/mastodon/locales/sl.json @@ -86,6 +86,8 @@ "alert.unexpected.message": "Zgodila se je nepričakovana napaka.", "alert.unexpected.title": "Ojoj!", "announcement.announcement": "Obvestilo", + "annual_report.summary.most_used_hashtag.none": "Brez", + "annual_report.summary.new_posts.new_posts": "nove objave", "attachments_list.unprocessed": "(neobdelano)", "audio.hide": "Skrij zvok", "block_modal.remote_users_caveat": "Od strežnika {domain} bomo zahtevali, da spoštuje vašo odločitev. Izpolnjevanje zahteve ni zagotovljeno, ker nekateri strežniki blokiranja obravnavajo drugače. Javne objave bodo morda še vedno vidne neprijavljenim uporabnikom.", @@ -433,6 +435,7 @@ "lists.subheading": "Vaši seznami", "load_pending": "{count, plural, one {# nov element} two {# nova elementa} few {# novi elementi} other {# novih elementov}}", "loading_indicator.label": "Nalaganje …", + "media_gallery.hide": "Skrij", "moved_to_account_banner.text": "Vaš račun {disabledAccount} je trenutno onemogočen, ker ste se prestavili na {movedToAccount}.", "mute_modal.hide_from_notifications": "Skrijte se pred obvestili", "mute_modal.hide_options": "Skrij možnosti", @@ -444,6 +447,7 @@ "mute_modal.you_wont_see_mentions": "Objav, ki jih omenjajo, ne boste videli.", "mute_modal.you_wont_see_posts": "Še vedno vidijo vaše objave, vi pa ne njihovih.", "navigation_bar.about": "O Mastodonu", + "navigation_bar.administration": "Upravljanje", "navigation_bar.advanced_interface": "Odpri v naprednem spletnem vmesniku", "navigation_bar.blocks": "Blokirani uporabniki", "navigation_bar.bookmarks": "Zaznamki", @@ -478,10 +482,12 @@ "notification.favourite": "{name} je vzljubil/a vašo objavo", "notification.follow": "{name} vam sledi", "notification.follow_request": "{name} vam želi slediti", + "notification.label.mention": "Omemba", "notification.label.private_mention": "Zasebna omemba", "notification.label.private_reply": "Zasebni odgovor", "notification.label.reply": "Odgovori", "notification.mention": "Omemba", + "notification.mentioned_you": "{name} vas je omenil/a", "notification.moderation-warning.learn_more": "Več o tem", "notification.moderation_warning": "Prejeli ste opozorilo moderatorjev", "notification.moderation_warning.action_delete_statuses": "Nekatere vaše objave so odstranjene.", @@ -502,6 +508,7 @@ "notification.status": "{name} je pravkar objavil/a", "notification.update": "{name} je uredil(a) objavo", "notification_requests.accept": "Sprejmi", + "notification_requests.confirm_accept_multiple.title": "Ali želite sprejeti zahteve za obvestila?", "notification_requests.confirm_dismiss_multiple.title": "Želite opustiti zahteve za obvestila?", "notification_requests.dismiss": "Zavrni", "notification_requests.edit_selection": "Uredi", @@ -740,6 +747,7 @@ "status.edit": "Uredi", "status.edited": "Zadnje urejanje {date}", "status.edited_x_times": "Urejeno {count, plural, one {#-krat} two {#-krat} few {#-krat} other {#-krat}}", + "status.embed": "Pridobite kodo za vgradnjo", "status.favourite": "Priljubljen_a", "status.favourites": "{count, plural, one {priljubitev} two {priljubitvi} few {priljubitve} other {priljubitev}}", "status.filter": "Filtriraj to objavo", diff --git a/app/javascript/mastodon/locales/tr.json b/app/javascript/mastodon/locales/tr.json index ece97614ad7a58..061f9c6c281a00 100644 --- a/app/javascript/mastodon/locales/tr.json +++ b/app/javascript/mastodon/locales/tr.json @@ -81,7 +81,7 @@ "admin.impact_report.instance_followers": "Kullanıcılarımızın kaybedeceği takipçiler", "admin.impact_report.instance_follows": "Kullanıcılarının kaybedeceği takipçiler", "admin.impact_report.title": "Etki özeti", - "alert.rate_limited.message": "Lütfen {retry_time, time, medium} saatinden sonra tekrar deneyin.", + "alert.rate_limited.message": "Lütfen sonra tekrar deneyin {retry_time, time, medium}.", "alert.rate_limited.title": "Aşırı istek gönderildi", "alert.unexpected.message": "Beklenmedik bir hata oluştu.", "alert.unexpected.title": "Hay aksi!", @@ -358,7 +358,7 @@ "footer.privacy_policy": "Gizlilik politikası", "footer.source_code": "Kaynak kodu görüntüle", "footer.status": "Durum", - "generic.saved": "Kaydedildi", + "generic.saved": "Kaydet", "getting_started.heading": "Başlarken", "hashtag.column_header.tag_mode.all": "ve {additional}", "hashtag.column_header.tag_mode.any": "ya da {additional}", diff --git a/app/javascript/mastodon/locales/zh-CN.json b/app/javascript/mastodon/locales/zh-CN.json index 887410dd51d4f0..cc0f0b9341a94d 100644 --- a/app/javascript/mastodon/locales/zh-CN.json +++ b/app/javascript/mastodon/locales/zh-CN.json @@ -89,7 +89,7 @@ "announcement.announcement": "公告", "annual_report.summary.archetype.booster": "潮流捕手", "annual_report.summary.archetype.lurker": "吃瓜群众", - "annual_report.summary.archetype.oracle": "预言家", + "annual_report.summary.archetype.oracle": "无所不在", "annual_report.summary.archetype.pollster": "投票狂魔", "annual_report.summary.archetype.replier": "评论区原住民", "annual_report.summary.followers.followers": "关注者", @@ -102,13 +102,13 @@ "annual_report.summary.most_used_app.most_used_app": "最常用的应用", "annual_report.summary.most_used_hashtag.most_used_hashtag": "最常用的话题", "annual_report.summary.most_used_hashtag.none": "无", - "annual_report.summary.new_posts.new_posts": "新发嘟", + "annual_report.summary.new_posts.new_posts": "新嘟嘟", "annual_report.summary.percentile.text": "这使你跻身 Mastodon 用户的前", - "annual_report.summary.percentile.we_wont_tell_bernie": "我们打死也不会告诉Bernie。", + "annual_report.summary.percentile.we_wont_tell_bernie": "我们打死也不会告诉扣税国王的(他知道的话要来收你发嘟税了)。", "annual_report.summary.thanks": "感谢你这一年与 Mastodon 一路同行!", "attachments_list.unprocessed": "(未处理)", "audio.hide": "隐藏音频", - "block_modal.remote_users_caveat": "我们将要求服务器 {domain} 尊重您的决定。然而,我们无法保证对方一定遵从,因为某些服务器可能会以不同的方案处理屏蔽操作。公开嘟文仍然可能对未登录的用户可见。", + "block_modal.remote_users_caveat": "我们将要求服务器 {domain} 尊重你的决定。然而,我们无法保证对方一定遵从,因为某些服务器可能会以不同的方案处理屏蔽操作。公开嘟文仍然可能对未登录的用户可见。", "block_modal.show_less": "隐藏", "block_modal.show_more": "显示更多", "block_modal.they_cant_mention": "他们不能提及或关注你。", @@ -132,7 +132,7 @@ "bundle_modal_error.message": "载入这个组件时发生了错误。", "bundle_modal_error.retry": "重试", "closed_registrations.other_server_instructions": "基于 Mastodon 去中心化的特性,你可以在其它服务器上创建账号并继续与此服务器互动。", - "closed_registrations_modal.description": "您目前无法在 {domain} 上创建账户,但请注意,使用 Mastodon 并非需要专门在 {domain} 上注册账户。", + "closed_registrations_modal.description": "你目前无法在 {domain} 上创建账户,但请注意,使用 Mastodon 并非需要专门在 {domain} 上注册账户。", "closed_registrations_modal.find_another_server": "查找其他服务器", "closed_registrations_modal.preamble": "Mastodon 是去中心化的,所以无论在哪个实例创建账号,都可以关注本服务器上的账号并与之交流。 或者你还可以自己搭建实例!", "closed_registrations_modal.title": "注册 Mastodon 账号", @@ -161,8 +161,8 @@ "column_header.unpin": "取消置顶", "column_subheading.settings": "设置", "community.column_settings.local_only": "仅限本站", - "community.column_settings.media_only": "仅限媒体", - "community.column_settings.remote_only": "仅限外部", + "community.column_settings.media_only": "仅媒体", + "community.column_settings.remote_only": "仅外站", "compose.language.change": "更改语言", "compose.language.search": "搜索语言...", "compose.published.body": "嘟文已发布。", @@ -180,11 +180,11 @@ "compose_form.poll.single": "单选", "compose_form.poll.switch_to_multiple": "将投票改为多选", "compose_form.poll.switch_to_single": "将投票改为单选", - "compose_form.poll.type": "样式", + "compose_form.poll.type": "类型", "compose_form.publish": "发布", - "compose_form.publish_form": "发布", + "compose_form.publish_form": "新嘟文", "compose_form.reply": "回复", - "compose_form.save_changes": "更新", + "compose_form.save_changes": "更改", "compose_form.spoiler.marked": "移除内容警告", "compose_form.spoiler.unmarked": "添加内容警告", "compose_form.spoiler_placeholder": "内容警告 (可选)", @@ -197,7 +197,7 @@ "confirmations.delete_list.message": "确定永久删除这个列表吗?", "confirmations.delete_list.title": "确认删除列表?", "confirmations.discard_edit_media.confirm": "丢弃", - "confirmations.discard_edit_media.message": "您还有未保存的媒体描述或预览修改,仍要丢弃吗?", + "confirmations.discard_edit_media.message": "你还有未保存的媒体描述或预览修改,仍要丢弃吗?", "confirmations.edit.confirm": "编辑", "confirmations.edit.message": "编辑此消息将会覆盖当前正在撰写的信息。仍要继续吗?", "confirmations.edit.title": "确认覆盖嘟文?", @@ -229,7 +229,7 @@ "directory.new_arrivals": "新来者", "directory.recently_active": "最近活跃", "disabled_account_banner.account_settings": "账号设置", - "disabled_account_banner.text": "您的账号 {disabledAccount} 目前已被禁用。", + "disabled_account_banner.text": "你的账号 {disabledAccount} 目前已被禁用。", "dismissable_banner.community_timeline": "这些是来自 {domain} 用户的最新公开嘟文。", "dismissable_banner.dismiss": "忽略", "dismissable_banner.explore_links": "这些新闻故事正被本站和分布式网络上其他站点的用户谈论。", @@ -264,7 +264,7 @@ "emoji_button.clear": "清除", "emoji_button.custom": "自定义", "emoji_button.flags": "旗帜", - "emoji_button.food": "食物和饮料", + "emoji_button.food": "食物与饮料", "emoji_button.label": "插入表情符号", "emoji_button.nature": "自然", "emoji_button.not_found": "未找到匹配的表情符号", @@ -288,13 +288,13 @@ "empty_column.favourited_statuses": "你没有喜欢过任何嘟文。喜欢过的嘟文会显示在这里。", "empty_column.favourites": "没有人喜欢过这条嘟文。如果有人喜欢了,就会显示在这里。", "empty_column.follow_requests": "你还没有收到任何关注请求。当你收到一个关注请求时,它会出现在这里。", - "empty_column.followed_tags": "您还没有关注任何话题标签。 当您关注后,它们会出现在这里。", + "empty_column.followed_tags": "你还没有关注任何话题标签。 当你关注后,它们会出现在这里。", "empty_column.hashtag": "这个话题标签下暂时没有内容。", "empty_column.home": "你的主页时间线是空的!快去关注更多人吧。 {suggestions}", "empty_column.list": "列表中还没有任何内容。当列表成员发布新嘟文时,它们将出现在这里。", "empty_column.lists": "你还没有创建过列表。你创建的列表会在这里显示。", "empty_column.mutes": "你没有隐藏任何用户。", - "empty_column.notification_requests": "都看完了!这里没有任何未读通知。当收到新的通知时,它们将根据您的设置显示在这里。", + "empty_column.notification_requests": "都看完了!这里没有任何未读通知。当收到新的通知时,它们将根据你的设置显示在这里。", "empty_column.notifications": "你还没有收到过任何通知,快和其他用户互动吧。", "empty_column.public": "这里什么都没有!写一些公开的嘟文,或者关注其他服务器的用户后,这里就会有嘟文出现了", "error.unexpected_crash.explanation": "此页面无法正确显示,这可能是因为我们的代码中有错误,也可能是因为浏览器兼容问题。", @@ -333,7 +333,7 @@ "firehose.remote": "其他服务器", "follow_request.authorize": "同意", "follow_request.reject": "拒绝", - "follow_requests.unlocked_explanation": "尽管你没有锁嘟,但是 {domain} 的工作人员认为你也许会想手动审核审核这些账号的关注请求。", + "follow_requests.unlocked_explanation": "尽管你没有锁嘟,但是 {domain} 的站务人员认为你也许会想手动审核审核这些账号的关注请求。", "follow_suggestions.curated_suggestion": "站务人员精选", "follow_suggestions.dismiss": "不再显示", "follow_suggestions.featured_longer": "由 {domain} 管理团队精选", @@ -354,7 +354,7 @@ "footer.directory": "用户目录", "footer.get_app": "获取应用", "footer.invite": "邀请", - "footer.keyboard_shortcuts": "快捷键列表", + "footer.keyboard_shortcuts": "快捷键", "footer.privacy_policy": "隐私政策", "footer.source_code": "查看源代码", "footer.status": "状态", @@ -401,18 +401,18 @@ "ignore_notifications_modal.not_followers_title": "是否忽略未关注你的人的通知?", "ignore_notifications_modal.not_following_title": "是否忽略你未关注的人的通知?", "ignore_notifications_modal.private_mentions_title": "是否忽略不请自来的私下提及?", - "interaction_modal.description.favourite": "只需一个 Mastodon 账号,即可喜欢这条嘟文,对嘟文的作者展示您欣赏的态度,并保存嘟文以供日后使用。", + "interaction_modal.description.favourite": "只需一个 Mastodon 账号,即可喜欢这条嘟文,对嘟文的作者展示你欣赏的态度,并保存嘟文以供日后使用。", "interaction_modal.description.follow": "拥有一个 Mastodon 账号,你就可以关注 {name} 并在自己的主页上接收对方的新嘟文。", "interaction_modal.description.reblog": "拥有一个 Mastodon 账号,你就可以向自己的关注者们转发此嘟文。", "interaction_modal.description.reply": "拥有一个 Mastodon 账号,你就可以回复此嘟文。", "interaction_modal.description.vote": "拥有一个 Mastodon 账号,你就可以参与此投票。", "interaction_modal.login.action": "转到主页", - "interaction_modal.login.prompt": "您所入驻的服务器域名,如:mastodon.social", + "interaction_modal.login.prompt": "你所入驻的服务器域名,如:mastodon.social", "interaction_modal.no_account_yet": "不在 Mastodon 上?", "interaction_modal.on_another_server": "在另一服务器", "interaction_modal.on_this_server": "在此服务器", - "interaction_modal.sign_in": "您尚未登录此服务器,您的账号托管在哪?", - "interaction_modal.sign_in_hint": "提示:这是您注册的网站,如果您不记得了,请在邮箱的收件箱中查找欢迎邮件。您还可以输入完整的用户名!(例如 @Mastodon@mastodon.social)", + "interaction_modal.sign_in": "你尚未登录此服务器,你的账号托管在哪?", + "interaction_modal.sign_in_hint": "提示:这是你注册的网站,如果你不记得了,请在邮箱的收件箱中查找欢迎邮件。你还可以输入完整的用户名!(例如 @Mastodon@mastodon.social)", "interaction_modal.title.favourite": "喜欢 {name} 的嘟文", "interaction_modal.title.follow": "关注 {name}", "interaction_modal.title.reblog": "转发 {name} 的嘟文", @@ -424,8 +424,8 @@ "keyboard_shortcuts.back": "返回上一页", "keyboard_shortcuts.blocked": "打开被屏蔽用户列表", "keyboard_shortcuts.boost": "转嘟", - "keyboard_shortcuts.column": "选择某栏", - "keyboard_shortcuts.compose": "选择输入框", + "keyboard_shortcuts.column": "选中某栏", + "keyboard_shortcuts.compose": "选中输入框", "keyboard_shortcuts.description": "说明", "keyboard_shortcuts.direct": "打开私下提及栏", "keyboard_shortcuts.down": "在列表中让光标下移", @@ -447,7 +447,7 @@ "keyboard_shortcuts.profile": "打开作者的个人资料", "keyboard_shortcuts.reply": "回复嘟文", "keyboard_shortcuts.requests": "打开关注请求列表", - "keyboard_shortcuts.search": "选择搜索框", + "keyboard_shortcuts.search": "选中搜索框", "keyboard_shortcuts.spoilers": "显示或隐藏被折叠的正文", "keyboard_shortcuts.start": "打开“开始使用”栏", "keyboard_shortcuts.toggle_hidden": "显示或隐藏被折叠的正文", @@ -473,16 +473,16 @@ "lists.exclusive": "在主页中隐藏这些嘟文", "lists.new.create": "新建列表", "lists.new.title_placeholder": "新列表的标题", - "lists.replies_policy.followed": "任何被关注的用户", + "lists.replies_policy.followed": "所有我关注的用户", "lists.replies_policy.list": "列表成员", - "lists.replies_policy.none": "无人", + "lists.replies_policy.none": "不显示", "lists.replies_policy.title": "显示回复:", "lists.search": "搜索你关注的人", "lists.subheading": "你的列表", "load_pending": "{count} 项", "loading_indicator.label": "加载中…", "media_gallery.hide": "隐藏", - "moved_to_account_banner.text": "您的账号 {disabledAccount} 已禁用,因为您已迁移到 {movedToAccount}。", + "moved_to_account_banner.text": "你的账号 {disabledAccount} 已禁用,因为你已迁移到 {movedToAccount}。", "mute_modal.hide_from_notifications": "从通知中隐藏", "mute_modal.hide_options": "隐藏选项", "mute_modal.indefinite": "直到我取消隐藏他们", @@ -507,19 +507,19 @@ "navigation_bar.filters": "忽略的关键词", "navigation_bar.follow_requests": "关注请求", "navigation_bar.followed_tags": "关注的话题标签", - "navigation_bar.follows_and_followers": "关注和粉丝", + "navigation_bar.follows_and_followers": "关注与关注者", "navigation_bar.lists": "列表", "navigation_bar.logout": "退出登录", - "navigation_bar.moderation": "运营", + "navigation_bar.moderation": "审核", "navigation_bar.mutes": "已隐藏的用户", "navigation_bar.opened_in_classic_interface": "嘟文、账户和其他特定页面默认在经典网页界面中打开。", "navigation_bar.personal": "个人", "navigation_bar.pins": "置顶嘟文", - "navigation_bar.preferences": "首选项", + "navigation_bar.preferences": "偏好设置", "navigation_bar.public_timeline": "跨站公共时间轴", "navigation_bar.search": "搜索", "navigation_bar.security": "安全", - "not_signed_in_indicator.not_signed_in": "您需要登录才能访问此资源。", + "not_signed_in_indicator.not_signed_in": "你需要登录才能访问此资源。", "notification.admin.report": "{name} 举报了 {target}", "notification.admin.report_account": "{name} 举报了来自 {target} 的 {count, plural, other {# 条嘟文}},原因为 {category}", "notification.admin.report_account_other": "{name} 举报了来自 {target} 的 {count, plural, other {# 条嘟文}}", @@ -528,10 +528,10 @@ "notification.admin.sign_up": "{name} 注册了", "notification.admin.sign_up.name_and_others": "{name} 和 {count, plural, other {另外 # 人}}注册了", "notification.annual_report.message": "你的 {year} #Wrapstodon 年度回顾来啦!快来看看这一年你在 Mastodon 上的精彩瞬间!", - "notification.annual_report.view": "查看 #Wrapstodon", + "notification.annual_report.view": "查看 #Wrapstodon 年度回顾", "notification.favourite": "{name} 喜欢了你的嘟文", "notification.favourite.name_and_others_with_link": "{name} 和 {count, plural, other {另外 # 人}} 喜欢了你的嘟文", - "notification.follow": "{name} 开始关注你", + "notification.follow": "{name} 关注了你", "notification.follow.name_and_others": "{name} 和 {count, plural, other {另外 # 人}} 关注了你", "notification.follow_request": "{name} 向你发送了关注请求", "notification.follow_request.name_and_others": "{name} 和 {count, plural, other {另外 # 人}} 向你发送了关注请求", @@ -569,7 +569,7 @@ "notification_requests.confirm_dismiss_multiple.button": "{count, plural, other {拒绝请求}}", "notification_requests.confirm_dismiss_multiple.message": "你将要拒绝 {count, plural, other {# 个通知请求}}。你将无法再轻易访问{count, plural, other {它们}}。是否继续?", "notification_requests.confirm_dismiss_multiple.title": "是否拒绝通知请求?", - "notification_requests.dismiss": "拒绝", + "notification_requests.dismiss": "忽略", "notification_requests.dismiss_multiple": "{count, plural, other {拒绝 # 个请求…}}", "notification_requests.edit_selection": "编辑", "notification_requests.exit_selection": "完成", @@ -597,7 +597,7 @@ "notifications.column_settings.push": "推送通知", "notifications.column_settings.reblog": "转嘟:", "notifications.column_settings.show": "在通知栏显示", - "notifications.column_settings.sound": "播放音效", + "notifications.column_settings.sound": "播放提示音", "notifications.column_settings.status": "新嘟文:", "notifications.column_settings.unread_notifications.category": "未读通知", "notifications.column_settings.unread_notifications.highlight": "高亮显示未读通知", @@ -630,7 +630,7 @@ "notifications.policy.filter_not_following_hint": "直到你手动批准", "notifications.policy.filter_not_following_title": "你没有关注的人", "notifications.policy.filter_private_mentions_hint": "过滤通知,除非通知是在回复提及你自己的内容,或发送者是你关注的人", - "notifications.policy.filter_private_mentions_title": "不请自来的提及", + "notifications.policy.filter_private_mentions_title": "不请自来的私下提及", "notifications.policy.title": "管理来自 … 的通知", "notifications_permission_banner.enable": "启用桌面通知", "notifications_permission_banner.how_to_control": "启用桌面通知以在 Mastodon 未打开时接收通知。你可以通过交互通过上面的 {icon} 按钮来精细控制可以发送桌面通知的交互类型。", @@ -640,9 +640,9 @@ "onboarding.actions.go_to_explore": "看看有什么新鲜事", "onboarding.actions.go_to_home": "转到主页动态", "onboarding.compose.template": "你好 #Mastodon!", - "onboarding.follows.empty": "很抱歉,现在无法显示任何结果。您可以尝试使用搜索或浏览探索页面来查找要关注的人,或稍后再试。", + "onboarding.follows.empty": "很抱歉,现在无法显示任何结果。你可以尝试使用搜索或浏览探索页面来查找要关注的人,或稍后再试。", "onboarding.follows.lead": "你管理你自己的家庭饲料。你关注的人越多,它将越活跃和有趣。 这些配置文件可能是一个很好的起点——你可以随时取消关注它们!", - "onboarding.follows.title": "定制您的主页动态", + "onboarding.follows.title": "定制你的主页动态", "onboarding.profile.discoverable": "让我的资料卡可被他人发现", "onboarding.profile.discoverable_hint": "当你选择在 Mastodon 上启用发现功能时,你的嘟文可能会出现在搜索结果和热门中,你的账户可能会被推荐给与你兴趣相似的人。", "onboarding.profile.display_name": "昵称", @@ -653,28 +653,28 @@ "onboarding.profile.save_and_continue": "保存并继续", "onboarding.profile.title": "设置个人资料", "onboarding.profile.upload_avatar": "上传头像", - "onboarding.profile.upload_header": "上传资料卡头图", + "onboarding.profile.upload_header": "上传个人资料背景横幅", "onboarding.share.lead": "让人们知道他们如何在Mastodon找到你!", "onboarding.share.message": "我是来自 #Mastodon 的 {username}!请在 {url} 关注我。", "onboarding.share.next_steps": "可能的下一步:", "onboarding.share.title": "分享你的个人资料", - "onboarding.start.lead": "你的新 Mastodon 帐户已准备好。下面是如何最大限度地利用它:", + "onboarding.start.lead": "你的新 Mastodon 账户已准备好。下面是如何最大限度地利用它:", "onboarding.start.skip": "想要在前面跳过吗?", "onboarding.start.title": "你已经成功了!", "onboarding.steps.follow_people.body": "You curate your own feed. Lets fill it with interesting people.", - "onboarding.steps.follow_people.title": "定制您的主页动态", + "onboarding.steps.follow_people.title": "定制你的主页动态", "onboarding.steps.publish_status.body": "向世界问声好吧。", "onboarding.steps.publish_status.title": "发布你的第一篇嘟文", "onboarding.steps.setup_profile.body": "Others are more likely to interact with you with a filled out profile.", "onboarding.steps.setup_profile.title": "自定义你的个人资料", - "onboarding.steps.share_profile.body": "Let your friends know how to find you on Mastodon!", + "onboarding.steps.share_profile.body": "让你的朋友知道怎样在 Mastodon 找到你", "onboarding.steps.share_profile.title": "分享你的个人资料", "onboarding.tips.2fa": "你知道吗?你可以在账户设置中配置双因素认证来保护账户安全。可以使用你选择的任何 TOTP 应用,无需电话号码!", "onboarding.tips.accounts_from_other_servers": "你知道吗? 既然Mastodon是去中心化的,你所看到的一些账户将被托管在你以外的服务器上。 但你可以无缝地与他们交互!他们的服务器在他们的用户名的后半部分!", - "onboarding.tips.migration": "您知道吗? 如果你觉得你喜欢 {domain} 不是您未来的一个伟大的服务器选择。 您可以移动到另一个 Mastodon 服务器而不失去您的关注者。 您甚至可以主持您自己的服务器!", - "onboarding.tips.verification": "您知道吗? 您可以通过在自己的网站上放置一个链接到您的 Mastodon 个人资料并将网站添加到您的个人资料来验证您的帐户。 无需收费或文书工作!", + "onboarding.tips.migration": "你知道吗?如果你将来觉得 {domain} 不再符合您的需求,你可以在保留现有关注者的情况下迁移至其他 Mastodon 服务器。你甚至可以部署自己的服务器!", + "onboarding.tips.verification": "你知道吗? 你可以通过在自己的网站上放置一个链接到你的 Mastodon 个人资料并将网站添加到你的个人资料来验证你的账户。 无需收费或文书工作!", "password_confirmation.exceeds_maxlength": "密码确认超过最大密码长度", - "password_confirmation.mismatching": "密码确认不匹配", + "password_confirmation.mismatching": "确认密码与密码不一致。", "picture_in_picture.restore": "恢复", "poll.closed": "已关闭", "poll.refresh": "刷新", @@ -687,9 +687,9 @@ "poll_button.add_poll": "发起投票", "poll_button.remove_poll": "移除投票", "privacy.change": "设置嘟文的可见范围", - "privacy.direct.long": "帖子中提到的每个人", + "privacy.direct.long": "嘟文中提到的每个人", "privacy.direct.short": "特定的人", - "privacy.private.long": "仅限您的关注者", + "privacy.private.long": "仅限你的关注者", "privacy.private.short": "关注者", "privacy.public.long": "所有 Mastodon 内外的人", "privacy.public.short": "公开", @@ -745,12 +745,12 @@ "report.reasons.violation": "违反服务器规则", "report.reasons.violation_description": "你清楚它违反了特定的规则", "report.rules.subtitle": "选择所有适用选项", - "report.rules.title": "哪些规则被违反了?", + "report.rules.title": "违反了哪些规则?", "report.statuses.subtitle": "选择所有适用选项", "report.statuses.title": "是否有任何嘟文可以支持这一报告?", "report.submit": "提交", "report.target": "举报 {target}", - "report.thanks.take_action": "以下是您控制您在 Mastodon 上能看到哪些内容的选项:", + "report.thanks.take_action": "以下是你控制你在 Mastodon 上能看到哪些内容的选项:", "report.thanks.take_action_actionable": "在我们审阅这个问题时,你可以对 @{name} 采取行动", "report.thanks.title": "不想看到这个内容?", "report.thanks.title_actionable": "感谢提交举报,我们将会进行处理。", @@ -780,7 +780,7 @@ "search_popout.options": "搜索选项", "search_popout.quick_actions": "快捷操作", "search_popout.recent": "最近搜索", - "search_popout.specific_date": "指定日期", + "search_popout.specific_date": "具体日期", "search_popout.user": "用户", "search_results.accounts": "用户", "search_results.all": "全部", @@ -789,7 +789,7 @@ "search_results.see_all": "查看全部", "search_results.statuses": "嘟文", "search_results.title": "搜索 {q}", - "server_banner.about_active_users": "过去 30 天内使用此服务器的人(每月活跃用户)", + "server_banner.about_active_users": "过去 30 天内使用此服务器的人(月活跃用户)", "server_banner.active_users": "活跃用户", "server_banner.administered_by": "本站管理员:", "server_banner.is_one_of_many": "{domain} 是可用于参与联邦宇宙的众多独立 Mastodon 服务器之一。", @@ -814,7 +814,7 @@ "status.direct_indicator": "私下提及", "status.edit": "编辑", "status.edited": "最后编辑于 {date}", - "status.edited_x_times": "共编辑 {count, plural, one {{count} 次} other {{count} 次}}", + "status.edited_x_times": "共编辑 {count, plural, other {{count} 次}}", "status.embed": "获取嵌入代码", "status.favourite": "喜欢", "status.favourites": "{count, plural, other {次喜欢}}", @@ -834,7 +834,7 @@ "status.pinned": "置顶嘟文", "status.read_more": "查看更多", "status.reblog": "转嘟", - "status.reblog_private": "转嘟(可见者不变)", + "status.reblog_private": "以相同可见性转嘟", "status.reblogged_by": "{name} 转嘟了", "status.reblogs": "{count, plural, other {次转嘟}}", "status.reblogs.empty": "没有人转嘟过此条嘟文。如果有人转嘟了,就会显示在这里。", @@ -856,7 +856,7 @@ "status.uncached_media_warning": "预览不可用", "status.unmute_conversation": "恢复此对话的通知提醒", "status.unpin": "在个人资料页面取消置顶", - "subscribed_languages.lead": "更改此选择后,仅选定语言的嘟文会出现在您的主页和列表时间轴上。选择「无」将接收所有语言的嘟文。", + "subscribed_languages.lead": "更改此选择后,仅选定语言的嘟文会出现在你的主页和列表时间轴上。选择「无」将接收所有语言的嘟文。", "subscribed_languages.save": "保存更改", "subscribed_languages.target": "更改 {target} 的订阅语言", "tabs_bar.home": "主页", @@ -886,7 +886,7 @@ "upload_form.edit": "编辑", "upload_form.thumbnail": "更改缩略图", "upload_form.video_description": "为听障人士和视障人士添加文字描述", - "upload_modal.analyzing_picture": "分析图片…", + "upload_modal.analyzing_picture": "正在分析图片…", "upload_modal.apply": "应用", "upload_modal.applying": "正在应用…", "upload_modal.choose_image": "选择图像", @@ -908,5 +908,5 @@ "video.mute": "静音", "video.pause": "暂停", "video.play": "播放", - "video.unmute": "解除禁音" + "video.unmute": "取消静音" } diff --git a/config/locales/activerecord.zh-CN.yml b/config/locales/activerecord.zh-CN.yml index a4edf294a37627..f620158361d5a2 100644 --- a/config/locales/activerecord.zh-CN.yml +++ b/config/locales/activerecord.zh-CN.yml @@ -49,16 +49,16 @@ zh-CN: blocked: 使用了被封禁的电子邮件提供商 unreachable: 似乎不存在 role_id: - elevated: 不能高于您当前的身份 + elevated: 不能高于你现在的身份 user_role: attributes: permissions_as_keys: dangerous: 包含对基本角色不安全的权限 - elevated: 不能包含您当前身份未有的权限 - own_role: 无法以您当前的身份更改 + elevated: 不能包含你当前身份未有的权限 + own_role: 无权以你当前的身份更改 position: - elevated: 不能高于您当前的角色 - own_role: 无法以您当前的身份更改 + elevated: 不能高于你当前的角色 + own_role: 无权以你当前的身份更改 webhook: attributes: events: diff --git a/config/locales/an.yml b/config/locales/an.yml index 43f8d358cc2af2..f941651438dc59 100644 --- a/config/locales/an.yml +++ b/config/locales/an.yml @@ -723,7 +723,6 @@ an: original_status: Publicación orichinal reblogs: Impulsos status_changed: Publicación cambiada - title: Estau d'as cuentas - @%{name} trending: En tendencia visibility: Visibilidat with_media: Con multimedia diff --git a/config/locales/ar.yml b/config/locales/ar.yml index bbc481a1377cce..832f60795f7be9 100644 --- a/config/locales/ar.yml +++ b/config/locales/ar.yml @@ -847,7 +847,6 @@ ar: original_status: المنشور الأصلي reblogs: المعاد تدوينها status_changed: عُدّل المنشور - title: منشورات الحساب - @%{name} trending: المتداولة visibility: مدى الظهور with_media: تحتوي على وسائط diff --git a/config/locales/be.yml b/config/locales/be.yml index c59233eb8b8ad3..c97547b8b9664d 100644 --- a/config/locales/be.yml +++ b/config/locales/be.yml @@ -856,7 +856,6 @@ be: original_status: Зыходны допіс reblogs: Рэпосты status_changed: Допіс зменены - title: Допісы уліковага запісу - @%{name} trending: Папулярныя visibility: Бачнасць with_media: З медыя diff --git a/config/locales/bg.yml b/config/locales/bg.yml index 2c5edf0b13af7c..5688a44f917b77 100644 --- a/config/locales/bg.yml +++ b/config/locales/bg.yml @@ -807,7 +807,6 @@ bg: original_status: Първообразна публикация reblogs: Блогване пак status_changed: Публикацията променена - title: Публикации на акаунта - @%{name} trending: Изгряващи visibility: Видимост with_media: С мултимедия diff --git a/config/locales/br.yml b/config/locales/br.yml index 098b20934fc23e..fbe91fcbd7e237 100644 --- a/config/locales/br.yml +++ b/config/locales/br.yml @@ -263,7 +263,7 @@ br: original_status: Toud orin reblogs: Skignadennoù status_changed: Toud kemmet - title: Toudoù ar gont - @%{name} + status_title: Embannadenn gant @%{name} visibility: Gwelusted with_media: Gant mediaoù strikes: diff --git a/config/locales/ca.yml b/config/locales/ca.yml index 970fd99fff0111..b1af2d95d48a20 100644 --- a/config/locales/ca.yml +++ b/config/locales/ca.yml @@ -841,7 +841,6 @@ ca: original_status: Publicació original reblogs: Impulsos status_changed: Publicació canviada - title: Estats del compte - @%{name} trending: Tendència visibility: Visibilitat with_media: Amb contingut multimèdia diff --git a/config/locales/ckb.yml b/config/locales/ckb.yml index 6e1b11379cb123..cfee624e368471 100644 --- a/config/locales/ckb.yml +++ b/config/locales/ckb.yml @@ -520,7 +520,6 @@ ckb: media: title: میدیا no_status_selected: هیچ دۆخیک نەگۆڕاوە وەک ئەوەی هیچ بارێک دەستنیشان نەکراوە - title: دۆخی ئەژمێر - @%{name} with_media: بە میدیا tags: review: پێداچوونەوەی دۆخ diff --git a/config/locales/co.yml b/config/locales/co.yml index b81427e83399a2..39d9e9157e6951 100644 --- a/config/locales/co.yml +++ b/config/locales/co.yml @@ -459,7 +459,6 @@ co: media: title: Media no_status_selected: I statuti ùn sò micca stati mudificati perchè manc'unu era selezziunatu - title: Statuti di u contu - @%{name} with_media: Cù media system_checks: rules_check: diff --git a/config/locales/cs.yml b/config/locales/cs.yml index f5f7f4d7310977..19a63722247d29 100644 --- a/config/locales/cs.yml +++ b/config/locales/cs.yml @@ -826,7 +826,6 @@ cs: original_status: Původní příspěvek reblogs: Boosty status_changed: Příspěvek změněn - title: Příspěvky účtu - @%{name} trending: Populární visibility: Viditelnost with_media: S médii diff --git a/config/locales/cy.yml b/config/locales/cy.yml index f479f0f0a00629..0daa793f9744d1 100644 --- a/config/locales/cy.yml +++ b/config/locales/cy.yml @@ -897,7 +897,6 @@ cy: original_status: Postiad gwreiddiol reblogs: Ailflogiadau status_changed: Postiad wedi'i newid - title: Postiadau cyfrif - @%{name} trending: Yn trendio visibility: Gwelededd with_media: Gyda chyfryngau diff --git a/config/locales/da.yml b/config/locales/da.yml index e157af9cc2d66e..3a82278b933de9 100644 --- a/config/locales/da.yml +++ b/config/locales/da.yml @@ -826,8 +826,10 @@ da: back_to_account: Retur til kontoside back_to_report: Retur til anmeldelsesside batch: + add_to_report: 'Føj til rapporten #%{id}' remove_from_report: Fjern fra anmeldelse report: Anmeldelse + contents: Indhold deleted: Slettet favourites: Favoritter history: Versionshistorik @@ -836,13 +838,17 @@ da: media: title: Medier metadata: Metadata + no_history: Dette indlæg er ikke blevet redigeret no_status_selected: Ingen indlæg ændret (ingen valgt) open: Åbn indlæg original_status: Oprindeligt indlæg reblogs: Genblogninger + replied_to_html: Besvarede %{acct_link} status_changed: Indlæg ændret + status_title: Indlæg fra @%{name} title: Kontoindlæg - @%{name} trending: Populære + view_publicly: Vis offentligt visibility: Synlighed with_media: Med medier strikes: diff --git a/config/locales/de.yml b/config/locales/de.yml index e3ee03264e77ff..26ccc8f3ee411c 100644 --- a/config/locales/de.yml +++ b/config/locales/de.yml @@ -427,9 +427,9 @@ de: not_permitted: Du bist nicht berechtigt, diese Aktion durchzuführen obfuscate: Domain-Name verschleiern obfuscate_hint: Den Domain-Namen öffentlich nur teilweise bekannt geben, sofern die Liste der Domain-Beschränkungen aktiviert ist - private_comment: Interne bzw. nicht-öffentliche Notiz + private_comment: Nicht-öffentliche Notiz private_comment_hint: Kommentar zu dieser Domain-Beschränkung für die interne Nutzung durch die Moderator*innen. - public_comment: Öffentliche Notiz + public_comment: Öffentliche Begründung public_comment_hint: Öffentlicher Hinweis zu dieser Domain-Beschränkung, sofern das Veröffentlichen von Sperrlisten grundsätzlich aktiviert ist. reject_media: Mediendateien ablehnen reject_media_hint: Entfernt lokal gespeicherte Mediendateien und verhindert deren künftiges Herunterladen. Für Sperren irrelevant @@ -502,7 +502,7 @@ de: by_domain: Domain confirm_purge: Möchtest du die Daten von dieser Domain wirklich für immer löschen? content_policies: - comment: Interne Notiz + comment: Nicht-öffentliche Notiz description_html: Du kannst Inhaltsrichtlinien definieren, die auf alle Konten dieser Domain und einer ihrer Subdomains angewendet werden. limited_federation_mode_description_html: Du kannst auswählen, ob du eine Föderation mit dieser Domain erlaubst. policies: @@ -826,8 +826,10 @@ de: back_to_account: Zurück zum Konto back_to_report: Zurück zur Seite mit den Meldungen batch: + add_to_report: Der Meldung Nr. %{id} hinzufügen remove_from_report: Von der Meldung entfernen report: Meldung + contents: Inhalte deleted: Gelöscht favourites: Favoriten history: Versionsverlauf @@ -836,13 +838,17 @@ de: media: title: Medien metadata: Metadaten + no_history: Der Beitrag wurde nicht bearbeitet no_status_selected: Keine Beiträge wurden geändert, weil keine ausgewählt wurden open: Beitrag öffnen original_status: Ursprünglicher Beitrag reblogs: Geteilte Beiträge + replied_to_html: Antwortete %{acct_link} status_changed: Beitrag bearbeitet - title: Beiträge des Kontos - @%{name} + status_title: Beitrag von @%{name} + title: Beiträge des Kontos – @%{name} trending: Trends + view_publicly: Öffentlich anzeigen visibility: Sichtbarkeit with_media: Mit Medien strikes: diff --git a/config/locales/devise.zh-CN.yml b/config/locales/devise.zh-CN.yml index 86e78c1b18ddf1..1b5f364d081a37 100644 --- a/config/locales/devise.zh-CN.yml +++ b/config/locales/devise.zh-CN.yml @@ -9,7 +9,7 @@ zh-CN: already_authenticated: 你已登录。 inactive: 你还没有激活账户。 invalid: "%{authentication_keys} 无效或密码错误。" - last_attempt: 你只有最后一次尝试机会,若未通过,帐号将被锁定。 + last_attempt: 你只有最后一次尝试机会,若未通过,账号将被锁定。 locked: 你的账户已被锁定。 not_found_in_database: "%{authentication_keys}或密码错误。" omniauth_user_creation_failure: 为此身份创建账户时出错。 @@ -33,7 +33,7 @@ zh-CN: title: 新邮箱地址 password_change: explanation: 你的账户密码已更改。 - extra: 如果你并没有申请更改密码,那似乎有人已经入侵你的帐户。请立即更改你的密码;如果你已经无法访问你的帐户,请联系服务器的管理员获取帮助。 + extra: 如果你并没有申请更改密码,那似乎有人已经入侵你的账户。请立即更改你的密码;如果你已经无法访问你的账户,请联系服务器的管理员获取帮助。 subject: Mastodon:密码已被更改 title: 密码已被重置 reconfirmation_instructions: @@ -66,7 +66,7 @@ zh-CN: subject: Mastodon:账户解锁信息 webauthn_credential: added: - explanation: 以下安全密钥已添加到你的帐户 + explanation: 以下安全密钥已添加到你的账户 subject: Mastodon:新的安全密钥 title: 已添加一个新的安全密钥 deleted: diff --git a/config/locales/doorkeeper.ia.yml b/config/locales/doorkeeper.ia.yml index 6bf5e3850670e4..efde9be9c05669 100644 --- a/config/locales/doorkeeper.ia.yml +++ b/config/locales/doorkeeper.ia.yml @@ -60,6 +60,7 @@ ia: error: title: Un error ha occurrite new: + prompt_html: "%{client_name} vole haber le permission de acceder a tu conto. Solmente approba iste requesta si tu recognosce e confide in iste fonte." review_permissions: Revider permissiones title: Autorisation necessari show: @@ -82,6 +83,7 @@ ia: access_denied: Le proprietario del ressource o servitor de autorisation ha refusate le requesta. credential_flow_not_configured: Le processo de credentiales de contrasigno del proprietario del ressource ha fallite perque Doorkeeper.configure.resource_owner_from_credentials non es configurate. invalid_client: Le authentication del cliente ha fallite perque le cliente es incognite, necun authentication de cliente es includite, o le methodo de authentication non es supportate. + invalid_code_challenge_method: Le methodo de defia de codice debe esser S256. Le methodo simple (plain) non es supportate. invalid_grant: Le concession de autorisation fornite es invalide, expirate, revocate, non corresponde al URI de redirection usate in le requesta de autorisation, o ha essite emittite a un altere cliente. invalid_redirect_uri: Le URI de redirection includite non es valide. invalid_request: diff --git a/config/locales/doorkeeper.zh-CN.yml b/config/locales/doorkeeper.zh-CN.yml index 08f9885894d0d3..848b0d6b6c063a 100644 --- a/config/locales/doorkeeper.zh-CN.yml +++ b/config/locales/doorkeeper.zh-CN.yml @@ -60,7 +60,7 @@ zh-CN: error: title: 发生错误 new: - prompt_html: "%{client_name} 请求获得访问您账户的权限。 请在确保自己了解并信任此来源后再批准该请求。" + prompt_html: "%{client_name} 请求获得访问你账户的权限。 请在确保自己了解并信任此来源后再批准该请求。" review_permissions: 检查权限 title: 需要授权 show: @@ -85,7 +85,7 @@ zh-CN: invalid_client: 由于应用信息未知、未提交认证信息或使用了不支持的认证方式,认证失败 invalid_code_challenge_method: 代码验证方法必须是 S256,不支持明文。 invalid_grant: 授权方式无效、过期或已被撤销、与授权请求中的回调地址不一致,或使用了其他应用的回调地址 - invalid_redirect_uri: 无效的登录回调地址 + invalid_redirect_uri: 登录回调地址无效。 invalid_request: missing_param: 缺少必需的参数:%{value} request_not_authorized: 请求需要被授权。授权请求所需的参数缺失或无效。 @@ -123,14 +123,14 @@ zh-CN: admin/accounts: 账号管理 admin/all: 所有管理功能 admin/reports: 举报管理 - all: 完全访问您的Mastodon账户 + all: 完全访问你的Mastodon账户 blocks: 屏蔽 bookmarks: 书签 conversations: 会话 crypto: 端到端加密 favourites: 喜欢 filters: 过滤器 - follow: 关注者,隐藏与屏蔽 + follow: 关注,隐藏与屏蔽 follows: 关注 lists: 列表 media: 媒体文件 @@ -163,7 +163,7 @@ zh-CN: admin:write:domain_allows: 在域上执行管理操作 admin:write:domain_blocks: 在域块上执行管理操作 admin:write:email_domain_blocks: 对已屏蔽邮箱域名执行管理操作 - admin:write:ip_blocks: 在 IP 块上执行管理操作 + admin:write:ip_blocks: 针对 IP 段执行管理操作 admin:write:reports: 对举报执行管理操作 crypto: 使用端到端加密 follow: 关注或屏蔽用户 diff --git a/config/locales/el.yml b/config/locales/el.yml index 26b0ec00a261b8..98ef5f18b70710 100644 --- a/config/locales/el.yml +++ b/config/locales/el.yml @@ -817,7 +817,6 @@ el: original_status: Αρχική ανάρτηση reblogs: Αναδημοσιεύσεις status_changed: Η ανάρτηση άλλαξε - title: Καταστάσεις λογαριασμού - @%{name} trending: Τάσεις visibility: Ορατότητα with_media: Με πολυμέσα diff --git a/config/locales/en-GB.yml b/config/locales/en-GB.yml index e22ed62051c3eb..76a16aa9dbf61f 100644 --- a/config/locales/en-GB.yml +++ b/config/locales/en-GB.yml @@ -832,7 +832,6 @@ en-GB: original_status: Original post reblogs: Reblogs status_changed: Post changed - title: Account posts - @%{name} trending: Trending visibility: Visibility with_media: With media diff --git a/config/locales/eo.yml b/config/locales/eo.yml index 194b2c17b81279..120df142b7e4e3 100644 --- a/config/locales/eo.yml +++ b/config/locales/eo.yml @@ -830,7 +830,6 @@ eo: original_status: Originala afiŝo reblogs: Reblogaĵoj status_changed: Afiŝo ŝanĝiĝis - title: Afiŝoj de la konto - @%{name} trending: Popularaĵoj visibility: Videbleco with_media: Kun aŭdovidaĵoj diff --git a/config/locales/es-AR.yml b/config/locales/es-AR.yml index 6dc9d99f377c97..09163c2e4a0c97 100644 --- a/config/locales/es-AR.yml +++ b/config/locales/es-AR.yml @@ -187,6 +187,7 @@ es-AR: create_domain_block: Crear bloqueo de dominio create_email_domain_block: Crear bloqueo de dominio de correo electrónico create_ip_block: Crear regla de dirección IP + create_relay: Crear Relé create_unavailable_domain: Crear dominio no disponible create_user_role: Crear rol demote_user: Descender usuario @@ -198,14 +199,17 @@ es-AR: destroy_email_domain_block: Eliminar bloqueo de dominio de correo electrónico destroy_instance: Purgar dominio destroy_ip_block: Eliminar regla de dirección IP + destroy_relay: Eliminar Relé destroy_status: Eliminar mensaje destroy_unavailable_domain: Eliminar dominio no disponible destroy_user_role: Destruir rol disable_2fa_user: Deshabilitar 2FA disable_custom_emoji: Deshabilitar emoji personalizado + disable_relay: Desactivar Relé disable_sign_in_token_auth_user: Deshabilitar autenticación de token por correo electrónico para el usuario disable_user: Deshabilitar usuario enable_custom_emoji: Habilitar emoji personalizado + enable_relay: Activar Relé enable_sign_in_token_auth_user: Habilitar autenticación de token por correo electrónico para el usuario enable_user: Habilitar usuario memorialize_account: Convertir en cuenta conmemorativa @@ -247,6 +251,7 @@ es-AR: create_domain_block_html: "%{name} bloqueó el dominio %{target}" create_email_domain_block_html: "%{name} bloqueó el dominio de correo electrónico %{target}" create_ip_block_html: "%{name} creó la regla para la dirección IP %{target}" + create_relay_html: "%{name} creó un relé %{target}" create_unavailable_domain_html: "%{name} detuvo la entrega al dominio %{target}" create_user_role_html: "%{name} creó el rol %{target}" demote_user_html: "%{name} bajó de nivel al usuario %{target}" @@ -258,14 +263,17 @@ es-AR: destroy_email_domain_block_html: "%{name} desbloqueó el dominio de correo electrónico %{target}" destroy_instance_html: "%{name} purgó el dominio %{target}" destroy_ip_block_html: "%{name} eliminó la regla para la dirección IP %{target}" + destroy_relay_html: "%{name} eliminó el relé %{target}" destroy_status_html: "%{name} eliminó el mensaje de %{target}" destroy_unavailable_domain_html: "%{name} reanudó la entrega al dominio %{target}" destroy_user_role_html: "%{name} eliminó el rol %{target}" disable_2fa_user_html: "%{name} deshabilitó el requerimiento de dos factores para el usuario %{target}" disable_custom_emoji_html: "%{name} deshabilitó el emoji %{target}" + disable_relay_html: "%{name} desactivó el relé %{target}" disable_sign_in_token_auth_user_html: "%{name} deshabilitó la autenticación de token por correo electrónico para %{target}" disable_user_html: "%{name} deshabilitó el inicio de sesión para el usuario %{target}" enable_custom_emoji_html: "%{name} habilitó el emoji %{target}" + enable_relay_html: "%{name} activó el relé %{target}" enable_sign_in_token_auth_user_html: "%{name} habilitó la autenticación de token por correo electrónico para %{target}" enable_user_html: "%{name} habilitó el inicio de sesión para el usuario %{target}" memorialize_account_html: "%{name} convirtió la cuenta de %{target} en una cuenta conmemorativa" @@ -818,8 +826,10 @@ es-AR: back_to_account: Volver a la página de la cuenta back_to_report: Volver a la página de la denuncia batch: + add_to_report: 'Añadir al informe #%{id}' remove_from_report: Quitar de la denuncia report: Denunciar + contents: Contenidos deleted: Eliminado favourites: Favoritos history: Historial de versiones @@ -828,13 +838,17 @@ es-AR: media: title: Medios metadata: Metadatos + no_history: Esta publicación no ha sido editada no_status_selected: No se cambió ningún mensaje, ya que ninguno fue seleccionado open: Abrir mensaje original_status: Mensaje original reblogs: Adhesiones + replied_to_html: Respondió a %{acct_link} status_changed: Mensaje cambiado - title: Mensajes de la cuenta - @%{name} + status_title: Publicación de @%{name} + title: Publicaciones de la cuenta - @%{name} trending: En tendencia + view_publicly: Ver públicamente visibility: Visibilidad with_media: Con medios strikes: diff --git a/config/locales/es-MX.yml b/config/locales/es-MX.yml index 7e6570f068d4a7..53557c091a210e 100644 --- a/config/locales/es-MX.yml +++ b/config/locales/es-MX.yml @@ -187,6 +187,7 @@ es-MX: create_domain_block: Crear Bloqueo de Dominio create_email_domain_block: Crear bloqueo de dominio de correo electrónico create_ip_block: Crear regla IP + create_relay: Crear Relé create_unavailable_domain: Crear Dominio No Disponible create_user_role: Crear rol demote_user: Degradar Usuario @@ -198,14 +199,17 @@ es-MX: destroy_email_domain_block: Eliminar bloqueo de dominio de correo electrónico destroy_instance: Purgar dominio destroy_ip_block: Eliminar regla IP + destroy_relay: Eliminar Relé destroy_status: Eliminar Estado destroy_unavailable_domain: Eliminar Dominio No Disponible destroy_user_role: Destruir Rol disable_2fa_user: Deshabilitar 2FA disable_custom_emoji: Deshabilitar Emoji Personalizado + disable_relay: Desactivar Relé disable_sign_in_token_auth_user: Deshabilitar la autenticación por token de correo electrónico para el usuario disable_user: Deshabilitar Usuario enable_custom_emoji: Habilitar Emoji Personalizado + enable_relay: Activar Relé enable_sign_in_token_auth_user: Habilitar la autenticación por token de correo electrónico para el usuario enable_user: Habilitar Usuario memorialize_account: Transformar en Cuenta Conmemorativa @@ -247,6 +251,7 @@ es-MX: create_domain_block_html: "%{name} bloqueó el dominio %{target}" create_email_domain_block_html: "%{name} bloqueó el dominio de correo electrónico %{target}" create_ip_block_html: "%{name} creó una regla para la IP %{target}" + create_relay_html: "%{name} creó un relé %{target}" create_unavailable_domain_html: "%{name} detuvo las entregas al dominio %{target}" create_user_role_html: "%{name} creó el rol %{target}" demote_user_html: "%{name} degradó al usuario %{target}" @@ -258,14 +263,17 @@ es-MX: destroy_email_domain_block_html: "%{name} desbloqueó el dominio de correo electrónico %{target}" destroy_instance_html: "%{name} purgó el dominio %{target}" destroy_ip_block_html: "%{name} eliminó una regla para la IP %{target}" + destroy_relay_html: "%{name} eliminó el relé %{target}" destroy_status_html: "%{name} eliminó el estado por %{target}" destroy_unavailable_domain_html: "%{name} reanudó las entregas al dominio %{target}" destroy_user_role_html: "%{name} eliminó el rol %{target}" disable_2fa_user_html: "%{name} desactivó el requisito de dos factores para el usuario %{target}" disable_custom_emoji_html: "%{name} desactivó el emoji %{target}" + disable_relay_html: "%{name} desactivó el relé %{target}" disable_sign_in_token_auth_user_html: "%{name} desactivó la autenticación por token de correo electrónico para %{target}" disable_user_html: "%{name} deshabilitó el inicio de sesión para el usuario %{target}" enable_custom_emoji_html: "%{name} activó el emoji %{target}" + enable_relay_html: "%{name} activó el relé %{target}" enable_sign_in_token_auth_user_html: "%{name} activó autenticación por token de correo electrónico para %{target}" enable_user_html: "%{name} habilitó el inicio de sesión para el usuario %{target}" memorialize_account_html: "%{name} convirtió la cuenta de %{target} en una página in memoriam" @@ -818,8 +826,10 @@ es-MX: back_to_account: Volver a la cuenta back_to_report: Volver a la página de reporte batch: + add_to_report: 'Añadir al informe #%{id}' remove_from_report: Eliminar del reporte report: Reportar + contents: Contenidos deleted: Eliminado favourites: Favoritos history: Historial de versiones @@ -828,13 +838,17 @@ es-MX: media: title: Multimedia metadata: Metadatos + no_history: Esta publicación no ha sido editada no_status_selected: No se cambió ningún estado al no seleccionar ninguno open: Abrir publicación original_status: Publicación original reblogs: Impulsos + replied_to_html: Respondió a %{acct_link} status_changed: Publicación cambiada - title: Estado de las cuentas - @%{name} + status_title: Publicación de @%{name} + title: Publicaciones de la cuenta - @%{name} trending: En tendencia + view_publicly: Ver públicamente visibility: Visibilidad with_media: Con multimedia strikes: diff --git a/config/locales/es.yml b/config/locales/es.yml index 32abd9420db4d6..22123e4309a322 100644 --- a/config/locales/es.yml +++ b/config/locales/es.yml @@ -57,7 +57,7 @@ es: confirming: Confirmando custom: Personalizado delete: Eliminar datos - deleted: Borrado + deleted: Eliminado demote: Degradar destroyed_msg: Los datos de %{username} están ahora en cola para ser eliminados inminentemente disable: Deshabilitar @@ -116,7 +116,7 @@ es: protocol: Protocolo public: Público push_subscription_expires: Expiración de la suscripción PuSH - redownload: Refrescar avatar + redownload: Refrescar perfil redownloaded_msg: Se actualizó correctamente el perfil de %{username} desde el origen reject: Rechazar rejected_msg: La solicitud de registro de %{username} ha sido rechazada con éxito @@ -187,6 +187,7 @@ es: create_domain_block: Crear Bloqueo de Dominio create_email_domain_block: Crear Bloqueo de Dominio de Correo Electrónico create_ip_block: Crear regla IP + create_relay: Crear Relé create_unavailable_domain: Crear Dominio No Disponible create_user_role: Crear Rol demote_user: Degradar Usuario @@ -198,14 +199,17 @@ es: destroy_email_domain_block: Eliminar Bloqueo de Dominio de Correo Electrónico destroy_instance: Purgar Dominio destroy_ip_block: Eliminar regla IP + destroy_relay: Eliminar Relé destroy_status: Eliminar Publicación destroy_unavailable_domain: Eliminar Dominio No Disponible destroy_user_role: Destruir Rol disable_2fa_user: Deshabilitar 2FA disable_custom_emoji: Deshabilitar Emoji Personalizado + disable_relay: Desactivar Relé disable_sign_in_token_auth_user: Deshabilitar la Autenticación por Token de Correo Electrónico para el Usuario disable_user: Deshabilitar Usuario enable_custom_emoji: Habilitar Emoji Personalizado + enable_relay: Activar Relé enable_sign_in_token_auth_user: Habilitar la Autenticación por Token de Correo Electrónico para el Usuario enable_user: Habilitar Usuario memorialize_account: Transformar en Cuenta Conmemorativa @@ -247,6 +251,7 @@ es: create_domain_block_html: "%{name} bloqueó el dominio %{target}" create_email_domain_block_html: "%{name} bloqueó el dominio de correo electrónico %{target}" create_ip_block_html: "%{name} creó una regla para la IP %{target}" + create_relay_html: "%{name} creó un relé %{target}" create_unavailable_domain_html: "%{name} detuvo las entregas al dominio %{target}" create_user_role_html: "%{name} creó el rol %{target}" demote_user_html: "%{name} degradó al usuario %{target}" @@ -258,14 +263,17 @@ es: destroy_email_domain_block_html: "%{name} desbloqueó el dominio de correo electrónico %{target}" destroy_instance_html: "%{name} purgó el dominio %{target}" destroy_ip_block_html: "%{name} eliminó una regla para la IP %{target}" + destroy_relay_html: "%{name} eliminó el relé %{target}" destroy_status_html: "%{name} eliminó la publicación de %{target}" destroy_unavailable_domain_html: "%{name} reanudó las entregas al dominio %{target}" destroy_user_role_html: "%{name} eliminó el rol %{target}" disable_2fa_user_html: "%{name} desactivó el requisito de dos factores para el usuario %{target}" disable_custom_emoji_html: "%{name} desactivó el emoji %{target}" + disable_relay_html: "%{name} desactivó el relé %{target}" disable_sign_in_token_auth_user_html: "%{name} ha deshabilitado la autenticación por token de correo electrónico para %{target}" disable_user_html: "%{name} deshabilitó el inicio de sesión para el usuario %{target}" enable_custom_emoji_html: "%{name} activó el emoji %{target}" + enable_relay_html: "%{name} activó el relé %{target}" enable_sign_in_token_auth_user_html: "%{name} ha habilitado la autenticación por token de correo electrónico para %{target}" enable_user_html: "%{name} habilitó el inicio de sesión para el usuario %{target}" memorialize_account_html: "%{name} convirtió la cuenta de %{target} en una página in memoriam" @@ -566,7 +574,7 @@ es: '94670856': 3 años new: title: Crear nueva regla IP - no_ip_block_selected: No se han cambiado reglas IP ya que no se ha seleccionado ninguna + no_ip_block_selected: No se han cambiado reglas IP, ya que no se ha seleccionado ninguna title: Reglas IP relationships: title: Relaciones de %{acct} @@ -818,8 +826,10 @@ es: back_to_account: Volver a la cuenta back_to_report: Volver a la página del reporte batch: + add_to_report: 'Añadir al informe #%{id}' remove_from_report: Eliminar del reporte report: Reporte + contents: Contenidos deleted: Eliminado favourites: Favoritos history: Historial de versiones @@ -828,13 +838,17 @@ es: media: title: Multimedia metadata: Metadatos + no_history: Esta publicación no ha sido editada no_status_selected: No se cambió ninguna publicación al no seleccionar ninguna open: Abrir publicación original_status: Publicación original reblogs: Impulsos + replied_to_html: Respondió a %{acct_link} status_changed: Publicación cambiada + status_title: Publicación de @%{name} title: Publicaciones de la cuenta - @%{name} trending: En tendencia + view_publicly: Ver públicamente visibility: Visibilidad with_media: Con multimedia strikes: @@ -910,7 +924,7 @@ es: review: Estado de revisión search: Buscar title: Etiquetas - updated_msg: Hashtags actualizados exitosamente + updated_msg: La configuración de etiquetas se actualizó correctamente title: Administración trends: allow: Permitir @@ -1109,7 +1123,7 @@ es: didnt_get_confirmation: "¿No recibiste un enlace de confirmación?" dont_have_your_security_key: "¿No tienes tu clave de seguridad?" forgot_password: "¿Olvidaste tu contraseña?" - invalid_reset_password_token: El token de reinicio de contraseña es inválido o expiró. Por favor pide uno nuevo. + invalid_reset_password_token: El token de restablecimiento de contraseña no es válido o ha expirado. Por favor solicita uno nuevo. link_to_otp: Introduce un código de dos factores desde tu teléfono o un código de recuperación link_to_webauth: Utilice su dispositivo de clave de seguridad log_in_with: Iniciar sesión con @@ -1258,7 +1272,7 @@ es: '422': content: Verificación de seguridad fallida. ¿Estás bloqueando algunas cookies? title: Verificación de seguridad fallida - '429': Asfixiado + '429': Demasiadas solicitudes '500': content: Lo sentimos, algo ha funcionado mal por nuestra parte. title: Esta página no es correcta @@ -1446,7 +1460,7 @@ es: '604800': 1 semana '86400': 1 día expires_in_prompt: Nunca - generate: Generar + generate: Generar enlace de invitación invalid: Esta invitación no es válida invited_by: 'Fuiste invitado por:' max_uses: @@ -1489,12 +1503,12 @@ es: title: Cancelar suscripición media_attachments: validations: - images_and_video: No se puede adjuntar un video a unapublicación que ya contenga imágenes + images_and_video: No se puede adjuntar un video a una publicación que ya contenga imágenes not_found: Archivos multimedia %{ids} no encontrados, o ya se encuentran adjuntos a otra publicación not_ready: No se pueden adjuntar archivos que no se han terminado de procesar. ¡Inténtalo de nuevo en un momento! too_many: No se pueden adjuntar más de 4 archivos migrations: - acct: username@domain de la nueva cuenta + acct: Movido a cancel: Cancelar redireccionamiento cancel_explanation: Al cancelar el redireccionamiento se reactivará tu cuenta actual, pero no recuperarás los seguidores que hayan sido trasladados a la otra cuenta. cancelled_msg: El redireccionamiento se ha cancelado correctamente. @@ -1729,7 +1743,7 @@ es: migrate: Migración de cuenta notifications: Notificaciones por correo electrónico preferences: Preferencias - profile: Perfil + profile: Perfil público relationships: Siguiendo y seguidores severed_relationships: Relaciones cortadas statuses_cleanup: Eliminación automática de publicaciones @@ -1773,11 +1787,11 @@ es: direct: Las publicaciones que son visibles solo para los usuarios mencionados no pueden fijarse limit: Ya has fijado el número máximo de publicaciones ownership: La publicación de otra persona no puede fijarse - reblog: Un boost no puede fijarse + reblog: Una publicación impulsada no puede fijarse title: "%{name}: «%{quote}»" visibilities: direct: Directa - private: Sólo mostrar a seguidores + private: Solo seguidores private_long: Solo mostrar a tus seguidores public: Pública public_long: Todos pueden ver @@ -1826,8 +1840,8 @@ es: tags: does_not_match_previous_name: no coincide con el nombre anterior themes: - contrast: Alto contraste - default: Mastodon + contrast: Mastodon (alto contraste) + default: Mastodon (oscuro) mastodon-light: Mastodon (claro) system: Automático (usar tema del sistema) time: @@ -1847,7 +1861,7 @@ es: edit: Editar enabled: La autenticación de dos factores está activada enabled_success: Verificación de dos factores activada exitosamente - generate_recovery_codes: generar códigos de recuperación + generate_recovery_codes: Generar códigos de recuperación lost_recovery_codes: Los códigos de recuperación te permiten obtener acceso a tu cuenta si pierdes tu teléfono. Si has perdido tus códigos de recuperación, puedes regenerarlos aquí. Tus viejos códigos de recuperación se harán inválidos. methods: Métodos de autenticación de doble factor otp: Aplicación de autenticación diff --git a/config/locales/et.yml b/config/locales/et.yml index f8a4f7f69ec7bc..40db2eede0b3a6 100644 --- a/config/locales/et.yml +++ b/config/locales/et.yml @@ -833,7 +833,6 @@ et: original_status: Algne postitus reblogs: Jagamised status_changed: Muudetud postitus - title: Konto postitused - @%{name} trending: Populaarne visibility: Nähtavus with_media: Meediaga diff --git a/config/locales/eu.yml b/config/locales/eu.yml index a764e88baccc54..dc064ebc7ba82c 100644 --- a/config/locales/eu.yml +++ b/config/locales/eu.yml @@ -793,7 +793,6 @@ eu: original_status: Jatorrizko bidalketa reblogs: Bultzadak status_changed: Bidalketa aldatuta - title: Kontuaren bidalketak - @%{name} trending: Joera visibility: Ikusgaitasuna with_media: Multimediarekin diff --git a/config/locales/fa.yml b/config/locales/fa.yml index 38daf70d298e05..7cb0714c28e86f 100644 --- a/config/locales/fa.yml +++ b/config/locales/fa.yml @@ -741,7 +741,6 @@ fa: original_status: فرستهٔ اصلی reblogs: تقویت‌ها status_changed: فرسته تغییر کرد - title: "@%{name} - نوشته‌های حساب" trending: پرطرفدار visibility: نمایانی with_media: دارای عکس یا ویدیو diff --git a/config/locales/fi.yml b/config/locales/fi.yml index efdfdfed04bf7b..d7755d23b81ae6 100644 --- a/config/locales/fi.yml +++ b/config/locales/fi.yml @@ -826,8 +826,10 @@ fi: back_to_account: Takaisin tilin sivulle back_to_report: Takaisin raporttisivulle batch: + add_to_report: Lisää raporttiin nro %{id} remove_from_report: Poista raportista report: Raportti + contents: Sisältö deleted: Poistettu favourites: Suosikit history: Versiohistoria @@ -836,13 +838,17 @@ fi: media: title: Media metadata: Metadata + no_history: Tätä julkaisua ei ole muokattu no_status_selected: Julkaisuja ei muutettu, koska yhtään ei ollut valittuna open: Avaa julkaisu original_status: Alkuperäinen julkaisu reblogs: Edelleen jako + replied_to_html: Vastaus käyttäjälle %{acct_link} status_changed: Julkaisua muutettu - title: Tilin tilat - @%{name} + status_title: Julkaisu käyttäjältä @%{name} + title: Tilin julkaisut - @%{name} trending: Suosituttua + view_publicly: Näytä julkisesti visibility: Näkyvyys with_media: Sisältää mediaa strikes: diff --git a/config/locales/fo.yml b/config/locales/fo.yml index 8dab61c267ad4e..502c027b5db268 100644 --- a/config/locales/fo.yml +++ b/config/locales/fo.yml @@ -826,8 +826,10 @@ fo: back_to_account: Aftur til kontusíðu back_to_report: Aftur til meldingarsíðu batch: + add_to_report: 'Legg afturat melding #%{id}' remove_from_report: Strika frá melding report: Melding + contents: Innihald deleted: Strikað favourites: Dámdir postar history: Útgávusøga @@ -836,13 +838,17 @@ fo: media: title: Miðlar metadata: Metadátur + no_history: Hesin posturin er ikki broyttur no_status_selected: Eingir postar vóru broyttir, tí eingir vóru valdir open: Lat post upp original_status: Upprunapostur reblogs: Endurbloggar + replied_to_html: Svaraði %{acct_link} status_changed: Postur broyttur - title: Postar hjá kontu - @%{name} + status_title: Postar hjá @%{name} + title: Kontupostar - @%{name} trending: Vælumtókt + view_publicly: Vís fyri øllum visibility: Sýni with_media: Við miðli strikes: diff --git a/config/locales/fr-CA.yml b/config/locales/fr-CA.yml index bb0501d0e38d0c..9c2bf3398ef84f 100644 --- a/config/locales/fr-CA.yml +++ b/config/locales/fr-CA.yml @@ -836,7 +836,6 @@ fr-CA: original_status: Message original reblogs: Partages status_changed: Publication modifiée - title: Messages du compte - @%{name} trending: Tendances visibility: Visibilité with_media: Avec médias diff --git a/config/locales/fr.yml b/config/locales/fr.yml index 0c35dea62ab605..650147eb5d33fa 100644 --- a/config/locales/fr.yml +++ b/config/locales/fr.yml @@ -836,7 +836,6 @@ fr: original_status: Message original reblogs: Partages status_changed: Publication modifiée - title: Messages du compte - @%{name} trending: Tendances visibility: Visibilité with_media: Avec médias diff --git a/config/locales/fy.yml b/config/locales/fy.yml index 8a4f519e0cb976..24be51d9d737b7 100644 --- a/config/locales/fy.yml +++ b/config/locales/fy.yml @@ -833,7 +833,6 @@ fy: original_status: Oarspronklik berjocht reblogs: Boosts status_changed: Berjocht wizige - title: Accountberjochten - @%{name} trending: Trending visibility: Sichtberheid with_media: Mei media diff --git a/config/locales/ga.yml b/config/locales/ga.yml index 67461f3c2a268d..deb99866918b65 100644 --- a/config/locales/ga.yml +++ b/config/locales/ga.yml @@ -196,6 +196,7 @@ ga: create_domain_block: Cruthaigh Bloc Fearainn create_email_domain_block: Cruthaigh Bloc Fearainn Ríomhphoist create_ip_block: Cruthaigh riail IP + create_relay: Cruthaigh Leaschraolacháin create_unavailable_domain: Cruthaigh Fearann ​​Gan Fáil create_user_role: Cruthaigh Ról demote_user: Ísligh úsáideoir @@ -207,14 +208,17 @@ ga: destroy_email_domain_block: Scrios Bloc Fearainn Ríomhphoist destroy_instance: Fearann ​​Purge destroy_ip_block: Scrios riail IP + destroy_relay: Scrios Leaschraolacháin destroy_status: Scrios Postáil destroy_unavailable_domain: Scrios Fearann ​​Gan Fáil destroy_user_role: Scrios ról disable_2fa_user: Díchumasaigh 2FA disable_custom_emoji: Díchumasaigh Emoji Saincheaptha + disable_relay: Díchumasaigh Leaschraolacháin disable_sign_in_token_auth_user: Díchumasaigh Fíordheimhniú Comhartha Ríomhphoist don Úsáideoir disable_user: Díchumasaigh Úsáideoir enable_custom_emoji: Cumasaigh Emoji Saincheaptha + enable_relay: Cumasaigh Leaschraolacháin enable_sign_in_token_auth_user: Cumasaigh Fíordheimhniú Comhartha Ríomhphoist don Úsáideoir enable_user: Cumasaigh Úsáideoir memorialize_account: Cuntas Cuimhneacháin @@ -256,6 +260,7 @@ ga: create_domain_block_html: "%{name} fearann ​​bactha %{target}" create_email_domain_block_html: Chuir %{name} fearann ​​ríomhphoist bactha %{target} create_ip_block_html: Chruthaigh %{name} riail don IP %{target} + create_relay_html: Chruthaigh %{name} athsheoladh %{target} create_unavailable_domain_html: Chuir %{name} deireadh leis an seachadadh chuig fearann ​​%{target} create_user_role_html: Chruthaigh %{name} %{target} ról demote_user_html: "%{name} úsáideoir scriosta %{target}" @@ -267,14 +272,17 @@ ga: destroy_email_domain_block_html: "%{name} fearann ​​ríomhphoist díchoiscthe %{target}" destroy_instance_html: Glanadh %{name} fearann ​​%{target} destroy_ip_block_html: "%{name} scriosta riail le haghaidh IP %{target}" + destroy_relay_html: Scrios %{name} an athsheoladh %{target} destroy_status_html: Bhain %{name} postáil le %{target} destroy_unavailable_domain_html: D'athchrom %{name} ar an seachadadh chuig fearann ​​%{target} destroy_user_role_html: Scrios %{name} ról %{target} disable_2fa_user_html: Dhíchumasaigh %{name} riachtanas dhá fhachtóir don úsáideoir %{target} disable_custom_emoji_html: Dhíchumasaigh %{name} emoji %{target} + disable_relay_html: Dhíchumasaigh %{name} an athsheoladh %{target} disable_sign_in_token_auth_user_html: Dhíchumasaigh %{name} fíordheimhniú comhartha ríomhphoist le haghaidh %{target} disable_user_html: "%{name} logáil isteach díchumasaithe d'úsáideoir %{target}" enable_custom_emoji_html: "%{name} emoji cumasaithe %{target}" + enable_relay_html: Chuir %{name} an sealaíocht %{target} ar chumas enable_sign_in_token_auth_user_html: Chuir %{name} fíordheimhniú comhartha ríomhphoist ar chumas %{target} enable_user_html: "%{name} logáil isteach cumasaithe don úsáideoir %{target}" memorialize_account_html: Rinne %{name} cuntas %{target} a iompú ina leathanach cuimhneacháin @@ -860,8 +868,10 @@ ga: back_to_account: Ar ais go leathanach cuntais back_to_report: Ar ais go leathanach tuairisce batch: + add_to_report: 'Cuir leis an tuairisc # %{id}' remove_from_report: Bain den tuairisc report: Tuairisc + contents: Ábhar deleted: Scriosta favourites: Toghanna history: Stair leagan @@ -870,13 +880,17 @@ ga: media: title: Meáin metadata: Meiteashonraí + no_history: Níl an postáil seo curtha in eagar no_status_selected: Níor athraíodh aon phostáil mar níor roghnaíodh ceann ar bith open: Oscail postáil original_status: Bunphostáil reblogs: Athbhlaganna + replied_to_html: D'fhreagair %{acct_link} status_changed: Athraíodh postáil - title: Poist chuntais - @%{name} + status_title: Postáil le @ %{name} + title: Postálacha cuntais - @%{name} trending: Ag treochtáil + view_publicly: Féach go poiblí visibility: Infheictheacht with_media: Le meáin strikes: diff --git a/config/locales/gd.yml b/config/locales/gd.yml index 89198bd5143585..78f4516cfc7594 100644 --- a/config/locales/gd.yml +++ b/config/locales/gd.yml @@ -861,7 +861,6 @@ gd: original_status: Am post tùsail reblogs: Brosnachaidhean status_changed: Post air atharrachadh - title: Postaichean a’ chunntais - @%{name} trending: A’ treandadh visibility: Faicsinneachd with_media: Le meadhanan riutha diff --git a/config/locales/gl.yml b/config/locales/gl.yml index 0f3420a7f3513d..feda673621e80d 100644 --- a/config/locales/gl.yml +++ b/config/locales/gl.yml @@ -826,8 +826,10 @@ gl: back_to_account: Volver a páxina da conta back_to_report: Volver a denuncias batch: + add_to_report: 'Engadir á denuncia #%{id}' remove_from_report: Eliminar da denuncia report: Denuncia + contents: Contidos deleted: Eliminado favourites: Favoritas history: Historial de versións @@ -836,13 +838,17 @@ gl: media: title: Medios metadata: Metadatos + no_history: Esta publicación foi editada no_status_selected: Non se cambiou ningunha publicación xa que ningunha foi seleccionada open: Abrir publicación original_status: Publicación orixinal reblogs: Promocións + replied_to_html: Respondeu a %{acct_link} status_changed: Publicación editada + status_title: Publicación de @%{name} title: Publicacións da conta - @%{name} trending: Popular + view_publicly: Ver publicamente visibility: Visibilidade with_media: con medios strikes: diff --git a/config/locales/he.yml b/config/locales/he.yml index 59dc09799d05e1..5243cf4768b84f 100644 --- a/config/locales/he.yml +++ b/config/locales/he.yml @@ -193,6 +193,7 @@ he: create_domain_block: יצירת דומיין חסום create_email_domain_block: יצירת חסימת דומיין דוא"ל create_ip_block: יצירת כלל IP + create_relay: יצירת ממסר create_unavailable_domain: יצירת דומיין בלתי זמין create_user_role: יצירת תפקיד demote_user: הורדת משתמש בדרגה @@ -204,14 +205,17 @@ he: destroy_email_domain_block: מחיקת חסימת דומיין דוא"ל destroy_instance: טיהור דומיין destroy_ip_block: מחיקת כלל IP + destroy_relay: מחיקת ממסר destroy_status: מחיקת הודעה destroy_unavailable_domain: מחיקת דומיין בלתי זמין destroy_user_role: מחיקת תפקיד disable_2fa_user: השעיית זיהוי דו-גורמי disable_custom_emoji: השעיית אמוג'י מיוחד + disable_relay: השבתת ממסר disable_sign_in_token_auth_user: השעיית אסימון הזדהות בדוא"ל של משתמש disable_user: השעיית משתמש enable_custom_emoji: הפעלת אמוג'י מיוחד + enable_relay: החייאת ממסר enable_sign_in_token_auth_user: הפעלת אסימון הזדהות בדוא"ל של משתמש enable_user: אפשור משתמש memorialize_account: הנצחת חשבון @@ -253,6 +257,7 @@ he: create_domain_block_html: "%{name} חסם/ה את הדומיין %{target}" create_email_domain_block_html: '%{name} חסם/ה את דומיין הדוא"ל %{target}' create_ip_block_html: "%{name} יצר/ה כלל עבור IP %{target}" + create_relay_html: "%{name} יצרו את הממסר %{target}" create_unavailable_domain_html: "%{name} הפסיק/ה משלוח לדומיין %{target}" create_user_role_html: "%{name} יצר את התפקיד של %{target}" demote_user_html: "%{name} הוריד/ה בדרגה את המשתמש %{target}" @@ -264,14 +269,17 @@ he: destroy_email_domain_block_html: '%{name} הסיר/ה חסימה מדומיין הדוא"ל %{target}' destroy_instance_html: "%{name} טיהר/ה את הדומיין %{target}" destroy_ip_block_html: "%{name} מחק/ה את הכלל עבור IP %{target}" + destroy_relay_html: "%{name} מחקו את הממסר %{target}" destroy_status_html: ההודעה של %{target} הוסרה ע"י %{name} destroy_unavailable_domain_html: "%{name} התחיל/ה מחדש משלוח לדומיין %{target}" destroy_user_role_html: "%{name} ביטל את התפקיד של %{target}" disable_2fa_user_html: "%{name} ביטל/ה את הדרישה לאימות דו-גורמי למשתמש %{target}" disable_custom_emoji_html: "%{name} השבית/ה את האמוג'י %{target}" + disable_relay_html: "%{name} השביתו את הממסר %{target}" disable_sign_in_token_auth_user_html: '%{name} השבית/ה את האימות בעזרת אסימון דוא"ל עבור %{target}' disable_user_html: "%{name} חסם/ה כניסה מהמשתמש/ת %{target}" enable_custom_emoji_html: "%{name} אפשר/ה את האמוג'י %{target}" + enable_relay_html: "%{name} החיו את הממסר %{target}" enable_sign_in_token_auth_user_html: '%{name} אפשר/ה אימות בעזרת אסימון דוא"ל עבור %{target}' enable_user_html: "%{name} אפשר/ה כניסה עבור המשתמש %{target}" memorialize_account_html: "%{name} הפך/ה את חשבונו של %{target} לדף הנצחה" @@ -846,8 +854,10 @@ he: back_to_account: חזרה לדף החשבון back_to_report: חזרה לעמוד הדיווח batch: + add_to_report: להוסיף לדו"ח מספר %{id} remove_from_report: הסרה מהדיווח report: דווח + contents: תוכן deleted: מחוקים favourites: חיבובים history: היסטורית גרסאות @@ -856,13 +866,17 @@ he: media: title: מדיה metadata: נתוני-מטא + no_history: הודעה זו לא נערכה no_status_selected: לא בוצעו שינויים בהודעות שכן לא נבחרו כאלו open: פתח הודעה original_status: הודעה מקורית reblogs: שיתופים + replied_to_html: בתגובה לחשבון %{acct_link} status_changed: הודעה שונתה - title: הודעות החשבון - @%{name} + status_title: פרסום מאת @%{name} + title: פרסומי החשבון - @%{name} trending: נושאים חמים + view_publicly: צפיה בפומבי visibility: נראות with_media: עם מדיה strikes: diff --git a/config/locales/hu.yml b/config/locales/hu.yml index 56d41daf864bef..f23711d4032064 100644 --- a/config/locales/hu.yml +++ b/config/locales/hu.yml @@ -841,7 +841,6 @@ hu: original_status: Eredeti bejegyzés reblogs: Megosztások status_changed: A bejegyzés megváltozott - title: Fiók bejegyzései - @%{name} trending: Felkapott visibility: Láthatóság with_media: Médiával diff --git a/config/locales/hy.yml b/config/locales/hy.yml index d8cf2a97ba9472..3b4aaf3629fa9e 100644 --- a/config/locales/hy.yml +++ b/config/locales/hy.yml @@ -402,7 +402,6 @@ hy: deleted: Ջնջված է media: title: Մեդիա - title: Օգտատիրոջ գրառումները - @%{name} with_media: Մեդիայի հետ tags: review: Վերանայել գրառումը diff --git a/config/locales/ia.yml b/config/locales/ia.yml index 1398ae51d4526e..54401b1c5adf59 100644 --- a/config/locales/ia.yml +++ b/config/locales/ia.yml @@ -187,6 +187,7 @@ ia: create_domain_block: Crear blocada de dominio create_email_domain_block: Crear blocada de dominio de e-mail create_ip_block: Crear un regula IP + create_relay: Crear repetitor create_unavailable_domain: Crear dominio indisponibile create_user_role: Crear un rolo demote_user: Degradar usator @@ -198,14 +199,17 @@ ia: destroy_email_domain_block: Deler blocada de dominio de e-mail destroy_instance: Purgar dominio destroy_ip_block: Deler le regula IP + destroy_relay: Deler repetitor destroy_status: Deler message destroy_unavailable_domain: Deler dominio indisponibile destroy_user_role: Destruer rolo disable_2fa_user: Disactivar A2F disable_custom_emoji: Disactivar emoji personalisate + disable_relay: Disactivar repetitor disable_sign_in_token_auth_user: Disactivar le authentication per token de e-mail pro le usator disable_user: Disactivar le usator enable_custom_emoji: Activar emoji personalisate + enable_relay: Activar repetitor enable_sign_in_token_auth_user: Activar le authentication per token de e-mail pro le usator enable_user: Activar le usator memorialize_account: Converter conto in memorial @@ -247,6 +251,7 @@ ia: create_domain_block_html: "%{name} blocava dominio %{target}" create_email_domain_block_html: "%{name} blocava le dominio de e-mail %{target}" create_ip_block_html: "%{name} creava regula pro IP %{target}" + create_relay_html: "%{name} ha create un repetitor %{target}" create_unavailable_domain_html: "%{name} stoppava livration al dominio %{target}" create_user_role_html: "%{name} creava rolo de %{target}" demote_user_html: "%{name} degradava usator %{target}" @@ -258,14 +263,17 @@ ia: destroy_email_domain_block_html: "%{name} disblocava le dominio de e-mail %{target}" destroy_instance_html: "%{name} purgava le dominio %{target}" destroy_ip_block_html: "%{name} deleva le regula pro IP %{target}" + destroy_relay_html: "%{name} ha delite le repetitor %{target}" destroy_status_html: "%{name} removeva un message de %{target}" destroy_unavailable_domain_html: "%{name} reprendeva le livration al dominio %{target}" destroy_user_role_html: "%{name} deleva le rolo %{target}" disable_2fa_user_html: "%{name} disactivava le authentication a duo factores pro le usator %{target}" disable_custom_emoji_html: "%{name} disactivava le emoji %{target}" + disable_relay_html: "%{name} ha disactivate le repetitor %{target}" disable_sign_in_token_auth_user_html: "%{name} disactivava le authentication per token de e-mail pro %{target}" disable_user_html: "%{name} disactivava le apertura de session pro le usator %{target}" enable_custom_emoji_html: "%{name} activava le emoji %{target}" + enable_relay_html: "%{name} ha activate le repetitor %{target}" enable_sign_in_token_auth_user_html: "%{name} activava le authentication per token de e-mail pro %{target}" enable_user_html: "%{name} activava le apertura de session pro le usator %{target}" memorialize_account_html: "%{name} converteva le conto de %{target} in un pagina commemorative" @@ -818,8 +826,10 @@ ia: back_to_account: Retornar al pagina del conto back_to_report: Retro al pagina de reporto batch: + add_to_report: 'Adder al reporto #%{id}' remove_from_report: Remover del reporto report: Reporto + contents: Contento deleted: Delite favourites: Favorites history: Historia de versiones @@ -828,13 +838,17 @@ ia: media: title: Multimedia metadata: Metadatos + no_history: Iste message non ha essite modificate no_status_selected: Necun message ha essite cambiate perque necun ha essite seligite open: Aperir message original_status: Message original reblogs: Republicationes + replied_to_html: Respondite a %{acct_link} status_changed: Message cambiate - title: Messages del conto - @%{name} + status_title: Message de @%{name} + title: Messages del conto – @%{name} trending: Tendentias + view_publicly: Vider publicamente visibility: Visibilitate with_media: Con multimedia strikes: @@ -1118,7 +1132,7 @@ ia: migrate_account: Migrar a un altere conto migrate_account_html: Si tu vole rediriger iste conto a un altere, tu pote configurar lo hic. or_log_in_with: O aperi session con - privacy_policy_agreement_html: Io ha legite e accepta le politica de confidentialitate + privacy_policy_agreement_html: Io ha legite e accepta le politica de confidentialitate progress: confirm: Confirmar e-mail details: Tu detalios @@ -1166,8 +1180,11 @@ ia: use_security_key: Usar clave de securitate author_attribution: example_title: Texto de exemplo + hint_html: Scribe tu articulos de novas o de blog foras de Mastodon? Controla le maniera in que tu recipe attribution quando on los condivide sur Mastodon. + instructions: 'Assecura te que iste codice appare in le HTML de tu articulo:' more_from_html: Plus de %{name} s_blog: Blog de %{name} + then_instructions: Postea, adde le nomine de dominio del publication in le campo sequente. title: Attribution de autor challenge: confirm: Continuar diff --git a/config/locales/id.yml b/config/locales/id.yml index 9c31daf420705e..34b690828d6625 100644 --- a/config/locales/id.yml +++ b/config/locales/id.yml @@ -711,7 +711,6 @@ id: original_status: Kiriman asli reblogs: Reblog status_changed: Kiriman diubah - title: Status akun - @%{name} trending: Sedang tren visibility: Visibilitas with_media: Dengan media diff --git a/config/locales/ie.yml b/config/locales/ie.yml index d7df83ef6956f0..f006f2c8adc9a4 100644 --- a/config/locales/ie.yml +++ b/config/locales/ie.yml @@ -791,7 +791,6 @@ ie: original_status: Original posta reblogs: Boosts status_changed: Posta modificat - title: Postas del conto - @%{name} trending: Populari visibility: Visibilitá with_media: Con medie diff --git a/config/locales/io.yml b/config/locales/io.yml index 1ff5d98bf2daf3..83c92484ff4fc5 100644 --- a/config/locales/io.yml +++ b/config/locales/io.yml @@ -779,7 +779,6 @@ io: original_status: Originala posto reblogs: Dissemi status_changed: Posto chanjita - title: Kontoposti - @%{name} trending: Populara visibility: Videbleso with_media: Kun medii diff --git a/config/locales/is.yml b/config/locales/is.yml index 9ba29f2af0ab88..cad01257fd3845 100644 --- a/config/locales/is.yml +++ b/config/locales/is.yml @@ -828,8 +828,10 @@ is: back_to_account: Fara aftur á síðu notandaaðgangsins back_to_report: Til baka á kærusíðu batch: + add_to_report: 'Bæta við skýrslu #%{id}' remove_from_report: Fjarlægja úr kæru report: Kæra + contents: Efni deleted: Eytt favourites: Eftirlæti history: Útgáfuferill @@ -838,13 +840,17 @@ is: media: title: Myndefni metadata: Lýsigögn + no_history: Færslunni hefur ekki verið breytt no_status_selected: Engum færslum var breytt þar sem engar voru valdar open: Opna færslu original_status: Upprunaleg færsla reblogs: Endurbirtingar + replied_to_html: Svaraði til %{acct_link} status_changed: Færslu breytt - title: Færslur notandaaðgangs - @%{name} + status_title: Færsla frá @%{name} + title: Færslur notanda - @%{name} trending: Vinsælt + view_publicly: Skoða opinberlega visibility: Sýnileiki with_media: Með myndefni strikes: diff --git a/config/locales/it.yml b/config/locales/it.yml index 08e224ad94adc7..4c083fd006e48c 100644 --- a/config/locales/it.yml +++ b/config/locales/it.yml @@ -818,8 +818,10 @@ it: back_to_account: Torna alla pagina dell'account back_to_report: Torna alla pagina del report batch: + add_to_report: 'Aggiungi alla segnalazione #%{id}' remove_from_report: Rimuovi dal report report: Rapporto + contents: Contenuti deleted: Cancellato favourites: Preferiti history: Cronologia delle versioni @@ -828,13 +830,17 @@ it: media: title: Media metadata: Metadati + no_history: Questo post non è stato modificato no_status_selected: Nessun status è stato modificato perché nessuno era stato selezionato open: Apri il post original_status: Post originale reblogs: Condivisioni + replied_to_html: Risposta a %{acct_link} status_changed: Post modificato - title: Gli status dell'account - @%{name} + status_title: Post di @%{name} + title: Post dell'account - @%{name} trending: Di tendenza + view_publicly: Visualizza pubblicamente visibility: Visibilità with_media: con media strikes: diff --git a/config/locales/ja.yml b/config/locales/ja.yml index 76152c374401fa..810de2b22785a4 100644 --- a/config/locales/ja.yml +++ b/config/locales/ja.yml @@ -184,6 +184,7 @@ ja: create_domain_block: ドメインブロックを作成 create_email_domain_block: メールドメインブロックを作成 create_ip_block: IPルールを作成 + create_relay: リレーの追加 create_unavailable_domain: 配送できないドメインを作成 create_user_role: ロールを作成 demote_user: ユーザーを降格 @@ -195,14 +196,17 @@ ja: destroy_email_domain_block: メールドメインブロックを削除 destroy_instance: ドメインをブロックする destroy_ip_block: IPルールを削除 + destroy_relay: リレーの削除 destroy_status: 投稿を削除 destroy_unavailable_domain: 配送できないドメインを削除 destroy_user_role: ロールを削除 disable_2fa_user: 二要素認証を無効化 disable_custom_emoji: カスタム絵文字を無効化 + disable_relay: リレーの無効化 disable_sign_in_token_auth_user: ユーザのメールトークン認証を無効化 disable_user: ユーザーを無効化 enable_custom_emoji: カスタム絵文字を有効化 + enable_relay: リレーの有効化 enable_sign_in_token_auth_user: ユーザのメールトークン認証を有効化 enable_user: ユーザーを有効化 memorialize_account: 追悼アカウント化 @@ -244,6 +248,7 @@ ja: create_domain_block_html: "%{name}さんがドメイン %{target}をブロックしました" create_email_domain_block_html: "%{name} さんがメールドメイン %{target} をブロックしました" create_ip_block_html: "%{name}さんがIP %{target}のルールを作成しました" + create_relay_html: "%{name} さんがリレー %{target} を追加しました" create_unavailable_domain_html: "%{name}がドメイン %{target}への配送を停止しました" create_user_role_html: "%{name}さんがロール『%{target}』を作成しました" demote_user_html: "%{name}さんが%{target}さんを降格しました" @@ -252,17 +257,20 @@ ja: destroy_custom_emoji_html: "%{name}さんがカスタム絵文字『%{target}』を削除しました" destroy_domain_allow_html: "%{name}さんが%{target}の連合許可を外しました" destroy_domain_block_html: "%{name}さんがドメイン %{target}のブロックを外しました" - destroy_email_domain_block_html: "%{name} がメールドメイン %{target} のブロックを外しました" + destroy_email_domain_block_html: "%{name} さんがメールドメイン %{target} のブロックを外しました" destroy_instance_html: "%{name}さんがドメイン %{target}をブロックしました" destroy_ip_block_html: "%{name}さんが IP %{target}のルールを削除しました" + destroy_relay_html: "%{name} さんがリレー %{target} を削除しました" destroy_status_html: "%{name}さんが%{target}さんの投稿を削除しました" destroy_unavailable_domain_html: "%{name}がドメイン %{target}への配送を再開しました" destroy_user_role_html: "%{name}さんがロール『%{target}』を削除しました" disable_2fa_user_html: "%{name}さんが%{target}さんの二要素認証を無効化しました" disable_custom_emoji_html: "%{name}さんがカスタム絵文字 %{target}を無効化しました" + disable_relay_html: "%{name} さんがリレー %{target} を無効にしました" disable_sign_in_token_auth_user_html: "%{name} が %{target} のメールトークン認証を無効化しました" disable_user_html: "%{name}さんが%{target}さんのログインを無効化しました" enable_custom_emoji_html: "%{name}さんがカスタム絵文字 %{target}を有効化しました" + enable_relay_html: "%{name} さんがリレー %{target} を有効にしました" enable_sign_in_token_auth_user_html: "%{name} が %{target} のメールトークン認証を有効化しました" enable_user_html: "%{name}さんが%{target}さんのログインを有効化しました" memorialize_account_html: "%{name}さんが%{target}さんを追悼アカウントページに登録しました" @@ -804,8 +812,10 @@ ja: back_to_account: アカウントページに戻る back_to_report: 通報ページに戻る batch: + add_to_report: 'レポート #%{id} に追加' remove_from_report: 通報から削除 report: 通報 + contents: 投稿内容 deleted: 削除済み favourites: お気に入り history: 更新履歴 @@ -814,13 +824,17 @@ ja: media: title: メディア metadata: メタデータ + no_history: この投稿は編集されていません no_status_selected: 何も選択されていないため、変更されていません open: 投稿を開く original_status: オリジナルの投稿 reblogs: ブースト + replied_to_html: "%{acct_link}さんへの返信" status_changed: 投稿を変更しました + status_title: "@%{name} の投稿" title: 投稿一覧 - @%{name} trending: トレンド + view_publicly: 元の投稿を開く visibility: 公開範囲 with_media: メディアあり strikes: diff --git a/config/locales/ka.yml b/config/locales/ka.yml index 93f7a39dc38ffd..f3178be8d386a8 100644 --- a/config/locales/ka.yml +++ b/config/locales/ka.yml @@ -190,7 +190,6 @@ ka: media: title: მედია no_status_selected: სატუსები არ შეცვლილა, რადგან არცერთი არ მონიშნულა - title: ანგარიშის სტატუსები - @%{name} with_media: მედიით title: ადმინისტრაცია admin_mailer: diff --git a/config/locales/kab.yml b/config/locales/kab.yml index c74540cfbfacd1..1f5c5ded79cdfe 100644 --- a/config/locales/kab.yml +++ b/config/locales/kab.yml @@ -419,7 +419,6 @@ kab: media: title: Amidya open: Ldi tasuffeɣt - title: Tisuffaɣ n umiḍan - @%{name} trending: Ayen mucaɛen visibility: Abani with_media: S umidya diff --git a/config/locales/kk.yml b/config/locales/kk.yml index 4b9cef245e1dc2..7ab33b31344016 100644 --- a/config/locales/kk.yml +++ b/config/locales/kk.yml @@ -285,7 +285,6 @@ kk: media: title: Медиa no_status_selected: Бірде-бір статус өзгерген жоқ, себебі ештеңе таңдалмады - title: Аккаунт статустары - @%{name} with_media: Медиамен tags: review: Статусты көрсету diff --git a/config/locales/ko.yml b/config/locales/ko.yml index 36a13397d0fa98..3394433758ece2 100644 --- a/config/locales/ko.yml +++ b/config/locales/ko.yml @@ -814,8 +814,10 @@ ko: back_to_account: 계정으로 돌아가기 back_to_report: 신고 페이지로 돌아가기 batch: + add_to_report: '신고 #%{id}에 추가' remove_from_report: 신고에서 제거 report: 신고 + contents: 내용 deleted: 삭제됨 favourites: 좋아요 history: 버전 이력 @@ -824,13 +826,17 @@ ko: media: title: 미디어 metadata: 메타데이터 + no_history: 이 게시물은 수정되지 않았습니다 no_status_selected: 아무 것도 선택 되지 않아 어떤 게시물도 바뀌지 않았습니다 open: 게시물 열기 original_status: 원본 게시물 reblogs: 리블로그 + replied_to_html: "%{acct_link} 님에게 답장" status_changed: 게시물 변경됨 + status_title: "@%{name} 님의 게시물" title: 계정 게시물 - @%{name} trending: 유행 중 + view_publicly: 공개시점으로 보기 visibility: 공개 설정 with_media: 미디어 있음 strikes: diff --git a/config/locales/ku.yml b/config/locales/ku.yml index 54188d25146365..5337610992c5a1 100644 --- a/config/locales/ku.yml +++ b/config/locales/ku.yml @@ -720,7 +720,6 @@ ku: original_status: Şandiyê resen reblogs: Ji nû ve nivîsandin status_changed: Şandî hate guhertin - title: Şandiyên ajimêr - @%{name} trending: Rojev visibility: Xuyabarî with_media: Bi medya yê re diff --git a/config/locales/lad.yml b/config/locales/lad.yml index 3b33888c71e006..2612ae21317962 100644 --- a/config/locales/lad.yml +++ b/config/locales/lad.yml @@ -825,7 +825,6 @@ lad: original_status: Publikasyon orijinala reblogs: Repartajasyones status_changed: Publikasyon trokada - title: Publikasyones del kuento - @%{name} trending: Trendes visibility: Vizivilita with_media: Kon multimedia diff --git a/config/locales/lt.yml b/config/locales/lt.yml index 3519cb5b32616c..65bd4456aeb24a 100644 --- a/config/locales/lt.yml +++ b/config/locales/lt.yml @@ -589,7 +589,9 @@ lt: back_to_account: Grįžti į paskyros puslapį back_to_report: Grįžti į ataskaitos puslapį batch: + add_to_report: 'Pridėti į ataskaitą #%{id}' remove_from_report: Pašalinti iš ataskaitos + contents: Turinys deleted: Ištrinta favourites: Mėgstami history: Versijų istorija @@ -598,11 +600,15 @@ lt: media: title: Medija metadata: Metaduomenys + no_history: Šis įrašas nebuvo redaguotas no_status_selected: Jokie įrašai nebuvo pakeisti, nes nė vienas buvo pasirinktas open: Atidaryti įrašą original_status: Originalus įrašas - title: Paskyros statusai - @%{name} + replied_to_html: Atsakyta į %{acct_link} + status_title: Paskelbė @%{name} + title: Paskyros įrašai – @%{name} trending: Tendencinga + view_publicly: Peržiūrėti viešai with_media: Su medija system_checks: database_schema_check: diff --git a/config/locales/lv.yml b/config/locales/lv.yml index 33b357b837f2f9..1ced1bb7d0e72e 100644 --- a/config/locales/lv.yml +++ b/config/locales/lv.yml @@ -830,7 +830,6 @@ lv: original_status: Oriģinālā ziņa reblogs: Reblogi status_changed: Ziņa mainīta - title: Konta ziņas - @%{name} trending: Aktuāli visibility: Redzamība with_media: Ar multividi diff --git a/config/locales/ms.yml b/config/locales/ms.yml index 76f914dd168f18..948ad56a54c3ff 100644 --- a/config/locales/ms.yml +++ b/config/locales/ms.yml @@ -768,7 +768,6 @@ ms: original_status: Hantaran asal reblogs: Ulang siar status_changed: Hantaran diubah - title: Hantaran akaun - @%{name} trending: Sohor kini visibility: Visibiliti with_media: Dengan media diff --git a/config/locales/my.yml b/config/locales/my.yml index b238abb051278c..44288438556c55 100644 --- a/config/locales/my.yml +++ b/config/locales/my.yml @@ -764,7 +764,6 @@ my: original_status: မူရင်းပို့စ် reblogs: Reblog များ status_changed: ပို့စ်ပြောင်းပြီးပါပြီ - title: "@%{name} - အကောင့်ပို့စ်များ" trending: လက်ရှိခေတ်စားနေခြင်း visibility: မြင်နိုင်မှု with_media: မီဒီယာနှင့်အတူ diff --git a/config/locales/nl.yml b/config/locales/nl.yml index d4a88b3bea7bdb..048214eca3e210 100644 --- a/config/locales/nl.yml +++ b/config/locales/nl.yml @@ -818,8 +818,10 @@ nl: back_to_account: Terug naar accountpagina back_to_report: Terug naar de rapportage batch: + add_to_report: 'Toevoegen aan rapport #%{id}' remove_from_report: Uit de rapportage verwijderen report: Rapportage + contents: Inhoud deleted: Verwijderd favourites: Favorieten history: Versiegeschiedenis @@ -828,12 +830,14 @@ nl: media: title: Media metadata: Metagegevens + no_history: Dit bericht is niet bewerkt no_status_selected: Er werden geen berichten gewijzigd, omdat er geen enkele werd geselecteerd open: Bericht tonen original_status: Oorspronkelijk bericht reblogs: Boosts status_changed: Bericht veranderd - title: Berichten van account - @%{name} + status_title: Bericht van @%{name} + title: Accountberichten - @%{name} trending: Trending visibility: Zichtbaarheid with_media: Met media diff --git a/config/locales/nn.yml b/config/locales/nn.yml index e04c0168f20037..dbb8b6c693ef89 100644 --- a/config/locales/nn.yml +++ b/config/locales/nn.yml @@ -826,8 +826,10 @@ nn: back_to_account: Tilbake til kontosida back_to_report: Attende til rapporteringssida batch: + add_to_report: 'Legg til rapport #%{id}' remove_from_report: Fjern fra rapport report: Rapport + contents: Innhald deleted: Sletta favourites: Favorittar history: Versjonshistorikk @@ -836,13 +838,17 @@ nn: media: title: Media metadata: Metadata + no_history: Dette innlegget har ikkje blitt redigert no_status_selected: Ingen statusar vart endra sidan ingen vart valde open: Opne innlegg original_status: Opprinnelig innlegg reblogs: Framhevingar + replied_to_html: Svarte %{acct_link} status_changed: Innlegg endret - title: Kontostatusar - @%{name} + status_title: Innlegg av @%{name} + title: Kontoinnlegg - @%{name} trending: Populært + view_publicly: Vis offentleg visibility: Synlighet with_media: Med media strikes: diff --git a/config/locales/no.yml b/config/locales/no.yml index 408fdd5ae1c7d9..8bf5daad0e57f8 100644 --- a/config/locales/no.yml +++ b/config/locales/no.yml @@ -786,7 +786,6 @@ original_status: Opprinnelig innlegg reblogs: Fremheve status_changed: Innlegg endret - title: Kontostatuser - @%{name} trending: Populært visibility: Synlighet with_media: Med media diff --git a/config/locales/oc.yml b/config/locales/oc.yml index 5130977cb32e6f..5dec5ebb77366d 100644 --- a/config/locales/oc.yml +++ b/config/locales/oc.yml @@ -401,7 +401,6 @@ oc: media: title: Mèdia no_status_selected: Cap d’estatut pas cambiat estant que cap èra pas seleccionat - title: Estatuts del compte - @%{name} visibility: Visibilitat with_media: Amb mèdia system_checks: diff --git a/config/locales/pl.yml b/config/locales/pl.yml index c5d63e1d73e6d0..48a881a61b82f8 100644 --- a/config/locales/pl.yml +++ b/config/locales/pl.yml @@ -861,7 +861,6 @@ pl: original_status: Oryginalny post reblogs: Podbicia status_changed: Post zmieniony - title: Wpisy konta - @%{name} trending: Popularne visibility: Widoczność with_media: Z zawartością multimedialną diff --git a/config/locales/pt-BR.yml b/config/locales/pt-BR.yml index c5a0f3764a9722..537dee5f74041c 100644 --- a/config/locales/pt-BR.yml +++ b/config/locales/pt-BR.yml @@ -826,8 +826,10 @@ pt-BR: back_to_account: Voltar para página da conta back_to_report: Voltar às denúncias batch: + add_to_report: 'Adicionar à denúncia #%{id}' remove_from_report: Remover da denúncia report: Denunciar + contents: Conteúdos deleted: Excluídos favourites: Favoritos history: Histórico de versões @@ -836,13 +838,17 @@ pt-BR: media: title: Mídia metadata: Metadados + no_history: Esta publicação não foi editada no_status_selected: Nenhuma publicação foi modificada porque nenhuma estava selecionada open: Publicação aberta original_status: Publicação original reblogs: Reblogs + replied_to_html: Respondeu à %{acct_link} status_changed: Publicação alterada + status_title: Publicação de @%{name} title: Publicações da conta - @%{name} trending: Em alta + view_publicly: Ver publicamente visibility: Visibilidade with_media: Com mídia strikes: @@ -1377,9 +1383,16 @@ pt-BR: overwrite: Sobrescrever overwrite_long: Substituir os registros atuais com os novos overwrite_preambles: + blocking_html: + one: Você está prestes a trocar seu bloco de listas com mais de %{count} conta de %{filename}. + other: Você está prestes a substituir sua lista de blocos com mais de %{count} contas de %{filename}. bookmarks_html: one: Você está prestes a substituir seus salvos por até %{count} publicação de %{filename}. other: Você está prestes a substituir seus salvos por até %{count} publicações de %{filename}. + preambles: + muting_html: + one: Você está prestes a silenciar %{count} conta de %{filename}. + other: Você está prestes a silenciar mais de %{count} contas de %{filename}. preface: Você pode importar dados que você exportou de outro servidor, como a lista de pessoas que você segue ou bloqueou. recent_imports: Importações recentes states: diff --git a/config/locales/pt-PT.yml b/config/locales/pt-PT.yml index ff80948848af25..cceceb0534f8dc 100644 --- a/config/locales/pt-PT.yml +++ b/config/locales/pt-PT.yml @@ -832,7 +832,6 @@ pt-PT: original_status: Publicação original reblogs: Re-publicacões status_changed: Publicação alterada - title: Estado das contas - @%{name} trending: Em tendência visibility: Visibilidade with_media: Com media diff --git a/config/locales/ru.yml b/config/locales/ru.yml index 09d89cef9d7d8b..d9bf96c625489d 100644 --- a/config/locales/ru.yml +++ b/config/locales/ru.yml @@ -869,7 +869,6 @@ ru: original_status: Оригинальный пост reblogs: Продвинули status_changed: Пост изменен - title: Посты пользователя - @%{name} trending: Популярное visibility: Видимость with_media: С файлами diff --git a/config/locales/sc.yml b/config/locales/sc.yml index 09f8ba0e0e7838..38ede0a72c19c3 100644 --- a/config/locales/sc.yml +++ b/config/locales/sc.yml @@ -582,7 +582,6 @@ sc: open: Aberi sa publicatzione original_status: Publicatzione originale status_changed: Publicatzione modificada - title: Istados de su contu - @%{name} trending: Populares visibility: Visibilidade with_media: Cun elementos multimediales diff --git a/config/locales/sco.yml b/config/locales/sco.yml index 55e0603d458bd1..ff3a730b17f686 100644 --- a/config/locales/sco.yml +++ b/config/locales/sco.yml @@ -713,7 +713,6 @@ sco: original_status: Original post reblogs: Reblogs status_changed: Post chynged - title: Accoont posts - @%{name} trending: Trendin visibility: Visibility with_media: Wi media diff --git a/config/locales/si.yml b/config/locales/si.yml index b0eb1d3b0cabf2..cd4abf6451dd59 100644 --- a/config/locales/si.yml +++ b/config/locales/si.yml @@ -607,7 +607,6 @@ si: open: ලිපිය අරින්න original_status: මුල් ලිපිය status_changed: ලිපිය සංශෝධිතයි - title: ගිණුමේ ලිපි - @%{name} trending: නැගී එන with_media: මාධ්‍ය සමඟ strikes: diff --git a/config/locales/simple_form.ga.yml b/config/locales/simple_form.ga.yml index 62d59235bf2aa5..f8257a9da9dd10 100644 --- a/config/locales/simple_form.ga.yml +++ b/config/locales/simple_form.ga.yml @@ -10,6 +10,7 @@ ga: indexable: Seans go mbeidh do phostálacha poiblí le feiceáil sna torthaí cuardaigh ar Mastodon. Seans go mbeidh daoine a d’idirghníomhaigh le do phostálacha in ann iad a chuardach beag beann ar. note: 'Is féidir leat @trá a dhéanamh ar dhaoine eile nó #hashtags.' show_collections: Beidh daoine in ann brabhsáil trí do seo a leanas agus do leanúna. Feicfidh na daoine a leanann tú go leanann tú iad beag beann ar. + unlocked: Beidh daoine in ann tú a leanúint gan cead a iarraidh. Díthiceáil an dteastaíonn uait athbhreithniú a dhéanamh ar iarratais leantacha agus roghnaigh cé acu an nglacfaidh nó an diúltóidh tú do leantóirí nua. account_alias: acct: Sonraigh ainm@fearann don chuntas ar mhaith leat aistriú uaidh account_migration: diff --git a/config/locales/simple_form.ia.yml b/config/locales/simple_form.ia.yml index 5ac75aafb1a14c..1a405980c027a2 100644 --- a/config/locales/simple_form.ia.yml +++ b/config/locales/simple_form.ia.yml @@ -3,12 +3,14 @@ ia: simple_form: hints: account: + attribution_domains_as_text: Un per linea. Protege contra false attributiones. discoverable: Tu messages public e tu profilo pote esser mittite in evidentia o recommendate in varie areas de Mastodon e tu profilo pote esser suggerite a altere usatores. display_name: Tu prenomine e nomine de familia o tu pseudonymo. fields: Tu pagina principal, pronomines, etate, tote lo que tu vole. indexable: Tu messages public pote apparer in le resultatos de recerca sur Mastodon. Le personas qui ha interagite con tu messages pote cercar los in omne caso. note: 'Tu pote @mentionar altere personas o #hashtags.' show_collections: Le gente potera percurrer le listas de personas que tu seque e qui te seque. Le personas que tu seque videra que tu les seque in omne caso. + unlocked: Le personas potera sequer te sin requestar approbation. Dismarca si tu vole revider le requestas de sequimento e seliger si acceptar o rejectar nove sequitores. account_alias: acct: Specifica le nomine_de_usator@dominio del conto desde le qual tu vole migrar account_migration: @@ -129,6 +131,7 @@ ia: name: Tu pote solmente cambiar le litteras inter majusculas e minusculas, per exemplo, pro render lo plus legibile user: chosen_languages: Si marcate, solo le messages in le linguas seligite sera monstrate in chronologias public + role: Le rolo controla qual permissos le usator ha. user_role: color: Color a esser usate pro le rolo in omne parte del UI, como RGB in formato hexadecimal highlighted: Iste rende le rolo publicamente visibile @@ -141,6 +144,7 @@ ia: url: Ubi le eventos essera inviate labels: account: + attribution_domains_as_text: Sitos web autorisate a accreditar te discoverable: Evidentiar le profilo e messages in le algorithmos de discoperta fields: name: Etiquetta @@ -209,6 +213,7 @@ ia: setting_default_privacy: Confidentialitate del messages setting_default_sensitive: Sempre marcar le medios cmo sensbile setting_delete_modal: Monstrar le dialogo de confirmation ante deler un message + setting_disable_hover_cards: Disactivar le previsualisation de profilos al passar del mus setting_disable_swiping: Disactivar le movimentos per glissamento setting_display_media: Visualisation de medios setting_display_media_default: Predefinite diff --git a/config/locales/simple_form.pt-BR.yml b/config/locales/simple_form.pt-BR.yml index 0c6be63aaae1e1..fca59515f0f22d 100644 --- a/config/locales/simple_form.pt-BR.yml +++ b/config/locales/simple_form.pt-BR.yml @@ -10,6 +10,7 @@ pt-BR: indexable: Suas publicações públicas podem aparecer nos resultados da pesquisa em Mastodon. As pessoas que interagiram com suas publicações podem conseguir pesquisá-las independentemente disso. note: 'Você pode @mencionar outras pessoas ou #hashtags.' show_collections: As pessoas poderão navegar entre os seus seguidores e seguidores. As pessoas que você segue verão que você as segue independentemente disso. + unlocked: As pessoas poderão seguir você sem solicitar aprovação. Desmarque caso você queira revisar as solicitações de seguidor e escolha se queira aceitar ou rejeitar novos seguidores. account_alias: acct: Especifique o usuário@domínio de onde veio account_migration: diff --git a/config/locales/simple_form.zh-CN.yml b/config/locales/simple_form.zh-CN.yml index 5f98d73be67115..0b7edae913ca86 100644 --- a/config/locales/simple_form.zh-CN.yml +++ b/config/locales/simple_form.zh-CN.yml @@ -4,12 +4,12 @@ zh-CN: hints: account: attribution_domains_as_text: 每行一个域名。这样就可以保护作品免受虚假署名。 - discoverable: 您的公开嘟文和个人资料可能会在 Mastodon 的多个位置展示,您的个人资料可能会被推荐给其他用户。 + discoverable: 你的公开嘟文和个人资料可能会在 Mastodon 的多个位置展示,你的个人资料可能会被推荐给其他用户。 display_name: 你的全名或昵称。 fields: 你的主页、人称代词、年龄,以及任何你想要添加的内容。 - indexable: 您的公开嘟文会出现在 Mastodon 的搜索结果中。无论是否勾选,与您的嘟文有过交互的人都可能通过搜索找到它们。 - note: '你可以提及 @其他人 或 #标签 。' - show_collections: 人们将能够浏览您的关注和追随者。您关注的人会看到您关注他们。 + indexable: 你的公开嘟文会出现在 Mastodon 的搜索结果中。无论是否勾选,与你的嘟文有过交互的人都可能通过搜索找到它们。 + note: '你可以提及 @其他人 或 #话题标签 。' + show_collections: 人们将能够浏览你的关注和追随者。你关注的人会看到你关注他们。 unlocked: 人们将能够在不请求批准的情况下关注你。如果你希望审核关注请求并选择接受或拒绝新的关注者,请取消勾选此项。 account_alias: acct: 指定你想要迁移过来的原账号:用户名@站点域名 @@ -62,7 +62,7 @@ zh-CN: setting_display_media_show_all: 始终显示媒体 setting_use_blurhash: 渐变是基于模糊后的隐藏内容生成的 setting_use_pending_items: 关闭自动滚动更新,时间轴会在点击后更新 - username: 您只能使用字母、数字和下划线 + username: 你只能使用字母、数字和下划线 whole_word: 如果关键词只包含字母和数字,将只在词语完全匹配时才会应用 domain_allow: domain: 该站点将能够从该服务器上拉取数据,并处理和存储收到的数据。 @@ -87,7 +87,7 @@ zh-CN: favicon: WEBP、PNG、GIF 或 JPG。使用自定义图标覆盖 Mastodon 的默认图标。 mascot: 覆盖高级网页界面中的绘图形象。 media_cache_retention_period: 来自外站用户嘟文的媒体文件将被缓存到你的实例上。当该值被设为正值时,缓存的媒体文件将在指定天数后被清除。如果媒体文件在被清除后重新被请求,且源站内容仍然可用,它将被重新下载。由于链接预览卡拉取第三方站点的频率受到限制,建议将此值设置为至少 14 天,如果小于该值,链接预览卡将不会按需更新。 - peers_api_enabled: 此服务器在联邦宇宙中遇到的域名列表。 这里不包含关于您是否与给定服务器联合的数据,只是您的服务器知道它。 这由收集一般意义上的联邦统计信息的服务使用。 + peers_api_enabled: 此服务器在联邦宇宙中遇到的实例列表。 此处不包含关于您是否与给定服务器联合的数据,只是您的服务器知道它。 这由收集一般意义上的联邦统计信息的服务使用。 profile_directory: 个人资料目录会列出所有选择可被发现的用户。 require_invite_text: 当注册需要手动批准时,将“你为什么想要加入?”设为必填项 site_contact_email: 他人需要询恰法务或支持信息时的联络方式 @@ -125,7 +125,7 @@ zh-CN: otp: 输入你手机应用上生成的双因素认证代码,或者任意一个恢复代码: webauthn: 如果是 USB 密钥,请确保将其插入,如有必要,请点击它。 settings: - indexable: 您的个人资料页面可能会出现在Google、Bing等搜索结果中。 + indexable: 你的个人资料页面可能会出现在Google、Bing等搜索结果中。 show_application: 无论如何,你始终可以看到是哪个应用发布了你的嘟文。 tag: name: 你只能改变字母的大小写,让它更易读 @@ -257,7 +257,7 @@ zh-CN: peers_api_enabled: 在API中公开的已知实例的服务器的列表 profile_directory: 启用用户目录 registrations_mode: 谁可以注册 - require_invite_text: 注册前需要提供理由 + require_invite_text: 注册时需要提供理由 show_domain_blocks: 显示域名屏蔽列表 show_domain_blocks_rationale: 显示域名屏蔽原因 site_contact_email: 联系邮箱 @@ -292,13 +292,13 @@ zh-CN: notification_emails: appeal: 有人对审核结果提出申诉 digest: 发送摘要邮件 - favourite: 当有用户喜欢了我的嘟文时,发送电子邮件提醒我 - follow: 有用户关注我时 - follow_request: 有用户向我发送关注请求时 - mention: 有用户提及我时 - pending_account: 有账号需要审核时 - reblog: 有用户转嘟我的嘟文时 - report: 新举报已提交 + favourite: 有用户喜欢了我的嘟文 + follow: 有人关注了我 + follow_request: 有人向我发送了关注请求 + mention: 有人提到了我 + pending_account: 有账号需要审核 + reblog: 有人转嘟了我的嘟文 + report: 有人提交了新举报 software_updates: all: 通知所有更新 critical: 仅在有关键更新时通知 @@ -328,8 +328,8 @@ zh-CN: position: 优先级 webhook: events: 已启用事件 - template: 载荷模板 - url: 对端 URL + template: Payload 模板 + url: 端点 URL 'no': 否 not_recommended: 不推荐 overridden: 已覆盖 diff --git a/config/locales/sk.yml b/config/locales/sk.yml index d576bf0382d625..c946b8abf1a7e9 100644 --- a/config/locales/sk.yml +++ b/config/locales/sk.yml @@ -684,7 +684,6 @@ sk: open: Otvor príspevok original_status: Pôvodný príspevok status_changed: Príspevok bol zmenený - title: Príspevky na účte - @%{name} trending: Populárne visibility: Viditeľnosť with_media: S médiami diff --git a/config/locales/sl.yml b/config/locales/sl.yml index 6ae239d69f67be..909b89e5a9e77e 100644 --- a/config/locales/sl.yml +++ b/config/locales/sl.yml @@ -853,7 +853,6 @@ sl: original_status: Izvorna objava reblogs: Ponovljeni blogi status_changed: Objava spremenjena - title: Objave računa - @%{name} trending: V trendu visibility: Vidnost with_media: Z mediji diff --git a/config/locales/sq.yml b/config/locales/sq.yml index b1e2a4f61e9f50..e9247ef365960a 100644 --- a/config/locales/sq.yml +++ b/config/locales/sq.yml @@ -823,8 +823,10 @@ sq: back_to_account: Mbrapsht te faqja e llogarisë back_to_report: Mbrapsht te faqja e raportimit batch: + add_to_report: 'Shtoje te raportimi #%{id}' remove_from_report: Hiqe prej raportimit report: Raportojeni + contents: Lëndë deleted: E fshirë favourites: Të parapëlqyer history: Historik versioni @@ -833,13 +835,17 @@ sq: media: title: Media metadata: Tejtëdhëna + no_history: Ky postim s’është përpunuar no_status_selected: S’u ndryshua ndonjë gjendje, ngaqë s’u përzgjodh ndonjë e tillë open: Hape postimin original_status: Postim origjinal reblogs: Riblogime + replied_to_html: Iu përgjigj %{acct_link} status_changed: Postimi ndryshoi - title: Gjendje llogarish - @%{name} + status_title: Postim nga @%{name} + title: Postime llogarie - @%{name} trending: Në modë + view_publicly: Shiheni publikisht visibility: Dukshmëri with_media: Me media strikes: diff --git a/config/locales/sr-Latn.yml b/config/locales/sr-Latn.yml index 76a0f8afe976af..0b3043c47b950d 100644 --- a/config/locales/sr-Latn.yml +++ b/config/locales/sr-Latn.yml @@ -807,7 +807,6 @@ sr-Latn: original_status: Originalna objava reblogs: Deljenja status_changed: Objava promenjena - title: Statusi naloga - @%{name} trending: U trendu visibility: Vidljivost with_media: Sa multimedijom diff --git a/config/locales/sr.yml b/config/locales/sr.yml index 6a75316c23e87b..e077a40eeef511 100644 --- a/config/locales/sr.yml +++ b/config/locales/sr.yml @@ -837,7 +837,6 @@ sr: original_status: Оригинална објава reblogs: Дељења status_changed: Објава промењена - title: Статуси налога - @%{name} trending: У тренду visibility: Видљивост with_media: Са мултимедијом diff --git a/config/locales/sv.yml b/config/locales/sv.yml index 11b37f8bfc7c89..c48b45b2e8e290 100644 --- a/config/locales/sv.yml +++ b/config/locales/sv.yml @@ -826,8 +826,10 @@ sv: back_to_account: Tillbaka till kontosidan back_to_report: Tillbaka till rapportsidan batch: + add_to_report: 'Lägg till i rapport #%{id}' remove_from_report: Ta bort från rapport report: Rapportera + contents: Innehåll deleted: Raderad favourites: Favoriter history: Versionshistorik @@ -836,13 +838,16 @@ sv: media: title: Media metadata: Metadata + no_history: Detta inlägg har inte redigerats no_status_selected: Inga inlägg ändrades eftersom inga valdes open: Öppna inlägg original_status: Ursprungligt inlägg reblogs: Ombloggningar status_changed: Inlägg ändrat + status_title: Inlägg av @%{name} title: Kontoinlägg - @%{name} trending: Trendande + view_publicly: Visa offentligt visibility: Synlighet with_media: Med media strikes: diff --git a/config/locales/th.yml b/config/locales/th.yml index 32f2b30292c7c0..5178506bab6db1 100644 --- a/config/locales/th.yml +++ b/config/locales/th.yml @@ -819,7 +819,6 @@ th: original_status: โพสต์ดั้งเดิม reblogs: การดัน status_changed: เปลี่ยนโพสต์แล้ว - title: โพสต์ของบัญชี - @%{name} trending: กำลังนิยม visibility: การมองเห็น with_media: มีสื่อ diff --git a/config/locales/tr.yml b/config/locales/tr.yml index 2eafed1b4788b8..a0002070c6f617 100644 --- a/config/locales/tr.yml +++ b/config/locales/tr.yml @@ -826,8 +826,10 @@ tr: back_to_account: Hesap sayfasına geri dön back_to_report: Bildirim sayfasına geri dön batch: + add_to_report: 'Rapora ekle #%{id}' remove_from_report: Bildirimden kaldır report: Bildirim + contents: İçerikler deleted: Silindi favourites: Favoriler history: Sürüm geçmişi @@ -836,13 +838,17 @@ tr: media: title: Medya metadata: Üstveri + no_history: Bu gönderi düzenlenmemiş no_status_selected: Hiçbiri seçilmediğinden hiçbir durum değiştirilmedi open: Gönderiyi aç original_status: Özgün gönderi reblogs: Yeniden Paylaşımlar + replied_to_html: Yanıtladı %{acct_link} status_changed: Gönderi değişti - title: Hesap durumları - @%{name} + status_title: Gönderen @%{name} + title: Hesap gönderileri - @%{name} trending: Öne çıkanlar + view_publicly: Herkese Açık Görüntüle visibility: Görünürlük with_media: Medya ile strikes: diff --git a/config/locales/uk.yml b/config/locales/uk.yml index 7ea76b2a75d1e3..68ca10c0ccbdbf 100644 --- a/config/locales/uk.yml +++ b/config/locales/uk.yml @@ -861,7 +861,6 @@ uk: original_status: Оригінальний допис reblogs: Поширення status_changed: Допис змінено - title: Дописи облікових записів - @%{name} trending: Популярне visibility: Видимість with_media: З медіа diff --git a/config/locales/vi.yml b/config/locales/vi.yml index 71c4357f2f2ce7..acc69f96cd9267 100644 --- a/config/locales/vi.yml +++ b/config/locales/vi.yml @@ -812,8 +812,10 @@ vi: back_to_account: Quay lại trang tài khoản back_to_report: Quay lại trang báo cáo batch: + add_to_report: 'Thêm vào báo cáo #%{id}' remove_from_report: Xóa khỏi báo cáo report: Báo cáo + contents: Nội dung deleted: Đã xóa favourites: Lượt thích history: Lịch sử phiên bản @@ -822,13 +824,17 @@ vi: media: title: Media metadata: Metadata + no_history: Tút này chưa được chỉnh sửa no_status_selected: Bạn chưa chọn bất kỳ tút nào open: Mở tút original_status: Tút gốc reblogs: Lượt đăng lại + replied_to_html: Trả lời đến %{acct_link} status_changed: Tút đã sửa - title: Tất cả tút - @%{name} + status_title: Đăng bởi @%{name} + title: Tút từ tài khoản - @%{name} trending: Xu hướng + view_publicly: Xem công khai visibility: Hiển thị with_media: Có media strikes: diff --git a/config/locales/zh-CN.yml b/config/locales/zh-CN.yml index cae0efee57ea8a..7dc0f3d9494f0c 100644 --- a/config/locales/zh-CN.yml +++ b/config/locales/zh-CN.yml @@ -10,7 +10,7 @@ zh-CN: followers: other: 关注者 following: 正在关注 - instance_actor_flash: 该账号用来代表虚拟角色,并不代表个人用户,仅代表服务器本身。该账号用于达成互联之目的,不应该被停用。 + instance_actor_flash: 该账号用来代表虚拟角色,并不代表个人用户,仅代表服务器本身。该账号用于联合目的,不应该被停用。 last_active: 最近活动 link_verified_on: 此链接的所有权已在 %{date} 检查 nothing_here: 空空如也! @@ -24,7 +24,7 @@ zh-CN: account_actions: action: 执行操作 already_silenced: 此账户已受限。 - already_suspended: 此帐户已被封禁。 + already_suspended: 此账户已被封禁。 title: 在 %{acct} 上执行管理操作 account_moderation_notes: create: 新建记录 @@ -86,9 +86,9 @@ zh-CN: title: 位置 login_status: 登录状态 media_attachments: 媒体文件 - memorialize: 设置为追悼账户 - memorialized: 被悼念 - memorialized_msg: 成功将 %{username} 转换为悼念账号 + memorialize: 设为追悼账户 + memorialized: 已设为追悼账户 + memorialized_msg: 成功将 %{username} 转换为追悼账户 moderation: active: 活跃 all: 全部 @@ -98,8 +98,8 @@ zh-CN: suspended: 已封禁 title: 管理 moderation_notes: 管理记录 - most_recent_activity: 最后一次活跃的时间 - most_recent_ip: 最后一次活跃的 IP 地址 + most_recent_activity: 最后活跃时间 + most_recent_ip: 最后活跃IP no_account_selected: 因为没有选中任何账号,所以没有更改 no_limits_imposed: 无限制 no_role_assigned: 未定角色 @@ -167,7 +167,7 @@ zh-CN: view_domain: 查看域名摘要 warn: 警告 web: 站内页面 - whitelisted: 允许跨站交互 + whitelisted: 允许联合 action_logs: action_types: approve_appeal: 批准申诉 @@ -209,7 +209,7 @@ zh-CN: enable_relay: 启用中继站 enable_sign_in_token_auth_user: 为用户启用邮件令牌身份验证 enable_user: 启用用户 - memorialize_account: 将账户设为追悼模式 + memorialize_account: 设为追悼账户 promote_user: 给用户升任 reject_appeal: 驳回申诉 reject_user: 拒绝用户 @@ -244,7 +244,7 @@ zh-CN: create_announcement_html: "%{name} 创建了新公告 %{target}" create_canonical_email_block_html: "%{name} 封禁了 hash 为 %{target} 的邮箱地址" create_custom_emoji_html: "%{name} 添加了新的自定义表情 %{target}" - create_domain_allow_html: "%{name} 允许了和域名 %{target} 的跨站交互" + create_domain_allow_html: "%{name} 允许了与实例 %{target} 的联合" create_domain_block_html: "%{name} 屏蔽了域名 %{target}" create_email_domain_block_html: "%{name} 封禁了邮箱域名 %{target}" create_ip_block_html: "%{name} 为 IP %{target} 创建了规则" @@ -255,7 +255,7 @@ zh-CN: destroy_announcement_html: "%{name} 删除了公告 %{target}" destroy_canonical_email_block_html: "%{name} 解封了 hash 为 %{target} 的邮箱地址" destroy_custom_emoji_html: "%{name} 删除了自定义表情 %{target}" - destroy_domain_allow_html: "%{name} 拒绝了和 %{target} 跨站交互" + destroy_domain_allow_html: "%{name} 拒绝了与实例 %{target} 的联合" destroy_domain_block_html: "%{name} 解除了对域名 %{target} 的屏蔽" destroy_email_domain_block_html: "%{name} 解封了邮箱域名 %{target}" destroy_instance_html: "%{name} 删除了实例 %{target}" @@ -301,7 +301,7 @@ zh-CN: empty: 没有找到日志 filter_by_action: 根据行为过滤 filter_by_user: 根据用户过滤 - title: 运营日志 + title: 审核日志 unavailable_instance: "(域名不可用)" announcements: destroyed_msg: 公告已删除! @@ -337,7 +337,7 @@ zh-CN: emoji: 表情 enable: 启用 enabled: 已启用 - enabled_msg: 表情启用成功 + enabled_msg: 已成功启用此表情 image_hint: 最大 %{size} 的 PNG 或 GIF list: 列表 listed: 已显示 @@ -350,7 +350,7 @@ zh-CN: shortcode_hint: 至少 2 个字符,只能使用字母、数字和下划线 title: 自定义表情 uncategorized: 未分类 - unlist: 不公开 + unlist: 隐藏 unlisted: 已隐藏 update_failed_msg: 表情更新失败 updated_msg: 表情更新成功! @@ -370,24 +370,24 @@ zh-CN: pending_users_html: other: "%{count} 个待处理用户" resolved_reports: 已处理的举报 - software: 软件 + software: 软件信息 sources: 注册来源 space: 存储使用情况 title: 信息面板 top_languages: 最活跃的语言 top_servers: 最活跃的服务器 - website: 网页端 + website: 网站 disputes: appeals: - empty: 没有发现申诉。 + empty: 未找到申诉。 title: 申诉 domain_allows: - add_new: 允许和域名跨站交互 - created_msg: 域名已被允许跨站交互 - destroyed_msg: 域名已被禁止跨站交互 + add_new: 允许与此实例联合 + created_msg: 实例已被允许联合 + destroyed_msg: 实例已被禁止联合 export: 导出 import: 导入 - undo: 不允许和该域名跨站交互 + undo: 禁止与此实例联合 domain_blocks: add_new: 添加新屏蔽域名 confirm_suspension: @@ -403,15 +403,15 @@ zh-CN: destroyed_msg: 域名屏蔽已撤销 domain: 域名 edit: 编辑域名屏蔽 - existing_domain_block: 您已经对 %{name} 设置了更严格的限制。 + existing_domain_block: 你已经对 %{name} 设置了更严格的限制。 existing_domain_block_html: 你已经对 %{name} 施加了更严格的限制,你需要先 解封。 export: 导出 import: 导入 new: create: 添加屏蔽 - hint: 域名屏蔽不会阻止该域名下的帐户进入本站的数据库,但是会对来自这个域名的帐户自动进行预先设置的管理操作。 + hint: 域名屏蔽不会阻止该域名下的账户进入本站的数据库,但是会对来自这个域名的账户自动进行预先设置的管理操作。 severity: - desc_html: 选择隐藏会将该域名下帐户发送的嘟文设置为仅关注者可见;选择封禁会将该域名下帐户发送的嘟文、媒体文件以及个人资料数据从本实例上删除;如果你只是想拒绝接收来自该域名的任何媒体文件,请选择。 + desc_html: 选择隐藏会将该域名下账户发送的嘟文设置为仅关注者可见;选择封禁会将该域名下账户发送的嘟文、媒体文件以及个人资料数据从本实例上删除;如果你只是想拒绝接收来自该域名的任何媒体文件,请选择。 noop: 无 silence: 隐藏 suspend: 封禁 @@ -456,9 +456,9 @@ zh-CN: no_file: 没有选择文件 export_domain_blocks: import: - description_html: 您即将导入域名列表,如果您不是此域名列表的作者,请仔细检查核对。 + description_html: 你即将导入域名列表,如果你不是此域名列表的作者,请仔细检查核对。 existing_relationships_warning: 现有的关注关系 - private_comment_description_html: 为了帮助您追踪域名列表来源,导入的域名列表将被添加如下的私人注释:%{comment} + private_comment_description_html: 为了帮助你追踪域名列表来源,导入的域名列表将被添加如下的私人注释:%{comment} private_comment_template: 从 %{source} 导入 %{date} title: 导入域名列表 invalid_domain_block: 由于以下错误,一个或多个域名屏蔽被跳过: %{error} @@ -494,7 +494,7 @@ zh-CN: content_policies: comment: 内部备注 description_html: 你可以设置应用于此域名所有账号和其所有子域名的内容策略。 - limited_federation_mode_description_html: 您可以选择是否允许与该联邦联合。 + limited_federation_mode_description_html: 你可以选择是否允许与此实例联合。 policies: reject_media: 拒收媒体 reject_reports: 拒收举报 @@ -529,7 +529,7 @@ zh-CN: moderation: all: 全部 limited: 受限的 - title: 运营 + title: 审核 private_comment: 私密评论 public_comment: 公开评论 purge: 删除 @@ -543,7 +543,7 @@ zh-CN: totals_time_period_hint_html: 下方显示的总数来自全部历史数据。 unknown_instance: 此服务器上目前没有此域名的记录。 invites: - deactivate_all: 撤销所有邀请链接 + deactivate_all: 全部停用 filter: all: 全部 available: 可用 @@ -563,7 +563,7 @@ zh-CN: '94670856': 3年 new: title: 创建新 IP 规则 - no_ip_block_selected: 因为没有 IP 规则被选中,所以没有更改 + no_ip_block_selected: 未选中任何 IP 规则,所以没有更改 title: IP 规则 relationships: title: "%{acct} 的关系" @@ -580,7 +580,7 @@ zh-CN: pending: 等待中继站的确认 save_and_enable: 保存并启用 setup: 设置中继连接 - signatures_not_enabled: 安全模式或限联模式启用时,中继将不会正常工作 + signatures_not_enabled: 安全模式或白名单模式启用时,中继站可能将不会正常工作 status: 状态 title: 中继站 report_notes: @@ -597,10 +597,10 @@ zh-CN: mark_as_sensitive_description_html: 被举报的嘟文将被标记为敏感,同时该账号将被标记一次处罚,以供未来同一账号再次违规时参考。 other_description_html: 查看更多控制该账号行为的选项,并自定义编写与被举报账号的通信。 resolve_description_html: 不会对被举报账号采取任何动作,举报将被关闭,也不会留下处罚记录。 - silence_description_html: 只有关注或手工搜索此账号才能查看其资料,将严重限制其触达范围。可随时撤销。关闭针对此帐户的所有举报。 - suspend_description_html: 该帐户及其所有内容将无法访问并最终被删除,且无法与该帐户进行互动。 在 30 天内可随时撤销。关闭针对此帐户的所有举报。 + silence_description_html: 只有关注或手工搜索此账号才能查看其资料,将严重限制其触达范围。可随时撤销。关闭针对此账户的所有举报。 + suspend_description_html: 该账户及其所有内容将无法访问并最终被删除,且无法与该账户进行互动。 在 30 天内可随时撤销。关闭针对此账户的所有举报。 actions_description_html: 决定采取何种措施处理此举报。如果对被举报账号采取惩罚性措施,将向其发送一封电子邮件通知。但若选中垃圾信息类别则不会发送通知。 - actions_description_remote_html: 决定采取何种行动来解决此举报。 这只会影响您的服务器如何与该远程帐户的通信并处理其内容。 + actions_description_remote_html: 决定采取何种行动来解决此举报。 这只会影响你的服务器如何与该远程账户的通信并处理其内容。 actions_no_posts: 该举报没有相关嘟文可供删除 add_to_report: 增加更多举报内容 already_suspended_badges: @@ -622,7 +622,7 @@ zh-CN: delete_and_resolve: 删除嘟文 forwarded: 已转发 forwarded_replies_explanation: 该举报来自外站用户,涉及外站内容。之所以转发给你,是因为被举报的内容是对你站点一位用户的回复。 - forwarded_to: 转发举报至 %{domain} + forwarded_to: 转发举报到 %{domain} mark_as_resolved: 标记为已处理 mark_as_sensitive: 标记为敏感内容 mark_as_unresolved: 标记为未处理 @@ -630,7 +630,7 @@ zh-CN: notes: create: 添加记录 create_and_resolve: 添加记录并标记为“已处理” - create_and_unresolve: 添加记录并重开 + create_and_unresolve: 添加备注并重新打开 delete: 删除 placeholder: 描述已经执行的操作,或其他任何相关的跟进情况… title: 备注 @@ -651,10 +651,10 @@ zh-CN: statuses_description_html: 在与该账号的通信中将引用违规内容 summary: action_preambles: - delete_html: 您即将删除 @%{acct} 的一些嘟文。 这将: - mark_as_sensitive_html: 您即将 标记 @%{acct} 的帖一些子为 敏感。这将: - silence_html: 您即将限制 @%{acct} 的帐户。 这将: - suspend_html: 您即将暂停 @%{acct} 的帐户。 这将: + delete_html: 你即将删除 @%{acct} 的一些嘟文。 这将: + mark_as_sensitive_html: 你即将 标记 @%{acct} 的帖一些子为 敏感。这将: + silence_html: 你即将限制 @%{acct} 的账户。 这将: + suspend_html: 你即将暂停 @%{acct} 的账户。 这将: actions: delete_html: 删除违规嘟文 mark_as_sensitive_html: 将违规嘟文的媒体标记为敏感 @@ -664,7 +664,7 @@ zh-CN: close_reports_html: 将针对 @%{acct}所有 报告标记为已解决 delete_data_html: 从现在起 30 天后删除 @%{acct} 的个人资料和内容,除非他们同时解除暂停。 preview_preamble_html: "@%{acct} 将收到包含以下内容的警告:" - record_strike_html: 记录一次针对 @%{acct} 的警示,以帮助您在这个帐户上的未来违规事件中得到重视。 + record_strike_html: 记录一次针对 @%{acct} 的警示,以帮助你在这个账户上的未来违规事件中得到重视。 send_email_html: 向 @%{acct} 发送警告邮件 warning_placeholder: 可选的补充理由,以说明调整的情况。 target_origin: 被举报账号的来源 @@ -685,7 +685,7 @@ zh-CN: moderation: 监察 special: 特殊 delete: 刪除 - description_html: 使用 用户角色,您可以自定义您的用户可以访问的功能和区域。 + description_html: 使用 用户角色,你可以自定义你的用户可以访问的功能和区域。 edit: 编辑 '%{name}' 角色 everyone: 默认权限 everyone_full_description_html: 这是影响到 所有用户基础角色,包括未指定角色的用户。 其他所有的角色都继承着它的权限。 @@ -706,7 +706,7 @@ zh-CN: manage_blocks_description: 允许用户屏蔽邮箱提供商和IP地址 manage_custom_emojis: 管理自定义表情 manage_custom_emojis_description: 允许用户管理服务器上的自定义表情 - manage_federation: 管理邦联 + manage_federation: 管理联合 manage_federation_description: 允许用户屏蔽或允许同其他域名的邦联,并控制消息投递能力 manage_invites: 管理邀请 manage_invites_description: 允许用户浏览和停用邀请链接 @@ -743,7 +743,7 @@ zh-CN: settings: about: manage_rules: 管理服务器规则 - preamble: 提供此服务器如何运营、资金状况等的深入信息。 + preamble: 提供此服务器如何运营、审核及资金状况等详细信息。 rules_hint: 有一个专门区域用于显示用户需要遵守的规则。 title: 关于本站 appearance: @@ -774,7 +774,7 @@ zh-CN: domain_blocks: all: 对所有人 disabled: 不对任何人 - users: 对本地已登录用户 + users: 对已登录的本站用户 registrations: moderation_recommandation: 在向所有人开放注册之前,请确保你拥有一个人手足够且反应迅速的管理团队! preamble: 控制谁可以在你的服务器上创建账号。 @@ -789,7 +789,7 @@ zh-CN: authorized_fetch: 需要跨站认证 authorized_fetch_hint: 要求外站请求通过验证能够使用户级别与服务器级别的封锁更为严格。然而,这将带来额外的性能负担、减少回复触达范围、并可能导致与一些联邦宇宙服务的兼容性问题。此外,这并不能阻止他人针对性地获取公开嘟文与账户。 authorized_fetch_overridden_hint: 由于此设置被环境变量覆盖,目前无法更改。 - federation_authentication: 强制跨站认证 + federation_authentication: 联合时强制要求身份验证 title: 服务器设置 site_uploads: delete: 删除已上传的文件 @@ -809,11 +809,13 @@ zh-CN: statuses: account: 作者 application: 应用 - back_to_account: 返回帐户信息页 + back_to_account: 返回账户信息页 back_to_report: 返回举报页 batch: + add_to_report: '添加到举报 #%{id}' remove_from_report: 从报告中移除 report: 举报 + contents: 内容 deleted: 已删除 favourites: 喜欢 history: 版本历史记录 @@ -822,13 +824,17 @@ zh-CN: media: title: 媒体文件 metadata: 元数据 + no_history: 此嘟文没有编辑历史 no_status_selected: 因为没有嘟文被选中,所以没有更改 open: 展开嘟文 original_status: 原始嘟文 reblogs: 转发 + replied_to_html: 回复给 %{acct_link} status_changed: 嘟文已编辑 - title: 帐户嘟文 - @%{name} + status_title: "@%{name} 的嘟文" + title: 该账号的嘟文 - @%{name} trending: 当前热门 + view_publicly: 以公开身份查看 visibility: 可见性 with_media: 含有媒体文件 strikes: @@ -960,7 +966,7 @@ zh-CN: tag_languages_dimension: 语言排行 tag_servers_dimension: 服务器排行 tag_servers_measure: 不同服务器 - tag_uses_measure: 总使用 + tag_uses_measure: 总使用次数 description_html: 这些是当前此服务器可见嘟文中大量出现的标签。它可以帮助用户发现其他人正关注的话题。在获得批准前不会公开显示任何标签。 listable: 可被推荐 no_tag_selected: 因为没有选中任何标签,所以没有更改 @@ -980,17 +986,17 @@ zh-CN: warning_presets: add_new: 添加新条目 delete: 删除 - edit_preset: 编辑预置警告 + edit_preset: 编辑预设警告 empty: 你尚未定义任何警告预设。 title: 预设警告 webhooks: - add_new: 新增对端 + add_new: 新增端点 delete: 删除 description_html: "Webhook 使 Mastodon 能够推送 关于所选事件的实时通知 到你自己的应用程序,进而由你的应用程序自动触发反应。" disable: 禁用 disabled: 已禁用 edit: 编辑对端 - empty: 你尚未配置任何 Webhook 对端。 + empty: 你尚未配置任何 Webhook 端点。 enable: 启用 enabled: 活跃 enabled_events: @@ -1043,14 +1049,14 @@ zh-CN: aliases: add_new: 创建别名 created_msg: 成功创建了一个新别名。你现在可以从旧账户开始迁移了。 - deleted_msg: 成功移除别名。已经无法从该帐户移动到此帐户了。 - empty: 你没有设置别名 + deleted_msg: 成功移除别名。已经无法从该账户移动到此账户了。 + empty: 你没有设置别名。 hint_html: 如果你想从另一个账号迁移到这里,可以先在这里创建一个别名。要把旧账号的关注者迁移过来,这一步是必须的。设置别名的操作是无害且可撤销的账号迁移的操作会从旧账号发起。 remove: 取消关联别名 appearance: advanced_web_interface: 高级 Web 界面 - advanced_web_interface_hint: 如果你想使用整个屏幕宽度,高级 web 界面允许您配置多个不同的栏目,可以同时看到更多的信息:主页、通知、跨站时间轴、任意数量的列表和话题标签。 - animations_and_accessibility: 动画和访问选项 + advanced_web_interface_hint: 如果你想使用整个屏幕宽度,高级 web 界面允许你配置多个不同的栏目,可以同时看到更多的信息:主页、通知、跨站时间轴、任意数量的列表和话题标签。 + animations_and_accessibility: 动画与可访问性 confirmation_dialogs: 确认对话框 discovery: 发现 localization: @@ -1090,8 +1096,8 @@ zh-CN: registration_complete: 你在 %{domain} 上的注册现已完成! welcome_title: 欢迎你,%{name}! wrong_email_hint: 如果该邮箱地址不正确,你可以在账户设置中进行更改。 - delete_account: 删除帐户 - delete_account_html: 如果你想删除你的帐户,请点击这里继续。你需要确认你的操作。 + delete_account: 删除账户 + delete_account_html: 如果你想删除你的账户,请点击这里继续。你需要确认你的操作。 description: prefix_invited_by_user: "@%{name} 邀请你加入这个Mastodon服务器!" prefix_sign_up: 现在就注册 Mastodon! @@ -1111,8 +1117,8 @@ zh-CN: privacy_policy_agreement_html: 我已阅读并同意 隐私政策 progress: confirm: 确认邮箱 - details: 您的详情 - review: 我们的复审 + details: 你的详情 + review: 我们的审核 rules: 接受规则 providers: cas: CAS @@ -1128,21 +1134,21 @@ zh-CN: preamble: 这些由 %{domain} 监察员设置和执行。 preamble_invited: 在你继续之前,请考虑 %{domain} 的管理员设定的基本规则。 title: 一些基本规则。 - title_invited: 您已经被邀请。 + title_invited: 你已经被邀请。 security: 账户安全 set_new_password: 设置新密码 setup: email_below_hint_html: 请检查你的垃圾邮件文件夹,或请求再发送一次。如果你的邮箱地址不正确,你可以更正它。 - email_settings_hint_html: 请点击我们发送给 %{email} 地址中的确认链接。我在这儿等着您。 + email_settings_hint_html: 请点击我们发送给 %{email} 地址中的确认链接。我在这儿等着你。 link_not_received: 没有收到链接? new_confirmation_instructions_sent: 你将在几分钟内收到一封带有确认链接的新邮件! title: 请检查你的收件箱 sign_in: - preamble_html: 使用您在 %{domain} 的账户和密码登录。如果您的账户托管在其他的服务器上,您将无法在此登录。 + preamble_html: 使用你在 %{domain} 的账户和密码登录。如果你的账户托管在其他的服务器上,你将无法在此登录。 title: 登录到 %{domain} sign_up: - manual_review: 您在 %{domain} 上的注册需要经由管理人员手动审核。 为了帮助我们处理您的注册,请稍微介绍一下您为什么想在 %{domain} 上注册。 - preamble: 有了这个Mastodon服务器上的账户,您就可以关注Mastodon网络上的任何其他人,无论他们的账户在哪里。 + manual_review: 你在 %{domain} 上的注册需要经由管理人员手动审核。 为了帮助我们处理你的注册,请稍微介绍一下你为什么想在 %{domain} 上注册。 + preamble: 有了这个Mastodon服务器上的账户,你就可以关注Mastodon网络上的任何其他人,无论他们的账户在哪里。 title: 让我们在 %{domain} 上开始。 status: account_status: 账户状态 @@ -1157,7 +1163,7 @@ zh-CN: author_attribution: example_title: 示例文本 hint_html: 你是否在 Mastodon 之外撰写新闻或博客文章?控制它们被分享到 Mastodon 时的署名方式。 - instructions: 请确保将这段代码放在您文章的 HTML 中: + instructions: 请确保将这段代码放在你文章的 HTML 中: more_from_html: 来自 %{name} 的更多内容 s_blog: "%{name} 的博客" then_instructions: 然后,在下面的文本框中添加你用于发布文章的域名。 @@ -1218,7 +1224,7 @@ zh-CN: approve_appeal: 批准申诉 associated_report: 相关举报 created_at: 日期 - description_html: 这些是针对您的账户采取的行动和警告,已经由 %{instance} 的工作人员发送给您。 + description_html: 这些是针对你的账户采取的行动和警告,已经由 %{instance} 的工作人员发送给你。 recipient: 发送至 reject_appeal: 驳回申诉 status: '嘟文 #%{id}' @@ -1237,7 +1243,7 @@ zh-CN: your_appeal_rejected: 你的申诉已被驳回 edit_profile: basic_information: 基本信息 - hint_html: "自定义公开资料和嘟文旁边显示的内容。当您填写完整的个人资料并设置了头像时,其他人更有可能关注您并与您互动。" + hint_html: "自定义公开资料和嘟文旁边显示的内容。当你填写完整的个人资料并设置了头像时,其他人更有可能关注你并与你互动。" other: 其他 errors: '400': 你提交的请求无效或格式不正确。 @@ -1275,7 +1281,7 @@ zh-CN: featured_tags: add_new: 添加新条目 errors: - limit: 您所推荐的话题标签数已达上限 + limit: 你所推荐的话题标签数已达上限 hint_html: "什么是精选话题标签? 它们被显示在你的公开个人资料中的突出位置,人们可以在这些标签下浏览你的公共嘟文。 它们是跟踪创作或长期项目的进度的重要工具。" filters: contexts: @@ -1321,7 +1327,7 @@ zh-CN: all_items_on_page_selected_html: other: 此页面上的所有 %{count} 项目已被选中。 all_matching_items_selected_html: - other: 所有 %{count} 匹配您搜索的项目都已被选中。 + other: 所有 %{count} 匹配你搜索的项目都已被选中。 cancel: 取消 changes_saved_msg: 更改保存成功! confirm: 确认 @@ -1332,7 +1338,7 @@ zh-CN: order_by: 排序方式 save_changes: 保存更改 select_all_matching_items: - other: 选择匹配您搜索的所有 %{count} 个项目。 + other: 选择匹配你搜索的所有 %{count} 个项目。 today: 今天 validation_errors: other: 出错啦!检查一下下面 %{count} 处出错的地方吧 @@ -1353,7 +1359,7 @@ zh-CN: overwrite_long: 将当前记录替换为新记录 overwrite_preambles: blocking_html: - other: 你即将使用来自 %{filename} 的最多 %{count} 个帐户替换你的屏蔽列表。 + other: 你即将使用来自 %{filename} 的最多 %{count} 个账户替换你的屏蔽列表。 bookmarks_html: other: 你即将使用来自 %{filename} 的最多 %{count} 条嘟文替换你的书签。 domain_blocking_html: @@ -1363,7 +1369,7 @@ zh-CN: lists_html: other: 你即将使用来自 %{filename} 的内容替换你的列表。最多将会有 %{count} 个账户 被添加到新列表。 muting_html: - other: 你即将使用来自 %{filename} 的最多 %{count} 个帐户替换你的已隐藏账户列表。 + other: 你即将使用来自 %{filename} 的最多 %{count} 个账户替换你的已隐藏账户列表。 preambles: blocking_html: other: 你即将屏蔽来自 %{filename} 的最多 %{count} 个账号。 @@ -1397,7 +1403,7 @@ zh-CN: type: 导入类型 type_groups: constructive: 关注和书签 - destructive: 屏蔽和隐藏 + destructive: 屏蔽与隐藏 types: blocking: 屏蔽列表 bookmarks: 书签 @@ -1430,14 +1436,14 @@ zh-CN: title: 邀请用户 lists: errors: - limit: 您已达到列表数量的上限 + limit: 你已达到列表数量的上限 login_activities: authentication_methods: otp: 双因素认证应用 password: 密码 sign_in_token: 邮件安全码 webauthn: 安全密钥 - description_html: 如有您无法识别的活动,请考虑更改密码并启用双因素认证。 + description_html: 如有你无法识别的活动,请考虑更改密码并启用双因素认证。 empty: 没有可用的认证记录 failed_sign_in_html: 失败的 %{method} 登录尝试,来自 %{ip} (%{browser}) successful_sign_in_html: 通过 %{method} 成功登录,来自 %{ip} (%{browser}) @@ -1495,7 +1501,7 @@ zh-CN: other_data: 不会自动移动其它数据 redirect: 在收到一个跳转通知后,你当前的账号资料将会更新,并被排除在搜索范围外 moderation: - title: 运营 + title: 审核 move_handler: carry_blocks_over_text: 这个用户迁移自你屏蔽过的 %{acct} carry_mutes_over_text: 这个用户由你隐藏过的 %{acct} 迁移而来 @@ -1523,7 +1529,7 @@ zh-CN: title: 新的关注请求 mention: action: 回复 - body: "%{name} 在嘟文中提到了你:" + body: "%{name} 提到了你:" subject: "%{name} 提到了你" title: 新的提及 poll: @@ -1585,7 +1591,7 @@ zh-CN: privacy: 隐私 privacy_hint_html: 控制你愿意向他人透露多少信息。通过浏览他人的关注列表和查看他们发嘟所用的应用,人们可以发现有趣的用户和酷炫的应用,但你可能更喜欢将其隐藏起来。 reach: 范围 - reach_hint_html: 控制您是否希望被新人发现和关注。您是否希望您的嘟文出现在“探索”页面上?您是否希望其他人在关注推荐中看到您?您是想自动接受所有新粉丝,还是对每个粉丝都进行仔细的筛选? + reach_hint_html: 控制你是否希望被新人发现和关注。你是否希望你的嘟文出现在“探索”页面上?你是否希望其他人在关注推荐中看到你?你是想自动接受所有新粉丝,还是对每个粉丝都进行仔细的筛选? search: 搜索 search_hint_html: 控制你希望被找到的方式。你想让人们通过你公开发布的内容来找到你吗?当在网络上搜索时,你是否希望Mastodon之外的人能够找到你的个人资料?请注意,我们无法保证完全排除所有搜索引擎对公开信息的索引。 title: 隐私与可达性 @@ -1593,16 +1599,16 @@ zh-CN: title: 隐私政策 reactions: errors: - limit_reached: 互动种类的限制 - unrecognized_emoji: 不是一个可识别的表情 + limit_reached: 回应种类个数超过限制 + unrecognized_emoji: 不是一个可被识别的表情 redirects: prompt: 如果你信任此链接,请单击以继续跳转。 title: 你正在离开 %{instance} 。 relationships: activity: 账号活动 - confirm_follow_selected_followers: 您确定想要关注所选的关注者吗? - confirm_remove_selected_followers: 您确定想要取关所选的关注者吗? - confirm_remove_selected_follows: 您确定要删除选定的关注着吗? + confirm_follow_selected_followers: 你确定想要关注所选的关注者吗? + confirm_remove_selected_followers: 你确定想要取关所选的关注者吗? + confirm_remove_selected_follows: 您确定要删除选定的关注者吗? dormant: 休眠 follow_failure: 无法关注选中的部分账户。 follow_selected_followers: 关注选中的关注者 @@ -1649,12 +1655,12 @@ zh-CN: generic: 未知浏览器 huawei_browser: 华为浏览器 ie: IE 浏览器 - micro_messenger: 微信 + micro_messenger: MicroMessenger nokia: Nokia S40 Ovi 浏览器 opera: 欧朋浏览器 otter: Otter phantom_js: PhantomJS - qq: QQ浏览器 + qq: QQ 浏览器 safari: Safari uc_browser: UC 浏览器 unknown_browser: 未知浏览器 @@ -1673,7 +1679,7 @@ zh-CN: ios: iOS kai_os: KaiOS linux: Linux - mac: Mac + mac: macOS unknown_platform: 未知平台 windows: Windows windows_mobile: Windows Mobile @@ -1695,15 +1701,15 @@ zh-CN: export: 导出 featured_tags: 精选的话题标签 import: 导入 - import_and_export: 导入和导出 + import_and_export: 导入与导出 migrate: 账户迁移 notifications: 邮件通知 - preferences: 首选项 + preferences: 偏好设置 profile: 个人资料 relationships: 关注管理 severed_relationships: 已断开的关系 statuses_cleanup: 自动删除嘟文 - strikes: 操作记录 + strikes: 管理处罚记录 two_factor_authentication: 双因素认证 webauthn_authentication: 安全密钥 severed_relationships: @@ -1737,7 +1743,7 @@ zh-CN: over_character_limit: 超过了 %{max} 字的限制 pin_errors: direct: 仅对被提及的用户可见的帖子不能被置顶 - limit: 你所固定的嘟文数量已达到上限 + limit: 你置顶的嘟文数量已达上限 ownership: 不能置顶别人的嘟文 reblog: 不能置顶转嘟 title: "%{name}:“%{quote}”" @@ -1747,13 +1753,13 @@ zh-CN: private_long: 只有关注你的用户能看到 public: 公开 public_long: 所有人可见,并会出现在公共时间轴上 - unlisted: 不公开 + unlisted: 悄悄公开 unlisted_long: 所有人可见,但不会出现在公共时间轴上 statuses_cleanup: enabled: 自动删除旧嘟文 - enabled_hint: 达到指定过期时间后自动删除您的嘟文,除非满足下列条件之一 + enabled_hint: 达到指定过期时间后自动删除你的嘟文,除非满足下列条件之一 exceptions: 例外 - explanation: 删除嘟文是一个消耗系统资源的耗时操作,所以这个操作会在服务器空闲时完成。因此,您的嘟文可能会在达到过期阈值之后一段时间才会被删除。 + explanation: 删除嘟文是一个消耗系统资源的耗时操作,所以这个操作会在服务器空闲时完成。因此,你的嘟文可能会在达到过期阈值之后一段时间才会被删除。 ignore_favs: 取消喜欢 ignore_reblogs: 忽略转嘟 interaction_exceptions: 基于互动的例外 @@ -1792,10 +1798,10 @@ zh-CN: tags: does_not_match_previous_name: 和之前的名称不匹配 themes: - contrast: Mastodon(高对比度) - default: Mastodon(暗色主题) - mastodon-light: Mastodon(亮色主题) - system: 自动切换(使用系统主题) + contrast: Mastodon (高对比度) + default: Mastodon (暗色) + mastodon-light: Mastodon (亮色) + system: 自动切换 (使用系统主题) time: formats: default: "%Y年%m月%d日 %H:%M" @@ -1847,10 +1853,10 @@ zh-CN: suspicious_sign_in: change_password: 更改密码 details: 以下是该次登录的详细信息: - explanation: 我们检测到有新 IP 地址登录了您的账号。 - further_actions_html: 如果不是您本人操作,我们建议您立即 %{action} 并启用双因素认证,以确保账号安全。 - subject: 已有新 IP 地址访问了您的账号 - title: 新登录 + explanation: 我们检测到有新 IP 地址登录了你的账号。 + further_actions_html: 如果不是你本人操作,我们建议你立即 %{action} 并启用双因素认证,以确保账号安全。 + subject: 已有新 IP 地址访问了你的账号 + title: 一次新登录 warning: appeal: 提交申诉 appeal_description: 如果你认为此结果有误,可以向 %{instance} 的工作人员提交申诉。 @@ -1895,7 +1901,7 @@ zh-CN: explanation: 下面是几个小贴士,希望它们能帮到你 feature_action: 了解更多 feature_audience: Mastodon 为你提供了无需中间商即可管理受众的独特可能。Mastodon 可被部署在你自己的基础设施上,允许你关注其它任何 Mastodon 在线服务器的用户,或被任何其他在线 Mastodon 服务器的用户关注,并且不受你之外的任何人控制。 - feature_audience_title: 放手去建立起你的受众 + feature_audience_title: 自由吸引你的受众 feature_control: 你最清楚你想在你自己的主页中看到什么动态。没有算法或广告浪费你的时间。你可以用一个账号关注任何 Mastodon 服务器上的任何人,并按时间顺序获得他们发布的嘟文,让你的互联网的角落更合自己的心意。 feature_control_title: 掌控自己的时间线 feature_creativity: Mastodon 支持音频、视频和图片、无障碍描述、投票、内容警告, 动画头像、自定义表情包、缩略图裁剪控制等功能,帮助你在网上尽情表达自己。无论你是要发布你的艺术作品、音乐还是播客,Mastodon 都能为你服务。 diff --git a/config/locales/zh-HK.yml b/config/locales/zh-HK.yml index 6f0a99a5b35567..752c9b5cbf0ebf 100644 --- a/config/locales/zh-HK.yml +++ b/config/locales/zh-HK.yml @@ -777,7 +777,6 @@ zh-HK: original_status: 原始帖文 reblogs: 轉發 status_changed: 帖文已變更 - title: 帳戶文章 - @%{name} trending: 熱門 visibility: 可見性 with_media: 含有媒體檔案 diff --git a/config/locales/zh-TW.yml b/config/locales/zh-TW.yml index ce6bd3e8f5c4bc..701ea0ea537b41 100644 --- a/config/locales/zh-TW.yml +++ b/config/locales/zh-TW.yml @@ -814,8 +814,10 @@ zh-TW: back_to_account: 返回帳號資訊頁面 back_to_report: 回到檢舉報告頁面 batch: + add_to_report: '新增至報告 #%{id}' remove_from_report: 自檢舉報告中移除 report: 檢舉報告 + contents: 內容 deleted: 已刪除 favourites: 最愛 history: 版本紀錄 @@ -824,13 +826,17 @@ zh-TW: media: title: 媒體檔案 metadata: 詮釋資料 + no_history: 此嘟文未曾被編輯 no_status_selected: 因未選取嘟文,所以什麼事都沒發生。 open: 公開嘟文 original_status: 原始嘟文 reblogs: 轉嘟 + replied_to_html: 回覆給 %{acct_link} status_changed: 嘟文已編輯 - title: 帳號嘟文 - @%{name} + status_title: 由 @%{name} 發嘟 + title: 嘟文帳號 - @%{name} trending: 熱門 + view_publicly: 公開檢視 visibility: 可見性 with_media: 含有媒體檔案 strikes: From be413d67de3357ad7cd601970cb9884431edad9e Mon Sep 17 00:00:00 2001 From: Matt Jankowski Date: Mon, 18 Nov 2024 04:22:09 -0500 Subject: [PATCH 225/357] `Form::Import` spec reduce factories (#32924) --- spec/models/form/import_spec.rb | 57 +++++++++------------------------ 1 file changed, 16 insertions(+), 41 deletions(-) diff --git a/spec/models/form/import_spec.rb b/spec/models/form/import_spec.rb index 22ffdfd877c0d1..e14ad6eca03523 100644 --- a/spec/models/form/import_spec.rb +++ b/spec/models/form/import_spec.rb @@ -237,51 +237,26 @@ let(:import_file) { file } let(:import_mode) { mode } - before do - subject.save - end - - it 'creates the expected rows' do - expect(account.bulk_imports.first.rows.pluck(:data)).to match_array(expected_rows) - end + before { subject.save } context 'with a BulkImport' do let(:bulk_import) { account.bulk_imports.first } - it 'creates a non-nil bulk import' do - expect(bulk_import).to_not be_nil - end - - it 'matches the subjects type' do - expect(bulk_import.type.to_sym).to eq subject.type.to_sym - end - - it 'matches the subjects original filename' do - expect(bulk_import.original_filename).to eq subject.data.original_filename - end - - it 'matches the subjects likely_mismatched? value' do - expect(bulk_import.likely_mismatched?).to eq subject.likely_mismatched? - end - - it 'matches the subject overwrite value' do - expect(bulk_import.overwrite?).to eq !!subject.overwrite # rubocop:disable Style/DoubleNegation - end - - it 'has zero processed items' do - expect(bulk_import.processed_items).to eq 0 - end - - it 'has zero imported items' do - expect(bulk_import.imported_items).to eq 0 - end - - it 'has a correct total_items value' do - expect(bulk_import.total_items).to eq bulk_import.rows.count - end - - it 'defaults to unconfirmed true' do - expect(bulk_import.state_unconfirmed?).to be true + it 'creates a bulk import with correct values' do + expect(bulk_import) + .to be_present + .and have_attributes( + type: eq(subject.type), + original_filename: eq(subject.data.original_filename), + likely_mismatched?: eq(subject.likely_mismatched?), + overwrite?: eq(!!subject.overwrite), # rubocop:disable Style/DoubleNegation + processed_items: eq(0), + imported_items: eq(0), + total_items: eq(bulk_import.rows.count), + state_unconfirmed?: be(true) + ) + expect(bulk_import.rows.pluck(:data)) + .to match_array(expected_rows) end end end From 16addf47c72ceb258e0cd020620407bb0e78f6af Mon Sep 17 00:00:00 2001 From: Matt Jankowski Date: Mon, 18 Nov 2024 04:23:07 -0500 Subject: [PATCH 226/357] Reduce long lines in `relationships/show` view (#32922) --- app/views/relationships/show.html.haml | 28 ++++++++++++++++++++++---- 1 file changed, 24 insertions(+), 4 deletions(-) diff --git a/app/views/relationships/show.html.haml b/app/views/relationships/show.html.haml index 7478b8c5ce1e90..b062a4f53d8bb3 100644 --- a/app/views/relationships/show.html.haml +++ b/app/views/relationships/show.html.haml @@ -42,13 +42,33 @@ %label.batch-table__toolbar__select.batch-checkbox-all = check_box_tag :batch_checkbox_all, nil, false .batch-table__toolbar__actions - = f.button safe_join([material_symbol('person_add'), t('relationships.follow_selected_followers')]), name: :follow, class: 'table-action-link', type: :submit, data: { confirm: t('relationships.confirm_follow_selected_followers') } if followed_by_relationship? && !mutual_relationship? + - if followed_by_relationship? && !mutual_relationship? + = f.button safe_join([material_symbol('person_add'), t('relationships.follow_selected_followers')]), + class: 'table-action-link', + data: { confirm: t('relationships.confirm_follow_selected_followers') }, + name: :follow, + type: :submit - = f.button safe_join([material_symbol('person_remove'), t('relationships.remove_selected_follows')]), name: :unfollow, class: 'table-action-link', type: :submit, data: { confirm: t('relationships.confirm_remove_selected_follows') } unless followed_by_relationship? + - unless followed_by_relationship? + = f.button safe_join([material_symbol('person_remove'), t('relationships.remove_selected_follows')]), + class: 'table-action-link', + data: { confirm: t('relationships.confirm_remove_selected_follows') }, + name: :unfollow, + type: :submit - = f.button safe_join([material_symbol('delete'), t('relationships.remove_selected_followers')]), name: :remove_from_followers, class: 'table-action-link', type: :submit, data: { confirm: t('relationships.confirm_remove_selected_followers') } unless following_relationship? + - unless following_relationship? + = f.button safe_join([material_symbol('delete'), t('relationships.remove_selected_followers')]), + class: 'table-action-link', + data: { confirm: t('relationships.confirm_remove_selected_followers') }, + name: :remove_from_followers, + type: :submit - = f.button safe_join([material_symbol('delete'), t('relationships.remove_selected_domains')]), name: :remove_domains_from_followers, class: 'table-action-link', type: :submit, data: { confirm: t('admin.reports.are_you_sure') } if followed_by_relationship? + - if followed_by_relationship? + = f.button safe_join([material_symbol('delete'), t('relationships.remove_selected_domains')]), + class: 'table-action-link', + data: { confirm: t('admin.reports.are_you_sure') }, + name: :remove_domains_from_followers, + type: :submit .batch-table__body - if @accounts.empty? = nothing_here 'nothing-here--under-tabs' From c511cbcd6cdcaf7babce610db24db55498891ecc Mon Sep 17 00:00:00 2001 From: Matt Jankowski Date: Mon, 18 Nov 2024 04:23:38 -0500 Subject: [PATCH 227/357] Extract constants for controller `LIMIT` queries (#32921) --- app/controllers/admin/instances_controller.rb | 4 +++- .../api/v1/featured_tags/suggestions_controller.rb | 4 +++- app/controllers/settings/featured_tags_controller.rb | 4 +++- app/controllers/settings/imports_controller.rb | 4 +++- 4 files changed, 12 insertions(+), 4 deletions(-) diff --git a/app/controllers/admin/instances_controller.rb b/app/controllers/admin/instances_controller.rb index d7f88a71f3698f..a48c4773ed5dd4 100644 --- a/app/controllers/admin/instances_controller.rb +++ b/app/controllers/admin/instances_controller.rb @@ -5,6 +5,8 @@ class InstancesController < BaseController before_action :set_instances, only: :index before_action :set_instance, except: :index + LOGS_LIMIT = 5 + def index authorize :instance, :index? preload_delivery_failures! @@ -13,7 +15,7 @@ def index def show authorize :instance, :show? @time_period = (6.days.ago.to_date...Time.now.utc.to_date) - @action_logs = Admin::ActionLogFilter.new(target_domain: @instance.domain).results.limit(5) + @action_logs = Admin::ActionLogFilter.new(target_domain: @instance.domain).results.limit(LOGS_LIMIT) end def destroy diff --git a/app/controllers/api/v1/featured_tags/suggestions_controller.rb b/app/controllers/api/v1/featured_tags/suggestions_controller.rb index 9c72e4380d887f..d533b1af7b0846 100644 --- a/app/controllers/api/v1/featured_tags/suggestions_controller.rb +++ b/app/controllers/api/v1/featured_tags/suggestions_controller.rb @@ -5,6 +5,8 @@ class Api::V1::FeaturedTags::SuggestionsController < Api::BaseController before_action :require_user! before_action :set_recently_used_tags, only: :index + RECENT_TAGS_LIMIT = 10 + def index render json: @recently_used_tags, each_serializer: REST::TagSerializer, relationships: TagRelationshipsPresenter.new(@recently_used_tags, current_user&.account_id) end @@ -12,6 +14,6 @@ def index private def set_recently_used_tags - @recently_used_tags = Tag.suggestions_for_account(current_account).limit(10) + @recently_used_tags = Tag.suggestions_for_account(current_account).limit(RECENT_TAGS_LIMIT) end end diff --git a/app/controllers/settings/featured_tags_controller.rb b/app/controllers/settings/featured_tags_controller.rb index 90c112e21960e7..7e29dd1d2987e2 100644 --- a/app/controllers/settings/featured_tags_controller.rb +++ b/app/controllers/settings/featured_tags_controller.rb @@ -5,6 +5,8 @@ class Settings::FeaturedTagsController < Settings::BaseController before_action :set_featured_tag, except: [:index, :create] before_action :set_recently_used_tags, only: :index + RECENT_TAGS_LIMIT = 10 + def index @featured_tag = FeaturedTag.new end @@ -38,7 +40,7 @@ def set_featured_tags end def set_recently_used_tags - @recently_used_tags = Tag.suggestions_for_account(current_account).limit(10) + @recently_used_tags = Tag.suggestions_for_account(current_account).limit(RECENT_TAGS_LIMIT) end def featured_tag_params diff --git a/app/controllers/settings/imports_controller.rb b/app/controllers/settings/imports_controller.rb index 569aa07c533ece..5346a448a3912f 100644 --- a/app/controllers/settings/imports_controller.rb +++ b/app/controllers/settings/imports_controller.rb @@ -24,6 +24,8 @@ class Settings::ImportsController < Settings::BaseController lists: false, }.freeze + RECENT_IMPORTS_LIMIT = 10 + def index @import = Form::Import.new(current_account: current_account) end @@ -96,6 +98,6 @@ def set_bulk_import end def set_recent_imports - @recent_imports = current_account.bulk_imports.reorder(id: :desc).limit(10) + @recent_imports = current_account.bulk_imports.reorder(id: :desc).limit(RECENT_IMPORTS_LIMIT) end end From d8e907fae3a1dacf450595ccfdb2864c1e12f1c3 Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Mon, 18 Nov 2024 09:25:11 +0000 Subject: [PATCH 228/357] Update dependency aws-sdk-s3 to v1.171.0 (#32901) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> --- Gemfile.lock | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/Gemfile.lock b/Gemfile.lock index 106fb0d0fde5e4..c7ab4e66fe94d9 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -97,8 +97,8 @@ GEM attr_required (1.0.2) awrence (1.2.1) aws-eventstream (1.3.0) - aws-partitions (1.1004.0) - aws-sdk-core (3.212.0) + aws-partitions (1.1008.0) + aws-sdk-core (3.213.0) aws-eventstream (~> 1, >= 1.3.0) aws-partitions (~> 1, >= 1.992.0) aws-sigv4 (~> 1.9) @@ -106,7 +106,7 @@ GEM aws-sdk-kms (1.95.0) aws-sdk-core (~> 3, >= 3.210.0) aws-sigv4 (~> 1.5) - aws-sdk-s3 (1.170.1) + aws-sdk-s3 (1.171.0) aws-sdk-core (~> 3, >= 3.210.0) aws-sdk-kms (~> 1) aws-sigv4 (~> 1.5) From 03ee08c2da6634fa1cf566580889e249181200ac Mon Sep 17 00:00:00 2001 From: Matt Jankowski Date: Mon, 18 Nov 2024 04:31:25 -0500 Subject: [PATCH 229/357] Use `nil` instead of `false` for datetime value in spec (#32926) --- spec/models/concerns/account/sensitizes_spec.rb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/spec/models/concerns/account/sensitizes_spec.rb b/spec/models/concerns/account/sensitizes_spec.rb index 3596c9a1261050..5416d40570ad91 100644 --- a/spec/models/concerns/account/sensitizes_spec.rb +++ b/spec/models/concerns/account/sensitizes_spec.rb @@ -7,7 +7,7 @@ describe '.sensitized' do let(:sensitized_account) { Fabricate :account, sensitized_at: 2.days.ago } - before { Fabricate :account, sensitized_at: false } + before { Fabricate :account, sensitized_at: nil } it 'returns an array of accounts who are sensitized' do expect(Account.sensitized) From 9a46329fbda5926aefc8fdcd9c7a19a2f516885b Mon Sep 17 00:00:00 2001 From: Emelia Smith Date: Mon, 18 Nov 2024 10:34:34 +0100 Subject: [PATCH 230/357] Streaming: add development logging of database queries (#32945) --- streaming/database.js | 33 ++++++++++++++++++++++++++++++++- streaming/index.js | 3 ++- 2 files changed, 34 insertions(+), 2 deletions(-) diff --git a/streaming/database.js b/streaming/database.js index 9f1d742143a158..60a3b34ef0fcbe 100644 --- a/streaming/database.js +++ b/streaming/database.js @@ -116,13 +116,44 @@ let pool; /** * * @param {pg.PoolConfig} config + * @param {string} environment + * @param {import('pino').Logger} logger * @returns {pg.Pool} */ -export function getPool(config) { +export function getPool(config, environment, logger) { if (pool) { return pool; } pool = new pg.Pool(config); + + // Setup logging on pool.query and client.query for checked out clients: + // This is taken from: https://node-postgres.com/guides/project-structure + if (environment === 'development') { + const logQuery = (originalQuery) => { + return async (queryTextOrConfig, values, ...rest) => { + const start = process.hrtime(); + + const result = await originalQuery.apply(pool, [queryTextOrConfig, values, ...rest]); + + const duration = process.hrtime(start); + const durationInMs = (duration[0] * 1000000000 + duration[1]) / 1000000; + + logger.debug({ + query: queryTextOrConfig, + values, + duration: durationInMs + }, 'Executed database query'); + + return result; + }; + }; + + pool.on('connect', (client) => { + const originalQuery = client.query.bind(client); + client.query = logQuery(originalQuery); + }); + } + return pool; } diff --git a/streaming/index.js b/streaming/index.js index 3e362f18604e68..e00da1bb83cee4 100644 --- a/streaming/index.js +++ b/streaming/index.js @@ -101,7 +101,8 @@ const CHANNEL_NAMES = [ ]; const startServer = async () => { - const pgPool = Database.getPool(Database.configFromEnv(process.env, environment)); + const pgConfig = Database.configFromEnv(process.env, environment); + const pgPool = Database.getPool(pgConfig, environment, logger); const metrics = setupMetrics(CHANNEL_NAMES, pgPool); From 911d7dbbf6884d3a67a074a595a5c26c6b8b5434 Mon Sep 17 00:00:00 2001 From: Eugen Rochko Date: Mon, 18 Nov 2024 10:37:01 +0100 Subject: [PATCH 231/357] Fix `min_id` and `max_id` causing error in search API (#32857) --- app/lib/search_query_transformer.rb | 20 ++++++++------------ lib/exceptions.rb | 1 - spec/lib/search_query_transformer_spec.rb | 2 +- 3 files changed, 9 insertions(+), 14 deletions(-) diff --git a/app/lib/search_query_transformer.rb b/app/lib/search_query_transformer.rb index 1306ed12edaeed..59352c6e6e34b8 100644 --- a/app/lib/search_query_transformer.rb +++ b/app/lib/search_query_transformer.rb @@ -144,6 +144,8 @@ def to_query end class PrefixClause + EPOCH_RE = /\A\d+\z/ + attr_reader :operator, :prefix, :term def initialize(prefix, operator, term, options = {}) @@ -168,15 +170,15 @@ def initialize(prefix, operator, term, options = {}) when 'before' @filter = :created_at @type = :range - @term = { lt: TermValidator.validate_date!(term), time_zone: @options[:current_account]&.user_time_zone.presence || 'UTC' } + @term = { lt: date_from_term(term), time_zone: @options[:current_account]&.user_time_zone.presence || 'UTC' } when 'after' @filter = :created_at @type = :range - @term = { gt: TermValidator.validate_date!(term), time_zone: @options[:current_account]&.user_time_zone.presence || 'UTC' } + @term = { gt: date_from_term(term), time_zone: @options[:current_account]&.user_time_zone.presence || 'UTC' } when 'during' @filter = :created_at @type = :range - @term = { gte: TermValidator.validate_date!(term), lte: TermValidator.validate_date!(term), time_zone: @options[:current_account]&.user_time_zone.presence || 'UTC' } + @term = { gte: date_from_term(term), lte: date_from_term(term), time_zone: @options[:current_account]&.user_time_zone.presence || 'UTC' } when 'in' @operator = :flag @term = term @@ -222,16 +224,10 @@ def language_code_from_term(term) term end - end - - class TermValidator - STRICT_DATE_REGEX = /\A\d{4}-\d{2}-\d{2}\z/ # yyyy-MM-dd - EPOCH_MILLIS_REGEX = /\A\d{1,19}\z/ - def self.validate_date!(value) - return value if value.match?(STRICT_DATE_REGEX) || value.match?(EPOCH_MILLIS_REGEX) - - raise Mastodon::FilterValidationError, "Invalid date #{value}" + def date_from_term(term) + DateTime.iso8601(term) unless term.match?(EPOCH_RE) # This will raise Date::Error if the date is invalid + term end end diff --git a/lib/exceptions.rb b/lib/exceptions.rb index 1910d37a13ceee..135f8126a41f80 100644 --- a/lib/exceptions.rb +++ b/lib/exceptions.rb @@ -8,7 +8,6 @@ class HostValidationError < ValidationError; end class LengthValidationError < ValidationError; end class DimensionsValidationError < ValidationError; end class StreamValidationError < ValidationError; end - class FilterValidationError < ValidationError; end class RaceConditionError < Error; end class RateLimitExceededError < Error; end class SyntaxError < Error; end diff --git a/spec/lib/search_query_transformer_spec.rb b/spec/lib/search_query_transformer_spec.rb index 9399f3503d0702..b677d88ed0a29d 100644 --- a/spec/lib/search_query_transformer_spec.rb +++ b/spec/lib/search_query_transformer_spec.rb @@ -34,7 +34,7 @@ let(:query) { "#{operator}:\"abc\"" } it 'raises an exception' do - expect { subject }.to raise_error(Mastodon::FilterValidationError, 'Invalid date abc') + expect { subject }.to raise_error(Date::Error) end end end From c0c34d35e22e5ac9c87a5bffff5b02b06f772f3a Mon Sep 17 00:00:00 2001 From: Matt Jankowski Date: Mon, 18 Nov 2024 04:57:16 -0500 Subject: [PATCH 232/357] Move self destruct check to `config_for` and add constant for verifier string (#32943) --- app/helpers/self_destruct_helper.rb | 6 ++++-- config/mastodon.yml | 1 + lib/mastodon/cli/federation.rb | 2 +- spec/helpers/self_destruct_helper_spec.rb | 22 +++++++++++++--------- 4 files changed, 19 insertions(+), 12 deletions(-) diff --git a/app/helpers/self_destruct_helper.rb b/app/helpers/self_destruct_helper.rb index 78557c25e522f2..f1927b1e043d40 100644 --- a/app/helpers/self_destruct_helper.rb +++ b/app/helpers/self_destruct_helper.rb @@ -1,9 +1,11 @@ # frozen_string_literal: true module SelfDestructHelper + VERIFY_PURPOSE = 'self-destruct' + def self.self_destruct? - value = ENV.fetch('SELF_DESTRUCT', nil) - value.present? && Rails.application.message_verifier('self-destruct').verify(value) == ENV['LOCAL_DOMAIN'] + value = Rails.configuration.x.mastodon.self_destruct_value + value.present? && Rails.application.message_verifier(VERIFY_PURPOSE).verify(value) == ENV['LOCAL_DOMAIN'] rescue ActiveSupport::MessageVerifier::InvalidSignature false end diff --git a/config/mastodon.yml b/config/mastodon.yml index 255213b4b7a698..2c09c59e0a8bc6 100644 --- a/config/mastodon.yml +++ b/config/mastodon.yml @@ -1,3 +1,4 @@ --- shared: + self_destruct_value: <%= ENV.fetch('SELF_DESTRUCT', nil) %> software_update_url: <%= ENV.fetch('UPDATE_CHECK_URL', 'https://api.joinmastodon.org/update-check') %> diff --git a/lib/mastodon/cli/federation.rb b/lib/mastodon/cli/federation.rb index c7387965573d3c..f512bca358ac76 100644 --- a/lib/mastodon/cli/federation.rb +++ b/lib/mastodon/cli/federation.rb @@ -76,7 +76,7 @@ def proceed_prompt_negative? def self_destruct_value Rails .application - .message_verifier('self-destruct') + .message_verifier(SelfDestructHelper::VERIFY_PURPOSE) .generate(Rails.configuration.x.local_domain) end end diff --git a/spec/helpers/self_destruct_helper_spec.rb b/spec/helpers/self_destruct_helper_spec.rb index 09d7347eee7ab7..dca1590764522c 100644 --- a/spec/helpers/self_destruct_helper_spec.rb +++ b/spec/helpers/self_destruct_helper_spec.rb @@ -3,19 +3,20 @@ require 'rails_helper' RSpec.describe SelfDestructHelper do - describe 'self_destruct?' do + describe '#self_destruct?' do + before { Rails.configuration.x.mastodon.self_destruct_value = destruct_value } + after { Rails.configuration.x.mastodon.self_destruct_value = nil } + context 'when SELF_DESTRUCT is unset' do + let(:destruct_value) { nil } + it 'returns false' do expect(helper.self_destruct?).to be false end end context 'when SELF_DESTRUCT is set to an invalid value' do - around do |example| - ClimateControl.modify SELF_DESTRUCT: 'true' do - example.run - end - end + let(:destruct_value) { 'true' } it 'returns false' do expect(helper.self_destruct?).to be false @@ -23,9 +24,10 @@ end context 'when SELF_DESTRUCT is set to value signed for the wrong purpose' do + let(:destruct_value) { Rails.configuration.x.mastodon.self_destruct_value = Rails.application.message_verifier('foo').generate('example.com') } + around do |example| ClimateControl.modify( - SELF_DESTRUCT: Rails.application.message_verifier('foo').generate('example.com'), LOCAL_DOMAIN: 'example.com' ) do example.run @@ -38,9 +40,10 @@ end context 'when SELF_DESTRUCT is set to value signed for the wrong domain' do + let(:destruct_value) { Rails.configuration.x.mastodon.self_destruct_value = Rails.application.message_verifier(described_class::VERIFY_PURPOSE).generate('foo.com') } + around do |example| ClimateControl.modify( - SELF_DESTRUCT: Rails.application.message_verifier('self-destruct').generate('foo.com'), LOCAL_DOMAIN: 'example.com' ) do example.run @@ -53,9 +56,10 @@ end context 'when SELF_DESTRUCT is set to a correctly-signed value' do + let(:destruct_value) { Rails.configuration.x.mastodon.self_destruct_value = Rails.application.message_verifier(described_class::VERIFY_PURPOSE).generate('example.com') } + around do |example| ClimateControl.modify( - SELF_DESTRUCT: Rails.application.message_verifier('self-destruct').generate('example.com'), LOCAL_DOMAIN: 'example.com' ) do example.run From 3e44dca0b4d914886dbd4132d5eadd43c4be4304 Mon Sep 17 00:00:00 2001 From: "Andrew W. Lee" Date: Mon, 18 Nov 2024 06:40:02 -0800 Subject: [PATCH 233/357] Change dependency from annotate to annotaterb (#30232) --- .annotaterb.yml | 59 +++++++++++++++++++++++++++++ Gemfile | 2 +- Gemfile.lock | 6 +-- lib/tasks/annotate_rb.rake | 10 +++++ lib/tasks/auto_annotate_models.rake | 46 ---------------------- 5 files changed, 72 insertions(+), 51 deletions(-) create mode 100644 .annotaterb.yml create mode 100644 lib/tasks/annotate_rb.rake delete mode 100644 lib/tasks/auto_annotate_models.rake diff --git a/.annotaterb.yml b/.annotaterb.yml new file mode 100644 index 00000000000000..df8e92b24776a0 --- /dev/null +++ b/.annotaterb.yml @@ -0,0 +1,59 @@ +--- +:position: before +:position_in_additional_file_patterns: before +:position_in_class: before +:position_in_factory: before +:position_in_fixture: before +:position_in_routes: before +:position_in_serializer: before +:position_in_test: before +:classified_sort: true +:exclude_controllers: true +:exclude_factories: true +:exclude_fixtures: true +:exclude_helpers: true +:exclude_scaffolds: true +:exclude_serializers: true +:exclude_sti_subclasses: true +:exclude_tests: true +:force: false +:format_markdown: false +:format_rdoc: false +:format_yard: false +:frozen: false +:ignore_model_sub_dir: false +:ignore_unknown_models: false +:include_version: false +:show_complete_foreign_keys: false +:show_foreign_keys: false +:show_indexes: false +:simple_indexes: false +:sort: false +:timestamp: false +:trace: false +:with_comment: true +:with_column_comments: true +:with_table_comments: true +:active_admin: false +:command: +:debug: false +:hide_default_column_types: '' +:hide_limit_column_types: 'integer,boolean' +:ignore_columns: +:ignore_routes: +:models: true +:routes: false +:skip_on_db_migrate: false +:target_action: :do_annotations +:wrapper: +:wrapper_close: +:wrapper_open: +:classes_default_to_s: [] +:additional_file_patterns: [] +:model_dir: + - app/models +:require: [] +:root_dir: + - '' + +:show_check_constraints: false diff --git a/Gemfile b/Gemfile index 47506929b064ed..c8104d094e0d26 100644 --- a/Gemfile +++ b/Gemfile @@ -172,7 +172,7 @@ group :development do gem 'rubocop-rspec_rails', require: false # Annotates modules with schema - gem 'annotate', '~> 3.2' + gem 'annotaterb', '~> 4.13' # Enhanced error message pages for development gem 'better_errors', '~> 2.9' diff --git a/Gemfile.lock b/Gemfile.lock index c7ab4e66fe94d9..09017e3fa9f7e9 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -90,9 +90,7 @@ GEM public_suffix (>= 2.0.2, < 7.0) aes_key_wrap (1.1.0) android_key_attestation (0.3.0) - annotate (3.2.0) - activerecord (>= 3.2, < 8.0) - rake (>= 10.4, < 14.0) + annotaterb (4.13.0) ast (2.4.2) attr_required (1.0.2) awrence (1.2.1) @@ -884,7 +882,7 @@ PLATFORMS DEPENDENCIES active_model_serializers (~> 0.10) addressable (~> 2.8) - annotate (~> 3.2) + annotaterb (~> 4.13) aws-sdk-s3 (~> 1.123) better_errors (~> 2.9) binding_of_caller (~> 1.0) diff --git a/lib/tasks/annotate_rb.rake b/lib/tasks/annotate_rb.rake new file mode 100644 index 00000000000000..e8368b2e940c1c --- /dev/null +++ b/lib/tasks/annotate_rb.rake @@ -0,0 +1,10 @@ +# frozen_string_literal: true + +# This rake task was added by annotate_rb gem. + +# Can set `ANNOTATERB_SKIP_ON_DB_TASKS` to be anything to skip this +if Rails.env.development? && ENV['ANNOTATERB_SKIP_ON_DB_TASKS'].nil? + require 'annotate_rb' + + AnnotateRb::Core.load_rake_tasks +end diff --git a/lib/tasks/auto_annotate_models.rake b/lib/tasks/auto_annotate_models.rake deleted file mode 100644 index 4b5997920a3533..00000000000000 --- a/lib/tasks/auto_annotate_models.rake +++ /dev/null @@ -1,46 +0,0 @@ -# frozen_string_literal: true - -if Rails.env.development? - task :set_annotation_options do - Annotate.set_defaults( - 'routes' => 'false', - 'models' => 'true', - 'position_in_routes' => 'before', - 'position_in_class' => 'before', - 'position_in_test' => 'before', - 'position_in_fixture' => 'before', - 'position_in_factory' => 'before', - 'position_in_serializer' => 'before', - 'show_foreign_keys' => 'false', - 'show_indexes' => 'false', - 'simple_indexes' => 'false', - 'model_dir' => 'app/models', - 'root_dir' => '', - 'include_version' => 'false', - 'require' => '', - 'exclude_tests' => 'true', - 'exclude_fixtures' => 'true', - 'exclude_factories' => 'true', - 'exclude_serializers' => 'true', - 'exclude_scaffolds' => 'true', - 'exclude_controllers' => 'true', - 'exclude_helpers' => 'true', - 'ignore_model_sub_dir' => 'false', - 'ignore_columns' => nil, - 'ignore_routes' => nil, - 'ignore_unknown_models' => 'false', - 'hide_limit_column_types' => 'integer,boolean', - 'skip_on_db_migrate' => 'false', - 'format_bare' => 'true', - 'format_rdoc' => 'false', - 'format_markdown' => 'false', - 'sort' => 'false', - 'force' => 'false', - 'trace' => 'false', - 'wrapper_open' => nil, - 'wrapper_close' => nil - ) - end - - Annotate.load_tasks -end From 477412d62a9b90c83cc56fdfa12b3e5af1c1c0bc Mon Sep 17 00:00:00 2001 From: Matt Jankowski Date: Mon, 18 Nov 2024 09:58:45 -0500 Subject: [PATCH 234/357] Use hash arguments to `select` when possible (Rails 7.2) (#32917) --- .../api/v1/accounts/familiar_followers_controller.rb | 2 +- app/lib/feed_manager.rb | 6 +++--- app/lib/importer/statuses_index_importer.rb | 2 +- app/models/status.rb | 10 +++++----- 4 files changed, 10 insertions(+), 10 deletions(-) diff --git a/app/controllers/api/v1/accounts/familiar_followers_controller.rb b/app/controllers/api/v1/accounts/familiar_followers_controller.rb index a49eb2eb274672..81f0a9ed0f9df9 100644 --- a/app/controllers/api/v1/accounts/familiar_followers_controller.rb +++ b/app/controllers/api/v1/accounts/familiar_followers_controller.rb @@ -12,7 +12,7 @@ def index private def set_accounts - @accounts = Account.without_suspended.where(id: account_ids).select('id, hide_collections') + @accounts = Account.without_suspended.where(id: account_ids).select(:id, :hide_collections) end def familiar_followers diff --git a/app/lib/feed_manager.rb b/app/lib/feed_manager.rb index 97cb25d58f5112..edd1162f4f689a 100644 --- a/app/lib/feed_manager.rb +++ b/app/lib/feed_manager.rb @@ -162,7 +162,7 @@ def unmerge_from_home(from_account, into_account) timeline_key = key(:home, into_account.id) timeline_status_ids = redis.zrange(timeline_key, 0, -1) - from_account.statuses.select('id, reblog_of_id').where(id: timeline_status_ids).reorder(nil).find_each do |status| + from_account.statuses.select(:id, :reblog_of_id).where(id: timeline_status_ids).reorder(nil).find_each do |status| remove_from_feed(:home, into_account.id, status, aggregate_reblogs: into_account.user&.aggregates_reblogs?) end end @@ -175,7 +175,7 @@ def unmerge_from_list(from_account, list) timeline_key = key(:list, list.id) timeline_status_ids = redis.zrange(timeline_key, 0, -1) - from_account.statuses.select('id, reblog_of_id').where(id: timeline_status_ids).reorder(nil).find_each do |status| + from_account.statuses.select(:id, :reblog_of_id).where(id: timeline_status_ids).reorder(nil).find_each do |status| remove_from_feed(:list, list.id, status, aggregate_reblogs: list.account.user&.aggregates_reblogs?) end end @@ -196,7 +196,7 @@ def unmerge_tag_from_home(from_tag, into_account) .where.not(account: into_account.following) .tagged_with_none(TagFollow.where(account: into_account).pluck(:tag_id)) - scope.select('id, reblog_of_id').reorder(nil).find_each do |status| + scope.select(:id, :reblog_of_id).reorder(nil).find_each do |status| remove_from_feed(:home, into_account.id, status, aggregate_reblogs: into_account.user&.aggregates_reblogs?) end end diff --git a/app/lib/importer/statuses_index_importer.rb b/app/lib/importer/statuses_index_importer.rb index 1922f65f6dc45a..5c8a9f28c8e6a2 100644 --- a/app/lib/importer/statuses_index_importer.rb +++ b/app/lib/importer/statuses_index_importer.rb @@ -71,7 +71,7 @@ def local_bookmarks_scope end def local_votes_scope - Poll.joins(:votes).where(votes: { account: Account.local }).select('polls.id, polls.status_id') + Poll.joins(:votes).where(votes: { account: Account.local }).select(polls: [:id, :status_id]) end def local_statuses_scope diff --git a/app/models/status.rb b/app/models/status.rb index c58de5114c7adf..5a81b0077347f1 100644 --- a/app/models/status.rb +++ b/app/models/status.rb @@ -356,23 +356,23 @@ def selectable_visibilities end def favourites_map(status_ids, account_id) - Favourite.select('status_id').where(status_id: status_ids).where(account_id: account_id).each_with_object({}) { |f, h| h[f.status_id] = true } + Favourite.select(:status_id).where(status_id: status_ids).where(account_id: account_id).each_with_object({}) { |f, h| h[f.status_id] = true } end def bookmarks_map(status_ids, account_id) - Bookmark.select('status_id').where(status_id: status_ids).where(account_id: account_id).map { |f| [f.status_id, true] }.to_h + Bookmark.select(:status_id).where(status_id: status_ids).where(account_id: account_id).map { |f| [f.status_id, true] }.to_h end def reblogs_map(status_ids, account_id) - unscoped.select('reblog_of_id').where(reblog_of_id: status_ids).where(account_id: account_id).each_with_object({}) { |s, h| h[s.reblog_of_id] = true } + unscoped.select(:reblog_of_id).where(reblog_of_id: status_ids).where(account_id: account_id).each_with_object({}) { |s, h| h[s.reblog_of_id] = true } end def mutes_map(conversation_ids, account_id) - ConversationMute.select('conversation_id').where(conversation_id: conversation_ids).where(account_id: account_id).each_with_object({}) { |m, h| h[m.conversation_id] = true } + ConversationMute.select(:conversation_id).where(conversation_id: conversation_ids).where(account_id: account_id).each_with_object({}) { |m, h| h[m.conversation_id] = true } end def pins_map(status_ids, account_id) - StatusPin.select('status_id').where(status_id: status_ids).where(account_id: account_id).each_with_object({}) { |p, h| h[p.status_id] = true } + StatusPin.select(:status_id).where(status_id: status_ids).where(account_id: account_id).each_with_object({}) { |p, h| h[p.status_id] = true } end def from_text(text) From da826fe959ad58a747023483fadd50c400f5d90f Mon Sep 17 00:00:00 2001 From: Matt Jankowski Date: Mon, 18 Nov 2024 10:07:53 -0500 Subject: [PATCH 235/357] Use hash arguments to `order` when possible (Rails 7.2) (#32915) --- app/models/concerns/account/associations.rb | 2 +- app/models/concerns/account/interactions.rb | 12 ++++++------ app/models/instance_filter.rb | 4 ++-- app/models/tag.rb | 4 ++-- 4 files changed, 11 insertions(+), 11 deletions(-) diff --git a/app/models/concerns/account/associations.rb b/app/models/concerns/account/associations.rb index 4e29235b6be202..cafb2d151c1064 100644 --- a/app/models/concerns/account/associations.rb +++ b/app/models/concerns/account/associations.rb @@ -48,7 +48,7 @@ module Account::Associations end # Status records pinned by the account - has_many :pinned_statuses, -> { reorder('status_pins.created_at DESC') }, through: :status_pins, class_name: 'Status', source: :status + has_many :pinned_statuses, -> { reorder(status_pins: { created_at: :desc }) }, through: :status_pins, class_name: 'Status', source: :status # Account records endorsed (pinned) by the account has_many :endorsed_accounts, through: :account_pins, class_name: 'Account', source: :target_account diff --git a/app/models/concerns/account/interactions.rb b/app/models/concerns/account/interactions.rb index 536afba17faf3b..6f6b8c16d016a5 100644 --- a/app/models/concerns/account/interactions.rb +++ b/app/models/concerns/account/interactions.rb @@ -80,8 +80,8 @@ def follow_mapping(query, field) has_many :passive_relationships, foreign_key: 'target_account_id', inverse_of: :target_account end - has_many :following, -> { order('follows.id desc') }, through: :active_relationships, source: :target_account - has_many :followers, -> { order('follows.id desc') }, through: :passive_relationships, source: :account + has_many :following, -> { order(follows: { id: :desc }) }, through: :active_relationships, source: :target_account + has_many :followers, -> { order(follows: { id: :desc }) }, through: :passive_relationships, source: :account with_options class_name: 'SeveredRelationship', dependent: :destroy do has_many :severed_relationships, foreign_key: 'local_account_id', inverse_of: :local_account @@ -96,16 +96,16 @@ def follow_mapping(query, field) has_many :block_relationships, foreign_key: 'account_id', inverse_of: :account has_many :blocked_by_relationships, foreign_key: :target_account_id, inverse_of: :target_account end - has_many :blocking, -> { order('blocks.id desc') }, through: :block_relationships, source: :target_account - has_many :blocked_by, -> { order('blocks.id desc') }, through: :blocked_by_relationships, source: :account + has_many :blocking, -> { order(blocks: { id: :desc }) }, through: :block_relationships, source: :target_account + has_many :blocked_by, -> { order(blocks: { id: :desc }) }, through: :blocked_by_relationships, source: :account # Mute relationships with_options class_name: 'Mute', dependent: :destroy do has_many :mute_relationships, foreign_key: 'account_id', inverse_of: :account has_many :muted_by_relationships, foreign_key: :target_account_id, inverse_of: :target_account end - has_many :muting, -> { order('mutes.id desc') }, through: :mute_relationships, source: :target_account - has_many :muted_by, -> { order('mutes.id desc') }, through: :muted_by_relationships, source: :account + has_many :muting, -> { order(mutes: { id: :desc }) }, through: :mute_relationships, source: :target_account + has_many :muted_by, -> { order(mutes: { id: :desc }) }, through: :muted_by_relationships, source: :account has_many :conversation_mutes, dependent: :destroy has_many :domain_blocks, class_name: 'AccountDomainBlock', dependent: :destroy has_many :announcement_mutes, dependent: :destroy diff --git a/app/models/instance_filter.rb b/app/models/instance_filter.rb index 1d94c919f9680b..7e71640e52ce56 100644 --- a/app/models/instance_filter.rb +++ b/app/models/instance_filter.rb @@ -28,9 +28,9 @@ def results def scope_for(key, value) case key.to_s when 'limited' - Instance.joins(:domain_block).reorder(Arel.sql('domain_blocks.id desc')) + Instance.joins(:domain_block).reorder(domain_blocks: { id: :desc }) when 'allowed' - Instance.joins(:domain_allow).reorder(Arel.sql('domain_allows.id desc')) + Instance.joins(:domain_allow).reorder(domain_allows: { id: :desc }) when 'by_domain' Instance.matches_domain(value) when 'availability' diff --git a/app/models/tag.rb b/app/models/tag.rb index 93210eb307e936..67fa9e5d3a0e0e 100644 --- a/app/models/tag.rb +++ b/app/models/tag.rb @@ -61,7 +61,7 @@ class Tag < ApplicationRecord scope :recently_used, lambda { |account| joins(:statuses) .where(statuses: { id: account.statuses.select(:id).limit(RECENT_STATUS_LIMIT) }) - .group(:id).order(Arel.sql('count(*) desc')) + .group(:id).order(Arel.star.count.desc) } scope :matches_name, ->(term) { where(arel_table[:name].lower.matches(arel_table.lower("#{sanitize_sql_like(Tag.normalize(term))}%"), nil, true)) } # Search with case-sensitive to use B-tree index @@ -127,7 +127,7 @@ def search_for(term, limit = 5, offset = 0, options = {}) query = query.merge(Tag.listable) if options[:exclude_unlistable] query = query.merge(matching_name(stripped_term).or(reviewed)) if options[:exclude_unreviewed] - query.order(Arel.sql('length(name) ASC, name ASC')) + query.order(Arel.sql('LENGTH(name)').asc, name: :asc) .limit(limit) .offset(offset) end From 30a79865698b1fbef2b1a6e818ce6984db68d551 Mon Sep 17 00:00:00 2001 From: Matt Jankowski Date: Mon, 18 Nov 2024 10:42:45 -0500 Subject: [PATCH 236/357] Add coverage for fixing the thing with the dates in the search area (#32958) --- spec/lib/search_query_transformer_spec.rb | 1 + 1 file changed, 1 insertion(+) diff --git a/spec/lib/search_query_transformer_spec.rb b/spec/lib/search_query_transformer_spec.rb index b677d88ed0a29d..b69e3afc9d5313 100644 --- a/spec/lib/search_query_transformer_spec.rb +++ b/spec/lib/search_query_transformer_spec.rb @@ -16,6 +16,7 @@ ['"2022-01-01"', '2022-01-01'], ['12345678', '12345678'], ['"12345678"', '12345678'], + ['"2024-10-31T23:47:20Z"', '2024-10-31T23:47:20Z'], ].each do |value, parsed| context "with #{operator}:#{value}" do let(:query) { "#{operator}:#{value}" } From 295ad6f19a016b3f16e1201ffcbb1b3ad6b455a2 Mon Sep 17 00:00:00 2001 From: Matt Jankowski Date: Mon, 18 Nov 2024 11:37:21 -0500 Subject: [PATCH 237/357] Prep work for coverage addition to `ActivityPub::DeliveryWorker` spec (#32944) --- .../activitypub/delivery_worker_spec.rb | 41 ++++++++++++++----- 1 file changed, 30 insertions(+), 11 deletions(-) diff --git a/spec/workers/activitypub/delivery_worker_spec.rb b/spec/workers/activitypub/delivery_worker_spec.rb index 3dfbef31a43594..9e6805c68b4f06 100644 --- a/spec/workers/activitypub/delivery_worker_spec.rb +++ b/spec/workers/activitypub/delivery_worker_spec.rb @@ -5,26 +5,45 @@ RSpec.describe ActivityPub::DeliveryWorker do include RoutingHelper - subject { described_class.new } - - let(:sender) { Fabricate(:account) } + let(:sender) { Fabricate(:account) } let(:payload) { 'test' } + let(:url) { 'https://example.com/api' } before do - allow(sender).to receive(:remote_followers_hash).with('https://example.com/api').and_return('somehash') + allow(sender).to receive(:remote_followers_hash).with(url).and_return('somehash') allow(Account).to receive(:find).with(sender.id).and_return(sender) end describe 'perform' do - it 'performs a request' do - stub_request(:post, 'https://example.com/api').to_return(status: 200) - subject.perform(payload, sender.id, 'https://example.com/api', { synchronize_followers: true }) - expect(a_request(:post, 'https://example.com/api').with(headers: { 'Collection-Synchronization' => "collectionId=\"#{account_followers_url(sender)}\", digest=\"somehash\", url=\"#{account_followers_synchronization_url(sender)}\"" })).to have_been_made.once + context 'with successful request' do + before { stub_request(:post, url).to_return(status: 200) } + + it 'performs a request to synchronize collection' do + subject.perform(payload, sender.id, url, { synchronize_followers: true }) + + expect(request_to_url) + .to have_been_made.once + end + + def request_to_url + a_request(:post, url) + .with( + headers: { + 'Collection-Synchronization' => <<~VALUES.squish, + collectionId="#{account_followers_url(sender)}", digest="somehash", url="#{account_followers_synchronization_url(sender)}" + VALUES + } + ) + end end - it 'raises when request fails' do - stub_request(:post, 'https://example.com/api').to_return(status: 500) - expect { subject.perform(payload, sender.id, 'https://example.com/api') }.to raise_error Mastodon::UnexpectedResponseError + context 'with failing request' do + before { stub_request(:post, url).to_return(status: 500) } + + it 'raises error' do + expect { subject.perform(payload, sender.id, url) } + .to raise_error Mastodon::UnexpectedResponseError + end end end end From 425982841d66734f9f07f393334711454b42def2 Mon Sep 17 00:00:00 2001 From: Matt Jankowski Date: Tue, 19 Nov 2024 03:51:34 -0500 Subject: [PATCH 238/357] Use group/count approach in annual report classes (#32914) --- .../commonly_interacted_with_accounts.rb | 2 +- app/lib/annual_report/most_reblogged_accounts.rb | 2 +- app/lib/annual_report/most_used_apps.rb | 2 +- app/lib/annual_report/top_hashtags.rb | 8 +++++++- .../commonly_interacted_with_accounts_spec.rb | 13 +++++++++++-- .../annual_report/most_reblogged_accounts_spec.rb | 12 ++++++++++-- spec/lib/annual_report/most_used_apps_spec.rb | 11 ++++++++--- spec/lib/annual_report/top_hashtags_spec.rb | 15 +++++++++++++-- 8 files changed, 52 insertions(+), 13 deletions(-) diff --git a/app/lib/annual_report/commonly_interacted_with_accounts.rb b/app/lib/annual_report/commonly_interacted_with_accounts.rb index 30ab671d8a821c..2316789f2adfd7 100644 --- a/app/lib/annual_report/commonly_interacted_with_accounts.rb +++ b/app/lib/annual_report/commonly_interacted_with_accounts.rb @@ -17,6 +17,6 @@ def generate private def commonly_interacted_with_accounts - report_statuses.where.not(in_reply_to_account_id: @account.id).group(:in_reply_to_account_id).having('count(*) > 1').order(total: :desc).limit(SET_SIZE).pluck(Arel.sql('in_reply_to_account_id, count(*) AS total')) + report_statuses.where.not(in_reply_to_account_id: @account.id).group(:in_reply_to_account_id).having('count(*) > 1').order(count_all: :desc).limit(SET_SIZE).count end end diff --git a/app/lib/annual_report/most_reblogged_accounts.rb b/app/lib/annual_report/most_reblogged_accounts.rb index cfc4022ca79019..5c750b19bf40d1 100644 --- a/app/lib/annual_report/most_reblogged_accounts.rb +++ b/app/lib/annual_report/most_reblogged_accounts.rb @@ -17,6 +17,6 @@ def generate private def most_reblogged_accounts - report_statuses.where.not(reblog_of_id: nil).joins(reblog: :account).group('accounts.id').having('count(*) > 1').order(total: :desc).limit(SET_SIZE).pluck(Arel.sql('accounts.id, count(*) as total')) + report_statuses.where.not(reblog_of_id: nil).joins(reblog: :account).group('accounts.id').having('count(*) > 1').order(count_all: :desc).limit(SET_SIZE).count end end diff --git a/app/lib/annual_report/most_used_apps.rb b/app/lib/annual_report/most_used_apps.rb index fb1ca1d16705c6..e10ba525033957 100644 --- a/app/lib/annual_report/most_used_apps.rb +++ b/app/lib/annual_report/most_used_apps.rb @@ -17,6 +17,6 @@ def generate private def most_used_apps - report_statuses.joins(:application).group('oauth_applications.name').order(total: :desc).limit(SET_SIZE).pluck(Arel.sql('oauth_applications.name, count(*) as total')) + report_statuses.joins(:application).group('oauth_applications.name').order(count_all: :desc).limit(SET_SIZE).count end end diff --git a/app/lib/annual_report/top_hashtags.rb b/app/lib/annual_report/top_hashtags.rb index 32bd10d6989b48..ae000a8beba5a7 100644 --- a/app/lib/annual_report/top_hashtags.rb +++ b/app/lib/annual_report/top_hashtags.rb @@ -17,6 +17,12 @@ def generate private def top_hashtags - Tag.joins(:statuses).where(statuses: { id: report_statuses.select(:id) }).group(:id).having('count(*) > 1').order(total: :desc).limit(SET_SIZE).pluck(Arel.sql('COALESCE(tags.display_name, tags.name), count(*) AS total')) + Tag.joins(:statuses).where(statuses: { id: report_statuses.select(:id) }).group(coalesced_tag_names).having('count(*) > 1').order(count_all: :desc).limit(SET_SIZE).count + end + + def coalesced_tag_names + Arel.sql(<<~SQL.squish) + COALESCE(tags.display_name, tags.name) + SQL end end diff --git a/spec/lib/annual_report/commonly_interacted_with_accounts_spec.rb b/spec/lib/annual_report/commonly_interacted_with_accounts_spec.rb index 0e31827912b58d..12bf3810db6d60 100644 --- a/spec/lib/annual_report/commonly_interacted_with_accounts_spec.rb +++ b/spec/lib/annual_report/commonly_interacted_with_accounts_spec.rb @@ -21,18 +21,27 @@ let(:account) { Fabricate :account } let(:other_account) { Fabricate :account } + let(:most_other_account) { Fabricate :account } before do _other = Fabricate :status + Fabricate :status, account: account, reply: true, in_reply_to_id: Fabricate(:status, account: other_account).id Fabricate :status, account: account, reply: true, in_reply_to_id: Fabricate(:status, account: other_account).id + + Fabricate :status, account: account, reply: true, in_reply_to_id: Fabricate(:status, account: most_other_account).id + Fabricate :status, account: account, reply: true, in_reply_to_id: Fabricate(:status, account: most_other_account).id + Fabricate :status, account: account, reply: true, in_reply_to_id: Fabricate(:status, account: most_other_account).id end it 'builds a report for an account' do expect(subject.generate) .to include( - commonly_interacted_with_accounts: contain_exactly( - include(account_id: other_account.id.to_s, count: 2) + commonly_interacted_with_accounts: eq( + [ + { account_id: most_other_account.id.to_s, count: 3 }, + { account_id: other_account.id.to_s, count: 2 }, + ] ) ) end diff --git a/spec/lib/annual_report/most_reblogged_accounts_spec.rb b/spec/lib/annual_report/most_reblogged_accounts_spec.rb index 2f04934e47799e..956549c32527f1 100644 --- a/spec/lib/annual_report/most_reblogged_accounts_spec.rb +++ b/spec/lib/annual_report/most_reblogged_accounts_spec.rb @@ -21,18 +21,26 @@ let(:account) { Fabricate :account } let(:other_account) { Fabricate :account } + let(:most_other_account) { Fabricate :account } before do _other = Fabricate :status Fabricate :status, account: account, reblog: Fabricate(:status, account: other_account) Fabricate :status, account: account, reblog: Fabricate(:status, account: other_account) + + Fabricate :status, account: account, reblog: Fabricate(:status, account: most_other_account) + Fabricate :status, account: account, reblog: Fabricate(:status, account: most_other_account) + Fabricate :status, account: account, reblog: Fabricate(:status, account: most_other_account) end it 'builds a report for an account' do expect(subject.generate) .to include( - most_reblogged_accounts: contain_exactly( - include(account_id: other_account.id.to_s, count: 2) + most_reblogged_accounts: eq( + [ + { account_id: most_other_account.id.to_s, count: 3 }, + { account_id: other_account.id.to_s, count: 2 }, + ] ) ) end diff --git a/spec/lib/annual_report/most_used_apps_spec.rb b/spec/lib/annual_report/most_used_apps_spec.rb index d2fcecc4d8130c..ab7022ef2037a2 100644 --- a/spec/lib/annual_report/most_used_apps_spec.rb +++ b/spec/lib/annual_report/most_used_apps_spec.rb @@ -20,18 +20,23 @@ context 'with an active account' do let(:account) { Fabricate :account } - let(:application) { Fabricate :application } + let(:application) { Fabricate :application, name: 'App' } + let(:most_application) { Fabricate :application, name: 'Most App' } before do _other = Fabricate :status Fabricate.times 2, :status, account: account, application: application + Fabricate.times 3, :status, account: account, application: most_application end it 'builds a report for an account' do expect(subject.generate) .to include( - most_used_apps: contain_exactly( - include(name: application.name, count: 2) + most_used_apps: eq( + [ + { name: most_application.name, count: 3 }, + { name: application.name, count: 2 }, + ] ) ) end diff --git a/spec/lib/annual_report/top_hashtags_spec.rb b/spec/lib/annual_report/top_hashtags_spec.rb index 58a915218467de..b9cc9392ed224a 100644 --- a/spec/lib/annual_report/top_hashtags_spec.rb +++ b/spec/lib/annual_report/top_hashtags_spec.rb @@ -21,20 +21,31 @@ let(:account) { Fabricate :account } let(:tag) { Fabricate :tag } + let(:most_tag) { Fabricate :tag } before do _other = Fabricate :status + first = Fabricate :status, account: account first.tags << tag + first.tags << most_tag + last = Fabricate :status, account: account last.tags << tag + last.tags << most_tag + + middle = Fabricate :status, account: account + middle.tags << most_tag end it 'builds a report for an account' do expect(subject.generate) .to include( - top_hashtags: contain_exactly( - include(name: tag.name, count: 2) + top_hashtags: eq( + [ + { name: most_tag.name, count: 3 }, + { name: tag.name, count: 2 }, + ] ) ) end From 06fcee099a7a3751aa3ffd4cf743509c7d591129 Mon Sep 17 00:00:00 2001 From: Shlee Date: Tue, 19 Nov 2024 08:54:28 +0000 Subject: [PATCH 239/357] DB Replica database_tasks as ENV (#32908) --- config/database.yml | 11 ++++++----- 1 file changed, 6 insertions(+), 5 deletions(-) diff --git a/config/database.yml b/config/database.yml index 2898415d800877..eba20e849fe854 100644 --- a/config/database.yml +++ b/config/database.yml @@ -55,10 +55,11 @@ production: prepared_statements: <%= ENV['PREPARED_STATEMENTS'] || 'true' %> replica: <<: *default - database: <%= ENV['REPLICA_DB_NAME'] ||ENV['DB_NAME'] || 'mastodon_production' %> - username: <%= ENV['REPLICA_DB_USER'] ||ENV['DB_USER'] || 'mastodon' %> + database: <%= ENV['REPLICA_DB_NAME'] || ENV['DB_NAME'] || 'mastodon_production' %> + username: <%= ENV['REPLICA_DB_USER'] || ENV['DB_USER'] || 'mastodon' %> password: <%= (ENV['REPLICA_DB_PASS'] || ENV['DB_PASS'] || '').to_json %> - host: <%= ENV['REPLICA_DB_HOST'] ||ENV['DB_HOST'] || 'localhost' %> - port: <%= ENV['REPLICA_DB_PORT'] ||ENV['DB_PORT'] || 5432 %> - prepared_statements: <%= ENV['PREPARED_STATEMENTS'] || 'true' %> + host: <%= ENV['REPLICA_DB_HOST'] || ENV['DB_HOST'] || 'localhost' %> + port: <%= ENV['REPLICA_DB_PORT'] || ENV['DB_PORT'] || 5432 %> + prepared_statements: <%= ENV['REPLICA_PREPARED_STATEMENTS'] || ENV['PREPARED_STATEMENTS'] || 'true' %> replica: true + database_tasks: <%= ENV['REPLICA_DB_TASKS'] || 'true' %> From e856838e0c971a661e732ef6f221afc800d894a6 Mon Sep 17 00:00:00 2001 From: Eugen Rochko Date: Tue, 19 Nov 2024 09:57:12 +0100 Subject: [PATCH 240/357] Fix notification polling showing a loading bar in web UI (#32960) --- app/javascript/mastodon/actions/notification_groups.ts | 3 +++ 1 file changed, 3 insertions(+) diff --git a/app/javascript/mastodon/actions/notification_groups.ts b/app/javascript/mastodon/actions/notification_groups.ts index a3c8095ac44fe4..aa7f50da4ec81e 100644 --- a/app/javascript/mastodon/actions/notification_groups.ts +++ b/app/javascript/mastodon/actions/notification_groups.ts @@ -141,6 +141,9 @@ export const pollRecentNotifications = createDataLoadingThunk( return { notifications }; }, + { + useLoadingBar: false, + }, ); export const processNewNotificationForGroups = createAppAsyncThunk( From 436a5d295b3412300042073fb06ac1cdcc959834 Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Tue, 19 Nov 2024 08:57:47 +0000 Subject: [PATCH 241/357] Update dependency aws-sdk-s3 to v1.172.0 (#32964) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> --- Gemfile.lock | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/Gemfile.lock b/Gemfile.lock index 09017e3fa9f7e9..d1be469f48ef66 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -95,16 +95,16 @@ GEM attr_required (1.0.2) awrence (1.2.1) aws-eventstream (1.3.0) - aws-partitions (1.1008.0) + aws-partitions (1.1009.0) aws-sdk-core (3.213.0) aws-eventstream (~> 1, >= 1.3.0) aws-partitions (~> 1, >= 1.992.0) aws-sigv4 (~> 1.9) jmespath (~> 1, >= 1.6.1) - aws-sdk-kms (1.95.0) + aws-sdk-kms (1.96.0) aws-sdk-core (~> 3, >= 3.210.0) aws-sigv4 (~> 1.5) - aws-sdk-s3 (1.171.0) + aws-sdk-s3 (1.172.0) aws-sdk-core (~> 3, >= 3.210.0) aws-sdk-kms (~> 1) aws-sigv4 (~> 1.5) From 9fc2fc2251334f8b4d7d62a0aaf3a097e723d927 Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" <41898282+github-actions[bot]@users.noreply.github.com> Date: Tue, 19 Nov 2024 10:05:39 +0100 Subject: [PATCH 242/357] New Crowdin Translations (automated) (#32969) Co-authored-by: GitHub Actions --- app/javascript/mastodon/locales/bg.json | 5 ++++- app/javascript/mastodon/locales/de.json | 2 +- app/javascript/mastodon/locales/it.json | 1 + config/locales/bg.yml | 10 ++++++++++ config/locales/it.yml | 8 ++++++++ config/locales/tr.yml | 6 +++--- 6 files changed, 27 insertions(+), 5 deletions(-) diff --git a/app/javascript/mastodon/locales/bg.json b/app/javascript/mastodon/locales/bg.json index 8f99992f338474..456247cedfaed8 100644 --- a/app/javascript/mastodon/locales/bg.json +++ b/app/javascript/mastodon/locales/bg.json @@ -87,6 +87,7 @@ "alert.unexpected.title": "Опаа!", "alt_text_badge.title": "Алтернативен текст", "announcement.announcement": "Оповестяване", + "annual_report.summary.archetype.booster": "Якият подсилвател", "annual_report.summary.archetype.lurker": "Дебнещото", "annual_report.summary.archetype.oracle": "Оракул", "annual_report.summary.archetype.pollster": "Анкетьорче", @@ -95,12 +96,14 @@ "annual_report.summary.followers.total": "{count} общо", "annual_report.summary.here_it_is": "Ето преглед на вашата {year} година:", "annual_report.summary.highlighted_post.by_favourites": "най-правено като любима публикация", + "annual_report.summary.highlighted_post.by_reblogs": "най-подсилваната публикация", "annual_report.summary.highlighted_post.by_replies": "публикации с най-много отговори", "annual_report.summary.highlighted_post.possessive": "на {name}", "annual_report.summary.most_used_app.most_used_app": "най-употребявано приложение", "annual_report.summary.most_used_hashtag.most_used_hashtag": "най-употребяван хаштаг", "annual_report.summary.new_posts.new_posts": "нови публикации", "annual_report.summary.percentile.text": "Това ви слага най-отгоресред потребителите на Mastodon.", + "annual_report.summary.percentile.we_wont_tell_bernie": "Няма да кажем на Бърни Сандърс.", "annual_report.summary.thanks": "Благодарим, че сте част от Mastodon!", "attachments_list.unprocessed": "(необработено)", "audio.hide": "Скриване на звука", @@ -638,7 +641,7 @@ "onboarding.steps.follow_people.title": "Персонализиране на началния ви инфоканал", "onboarding.steps.publish_status.body": "Поздравете целия свят.", "onboarding.steps.publish_status.title": "Направете първата си публикация", - "onboarding.steps.setup_profile.body": "Други са по-вероятно да взаимодействат с вас с попълнения профил.", + "onboarding.steps.setup_profile.body": "Подсилете взаимодействията си, имайки изчерпателен профил.", "onboarding.steps.setup_profile.title": "Пригодете профила си", "onboarding.steps.share_profile.body": "Позволете на приятелите си да знаят как да ви намират в Mastodon!", "onboarding.steps.share_profile.title": "Споделяне на профила ви", diff --git a/app/javascript/mastodon/locales/de.json b/app/javascript/mastodon/locales/de.json index f692681387da21..510cc821f3022f 100644 --- a/app/javascript/mastodon/locales/de.json +++ b/app/javascript/mastodon/locales/de.json @@ -688,7 +688,7 @@ "poll_button.remove_poll": "Umfrage entfernen", "privacy.change": "Sichtbarkeit anpassen", "privacy.direct.long": "Alle in diesem Beitrag erwähnten Profile", - "privacy.direct.short": "Bestimmte Profile", + "privacy.direct.short": "Ausgewählte Profile", "privacy.private.long": "Nur deine Follower", "privacy.private.short": "Follower", "privacy.public.long": "Alle in und außerhalb von Mastodon", diff --git a/app/javascript/mastodon/locales/it.json b/app/javascript/mastodon/locales/it.json index 06779d337c495a..c4fcbdc3a4b2b8 100644 --- a/app/javascript/mastodon/locales/it.json +++ b/app/javascript/mastodon/locales/it.json @@ -88,6 +88,7 @@ "alt_text_badge.title": "Testo alternativo", "announcement.announcement": "Annuncio", "annual_report.summary.archetype.oracle": "L'oracolo", + "annual_report.summary.archetype.pollster": "Sondaggista", "annual_report.summary.followers.followers": "seguaci", "annual_report.summary.followers.total": "{count} in totale", "annual_report.summary.here_it_is": "Ecco il tuo {year} in sintesi:", diff --git a/config/locales/bg.yml b/config/locales/bg.yml index 5688a44f917b77..20ee1f6c681848 100644 --- a/config/locales/bg.yml +++ b/config/locales/bg.yml @@ -807,6 +807,7 @@ bg: original_status: Първообразна публикация reblogs: Блогване пак status_changed: Публикацията променена + title: Публикации на акаунт - @%{name} trending: Изгряващи visibility: Видимост with_media: С мултимедия @@ -1104,8 +1105,10 @@ bg: security: Сигурност set_new_password: Задаване на нова парола setup: + email_below_hint_html: Проверете папката си за спам или поискайте друго е-писмо. Може да поправите адреса на имейла си, ако е грешен. email_settings_hint_html: Щракнете на връзката за потвърждаване, която ви изпратихме до %{email}. Ще ви почакаме тук. link_not_received: Не получихте ли връзка? + new_confirmation_instructions_sent: До няколко минути ще получите друго е-писмо с връзка за потвърждаване! title: Проверете входящата си поща sign_in: preamble_html: Влезте с идентификационните данни за %{domain}. Ако вашият акаунт е хостван на различен сървър, няма да можете да влезете в този. @@ -1116,6 +1119,7 @@ bg: title: Първоначални настройки за %{domain}. status: account_status: Състояние на акаунта + confirming: Чака се потвърждението на имейла да завърши. functional: Вашият акаунт е в изправност. pending: Вашето приложение чака преглед от персонала ни. Това може да отнеме време. Ще получите е-писмо, ако приложението ви се одобри. redirecting_to: Вашият акаунт е бездеен, защото сега се пренасочва към %{acct}. @@ -1125,6 +1129,8 @@ bg: use_security_key: Употреба на ключ за сигурност author_attribution: example_title: Примерен текст + hint_html: Пишете ли новинарски статии или блогове извън Mastodon? Управлявайте как ви приписват авторството, когато са споделени в Mastodon. + instructions: 'Уверете се, че този код е в HTML на статията ви:' more_from_html: Още от %{name} s_blog: Блогът на %{name} then_instructions: Тогава добавете име на домейна на публикацията в долното поле. @@ -1165,6 +1171,9 @@ bg: before: 'Прочетете внимателно тези бележки преди да продължите:' caches: Съдържание, което може да е кеширано от други сървъри, може да се задържи data_removal: Ваши публикации и други данни ще бъдат завинаги премахнати + email_change_html: Може да промените адреса на имейла си, без да изтривате акаунта си + email_contact_html: Ако още не сте го получили, то обърнете се за помощ към %{email} + email_reconfirmation_html: Ако не сте получили е-писмо за потвърждение, може да го заявите отново irreversible: Няма да може да възстановите или да задействате пак акаунта си more_details_html: За повече детайли прегледайте декларацията за поверителност. username_available: Вашето потребителско име ще стане налично отново @@ -1392,6 +1401,7 @@ bg: unsubscribe: action: Да, да се спре абонамента complete: Спрян абонамент + confirmation_html: Наистина ли искате да спрете абонамента от получаването на %{type} за Mastodon в %{domain} към имейла си при %{email}? Може винаги пак да се абонирате от своите настройки за известяване по е-поща. title: Спиране на абонамента media_attachments: validations: diff --git a/config/locales/it.yml b/config/locales/it.yml index 4c083fd006e48c..3b36bd3f7a1ca2 100644 --- a/config/locales/it.yml +++ b/config/locales/it.yml @@ -187,6 +187,7 @@ it: create_domain_block: Crea Blocco del Dominio create_email_domain_block: Crea blocco del dominio e-mail create_ip_block: Crea regola IP + create_relay: Crea Relay create_unavailable_domain: Crea Dominio Non Disponibile create_user_role: Crea Ruolo demote_user: Retrocedi Utente @@ -198,14 +199,17 @@ it: destroy_email_domain_block: Elimina il blocco del dominio e-mail destroy_instance: Elimina Dominio destroy_ip_block: Elimina regola IP + destroy_relay: Elimina Relay destroy_status: Elimina Toot destroy_unavailable_domain: Elimina Dominio Non Disponibile destroy_user_role: Distruggi Ruolo disable_2fa_user: Disabilita A2F disable_custom_emoji: Disabilita Emoji Personalizzata + disable_relay: Disabilita Relay disable_sign_in_token_auth_user: Disabilita l'autenticazione del token e-mail per l'utente disable_user: Disabilita l'Utente enable_custom_emoji: Abilita Emoji Personalizzata + enable_relay: Abilita Relay enable_sign_in_token_auth_user: Abilita l'autenticazione del token e-mail per l'utente enable_user: Abilita l'Utente memorialize_account: Commemora Profilo @@ -247,6 +251,7 @@ it: create_domain_block_html: "%{name} ha bloccato il dominio %{target}" create_email_domain_block_html: "%{name} ha bloccato il dominio e-mail %{target}" create_ip_block_html: "%{name} ha creato una regola per l'IP %{target}" + create_relay_html: "%{name} ha creato un relay %{target}" create_unavailable_domain_html: "%{name} ha interrotto la consegna al dominio %{target}" create_user_role_html: "%{name} ha creato il ruolo %{target}" demote_user_html: "%{name} ha retrocesso l'utente %{target}" @@ -258,14 +263,17 @@ it: destroy_email_domain_block_html: "%{name} ha sbloccato il dominio e-mail %{target}" destroy_instance_html: "%{name} ha eliminato il dominio %{target}" destroy_ip_block_html: "%{name} ha eliminato la regola per l'IP %{target}" + destroy_relay_html: "%{name} ha eliminato il relay %{target}" destroy_status_html: "%{name} ha rimosso il toot di %{target}" destroy_unavailable_domain_html: "%{name} ha ripreso la consegna al dominio %{target}" destroy_user_role_html: "%{name} ha eliminato il ruolo %{target}" disable_2fa_user_html: "%{name} ha disabilitato l'autenticazione a due fattori per l'utente %{target}" disable_custom_emoji_html: "%{name} ha disabilitato emoji %{target}" + disable_relay_html: "%{name} ha disabilitato il relay %{target}" disable_sign_in_token_auth_user_html: "%{name} ha disabilitato l'autenticazione del token e-mail per %{target}" disable_user_html: "%{name} ha disabilitato l'accesso per l'utente %{target}" enable_custom_emoji_html: "%{name} ha abilitato l'emoji %{target}" + enable_relay_html: "%{name} ha abilitato il relay %{target}" enable_sign_in_token_auth_user_html: "%{name} ha abilitato l'autenticazione del token e-mail per %{target}" enable_user_html: "%{name} ha abilitato l'accesso per l'utente %{target}" memorialize_account_html: "%{name} ha trasformato il profilo di %{target} in una pagina commemorativa" diff --git a/config/locales/tr.yml b/config/locales/tr.yml index a0002070c6f617..48f6c5e240aab5 100644 --- a/config/locales/tr.yml +++ b/config/locales/tr.yml @@ -826,7 +826,7 @@ tr: back_to_account: Hesap sayfasına geri dön back_to_report: Bildirim sayfasına geri dön batch: - add_to_report: 'Rapora ekle #%{id}' + add_to_report: "#%{id} raporuna ekle" remove_from_report: Bildirimden kaldır report: Bildirim contents: İçerikler @@ -845,10 +845,10 @@ tr: reblogs: Yeniden Paylaşımlar replied_to_html: Yanıtladı %{acct_link} status_changed: Gönderi değişti - status_title: Gönderen @%{name} + status_title: "@%{name} gönderisi" title: Hesap gönderileri - @%{name} trending: Öne çıkanlar - view_publicly: Herkese Açık Görüntüle + view_publicly: Herkese açık görüntüle visibility: Görünürlük with_media: Medya ile strikes: From 87e7ad9b8f456af52197fb43116a7d104d697bfb Mon Sep 17 00:00:00 2001 From: Matt Jankowski Date: Tue, 19 Nov 2024 04:15:05 -0500 Subject: [PATCH 243/357] Add `LoginActivity` model spec and `BrowserDetection` concern shared example (#32959) --- spec/models/login_activity_spec.rb | 17 +++++++++ spec/models/session_activation_spec.rb | 34 +---------------- .../models/concerns/browser_detection.rb | 37 +++++++++++++++++++ 3 files changed, 55 insertions(+), 33 deletions(-) create mode 100644 spec/models/login_activity_spec.rb create mode 100644 spec/support/examples/models/concerns/browser_detection.rb diff --git a/spec/models/login_activity_spec.rb b/spec/models/login_activity_spec.rb new file mode 100644 index 00000000000000..5b7935e8ba4179 --- /dev/null +++ b/spec/models/login_activity_spec.rb @@ -0,0 +1,17 @@ +# frozen_string_literal: true + +require 'rails_helper' + +RSpec.describe LoginActivity do + include_examples 'BrowserDetection' + + describe 'Associations' do + it { is_expected.to belong_to(:user).required } + end + + describe 'Validations' do + subject { Fabricate.build :login_activity } + + it { is_expected.to define_enum_for(:authentication_method).backed_by_column_of_type(:string) } + end +end diff --git a/spec/models/session_activation_spec.rb b/spec/models/session_activation_spec.rb index bed411c3698d26..bb9b3c785f13ed 100644 --- a/spec/models/session_activation_spec.rb +++ b/spec/models/session_activation_spec.rb @@ -3,39 +3,7 @@ require 'rails_helper' RSpec.describe SessionActivation do - describe '#detection' do - let(:session_activation) { Fabricate(:session_activation, user_agent: 'Chrome/62.0.3202.89') } - - it 'sets a Browser instance as detection' do - expect(session_activation.detection).to be_a Browser::Chrome - end - end - - describe '#browser' do - before do - allow(session_activation).to receive(:detection).and_return(detection) - end - - let(:detection) { instance_double(Browser::Chrome, id: 1) } - let(:session_activation) { Fabricate(:session_activation) } - - it 'returns detection.id' do - expect(session_activation.browser).to be 1 - end - end - - describe '#platform' do - before do - allow(session_activation).to receive(:detection).and_return(detection) - end - - let(:session_activation) { Fabricate(:session_activation) } - let(:detection) { instance_double(Browser::Chrome, platform: instance_double(Browser::Platform, id: 1)) } - - it 'returns detection.platform.id' do - expect(session_activation.platform).to be 1 - end - end + include_examples 'BrowserDetection' describe '.active?' do subject { described_class.active?(id) } diff --git a/spec/support/examples/models/concerns/browser_detection.rb b/spec/support/examples/models/concerns/browser_detection.rb new file mode 100644 index 00000000000000..e80fa4595cd651 --- /dev/null +++ b/spec/support/examples/models/concerns/browser_detection.rb @@ -0,0 +1,37 @@ +# frozen_string_literal: true + +RSpec.shared_examples 'BrowserDetection' do + subject { described_class.new(user_agent: 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/18.1 Safari/605.1.15') } + + describe '#detection' do + it 'sets a Browser instance as detection' do + expect(subject.detection) + .to be_a(Browser::Safari) + end + end + + describe '#browser' do + it 'returns browser name from id' do + expect(subject.browser) + .to eq(:safari) + end + end + + describe '#platform' do + it 'returns detected platform' do + expect(subject.platform) + .to eq(:mac) + end + end + + describe 'Callbacks' do + describe 'populating the user_agent value' do + subject { Fabricate.build described_class.name.underscore.to_sym, user_agent: nil } + + it 'changes nil to empty string' do + expect { subject.save } + .to change(subject, :user_agent).from(nil).to('') + end + end + end +end From f2976ec9a45f7ad6f00a041ec28281db438eb977 Mon Sep 17 00:00:00 2001 From: Matt Jankowski Date: Tue, 19 Nov 2024 05:02:01 -0500 Subject: [PATCH 244/357] Extract `Notification::Groups` concern (#32968) --- app/models/concerns/notification/groups.rb | 123 +++++++++++++++++++++ app/models/notification.rb | 117 +------------------- 2 files changed, 124 insertions(+), 116 deletions(-) create mode 100644 app/models/concerns/notification/groups.rb diff --git a/app/models/concerns/notification/groups.rb b/app/models/concerns/notification/groups.rb new file mode 100644 index 00000000000000..2f29bd9ceaedcb --- /dev/null +++ b/app/models/concerns/notification/groups.rb @@ -0,0 +1,123 @@ +# frozen_string_literal: true + +module Notification::Groups + extend ActiveSupport::Concern + + # `set_group_key!` needs to be updated if this list changes + GROUPABLE_NOTIFICATION_TYPES = %i(favourite reblog follow).freeze + MAXIMUM_GROUP_SPAN_HOURS = 12 + + def set_group_key! + return if filtered? || GROUPABLE_NOTIFICATION_TYPES.exclude?(type) + + type_prefix = case type + when :favourite, :reblog + [type, target_status&.id].join('-') + when :follow + type + else + raise NotImplementedError + end + redis_key = "notif-group/#{account.id}/#{type_prefix}" + hour_bucket = activity.created_at.utc.to_i / 1.hour.to_i + + # Reuse previous group if it does not span too large an amount of time + previous_bucket = redis.get(redis_key).to_i + hour_bucket = previous_bucket if hour_bucket < previous_bucket + MAXIMUM_GROUP_SPAN_HOURS + + # We do not concern ourselves with race conditions since we use hour buckets + redis.set(redis_key, hour_bucket, ex: MAXIMUM_GROUP_SPAN_HOURS.hours.to_i) + + self.group_key = "#{type_prefix}-#{hour_bucket}" + end + + class_methods do + def paginate_groups(limit, pagination_order, grouped_types: nil) + raise ArgumentError unless %i(asc desc).include?(pagination_order) + + query = reorder(id: pagination_order) + + # Ideally `:types` would be a bind rather than part of the SQL itself, but that does not + # seem to be possible to do with Rails, considering that the expression would occur in + # multiple places, including in a `select` + group_key_sql = begin + if grouped_types.present? + # Normalize `grouped_types` so the number of different SQL query shapes remains small, and + # the queries can be analyzed in monitoring/telemetry tools + grouped_types = (grouped_types.map(&:to_sym) & GROUPABLE_NOTIFICATION_TYPES).sort + + sanitize_sql_array([<<~SQL.squish, { types: grouped_types }]) + COALESCE( + CASE + WHEN notifications.type IN (:types) THEN notifications.group_key + ELSE NULL + END, + 'ungrouped-' || notifications.id + ) + SQL + else + "COALESCE(notifications.group_key, 'ungrouped-' || notifications.id)" + end + end + + unscoped + .with_recursive( + grouped_notifications: [ + # Base case: fetching one notification and annotating it with visited groups + query + .select('notifications.*', "ARRAY[#{group_key_sql}] AS groups") + .limit(1), + # Recursive case, always yielding at most one annotated notification + unscoped + .from( + [ + # Expose the working table as `wt`, but quit early if we've reached the limit + unscoped + .select('id', 'groups') + .from('grouped_notifications') + .where('array_length(grouped_notifications.groups, 1) < :limit', limit: limit) + .arel.as('wt'), + # Recursive query, using `LATERAL` so we can refer to `wt` + query + .where(pagination_order == :desc ? 'notifications.id < wt.id' : 'notifications.id > wt.id') + .where.not("#{group_key_sql} = ANY(wt.groups)") + .limit(1) + .arel.lateral('notifications'), + ] + ) + .select('notifications.*', "array_append(wt.groups, #{group_key_sql}) AS groups"), + ] + ) + .from('grouped_notifications AS notifications') + .order(id: pagination_order) + .limit(limit) + end + + # This returns notifications from the request page, but with at most one notification per group. + # Notifications that have no `group_key` each count as a separate group. + def paginate_groups_by_max_id(limit, max_id: nil, since_id: nil, grouped_types: nil) + query = reorder(id: :desc) + query = query.where(id: ...(max_id.to_i)) if max_id.present? + query = query.where(id: (since_id.to_i + 1)...) if since_id.present? + query.paginate_groups(limit, :desc, grouped_types: grouped_types) + end + + # Differs from :paginate_groups_by_max_id in that it gives the results immediately following min_id, + # whereas since_id gives the items with largest id, but with since_id as a cutoff. + # Results will be in ascending order by id. + def paginate_groups_by_min_id(limit, max_id: nil, min_id: nil, grouped_types: nil) + query = reorder(id: :asc) + query = query.where(id: (min_id.to_i + 1)...) if min_id.present? + query = query.where(id: ...(max_id.to_i)) if max_id.present? + query.paginate_groups(limit, :asc, grouped_types: grouped_types) + end + + def to_a_grouped_paginated_by_id(limit, options = {}) + if options[:min_id].present? + paginate_groups_by_min_id(limit, min_id: options[:min_id], max_id: options[:max_id], grouped_types: options[:grouped_types]).reverse + else + paginate_groups_by_max_id(limit, max_id: options[:max_id], since_id: options[:since_id], grouped_types: options[:grouped_types]).to_a + end + end + end +end diff --git a/app/models/notification.rb b/app/models/notification.rb index 7b90fd92f96ce3..e7ada3399aa495 100644 --- a/app/models/notification.rb +++ b/app/models/notification.rb @@ -19,6 +19,7 @@ class Notification < ApplicationRecord self.inheritance_column = nil + include Notification::Groups include Paginable include Redisable @@ -31,10 +32,6 @@ class Notification < ApplicationRecord 'Poll' => :poll, }.freeze - # `set_group_key!` needs to be updated if this list changes - GROUPABLE_NOTIFICATION_TYPES = %i(favourite reblog follow).freeze - MAXIMUM_GROUP_SPAN_HOURS = 12 - # Please update app/javascript/api_types/notification.ts if you change this PROPERTIES = { mention: { @@ -130,30 +127,6 @@ def target_status end end - def set_group_key! - return if filtered? || Notification::GROUPABLE_NOTIFICATION_TYPES.exclude?(type) - - type_prefix = case type - when :favourite, :reblog - [type, target_status&.id].join('-') - when :follow - type - else - raise NotImplementedError - end - redis_key = "notif-group/#{account.id}/#{type_prefix}" - hour_bucket = activity.created_at.utc.to_i / 1.hour.to_i - - # Reuse previous group if it does not span too large an amount of time - previous_bucket = redis.get(redis_key).to_i - hour_bucket = previous_bucket if hour_bucket < previous_bucket + MAXIMUM_GROUP_SPAN_HOURS - - # We do not concern ourselves with race conditions since we use hour buckets - redis.set(redis_key, hour_bucket, ex: MAXIMUM_GROUP_SPAN_HOURS.hours.to_i) - - self.group_key = "#{type_prefix}-#{hour_bucket}" - end - class << self def browserable(types: [], exclude_types: [], from_account_id: nil, include_filtered: false) requested_types = if types.empty? @@ -171,94 +144,6 @@ def browserable(types: [], exclude_types: [], from_account_id: nil, include_filt end end - def paginate_groups(limit, pagination_order, grouped_types: nil) - raise ArgumentError unless %i(asc desc).include?(pagination_order) - - query = reorder(id: pagination_order) - - # Ideally `:types` would be a bind rather than part of the SQL itself, but that does not - # seem to be possible to do with Rails, considering that the expression would occur in - # multiple places, including in a `select` - group_key_sql = begin - if grouped_types.present? - # Normalize `grouped_types` so the number of different SQL query shapes remains small, and - # the queries can be analyzed in monitoring/telemetry tools - grouped_types = (grouped_types.map(&:to_sym) & GROUPABLE_NOTIFICATION_TYPES).sort - - sanitize_sql_array([<<~SQL.squish, { types: grouped_types }]) - COALESCE( - CASE - WHEN notifications.type IN (:types) THEN notifications.group_key - ELSE NULL - END, - 'ungrouped-' || notifications.id - ) - SQL - else - "COALESCE(notifications.group_key, 'ungrouped-' || notifications.id)" - end - end - - unscoped - .with_recursive( - grouped_notifications: [ - # Base case: fetching one notification and annotating it with visited groups - query - .select('notifications.*', "ARRAY[#{group_key_sql}] AS groups") - .limit(1), - # Recursive case, always yielding at most one annotated notification - unscoped - .from( - [ - # Expose the working table as `wt`, but quit early if we've reached the limit - unscoped - .select('id', 'groups') - .from('grouped_notifications') - .where('array_length(grouped_notifications.groups, 1) < :limit', limit: limit) - .arel.as('wt'), - # Recursive query, using `LATERAL` so we can refer to `wt` - query - .where(pagination_order == :desc ? 'notifications.id < wt.id' : 'notifications.id > wt.id') - .where.not("#{group_key_sql} = ANY(wt.groups)") - .limit(1) - .arel.lateral('notifications'), - ] - ) - .select('notifications.*', "array_append(wt.groups, #{group_key_sql}) AS groups"), - ] - ) - .from('grouped_notifications AS notifications') - .order(id: pagination_order) - .limit(limit) - end - - # This returns notifications from the request page, but with at most one notification per group. - # Notifications that have no `group_key` each count as a separate group. - def paginate_groups_by_max_id(limit, max_id: nil, since_id: nil, grouped_types: nil) - query = reorder(id: :desc) - query = query.where(id: ...(max_id.to_i)) if max_id.present? - query = query.where(id: (since_id.to_i + 1)...) if since_id.present? - query.paginate_groups(limit, :desc, grouped_types: grouped_types) - end - - # Differs from :paginate_groups_by_max_id in that it gives the results immediately following min_id, - # whereas since_id gives the items with largest id, but with since_id as a cutoff. - # Results will be in ascending order by id. - def paginate_groups_by_min_id(limit, max_id: nil, min_id: nil, grouped_types: nil) - query = reorder(id: :asc) - query = query.where(id: (min_id.to_i + 1)...) if min_id.present? - query = query.where(id: ...(max_id.to_i)) if max_id.present? - query.paginate_groups(limit, :asc, grouped_types: grouped_types) - end - - def to_a_grouped_paginated_by_id(limit, options = {}) - if options[:min_id].present? - paginate_groups_by_min_id(limit, min_id: options[:min_id], max_id: options[:max_id], grouped_types: options[:grouped_types]).reverse - else - paginate_groups_by_max_id(limit, max_id: options[:max_id], since_id: options[:since_id], grouped_types: options[:grouped_types]).to_a - end - end - def preload_cache_collection_target_statuses(notifications, &_block) notifications.group_by(&:type).each do |type, grouped_notifications| associations = TARGET_STATUS_INCLUDES_BY_TYPE[type] From 2b5faa2ba322d22cf9b345f815db7cbf89874415 Mon Sep 17 00:00:00 2001 From: Eugen Rochko Date: Tue, 19 Nov 2024 11:04:12 +0100 Subject: [PATCH 245/357] Change lists to reflect added and removed users retroactively (#32930) --- .../api/v1/lists/accounts_controller.rb | 13 ++------ app/models/follow_request.rb | 11 +++++-- app/services/add_accounts_to_list_service.rb | 33 +++++++++++++++++++ app/services/follow_service.rb | 5 ++- .../remove_accounts_from_list_service.rb | 29 ++++++++++++++++ app/services/unfollow_service.rb | 8 ++++- app/services/unmute_service.rb | 8 ++++- app/workers/merge_worker.rb | 30 +++++++++++++++-- app/workers/mute_worker.rb | 11 ++++++- app/workers/unmerge_worker.rb | 30 +++++++++++++++-- spec/models/follow_request_spec.rb | 2 +- spec/services/unmute_service_spec.rb | 2 +- 12 files changed, 157 insertions(+), 25 deletions(-) create mode 100644 app/services/add_accounts_to_list_service.rb create mode 100644 app/services/remove_accounts_from_list_service.rb diff --git a/app/controllers/api/v1/lists/accounts_controller.rb b/app/controllers/api/v1/lists/accounts_controller.rb index b1c0e609d04baf..616159f05f7b7f 100644 --- a/app/controllers/api/v1/lists/accounts_controller.rb +++ b/app/controllers/api/v1/lists/accounts_controller.rb @@ -15,17 +15,12 @@ def show end def create - ApplicationRecord.transaction do - list_accounts.each do |account| - @list.accounts << account - end - end - + AddAccountsToListService.new.call(@list, Account.find(account_ids)) render_empty end def destroy - ListAccount.where(list: @list, account_id: account_ids).destroy_all + RemoveAccountsFromListService.new.call(@list, Account.where(id: account_ids)) render_empty end @@ -43,10 +38,6 @@ def load_accounts end end - def list_accounts - Account.find(account_ids) - end - def account_ids Array(resource_params[:account_ids]) end diff --git a/app/models/follow_request.rb b/app/models/follow_request.rb index c13cc718d8f0ce..964d4e279a1797 100644 --- a/app/models/follow_request.rb +++ b/app/models/follow_request.rb @@ -33,8 +33,15 @@ class FollowRequest < ApplicationRecord def authorize! follow = account.follow!(target_account, reblogs: show_reblogs, notify: notify, languages: languages, uri: uri, bypass_limit: true) - ListAccount.where(follow_request: self).update_all(follow_request_id: nil, follow_id: follow.id) - MergeWorker.perform_async(target_account.id, account.id) if account.local? + + if account.local? + ListAccount.where(follow_request: self).update_all(follow_request_id: nil, follow_id: follow.id) + MergeWorker.perform_async(target_account.id, account.id, 'home') + MergeWorker.push_bulk(List.where(account: account).joins(:list_accounts).where(list_accounts: { account_id: target_account.id }).pluck(:id)) do |list_id| + [target_account.id, list_id, 'list'] + end + end + destroy! end diff --git a/app/services/add_accounts_to_list_service.rb b/app/services/add_accounts_to_list_service.rb new file mode 100644 index 00000000000000..df4e4c83140738 --- /dev/null +++ b/app/services/add_accounts_to_list_service.rb @@ -0,0 +1,33 @@ +# frozen_string_literal: true + +class AddAccountsToListService < BaseService + def call(list, accounts) + @list = list + @accounts = accounts + + return if @accounts.empty? + + update_list! + merge_into_list! + end + + private + + def update_list! + ApplicationRecord.transaction do + @accounts.each do |account| + @list.accounts << account + end + end + end + + def merge_into_list! + MergeWorker.push_bulk(merge_account_ids) do |account_id| + [account_id, @list.id, 'list'] + end + end + + def merge_account_ids + ListAccount.where(list: @list, account: @accounts).where.not(follow_id: nil).pluck(:account_id) + end +end diff --git a/app/services/follow_service.rb b/app/services/follow_service.rb index af5f996077e4a1..cff38b8e6e9d01 100644 --- a/app/services/follow_service.rb +++ b/app/services/follow_service.rb @@ -81,7 +81,10 @@ def direct_follow! follow = @source_account.follow!(@target_account, **follow_options.merge(rate_limit: @options[:with_rate_limit], bypass_limit: @options[:bypass_limit])) LocalNotificationWorker.perform_async(@target_account.id, follow.id, follow.class.name, 'follow') - MergeWorker.perform_async(@target_account.id, @source_account.id) + MergeWorker.perform_async(@target_account.id, @source_account.id, 'home') + MergeWorker.push_bulk(List.where(account: @source_account).joins(:list_accounts).where(list_accounts: { account_id: @target_account.id }).pluck(:id)) do |list_id| + [@target_account.id, list_id, 'list'] + end follow end diff --git a/app/services/remove_accounts_from_list_service.rb b/app/services/remove_accounts_from_list_service.rb new file mode 100644 index 00000000000000..bd5b7c439e9fb8 --- /dev/null +++ b/app/services/remove_accounts_from_list_service.rb @@ -0,0 +1,29 @@ +# frozen_string_literal: true + +class RemoveAccountsFromListService < BaseService + def call(list, accounts) + @list = list + @accounts = accounts + + return if @accounts.empty? + + unmerge_from_list! + update_list! + end + + private + + def update_list! + ListAccount.where(list: @list, account: @accounts).destroy_all + end + + def unmerge_from_list! + UnmergeWorker.push_bulk(unmerge_account_ids) do |account_id| + [account_id, @list.id, 'list'] + end + end + + def unmerge_account_ids + ListAccount.where(list: @list, account: @accounts).where.not(follow_id: nil).pluck(:account_id) + end +end diff --git a/app/services/unfollow_service.rb b/app/services/unfollow_service.rb index fe9a7f0d87ccd3..b3f2cd66f67c7e 100644 --- a/app/services/unfollow_service.rb +++ b/app/services/unfollow_service.rb @@ -31,7 +31,13 @@ def unfollow! create_notification(follow) if !@target_account.local? && @target_account.activitypub? create_reject_notification(follow) if @target_account.local? && !@source_account.local? && @source_account.activitypub? - UnmergeWorker.perform_async(@target_account.id, @source_account.id) unless @options[:skip_unmerge] + + unless @options[:skip_unmerge] + UnmergeWorker.perform_async(@target_account.id, @source_account.id, 'home') + UnmergeWorker.push_bulk(List.where(account: @source_account).joins(:list_accounts).where(list_accounts: { account_id: @target_account.id }).pluck(:list_id)) do |list_id| + [@target_account.id, list_id, 'list'] + end + end follow end diff --git a/app/services/unmute_service.rb b/app/services/unmute_service.rb index 6aeea358f758b0..9262961f7d74ab 100644 --- a/app/services/unmute_service.rb +++ b/app/services/unmute_service.rb @@ -6,6 +6,12 @@ def call(account, target_account) account.unmute!(target_account) - MergeWorker.perform_async(target_account.id, account.id) if account.following?(target_account) + if account.following?(target_account) + MergeWorker.perform_async(target_account.id, account.id, 'home') + + MergeWorker.push_bulk(List.where(account: account).joins(:list_accounts).where(list_accounts: { account_id: target_account.id }).pluck(:id)) do |list_id| + [target_account.id, list_id, 'list'] + end + end end end diff --git a/app/workers/merge_worker.rb b/app/workers/merge_worker.rb index 8e1614ad21b36f..d4dcb326bc2a22 100644 --- a/app/workers/merge_worker.rb +++ b/app/workers/merge_worker.rb @@ -5,18 +5,42 @@ class MergeWorker include Redisable include DatabaseHelper - def perform(from_account_id, into_account_id) + def perform(from_account_id, into_id, type = 'home') with_primary do @from_account = Account.find(from_account_id) + end + + case type + when 'home' + merge_into_home!(into_id) + when 'list' + merge_into_list!(into_id) + end + rescue ActiveRecord::RecordNotFound + true + end + + private + + def merge_into_home!(into_account_id) + with_primary do @into_account = Account.find(into_account_id) end with_read_replica do FeedManager.instance.merge_into_home(@from_account, @into_account) end - rescue ActiveRecord::RecordNotFound - true ensure redis.del("account:#{into_account_id}:regeneration") end + + def merge_into_list!(into_list_id) + with_primary do + @into_list = List.find(into_list_id) + end + + with_read_replica do + FeedManager.instance.merge_into_list(@from_account, @into_list) + end + end end diff --git a/app/workers/mute_worker.rb b/app/workers/mute_worker.rb index c74f657cbacad8..ebd401dc20cc25 100644 --- a/app/workers/mute_worker.rb +++ b/app/workers/mute_worker.rb @@ -2,9 +2,18 @@ class MuteWorker include Sidekiq::Worker + include DatabaseHelper def perform(account_id, target_account_id) - FeedManager.instance.clear_from_home(Account.find(account_id), Account.find(target_account_id)) + with_primary do + @account = Account.find(account_id) + @target_account = Account.find(target_account_id) + end + + with_read_replica do + FeedManager.instance.clear_from_home(@account, @target_account) + FeedManager.instance.clear_from_lists(@account, @target_account) + end rescue ActiveRecord::RecordNotFound true end diff --git a/app/workers/unmerge_worker.rb b/app/workers/unmerge_worker.rb index e8ac535dfe6be3..e8a3bf9b78024f 100644 --- a/app/workers/unmerge_worker.rb +++ b/app/workers/unmerge_worker.rb @@ -6,16 +6,40 @@ class UnmergeWorker sidekiq_options queue: 'pull' - def perform(from_account_id, into_account_id) + def perform(from_account_id, into_id, type = 'home') with_primary do @from_account = Account.find(from_account_id) + end + + case type + when 'home' + unmerge_from_home!(into_id) + when 'list' + unmerge_from_list!(into_id) + end + rescue ActiveRecord::RecordNotFound + true + end + + private + + def unmerge_from_home!(into_account_id) + with_primary do @into_account = Account.find(into_account_id) end with_read_replica do FeedManager.instance.unmerge_from_home(@from_account, @into_account) end - rescue ActiveRecord::RecordNotFound - true + end + + def unmerge_from_list!(into_list_id) + with_primary do + @into_list = List.find(into_list_id) + end + + with_read_replica do + FeedManager.instance.unmerge_from_list(@from_account, @into_list) + end end end diff --git a/spec/models/follow_request_spec.rb b/spec/models/follow_request_spec.rb index 9cccb82903c916..237875deabdbb1 100644 --- a/spec/models/follow_request_spec.rb +++ b/spec/models/follow_request_spec.rb @@ -30,7 +30,7 @@ follow_request.authorize! expect(account).to have_received(:follow!).with(target_account, reblogs: true, notify: false, uri: follow_request.uri, languages: nil, bypass_limit: true) - expect(MergeWorker).to have_received(:perform_async).with(target_account.id, account.id) + expect(MergeWorker).to have_received(:perform_async).with(target_account.id, account.id, 'home') expect(follow_request).to have_received(:destroy!) end diff --git a/spec/services/unmute_service_spec.rb b/spec/services/unmute_service_spec.rb index 92c7a70d65d105..a052e0dd0a78b6 100644 --- a/spec/services/unmute_service_spec.rb +++ b/spec/services/unmute_service_spec.rb @@ -16,7 +16,7 @@ it 'removes the account mute and sets up a merge' do expect { subject.call(account, target_account) } .to remove_account_mute - expect(MergeWorker).to have_enqueued_sidekiq_job(target_account.id, account.id) + expect(MergeWorker).to have_enqueued_sidekiq_job(target_account.id, account.id, 'home') end end From 37f00fb01811f379d0f2978d5b9fa6cec031e7c7 Mon Sep 17 00:00:00 2001 From: Matt Jankowski Date: Tue, 19 Nov 2024 05:36:02 -0500 Subject: [PATCH 246/357] Use hash arguments to `group` when possible (#32916) --- app/lib/annual_report/most_reblogged_accounts.rb | 2 +- app/lib/annual_report/most_used_apps.rb | 2 +- app/models/account_filter.rb | 2 +- app/models/poll.rb | 4 ++-- app/models/user.rb | 2 +- 5 files changed, 6 insertions(+), 6 deletions(-) diff --git a/app/lib/annual_report/most_reblogged_accounts.rb b/app/lib/annual_report/most_reblogged_accounts.rb index 5c750b19bf40d1..69e247f2a6b01b 100644 --- a/app/lib/annual_report/most_reblogged_accounts.rb +++ b/app/lib/annual_report/most_reblogged_accounts.rb @@ -17,6 +17,6 @@ def generate private def most_reblogged_accounts - report_statuses.where.not(reblog_of_id: nil).joins(reblog: :account).group('accounts.id').having('count(*) > 1').order(count_all: :desc).limit(SET_SIZE).count + report_statuses.where.not(reblog_of_id: nil).joins(reblog: :account).group(accounts: [:id]).having('count(*) > 1').order(count_all: :desc).limit(SET_SIZE).count end end diff --git a/app/lib/annual_report/most_used_apps.rb b/app/lib/annual_report/most_used_apps.rb index e10ba525033957..a2e1aca452ccee 100644 --- a/app/lib/annual_report/most_used_apps.rb +++ b/app/lib/annual_report/most_used_apps.rb @@ -17,6 +17,6 @@ def generate private def most_used_apps - report_statuses.joins(:application).group('oauth_applications.name').order(count_all: :desc).limit(SET_SIZE).count + report_statuses.joins(:application).group(oauth_applications: [:name]).order(count_all: :desc).limit(SET_SIZE).count end end diff --git a/app/models/account_filter.rb b/app/models/account_filter.rb index e2f359a8c32ef6..f5e9fc7db9496a 100644 --- a/app/models/account_filter.rb +++ b/app/models/account_filter.rb @@ -61,7 +61,7 @@ def scope_for(key, value) when 'email' accounts_with_users.merge(User.matches_email(value.to_s.strip)) when 'ip' - valid_ip?(value) ? accounts_with_users.merge(User.matches_ip(value).group('users.id, accounts.id')) : Account.none + valid_ip?(value) ? accounts_with_users.merge(User.matches_ip(value).group(users: [:id], accounts: [:id])) : Account.none when 'invited_by' invited_by_scope(value) when 'order' diff --git a/app/models/poll.rb b/app/models/poll.rb index cc4184f80a4c0f..ebd46440946bd9 100644 --- a/app/models/poll.rb +++ b/app/models/poll.rb @@ -29,8 +29,8 @@ class Poll < ApplicationRecord has_many :votes, class_name: 'PollVote', inverse_of: :poll, dependent: :delete_all with_options class_name: 'Account', source: :account, through: :votes do - has_many :voters, -> { group('accounts.id') } - has_many :local_voters, -> { group('accounts.id').merge(Account.local) } + has_many :voters, -> { group(accounts: [:id]) } + has_many :local_voters, -> { group(accounts: [:id]).merge(Account.local) } end has_many :notifications, as: :activity, dependent: :destroy diff --git a/app/models/user.rb b/app/models/user.rb index be9ebac6996097..c90a78f0cc0be4 100644 --- a/app/models/user.rb +++ b/app/models/user.rb @@ -125,7 +125,7 @@ class User < ApplicationRecord scope :signed_in_recently, -> { where(current_sign_in_at: ACTIVE_DURATION.ago..) } scope :not_signed_in_recently, -> { where(current_sign_in_at: ...ACTIVE_DURATION.ago) } scope :matches_email, ->(value) { where(arel_table[:email].matches("#{value}%")) } - scope :matches_ip, ->(value) { left_joins(:ips).merge(IpBlock.contained_by(value)).group('users.id') } + scope :matches_ip, ->(value) { left_joins(:ips).merge(IpBlock.contained_by(value)).group(users: [:id]) } before_validation :sanitize_role before_create :set_approved From 30e9c7137bf6fc2ca17766a58bd6d682971b0c7a Mon Sep 17 00:00:00 2001 From: Claire Date: Tue, 19 Nov 2024 21:21:12 +0100 Subject: [PATCH 247/357] Fix error when viewing statuses to deleted replies in moderation view (#32986) --- app/views/admin/reports/_status.html.haml | 2 +- app/views/admin/statuses/show.html.haml | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/app/views/admin/reports/_status.html.haml b/app/views/admin/reports/_status.html.haml index bd688a1a5d24aa..d20266aa2ca425 100644 --- a/app/views/admin/reports/_status.html.haml +++ b/app/views/admin/reports/_status.html.haml @@ -10,7 +10,7 @@ - elsif status.reply? && status.in_reply_to_id.present? .status__prepend = material_symbol('reply') - = t('admin.statuses.replied_to_html', acct_link: admin_account_inline_link_to(status.in_reply_to_account, path: admin_account_status_path(status.thread.account_id, status.in_reply_to_id))) + = t('admin.statuses.replied_to_html', acct_link: admin_account_inline_link_to(status.in_reply_to_account, path: status.thread.present? ? admin_account_status_path(status.thread.account_id, status.in_reply_to_id) : nil)) .status__content>< - if status.proper.spoiler_text.blank? = prerender_custom_emojis(status_content_format(status.proper), status.proper.emojis) diff --git a/app/views/admin/statuses/show.html.haml b/app/views/admin/statuses/show.html.haml index 49c23e921c2b71..1ff47631588f2e 100644 --- a/app/views/admin/statuses/show.html.haml +++ b/app/views/admin/statuses/show.html.haml @@ -22,7 +22,7 @@ - if @status.reply? %tr %th= t('admin.statuses.in_reply_to') - %td= admin_account_link_to @status.in_reply_to_account, path: admin_account_status_path(@status.thread.account_id, @status.in_reply_to_id) + %td= admin_account_link_to @status.in_reply_to_account, path: @status.thread.present? ? admin_account_status_path(@status.thread.account_id, @status.in_reply_to_id) : nil %tr %th= t('admin.statuses.application') %td= @status.application&.name @@ -61,7 +61,7 @@ - elsif @status.reply? && @status.in_reply_to_id.present? .status__prepend = material_symbol('reply') - = t('admin.statuses.replied_to_html', acct_link: admin_account_inline_link_to(@status.in_reply_to_account, path: admin_account_status_path(@status.thread.account_id, @status.in_reply_to_id))) + = t('admin.statuses.replied_to_html', acct_link: admin_account_inline_link_to(@status.in_reply_to_account, path: @status.thread.present? ? admin_account_status_path(@status.thread.account_id, @status.in_reply_to_id) : nil)) .status__content>< - if @status.proper.spoiler_text.blank? = prerender_custom_emojis(status_content_format(@status.proper), @status.proper.emojis) From 41b033e381d56eec76cd739d4eceb1dd701b6926 Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Wed, 20 Nov 2024 08:42:53 +0100 Subject: [PATCH 248/357] Update dependency opentelemetry-instrumentation-rails to '~> 0.33.0' (#32987) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> --- Gemfile | 2 +- Gemfile.lock | 12 ++++++------ 2 files changed, 7 insertions(+), 7 deletions(-) diff --git a/Gemfile b/Gemfile index c8104d094e0d26..6abb075c1ce613 100644 --- a/Gemfile +++ b/Gemfile @@ -114,7 +114,7 @@ group :opentelemetry do gem 'opentelemetry-instrumentation-net_http', '~> 0.22.4', require: false gem 'opentelemetry-instrumentation-pg', '~> 0.29.0', require: false gem 'opentelemetry-instrumentation-rack', '~> 0.25.0', require: false - gem 'opentelemetry-instrumentation-rails', '~> 0.32.0', require: false + gem 'opentelemetry-instrumentation-rails', '~> 0.33.0', require: false gem 'opentelemetry-instrumentation-redis', '~> 0.25.3', require: false gem 'opentelemetry-instrumentation-sidekiq', '~> 0.25.2', require: false gem 'opentelemetry-sdk', '~> 1.4', require: false diff --git a/Gemfile.lock b/Gemfile.lock index d1be469f48ef66..d45d17f52b9e62 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -478,13 +478,13 @@ GEM opentelemetry-api (~> 1.0) opentelemetry-instrumentation-active_support (~> 0.1) opentelemetry-instrumentation-base (~> 0.22.1) - opentelemetry-instrumentation-action_pack (0.9.0) + opentelemetry-instrumentation-action_pack (0.10.0) opentelemetry-api (~> 1.0) opentelemetry-instrumentation-base (~> 0.22.1) opentelemetry-instrumentation-rack (~> 0.21) - opentelemetry-instrumentation-action_view (0.7.2) + opentelemetry-instrumentation-action_view (0.7.3) opentelemetry-api (~> 1.0) - opentelemetry-instrumentation-active_support (~> 0.1) + opentelemetry-instrumentation-active_support (~> 0.6) opentelemetry-instrumentation-base (~> 0.22.1) opentelemetry-instrumentation-active_job (0.7.8) opentelemetry-api (~> 1.0) @@ -527,10 +527,10 @@ GEM opentelemetry-instrumentation-rack (0.25.0) opentelemetry-api (~> 1.0) opentelemetry-instrumentation-base (~> 0.22.1) - opentelemetry-instrumentation-rails (0.32.0) + opentelemetry-instrumentation-rails (0.33.0) opentelemetry-api (~> 1.0) opentelemetry-instrumentation-action_mailer (~> 0.2.0) - opentelemetry-instrumentation-action_pack (~> 0.9.0) + opentelemetry-instrumentation-action_pack (~> 0.10.0) opentelemetry-instrumentation-action_view (~> 0.7.0) opentelemetry-instrumentation-active_job (~> 0.7.0) opentelemetry-instrumentation-active_record (~> 0.8.0) @@ -966,7 +966,7 @@ DEPENDENCIES opentelemetry-instrumentation-net_http (~> 0.22.4) opentelemetry-instrumentation-pg (~> 0.29.0) opentelemetry-instrumentation-rack (~> 0.25.0) - opentelemetry-instrumentation-rails (~> 0.32.0) + opentelemetry-instrumentation-rails (~> 0.33.0) opentelemetry-instrumentation-redis (~> 0.25.3) opentelemetry-instrumentation-sidekiq (~> 0.25.2) opentelemetry-sdk (~> 1.4) From b66fbaeec236b0b666f1de7ae525dec2da40441a Mon Sep 17 00:00:00 2001 From: Matt Jankowski Date: Wed, 20 Nov 2024 02:52:00 -0500 Subject: [PATCH 249/357] Add `AccountWarning` case to `Report#history` spec (#32984) --- spec/models/report_spec.rb | 11 +++++++++-- 1 file changed, 9 insertions(+), 2 deletions(-) diff --git a/spec/models/report_spec.rb b/spec/models/report_spec.rb index a0e4f6fafd5e71..b4fbea437ffe08 100644 --- a/spec/models/report_spec.rb +++ b/spec/models/report_spec.rb @@ -108,15 +108,22 @@ let(:report) { Fabricate(:report, target_account_id: target_account.id, status_ids: [status.id], created_at: 3.days.ago, updated_at: 1.day.ago) } let(:target_account) { Fabricate(:account) } let(:status) { Fabricate(:status) } + let(:account_warning) { Fabricate(:account_warning, report_id: report.id) } before do Fabricate(:action_log, target_type: 'Report', account_id: target_account.id, target_id: report.id, created_at: 2.days.ago) Fabricate(:action_log, target_type: 'Account', account_id: target_account.id, target_id: report.target_account_id, created_at: 2.days.ago) Fabricate(:action_log, target_type: 'Status', account_id: target_account.id, target_id: status.id, created_at: 2.days.ago) + Fabricate(:action_log, target_type: 'AccountWarning', account_id: target_account.id, target_id: account_warning.id, created_at: 2.days.ago) end - it 'returns right logs' do - expect(action_logs.count).to eq 3 + it 'returns expected logs' do + expect(action_logs) + .to have_attributes(count: 4) + .and include(have_attributes(target_type: 'Account')) + .and include(have_attributes(target_type: 'AccountWarning')) + .and include(have_attributes(target_type: 'Report')) + .and include(have_attributes(target_type: 'Status')) end end From 4252b13a4bcd51248a781d9e8978f45fe6a1375b Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" <41898282+github-actions[bot]@users.noreply.github.com> Date: Wed, 20 Nov 2024 09:24:50 +0100 Subject: [PATCH 250/357] New Crowdin Translations (automated) (#32990) Co-authored-by: GitHub Actions --- app/javascript/mastodon/locales/ar.json | 1 + app/javascript/mastodon/locales/lt.json | 4 +++- app/javascript/mastodon/locales/pl.json | 19 +++++++++++++++++++ config/locales/lv.yml | 2 ++ config/locales/pl.yml | 15 +++++++++++++++ config/locales/simple_form.es-AR.yml | 2 +- config/locales/sv.yml | 1 + 7 files changed, 42 insertions(+), 2 deletions(-) diff --git a/app/javascript/mastodon/locales/ar.json b/app/javascript/mastodon/locales/ar.json index 5c7dfeb128fb19..7892766d87d0ea 100644 --- a/app/javascript/mastodon/locales/ar.json +++ b/app/javascript/mastodon/locales/ar.json @@ -490,6 +490,7 @@ "notification.label.private_reply": "رد خاص", "notification.label.reply": "ردّ", "notification.mention": "إشارة", + "notification.mentioned_you": "{name} mentioned you", "notification.moderation-warning.learn_more": "اعرف المزيد", "notification.moderation_warning": "لقد تلقيت تحذيرًا بالإشراف", "notification.moderation_warning.action_delete_statuses": "تم حذف بعض من منشوراتك.", diff --git a/app/javascript/mastodon/locales/lt.json b/app/javascript/mastodon/locales/lt.json index 378f642cfe816d..6d4f46f1d445e3 100644 --- a/app/javascript/mastodon/locales/lt.json +++ b/app/javascript/mastodon/locales/lt.json @@ -69,7 +69,7 @@ "account.unendorse": "Nerodyti profilyje", "account.unfollow": "Nebesekti", "account.unmute": "Atšaukti nutildymą @{name}", - "account.unmute_notifications_short": "Atšaukti nutildymą pranešimams", + "account.unmute_notifications_short": "Atšaukti pranešimų nutildymą", "account.unmute_short": "Atšaukti nutildymą", "account_note.placeholder": "Spustelėk, kad pridėtum pastabą.", "admin.dashboard.daily_retention": "Naudotojų pasilikimo rodiklis pagal dieną po registracijos", @@ -526,6 +526,7 @@ "notification.admin.report_statuses": "{name} pranešė {target} kategorijai {category}", "notification.admin.report_statuses_other": "{name} pranešė {target}", "notification.admin.sign_up": "{name} užsiregistravo", + "notification.admin.sign_up.name_and_others": "{name} ir {count, plural, one {# kitas} few {# kiti} many {# kito} other {# kitų}} užsiregistravo", "notification.annual_report.message": "Jūsų laukia {year} #Wrapstodon! Atskleiskite savo metų svarbiausius įvykius ir įsimintinas akimirkas platformoje „Mastodon“.", "notification.annual_report.view": "Peržiūrėti #Wrapstodon", "notification.favourite": "{name} pamėgo tavo įrašą", @@ -537,6 +538,7 @@ "notification.label.private_reply": "Privatus atsakymas", "notification.label.reply": "Atsakymas", "notification.mention": "Paminėjimas", + "notification.mentioned_you": "{name} paminėjo jus", "notification.moderation-warning.learn_more": "Sužinoti daugiau", "notification.moderation_warning": "Gavai prižiūrėjimo įspėjimą", "notification.moderation_warning.action_delete_statuses": "Kai kurie tavo įrašai buvo pašalintos.", diff --git a/app/javascript/mastodon/locales/pl.json b/app/javascript/mastodon/locales/pl.json index c521fabf390515..4558e29cb8ef99 100644 --- a/app/javascript/mastodon/locales/pl.json +++ b/app/javascript/mastodon/locales/pl.json @@ -87,6 +87,24 @@ "alert.unexpected.title": "Ups!", "alt_text_badge.title": "Tekst alternatywny", "announcement.announcement": "Ogłoszenie", + "annual_report.summary.archetype.booster": "Łowca treści", + "annual_report.summary.archetype.lurker": "Czyhający", + "annual_report.summary.archetype.oracle": "Wyrocznia", + "annual_report.summary.archetype.pollster": "Ankieter", + "annual_report.summary.archetype.replier": "Motyl społeczny", + "annual_report.summary.followers.followers": "obserwujących", + "annual_report.summary.followers.total": "łącznie {count}", + "annual_report.summary.here_it_is": "Oto przegląd Twojego {year} roku:", + "annual_report.summary.highlighted_post.by_favourites": "najbardziej ulubiony wpis", + "annual_report.summary.highlighted_post.by_reblogs": "najbardziej promowany wpis", + "annual_report.summary.highlighted_post.by_replies": "wpis z największą liczbą odpowiedzi", + "annual_report.summary.highlighted_post.possessive": "{name}", + "annual_report.summary.most_used_app.most_used_app": "najczęściej używana aplikacja", + "annual_report.summary.most_used_hashtag.most_used_hashtag": "najczęściej używany hashtag", + "annual_report.summary.most_used_hashtag.none": "Brak", + "annual_report.summary.new_posts.new_posts": "nowe wpisy", + "annual_report.summary.percentile.we_wont_tell_bernie": "Nie powiemy Berniemu.", + "annual_report.summary.thanks": "Dziękujemy, że jesteś częścią Mastodona!", "attachments_list.unprocessed": "(nieprzetworzone)", "audio.hide": "Ukryj dźwięk", "block_modal.remote_users_caveat": "Poprosimy serwer {domain} o uszanowanie twojej decyzji. Zgodność nie jest jednak gwarantowana, bo niektóre serwery mogą inaczej obsługiwać blokowanie. Wpisy publiczne mogą być widoczne dla niezalogowanych użytkowników.", @@ -508,6 +526,7 @@ "notification.admin.report_statuses_other": "{name} zgłosił(a) {target}", "notification.admin.sign_up": "Użytkownik {name} zarejestrował się", "notification.admin.sign_up.name_and_others": "zarejestrował(-a) się {name} i {count, plural, one {# inna osoba} few {# inne osoby} other {# innych osób}}", + "notification.annual_report.view": "Zobacz #Wrapstodon", "notification.favourite": "{name} dodaje Twój wpis do ulubionych", "notification.favourite.name_and_others_with_link": "{name} i {count, plural, one {# inna osoba polubiła twój wpis} few {# inne osoby polubiły twój wpis} other {# innych osób polubiło twój wpis}}", "notification.follow": "{name} obserwuje Cię", diff --git a/config/locales/lv.yml b/config/locales/lv.yml index 1ced1bb7d0e72e..3e44adbf46f278 100644 --- a/config/locales/lv.yml +++ b/config/locales/lv.yml @@ -830,6 +830,7 @@ lv: original_status: Oriģinālā ziņa reblogs: Reblogi status_changed: Ziņa mainīta + status_title: Publicēja @%{name} trending: Aktuāli visibility: Redzamība with_media: Ar multividi @@ -970,6 +971,7 @@ lv: one: Pēdējās nedēļas laikā izmantoja viens cilvēks other: Pēdējās nedēļas laikā izmantoja %{count} cilvēki zero: Pēdējās nedēļas laikā izmantoja %{count} cilvēku + title: Ieteikumi un pašlaik populāri trending: Populārākie warning_presets: add_new: Pievienot jaunu diff --git a/config/locales/pl.yml b/config/locales/pl.yml index 48a881a61b82f8..3592ea53f68086 100644 --- a/config/locales/pl.yml +++ b/config/locales/pl.yml @@ -193,6 +193,7 @@ pl: create_domain_block: Utwórz blokadę domeny create_email_domain_block: Utwórz blokadę domeny e-mail create_ip_block: Utwórz regułę IP + create_relay: Utwórz przekaźnik create_unavailable_domain: Utwórz niedostępną domenę create_user_role: Utwórz rolę demote_user: Zdegraduj użytkownika @@ -204,14 +205,17 @@ pl: destroy_email_domain_block: Usuń blokadę domeny e-mail destroy_instance: Wyczyść domenę destroy_ip_block: Usuń regułę IP + destroy_relay: Usuń przekaźnik destroy_status: Usuń wpis destroy_unavailable_domain: Usuń niedostępną domenę destroy_user_role: Zlikwiduj rolę disable_2fa_user: Wyłącz 2FA disable_custom_emoji: Wyłącz niestandardowe emoji + disable_relay: Wyłącz przekaźnik disable_sign_in_token_auth_user: Wyłącz uwierzytelnianie tokenem przez e-mail dla użytkownika disable_user: Wyłącz użytkownika enable_custom_emoji: Włącz niestandardowe emoji + enable_relay: Włącz przekaźnik enable_sign_in_token_auth_user: Włącz uwierzytelnianie tokenem przez e-mail dla użytkownika enable_user: Włącz użytkownika memorialize_account: Upamiętnij konto @@ -253,6 +257,7 @@ pl: create_domain_block_html: "%{name} zablokował(a) domenę %{target}" create_email_domain_block_html: "%{name} dodał(a) domenę e-mail %{target} na czarną listę" create_ip_block_html: "%{name} stworzył(a) regułę dla IP %{target}" + create_relay_html: "%{name} utworzył przekaźnik %{target}" create_unavailable_domain_html: "%{name} przestał(a) doręczać na domenę %{target}" create_user_role_html: "%{name} utworzył rolę %{target}" demote_user_html: "%{name} zdegradował(a) użytkownika %{target}" @@ -264,14 +269,17 @@ pl: destroy_email_domain_block_html: "%{name} usunął(-ęła) domenę e-mail %{target} z czarnej listy" destroy_instance_html: "%{name} usunął domenę %{target}" destroy_ip_block_html: "%{name} usunął(-ęła) regułę dla IP %{target}" + destroy_relay_html: "%{name} usunął przekaźnik %{target}" destroy_status_html: "%{name} usunął(-ęła) wpis użytkownika %{target}" destroy_unavailable_domain_html: "%{name} wznowił(a) doręczanie do domeny %{target}" destroy_user_role_html: "%{name} usunął rolę %{target}" disable_2fa_user_html: "%{name} wyłączył(a) uwierzytelnianie dwuskładnikowe użytkownikowi %{target}" disable_custom_emoji_html: "%{name} wyłączył(a) emoji %{target}" + disable_relay_html: "%{name} wyłączył przekaźnik %{target}" disable_sign_in_token_auth_user_html: "%{name} wyłączył/a uwierzytelnianie tokenem przez e-mail dla %{target}" disable_user_html: "%{name} zablokował(a) możliwość logowania użytkownikowi %{target}" enable_custom_emoji_html: "%{name} włączył(a) emoji %{target}" + enable_relay_html: "%{name} włączył przekaźnik %{target}" enable_sign_in_token_auth_user_html: "%{name} włączył/a uwierzytelnianie tokenem przez e-mail dla %{target}" enable_user_html: "%{name} przywrócił(a) możliwość logowania użytkownikowi %{target}" memorialize_account_html: "%{name} nadał(a) kontu %{target} status in memoriam" @@ -846,8 +854,10 @@ pl: back_to_account: Wróć na konto back_to_report: Wróć do strony zgłoszenia batch: + add_to_report: 'Dodaj do raportu #%{id}' remove_from_report: Usuń ze zgłoszenia report: Zgłoszenie + contents: Zawartość deleted: Usunięto favourites: Ulubione history: Historia wersji @@ -856,12 +866,17 @@ pl: media: title: Multimedia metadata: Metadane + no_history: Ten wpis nie był edytowany no_status_selected: Żaden wpis nie został zmieniony, bo żaden nie został wybrany open: Otwarty post original_status: Oryginalny post reblogs: Podbicia + replied_to_html: Odpowiedziano na %{acct_link} status_changed: Post zmieniony + status_title: Wpis @%{name} + title: Wpisy konta - @%{name} trending: Popularne + view_publicly: Wyświetl publicznie visibility: Widoczność with_media: Z zawartością multimedialną strikes: diff --git a/config/locales/simple_form.es-AR.yml b/config/locales/simple_form.es-AR.yml index dada648d5a188b..c3a65c0cc2701b 100644 --- a/config/locales/simple_form.es-AR.yml +++ b/config/locales/simple_form.es-AR.yml @@ -10,7 +10,7 @@ es-AR: indexable: Tus mensajes públicos pueden aparecer en los resultados de la búsqueda en Mastodon. La gente que interactuó con tus mensajes puede ser capaz de buscarlos sin importar el momento. note: 'Podés @mencionar otras cuentas o usar #etiquetas.' show_collections: La gente podrá navegar a través de tus seguidos y seguidores. Sin embargo, la gente que sigás, sabrá que lo estás haciendo. - unlocked: Las personas podrán seguirte sin solicitar aprobación. Desmarca si quieres revisar las solicitudes de seguimiento y elige si quieres aceptar o rechazar nuevos seguidores. + unlocked: Las personas podrán seguirte sin solicitar aprobación. Desmarcá si querés revisar las solicitudes de seguimiento y elegir si querés aceptar o rechazar nuevos seguidores. account_alias: acct: Especificá el nombredeusuario@dominio de la cuenta desde la que querés mudarte account_migration: diff --git a/config/locales/sv.yml b/config/locales/sv.yml index c48b45b2e8e290..173dd24c88cd01 100644 --- a/config/locales/sv.yml +++ b/config/locales/sv.yml @@ -843,6 +843,7 @@ sv: open: Öppna inlägg original_status: Ursprungligt inlägg reblogs: Ombloggningar + replied_to_html: Svarade på %{acct_link} status_changed: Inlägg ändrat status_title: Inlägg av @%{name} title: Kontoinlägg - @%{name} From 174c687ca0234285fac87d47196bbf0b1b606c33 Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Wed, 20 Nov 2024 10:01:13 +0100 Subject: [PATCH 251/357] Update dependency json-schema to v5.1.0 (#32992) 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 d45d17f52b9e62..bb503e157e076f 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -346,7 +346,7 @@ GEM json-ld-preloaded (3.3.1) json-ld (~> 3.3) rdf (~> 3.3) - json-schema (5.0.1) + json-schema (5.1.0) addressable (~> 2.8) jsonapi-renderer (0.2.2) jwt (2.7.1) From e68b26c8df2056182564abcee230927ed53200c8 Mon Sep 17 00:00:00 2001 From: Claire Date: Wed, 20 Nov 2024 13:41:22 +0100 Subject: [PATCH 252/357] Fix posts made in the future being allowed to trend (#32996) --- app/models/trends/statuses.rb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/app/models/trends/statuses.rb b/app/models/trends/statuses.rb index 8757e5aa9c3b6c..cdf592906967e3 100644 --- a/app/models/trends/statuses.rb +++ b/app/models/trends/statuses.rb @@ -106,7 +106,7 @@ def klass private def eligible?(status) - status.public_visibility? && status.account.discoverable? && !status.account.silenced? && !status.account.sensitized? && status.spoiler_text.blank? && !status.sensitive? && !status.reply? && valid_locale?(status.language) + status.created_at.past? && status.public_visibility? && status.account.discoverable? && !status.account.silenced? && !status.account.sensitized? && status.spoiler_text.blank? && !status.sensitive? && !status.reply? && valid_locale?(status.language) end def calculate_scores(statuses, at_time) From 683db3ab253e60d2a5ba14d0f348e5285704fea8 Mon Sep 17 00:00:00 2001 From: Eugen Rochko Date: Wed, 20 Nov 2024 16:56:35 +0100 Subject: [PATCH 253/357] Add ability to middle-mouse click posts in web UI (#32988) --- app/javascript/mastodon/components/status.jsx | 51 ++++++++----------- .../mastodon/components/status_content.jsx | 4 +- .../components/embedded_status.tsx | 12 +++-- 3 files changed, 33 insertions(+), 34 deletions(-) diff --git a/app/javascript/mastodon/components/status.jsx b/app/javascript/mastodon/components/status.jsx index 95ea53521f6190..669eb22cb629ad 100644 --- a/app/javascript/mastodon/components/status.jsx +++ b/app/javascript/mastodon/components/status.jsx @@ -3,6 +3,8 @@ import PropTypes from 'prop-types'; import { injectIntl, defineMessages, FormattedMessage } from 'react-intl'; import classNames from 'classnames'; +import { Link } from 'react-router-dom'; + import ImmutablePropTypes from 'react-immutable-proptypes'; import ImmutablePureComponent from 'react-immutable-pure-component'; @@ -164,32 +166,18 @@ class Status extends ImmutablePureComponent { }; handleClick = e => { - if (e && (e.button !== 0 || e.ctrlKey || e.metaKey)) { - return; - } - - if (e) { - e.preventDefault(); - } - - this.handleHotkeyOpen(); + e.preventDefault(); + this.handleHotkeyOpen(e); }; - handlePrependAccountClick = e => { - this.handleAccountClick(e, false); - }; + handleMouseUp = e => { + // Only handle clicks on the empty space above the content - handleAccountClick = (e, proper = true) => { - if (e && (e.button !== 0 || e.ctrlKey || e.metaKey)) { + if (e.target !== e.currentTarget) { return; } - if (e) { - e.preventDefault(); - e.stopPropagation(); - } - - this._openProfile(proper); + this.handleClick(e); }; handleExpandedToggle = () => { @@ -287,7 +275,7 @@ class Status extends ImmutablePureComponent { this.props.onMention(this._properStatus().get('account')); }; - handleHotkeyOpen = () => { + handleHotkeyOpen = (e) => { if (this.props.onClick) { this.props.onClick(); return; @@ -300,7 +288,13 @@ class Status extends ImmutablePureComponent { return; } - history.push(`/@${status.getIn(['account', 'acct'])}/${status.get('id')}`); + const path = `/@${status.getIn(['account', 'acct'])}/${status.get('id')}`; + + if (e?.button === 0 && !(e?.ctrlKey || e?.metaKey)) { + history.push(path); + } else if (e?.button === 1 || (e?.button === 0 && (e?.ctrlKey || e?.metaKey))) { + window.open(path, '_blank', 'noreferrer noopener'); + } }; handleHotkeyOpenProfile = () => { @@ -412,7 +406,7 @@ class Status extends ImmutablePureComponent { prepend = (
- }} /> + }} />
); @@ -550,20 +544,19 @@ class Status extends ImmutablePureComponent {
{(connectReply || connectUp || connectToRoot) &&
} - {/* eslint-disable-next-line jsx-a11y/no-static-element-interactions */} -
- + {matchedFilters && } diff --git a/app/javascript/mastodon/components/status_content.jsx b/app/javascript/mastodon/components/status_content.jsx index 4950c896f97e7e..fe485eb3ac8cd9 100644 --- a/app/javascript/mastodon/components/status_content.jsx +++ b/app/javascript/mastodon/components/status_content.jsx @@ -204,8 +204,8 @@ class StatusContent extends PureComponent { element = element.parentNode; } - if (deltaX + deltaY < 5 && e.button === 0 && this.props.onClick) { - this.props.onClick(); + if (deltaX + deltaY < 5 && (e.button === 0 || e.button === 1) && this.props.onClick) { + this.props.onClick(e); } this.startXY = null; diff --git a/app/javascript/mastodon/features/notifications_v2/components/embedded_status.tsx b/app/javascript/mastodon/features/notifications_v2/components/embedded_status.tsx index 65ea9b5d5e27bc..ca0d1bc850d446 100644 --- a/app/javascript/mastodon/features/notifications_v2/components/embedded_status.tsx +++ b/app/javascript/mastodon/features/notifications_v2/components/embedded_status.tsx @@ -43,7 +43,7 @@ export const EmbeddedStatus: React.FC<{ statusId: string }> = ({ ); const handleMouseUp = useCallback>( - ({ clientX, clientY, target, button }) => { + ({ clientX, clientY, target, button, ctrlKey, metaKey }) => { const [startX, startY] = clickCoordinatesRef.current ?? [0, 0]; const [deltaX, deltaY] = [ Math.abs(clientX - startX), @@ -64,8 +64,14 @@ export const EmbeddedStatus: React.FC<{ statusId: string }> = ({ element = element.parentNode as HTMLDivElement | null; } - if (deltaX + deltaY < 5 && button === 0 && account) { - history.push(`/@${account.acct}/${statusId}`); + if (deltaX + deltaY < 5 && account) { + const path = `/@${account.acct}/${statusId}`; + + if (button === 0 && !(ctrlKey || metaKey)) { + history.push(path); + } else if (button === 1 || (button === 0 && (ctrlKey || metaKey))) { + window.open(path, '_blank', 'noreferrer noopener'); + } } clickCoordinatesRef.current = null; From 2526b32ad3cb1142edc6e2cfb272a9e3cef19060 Mon Sep 17 00:00:00 2001 From: Paulo Vilarinho <33267902+PauloVilarinho@users.noreply.github.com> Date: Wed, 20 Nov 2024 16:06:41 -0300 Subject: [PATCH 254/357] block scheduled status from frozen users (#30729) --- .../publish_scheduled_status_worker.rb | 2 ++ .../publish_scheduled_status_worker_spec.rb | 22 +++++++++++++++---- 2 files changed, 20 insertions(+), 4 deletions(-) diff --git a/app/workers/publish_scheduled_status_worker.rb b/app/workers/publish_scheduled_status_worker.rb index aa5c4a834a0510..0ec081de917030 100644 --- a/app/workers/publish_scheduled_status_worker.rb +++ b/app/workers/publish_scheduled_status_worker.rb @@ -9,6 +9,8 @@ def perform(scheduled_status_id) scheduled_status = ScheduledStatus.find(scheduled_status_id) scheduled_status.destroy! + return true if scheduled_status.account.user.disabled? + PostStatusService.new.call( scheduled_status.account, options_with_objects(scheduled_status.params.with_indifferent_access) diff --git a/spec/workers/publish_scheduled_status_worker_spec.rb b/spec/workers/publish_scheduled_status_worker_spec.rb index 35e510d2539cf0..9365e8a4bc5261 100644 --- a/spec/workers/publish_scheduled_status_worker_spec.rb +++ b/spec/workers/publish_scheduled_status_worker_spec.rb @@ -12,12 +12,26 @@ subject.perform(scheduled_status.id) end - it 'creates a status' do - expect(scheduled_status.account.statuses.first.text).to eq 'Hello world, future!' + context 'when the account is not disabled' do + it 'creates a status' do + expect(scheduled_status.account.statuses.first.text).to eq 'Hello world, future!' + end + + it 'removes the scheduled status' do + expect(ScheduledStatus.find_by(id: scheduled_status.id)).to be_nil + end end - it 'removes the scheduled status' do - expect(ScheduledStatus.find_by(id: scheduled_status.id)).to be_nil + context 'when the account is disabled' do + let(:scheduled_status) { Fabricate(:scheduled_status, account: Fabricate(:account, user: Fabricate(:user, disabled: true))) } + + it 'does not create a status' do + expect(Status.count).to eq 0 + end + + it 'removes the scheduled status' do + expect(ScheduledStatus.find_by(id: scheduled_status.id)).to be_nil + end end end end From 420ed155babd2a5f40307ab40f1e7e815bb91f40 Mon Sep 17 00:00:00 2001 From: Eugen Rochko Date: Thu, 21 Nov 2024 11:58:04 +0100 Subject: [PATCH 255/357] Fix wrong video dimensions for some rotated videos (#33008) --- app/lib/video_metadata_extractor.rb | 3 +++ 1 file changed, 3 insertions(+) diff --git a/app/lib/video_metadata_extractor.rb b/app/lib/video_metadata_extractor.rb index 2155766251e35d..fda6405121858c 100644 --- a/app/lib/video_metadata_extractor.rb +++ b/app/lib/video_metadata_extractor.rb @@ -46,6 +46,9 @@ def parse_metadata # For some video streams the frame_rate reported by `ffprobe` will be 0/0, but for these streams we # should use `r_frame_rate` instead. Video screencast generated by Gnome Screencast have this issue. @frame_rate ||= @r_frame_rate + # If the video has not been re-encoded by ffmpeg, it may contain rotation information, + # and we need to simulate applying it to the dimensions + @width, @height = @height, @width if video_stream[:side_data_list]&.any? { |x| x[:rotation].abs == 90 } end if (audio_stream = audio_streams.first) From e4d5cc0ca6a1b05b657da6862f49393a9c06b161 Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" <41898282+github-actions[bot]@users.noreply.github.com> Date: Thu, 21 Nov 2024 10:58:45 +0000 Subject: [PATCH 256/357] New Crowdin Translations (automated) (#33010) Co-authored-by: GitHub Actions --- app/javascript/mastodon/locales/de.json | 6 +-- app/javascript/mastodon/locales/gd.json | 21 ++++++++ app/javascript/mastodon/locales/ig.json | 14 +++++- app/javascript/mastodon/locales/zh-CN.json | 58 +++++++++++----------- config/locales/doorkeeper.ig.yml | 10 ++++ config/locales/gd.yml | 15 ++++++ config/locales/ig.yml | 23 +++++++++ config/locales/simple_form.gd.yml | 1 + config/locales/simple_form.ig.yml | 7 +++ config/locales/simple_form.zh-CN.yml | 14 +++--- config/locales/zh-CN.yml | 24 ++++----- 11 files changed, 140 insertions(+), 53 deletions(-) diff --git a/app/javascript/mastodon/locales/de.json b/app/javascript/mastodon/locales/de.json index 510cc821f3022f..e9bf6a41812783 100644 --- a/app/javascript/mastodon/locales/de.json +++ b/app/javascript/mastodon/locales/de.json @@ -486,12 +486,12 @@ "mute_modal.hide_from_notifications": "Benachrichtigungen ausblenden", "mute_modal.hide_options": "Einstellungen ausblenden", "mute_modal.indefinite": "Bis ich die Stummschaltung aufhebe", - "mute_modal.show_options": "Einstellungen anzeigen", + "mute_modal.show_options": "Optionen anzeigen", "mute_modal.they_can_mention_and_follow": "Das Profil wird dich weiterhin erwähnen und dir folgen können, aber du wirst davon nichts sehen.", - "mute_modal.they_wont_know": "Es wird nicht erkennbar sein, dass dieses Profil stummgeschaltet wurde.", + "mute_modal.they_wont_know": "Das Profil wird nicht erkennen können, dass du es stummgeschaltet hast.", "mute_modal.title": "Profil stummschalten?", "mute_modal.you_wont_see_mentions": "Du wirst keine Beiträge sehen, die dieses Profil erwähnen.", - "mute_modal.you_wont_see_posts": "Deine Beiträge können weiterhin angesehen werden, aber du wirst deren Beiträge nicht mehr sehen.", + "mute_modal.you_wont_see_posts": "Deine Beiträge können von diesem stummgeschalteten Profil weiterhin gesehen werden, aber du wirst dessen Beiträge nicht mehr sehen.", "navigation_bar.about": "Über", "navigation_bar.administration": "Administration", "navigation_bar.advanced_interface": "Im erweiterten Webinterface öffnen", diff --git a/app/javascript/mastodon/locales/gd.json b/app/javascript/mastodon/locales/gd.json index 4f68737b145db1..f459f50a80c757 100644 --- a/app/javascript/mastodon/locales/gd.json +++ b/app/javascript/mastodon/locales/gd.json @@ -87,6 +87,25 @@ "alert.unexpected.title": "Oich!", "alt_text_badge.title": "Roghainn teacsa", "announcement.announcement": "Brath-fios", + "annual_report.summary.archetype.booster": "Brosnaiche", + "annual_report.summary.archetype.lurker": "Eala-bhalbh", + "annual_report.summary.archetype.oracle": "Coinneach Odhar", + "annual_report.summary.archetype.pollster": "Cunntair nam beachd", + "annual_report.summary.archetype.replier": "Ceatharnach nam freagairt", + "annual_report.summary.followers.followers": "luchd-leantainn", + "annual_report.summary.followers.total": "{count} gu h-iomlan", + "annual_report.summary.here_it_is": "Seo mar a chaidh {year} leat:", + "annual_report.summary.highlighted_post.by_favourites": "am post as annsa", + "annual_report.summary.highlighted_post.by_reblogs": "am post air a bhrosnachadh as trice", + "annual_report.summary.highlighted_post.by_replies": "am post dhan deach fhreagairt as trice", + "annual_report.summary.highlighted_post.possessive": "Aig {name},", + "annual_report.summary.most_used_app.most_used_app": "an aplacaid a chaidh a cleachdadh as trice", + "annual_report.summary.most_used_hashtag.most_used_hashtag": "an taga hais a chaidh a cleachdadh as trice", + "annual_report.summary.most_used_hashtag.none": "Chan eil gin", + "annual_report.summary.new_posts.new_posts": "postaichean ùra", + "annual_report.summary.percentile.text": "Tha thu am measg brod nandhen luchd-cleachdaidh Mhastodon.", + "annual_report.summary.percentile.we_wont_tell_bernie": "Ainmeil ’nad latha ’s ’nad linn.", + "annual_report.summary.thanks": "Mòran taing airson conaltradh air Mastodon.", "attachments_list.unprocessed": "(gun phròiseasadh)", "audio.hide": "Falaich an fhuaim", "block_modal.remote_users_caveat": "Iarraidh sinn air an fhrithealaiche {domain} gun gèill iad ri do cho-dhùnadh. Gidheadh, chan eil barantas gun gèill iad on a làimhsicheas cuid a fhrithealaichean bacaidhean air dòigh eadar-dhealaichte. Dh’fhaoidte gum faic daoine gun chlàradh a-steach na postaichean poblach agad fhathast.", @@ -508,6 +527,8 @@ "notification.admin.report_statuses_other": "Rinn {name} gearan mu {target}", "notification.admin.sign_up": "Chlàraich {name}", "notification.admin.sign_up.name_and_others": "Chlàraich {name} ’s {count, plural, one {# eile} two {# eile} few {# eile} other {# eile}}", + "notification.annual_report.message": "Tha #Wrapstodon {year} deiseil dhut! Thoir sùil air mar a chaidh leat air Mastodon am bliadhna!", + "notification.annual_report.view": "Seall #Wrapstodon", "notification.favourite": "Is annsa le {name} am post agad", "notification.favourite.name_and_others_with_link": "Is annsa le {name} ’s {count, plural, one {# eile} two {# eile} few {# eile} other {# eile}} am post agad", "notification.follow": "Tha {name} ’gad leantainn a-nis", diff --git a/app/javascript/mastodon/locales/ig.json b/app/javascript/mastodon/locales/ig.json index b8b0f1084df117..bcd62187af55cd 100644 --- a/app/javascript/mastodon/locales/ig.json +++ b/app/javascript/mastodon/locales/ig.json @@ -6,10 +6,14 @@ "account.follow": "Soro", "account.followers": "Ndị na-eso", "account.following": "Na-eso", + "account.go_to_profile": "Jee na profaịlụ", "account.mute": "Mee ogbi @{name}", + "account.posts": "Edemede", + "account.posts_with_replies": "Edemede na nzaghachị", "account.unfollow": "Kwụsị iso", "account_note.placeholder": "Click to add a note", "admin.dashboard.retention.cohort_size": "Ojiarụ ọhụrụ", + "annual_report.summary.new_posts.new_posts": "edemede ọhụrụ", "audio.hide": "Zoo ụda", "bundle_column_error.retry": "Nwaa ọzọ", "bundle_column_error.routing.title": "404", @@ -46,6 +50,7 @@ "confirmations.reply.confirm": "Zaa", "confirmations.unfollow.confirm": "Kwụsị iso", "conversation.delete": "Hichapụ nkata", + "conversation.open": "Lelee nkata", "disabled_account_banner.account_settings": "Mwube akaụntụ", "dismissable_banner.explore_links": "These news stories are being talked about by people on this and other servers of the decentralized network right now.", "dismissable_banner.explore_tags": "These hashtags are gaining traction among people on this and other servers of the decentralized network right now.", @@ -62,8 +67,10 @@ "empty_column.list": "There is nothing in this list yet. When members of this list post new statuses, they will appear here.", "errors.unexpected_crash.report_issue": "Kpesa nsogbu", "explore.trending_links": "Akụkọ", + "filter_modal.added.review_and_configure_title": "Mwube myọ", "firehose.all": "Ha niine", "follow_request.authorize": "Nye ikike", + "follow_suggestions.view_all": "Lelee ha ncha", "footer.privacy_policy": "Iwu nzuzu", "getting_started.heading": "Mbido", "hashtag.column_settings.tag_toggle": "Include additional tags in this column", @@ -85,7 +92,7 @@ "keyboard_shortcuts.local": "to open local timeline", "keyboard_shortcuts.mention": "to mention author", "keyboard_shortcuts.muted": "to open muted users list", - "keyboard_shortcuts.my_profile": "to open your profile", + "keyboard_shortcuts.my_profile": "Mepe profaịlụ gị", "keyboard_shortcuts.notifications": "to open notifications column", "keyboard_shortcuts.open_media": "to open media", "keyboard_shortcuts.pinned": "to open pinned posts list", @@ -112,6 +119,7 @@ "navigation_bar.lists": "Ndepụta", "not_signed_in_indicator.not_signed_in": "You need to sign in to access this resource.", "notification.reblog": "{name} boosted your status", + "notifications.column_settings.status": "Edemede ọhụrụ:", "onboarding.actions.go_to_explore": "See what's trending", "onboarding.actions.go_to_home": "Go to your home feed", "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!", @@ -124,7 +132,7 @@ "onboarding.steps.setup_profile.body": "Others are more likely to interact with you with a filled out profile.", "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.steps.share_profile.title": "Kekọrịta profaịlụ Mastọdọnụ gị", "privacy.change": "Adjust status privacy", "relative_time.full.just_now": "kịta", "relative_time.just_now": "kịta", @@ -132,6 +140,7 @@ "reply_indicator.cancel": "Kagbuo", "report.categories.other": "Ọzọ", "report.categories.spam": "Nzipụ Ozièlètrọniìk Nkeāchọghị", + "report.category.title_account": "profaịlụ", "report.mute": "Mee ogbi", "report.placeholder": "Type or paste additional comments", "report.submit": "Submit report", @@ -139,6 +148,7 @@ "report_notification.attached_statuses": "{count, plural, one {# post} other {# posts}} attached", "report_notification.categories.other": "Ọzọ", "search.placeholder": "Chọọ", + "search_results.accounts": "Profaịlụ", "server_banner.active_users": "ojiarụ dị ìrè", "sign_in_banner.sign_in": "Sign in", "status.admin_status": "Open this status in the moderation interface", diff --git a/app/javascript/mastodon/locales/zh-CN.json b/app/javascript/mastodon/locales/zh-CN.json index cc0f0b9341a94d..463167e8f8fed4 100644 --- a/app/javascript/mastodon/locales/zh-CN.json +++ b/app/javascript/mastodon/locales/zh-CN.json @@ -11,7 +11,7 @@ "about.not_available": "此信息在当前服务器尚不可用。", "about.powered_by": "由 {mastodon} 驱动的去中心化社交媒体", "about.rules": "站点规则", - "account.account_note_header": "个人备注", + "account.account_note_header": "备注", "account.add_or_remove_from_list": "从列表中添加或移除", "account.badges.bot": "机器人", "account.badges.group": "群组", @@ -36,7 +36,7 @@ "account.followers.empty": "目前无人关注此用户。", "account.followers_counter": "{count, plural, other {{counter} 关注者}}", "account.following": "正在关注", - "account.following_counter": "正在关注 {count, plural, other {{counter} 人}}", + "account.following_counter": "{count, plural, other {{counter} 正在关注}}", "account.follows.empty": "此用户目前未关注任何人。", "account.go_to_profile": "前往个人资料页", "account.hide_reblogs": "隐藏来自 @{name} 的转嘟", @@ -139,7 +139,7 @@ "column.about": "关于", "column.blocks": "屏蔽的用户", "column.bookmarks": "书签", - "column.community": "本站时间轴", + "column.community": "本站时间线", "column.direct": "私下提及", "column.directory": "浏览用户资料", "column.domain_blocks": "已屏蔽的域名", @@ -151,7 +151,7 @@ "column.mutes": "已隐藏的用户", "column.notifications": "通知", "column.pins": "置顶嘟文", - "column.public": "跨站公共时间轴", + "column.public": "跨站公共时间线", "column_back_button.label": "返回", "column_header.hide_settings": "隐藏设置", "column_header.moveLeft_settings": "将此栏左移", @@ -192,15 +192,15 @@ "confirmations.block.confirm": "屏蔽", "confirmations.delete.confirm": "删除", "confirmations.delete.message": "你确定要删除这条嘟文吗?", - "confirmations.delete.title": "确认删除嘟文?", + "confirmations.delete.title": "是否删除嘟文?", "confirmations.delete_list.confirm": "删除", - "confirmations.delete_list.message": "确定永久删除这个列表吗?", - "confirmations.delete_list.title": "确认删除列表?", + "confirmations.delete_list.message": "你确定要永久删除此列表吗?", + "confirmations.delete_list.title": "是否删除列表?", "confirmations.discard_edit_media.confirm": "丢弃", "confirmations.discard_edit_media.message": "你还有未保存的媒体描述或预览修改,仍要丢弃吗?", "confirmations.edit.confirm": "编辑", "confirmations.edit.message": "编辑此消息将会覆盖当前正在撰写的信息。仍要继续吗?", - "confirmations.edit.title": "确认覆盖嘟文?", + "confirmations.edit.title": "是否重写嘟文?", "confirmations.logout.confirm": "退出登录", "confirmations.logout.message": "确定要退出登录吗?", "confirmations.logout.title": "是否退出登录?", @@ -210,13 +210,13 @@ "confirmations.redraft.title": "是否删除并重新编辑嘟文?", "confirmations.reply.confirm": "回复", "confirmations.reply.message": "回复此消息将会覆盖当前正在编辑的信息。确定继续吗?", - "confirmations.reply.title": "确认覆盖嘟文?", + "confirmations.reply.title": "是否重写嘟文?", "confirmations.unfollow.confirm": "取消关注", "confirmations.unfollow.message": "你确定要取消关注 {name} 吗?", "confirmations.unfollow.title": "是否取消关注用户?", - "content_warning.hide": "隐藏嘟文", - "content_warning.show": "仍然显示", - "content_warning.show_more": "显示更多", + "content_warning.hide": "隐藏", + "content_warning.show": "展开", + "content_warning.show_more": "展开", "conversation.delete": "删除对话", "conversation.mark_as_read": "标记为已读", "conversation.open": "查看对话", @@ -235,13 +235,13 @@ "dismissable_banner.explore_links": "这些新闻故事正被本站和分布式网络上其他站点的用户谈论。", "dismissable_banner.explore_statuses": "这些是目前在社交网络上引起关注的嘟文。嘟文的喜欢和转嘟次数越多,排名越高。", "dismissable_banner.explore_tags": "这些标签正在本站和分布式网络上其他站点的用户中引起关注。", - "dismissable_banner.public_timeline": "这些是在 {domain} 上关注的人们最新发布的公开嘟文。", + "dismissable_banner.public_timeline": "这些是 {domain} 上的用户关注的人的最新公开嘟文。", "domain_block_modal.block": "屏蔽服务器", "domain_block_modal.block_account_instead": "改为屏蔽 @{name}", "domain_block_modal.they_can_interact_with_old_posts": "来自该服务器的人可以与你之前的嘟文交互。", "domain_block_modal.they_cant_follow": "此服务器上没有人可以关注你。", "domain_block_modal.they_wont_know": "对方不会知道自己被屏蔽。", - "domain_block_modal.title": "屏蔽该域名?", + "domain_block_modal.title": "是否屏蔽该域名?", "domain_block_modal.you_will_lose_num_followers": "你将失去 {followersCount, plural, other {{followersCountDisplay} 名关注者}}和 {followingCount, plural, other {{followingCountDisplay} 名关注}}。", "domain_block_modal.you_will_lose_relationships": "你将失去在此实例上的所有关注和关注者。", "domain_block_modal.you_wont_see_posts": "你将不会看到此服务器上用户的嘟文或通知。", @@ -259,7 +259,7 @@ "domain_pill.your_server": "你的数字家园,你的所有嘟文都存放在这里。不喜欢这个服务器吗?随时带上你的关注者一起迁移到其它服务器。", "domain_pill.your_username": "你在这个服务器上的唯一标识符。不同服务器上可能会存在相同用户名的用户。", "embed.instructions": "复制下列代码以在你的网站中嵌入此嘟文。", - "embed.preview": "它会像这样显示出来:", + "embed.preview": "这是它的预览效果:", "emoji_button.activity": "活动", "emoji_button.clear": "清除", "emoji_button.custom": "自定义", @@ -274,14 +274,14 @@ "emoji_button.search": "搜索…", "emoji_button.search_results": "搜索结果", "emoji_button.symbols": "符号", - "emoji_button.travel": "旅行和地点", - "empty_column.account_hides_collections": "该用户选择不提供此信息", + "emoji_button.travel": "旅行与地点", + "empty_column.account_hides_collections": "该用户选择不公开此信息", "empty_column.account_suspended": "账户已被停用", "empty_column.account_timeline": "这里没有嘟文!", "empty_column.account_unavailable": "个人资料不可用", "empty_column.blocks": "你还未屏蔽任何用户。", - "empty_column.bookmarked_statuses": "你还没有给任何嘟文添加过书签。在你添加书签后,嘟文就会显示在这里。", - "empty_column.community": "本站时间轴暂时没有内容,快写点什么让它动起来吧!", + "empty_column.bookmarked_statuses": "你还没有收藏任何嘟文。收藏后嘟文就会显示在这里。", + "empty_column.community": "本站时间线还没有内容,写点什么并公开发布,让它活跃起来吧!", "empty_column.direct": "你还未使用过私下提及。当你发出或者收到私下提及时,它将显示在此。", "empty_column.domain_blocks": "暂且没有被屏蔽的站点。", "empty_column.explore_statuses": "目前没有热门内容,稍后再来看看吧!", @@ -290,7 +290,7 @@ "empty_column.follow_requests": "你还没有收到任何关注请求。当你收到一个关注请求时,它会出现在这里。", "empty_column.followed_tags": "你还没有关注任何话题标签。 当你关注后,它们会出现在这里。", "empty_column.hashtag": "这个话题标签下暂时没有内容。", - "empty_column.home": "你的主页时间线是空的!快去关注更多人吧。 {suggestions}", + "empty_column.home": "你的主页时间线还没有内容!快去关注更多人吧。", "empty_column.list": "列表中还没有任何内容。当列表成员发布新嘟文时,它们将出现在这里。", "empty_column.lists": "你还没有创建过列表。你创建的列表会在这里显示。", "empty_column.mutes": "你没有隐藏任何用户。", @@ -349,7 +349,7 @@ "follow_suggestions.similar_to_recently_followed_longer": "与你近期关注的用户相似", "follow_suggestions.view_all": "查看全部", "follow_suggestions.who_to_follow": "推荐关注", - "followed_tags": "关注的话题标签", + "followed_tags": "已关注话题标签", "footer.about": "关于", "footer.directory": "用户目录", "footer.get_app": "获取应用", @@ -432,12 +432,12 @@ "keyboard_shortcuts.enter": "展开嘟文", "keyboard_shortcuts.favourite": "喜欢嘟文", "keyboard_shortcuts.favourites": "打开喜欢列表", - "keyboard_shortcuts.federated": "打开跨站时间轴", + "keyboard_shortcuts.federated": "打开跨站时间线", "keyboard_shortcuts.heading": "快捷键列表", - "keyboard_shortcuts.home": "打开主页时间轴", + "keyboard_shortcuts.home": "打开主页时间线", "keyboard_shortcuts.hotkey": "快捷键", "keyboard_shortcuts.legend": "显示此列表", - "keyboard_shortcuts.local": "打开本站时间轴", + "keyboard_shortcuts.local": "打开本站时间线", "keyboard_shortcuts.mention": "提及嘟文作者", "keyboard_shortcuts.muted": "打开隐藏用户列表", "keyboard_shortcuts.my_profile": "打开你的个人资料", @@ -497,7 +497,7 @@ "navigation_bar.advanced_interface": "在高级网页界面中打开", "navigation_bar.blocks": "已屏蔽的用户", "navigation_bar.bookmarks": "书签", - "navigation_bar.community_timeline": "本站时间轴", + "navigation_bar.community_timeline": "本站时间线", "navigation_bar.compose": "撰写新嘟文", "navigation_bar.direct": "私下提及", "navigation_bar.discover": "发现", @@ -516,7 +516,7 @@ "navigation_bar.personal": "个人", "navigation_bar.pins": "置顶嘟文", "navigation_bar.preferences": "偏好设置", - "navigation_bar.public_timeline": "跨站公共时间轴", + "navigation_bar.public_timeline": "跨站公共时间线", "navigation_bar.search": "搜索", "navigation_bar.security": "安全", "not_signed_in_indicator.not_signed_in": "你需要登录才能访问此资源。", @@ -693,7 +693,7 @@ "privacy.private.short": "关注者", "privacy.public.long": "所有 Mastodon 内外的人", "privacy.public.short": "公开", - "privacy.unlisted.additional": "该模式的行为与“公开”完全相同,只是帖子不会出现在实时动态、话题标签、探索或 Mastodon 搜索中,即使你已在账户级设置中选择加入。", + "privacy.unlisted.additional": "该模式的行为与“公开”完全相同,只是嘟文不会出现在实时动态、话题标签、探索或 Mastodon 搜索中,即使你已在账户级设置中选择加入。", "privacy.unlisted.long": "减少算法影响", "privacy.unlisted.short": "悄悄公开", "privacy_policy.last_updated": "最近更新于 {date}", @@ -747,7 +747,7 @@ "report.rules.subtitle": "选择所有适用选项", "report.rules.title": "违反了哪些规则?", "report.statuses.subtitle": "选择所有适用选项", - "report.statuses.title": "是否有任何嘟文可以支持这一报告?", + "report.statuses.title": "是否有可以证实此举报的嘟文?", "report.submit": "提交", "report.target": "举报 {target}", "report.thanks.take_action": "以下是你控制你在 Mastodon 上能看到哪些内容的选项:", @@ -856,7 +856,7 @@ "status.uncached_media_warning": "预览不可用", "status.unmute_conversation": "恢复此对话的通知提醒", "status.unpin": "在个人资料页面取消置顶", - "subscribed_languages.lead": "更改此选择后,仅选定语言的嘟文会出现在你的主页和列表时间轴上。选择「无」将接收所有语言的嘟文。", + "subscribed_languages.lead": "更改此选择后,只有选定语言的嘟文才会出现在你的主页和列表时间线上。选择「无」将显示所有语言的嘟文。", "subscribed_languages.save": "保存更改", "subscribed_languages.target": "更改 {target} 的订阅语言", "tabs_bar.home": "主页", diff --git a/config/locales/doorkeeper.ig.yml b/config/locales/doorkeeper.ig.yml index 7c264f0d7317b0..ef11972aed9306 100644 --- a/config/locales/doorkeeper.ig.yml +++ b/config/locales/doorkeeper.ig.yml @@ -1 +1,11 @@ +--- ig: + doorkeeper: + grouped_scopes: + title: + filters: Myọ + profile: Profaịlụ Mastọdọnụ gị + scopes: + read:filters: lelee myọ gị + write:accounts: dezie profaịlụ gị + write:filters: mepụta myọ diff --git a/config/locales/gd.yml b/config/locales/gd.yml index 78f4516cfc7594..7581f6c856c482 100644 --- a/config/locales/gd.yml +++ b/config/locales/gd.yml @@ -193,6 +193,7 @@ gd: create_domain_block: Cruthaich bacadh àrainne create_email_domain_block: Cruthaich bacadh àrainne puist-d create_ip_block: Cruthaich riaghailt IP + create_relay: Cruthaich ath-sheachadan create_unavailable_domain: Cruthaich àrainn nach eil ri fhaighinn create_user_role: Cruthaich dreuchd demote_user: Ìslich an cleachdaiche @@ -204,14 +205,17 @@ gd: destroy_email_domain_block: Sguab às bacadh na h-àrainne puist-d destroy_instance: Purgaidich an àrainn destroy_ip_block: Sguab às an riaghailt IP + destroy_relay: Sguab às an t-ath-sheachadan destroy_status: Sguab às am post destroy_unavailable_domain: Sguab às àrainn nach eil ri fhaighinn destroy_user_role: Mill an dreuchd disable_2fa_user: Cuir an dearbhadh dà-cheumnach à comas disable_custom_emoji: Cuir an t-Emoji gnàthaichte à comas + disable_relay: Cuir an t-ath-sheachadan à comas disable_sign_in_token_auth_user: Cuir à comas dearbhadh le tòcan puist-d dhan chleachdaiche disable_user: Cuir an cleachdaiche à comas enable_custom_emoji: Cuir an t-Emoji gnàthaichte an comas + enable_relay: Cuir an ath-sheachadan an comas enable_sign_in_token_auth_user: Cuir an comas dearbhadh le tòcan puist-d dhan chleachdaiche enable_user: Cuir an cleachdaiche an comas memorialize_account: Dèan cuimhneachan dhen chunntas @@ -253,6 +257,7 @@ gd: create_domain_block_html: Bhac %{name} an àrainn %{target} create_email_domain_block_html: Bhac %{name} an àrainn puist-d %{target} create_ip_block_html: Chruthaich %{name} riaghailt dhan IP %{target} + create_relay_html: Chruthaich %{name} an t-ath-sheachadan %{target} create_unavailable_domain_html: Sguir %{name} ris an lìbhrigeadh dhan àrainn %{target} create_user_role_html: Chruthaich %{name} an dreuchd %{target} demote_user_html: Dh’ìslich %{name} an cleachdaiche %{target} @@ -264,14 +269,17 @@ gd: destroy_email_domain_block_html: Dì-bhac %{name} an àrainn puist-d %{target} destroy_instance_html: Phurgaidich %{name} an àrainn %{target} destroy_ip_block_html: Sguab %{name} às riaghailt dhan IP %{target} + destroy_relay_html: Sguab %{name} às an t-ath-sheachadan %{target} destroy_status_html: Thug %{name} post aig %{target} air falbh destroy_unavailable_domain_html: Lean %{name} air adhart leis an lìbhrigeadh dhan àrainn %{target} destroy_user_role_html: Sguab %{name} às an dreuchd %{target} disable_2fa_user_html: Chuir %{name} riatanas an dearbhaidh dà-cheumnaich à comas dhan chleachdaiche %{target} disable_custom_emoji_html: Chuir %{name} an Emoji %{target} à comas + disable_relay_html: Chuir %{name} an t-ath-sheachadan %{target} à comas disable_sign_in_token_auth_user_html: Chuir %{name} à comas dearbhadh le tòcan puist-d dha %{target} disable_user_html: Chuir %{name} an clàradh a-steach à comas dhan chleachdaiche %{target} enable_custom_emoji_html: Chuir %{name} an Emoji %{target} an comas + enable_relay_html: Chuir %{name} an t-ath-sheachadan %{target} an comas enable_sign_in_token_auth_user_html: Chuir %{name} an comas dearbhadh le tòcan puist-d dha %{target} enable_user_html: Chuir %{name} an clàradh a-steach an comas dhan chleachdaiche %{target} memorialize_account_html: Rinn %{name} duilleag cuimhneachain dhen chunntas aig %{target} @@ -846,8 +854,10 @@ gd: back_to_account: Till gu duilleag a’ chunntais back_to_report: Till gu duilleag a’ ghearain batch: + add_to_report: 'Cuir ris a’ ghearan #%{id}' remove_from_report: Thoir air falbh on ghearan report: Gearan + contents: Susbaint deleted: Chaidh a sguabadh às favourites: Annsachdan history: Eachdraidh nan tionndadh @@ -856,12 +866,17 @@ gd: media: title: Meadhanan metadata: Meata-dàta + no_history: Cha deach am post seo a dheasachadh no_status_selected: Cha deach post sam bith atharrachadh o nach deach gin dhiubh a thaghadh open: Fosgail am post original_status: Am post tùsail reblogs: Brosnachaidhean + replied_to_html: Freagairt do %{acct_link} status_changed: Post air atharrachadh + status_title: Post le @%{name} + title: Postaichean a’ chunntais – @%{name} trending: A’ treandadh + view_publicly: Seall gu poblach visibility: Faicsinneachd with_media: Le meadhanan riutha strikes: diff --git a/config/locales/ig.yml b/config/locales/ig.yml index 9db771fdcfea44..81d425916cb4ef 100644 --- a/config/locales/ig.yml +++ b/config/locales/ig.yml @@ -1,5 +1,28 @@ --- ig: + admin: + settings: + discovery: + profile_directory: Ndekọ profaịlụ + admin_mailer: + new_trends: + new_trending_statuses: + title: Edemede na-ewu ewu + application_mailer: + view_profile: Lelee profaịlụ filters: contexts: + account: Profaịlụ home: Ụlọ na ndepụta + edit: + title: Dezie myọ + index: + delete: Hichapụ + empty: Ị nweghi myọ ọbụla. + title: Myọ + settings: + edit_profile: Dezie profaịlụ gị + profile: Profaịlụ ọha + user_mailer: + welcome: + share_title: Kekọrịta profaịlụ Mastọdọnụ gị diff --git a/config/locales/simple_form.gd.yml b/config/locales/simple_form.gd.yml index 4083469b6314e5..4c3a297738891e 100644 --- a/config/locales/simple_form.gd.yml +++ b/config/locales/simple_form.gd.yml @@ -10,6 +10,7 @@ gd: indexable: Faodaidh na postaichean poblach agad a nochdadh am measg toraidhean luirg air Mastodon. ’S urrainn dhan fheadhainn a rinn eadar-ghabhail leis na postaichean agad lorg annta air a h-uile dòigh. note: "’S urrainn dhut @iomradh a thoirt air càch no air #tagaicheanHais." show_collections: "’S urrainn do chàch na dàimhean leantainn agad a rùrachadh. Chì daoine a leanas tu gu bheil thu ’gan leantainn air a h-uile dòigh." + unlocked: "’S urrainnear do leantainn gun aonta iarraidh. Thoir a’ chromag air falbh ma tha thu airson lèirmheas a dhèanamh air iarrtasan leantainn agus cur romhad an gabh thu ri luchd-leantainn ùr no an diùilt thu iad." account_alias: acct: Sònraich ainm-cleachdaiche@àrainn dhen chunntas a tha thu airson imrich uaithe account_migration: diff --git a/config/locales/simple_form.ig.yml b/config/locales/simple_form.ig.yml index 7c264f0d7317b0..e88d195b8a8616 100644 --- a/config/locales/simple_form.ig.yml +++ b/config/locales/simple_form.ig.yml @@ -1 +1,8 @@ +--- ig: + simple_form: + labels: + defaults: + avatar: Foto profaịlụ + chosen_languages: Myọcha asụsụ + context: Myọcha ọnọdụ diff --git a/config/locales/simple_form.zh-CN.yml b/config/locales/simple_form.zh-CN.yml index 0b7edae913ca86..61de577709c74e 100644 --- a/config/locales/simple_form.zh-CN.yml +++ b/config/locales/simple_form.zh-CN.yml @@ -61,7 +61,7 @@ zh-CN: setting_display_media_hide_all: 始终隐藏媒体 setting_display_media_show_all: 始终显示媒体 setting_use_blurhash: 渐变是基于模糊后的隐藏内容生成的 - setting_use_pending_items: 关闭自动滚动更新,时间轴会在点击后更新 + setting_use_pending_items: 点击查看时间线更新,而非自动滚动更新动态。 username: 你只能使用字母、数字和下划线 whole_word: 如果关键词只包含字母和数字,将只在词语完全匹配时才会应用 domain_allow: @@ -80,7 +80,7 @@ zh-CN: activity_api_enabled: 本站每周的嘟文数、活跃用户数和新注册用户数 app_icon: WEBP、PNG、GIF 或 JPG。使用自定义图标覆盖移动设备上的默认应用图标。 backups_retention_period: 用户可以生成其嘟文存档以供之后下载。当该值被设为正值时,这些存档将在指定的天数后自动从你的存储中删除。 - bootstrap_timeline_accounts: 这些账号将在新用户关注推荐中置顶。 + bootstrap_timeline_accounts: 这些账号将在新用户关注推荐中置顶显示。 closed_registrations_message: 在关闭注册时显示 content_cache_retention_period: 来自其它实例的所有嘟文(包括转嘟与回复)都将在指定天数后被删除,不论本实例用户是否与这些嘟文产生过交互。这包括被本实例用户喜欢和收藏的嘟文。实例间用户的私下提及也将丢失并无法恢复。此设置针对的是特殊用途的实例,用于一般用途时会打破许多用户的期望。 custom_css: 你可以为网页版 Mastodon 应用自定义样式。 @@ -99,7 +99,7 @@ zh-CN: status_page_url: 配置一个网址,当服务中断时,人们可以通过该网址查看服务器的状态。 theme: 给未登录访客和新用户使用的主题。 thumbnail: 与服务器信息一并展示的约 2:1 比例的图像。 - timeline_preview: 未登录访客将能够浏览服务器上最新的公共嘟文。 + timeline_preview: 未登录访客将能够浏览服务器上的最新公开嘟文。 trendable_by_default: 跳过对热门内容的手工审核。个别项目仍可在之后从趋势中删除。 trends: 热门页中会显示正在你服务器上受到关注的嘟文、标签和新闻故事。 trends_as_landing_page: 向注销的用户和访问者显示热门内容,而不是对该服务器的描述,需要启用热门。 @@ -130,7 +130,7 @@ zh-CN: tag: name: 你只能改变字母的大小写,让它更易读 user: - chosen_languages: 仅选中语言的嘟文会出现在公共时间轴上(全不选则显示所有语言的嘟文) + chosen_languages: 仅选中语言的嘟文会出现在公共时间线上(全不选则显示所有语言的嘟文) role: 角色用于控制用户拥有的权限。 user_role: color: 在界面各处用于标记该角色的颜色,以十六进制 RGB 格式表示 @@ -205,7 +205,7 @@ zh-CN: password: 密码 phrase: 关键词 setting_advanced_layout: 启用高级 Web 界面 - setting_aggregate_reblogs: 在时间轴中合并转嘟 + setting_aggregate_reblogs: 在时间线中合并转嘟 setting_always_send_emails: 总是发送电子邮件通知 setting_auto_play_gif: 自动播放 GIF 动画 setting_boost_modal: 在转嘟前询问我 @@ -247,7 +247,7 @@ zh-CN: activity_api_enabled: 在 API 中发布有关用户活动的汇总统计数据 app_icon: 应用图标 backups_retention_period: 用户存档保留期 - bootstrap_timeline_accounts: 推荐新用户关注以下账号 + bootstrap_timeline_accounts: 向新用户推荐以下账号 closed_registrations_message: 在关闭注册时显示的自定义消息 content_cache_retention_period: 外站内容保留期 custom_css: 自定义 CSS @@ -269,7 +269,7 @@ zh-CN: status_page_url: 状态页网址 theme: 默认主题 thumbnail: 本站缩略图 - timeline_preview: 时间轴预览 + timeline_preview: 允许未登录用户访问公共时间线 trendable_by_default: 允许在未审核的情况下将话题置为热门 trends: 启用热门 trends_as_landing_page: 使用热门页作为登陆页面 diff --git a/config/locales/zh-CN.yml b/config/locales/zh-CN.yml index 7dc0f3d9494f0c..1623f39ad648f2 100644 --- a/config/locales/zh-CN.yml +++ b/config/locales/zh-CN.yml @@ -602,7 +602,7 @@ zh-CN: actions_description_html: 决定采取何种措施处理此举报。如果对被举报账号采取惩罚性措施,将向其发送一封电子邮件通知。但若选中垃圾信息类别则不会发送通知。 actions_description_remote_html: 决定采取何种行动来解决此举报。 这只会影响你的服务器如何与该远程账户的通信并处理其内容。 actions_no_posts: 该举报没有相关嘟文可供删除 - add_to_report: 增加更多举报内容 + add_to_report: 添加更多内容到举报 already_suspended_badges: local: 已在此服务器上被封禁 remote: 已在其所属服务器被封禁 @@ -660,8 +660,8 @@ zh-CN: mark_as_sensitive_html: 将违规嘟文的媒体标记为敏感 silence_html: 严格限制 @%{acct} 的影响力,方法是让他们的个人资料和内容仅对已经关注他们的人可见,或手动查找其个人资料时 suspend_html: 暂停 @%{acct},使他们的个人资料和内容无法访问,也无法与之互动 - close_report: '将报告 #%{id} 标记为已解决' - close_reports_html: 将针对 @%{acct}所有 报告标记为已解决 + close_report: '将举报 #%{id} 标记为已解决' + close_reports_html: 将针对 @%{acct}所有举报标记为已解决 delete_data_html: 从现在起 30 天后删除 @%{acct} 的个人资料和内容,除非他们同时解除暂停。 preview_preamble_html: "@%{acct} 将收到包含以下内容的警告:" record_strike_html: 记录一次针对 @%{acct} 的警示,以帮助你在这个账户上的未来违规事件中得到重视。 @@ -766,7 +766,7 @@ zh-CN: follow_recommendations: 关注推荐 preamble: 露出有趣的内容有助于新加入 Mastodon 的用户融入。可在这里控制多种发现功能如何在你的服务器上工作。 profile_directory: 个人资料目录 - public_timelines: 公共时间轴 + public_timelines: 公共时间线 publish_discovered_servers: 已公开实例的服务器 publish_statistics: 发布统计数据 title: 发现 @@ -813,7 +813,7 @@ zh-CN: back_to_report: 返回举报页 batch: add_to_report: '添加到举报 #%{id}' - remove_from_report: 从报告中移除 + remove_from_report: 从举报中移除 report: 举报 contents: 内容 deleted: 已删除 @@ -1055,7 +1055,7 @@ zh-CN: remove: 取消关联别名 appearance: advanced_web_interface: 高级 Web 界面 - advanced_web_interface_hint: 如果你想使用整个屏幕宽度,高级 web 界面允许你配置多个不同的栏目,可以同时看到更多的信息:主页、通知、跨站时间轴、任意数量的列表和话题标签。 + advanced_web_interface_hint: 如果你想使用整个屏幕宽度,高级 web 界面允许你配置多个不同的栏目,可以同时看到更多的信息:主页、通知、跨站时间线、任意数量的列表和话题标签。 animations_and_accessibility: 动画与可访问性 confirmation_dialogs: 确认对话框 discovery: 发现 @@ -1286,9 +1286,9 @@ zh-CN: filters: contexts: account: 个人资料 - home: 主页时间轴 + home: 主页时间线 notifications: 通知 - public: 公共时间轴 + public: 公共时间线 thread: 对话 edit: add_keyword: 添加关键词 @@ -1585,7 +1585,7 @@ zh-CN: preferences: other: 其他 posting_defaults: 发布默认值 - public_timelines: 公共时间轴 + public_timelines: 公共时间线 privacy: hint_html: "自定义你希望如何找到你的个人资料和嘟文。启用Mastodon中的各种功能可以帮助你扩大受众范围。请花点时间查看这些设置,确保它们适合你的使用情况。" privacy: 隐私 @@ -1699,7 +1699,7 @@ zh-CN: development: 开发 edit_profile: 更改个人资料 export: 导出 - featured_tags: 精选的话题标签 + featured_tags: 精选话题标签 import: 导入 import_and_export: 导入与导出 migrate: 账户迁移 @@ -1752,9 +1752,9 @@ zh-CN: private: 仅关注者 private_long: 只有关注你的用户能看到 public: 公开 - public_long: 所有人可见,并会出现在公共时间轴上 + public_long: 所有人可见,并会出现在公共时间线上 unlisted: 悄悄公开 - unlisted_long: 所有人可见,但不会出现在公共时间轴上 + unlisted_long: 对所有人可见,但不出现在公共时间线上 statuses_cleanup: enabled: 自动删除旧嘟文 enabled_hint: 达到指定过期时间后自动删除你的嘟文,除非满足下列条件之一 From 4517e18b79d3e7579015264d031040e712e15e08 Mon Sep 17 00:00:00 2001 From: Emelia Smith Date: Thu, 21 Nov 2024 14:48:30 +0100 Subject: [PATCH 257/357] Update dependency doorkeeper to v5.8.0 (#33000) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> --- Gemfile.lock | 2 +- app/lib/oauth_pre_authorization_extension.rb | 13 ------------- app/presenters/oauth_metadata_presenter.rb | 2 +- config/application.rb | 1 - config/initializers/doorkeeper.rb | 3 +++ spec/requests/well_known/oauth_metadata_spec.rb | 2 +- spec/system/oauth_spec.rb | 2 ++ 7 files changed, 8 insertions(+), 17 deletions(-) delete mode 100644 app/lib/oauth_pre_authorization_extension.rb diff --git a/Gemfile.lock b/Gemfile.lock index bb503e157e076f..d005c744ccac2c 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -200,7 +200,7 @@ GEM activerecord (>= 4.2, < 9.0) docile (1.4.1) domain_name (0.6.20240107) - doorkeeper (5.7.1) + doorkeeper (5.8.0) railties (>= 5) dotenv (3.1.4) drb (2.2.1) diff --git a/app/lib/oauth_pre_authorization_extension.rb b/app/lib/oauth_pre_authorization_extension.rb deleted file mode 100644 index 1885e0823d8015..00000000000000 --- a/app/lib/oauth_pre_authorization_extension.rb +++ /dev/null @@ -1,13 +0,0 @@ -# frozen_string_literal: true - -module OauthPreAuthorizationExtension - extend ActiveSupport::Concern - - included do - validate :code_challenge_method_s256, error: Doorkeeper::Errors::InvalidCodeChallengeMethod - end - - def validate_code_challenge_method_s256 - code_challenge.blank? || code_challenge_method == 'S256' - end -end diff --git a/app/presenters/oauth_metadata_presenter.rb b/app/presenters/oauth_metadata_presenter.rb index 7d75e8498a5421..f488a62925deb0 100644 --- a/app/presenters/oauth_metadata_presenter.rb +++ b/app/presenters/oauth_metadata_presenter.rb @@ -65,7 +65,7 @@ def token_endpoint_auth_methods_supported end def code_challenge_methods_supported - %w(S256) + doorkeeper.pkce_code_challenge_methods_supported end private diff --git a/config/application.rb b/config/application.rb index cfeed02e983788..e4e9680e6637fd 100644 --- a/config/application.rb +++ b/config/application.rb @@ -114,7 +114,6 @@ class Application < Rails::Application Doorkeeper::Application.include ApplicationExtension Doorkeeper::AccessGrant.include AccessGrantExtension Doorkeeper::AccessToken.include AccessTokenExtension - Doorkeeper::OAuth::PreAuthorization.include OauthPreAuthorizationExtension Devise::FailureApp.include AbstractController::Callbacks Devise::FailureApp.include Localized end diff --git a/config/initializers/doorkeeper.rb b/config/initializers/doorkeeper.rb index de1c75f576ec8e..516db258dfa6d8 100644 --- a/config/initializers/doorkeeper.rb +++ b/config/initializers/doorkeeper.rb @@ -52,6 +52,9 @@ # Issue access tokens with refresh token (disabled by default) # use_refresh_token + # Proof of Key Code Exchange + pkce_code_challenge_methods ['S256'] + # Forbids creating/updating applications with arbitrary scopes that are # not in configuration, i.e. `default_scopes` or `optional_scopes`. # (Disabled by default) diff --git a/spec/requests/well_known/oauth_metadata_spec.rb b/spec/requests/well_known/oauth_metadata_spec.rb index 01e9146fde63d9..42a6c1b328a174 100644 --- a/spec/requests/well_known/oauth_metadata_spec.rb +++ b/spec/requests/well_known/oauth_metadata_spec.rb @@ -27,7 +27,7 @@ response_modes_supported: Doorkeeper.configuration.authorization_response_flows.flat_map(&:response_mode_matches).uniq, token_endpoint_auth_methods_supported: %w(client_secret_basic client_secret_post), grant_types_supported: grant_types_supported, - code_challenge_methods_supported: ['S256'], + code_challenge_methods_supported: Doorkeeper.configuration.pkce_code_challenge_methods_supported, # non-standard extension: app_registration_endpoint: api_v1_apps_url ) diff --git a/spec/system/oauth_spec.rb b/spec/system/oauth_spec.rb index 14ffc163f0a3f1..caed5ea9af184e 100644 --- a/spec/system/oauth_spec.rb +++ b/spec/system/oauth_spec.rb @@ -115,6 +115,8 @@ subject within '.form-container .flash-message' do + # FIXME: Replace with doorkeeper.errors.messages.invalid_code_challenge_method.one for Doorkeeper > 5.8.0 + # see: https://github.com/doorkeeper-gem/doorkeeper/pull/1747 expect(page).to have_content(I18n.t('doorkeeper.errors.messages.invalid_code_challenge_method')) end end From dbddd40c1c69e66c6b11cd7b42de2a69456581d6 Mon Sep 17 00:00:00 2001 From: Claire Date: Thu, 21 Nov 2024 15:06:57 +0100 Subject: [PATCH 258/357] Add stop-gap antispam code (#32981) --- app/lib/antispam.rb | 45 +++++++++++++++++++++++++++++ app/services/post_status_service.rb | 8 +++++ 2 files changed, 53 insertions(+) create mode 100644 app/lib/antispam.rb diff --git a/app/lib/antispam.rb b/app/lib/antispam.rb new file mode 100644 index 00000000000000..bc4841280fa2b6 --- /dev/null +++ b/app/lib/antispam.rb @@ -0,0 +1,45 @@ +# frozen_string_literal: true + +class Antispam + include Redisable + + ACCOUNT_AGE_EXEMPTION = 1.week.freeze + + class SilentlyDrop < StandardError + attr_reader :status + + def initialize(status) + super() + + @status = status + + status.created_at = Time.now.utc + status.id = Mastodon::Snowflake.id_at(status.created_at) + status.in_reply_to_account_id = status.thread&.account_id + + status.delete # Make sure this is not persisted + end + end + + def local_preflight_check!(status) + return unless spammy_texts.any? { |spammy_text| status.text.include?(spammy_text) } + return unless status.thread.present? && !status.thread.account.following?(status.account) + return unless status.account.created_at >= ACCOUNT_AGE_EXEMPTION.ago + + report_if_needed!(status.account) + + raise SilentlyDrop, status + end + + private + + def spammy_texts + redis.smembers('antispam:spammy_texts') + end + + def report_if_needed!(account) + return if Report.unresolved.exists?(account: Account.representative, target_account: account) + + Report.create!(account: Account.representative, target_account: account, category: :spam, comment: 'Account automatically reported for posting a banned URL') + end +end diff --git a/app/services/post_status_service.rb b/app/services/post_status_service.rb index ee6b18c74ce5e9..765c80723e8a29 100644 --- a/app/services/post_status_service.rb +++ b/app/services/post_status_service.rb @@ -36,6 +36,8 @@ def call(account, options = {}) @text = @options[:text] || '' @in_reply_to = @options[:thread] + @antispam = Antispam.new + return idempotency_duplicate if idempotency_given? && idempotency_duplicate? validate_media! @@ -55,6 +57,8 @@ def call(account, options = {}) end @status + rescue Antispam::SilentlyDrop => e + e.status end private @@ -74,6 +78,7 @@ def process_status! @status = @account.statuses.new(status_attributes) process_mentions_service.call(@status, save_records: false) safeguard_mentions!(@status) + @antispam.local_preflight_check!(@status) # The following transaction block is needed to wrap the UPDATEs to # the media attachments when the status is created @@ -95,6 +100,7 @@ def safeguard_mentions!(status) def schedule_status! status_for_validation = @account.statuses.build(status_attributes) + @antispam.local_preflight_check!(status_for_validation) if status_for_validation.valid? # Marking the status as destroyed is necessary to prevent the status from being @@ -111,6 +117,8 @@ def schedule_status! else raise ActiveRecord::RecordInvalid end + rescue Antispam::SilentlyDrop + @status = @account.scheduled_status.new(scheduled_status_attributes).tap(&:delete) end def postprocess_status! From 73850168373366376f3907299b2c32469d287180 Mon Sep 17 00:00:00 2001 From: Christian Schmidt Date: Thu, 21 Nov 2024 15:37:25 +0100 Subject: [PATCH 259/357] `rel="me"` check should be case-insenstive (#32238) --- app/lib/link_details_extractor.rb | 2 +- app/lib/nokogiri_handler.rb | 12 ++++++++++++ app/services/fetch_resource_service.rb | 2 +- app/services/verify_link_service.rb | 2 +- spec/services/verify_link_service_spec.rb | 15 +++++++++++++++ 5 files changed, 30 insertions(+), 3 deletions(-) create mode 100644 app/lib/nokogiri_handler.rb diff --git a/app/lib/link_details_extractor.rb b/app/lib/link_details_extractor.rb index e4e815c38d010e..56533f65530b6b 100644 --- a/app/lib/link_details_extractor.rb +++ b/app/lib/link_details_extractor.rb @@ -237,7 +237,7 @@ def valid_url_or_nil(str, same_origin_only: false) end def link_tag(name) - document.xpath("//link[@rel=\"#{name}\"]").pick('href') + document.xpath("//link[nokogiri:link_rel_include(@rel, '#{name}')]", NokogiriHandler).pick('href') end def opengraph_tag(name) diff --git a/app/lib/nokogiri_handler.rb b/app/lib/nokogiri_handler.rb new file mode 100644 index 00000000000000..804bcb9c043ce3 --- /dev/null +++ b/app/lib/nokogiri_handler.rb @@ -0,0 +1,12 @@ +# frozen_string_literal: true + +class NokogiriHandler + class << self + # See "set of space-separated tokens" in the HTML5 spec. + WHITE_SPACE = /[ \x09\x0A\x0C\x0D]+/ + + def link_rel_include(token_list, token) + token_list.to_s.downcase.split(WHITE_SPACE).include?(token.downcase) + end + end +end diff --git a/app/services/fetch_resource_service.rb b/app/services/fetch_resource_service.rb index 911950cccae2ed..3fde78455c69ac 100644 --- a/app/services/fetch_resource_service.rb +++ b/app/services/fetch_resource_service.rb @@ -74,7 +74,7 @@ def expected_type?(json) def process_html(response) page = Nokogiri::HTML5(response.body_with_limit) - json_link = page.xpath('//link[@rel="alternate"]').find { |link| ACTIVITY_STREAM_LINK_TYPES.include?(link['type']) } + json_link = page.xpath('//link[nokogiri:link_rel_include(@rel, "alternate")]', NokogiriHandler).find { |link| ACTIVITY_STREAM_LINK_TYPES.include?(link['type']) } process(json_link['href'], terminal: true) unless json_link.nil? end diff --git a/app/services/verify_link_service.rb b/app/services/verify_link_service.rb index 17c86426be7855..fc3c4cbc2820e0 100644 --- a/app/services/verify_link_service.rb +++ b/app/services/verify_link_service.rb @@ -26,7 +26,7 @@ def perform_request! def link_back_present? return false if @body.blank? - links = Nokogiri::HTML5(@body).css("a[rel~='me'],link[rel~='me']") + links = Nokogiri::HTML5(@body).xpath('(//a|//link)[@rel][nokogiri:link_rel_include(@rel, "me")]', NokogiriHandler) if links.any? { |link| link['href']&.downcase == @link_back.downcase } true diff --git a/spec/services/verify_link_service_spec.rb b/spec/services/verify_link_service_spec.rb index a4fd19751b6934..7e2f9607cfa104 100644 --- a/spec/services/verify_link_service_spec.rb +++ b/spec/services/verify_link_service_spec.rb @@ -46,6 +46,21 @@ end end + context 'when a link contains an back' do + let(:html) do + <<~HTML + + + Follow me on Mastodon + + HTML + end + + it 'marks the field as verified' do + expect(field.verified?).to be true + end + end + context 'when a link contains a back' do let(:html) do <<~HTML From 62603508c7343f0b9ef880bcbed67c70a9e8375d Mon Sep 17 00:00:00 2001 From: Eugen Rochko Date: Thu, 21 Nov 2024 17:10:04 +0100 Subject: [PATCH 260/357] Change design of lists in web UI (#32881) --- app/javascript/mastodon/actions/lists.js | 285 ------------- .../mastodon/actions/lists_typed.ts | 13 + app/javascript/mastodon/api.ts | 1 + app/javascript/mastodon/api/lists.ts | 32 ++ app/javascript/mastodon/api_types/lists.ts | 10 + .../mastodon/components/check_box.tsx | 13 +- .../mastodon/components/scrollable_list.jsx | 11 +- .../containers/dropdown_menu_container.js | 7 + .../list_adder/components/account.jsx | 43 -- .../features/list_adder/components/list.jsx | 75 ---- .../mastodon/features/list_adder/index.jsx | 76 ---- .../mastodon/features/list_adder/index.tsx | 213 ++++++++++ .../list_editor/components/account.jsx | 82 ---- .../list_editor/components/edit_list_form.jsx | 76 ---- .../list_editor/components/search.jsx | 83 ---- .../mastodon/features/list_editor/index.jsx | 83 ---- .../mastodon/features/list_timeline/index.jsx | 65 +-- .../lists/components/new_list_form.jsx | 80 ---- .../mastodon/features/lists/index.jsx | 94 ----- .../mastodon/features/lists/index.tsx | 145 +++++++ .../mastodon/features/lists/members.tsx | 373 ++++++++++++++++++ .../mastodon/features/lists/new.tsx | 296 ++++++++++++++ .../features/ui/components/modal_root.jsx | 2 - app/javascript/mastodon/features/ui/index.jsx | 7 +- .../features/ui/util/async-components.js | 12 +- app/javascript/mastodon/locales/en.json | 34 +- app/javascript/mastodon/models/list.ts | 18 + app/javascript/mastodon/reducers/index.ts | 8 +- .../mastodon/reducers/list_adder.js | 48 --- .../mastodon/reducers/list_editor.js | 99 ----- app/javascript/mastodon/reducers/lists.js | 38 -- app/javascript/mastodon/reducers/lists.ts | 49 +++ app/javascript/mastodon/selectors/lists.ts | 15 + .../styles/mastodon-light/variables.scss | 1 + app/javascript/styles/mastodon/admin.scss | 10 - .../styles/mastodon/components.scss | 191 ++++----- app/javascript/styles/mastodon/forms.scss | 53 +++ app/javascript/styles/mastodon/variables.scss | 1 + app/javascript/svg-icons/squiggly_arrow.svg | 3 + 39 files changed, 1395 insertions(+), 1350 deletions(-) create mode 100644 app/javascript/mastodon/actions/lists_typed.ts create mode 100644 app/javascript/mastodon/api/lists.ts create mode 100644 app/javascript/mastodon/api_types/lists.ts delete mode 100644 app/javascript/mastodon/features/list_adder/components/account.jsx delete mode 100644 app/javascript/mastodon/features/list_adder/components/list.jsx delete mode 100644 app/javascript/mastodon/features/list_adder/index.jsx create mode 100644 app/javascript/mastodon/features/list_adder/index.tsx delete mode 100644 app/javascript/mastodon/features/list_editor/components/account.jsx delete mode 100644 app/javascript/mastodon/features/list_editor/components/edit_list_form.jsx delete mode 100644 app/javascript/mastodon/features/list_editor/components/search.jsx delete mode 100644 app/javascript/mastodon/features/list_editor/index.jsx delete mode 100644 app/javascript/mastodon/features/lists/components/new_list_form.jsx delete mode 100644 app/javascript/mastodon/features/lists/index.jsx create mode 100644 app/javascript/mastodon/features/lists/index.tsx create mode 100644 app/javascript/mastodon/features/lists/members.tsx create mode 100644 app/javascript/mastodon/features/lists/new.tsx create mode 100644 app/javascript/mastodon/models/list.ts delete mode 100644 app/javascript/mastodon/reducers/list_adder.js delete mode 100644 app/javascript/mastodon/reducers/list_editor.js delete mode 100644 app/javascript/mastodon/reducers/lists.js create mode 100644 app/javascript/mastodon/reducers/lists.ts create mode 100644 app/javascript/mastodon/selectors/lists.ts create mode 100644 app/javascript/svg-icons/squiggly_arrow.svg diff --git a/app/javascript/mastodon/actions/lists.js b/app/javascript/mastodon/actions/lists.js index 9956059387efc2..f9abc2e769c5a0 100644 --- a/app/javascript/mastodon/actions/lists.js +++ b/app/javascript/mastodon/actions/lists.js @@ -1,8 +1,5 @@ import api from '../api'; -import { showAlertForError } from './alerts'; -import { importFetchedAccounts } from './importer'; - export const LIST_FETCH_REQUEST = 'LIST_FETCH_REQUEST'; export const LIST_FETCH_SUCCESS = 'LIST_FETCH_SUCCESS'; export const LIST_FETCH_FAIL = 'LIST_FETCH_FAIL'; @@ -11,45 +8,10 @@ export const LISTS_FETCH_REQUEST = 'LISTS_FETCH_REQUEST'; export const LISTS_FETCH_SUCCESS = 'LISTS_FETCH_SUCCESS'; export const LISTS_FETCH_FAIL = 'LISTS_FETCH_FAIL'; -export const LIST_EDITOR_TITLE_CHANGE = 'LIST_EDITOR_TITLE_CHANGE'; -export const LIST_EDITOR_RESET = 'LIST_EDITOR_RESET'; -export const LIST_EDITOR_SETUP = 'LIST_EDITOR_SETUP'; - -export const LIST_CREATE_REQUEST = 'LIST_CREATE_REQUEST'; -export const LIST_CREATE_SUCCESS = 'LIST_CREATE_SUCCESS'; -export const LIST_CREATE_FAIL = 'LIST_CREATE_FAIL'; - -export const LIST_UPDATE_REQUEST = 'LIST_UPDATE_REQUEST'; -export const LIST_UPDATE_SUCCESS = 'LIST_UPDATE_SUCCESS'; -export const LIST_UPDATE_FAIL = 'LIST_UPDATE_FAIL'; - export const LIST_DELETE_REQUEST = 'LIST_DELETE_REQUEST'; export const LIST_DELETE_SUCCESS = 'LIST_DELETE_SUCCESS'; export const LIST_DELETE_FAIL = 'LIST_DELETE_FAIL'; -export const LIST_ACCOUNTS_FETCH_REQUEST = 'LIST_ACCOUNTS_FETCH_REQUEST'; -export const LIST_ACCOUNTS_FETCH_SUCCESS = 'LIST_ACCOUNTS_FETCH_SUCCESS'; -export const LIST_ACCOUNTS_FETCH_FAIL = 'LIST_ACCOUNTS_FETCH_FAIL'; - -export const LIST_EDITOR_SUGGESTIONS_CHANGE = 'LIST_EDITOR_SUGGESTIONS_CHANGE'; -export const LIST_EDITOR_SUGGESTIONS_READY = 'LIST_EDITOR_SUGGESTIONS_READY'; -export const LIST_EDITOR_SUGGESTIONS_CLEAR = 'LIST_EDITOR_SUGGESTIONS_CLEAR'; - -export const LIST_EDITOR_ADD_REQUEST = 'LIST_EDITOR_ADD_REQUEST'; -export const LIST_EDITOR_ADD_SUCCESS = 'LIST_EDITOR_ADD_SUCCESS'; -export const LIST_EDITOR_ADD_FAIL = 'LIST_EDITOR_ADD_FAIL'; - -export const LIST_EDITOR_REMOVE_REQUEST = 'LIST_EDITOR_REMOVE_REQUEST'; -export const LIST_EDITOR_REMOVE_SUCCESS = 'LIST_EDITOR_REMOVE_SUCCESS'; -export const LIST_EDITOR_REMOVE_FAIL = 'LIST_EDITOR_REMOVE_FAIL'; - -export const LIST_ADDER_RESET = 'LIST_ADDER_RESET'; -export const LIST_ADDER_SETUP = 'LIST_ADDER_SETUP'; - -export const LIST_ADDER_LISTS_FETCH_REQUEST = 'LIST_ADDER_LISTS_FETCH_REQUEST'; -export const LIST_ADDER_LISTS_FETCH_SUCCESS = 'LIST_ADDER_LISTS_FETCH_SUCCESS'; -export const LIST_ADDER_LISTS_FETCH_FAIL = 'LIST_ADDER_LISTS_FETCH_FAIL'; - export const fetchList = id => (dispatch, getState) => { if (getState().getIn(['lists', id])) { return; @@ -100,89 +62,6 @@ export const fetchListsFail = error => ({ error, }); -export const submitListEditor = shouldReset => (dispatch, getState) => { - const listId = getState().getIn(['listEditor', 'listId']); - const title = getState().getIn(['listEditor', 'title']); - - if (listId === null) { - dispatch(createList(title, shouldReset)); - } else { - dispatch(updateList(listId, title, shouldReset)); - } -}; - -export const setupListEditor = listId => (dispatch, getState) => { - dispatch({ - type: LIST_EDITOR_SETUP, - list: getState().getIn(['lists', listId]), - }); - - dispatch(fetchListAccounts(listId)); -}; - -export const changeListEditorTitle = value => ({ - type: LIST_EDITOR_TITLE_CHANGE, - value, -}); - -export const createList = (title, shouldReset) => (dispatch) => { - dispatch(createListRequest()); - - api().post('/api/v1/lists', { title }).then(({ data }) => { - dispatch(createListSuccess(data)); - - if (shouldReset) { - dispatch(resetListEditor()); - } - }).catch(err => dispatch(createListFail(err))); -}; - -export const createListRequest = () => ({ - type: LIST_CREATE_REQUEST, -}); - -export const createListSuccess = list => ({ - type: LIST_CREATE_SUCCESS, - list, -}); - -export const createListFail = error => ({ - type: LIST_CREATE_FAIL, - error, -}); - -export const updateList = (id, title, shouldReset, isExclusive, replies_policy) => (dispatch) => { - dispatch(updateListRequest(id)); - - api().put(`/api/v1/lists/${id}`, { title, replies_policy, exclusive: typeof isExclusive === 'undefined' ? undefined : !!isExclusive }).then(({ data }) => { - dispatch(updateListSuccess(data)); - - if (shouldReset) { - dispatch(resetListEditor()); - } - }).catch(err => dispatch(updateListFail(id, err))); -}; - -export const updateListRequest = id => ({ - type: LIST_UPDATE_REQUEST, - id, -}); - -export const updateListSuccess = list => ({ - type: LIST_UPDATE_SUCCESS, - list, -}); - -export const updateListFail = (id, error) => ({ - type: LIST_UPDATE_FAIL, - id, - error, -}); - -export const resetListEditor = () => ({ - type: LIST_EDITOR_RESET, -}); - export const deleteList = id => (dispatch) => { dispatch(deleteListRequest(id)); @@ -206,167 +85,3 @@ export const deleteListFail = (id, error) => ({ id, error, }); - -export const fetchListAccounts = listId => (dispatch) => { - dispatch(fetchListAccountsRequest(listId)); - - api().get(`/api/v1/lists/${listId}/accounts`, { params: { limit: 0 } }).then(({ data }) => { - dispatch(importFetchedAccounts(data)); - dispatch(fetchListAccountsSuccess(listId, data)); - }).catch(err => dispatch(fetchListAccountsFail(listId, err))); -}; - -export const fetchListAccountsRequest = id => ({ - type: LIST_ACCOUNTS_FETCH_REQUEST, - id, -}); - -export const fetchListAccountsSuccess = (id, accounts, next) => ({ - type: LIST_ACCOUNTS_FETCH_SUCCESS, - id, - accounts, - next, -}); - -export const fetchListAccountsFail = (id, error) => ({ - type: LIST_ACCOUNTS_FETCH_FAIL, - id, - error, -}); - -export const fetchListSuggestions = q => (dispatch) => { - const params = { - q, - resolve: false, - limit: 4, - following: true, - }; - - api().get('/api/v1/accounts/search', { params }).then(({ data }) => { - dispatch(importFetchedAccounts(data)); - dispatch(fetchListSuggestionsReady(q, data)); - }).catch(error => dispatch(showAlertForError(error))); -}; - -export const fetchListSuggestionsReady = (query, accounts) => ({ - type: LIST_EDITOR_SUGGESTIONS_READY, - query, - accounts, -}); - -export const clearListSuggestions = () => ({ - type: LIST_EDITOR_SUGGESTIONS_CLEAR, -}); - -export const changeListSuggestions = value => ({ - type: LIST_EDITOR_SUGGESTIONS_CHANGE, - value, -}); - -export const addToListEditor = accountId => (dispatch, getState) => { - dispatch(addToList(getState().getIn(['listEditor', 'listId']), accountId)); -}; - -export const addToList = (listId, accountId) => (dispatch) => { - dispatch(addToListRequest(listId, accountId)); - - api().post(`/api/v1/lists/${listId}/accounts`, { account_ids: [accountId] }) - .then(() => dispatch(addToListSuccess(listId, accountId))) - .catch(err => dispatch(addToListFail(listId, accountId, err))); -}; - -export const addToListRequest = (listId, accountId) => ({ - type: LIST_EDITOR_ADD_REQUEST, - listId, - accountId, -}); - -export const addToListSuccess = (listId, accountId) => ({ - type: LIST_EDITOR_ADD_SUCCESS, - listId, - accountId, -}); - -export const addToListFail = (listId, accountId, error) => ({ - type: LIST_EDITOR_ADD_FAIL, - listId, - accountId, - error, -}); - -export const removeFromListEditor = accountId => (dispatch, getState) => { - dispatch(removeFromList(getState().getIn(['listEditor', 'listId']), accountId)); -}; - -export const removeFromList = (listId, accountId) => (dispatch) => { - dispatch(removeFromListRequest(listId, accountId)); - - api().delete(`/api/v1/lists/${listId}/accounts`, { params: { account_ids: [accountId] } }) - .then(() => dispatch(removeFromListSuccess(listId, accountId))) - .catch(err => dispatch(removeFromListFail(listId, accountId, err))); -}; - -export const removeFromListRequest = (listId, accountId) => ({ - type: LIST_EDITOR_REMOVE_REQUEST, - listId, - accountId, -}); - -export const removeFromListSuccess = (listId, accountId) => ({ - type: LIST_EDITOR_REMOVE_SUCCESS, - listId, - accountId, -}); - -export const removeFromListFail = (listId, accountId, error) => ({ - type: LIST_EDITOR_REMOVE_FAIL, - listId, - accountId, - error, -}); - -export const resetListAdder = () => ({ - type: LIST_ADDER_RESET, -}); - -export const setupListAdder = accountId => (dispatch, getState) => { - dispatch({ - type: LIST_ADDER_SETUP, - account: getState().getIn(['accounts', accountId]), - }); - dispatch(fetchLists()); - dispatch(fetchAccountLists(accountId)); -}; - -export const fetchAccountLists = accountId => (dispatch) => { - dispatch(fetchAccountListsRequest(accountId)); - - api().get(`/api/v1/accounts/${accountId}/lists`) - .then(({ data }) => dispatch(fetchAccountListsSuccess(accountId, data))) - .catch(err => dispatch(fetchAccountListsFail(accountId, err))); -}; - -export const fetchAccountListsRequest = id => ({ - type:LIST_ADDER_LISTS_FETCH_REQUEST, - id, -}); - -export const fetchAccountListsSuccess = (id, lists) => ({ - type: LIST_ADDER_LISTS_FETCH_SUCCESS, - id, - lists, -}); - -export const fetchAccountListsFail = (id, err) => ({ - type: LIST_ADDER_LISTS_FETCH_FAIL, - id, - err, -}); - -export const addToListAdder = listId => (dispatch, getState) => { - dispatch(addToList(listId, getState().getIn(['listAdder', 'accountId']))); -}; - -export const removeFromListAdder = listId => (dispatch, getState) => { - dispatch(removeFromList(listId, getState().getIn(['listAdder', 'accountId']))); -}; diff --git a/app/javascript/mastodon/actions/lists_typed.ts b/app/javascript/mastodon/actions/lists_typed.ts new file mode 100644 index 00000000000000..ccc5c11c894606 --- /dev/null +++ b/app/javascript/mastodon/actions/lists_typed.ts @@ -0,0 +1,13 @@ +import { apiCreate, apiUpdate } from 'mastodon/api/lists'; +import type { List } from 'mastodon/models/list'; +import { createDataLoadingThunk } from 'mastodon/store/typed_functions'; + +export const createList = createDataLoadingThunk( + 'list/create', + (list: Partial) => apiCreate(list), +); + +export const updateList = createDataLoadingThunk( + 'list/update', + (list: Partial) => apiUpdate(list), +); diff --git a/app/javascript/mastodon/api.ts b/app/javascript/mastodon/api.ts index 51cbe0b6954e09..f0663ded409f65 100644 --- a/app/javascript/mastodon/api.ts +++ b/app/javascript/mastodon/api.ts @@ -68,6 +68,7 @@ export async function apiRequest( method: Method, url: string, args: { + signal?: AbortSignal; params?: RequestParamsOrData; data?: RequestParamsOrData; timeout?: number; diff --git a/app/javascript/mastodon/api/lists.ts b/app/javascript/mastodon/api/lists.ts new file mode 100644 index 00000000000000..a5586eb6d47f4e --- /dev/null +++ b/app/javascript/mastodon/api/lists.ts @@ -0,0 +1,32 @@ +import { + apiRequestPost, + apiRequestPut, + apiRequestGet, + apiRequestDelete, +} from 'mastodon/api'; +import type { ApiAccountJSON } from 'mastodon/api_types/accounts'; +import type { ApiListJSON } from 'mastodon/api_types/lists'; + +export const apiCreate = (list: Partial) => + apiRequestPost('v1/lists', list); + +export const apiUpdate = (list: Partial) => + apiRequestPut(`v1/lists/${list.id}`, list); + +export const apiGetAccounts = (listId: string) => + apiRequestGet(`v1/lists/${listId}/accounts`, { + limit: 0, + }); + +export const apiGetAccountLists = (accountId: string) => + apiRequestGet(`v1/accounts/${accountId}/lists`); + +export const apiAddAccountToList = (listId: string, accountId: string) => + apiRequestPost(`v1/lists/${listId}/accounts`, { + account_ids: [accountId], + }); + +export const apiRemoveAccountFromList = (listId: string, accountId: string) => + apiRequestDelete(`v1/lists/${listId}/accounts`, { + account_ids: [accountId], + }); diff --git a/app/javascript/mastodon/api_types/lists.ts b/app/javascript/mastodon/api_types/lists.ts new file mode 100644 index 00000000000000..6984cf9b191336 --- /dev/null +++ b/app/javascript/mastodon/api_types/lists.ts @@ -0,0 +1,10 @@ +// See app/serializers/rest/list_serializer.rb + +export type RepliesPolicyType = 'list' | 'followed' | 'none'; + +export interface ApiListJSON { + id: string; + title: string; + exclusive: boolean; + replies_policy: RepliesPolicyType; +} diff --git a/app/javascript/mastodon/components/check_box.tsx b/app/javascript/mastodon/components/check_box.tsx index 9bd137abf57cce..73fdb2f97be297 100644 --- a/app/javascript/mastodon/components/check_box.tsx +++ b/app/javascript/mastodon/components/check_box.tsx @@ -7,11 +7,11 @@ import { Icon } from './icon'; interface Props { value: string; - checked: boolean; - indeterminate: boolean; - name: string; - onChange: (event: React.ChangeEvent) => void; - label: React.ReactNode; + checked?: boolean; + indeterminate?: boolean; + name?: string; + onChange?: (event: React.ChangeEvent) => void; + label?: React.ReactNode; } export const CheckBox: React.FC = ({ @@ -30,6 +30,7 @@ export const CheckBox: React.FC = ({ value={value} checked={checked} onChange={onChange} + readOnly={!onChange} /> = ({ )} - {label} + {label && {label}} ); }; diff --git a/app/javascript/mastodon/components/scrollable_list.jsx b/app/javascript/mastodon/components/scrollable_list.jsx index 29439fdf55dbce..35cd86ea1a60c4 100644 --- a/app/javascript/mastodon/components/scrollable_list.jsx +++ b/app/javascript/mastodon/components/scrollable_list.jsx @@ -80,6 +80,7 @@ class ScrollableList extends PureComponent { children: PropTypes.node, bindToDocument: PropTypes.bool, preventScroll: PropTypes.bool, + footer: PropTypes.node, }; static defaultProps = { @@ -324,7 +325,7 @@ class ScrollableList extends PureComponent { }; render () { - const { children, scrollKey, trackScroll, showLoading, isLoading, hasMore, numPending, prepend, alwaysPrepend, append, emptyMessage, onLoadMore } = this.props; + const { children, scrollKey, trackScroll, showLoading, isLoading, hasMore, numPending, prepend, alwaysPrepend, append, footer, emptyMessage, onLoadMore } = this.props; const { fullscreen } = this.state; const childrenCount = Children.count(children); @@ -342,11 +343,13 @@ class ScrollableList extends PureComponent {
+ + {footer}
); } else if (isLoading || childrenCount > 0 || numPending > 0 || hasMore || !emptyMessage) { scrollableArea = ( -
+
{prepend} @@ -375,6 +378,8 @@ class ScrollableList extends PureComponent { {!hasMore && append}
+ + {footer}
); } else { @@ -385,6 +390,8 @@ class ScrollableList extends PureComponent {
{emptyMessage}
+ + {footer}
); } diff --git a/app/javascript/mastodon/containers/dropdown_menu_container.js b/app/javascript/mastodon/containers/dropdown_menu_container.js index bc9124c041f2fe..dc2a9648ff5f51 100644 --- a/app/javascript/mastodon/containers/dropdown_menu_container.js +++ b/app/javascript/mastodon/containers/dropdown_menu_container.js @@ -15,6 +15,13 @@ const mapStateToProps = state => ({ openedViaKeyboard: state.dropdownMenu.keyboard, }); +/** + * @param {any} dispatch + * @param {Object} root0 + * @param {any} [root0.status] + * @param {any} root0.items + * @param {any} [root0.scrollKey] + */ const mapDispatchToProps = (dispatch, { status, items, scrollKey }) => ({ onOpen(id, onItemClick, keyboard) { if (status) { diff --git a/app/javascript/mastodon/features/list_adder/components/account.jsx b/app/javascript/mastodon/features/list_adder/components/account.jsx deleted file mode 100644 index 94a90726e33342..00000000000000 --- a/app/javascript/mastodon/features/list_adder/components/account.jsx +++ /dev/null @@ -1,43 +0,0 @@ -import { injectIntl } from 'react-intl'; - -import ImmutablePropTypes from 'react-immutable-proptypes'; -import ImmutablePureComponent from 'react-immutable-pure-component'; -import { connect } from 'react-redux'; - -import { Avatar } from '../../../components/avatar'; -import { DisplayName } from '../../../components/display_name'; -import { makeGetAccount } from '../../../selectors'; - -const makeMapStateToProps = () => { - const getAccount = makeGetAccount(); - - const mapStateToProps = (state, { accountId }) => ({ - account: getAccount(state, accountId), - }); - - return mapStateToProps; -}; - -class Account extends ImmutablePureComponent { - - static propTypes = { - account: ImmutablePropTypes.record.isRequired, - }; - - render () { - const { account } = this.props; - return ( -
-
-
-
- -
-
-
- ); - } - -} - -export default connect(makeMapStateToProps)(injectIntl(Account)); diff --git a/app/javascript/mastodon/features/list_adder/components/list.jsx b/app/javascript/mastodon/features/list_adder/components/list.jsx deleted file mode 100644 index a7cfd60bf3af78..00000000000000 --- a/app/javascript/mastodon/features/list_adder/components/list.jsx +++ /dev/null @@ -1,75 +0,0 @@ -import PropTypes from 'prop-types'; - -import { defineMessages, injectIntl } from 'react-intl'; - -import ImmutablePropTypes from 'react-immutable-proptypes'; -import ImmutablePureComponent from 'react-immutable-pure-component'; -import { connect } from 'react-redux'; - -import AddIcon from '@/material-icons/400-24px/add.svg?react'; -import CloseIcon from '@/material-icons/400-24px/close.svg?react'; -import ListAltIcon from '@/material-icons/400-24px/list_alt.svg?react'; -import { Icon } from 'mastodon/components/icon'; - -import { removeFromListAdder, addToListAdder } from '../../../actions/lists'; -import { IconButton } from '../../../components/icon_button'; - -const messages = defineMessages({ - remove: { id: 'lists.account.remove', defaultMessage: 'Remove from list' }, - add: { id: 'lists.account.add', defaultMessage: 'Add to list' }, -}); - -const MapStateToProps = (state, { listId, added }) => ({ - list: state.get('lists').get(listId), - added: typeof added === 'undefined' ? state.getIn(['listAdder', 'lists', 'items']).includes(listId) : added, -}); - -const mapDispatchToProps = (dispatch, { listId }) => ({ - onRemove: () => dispatch(removeFromListAdder(listId)), - onAdd: () => dispatch(addToListAdder(listId)), -}); - -class List extends ImmutablePureComponent { - - static propTypes = { - list: ImmutablePropTypes.map.isRequired, - intl: PropTypes.object.isRequired, - onRemove: PropTypes.func.isRequired, - onAdd: PropTypes.func.isRequired, - added: PropTypes.bool, - }; - - static defaultProps = { - added: false, - }; - - render () { - const { list, intl, onRemove, onAdd, added } = this.props; - - let button; - - if (added) { - button = ; - } else { - button = ; - } - - return ( -
-
-
- - {list.get('title')} -
- -
- {button} -
-
-
- ); - } - -} - -export default connect(MapStateToProps, mapDispatchToProps)(injectIntl(List)); diff --git a/app/javascript/mastodon/features/list_adder/index.jsx b/app/javascript/mastodon/features/list_adder/index.jsx deleted file mode 100644 index 4e7bd46bdfd993..00000000000000 --- a/app/javascript/mastodon/features/list_adder/index.jsx +++ /dev/null @@ -1,76 +0,0 @@ -import PropTypes from 'prop-types'; - -import { injectIntl } from 'react-intl'; - -import { createSelector } from '@reduxjs/toolkit'; -import ImmutablePropTypes from 'react-immutable-proptypes'; -import ImmutablePureComponent from 'react-immutable-pure-component'; -import { connect } from 'react-redux'; - -import { setupListAdder, resetListAdder } from '../../actions/lists'; -import NewListForm from '../lists/components/new_list_form'; - -import Account from './components/account'; -import List from './components/list'; -// hack - -const getOrderedLists = createSelector([state => state.get('lists')], lists => { - if (!lists) { - return lists; - } - - return lists.toList().filter(item => !!item).sort((a, b) => a.get('title').localeCompare(b.get('title'))); -}); - -const mapStateToProps = state => ({ - listIds: getOrderedLists(state).map(list=>list.get('id')), -}); - -const mapDispatchToProps = dispatch => ({ - onInitialize: accountId => dispatch(setupListAdder(accountId)), - onReset: () => dispatch(resetListAdder()), -}); - -class ListAdder extends ImmutablePureComponent { - - static propTypes = { - accountId: PropTypes.string.isRequired, - onClose: PropTypes.func.isRequired, - intl: PropTypes.object.isRequired, - onInitialize: PropTypes.func.isRequired, - onReset: PropTypes.func.isRequired, - listIds: ImmutablePropTypes.list.isRequired, - }; - - componentDidMount () { - const { onInitialize, accountId } = this.props; - onInitialize(accountId); - } - - componentWillUnmount () { - const { onReset } = this.props; - onReset(); - } - - render () { - const { accountId, listIds } = this.props; - - return ( -
-
- -
- - - - -
- {listIds.map(ListId => )} -
-
- ); - } - -} - -export default connect(mapStateToProps, mapDispatchToProps)(injectIntl(ListAdder)); diff --git a/app/javascript/mastodon/features/list_adder/index.tsx b/app/javascript/mastodon/features/list_adder/index.tsx new file mode 100644 index 00000000000000..5429c24aed686e --- /dev/null +++ b/app/javascript/mastodon/features/list_adder/index.tsx @@ -0,0 +1,213 @@ +import { useEffect, useState, useCallback } from 'react'; + +import { FormattedMessage, useIntl, defineMessages } from 'react-intl'; + +import { isFulfilled } from '@reduxjs/toolkit'; + +import CloseIcon from '@/material-icons/400-24px/close.svg?react'; +import ListAltIcon from '@/material-icons/400-24px/list_alt.svg?react'; +import { fetchLists } from 'mastodon/actions/lists'; +import { createList } from 'mastodon/actions/lists_typed'; +import { + apiGetAccountLists, + apiAddAccountToList, + apiRemoveAccountFromList, +} from 'mastodon/api/lists'; +import type { ApiListJSON } from 'mastodon/api_types/lists'; +import { Button } from 'mastodon/components/button'; +import { CheckBox } from 'mastodon/components/check_box'; +import { Icon } from 'mastodon/components/icon'; +import { IconButton } from 'mastodon/components/icon_button'; +import { getOrderedLists } from 'mastodon/selectors/lists'; +import { useAppDispatch, useAppSelector } from 'mastodon/store'; + +const messages = defineMessages({ + newList: { + id: 'lists.new_list_name', + defaultMessage: 'New list name', + }, + createList: { + id: 'lists.create', + defaultMessage: 'Create', + }, + close: { + id: 'lightbox.close', + defaultMessage: 'Close', + }, +}); + +const ListItem: React.FC<{ + id: string; + title: string; + checked: boolean; + onChange: (id: string, checked: boolean) => void; +}> = ({ id, title, checked, onChange }) => { + const handleChange = useCallback( + (e: React.ChangeEvent) => { + onChange(id, e.target.checked); + }, + [id, onChange], + ); + + return ( + // eslint-disable-next-line jsx-a11y/label-has-associated-control + + ); +}; + +const NewListItem: React.FC<{ + onCreate: (list: ApiListJSON) => void; +}> = ({ onCreate }) => { + const intl = useIntl(); + const dispatch = useAppDispatch(); + const [title, setTitle] = useState(''); + + const handleChange = useCallback( + ({ target: { value } }: React.ChangeEvent) => { + setTitle(value); + }, + [setTitle], + ); + + const handleSubmit = useCallback(() => { + if (title.trim().length === 0) { + return; + } + + void dispatch(createList({ title })).then((result) => { + if (isFulfilled(result)) { + onCreate(result.payload); + setTitle(''); + } + + return ''; + }); + }, [setTitle, dispatch, onCreate, title]); + + return ( +
+ + +
+ - -
-
- - -
-
- - {replies_policy !== undefined && ( -
-

- -
- { ['none', 'list', 'followed'].map(policy => ( - - ))} -
-
- )}
@@ -229,4 +178,4 @@ class ListTimeline extends PureComponent { } -export default withRouter(connect(mapStateToProps)(injectIntl(ListTimeline))); +export default withRouter(connect(mapStateToProps)(ListTimeline)); diff --git a/app/javascript/mastodon/features/lists/components/new_list_form.jsx b/app/javascript/mastodon/features/lists/components/new_list_form.jsx deleted file mode 100644 index 0fed9d70a23e7b..00000000000000 --- a/app/javascript/mastodon/features/lists/components/new_list_form.jsx +++ /dev/null @@ -1,80 +0,0 @@ -import PropTypes from 'prop-types'; -import { PureComponent } from 'react'; - -import { defineMessages, injectIntl } from 'react-intl'; - -import { connect } from 'react-redux'; - -import { changeListEditorTitle, submitListEditor } from 'mastodon/actions/lists'; -import { Button } from 'mastodon/components/button'; - -const messages = defineMessages({ - label: { id: 'lists.new.title_placeholder', defaultMessage: 'New list title' }, - title: { id: 'lists.new.create', defaultMessage: 'Add list' }, -}); - -const mapStateToProps = state => ({ - value: state.getIn(['listEditor', 'title']), - disabled: state.getIn(['listEditor', 'isSubmitting']), -}); - -const mapDispatchToProps = dispatch => ({ - onChange: value => dispatch(changeListEditorTitle(value)), - onSubmit: () => dispatch(submitListEditor(true)), -}); - -class NewListForm extends PureComponent { - - static propTypes = { - value: PropTypes.string.isRequired, - disabled: PropTypes.bool, - intl: PropTypes.object.isRequired, - onChange: PropTypes.func.isRequired, - onSubmit: PropTypes.func.isRequired, - }; - - handleChange = e => { - this.props.onChange(e.target.value); - }; - - handleSubmit = e => { - e.preventDefault(); - this.props.onSubmit(); - }; - - handleClick = () => { - this.props.onSubmit(); - }; - - render () { - const { value, disabled, intl } = this.props; - - const label = intl.formatMessage(messages.label); - const title = intl.formatMessage(messages.title); - - return ( -
- - -
+ + + + + ); +}; + +const AccountItem: React.FC<{ + accountId: string; + listId: string; + partOfList: boolean; + onToggle: (accountId: string) => void; +}> = ({ accountId, listId, partOfList, onToggle }) => { + const intl = useIntl(); + const account = useAppSelector((state) => state.accounts.get(accountId)); + + const handleClick = useCallback(() => { + if (partOfList) { + void apiRemoveAccountFromList(listId, accountId); + } else { + void apiAddAccountToList(listId, accountId); + } + + onToggle(accountId); + }, [accountId, listId, partOfList, onToggle]); + + if (!account) { + return null; + } + + const firstVerifiedField = account.fields.find((item) => !!item.verified_at); + + return ( +
+
+ +
+ +
+ +
+ + +
+ {' '} + {firstVerifiedField && ( + + )} +
+
+ + +
+
+
+
+ ); +}; + +const ListMembers: React.FC<{ + multiColumn?: boolean; +}> = ({ multiColumn }) => { + const dispatch = useAppDispatch(); + const { id } = useParams<{ id: string }>(); + const intl = useIntl(); + + const followingAccountIds = useAppSelector( + (state) => state.user_lists.getIn(['following', me, 'items']) as string[], + ); + const [searching, setSearching] = useState(false); + const [accountIds, setAccountIds] = useState([]); + const [searchAccountIds, setSearchAccountIds] = useState([]); + const [loading, setLoading] = useState(true); + const [mode, setMode] = useState('remove'); + + useEffect(() => { + if (id) { + setLoading(true); + dispatch(fetchList(id)); + + void apiGetAccounts(id) + .then((data) => { + dispatch(importFetchedAccounts(data)); + setAccountIds(data.map((a) => a.id)); + setLoading(false); + return ''; + }) + .catch(() => { + setLoading(false); + }); + + dispatch(fetchFollowing(me)); + } + }, [dispatch, id]); + + const handleSearchClick = useCallback(() => { + setMode('add'); + }, [setMode]); + + const handleDismissSearchClick = useCallback(() => { + setMode('remove'); + setSearching(false); + }, [setMode]); + + const handleAccountToggle = useCallback( + (accountId: string) => { + const partOfList = accountIds.includes(accountId); + + if (partOfList) { + setAccountIds(accountIds.filter((id) => id !== accountId)); + } else { + setAccountIds([accountId, ...accountIds]); + } + }, + [accountIds, setAccountIds], + ); + + const searchRequestRef = useRef(null); + + const handleSearch = useDebouncedCallback( + (value: string) => { + if (searchRequestRef.current) { + searchRequestRef.current.abort(); + } + + if (value.trim().length === 0) { + setSearching(false); + return; + } + + setLoading(true); + + searchRequestRef.current = new AbortController(); + + void apiRequest('GET', 'v1/accounts/search', { + signal: searchRequestRef.current.signal, + params: { + q: value, + resolve: false, + following: true, + }, + }) + .then((data) => { + dispatch(importFetchedAccounts(data)); + setSearchAccountIds(data.map((a) => a.id)); + setLoading(false); + setSearching(true); + return ''; + }) + .catch(() => { + setSearching(true); + setLoading(false); + }); + }, + 500, + { leading: true, trailing: true }, + ); + + let displayedAccountIds: string[]; + + if (mode === 'add') { + displayedAccountIds = searching ? searchAccountIds : followingAccountIds; + } else { + displayedAccountIds = accountIds; + } + + return ( + + {mode === 'remove' ? ( + + + + } + /> + ) : ( + + )} + + +
+ +
+ + + +
+ + ) + } + emptyMessage={ + mode === 'remove' ? ( + <> + + +
+ +
+ + + + ) : ( + + ) + } + > + {displayedAccountIds.map((accountId) => ( + + ))} + + + + {intl.formatMessage(messages.heading)} + + + + ); +}; + +// eslint-disable-next-line import/no-default-export +export default ListMembers; diff --git a/app/javascript/mastodon/features/lists/new.tsx b/app/javascript/mastodon/features/lists/new.tsx new file mode 100644 index 00000000000000..cf39331d7c5f2c --- /dev/null +++ b/app/javascript/mastodon/features/lists/new.tsx @@ -0,0 +1,296 @@ +import { useCallback, useState, useEffect } from 'react'; + +import { defineMessages, useIntl, FormattedMessage } from 'react-intl'; + +import { Helmet } from 'react-helmet'; +import { useParams, useHistory, Link } from 'react-router-dom'; + +import { isFulfilled } from '@reduxjs/toolkit'; + +import Toggle from 'react-toggle'; + +import ListAltIcon from '@/material-icons/400-24px/list_alt.svg?react'; +import { fetchList } from 'mastodon/actions/lists'; +import { createList, updateList } from 'mastodon/actions/lists_typed'; +import { apiGetAccounts } from 'mastodon/api/lists'; +import type { RepliesPolicyType } from 'mastodon/api_types/lists'; +import Column from 'mastodon/components/column'; +import { ColumnHeader } from 'mastodon/components/column_header'; +import { LoadingIndicator } from 'mastodon/components/loading_indicator'; +import { useAppDispatch, useAppSelector } from 'mastodon/store'; + +const messages = defineMessages({ + edit: { id: 'column.edit_list', defaultMessage: 'Edit list' }, + create: { id: 'column.create_list', defaultMessage: 'Create list' }, +}); + +const MembersLink: React.FC<{ + id: string; +}> = ({ id }) => { + const [count, setCount] = useState(0); + const [avatars, setAvatars] = useState([]); + + useEffect(() => { + void apiGetAccounts(id) + .then((data) => { + setCount(data.length); + setAvatars(data.slice(0, 3).map((a) => a.avatar)); + return ''; + }) + .catch(() => { + // Nothing + }); + }, [id, setCount, setAvatars]); + + return ( + +
+ + + + +
+ +
+ {avatars.map((url) => ( + + ))} +
+ + ); +}; + +const NewList: React.FC<{ + multiColumn?: boolean; +}> = ({ multiColumn }) => { + const dispatch = useAppDispatch(); + const { id } = useParams<{ id?: string }>(); + const intl = useIntl(); + const history = useHistory(); + + const list = useAppSelector((state) => + id ? state.lists.get(id) : undefined, + ); + const [title, setTitle] = useState(''); + const [exclusive, setExclusive] = useState(false); + const [repliesPolicy, setRepliesPolicy] = useState('list'); + const [submitting, setSubmitting] = useState(false); + + useEffect(() => { + if (id) { + dispatch(fetchList(id)); + } + }, [dispatch, id]); + + useEffect(() => { + if (id && list) { + setTitle(list.title); + setExclusive(list.exclusive); + setRepliesPolicy(list.replies_policy); + } + }, [setTitle, setExclusive, setRepliesPolicy, id, list]); + + const handleTitleChange = useCallback( + ({ target: { value } }: React.ChangeEvent) => { + setTitle(value); + }, + [setTitle], + ); + + const handleExclusiveChange = useCallback( + ({ target: { checked } }: React.ChangeEvent) => { + setExclusive(checked); + }, + [setExclusive], + ); + + const handleRepliesPolicyChange = useCallback( + ({ target: { value } }: React.ChangeEvent) => { + setRepliesPolicy(value as RepliesPolicyType); + }, + [setRepliesPolicy], + ); + + const handleSubmit = useCallback(() => { + setSubmitting(true); + + if (id) { + void dispatch( + updateList({ + id, + title, + exclusive, + replies_policy: repliesPolicy, + }), + ).then(() => { + setSubmitting(false); + return ''; + }); + } else { + void dispatch( + createList({ + title, + exclusive, + replies_policy: repliesPolicy, + }), + ).then((result) => { + setSubmitting(false); + + if (isFulfilled(result)) { + history.replace(`/lists/${result.payload.id}/edit`); + history.push(`/lists/${result.payload.id}/members`); + } + + return ''; + }); + } + }, [history, dispatch, setSubmitting, id, title, exclusive, repliesPolicy]); + + return ( + + + +
+
+
+
+
+ + +
+ +
+
+
+
+ +
+
+
+ + +
+ +
+
+
+
+ + {id && ( +
+ +
+ )} + +
+ {/* eslint-disable-next-line jsx-a11y/label-has-associated-control */} + +
+ +
+ +
+
+
+ + + + {intl.formatMessage(id ? messages.edit : messages.create)} + + + +
+ ); +}; + +// eslint-disable-next-line import/no-default-export +export default NewList; diff --git a/app/javascript/mastodon/features/ui/components/modal_root.jsx b/app/javascript/mastodon/features/ui/components/modal_root.jsx index 42a00acf81f8cc..8a97ec45658c48 100644 --- a/app/javascript/mastodon/features/ui/components/modal_root.jsx +++ b/app/javascript/mastodon/features/ui/components/modal_root.jsx @@ -10,7 +10,6 @@ import { DomainBlockModal, ReportModal, EmbedModal, - ListEditor, ListAdder, CompareHistoryModal, FilterModal, @@ -64,7 +63,6 @@ export const MODAL_COMPONENTS = { 'REPORT': ReportModal, 'ACTIONS': () => Promise.resolve({ default: ActionsModal }), 'EMBED': EmbedModal, - 'LIST_EDITOR': ListEditor, 'FOCAL_POINT': () => Promise.resolve({ default: FocalPointModal }), 'LIST_ADDER': ListAdder, 'COMPARE_HISTORY': CompareHistoryModal, diff --git a/app/javascript/mastodon/features/ui/index.jsx b/app/javascript/mastodon/features/ui/index.jsx index b90ea5585aeee0..daa4585ead5972 100644 --- a/app/javascript/mastodon/features/ui/index.jsx +++ b/app/javascript/mastodon/features/ui/index.jsx @@ -58,11 +58,13 @@ import { FollowedTags, LinkTimeline, ListTimeline, + Lists, + ListEdit, + ListMembers, Blocks, DomainBlocks, Mutes, PinnedStatuses, - Lists, Directory, Explore, Onboarding, @@ -205,6 +207,9 @@ class SwitchingColumnsArea extends PureComponent { + + + diff --git a/app/javascript/mastodon/features/ui/util/async-components.js b/app/javascript/mastodon/features/ui/util/async-components.js index ff5db653479cdd..5a85c856d2d614 100644 --- a/app/javascript/mastodon/features/ui/util/async-components.js +++ b/app/javascript/mastodon/features/ui/util/async-components.js @@ -150,10 +150,6 @@ export function EmbedModal () { return import(/* webpackChunkName: "modals/embed_modal" */'../components/embed_modal'); } -export function ListEditor () { - return import(/* webpackChunkName: "features/list_editor" */'../../list_editor'); -} - export function ListAdder () { return import(/*webpackChunkName: "features/list_adder" */'../../list_adder'); } @@ -221,3 +217,11 @@ export function LinkTimeline () { export function AnnualReportModal () { return import(/*webpackChunkName: "modals/annual_report_modal" */'../components/annual_report_modal'); } + +export function ListEdit () { + return import(/*webpackChunkName: "features/lists" */'../../lists/new'); +} + +export function ListMembers () { + return import(/* webpackChunkName: "features/lists" */'../../lists/members'); +} diff --git a/app/javascript/mastodon/locales/en.json b/app/javascript/mastodon/locales/en.json index 9728528f8ea863..142b7f1770a428 100644 --- a/app/javascript/mastodon/locales/en.json +++ b/app/javascript/mastodon/locales/en.json @@ -140,13 +140,16 @@ "column.blocks": "Blocked users", "column.bookmarks": "Bookmarks", "column.community": "Local timeline", + "column.create_list": "Create list", "column.direct": "Private mentions", "column.directory": "Browse profiles", "column.domain_blocks": "Blocked domains", + "column.edit_list": "Edit list", "column.favourites": "Favorites", "column.firehose": "Live feeds", "column.follow_requests": "Follow requests", "column.home": "Home", + "column.list_members": "Manage list members", "column.lists": "Lists", "column.mutes": "Muted users", "column.notifications": "Notifications", @@ -292,7 +295,6 @@ "empty_column.hashtag": "There is nothing in this hashtag yet.", "empty_column.home": "Your home timeline is empty! Follow more people to fill it up.", "empty_column.list": "There is nothing in this list yet. When members of this list publish new posts, they will appear here.", - "empty_column.lists": "You don't have any lists yet. When you create one, it will show up here.", "empty_column.mutes": "You haven't muted any users yet.", "empty_column.notification_requests": "All clear! There is nothing here. When you receive new notifications, they will appear here according to your settings.", "empty_column.notifications": "You don't have any notifications yet. When other people interact with you, you will see it here.", @@ -465,20 +467,32 @@ "link_preview.author": "By {name}", "link_preview.more_from_author": "More from {name}", "link_preview.shares": "{count, plural, one {{counter} post} other {{counter} posts}}", - "lists.account.add": "Add to list", - "lists.account.remove": "Remove from list", + "lists.add_member": "Add", + "lists.add_to_list": "Add to list", + "lists.add_to_lists": "Add {name} to lists", + "lists.create": "Create", + "lists.create_a_list_to_organize": "Create a new list to organize your Home feed", + "lists.create_list": "Create list", "lists.delete": "Delete list", + "lists.done": "Done", "lists.edit": "Edit list", - "lists.edit.submit": "Change title", - "lists.exclusive": "Hide these posts from home", - "lists.new.create": "Add list", - "lists.new.title_placeholder": "New list title", + "lists.exclusive": "Hide members in Home", + "lists.exclusive_hint": "If someone is on this list, hide them in your Home feed to avoid seeing their posts twice.", + "lists.find_users_to_add": "Find users to add", + "lists.list_members": "List members", + "lists.list_members_count": "{count, plural, one {# member} other {# members}}", + "lists.list_name": "List name", + "lists.new_list_name": "New list name", + "lists.no_lists_yet": "No lists yet.", + "lists.no_members_yet": "No members yet.", + "lists.no_results_found": "No results found.", + "lists.remove_member": "Remove", "lists.replies_policy.followed": "Any followed user", "lists.replies_policy.list": "Members of the list", "lists.replies_policy.none": "No one", - "lists.replies_policy.title": "Show replies to:", - "lists.search": "Search among people you follow", - "lists.subheading": "Your lists", + "lists.save": "Save", + "lists.search_placeholder": "Search people you follow", + "lists.show_replies_to": "Include replies from list members to", "load_pending": "{count, plural, one {# new item} other {# new items}}", "loading_indicator.label": "Loading…", "media_gallery.hide": "Hide", diff --git a/app/javascript/mastodon/models/list.ts b/app/javascript/mastodon/models/list.ts new file mode 100644 index 00000000000000..50b98967755af3 --- /dev/null +++ b/app/javascript/mastodon/models/list.ts @@ -0,0 +1,18 @@ +import type { RecordOf } from 'immutable'; +import { Record } from 'immutable'; + +import type { ApiListJSON } from 'mastodon/api_types/lists'; + +type ListShape = Required; // no changes from server shape +export type List = RecordOf; + +const ListFactory = Record({ + id: '', + title: '', + exclusive: false, + replies_policy: 'list', +}); + +export function createList(attributes: Partial) { + return ListFactory(attributes); +} diff --git a/app/javascript/mastodon/reducers/index.ts b/app/javascript/mastodon/reducers/index.ts index b92de0dbcda766..aafee19c090ac0 100644 --- a/app/javascript/mastodon/reducers/index.ts +++ b/app/javascript/mastodon/reducers/index.ts @@ -17,9 +17,7 @@ import filters from './filters'; import followed_tags from './followed_tags'; import height_cache from './height_cache'; import history from './history'; -import listAdder from './list_adder'; -import listEditor from './list_editor'; -import lists from './lists'; +import { listsReducer } from './lists'; import { markersReducer } from './markers'; import media_attachments from './media_attachments'; import meta from './meta'; @@ -69,9 +67,7 @@ const reducers = { notificationGroups: notificationGroupsReducer, height_cache, custom_emojis, - lists, - listEditor, - listAdder, + lists: listsReducer, filters, conversations, suggestions, diff --git a/app/javascript/mastodon/reducers/list_adder.js b/app/javascript/mastodon/reducers/list_adder.js deleted file mode 100644 index 0f61273aa6c574..00000000000000 --- a/app/javascript/mastodon/reducers/list_adder.js +++ /dev/null @@ -1,48 +0,0 @@ -import { Map as ImmutableMap, List as ImmutableList } from 'immutable'; - -import { - LIST_ADDER_RESET, - LIST_ADDER_SETUP, - LIST_ADDER_LISTS_FETCH_REQUEST, - LIST_ADDER_LISTS_FETCH_SUCCESS, - LIST_ADDER_LISTS_FETCH_FAIL, - LIST_EDITOR_ADD_SUCCESS, - LIST_EDITOR_REMOVE_SUCCESS, -} from '../actions/lists'; - -const initialState = ImmutableMap({ - accountId: null, - - lists: ImmutableMap({ - items: ImmutableList(), - loaded: false, - isLoading: false, - }), -}); - -export default function listAdderReducer(state = initialState, action) { - switch(action.type) { - case LIST_ADDER_RESET: - return initialState; - case LIST_ADDER_SETUP: - return state.withMutations(map => { - map.set('accountId', action.account.get('id')); - }); - case LIST_ADDER_LISTS_FETCH_REQUEST: - return state.setIn(['lists', 'isLoading'], true); - case LIST_ADDER_LISTS_FETCH_FAIL: - return state.setIn(['lists', 'isLoading'], false); - case LIST_ADDER_LISTS_FETCH_SUCCESS: - return state.update('lists', lists => lists.withMutations(map => { - map.set('isLoading', false); - map.set('loaded', true); - map.set('items', ImmutableList(action.lists.map(item => item.id))); - })); - case LIST_EDITOR_ADD_SUCCESS: - return state.updateIn(['lists', 'items'], list => list.unshift(action.listId)); - case LIST_EDITOR_REMOVE_SUCCESS: - return state.updateIn(['lists', 'items'], list => list.filterNot(item => item === action.listId)); - default: - return state; - } -} diff --git a/app/javascript/mastodon/reducers/list_editor.js b/app/javascript/mastodon/reducers/list_editor.js deleted file mode 100644 index d3fd62adecbced..00000000000000 --- a/app/javascript/mastodon/reducers/list_editor.js +++ /dev/null @@ -1,99 +0,0 @@ -import { Map as ImmutableMap, List as ImmutableList } from 'immutable'; - -import { - LIST_CREATE_REQUEST, - LIST_CREATE_FAIL, - LIST_CREATE_SUCCESS, - LIST_UPDATE_REQUEST, - LIST_UPDATE_FAIL, - LIST_UPDATE_SUCCESS, - LIST_EDITOR_RESET, - LIST_EDITOR_SETUP, - LIST_EDITOR_TITLE_CHANGE, - LIST_ACCOUNTS_FETCH_REQUEST, - LIST_ACCOUNTS_FETCH_SUCCESS, - LIST_ACCOUNTS_FETCH_FAIL, - LIST_EDITOR_SUGGESTIONS_READY, - LIST_EDITOR_SUGGESTIONS_CLEAR, - LIST_EDITOR_SUGGESTIONS_CHANGE, - LIST_EDITOR_ADD_SUCCESS, - LIST_EDITOR_REMOVE_SUCCESS, -} from '../actions/lists'; - -const initialState = ImmutableMap({ - listId: null, - isSubmitting: false, - isChanged: false, - title: '', - isExclusive: false, - - accounts: ImmutableMap({ - items: ImmutableList(), - loaded: false, - isLoading: false, - }), - - suggestions: ImmutableMap({ - value: '', - items: ImmutableList(), - }), -}); - -export default function listEditorReducer(state = initialState, action) { - switch(action.type) { - case LIST_EDITOR_RESET: - return initialState; - case LIST_EDITOR_SETUP: - return state.withMutations(map => { - map.set('listId', action.list.get('id')); - map.set('title', action.list.get('title')); - map.set('isExclusive', action.list.get('is_exclusive')); - map.set('isSubmitting', false); - }); - case LIST_EDITOR_TITLE_CHANGE: - return state.withMutations(map => { - map.set('title', action.value); - map.set('isChanged', true); - }); - case LIST_CREATE_REQUEST: - case LIST_UPDATE_REQUEST: - return state.withMutations(map => { - map.set('isSubmitting', true); - map.set('isChanged', false); - }); - case LIST_CREATE_FAIL: - case LIST_UPDATE_FAIL: - return state.set('isSubmitting', false); - case LIST_CREATE_SUCCESS: - case LIST_UPDATE_SUCCESS: - return state.withMutations(map => { - map.set('isSubmitting', false); - map.set('listId', action.list.id); - }); - case LIST_ACCOUNTS_FETCH_REQUEST: - return state.setIn(['accounts', 'isLoading'], true); - case LIST_ACCOUNTS_FETCH_FAIL: - return state.setIn(['accounts', 'isLoading'], false); - case LIST_ACCOUNTS_FETCH_SUCCESS: - return state.update('accounts', accounts => accounts.withMutations(map => { - map.set('isLoading', false); - map.set('loaded', true); - map.set('items', ImmutableList(action.accounts.map(item => item.id))); - })); - case LIST_EDITOR_SUGGESTIONS_CHANGE: - return state.setIn(['suggestions', 'value'], action.value); - case LIST_EDITOR_SUGGESTIONS_READY: - return state.setIn(['suggestions', 'items'], ImmutableList(action.accounts.map(item => item.id))); - case LIST_EDITOR_SUGGESTIONS_CLEAR: - return state.update('suggestions', suggestions => suggestions.withMutations(map => { - map.set('items', ImmutableList()); - map.set('value', ''); - })); - case LIST_EDITOR_ADD_SUCCESS: - return state.updateIn(['accounts', 'items'], list => list.unshift(action.accountId)); - case LIST_EDITOR_REMOVE_SUCCESS: - return state.updateIn(['accounts', 'items'], list => list.filterNot(item => item === action.accountId)); - default: - return state; - } -} diff --git a/app/javascript/mastodon/reducers/lists.js b/app/javascript/mastodon/reducers/lists.js deleted file mode 100644 index 2a797772b30437..00000000000000 --- a/app/javascript/mastodon/reducers/lists.js +++ /dev/null @@ -1,38 +0,0 @@ -import { Map as ImmutableMap, fromJS } from 'immutable'; - -import { - LIST_FETCH_SUCCESS, - LIST_FETCH_FAIL, - LISTS_FETCH_SUCCESS, - LIST_CREATE_SUCCESS, - LIST_UPDATE_SUCCESS, - LIST_DELETE_SUCCESS, -} from '../actions/lists'; - -const initialState = ImmutableMap(); - -const normalizeList = (state, list) => state.set(list.id, fromJS(list)); - -const normalizeLists = (state, lists) => { - lists.forEach(list => { - state = normalizeList(state, list); - }); - - return state; -}; - -export default function lists(state = initialState, action) { - switch(action.type) { - case LIST_FETCH_SUCCESS: - case LIST_CREATE_SUCCESS: - case LIST_UPDATE_SUCCESS: - return normalizeList(state, action.list); - case LISTS_FETCH_SUCCESS: - return normalizeLists(state, action.lists); - case LIST_DELETE_SUCCESS: - case LIST_FETCH_FAIL: - return state.set(action.id, false); - default: - return state; - } -} diff --git a/app/javascript/mastodon/reducers/lists.ts b/app/javascript/mastodon/reducers/lists.ts new file mode 100644 index 00000000000000..593e717949dd8e --- /dev/null +++ b/app/javascript/mastodon/reducers/lists.ts @@ -0,0 +1,49 @@ +import type { Reducer } from '@reduxjs/toolkit'; +import { Map as ImmutableMap } from 'immutable'; + +import { createList, updateList } from 'mastodon/actions/lists_typed'; +import type { ApiListJSON } from 'mastodon/api_types/lists'; +import { createList as createListFromJSON } from 'mastodon/models/list'; +import type { List } from 'mastodon/models/list'; + +import { + LIST_FETCH_SUCCESS, + LIST_FETCH_FAIL, + LISTS_FETCH_SUCCESS, + LIST_DELETE_SUCCESS, +} from '../actions/lists'; + +const initialState = ImmutableMap(); +type State = typeof initialState; + +const normalizeList = (state: State, list: ApiListJSON) => + state.set(list.id, createListFromJSON(list)); + +const normalizeLists = (state: State, lists: ApiListJSON[]) => { + lists.forEach((list) => { + state = normalizeList(state, list); + }); + + return state; +}; + +export const listsReducer: Reducer = (state = initialState, action) => { + if ( + createList.fulfilled.match(action) || + updateList.fulfilled.match(action) + ) { + return normalizeList(state, action.payload); + } else { + switch (action.type) { + case LIST_FETCH_SUCCESS: + return normalizeList(state, action.list as ApiListJSON); + case LISTS_FETCH_SUCCESS: + return normalizeLists(state, action.lists as ApiListJSON[]); + case LIST_DELETE_SUCCESS: + case LIST_FETCH_FAIL: + return state.set(action.id as string, null); + default: + return state; + } + } +}; diff --git a/app/javascript/mastodon/selectors/lists.ts b/app/javascript/mastodon/selectors/lists.ts new file mode 100644 index 00000000000000..f93e90ce68b604 --- /dev/null +++ b/app/javascript/mastodon/selectors/lists.ts @@ -0,0 +1,15 @@ +import { createSelector } from '@reduxjs/toolkit'; +import type { Map as ImmutableMap } from 'immutable'; + +import type { List } from 'mastodon/models/list'; +import type { RootState } from 'mastodon/store'; + +export const getOrderedLists = createSelector( + [(state: RootState) => state.lists], + (lists: ImmutableMap) => + lists + .toList() + .filter((item: List | null) => !!item) + .sort((a: List, b: List) => a.title.localeCompare(b.title)) + .toArray(), +); diff --git a/app/javascript/styles/mastodon-light/variables.scss b/app/javascript/styles/mastodon-light/variables.scss index 777c622ace0855..2d5e1b1094553e 100644 --- a/app/javascript/styles/mastodon-light/variables.scss +++ b/app/javascript/styles/mastodon-light/variables.scss @@ -79,4 +79,5 @@ body { --rich-text-container-color: rgba(255, 216, 231, 100%); --rich-text-text-color: rgba(114, 47, 83, 100%); --rich-text-decorations-color: rgba(255, 175, 212, 100%); + --input-placeholder-color: #{transparentize($dark-text-color, 0.5)}; } diff --git a/app/javascript/styles/mastodon/admin.scss b/app/javascript/styles/mastodon/admin.scss index 579b2a4f692ac5..b5f8570ae2c8a5 100644 --- a/app/javascript/styles/mastodon/admin.scss +++ b/app/javascript/styles/mastodon/admin.scss @@ -611,16 +611,6 @@ body, max-width: 100%; } -.simple_form { - .actions { - margin-top: 15px; - } - - .button { - font-size: 15px; - } -} - .batch-form-box { display: flex; flex-wrap: wrap; diff --git a/app/javascript/styles/mastodon/components.scss b/app/javascript/styles/mastodon/components.scss index 1bfe37cee624eb..8b95c3776ebef9 100644 --- a/app/javascript/styles/mastodon/components.scss +++ b/app/javascript/styles/mastodon/components.scss @@ -4650,6 +4650,7 @@ a.status-card { border: 0; background: transparent; cursor: pointer; + text-decoration: none; .icon { width: 13px; @@ -5063,7 +5064,8 @@ a.status-card { color: $dark-text-color; text-align: center; padding: 20px; - font-size: 15px; + font-size: 14px; + line-height: 20px; font-weight: 400; cursor: default; display: flex; @@ -5085,6 +5087,17 @@ a.status-card { } } +.empty-column-indicator { + &__arrow { + position: absolute; + top: 50%; + inset-inline-start: 50%; + pointer-events: none; + transform: translate(100%, -100%) rotate(12deg); + transform-origin: center; + } +} + .follow_requests-unlocked_explanation { background: var(--surface-background-color); border-bottom: 1px solid var(--background-border-color); @@ -5776,7 +5789,7 @@ a.status-card { .modal-root { position: relative; - z-index: 9999; + z-index: 9998; } .modal-root__overlay { @@ -6381,12 +6394,14 @@ a.status-card { border-radius: 16px; &__header { + box-sizing: border-box; border-bottom: 1px solid var(--modal-border-color); display: flex; align-items: center; justify-content: space-between; flex-direction: row-reverse; padding: 12px 24px; + min-height: 61px; &__title { font-size: 16px; @@ -7993,92 +8008,6 @@ noscript { background: rgba($base-overlay-background, 0.5); } -.list-adder, -.list-editor { - backdrop-filter: var(--background-filter); - background: var(--modal-background-color); - border: 1px solid var(--modal-border-color); - flex-direction: column; - border-radius: 8px; - width: 380px; - overflow: hidden; - - @media screen and (width <= 420px) { - width: 90%; - } -} - -.list-adder { - &__lists { - height: 50vh; - border-radius: 0 0 8px 8px; - overflow-y: auto; - } - - .list { - padding: 10px; - border-bottom: 1px solid var(--background-border-color); - } - - .list__wrapper { - display: flex; - } - - .list__display-name { - flex: 1 1 auto; - overflow: hidden; - text-decoration: none; - font-size: 16px; - padding: 10px; - display: flex; - align-items: center; - gap: 4px; - } -} - -.list-editor { - h4 { - padding: 15px 0; - background: lighten($ui-base-color, 13%); - font-weight: 500; - font-size: 16px; - text-align: center; - border-radius: 8px 8px 0 0; - } - - .drawer__pager { - height: 50vh; - border: 0; - } - - .drawer__inner { - &.backdrop { - width: calc(100% - 60px); - box-shadow: 2px 4px 15px rgba($base-shadow-color, 0.4); - border-radius: 0 0 0 8px; - } - } - - &__accounts { - background: unset; - overflow-y: auto; - } - - .account__display-name { - &:hover strong { - text-decoration: none; - } - } - - .account__avatar { - cursor: default; - } - - .search { - margin-bottom: 0; - } -} - .focal-point { position: relative; cursor: move; @@ -10142,7 +10071,7 @@ noscript { position: fixed; bottom: 2rem; inset-inline-start: 0; - z-index: 999; + z-index: 9999; display: flex; flex-direction: column; gap: 4px; @@ -11150,3 +11079,87 @@ noscript { } } } + +.lists__item { + display: flex; + align-items: center; + gap: 16px; + padding-inline-end: 13px; + border-bottom: 1px solid var(--background-border-color); + + &__title { + display: flex; + align-items: center; + gap: 5px; + padding: 16px 13px; + flex: 1 1 auto; + font-size: 16px; + line-height: 24px; + color: $secondary-text-color; + text-decoration: none; + + &:is(a):hover, + &:is(a):focus, + &:is(a):active { + color: $primary-text-color; + } + + input { + display: block; + width: 100%; + background: transparent; + border: 0; + padding: 0; + font-family: inherit; + font-size: inherit; + line-height: inherit; + color: inherit; + + &::placeholder { + color: var(--input-placeholder-color); + opacity: 1; + } + + &:focus { + outline: 0; + } + } + } +} + +.column-search-header { + display: flex; + border-radius: 4px 4px 0 0; + border: 1px solid var(--background-border-color); + + .column-header__back-button.compact { + flex: 0 0 auto; + color: $primary-text-color; + } + + input { + background: transparent; + border: 0; + color: $primary-text-color; + font-size: 16px; + display: block; + flex: 1 1 auto; + + &::placeholder { + color: var(--input-placeholder-color); + opacity: 1; + } + + &:focus { + outline: 0; + } + } +} + +.column-footer { + padding: 16px; +} + +.lists-scrollable { + min-height: 50vh; +} diff --git a/app/javascript/styles/mastodon/forms.scss b/app/javascript/styles/mastodon/forms.scss index 641fb19a577358..69bd1ca9dd3d20 100644 --- a/app/javascript/styles/mastodon/forms.scss +++ b/app/javascript/styles/mastodon/forms.scss @@ -1255,6 +1255,8 @@ code { } .app-form { + padding: 20px; + &__avatar-input, &__header-input { display: block; @@ -1370,4 +1372,55 @@ code { padding-inline-start: 16px; } } + + &__link { + display: flex; + gap: 16px; + padding: 8px 0; + align-items: center; + text-decoration: none; + color: $primary-text-color; + margin-bottom: 16px; + + &__text { + flex: 1 1 auto; + font-size: 14px; + line-height: 20px; + color: $darker-text-color; + + strong { + font-weight: 600; + display: block; + color: $primary-text-color; + } + } + } +} + +.avatar-pile { + display: flex; + align-items: center; + + img { + display: block; + border-radius: 8px; + width: 32px; + height: 32px; + border: 2px solid var(--background-color); + background: var(--surface-background-color); + margin-inline-end: -16px; + transform: rotate(0); + + &:first-child { + transform: rotate(-4deg); + } + + &:nth-child(2) { + transform: rotate(-2deg); + } + + &:last-child { + margin-inline-end: 0; + } + } } diff --git a/app/javascript/styles/mastodon/variables.scss b/app/javascript/styles/mastodon/variables.scss index fe36e166311e81..2036f01affa24e 100644 --- a/app/javascript/styles/mastodon/variables.scss +++ b/app/javascript/styles/mastodon/variables.scss @@ -119,4 +119,5 @@ $font-monospace: 'mastodon-font-monospace' !default; --rich-text-container-color: rgba(87, 24, 60, 100%); --rich-text-text-color: rgba(255, 175, 212, 100%); --rich-text-decorations-color: rgba(128, 58, 95, 100%); + --input-placeholder-color: #{$dark-text-color}; } diff --git a/app/javascript/svg-icons/squiggly_arrow.svg b/app/javascript/svg-icons/squiggly_arrow.svg new file mode 100644 index 00000000000000..ae636d7dfd3ed9 --- /dev/null +++ b/app/javascript/svg-icons/squiggly_arrow.svg @@ -0,0 +1,3 @@ + + + From 4bfb8887bfac0839fd94f57ec76d082d20f4c805 Mon Sep 17 00:00:00 2001 From: Claire Date: Thu, 21 Nov 2024 17:10:07 +0100 Subject: [PATCH 261/357] Fix duplicate notifications in notification groups when using slow mode (#33014) --- .../mastodon/models/notification_group.ts | 32 +++++++++++++++---- .../mastodon/reducers/notification_groups.ts | 11 ++++--- 2 files changed, 33 insertions(+), 10 deletions(-) diff --git a/app/javascript/mastodon/models/notification_group.ts b/app/javascript/mastodon/models/notification_group.ts index 01a341e8dd5423..d98e755aa2cee6 100644 --- a/app/javascript/mastodon/models/notification_group.ts +++ b/app/javascript/mastodon/models/notification_group.ts @@ -17,6 +17,7 @@ export const NOTIFICATIONS_GROUP_MAX_AVATARS = 8; interface BaseNotificationGroup extends Omit { sampleAccountIds: string[]; + partial: boolean; } interface BaseNotificationWithStatus @@ -142,6 +143,7 @@ export function createNotificationGroupFromJSON( return { statusId: statusId ?? undefined, sampleAccountIds, + partial: false, ...groupWithoutStatus, }; } @@ -150,12 +152,14 @@ export function createNotificationGroupFromJSON( return { report: createReportFromJSON(report), sampleAccountIds, + partial: false, ...groupWithoutTargetAccount, }; } case 'severed_relationships': return { ...group, + partial: false, event: createAccountRelationshipSeveranceEventFromJSON(group.event), sampleAccountIds, }; @@ -163,6 +167,7 @@ export function createNotificationGroupFromJSON( const { moderation_warning, ...groupWithoutModerationWarning } = group; return { ...groupWithoutModerationWarning, + partial: false, moderationWarning: createAccountWarningFromJSON(moderation_warning), sampleAccountIds, }; @@ -171,6 +176,7 @@ export function createNotificationGroupFromJSON( const { annual_report, ...groupWithoutAnnualReport } = group; return { ...groupWithoutAnnualReport, + partial: false, annualReport: createAnnualReportEventFromJSON(annual_report), sampleAccountIds, }; @@ -178,6 +184,7 @@ export function createNotificationGroupFromJSON( default: return { sampleAccountIds, + partial: false, ...group, }; } @@ -185,17 +192,17 @@ export function createNotificationGroupFromJSON( export function createNotificationGroupFromNotificationJSON( notification: ApiNotificationJSON, -) { +): NotificationGroup { const group = { sampleAccountIds: [notification.account.id], group_key: notification.group_key, notifications_count: 1, - type: notification.type, most_recent_notification_id: notification.id, page_min_id: notification.id, page_max_id: notification.id, latest_page_notification_at: notification.created_at, - } as NotificationGroup; + partial: true, + }; switch (notification.type) { case 'favourite': @@ -204,12 +211,21 @@ export function createNotificationGroupFromNotificationJSON( case 'mention': case 'poll': case 'update': - return { ...group, statusId: notification.status?.id }; + return { + ...group, + type: notification.type, + statusId: notification.status?.id, + }; case 'admin.report': - return { ...group, report: createReportFromJSON(notification.report) }; + return { + ...group, + type: notification.type, + report: createReportFromJSON(notification.report), + }; case 'severed_relationships': return { ...group, + type: notification.type, event: createAccountRelationshipSeveranceEventFromJSON( notification.event, ), @@ -217,11 +233,15 @@ export function createNotificationGroupFromNotificationJSON( case 'moderation_warning': return { ...group, + type: notification.type, moderationWarning: createAccountWarningFromJSON( notification.moderation_warning, ), }; default: - return group; + return { + ...group, + type: notification.type, + }; } } diff --git a/app/javascript/mastodon/reducers/notification_groups.ts b/app/javascript/mastodon/reducers/notification_groups.ts index 7a165f5fec1297..d43714beb70725 100644 --- a/app/javascript/mastodon/reducers/notification_groups.ts +++ b/app/javascript/mastodon/reducers/notification_groups.ts @@ -534,10 +534,13 @@ export const notificationGroupsReducer = createReducer( if (existingGroupIndex > -1) { const existingGroup = state.groups[existingGroupIndex]; if (existingGroup && existingGroup.type !== 'gap') { - group.notifications_count += existingGroup.notifications_count; - group.sampleAccountIds = group.sampleAccountIds - .concat(existingGroup.sampleAccountIds) - .slice(0, NOTIFICATIONS_GROUP_MAX_AVATARS); + if (group.partial) { + group.notifications_count += + existingGroup.notifications_count; + group.sampleAccountIds = group.sampleAccountIds + .concat(existingGroup.sampleAccountIds) + .slice(0, NOTIFICATIONS_GROUP_MAX_AVATARS); + } state.groups.splice(existingGroupIndex, 1); } } From 68c778294036d9cb6234277c513a13f34f085561 Mon Sep 17 00:00:00 2001 From: Joshix-1 <57299889+Joshix-1@users.noreply.github.com> Date: Thu, 21 Nov 2024 17:39:56 +0100 Subject: [PATCH 262/357] improve nginx.conf by setting gzip_static to on (#30698) --- dist/nginx.conf | 1 + 1 file changed, 1 insertion(+) diff --git a/dist/nginx.conf b/dist/nginx.conf index 5bb99038649019..3ab9bb66a2d2c4 100644 --- a/dist/nginx.conf +++ b/dist/nginx.conf @@ -63,6 +63,7 @@ server { gzip_buffers 16 8k; gzip_http_version 1.1; gzip_types text/plain text/css application/json application/javascript text/xml application/xml application/xml+rss text/javascript image/svg+xml image/x-icon; + gzip_static on; location / { try_files $uri @proxy; From 0518613dd7f821e2106f563128817c5e285008c5 Mon Sep 17 00:00:00 2001 From: Christian Schmidt Date: Fri, 22 Nov 2024 09:00:14 +0100 Subject: [PATCH 263/357] LinkDetailsExtractor adjustments (#31357) --- app/lib/link_details_extractor.rb | 18 ++++++++++++------ app/lib/nokogiri_handler.rb | 4 ++++ spec/lib/link_details_extractor_spec.rb | 8 +++++--- 3 files changed, 21 insertions(+), 9 deletions(-) diff --git a/app/lib/link_details_extractor.rb b/app/lib/link_details_extractor.rb index 56533f65530b6b..fe7f23f481eaf6 100644 --- a/app/lib/link_details_extractor.rb +++ b/app/lib/link_details_extractor.rb @@ -157,7 +157,7 @@ def height end def title - html_entities.decode(structured_data&.headline || opengraph_tag('og:title') || document.xpath('//title').map(&:content).first)&.strip + html_entities.decode(structured_data&.headline || opengraph_tag('og:title') || head.at_xpath('title')&.content)&.strip end def description @@ -205,11 +205,11 @@ def embed_url end def language - valid_locale_or_nil(structured_data&.language || opengraph_tag('og:locale') || document.xpath('//html').pick('lang')) + valid_locale_or_nil(structured_data&.language || opengraph_tag('og:locale') || document.root.attr('lang')) end def icon - valid_url_or_nil(structured_data&.publisher_icon || link_tag('apple-touch-icon') || link_tag('shortcut icon')) + valid_url_or_nil(structured_data&.publisher_icon || link_tag('apple-touch-icon') || link_tag('icon')) end private @@ -237,18 +237,20 @@ def valid_url_or_nil(str, same_origin_only: false) end def link_tag(name) - document.xpath("//link[nokogiri:link_rel_include(@rel, '#{name}')]", NokogiriHandler).pick('href') + head.at_xpath("//link[nokogiri:link_rel_include(@rel, '#{name}')]", NokogiriHandler)&.attr('href') end def opengraph_tag(name) - document.xpath("//meta[@property=\"#{name}\" or @name=\"#{name}\"]").pick('content') + head.at_xpath("//meta[nokogiri:casecmp(@property, '#{name}') or nokogiri:casecmp(@name, '#{name}')]", NokogiriHandler)&.attr('content') end def meta_tag(name) - document.xpath("//meta[@name=\"#{name}\"]").pick('content') + head.at_xpath("//meta[nokogiri:casecmp(@name, '#{name}')]", NokogiriHandler)&.attr('content') end def structured_data + return @structured_data if defined?(@structured_data) + # Some publications have more than one JSON-LD definition on the page, # and some of those definitions aren't valid JSON either, so we have # to loop through here until we find something that is the right type @@ -273,6 +275,10 @@ def document @document ||= detect_encoding_and_parse_document end + def head + @head ||= document.at_xpath('/html/head') + end + def detect_encoding_and_parse_document html = nil encoding = nil diff --git a/app/lib/nokogiri_handler.rb b/app/lib/nokogiri_handler.rb index 804bcb9c043ce3..26cf4579550420 100644 --- a/app/lib/nokogiri_handler.rb +++ b/app/lib/nokogiri_handler.rb @@ -8,5 +8,9 @@ class << self def link_rel_include(token_list, token) token_list.to_s.downcase.split(WHITE_SPACE).include?(token.downcase) end + + def casecmp(str1, str2) + str1.to_s.casecmp?(str2.to_s) + end end end diff --git a/spec/lib/link_details_extractor_spec.rb b/spec/lib/link_details_extractor_spec.rb index d8d9db0ad1bdf6..36d6f22b001f20 100644 --- a/spec/lib/link_details_extractor_spec.rb +++ b/spec/lib/link_details_extractor_spec.rb @@ -49,7 +49,8 @@ Man bites dog - + + HTML @@ -59,7 +60,8 @@ .to have_attributes( title: eq('Man bites dog'), description: eq("A dog's tale"), - language: eq('en') + language: eq('en'), + icon: eq('https://example.com/favicon.ico') ) end end @@ -256,7 +258,7 @@ - + From d75088d69967090bd9c16b6d1f1c06799a70c4f8 Mon Sep 17 00:00:00 2001 From: Eugen Rochko Date: Fri, 22 Nov 2024 09:30:57 +0100 Subject: [PATCH 264/357] Fix pushing hashtag-followed posts to feeds of inactive users (#33018) --- app/models/tag_follow.rb | 2 ++ app/services/fan_out_on_write_service.rb | 2 +- 2 files changed, 3 insertions(+), 1 deletion(-) diff --git a/app/models/tag_follow.rb b/app/models/tag_follow.rb index abe36cd17100f5..528616c4502b98 100644 --- a/app/models/tag_follow.rb +++ b/app/models/tag_follow.rb @@ -21,4 +21,6 @@ class TagFollow < ApplicationRecord accepts_nested_attributes_for :tag rate_limit by: :account, family: :follows + + scope :for_local_distribution, -> { joins(account: :user).merge(User.signed_in_recently) } end diff --git a/app/services/fan_out_on_write_service.rb b/app/services/fan_out_on_write_service.rb index 50b414bc52bf91..3c084bc857be05 100644 --- a/app/services/fan_out_on_write_service.rb +++ b/app/services/fan_out_on_write_service.rb @@ -103,7 +103,7 @@ def deliver_to_all_followers! end def deliver_to_hashtag_followers! - TagFollow.where(tag_id: @status.tags.map(&:id)).select(:id, :account_id).reorder(nil).find_in_batches do |follows| + TagFollow.for_local_distribution.where(tag_id: @status.tags.map(&:id)).select(:id, :account_id).reorder(nil).find_in_batches do |follows| FeedInsertWorker.push_bulk(follows) do |follow| [@status.id, follow.account_id, 'tags', { 'update' => update? }] end From be2d4615ab1095f975306fe50f1d1e94601d9dbb Mon Sep 17 00:00:00 2001 From: Matt Jankowski Date: Fri, 22 Nov 2024 03:31:23 -0500 Subject: [PATCH 265/357] Rely on Rails to enable YJIT when available (#33017) --- config/initializers/enable_yjit.rb | 13 ------------- 1 file changed, 13 deletions(-) delete mode 100644 config/initializers/enable_yjit.rb diff --git a/config/initializers/enable_yjit.rb b/config/initializers/enable_yjit.rb deleted file mode 100644 index 7b1053ec114b7d..00000000000000 --- a/config/initializers/enable_yjit.rb +++ /dev/null @@ -1,13 +0,0 @@ -# frozen_string_literal: true - -# Automatically enable YJIT as of Ruby 3.3, as it brings very -# sizeable performance improvements. - -# If you are deploying to a memory constrained environment -# you may want to delete this file, but otherwise it's free -# performance. -if defined?(RubyVM::YJIT.enable) - Rails.application.config.after_initialize do - RubyVM::YJIT.enable - end -end From 2e5abe4720a972789e2a83b5e44b7ea24cfcd4c3 Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Fri, 22 Nov 2024 08:33:43 +0000 Subject: [PATCH 266/357] Update Yarn to v4.5.2 (#33021) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> --- package.json | 2 +- streaming/package.json | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/package.json b/package.json index f907dc4f6c7d0d..4eb95d438934be 100644 --- a/package.json +++ b/package.json @@ -1,7 +1,7 @@ { "name": "@mastodon/mastodon", "license": "AGPL-3.0-or-later", - "packageManager": "yarn@4.5.1", + "packageManager": "yarn@4.5.2", "engines": { "node": ">=18" }, diff --git a/streaming/package.json b/streaming/package.json index 380f1c429d1ad9..521544f42b7229 100644 --- a/streaming/package.json +++ b/streaming/package.json @@ -1,7 +1,7 @@ { "name": "@mastodon/streaming", "license": "AGPL-3.0-or-later", - "packageManager": "yarn@4.5.1", + "packageManager": "yarn@4.5.2", "engines": { "node": ">=18" }, From 47190087f804b503a558cccd5e2135ff0eaf9e5a Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" <41898282+github-actions[bot]@users.noreply.github.com> Date: Fri, 22 Nov 2024 09:44:09 +0100 Subject: [PATCH 267/357] New Crowdin Translations (automated) (#33020) Co-authored-by: GitHub Actions --- app/javascript/mastodon/locales/af.json | 8 ---- app/javascript/mastodon/locales/an.json | 9 ----- app/javascript/mastodon/locales/ar.json | 10 ----- app/javascript/mastodon/locales/ast.json | 7 ---- app/javascript/mastodon/locales/be.json | 10 ----- app/javascript/mastodon/locales/bg.json | 35 +++++++++++----- app/javascript/mastodon/locales/bn.json | 8 ---- app/javascript/mastodon/locales/br.json | 9 ----- app/javascript/mastodon/locales/ca.json | 10 ----- app/javascript/mastodon/locales/ckb.json | 9 ----- app/javascript/mastodon/locales/co.json | 9 ----- app/javascript/mastodon/locales/cs.json | 10 ----- app/javascript/mastodon/locales/cy.json | 10 ----- app/javascript/mastodon/locales/da.json | 33 ++++++++++----- app/javascript/mastodon/locales/de.json | 34 +++++++++++----- app/javascript/mastodon/locales/el.json | 10 ----- app/javascript/mastodon/locales/en-GB.json | 38 +++++++++++++----- app/javascript/mastodon/locales/eo.json | 10 ----- app/javascript/mastodon/locales/es-AR.json | 10 ----- app/javascript/mastodon/locales/es-MX.json | 10 ----- app/javascript/mastodon/locales/es.json | 10 ----- app/javascript/mastodon/locales/et.json | 10 ----- app/javascript/mastodon/locales/eu.json | 10 ----- app/javascript/mastodon/locales/fa.json | 10 ----- app/javascript/mastodon/locales/fi.json | 34 +++++++++++----- app/javascript/mastodon/locales/fil.json | 8 ---- app/javascript/mastodon/locales/fo.json | 10 ----- app/javascript/mastodon/locales/fr-CA.json | 10 ----- app/javascript/mastodon/locales/fr.json | 10 ----- app/javascript/mastodon/locales/fy.json | 10 ----- app/javascript/mastodon/locales/ga.json | 10 ----- app/javascript/mastodon/locales/gd.json | 10 ----- app/javascript/mastodon/locales/gl.json | 10 ----- app/javascript/mastodon/locales/he.json | 34 +++++++++++----- app/javascript/mastodon/locales/hi.json | 8 ---- app/javascript/mastodon/locales/hr.json | 8 ---- app/javascript/mastodon/locales/hu.json | 10 ----- app/javascript/mastodon/locales/hy.json | 9 ----- app/javascript/mastodon/locales/ia.json | 10 ----- app/javascript/mastodon/locales/id.json | 9 ----- app/javascript/mastodon/locales/ie.json | 10 ----- app/javascript/mastodon/locales/ig.json | 1 - app/javascript/mastodon/locales/io.json | 10 ----- app/javascript/mastodon/locales/is.json | 34 +++++++++++----- app/javascript/mastodon/locales/it.json | 10 ----- app/javascript/mastodon/locales/ja.json | 10 ----- app/javascript/mastodon/locales/ka.json | 6 --- app/javascript/mastodon/locales/kab.json | 10 ----- app/javascript/mastodon/locales/kk.json | 8 ---- app/javascript/mastodon/locales/ko.json | 10 ----- app/javascript/mastodon/locales/ku.json | 9 ----- app/javascript/mastodon/locales/kw.json | 9 ----- app/javascript/mastodon/locales/la.json | 4 -- app/javascript/mastodon/locales/lad.json | 10 ----- app/javascript/mastodon/locales/lt.json | 34 +++++++++++----- app/javascript/mastodon/locales/lv.json | 10 ----- app/javascript/mastodon/locales/ml.json | 8 ---- app/javascript/mastodon/locales/mr.json | 8 ---- app/javascript/mastodon/locales/ms.json | 10 ----- app/javascript/mastodon/locales/my.json | 10 ----- app/javascript/mastodon/locales/nl.json | 34 +++++++++++----- app/javascript/mastodon/locales/nn.json | 10 ----- app/javascript/mastodon/locales/no.json | 10 ----- app/javascript/mastodon/locales/oc.json | 9 ----- app/javascript/mastodon/locales/pa.json | 2 - app/javascript/mastodon/locales/pl.json | 10 ----- app/javascript/mastodon/locales/pt-BR.json | 34 +++++++++++----- app/javascript/mastodon/locales/pt-PT.json | 10 ----- app/javascript/mastodon/locales/ro.json | 9 ----- app/javascript/mastodon/locales/ru.json | 10 ----- app/javascript/mastodon/locales/sa.json | 9 ----- app/javascript/mastodon/locales/sc.json | 10 ----- app/javascript/mastodon/locales/sco.json | 9 ----- app/javascript/mastodon/locales/si.json | 8 ---- app/javascript/mastodon/locales/sk.json | 10 ----- app/javascript/mastodon/locales/sl.json | 42 +++++++++++++++----- app/javascript/mastodon/locales/sq.json | 34 +++++++++++----- app/javascript/mastodon/locales/sr-Latn.json | 10 ----- app/javascript/mastodon/locales/sr.json | 10 ----- app/javascript/mastodon/locales/sv.json | 10 ----- app/javascript/mastodon/locales/ta.json | 8 ---- app/javascript/mastodon/locales/te.json | 8 ---- app/javascript/mastodon/locales/th.json | 10 ----- app/javascript/mastodon/locales/tok.json | 7 ---- app/javascript/mastodon/locales/tr.json | 33 ++++++++++----- app/javascript/mastodon/locales/tt.json | 6 --- app/javascript/mastodon/locales/uk.json | 12 +----- app/javascript/mastodon/locales/ur.json | 1 - app/javascript/mastodon/locales/uz.json | 7 ---- app/javascript/mastodon/locales/vi.json | 34 +++++++++++----- app/javascript/mastodon/locales/zgh.json | 7 ---- app/javascript/mastodon/locales/zh-CN.json | 36 ++++++++++++----- app/javascript/mastodon/locales/zh-HK.json | 10 ----- app/javascript/mastodon/locales/zh-TW.json | 34 +++++++++++----- config/locales/simple_form.zh-CN.yml | 2 +- 95 files changed, 399 insertions(+), 856 deletions(-) diff --git a/app/javascript/mastodon/locales/af.json b/app/javascript/mastodon/locales/af.json index a506b9965442e0..bf84cff111434e 100644 --- a/app/javascript/mastodon/locales/af.json +++ b/app/javascript/mastodon/locales/af.json @@ -154,7 +154,6 @@ "empty_column.hashtag": "Daar is nog niks vir hierdie hutsetiket nie.", "empty_column.home": "Your home timeline is empty! Follow more people to fill it up. {suggestions}", "empty_column.list": "Hierdie lys is nog leeg. Nuwe plasings deur lyslede sal voortaan hier verskyn.", - "empty_column.lists": "Jy het nog geen lyste nie. Wanneer jy een skep, sal dit hier vertoon.", "empty_column.notifications": "Jy het nog geen kennisgewings nie. Interaksie van ander mense met jou, sal hier vertoon.", "explore.search_results": "Soekresultate", "explore.suggested_follows": "Mense", @@ -222,15 +221,8 @@ "limited_account_hint.action": "Vertoon profiel in elk geval", "limited_account_hint.title": "Hierdie profiel is deur moderators van {domain} versteek.", "link_preview.author": "Deur {name}", - "lists.account.add": "Voeg by lys", - "lists.account.remove": "Verwyder vanaf lys", "lists.delete": "Verwyder lys", "lists.edit": "Redigeer lys", - "lists.edit.submit": "Verander titel", - "lists.new.create": "Voeg lys by", - "lists.new.title_placeholder": "Nuwe lys titel", - "lists.search": "Soek tussen mense wat jy volg", - "lists.subheading": "Jou lyste", "moved_to_account_banner.text": "Jou rekening {disabledAccount} is tans gedeaktiveer omdat jy na {movedToAccount} verhuis het.", "navigation_bar.about": "Oor", "navigation_bar.bookmarks": "Boekmerke", diff --git a/app/javascript/mastodon/locales/an.json b/app/javascript/mastodon/locales/an.json index be303985ee2fee..11be07e9900cef 100644 --- a/app/javascript/mastodon/locales/an.json +++ b/app/javascript/mastodon/locales/an.json @@ -186,7 +186,6 @@ "empty_column.hashtag": "No i hai cosa en este hashtag encara.", "empty_column.home": "La tuya linia temporal ye vueda! Sigue a mas personas pa replenar-la. {suggestions}", "empty_column.list": "No i hai cosa en esta lista encara. Quan miembros d'esta lista publiquen nuevos estatus, estes amaneixerán qui.", - "empty_column.lists": "No tiens garra lista. Quan en crees una, s'amostrará aquí.", "empty_column.mutes": "Encara no has silenciau a garra usuario.", "empty_column.notifications": "No tiens garra notificación encara. Interactúa con atros pa empecipiar una conversación.", "empty_column.public": "No i hai cosa aquí! Escribe bella cosa publicament, u sigue usuarios d'atras instancias manualment pa emplir-lo", @@ -292,19 +291,11 @@ "lightbox.previous": "Anterior", "limited_account_hint.action": "Amostrar perfil de totz modos", "limited_account_hint.title": "Este perfil ha estau amagau per los moderadors de {domain}.", - "lists.account.add": "Anyadir a lista", - "lists.account.remove": "Sacar de lista", "lists.delete": "Borrar lista", "lists.edit": "Editar lista", - "lists.edit.submit": "Cambiar titol", - "lists.new.create": "Anyadir lista", - "lists.new.title_placeholder": "Titol d'a nueva lista", "lists.replies_policy.followed": "Qualsequier usuario seguiu", "lists.replies_policy.list": "Miembros d'a lista", "lists.replies_policy.none": "Dengún", - "lists.replies_policy.title": "Amostrar respuestas a:", - "lists.search": "Buscar entre la chent a la quala sigues", - "lists.subheading": "Las tuyas listas", "load_pending": "{count, plural, one {# nuevo elemento} other {# nuevos elementos}}", "moved_to_account_banner.text": "La tuya cuenta {disabledAccount} ye actualment deshabilitada perque t'has mudau a {movedToAccount}.", "navigation_bar.about": "Sobre", diff --git a/app/javascript/mastodon/locales/ar.json b/app/javascript/mastodon/locales/ar.json index 7892766d87d0ea..f17d3dae22d9ac 100644 --- a/app/javascript/mastodon/locales/ar.json +++ b/app/javascript/mastodon/locales/ar.json @@ -269,7 +269,6 @@ "empty_column.hashtag": "ليس هناك بعدُ أي محتوى ذو علاقة بهذا الوسم.", "empty_column.home": "إنّ الخيط الزمني لصفحتك الرئيسة فارغ. قم بمتابعة المزيد من الناس كي يمتلأ.", "empty_column.list": "هذه القائمة فارغة مؤقتا و لكن سوف تمتلئ تدريجيا عندما يبدأ الأعضاء المُنتَمين إليها بنشر منشورات.", - "empty_column.lists": "ليس عندك أية قائمة بعد. سوف تظهر قوائمك هنا إن قمت بإنشاء واحدة.", "empty_column.mutes": "لم تقم بكتم أي مستخدم بعد.", "empty_column.notification_requests": "لا يوجد شيء هنا. عندما تتلقى إشعارات جديدة، سوف تظهر هنا وفقًا لإعداداتك.", "empty_column.notifications": "لم تتلق أي إشعار بعدُ. تفاعل مع المستخدمين الآخرين لإنشاء محادثة.", @@ -425,20 +424,11 @@ "limited_account_hint.title": "تم إخفاء هذا الملف الشخصي من قبل مشرفي {domain}.", "link_preview.author": "مِن {name}", "link_preview.more_from_author": "المزيد من {name}", - "lists.account.add": "أضف إلى القائمة", - "lists.account.remove": "احذف من القائمة", "lists.delete": "احذف القائمة", "lists.edit": "عدّل القائمة", - "lists.edit.submit": "تعديل العنوان", - "lists.exclusive": "إخفاء هذه المنشورات من الخيط الرئيسي", - "lists.new.create": "إضافة قائمة", - "lists.new.title_placeholder": "عنوان القائمة الجديدة", "lists.replies_policy.followed": "أي مستخدم متابَع", "lists.replies_policy.list": "أعضاء القائمة", "lists.replies_policy.none": "لا أحد", - "lists.replies_policy.title": "عرض الردود لـ:", - "lists.search": "إبحث في قائمة الحسابات التي تُتابِعها", - "lists.subheading": "قوائمك", "load_pending": "{count, plural, one {# عنصر جديد} other {# عناصر جديدة}}", "loading_indicator.label": "جاري التحميل…", "media_gallery.hide": "إخفاء", diff --git a/app/javascript/mastodon/locales/ast.json b/app/javascript/mastodon/locales/ast.json index e5b1168bea00b2..e6659510d2049f 100644 --- a/app/javascript/mastodon/locales/ast.json +++ b/app/javascript/mastodon/locales/ast.json @@ -155,7 +155,6 @@ "empty_column.hashtag": "Entá nun hai nada con esta etiqueta.", "empty_column.home": "¡La to llinia de tiempu ta balera! Sigui a cuentes pa enllenala.", "empty_column.list": "Nun hai nada nesta llista. Cuando los perfiles d'esta llista espublicen artículos nuevos, apaecen equí.", - "empty_column.lists": "Nun tienes nenguna llista. Cuando crees dalguna, apaez equí.", "empty_column.mutes": "Nun tienes nengún perfil colos avisos desactivaos.", "empty_column.notifications": "Nun tienes nengún avisu. Cuando otros perfiles interactúen contigo, apaez equí.", "empty_column.public": "¡Equí nun hai nada! Escribi daqué públicamente o sigui a perfiles d'otros sirvidores pa enllenar esta seición", @@ -260,15 +259,9 @@ "limited_account_hint.action": "Amosar el perfil de toes toes", "lists.delete": "Desaniciar la llista", "lists.edit": "Editar la llista", - "lists.edit.submit": "Camudar el títulu", - "lists.new.create": "Amestar la llista", - "lists.new.title_placeholder": "Títulu", "lists.replies_policy.followed": "Cualesquier perfil siguíu", "lists.replies_policy.list": "Perfiles de la llista", "lists.replies_policy.none": "Naide", - "lists.replies_policy.title": "Amosar les rempuestes a:", - "lists.search": "Buscar ente los perfiles que sigues", - "lists.subheading": "Les tos llistes", "load_pending": "{count, plural, one {# elementu nuevu} other {# elementos nuevos}}", "navigation_bar.about": "Tocante a", "navigation_bar.blocks": "Perfiles bloquiaos", diff --git a/app/javascript/mastodon/locales/be.json b/app/javascript/mastodon/locales/be.json index 06d86a0e85cb87..26a42ebc690dfc 100644 --- a/app/javascript/mastodon/locales/be.json +++ b/app/javascript/mastodon/locales/be.json @@ -273,7 +273,6 @@ "empty_column.hashtag": "Па гэтаму хэштэгу пакуль што нічога няма.", "empty_column.home": "Галоўная стужка пустая! Падпішыцеся на іншых людзей, каб запоўніць яе. {suggestions}", "empty_column.list": "У гэтым спісе пакуль што нічога няма. Калі члены лісту апублікуюць новыя запісы, яны з'явяцца тут.", - "empty_column.lists": "Як толькі вы створыце новы спіс ён будзе захоўвацца тут, але пакуль што тут пуста.", "empty_column.mutes": "Вы яшчэ нікога не ігнаруеце.", "empty_column.notification_requests": "Чысціня! Тут нічога няма. Калі вы будзеце атрымліваць новыя апавяшчэння, яны будуць з'яўляцца тут у адпаведнасці з вашымі наладамі.", "empty_column.notifications": "У вас няма ніякіх апавяшчэнняў. Калі іншыя людзі ўзаемадзейнічаюць з вамі, вы ўбачыце гэта тут.", @@ -427,20 +426,11 @@ "link_preview.author": "Ад {name}", "link_preview.more_from_author": "Больш ад {name}", "link_preview.shares": "{count, plural, one {{counter} допіс} few {{counter} допісы} many {{counter} допісаў} other {{counter} допісу}}", - "lists.account.add": "Дадаць да спісу", - "lists.account.remove": "Выдаліць са спісу", "lists.delete": "Выдаліць спіс", "lists.edit": "Рэдагаваць спіс", - "lists.edit.submit": "Змяніць назву", - "lists.exclusive": "Схаваць гэтыя допісы з галоўнай старонкі", - "lists.new.create": "Дадаць спіс", - "lists.new.title_placeholder": "Назва новага спіса", "lists.replies_policy.followed": "Любы карыстальнік, на якога вы падпісаліся", "lists.replies_policy.list": "Удзельнікі гэтага спісу", "lists.replies_policy.none": "Нікога", - "lists.replies_policy.title": "Паказваць адказы:", - "lists.search": "Шукайце сярод людзей, на якіх Вы падпісаны", - "lists.subheading": "Вашыя спісы", "load_pending": "{count, plural, one {# новы элемент} few {# новыя элементы} many {# новых элементаў} other {# новых элементаў}}", "loading_indicator.label": "Загрузка…", "media_gallery.hide": "Схаваць", diff --git a/app/javascript/mastodon/locales/bg.json b/app/javascript/mastodon/locales/bg.json index 456247cedfaed8..32d61423d6e502 100644 --- a/app/javascript/mastodon/locales/bg.json +++ b/app/javascript/mastodon/locales/bg.json @@ -139,13 +139,16 @@ "column.blocks": "Блокирани потребители", "column.bookmarks": "Отметки", "column.community": "Локален инфопоток", + "column.create_list": "Създаване на списък", "column.direct": "Частни споменавания", "column.directory": "Разглеждане на профили", "column.domain_blocks": "Блокирани домейни", + "column.edit_list": "Промяна на списъка", "column.favourites": "Любими", "column.firehose": "Инфоканали на живо", "column.follow_requests": "Заявки за последване", "column.home": "Начало", + "column.list_members": "Управление на списъка с участници", "column.lists": "Списъци", "column.mutes": "Заглушени потребители", "column.notifications": "Известия", @@ -289,7 +292,6 @@ "empty_column.hashtag": "Още няма нищо в този хаштаг.", "empty_column.home": "Вашата начална часова ос е празна! Последвайте повече хора, за да я запълните. {suggestions}", "empty_column.list": "Все още списъкът е празен. Членуващите на списъка, публикуващи нови публикации, ще се появят тук.", - "empty_column.lists": "Все още нямате списъци. Когато създадете такъв, той ще се покаже тук.", "empty_column.mutes": "Още не сте заглушавали потребители.", "empty_column.notification_requests": "Всичко е чисто! Тук няма нищо. Получавайки нови известия, те ще се появят тук според настройките ви.", "empty_column.notifications": "Все още нямате известия. Взаимодействайте с другите, за да започнете разговора.", @@ -389,10 +391,16 @@ "ignore_notifications_modal.disclaimer": "Mastodon не може да осведоми потребители, че сте пренебрегнали известията им. Пренебрегването на известията няма да спре самите съобщения да не бъдат изпращани.", "ignore_notifications_modal.filter_to_act_users": "Вие все още ще може да приемате, отхвърляте или докладвате потребители", "ignore_notifications_modal.filter_to_avoid_confusion": "Прецеждането помага за избягване на възможно объркване", + "ignore_notifications_modal.ignore": "Пренебрегване на известията", + "ignore_notifications_modal.limited_accounts_title": "Пренебрегвате ли известията от модерирани акаунти?", + "ignore_notifications_modal.new_accounts_title": "Пренебрегвате ли известията от нови акаунти?", + "ignore_notifications_modal.not_followers_title": "Пренебрегвате ли известията от хора, които не са ви последвали?", + "ignore_notifications_modal.not_following_title": "Пренебрегвате ли известията от хора, които не сте последвали?", "interaction_modal.description.favourite": "Имайки акаунт в Mastodon, може да сложите тази публикации в любими, за да позволите на автора да узнае, че я цените и да я запазите за по-късно.", "interaction_modal.description.follow": "С акаунт в Mastodon може да последвате {name}, за да получавате публикациите от този акаунт в началния си инфоканал.", "interaction_modal.description.reblog": "С акаунт в Mastodon може да подсилите тази публикация, за да я споделите с последователите си.", "interaction_modal.description.reply": "С акаунт в Mastodon може да добавите отговор към тази публикация.", + "interaction_modal.description.vote": "Имайки акаунт в Mastodon, можете да гласувате в тази анкета.", "interaction_modal.login.action": "Към началото", "interaction_modal.login.prompt": "Домейнът на сървъра ви, примерно, mastodon.social", "interaction_modal.no_account_yet": "Още не е в Мастодон?", @@ -452,20 +460,22 @@ "link_preview.author": "От {name}", "link_preview.more_from_author": "Още от {name}", "link_preview.shares": "{count, plural, one {{counter} публикация} other {{counter} публикации}}", - "lists.account.add": "Добавяне към списък", - "lists.account.remove": "Премахване от списъка", + "lists.create_list": "Създаване на списък", "lists.delete": "Изтриване на списъка", + "lists.done": "Готово", "lists.edit": "Промяна на списъка", - "lists.edit.submit": "Промяна на заглавие", - "lists.exclusive": "Скриване на тези публикации от началото", - "lists.new.create": "Добавяне на списък", - "lists.new.title_placeholder": "Ново заглавие на списъка", + "lists.find_users_to_add": "Намерете потребители за добавяне", + "lists.list_members": "Списък членуващи", + "lists.list_name": "Име на списък", + "lists.no_lists_yet": "Още няма списъци.", + "lists.no_members_yet": "Още няма членуващи.", + "lists.no_results_found": "Няма намерени резултати.", + "lists.remove_member": "Премахване", "lists.replies_policy.followed": "Някой последван потребител", "lists.replies_policy.list": "Членуващите в списъка", "lists.replies_policy.none": "Никого", - "lists.replies_policy.title": "Показване на отговори на:", - "lists.search": "Търсене измежду последваните", - "lists.subheading": "Вашите списъци", + "lists.save": "Запазване", + "lists.search_placeholder": "Търсене сред, които сте последвали", "load_pending": "{count, plural, one {# нов елемент} other {# нови елемента}}", "loading_indicator.label": "Зареждане…", "media_gallery.hide": "Скриване", @@ -596,6 +606,7 @@ "notifications.permission_required": "Известията на работния плот ги няма, щото няма дадено нужното позволение.", "notifications.policy.accept": "Приемам", "notifications.policy.accept_hint": "Показване в известия", + "notifications.policy.drop_hint": "Изпращане в празнотата, за да не се видим никога пак", "notifications.policy.filter": "Филтър", "notifications.policy.filter_limited_accounts_hint": "Ограничено от модераторите на сървъра", "notifications.policy.filter_limited_accounts_title": "Модерирани акаунти", @@ -855,6 +866,10 @@ "upload_form.audio_description": "Опишете за хора, които са глухи или трудно чуват", "upload_form.description": "Опишете за хора, които са слепи или имат слабо зрение", "upload_form.drag_and_drop.instructions": "Натиснете интервал или enter, за да подберете мултимедийно прикачване. Провлачвайки, ползвайте клавишите със стрелки, за да премествате мултимедията във всяка дадена посока. Натиснете пак интервал или enter, за да се стовари мултимедийното прикачване в новото си положение или натиснете Esc за отмяна.", + "upload_form.drag_and_drop.on_drag_cancel": "Провлачването е отменено. Мултимедийното прикачване {item} е спуснато.", + "upload_form.drag_and_drop.on_drag_end": "Мултимедийното прикачване {item} е спуснато.", + "upload_form.drag_and_drop.on_drag_over": "Мултимедийното прикачване {item} е преместено.", + "upload_form.drag_and_drop.on_drag_start": "Избрано мултимедийно прикачване {item}.", "upload_form.edit": "Редактиране", "upload_form.thumbnail": "Промяна на миниобраза", "upload_form.video_description": "Опишете за хора, които са глухи или трудно чуват, слепи или имат слабо зрение", diff --git a/app/javascript/mastodon/locales/bn.json b/app/javascript/mastodon/locales/bn.json index 9512f6a92b3400..03f59e1db48667 100644 --- a/app/javascript/mastodon/locales/bn.json +++ b/app/javascript/mastodon/locales/bn.json @@ -202,7 +202,6 @@ "empty_column.hashtag": "এই হেসটাগে এখনো কিছু নেই।", "empty_column.home": "আপনার বাড়ির সময়রেখা এখনো খালি! {public} এ ঘুরে আসুন অথবা অনুসন্ধান বেবহার করে শুরু করতে পারেন এবং অন্য ব্যবহারকারীদের সাথে সাক্ষাৎ করতে পারেন।", "empty_column.list": "এই তালিকাতে এখনো কিছু নেই. যখন এই তালিকায় থাকা ব্যবহারকারী নতুন কিছু লিখবে, সেগুলো এখানে পাওয়া যাবে।", - "empty_column.lists": "আপনার এখনো কোনো তালিকা তৈরী নেই। যদি বা যখন তৈরী করেন, সেগুলো এখানে পাওয়া যাবে।", "empty_column.mutes": "আপনি এখনো কোনো ব্যবহারকারীকে নিঃশব্দ করেননি।", "empty_column.notifications": "আপনার এখনো কোনো প্রজ্ঞাপন নেই। কথোপকথন শুরু করতে, অন্যদের সাথে মেলামেশা করতে পারেন।", "empty_column.public": "এখানে এখনো কিছু নেই! প্রকাশ্য ভাবে কিছু লিখুন বা অন্য সার্ভার থেকে কাওকে অনুসরণ করে এই জায়গা ভরে ফেলুন", @@ -277,16 +276,9 @@ "lightbox.next": "পরবর্তী", "lightbox.previous": "পূর্ববর্তী", "link_preview.author": "{name} এর লিখা", - "lists.account.add": "তালিকাতে যুক্ত করতে", - "lists.account.remove": "তালিকা থেকে বাদ দিতে", "lists.delete": "তালিকা মুছে ফেলতে", "lists.edit": "তালিকা সম্পাদনা করতে", - "lists.edit.submit": "শিরোনাম সম্পাদনা করতে", - "lists.new.create": "তালিকাতে যুক্ত করতে", - "lists.new.title_placeholder": "তালিকার নতুন শিরোনাম দিতে", "lists.replies_policy.none": "কেউ না", - "lists.search": "যাদের অনুসরণ করেন তাদের ভেতরে খুঁজুন", - "lists.subheading": "আপনার তালিকা", "load_pending": "{count, plural, one {# নতুন জিনিস} other {# নতুন জিনিস}}", "navigation_bar.about": "পরিচিতি", "navigation_bar.blocks": "বন্ধ করা ব্যবহারকারী", diff --git a/app/javascript/mastodon/locales/br.json b/app/javascript/mastodon/locales/br.json index 13ca521ab07fd3..da99874f0bef51 100644 --- a/app/javascript/mastodon/locales/br.json +++ b/app/javascript/mastodon/locales/br.json @@ -223,7 +223,6 @@ "empty_column.hashtag": "N'eus netra en hashtag-mañ c'hoazh.", "empty_column.home": "Goullo eo ho red-amzer degemer! Kit da weladenniñ {public} pe implijit ar c'hlask evit kregiñ ganti ha kejañ gant implijer·ien·ezed all.", "empty_column.list": "Goullo eo al listenn-mañ evit c'hoazh. Pa vo embannet toudoù nevez gant e izili e teuint war wel amañ.", - "empty_column.lists": "N'ho peus roll ebet c'hoazh. Pa vo krouet unan ganeoc'h e vo diskouezet amañ.", "empty_column.mutes": "N'ho peus kuzhet implijer ebet c'hoazh.", "empty_column.notifications": "N'ho peus kemenn ebet c'hoazh. Grit gant implijer·ezed·ien all evit loc'hañ ar gomz.", "empty_column.public": "N'eus netra amañ! Skrivit un dra bennak foran pe heuilhit implijer·ien·ezed eus dafariadoù all evit leuniañ", @@ -346,19 +345,11 @@ "limited_account_hint.action": "Diskouez an aelad memes tra", "limited_account_hint.title": "Kuzhet eo bet ar profil-mañ gant an evezhierien eus {domain}.", "link_preview.author": "Gant {name}", - "lists.account.add": "Ouzhpennañ d'al listenn", - "lists.account.remove": "Lemel kuit eus al listenn", "lists.delete": "Dilemel al listenn", "lists.edit": "Kemmañ al listenn", - "lists.edit.submit": "Cheñch an titl", - "lists.new.create": "Ouzhpennañ ul listenn", - "lists.new.title_placeholder": "Titl nevez al listenn", "lists.replies_policy.followed": "Pep implijer.ez heuliet", "lists.replies_policy.list": "Izili ar roll", "lists.replies_policy.none": "Den ebet", - "lists.replies_policy.title": "Diskouez ar respontoù:", - "lists.search": "Klask e-touez tud heuliet ganeoc'h", - "lists.subheading": "Ho listennoù", "load_pending": "{count, plural, one {# dra nevez} other {# dra nevez}}", "loading_indicator.label": "O kargañ…", "navigation_bar.about": "Diwar-benn", diff --git a/app/javascript/mastodon/locales/ca.json b/app/javascript/mastodon/locales/ca.json index 53bfc4474cc5a7..fc100d7c01bf0d 100644 --- a/app/javascript/mastodon/locales/ca.json +++ b/app/javascript/mastodon/locales/ca.json @@ -286,7 +286,6 @@ "empty_column.hashtag": "Encara no hi ha res en aquesta etiqueta.", "empty_column.home": "La teva línia de temps és buida! Segueix més gent per a emplenar-la. {suggestions}", "empty_column.list": "Encara no hi ha res en aquesta llista. Quan els membres facin nous tuts, apareixeran aquí.", - "empty_column.lists": "Encara no tens cap llista. Quan en facis una, apareixerà aquí.", "empty_column.mutes": "Encara no has silenciat cap usuari.", "empty_column.notification_requests": "Tot net, ja no hi ha res aquí! Quan rebeu notificacions noves, segons la vostra configuració, apareixeran aquí.", "empty_column.notifications": "Encara no tens notificacions. Quan altre gent interactuï amb tu, les veuràs aquí.", @@ -459,20 +458,11 @@ "link_preview.author": "Per {name}", "link_preview.more_from_author": "Més de {name}", "link_preview.shares": "{count, plural, one {{counter} publicació} other {{counter} publicacions}}", - "lists.account.add": "Afegeix a la llista", - "lists.account.remove": "Elimina de la llista", "lists.delete": "Elimina la llista", "lists.edit": "Edita la llista", - "lists.edit.submit": "Canvia el títol", - "lists.exclusive": "Amaga aquests tuts a Inici", - "lists.new.create": "Afegeix una llista", - "lists.new.title_placeholder": "Nou títol de la llista", "lists.replies_policy.followed": "Qualsevol usuari que segueixis", "lists.replies_policy.list": "Membres de la llista", "lists.replies_policy.none": "Ningú", - "lists.replies_policy.title": "Mostra respostes a:", - "lists.search": "Cerca entre les persones que segueixes", - "lists.subheading": "Les teves llistes", "load_pending": "{count, plural, one {# element nou} other {# elements nous}}", "loading_indicator.label": "Es carrega…", "media_gallery.hide": "Amaga", diff --git a/app/javascript/mastodon/locales/ckb.json b/app/javascript/mastodon/locales/ckb.json index 469cf4410d96c6..292aefb4cf9dbb 100644 --- a/app/javascript/mastodon/locales/ckb.json +++ b/app/javascript/mastodon/locales/ckb.json @@ -221,7 +221,6 @@ "empty_column.hashtag": "هێشتا هیچ شتێک لەم هاشتاگەدا نییە.", "empty_column.home": "تایم لاینی ماڵەوەت بەتاڵە! سەردانی {public} بکە یان گەڕان بەکاربێنە بۆ دەستپێکردن و بینینی بەکارهێنەرانی تر.", "empty_column.list": "هێشتا هیچ شتێک لەم لیستەدا نییە. کاتێک ئەندامانی ئەم لیستە دەنگی نوێ بڵاودەکەن، لێرە دەردەکەون.", - "empty_column.lists": "تۆ هێشتا هیچ لیستت دروست نەکردووە، کاتێک دانەیەک دروست دەکەیت، لێرە پیشان دەدرێت.", "empty_column.mutes": "تۆ هێشتا هیچ بەکارهێنەرێکت بێدەنگ نەکردووە.", "empty_column.notifications": "تۆ هێشتا هیچ ئاگانامێکت نیە. چالاکی لەگەڵ کەسانی دیکە بکە بۆ دەستپێکردنی گفتوگۆکە.", "empty_column.public": "لێرە هیچ نییە! شتێک بە ئاشکرا بنووسە(بەگشتی)، یان بە دەستی شوێن بەکارهێنەران بکەوە لە ڕاژەکانی ترەوە بۆ پڕکردنەوەی", @@ -338,19 +337,11 @@ "lightbox.previous": "پێشوو", "limited_account_hint.action": "بەهەر حاڵ پڕۆفایلی پیشان بدە", "limited_account_hint.title": "ئەم پرۆفایلە لەلایەن بەڕێوەبەرانی {domain} شاراوەتەوە.", - "lists.account.add": "زیادکردن بۆ لیست", - "lists.account.remove": "لابردن لە لیست", "lists.delete": "سڕینەوەی لیست", "lists.edit": "دەستکاری لیست", - "lists.edit.submit": "گۆڕینی ناونیشان", - "lists.new.create": "زیادکردنی لیست", - "lists.new.title_placeholder": "ناونیشانی لیستی نوێ", "lists.replies_policy.followed": "هەر بەکارهێنەرێکی بەدواکەوتوو", "lists.replies_policy.list": "ئەندامانی لیستەکە", "lists.replies_policy.none": "هیچکەس", - "lists.replies_policy.title": "پیشاندانی وەڵامەکان بۆ:", - "lists.search": "بگەڕێ لەناو ئەو کەسانەی کە شوێنیان کەوتویت", - "lists.subheading": "لیستەکانت", "load_pending": "{count, plural, one {# بەڕگەی نوێ} other {# بەڕگەی نوێ}}", "moved_to_account_banner.text": "ئەکاونتەکەت {disabledAccount} لە ئێستادا لەکارخراوە چونکە تۆ چوویتە {movedToAccount}.", "navigation_bar.about": "دەربارە", diff --git a/app/javascript/mastodon/locales/co.json b/app/javascript/mastodon/locales/co.json index 043061769befe3..033f3fc80bd2ce 100644 --- a/app/javascript/mastodon/locales/co.json +++ b/app/javascript/mastodon/locales/co.json @@ -132,7 +132,6 @@ "empty_column.hashtag": "Ùn c'hè ancu nunda quì.", "empty_column.home": "A vostr'accolta hè viota! Pudete andà nant'à {public} o pruvà a ricerca per truvà parsone da siguità.", "empty_column.list": "Ùn c'hè ancu nunda quì. Quandu membri di sta lista manderanu novi statuti, i vidarete quì.", - "empty_column.lists": "Ùn avete manc'una lista. Quandu farete una, sarà mustrata quì.", "empty_column.mutes": "Per avà ùn avete manc'un utilizatore piattatu.", "empty_column.notifications": "Ùn avete ancu nisuna nutificazione. Interact with others to start the conversation.", "empty_column.public": "Ùn c'hè nunda quì! Scrivete qualcosa in pubblicu o seguitate utilizatori d'altri servori per empie a linea pubblica", @@ -198,19 +197,11 @@ "lightbox.close": "Chjudà", "lightbox.next": "Siguente", "lightbox.previous": "Pricidente", - "lists.account.add": "Aghjunghje à a lista", - "lists.account.remove": "Toglie di a lista", "lists.delete": "Toglie a lista", "lists.edit": "Mudificà a lista", - "lists.edit.submit": "Cambià u titulu", - "lists.new.create": "Aghjunghje", - "lists.new.title_placeholder": "Titulu di a lista", "lists.replies_policy.followed": "Tutti i vostri abbunamenti", "lists.replies_policy.list": "Membri di a lista", "lists.replies_policy.none": "Nimu", - "lists.replies_policy.title": "Vede e risposte à:", - "lists.search": "Circà indè i vostr'abbunamenti", - "lists.subheading": "E vo liste", "load_pending": "{count, plural, one {# entrata nova} other {# entrate nove}}", "navigation_bar.blocks": "Utilizatori bluccati", "navigation_bar.bookmarks": "Segnalibri", diff --git a/app/javascript/mastodon/locales/cs.json b/app/javascript/mastodon/locales/cs.json index 7198bcab580c18..89db6c5cb31e8b 100644 --- a/app/javascript/mastodon/locales/cs.json +++ b/app/javascript/mastodon/locales/cs.json @@ -267,7 +267,6 @@ "empty_column.hashtag": "Pod tímto hashtagem zde zatím nic není.", "empty_column.home": "Vaše domovská časová osa je prázdná! Naplňte ji sledováním dalších lidí.", "empty_column.list": "V tomto seznamu zatím nic není. Až nějaký člen z tohoto seznamu zveřejní nový příspěvek, objeví se zde.", - "empty_column.lists": "Zatím nemáte žádné seznamy. Až nějaký vytvoříte, zobrazí se zde.", "empty_column.mutes": "Zatím jste neskryli žádného uživatele.", "empty_column.notification_requests": "Vyčištěno! Nic tu není. Jakmile obdržíš nové notifikace, objeví se zde podle tvého nastavení.", "empty_column.notifications": "Zatím nemáte žádná oznámení. Až s vámi někdo bude interagovat, uvidíte to zde.", @@ -415,20 +414,11 @@ "link_preview.author": "Podle {name}", "link_preview.more_from_author": "Více od {name}", "link_preview.shares": "{count, plural, one {{counter} příspěvek} few {{counter} příspěvky} many {{counter} příspěvků} other {{counter} příspěvků}}", - "lists.account.add": "Přidat do seznamu", - "lists.account.remove": "Odebrat ze seznamu", "lists.delete": "Smazat seznam", "lists.edit": "Upravit seznam", - "lists.edit.submit": "Změnit název", - "lists.exclusive": "Skrýt tyto příspěvky z domovské stránky", - "lists.new.create": "Přidat seznam", - "lists.new.title_placeholder": "Název nového seznamu", "lists.replies_policy.followed": "Sledovaným uživatelům", "lists.replies_policy.list": "Členům seznamu", "lists.replies_policy.none": "Nikomu", - "lists.replies_policy.title": "Odpovědi zobrazovat:", - "lists.search": "Hledejte mezi lidmi, které sledujete", - "lists.subheading": "Vaše seznamy", "load_pending": "{count, plural, one {# nová položka} few {# nové položky} many {# nových položek} other {# nových položek}}", "loading_indicator.label": "Načítání…", "moved_to_account_banner.text": "Váš účet {disabledAccount} je momentálně deaktivován, protože jste se přesunul/a na {movedToAccount}.", diff --git a/app/javascript/mastodon/locales/cy.json b/app/javascript/mastodon/locales/cy.json index 1fa17e56eaf1a3..c4f79da43a33ce 100644 --- a/app/javascript/mastodon/locales/cy.json +++ b/app/javascript/mastodon/locales/cy.json @@ -292,7 +292,6 @@ "empty_column.hashtag": "Nid oes dim ar yr hashnod hwn eto.", "empty_column.home": "Mae eich ffrwd gartref yn wag! Dilynwch fwy o bobl i'w llenwi.", "empty_column.list": "Does dim yn y rhestr yma eto. Pan fydd aelodau'r rhestr yn cyhoeddi postiad newydd, mi fydd yn ymddangos yma.", - "empty_column.lists": "Nid oes gennych unrhyw restrau eto. Pan fyddwch yn creu un, mi fydd yn ymddangos yma.", "empty_column.mutes": "Nid ydych wedi tewi unrhyw ddefnyddwyr eto.", "empty_column.notification_requests": "Dim i boeni amdano! Does dim byd yma. Pan fyddwch yn derbyn hysbysiadau newydd, byddan nhw'n ymddangos yma yn ôl eich gosodiadau.", "empty_column.notifications": "Nid oes gennych unrhyw hysbysiadau eto. Rhyngweithiwch ag eraill i ddechrau'r sgwrs.", @@ -465,20 +464,11 @@ "link_preview.author": "Gan {name}", "link_preview.more_from_author": "Mwy gan {name}", "link_preview.shares": "{count, plural, one {{counter} postiad } two {{counter} bostiad } few {{counter} postiad} many {{counter} postiad} other {{counter} postiad}}", - "lists.account.add": "Ychwanegu at restr", - "lists.account.remove": "Tynnu o'r rhestr", "lists.delete": "Dileu rhestr", "lists.edit": "Golygu rhestr", - "lists.edit.submit": "Newid teitl", - "lists.exclusive": "Cuddio'r postiadau hyn o'r ffrwd gartref", - "lists.new.create": "Ychwanegu rhestr", - "lists.new.title_placeholder": "Teitl rhestr newydd", "lists.replies_policy.followed": "Unrhyw ddefnyddiwr sy'n cael ei ddilyn", "lists.replies_policy.list": "Aelodau'r rhestr", "lists.replies_policy.none": "Neb", - "lists.replies_policy.title": "Dangos atebion i:", - "lists.search": "Chwilio ymysg pobl rydych yn eu dilyn", - "lists.subheading": "Eich rhestrau", "load_pending": "{count, plural, one {# eitem newydd} other {# eitem newydd}}", "loading_indicator.label": "Yn llwytho…", "media_gallery.hide": "Cuddio", diff --git a/app/javascript/mastodon/locales/da.json b/app/javascript/mastodon/locales/da.json index 4ba1f4d9e19194..9f0f27b804a760 100644 --- a/app/javascript/mastodon/locales/da.json +++ b/app/javascript/mastodon/locales/da.json @@ -140,13 +140,16 @@ "column.blocks": "Blokerede brugere", "column.bookmarks": "Bogmærker", "column.community": "Lokal tidslinje", + "column.create_list": "Opret liste", "column.direct": "Private omtaler", "column.directory": "Tjek profiler", "column.domain_blocks": "Blokerede domæner", + "column.edit_list": "Redigér liste", "column.favourites": "Favoritter", "column.firehose": "Live feeds", "column.follow_requests": "Følgeanmodninger", "column.home": "Hjem", + "column.list_members": "Håndtér listemedlemmer", "column.lists": "Lister", "column.mutes": "Skjulte brugere (mutede)", "column.notifications": "Notifikationer", @@ -292,7 +295,6 @@ "empty_column.hashtag": "Der er intet med dette hashtag endnu.", "empty_column.home": "Din hjemmetidslinje er tom! Følg nogle personer, for at udfylde den. {suggestions}", "empty_column.list": "Der er ikke noget på denne liste endnu. Når medlemmer af listen udgiver nye indlæg vil de fremgå hér.", - "empty_column.lists": "Du har endnu ingen lister. Når du opretter én, vil den fremgå hér.", "empty_column.mutes": "Du har endnu ikke skjult (muted) nogle brugere.", "empty_column.notification_requests": "Alt er klar! Der er intet her. Når der modtages nye notifikationer, fremgår de her jf. dine indstillinger.", "empty_column.notifications": "Du har endnu ingen notifikationer. Når andre interagerer med dig, vil det fremgå hér.", @@ -465,20 +467,31 @@ "link_preview.author": "Af {name}", "link_preview.more_from_author": "Mere fra {name}", "link_preview.shares": "{count, plural, one {{counter} indlæg} other {{counter} indlæg}}", - "lists.account.add": "Føj til liste", - "lists.account.remove": "Fjern fra liste", + "lists.add_member": "Tilføj", + "lists.add_to_list": "Føj til liste", + "lists.add_to_lists": "Føj {name} til lister", + "lists.create": "Opret", + "lists.create_a_list_to_organize": "Opret en ny liste til organisering af hjemmefeed", + "lists.create_list": "Opret liste", "lists.delete": "Slet liste", + "lists.done": "Færdig", "lists.edit": "Redigér liste", - "lists.edit.submit": "Skift titel", - "lists.exclusive": "Skjul disse indlæg hjemmefra", - "lists.new.create": "Tilføj liste", - "lists.new.title_placeholder": "Ny listetitel", + "lists.exclusive": "Skjul medlemmer i Hjem", + "lists.exclusive_hint": "Er nogen er på denne liste, skjul personen i hjemme-feeds for at undgå at se vedkommendes indlæg to gange.", + "lists.find_users_to_add": "Find brugere at tilføje", + "lists.list_members_count": "{count, plural, one {# medlem} other {# medlemmer}}", + "lists.list_name": "Listetitel", + "lists.new_list_name": "Ny listetitel", + "lists.no_lists_yet": "Ingen lister endnu.", + "lists.no_members_yet": "Ingen medlemmer endnu.", + "lists.no_results_found": "Ingen resultater fundet.", + "lists.remove_member": "Fjern", "lists.replies_policy.followed": "Enhver bruger, der følges", "lists.replies_policy.list": "Listemedlemmer", "lists.replies_policy.none": "Ingen", - "lists.replies_policy.title": "Vis svar til:", - "lists.search": "Søg blandt personer, som følges", - "lists.subheading": "Dine lister", + "lists.save": "Gem", + "lists.search_placeholder": "Søg efter folk, man følger", + "lists.show_replies_to": "Medtag svar fra listemedlemmer til", "load_pending": "{count, plural, one {# nyt emne} other {# nye emner}}", "loading_indicator.label": "Indlæser…", "media_gallery.hide": "Skjul", diff --git a/app/javascript/mastodon/locales/de.json b/app/javascript/mastodon/locales/de.json index e9bf6a41812783..b47007522be1b0 100644 --- a/app/javascript/mastodon/locales/de.json +++ b/app/javascript/mastodon/locales/de.json @@ -140,13 +140,16 @@ "column.blocks": "Blockierte Profile", "column.bookmarks": "Lesezeichen", "column.community": "Lokale Timeline", + "column.create_list": "Liste erstellen", "column.direct": "Private Erwähnungen", "column.directory": "Profile durchsuchen", "column.domain_blocks": "Blockierte Domains", + "column.edit_list": "Liste bearbeiten", "column.favourites": "Favoriten", "column.firehose": "Live-Feeds", "column.follow_requests": "Follower-Anfragen", "column.home": "Startseite", + "column.list_members": "Listenmitglieder verwalten", "column.lists": "Listen", "column.mutes": "Stummgeschaltete Profile", "column.notifications": "Benachrichtigungen", @@ -292,7 +295,6 @@ "empty_column.hashtag": "Unter diesem Hashtag gibt es noch nichts.", "empty_column.home": "Die Timeline deiner Startseite ist leer! Folge mehr Leuten, um sie zu füllen.", "empty_column.list": "Diese Liste ist derzeit leer. Wenn Konten auf dieser Liste neue Beiträge veröffentlichen, werden sie hier erscheinen.", - "empty_column.lists": "Du hast noch keine Listen. Sobald du eine anlegst, wird sie hier erscheinen.", "empty_column.mutes": "Du hast keine Profile stummgeschaltet.", "empty_column.notification_requests": "Alles klar! Hier gibt es nichts. Wenn Sie neue Mitteilungen erhalten, werden diese entsprechend Ihren Einstellungen hier angezeigt.", "empty_column.notifications": "Du hast noch keine Benachrichtigungen. Sobald andere Personen mit dir interagieren, wirst du hier darüber informiert.", @@ -465,20 +467,32 @@ "link_preview.author": "Von {name}", "link_preview.more_from_author": "Mehr von {name}", "link_preview.shares": "{count, plural, one {{counter} Beitrag} other {{counter} Beiträge}}", - "lists.account.add": "Zur Liste hinzufügen", - "lists.account.remove": "Von der Liste entfernen", + "lists.add_member": "Hinzufügen", + "lists.add_to_list": "Zur Liste hinzufügen", + "lists.add_to_lists": "{name} zu Listen hinzufügen", + "lists.create": "Erstellen", + "lists.create_a_list_to_organize": "Erstelle eine neue Liste, um deine Startseite zu organisieren", + "lists.create_list": "Liste erstellen", "lists.delete": "Liste löschen", + "lists.done": "Fertig", "lists.edit": "Liste bearbeiten", - "lists.edit.submit": "Titel ändern", - "lists.exclusive": "Diese Beiträge in der Startseite ausblenden", - "lists.new.create": "Neue Liste erstellen", - "lists.new.title_placeholder": "Titel der neuen Liste", + "lists.exclusive": "Mitglieder auf der Startseite ausblenden", + "lists.exclusive_hint": "Profile, die sich auf dieser Liste befinden, werden nicht auf deiner Startseite angezeigt, damit deren Beiträge nicht doppelt erscheinen.", + "lists.find_users_to_add": "Suche nach Profilen, um sie hinzuzufügen", + "lists.list_members": "Listenmitglieder", + "lists.list_members_count": "{count, plural, one {# Mitglied} other {# Mitglieder}}", + "lists.list_name": "Titel der Liste", + "lists.new_list_name": "Neuer Listentitel", + "lists.no_lists_yet": "Noch keine Listen vorhanden.", + "lists.no_members_yet": "Keine Mitglieder vorhanden.", + "lists.no_results_found": "Keine Suchergebnisse.", + "lists.remove_member": "Entfernen", "lists.replies_policy.followed": "Alle folgenden Profile", "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", - "lists.subheading": "Deine Listen", + "lists.save": "Speichern", + "lists.search_placeholder": "Nach Profilen suchen, denen du folgst", + "lists.show_replies_to": "Antworten von Listenmitgliedern anzeigen für …", "load_pending": "{count, plural, one {# neuer Beitrag} other {# neue Beiträge}}", "loading_indicator.label": "Wird geladen …", "media_gallery.hide": "Ausblenden", diff --git a/app/javascript/mastodon/locales/el.json b/app/javascript/mastodon/locales/el.json index 2920968e6ac000..57f47dda7bd699 100644 --- a/app/javascript/mastodon/locales/el.json +++ b/app/javascript/mastodon/locales/el.json @@ -291,7 +291,6 @@ "empty_column.hashtag": "Δεν υπάρχει ακόμα κάτι για αυτή την ετικέτα.", "empty_column.home": "Η τοπική σου ροή είναι κενή! Πήγαινε στο {public} ή κάνε αναζήτηση για να ξεκινήσεις και να γνωρίσεις άλλους χρήστες.", "empty_column.list": "Δεν υπάρχει τίποτα σε αυτή τη λίστα ακόμα. Όταν τα μέλη της δημοσιεύσουν νέες καταστάσεις, θα εμφανιστούν εδώ.", - "empty_column.lists": "Δεν έχεις καμία λίστα ακόμα. Μόλις φτιάξεις μια, θα εμφανιστεί εδώ.", "empty_column.mutes": "Δεν έχεις κανένα χρήστη σε σίγαση ακόμα.", "empty_column.notification_requests": "Όλα καθαρά! Δεν υπάρχει τίποτα εδώ. Όταν λαμβάνεις νέες ειδοποιήσεις, αυτές θα εμφανίζονται εδώ σύμφωνα με τις ρυθμίσεις σου.", "empty_column.notifications": "Δεν έχεις ειδοποιήσεις ακόμα. Όταν άλλα άτομα αλληλεπιδράσουν μαζί σου, θα το δεις εδώ.", @@ -464,20 +463,11 @@ "link_preview.author": "Από {name}", "link_preview.more_from_author": "Περισσότερα από {name}", "link_preview.shares": "{count, plural, one {{counter} ανάρτηση} other {{counter} αναρτήσεις}}", - "lists.account.add": "Πρόσθεσε στη λίστα", - "lists.account.remove": "Βγάλε από τη λίστα", "lists.delete": "Διαγραφή λίστας", "lists.edit": "Επεξεργασία λίστας", - "lists.edit.submit": "Αλλαγή τίτλου", - "lists.exclusive": "Απόκρυψη αυτών των αναρτήσεων από την αρχική", - "lists.new.create": "Προσθήκη λίστας", - "lists.new.title_placeholder": "Τίτλος νέας λίστα", "lists.replies_policy.followed": "Οποιοσδήποτε χρήστης που ακολουθείς", "lists.replies_policy.list": "Μέλη της λίστας", "lists.replies_policy.none": "Κανένας", - "lists.replies_policy.title": "Εμφάνιση απαντήσεων σε:", - "lists.search": "Αναζήτησε μεταξύ των ανθρώπων που ακουλουθείς", - "lists.subheading": "Οι λίστες σου", "load_pending": "{count, plural, one {# νέο στοιχείο} other {# νέα στοιχεία}}", "loading_indicator.label": "Φόρτωση…", "media_gallery.hide": "Απόκρυψη", diff --git a/app/javascript/mastodon/locales/en-GB.json b/app/javascript/mastodon/locales/en-GB.json index d482ec21dd399a..8d4201484d20de 100644 --- a/app/javascript/mastodon/locales/en-GB.json +++ b/app/javascript/mastodon/locales/en-GB.json @@ -87,6 +87,25 @@ "alert.unexpected.title": "Oops!", "alt_text_badge.title": "Alt text", "announcement.announcement": "Announcement", + "annual_report.summary.archetype.booster": "The cool-hunter", + "annual_report.summary.archetype.lurker": "The lurker", + "annual_report.summary.archetype.oracle": "The oracle", + "annual_report.summary.archetype.pollster": "The pollster", + "annual_report.summary.archetype.replier": "The social butterfly", + "annual_report.summary.followers.followers": "followers", + "annual_report.summary.followers.total": "{count} total", + "annual_report.summary.here_it_is": "Here is your {year} in review:", + "annual_report.summary.highlighted_post.by_favourites": "most favourited post", + "annual_report.summary.highlighted_post.by_reblogs": "most boosted post", + "annual_report.summary.highlighted_post.by_replies": "post with the most replies", + "annual_report.summary.highlighted_post.possessive": "{name}'s", + "annual_report.summary.most_used_app.most_used_app": "most used app", + "annual_report.summary.most_used_hashtag.most_used_hashtag": "most used hashtag", + "annual_report.summary.most_used_hashtag.none": "None", + "annual_report.summary.new_posts.new_posts": "new posts", + "annual_report.summary.percentile.text": "That puts you in the topof Mastodon users.", + "annual_report.summary.percentile.we_wont_tell_bernie": "We won't tell Bernie.", + "annual_report.summary.thanks": "Thanks for being part of Mastodon!", "attachments_list.unprocessed": "(unprocessed)", "audio.hide": "Hide audio", "block_modal.remote_users_caveat": "We will ask the server {domain} to respect your decision. However, compliance is not guaranteed since some servers may handle blocks differently. Public posts may still be visible to non-logged-in users.", @@ -158,6 +177,7 @@ "compose_form.poll.duration": "Poll duration", "compose_form.poll.multiple": "Multiple choice", "compose_form.poll.option_placeholder": "Option {number}", + "compose_form.poll.single": "Single choice", "compose_form.poll.switch_to_multiple": "Change poll to allow multiple choices", "compose_form.poll.switch_to_single": "Change poll to allow for a single choice", "compose_form.poll.type": "Style", @@ -196,6 +216,7 @@ "confirmations.unfollow.title": "Unfollow user?", "content_warning.hide": "Hide post", "content_warning.show": "Show anyway", + "content_warning.show_more": "Show more", "conversation.delete": "Delete conversation", "conversation.mark_as_read": "Mark as read", "conversation.open": "View conversation", @@ -271,7 +292,6 @@ "empty_column.hashtag": "There is nothing in this hashtag yet.", "empty_column.home": "Your home timeline is empty! Follow more people to fill it up.", "empty_column.list": "There is nothing in this list yet. When members of this list post new statuses, they will appear here.", - "empty_column.lists": "You don't have any lists yet. When you create one, it will show up here.", "empty_column.mutes": "You haven't muted any users yet.", "empty_column.notification_requests": "All clear! There is nothing here. When you receive new notifications, they will appear here according to your settings.", "empty_column.notifications": "You don't have any notifications yet. When other people interact with you, you will see it here.", @@ -304,6 +324,7 @@ "filter_modal.select_filter.subtitle": "Use an existing category or create a new one", "filter_modal.select_filter.title": "Filter this post", "filter_modal.title.status": "Filter a post", + "filter_warning.matches_filter": "Matches filter \"{title}\"", "filtered_notifications_banner.pending_requests": "From {count, plural, =0 {no one} one {one person} other {# people}} you may know", "filtered_notifications_banner.title": "Filtered notifications", "firehose.all": "All", @@ -383,6 +404,7 @@ "interaction_modal.description.follow": "With an account on Mastodon, you can follow {name} to receive their posts in your home feed.", "interaction_modal.description.reblog": "With an account on Mastodon, you can boost this post to share it with your own followers.", "interaction_modal.description.reply": "With an account on Mastodon, you can respond to this post.", + "interaction_modal.description.vote": "With an account on Mastodon, you can vote in this poll.", "interaction_modal.login.action": "Take me home", "interaction_modal.login.prompt": "Domain of your home server, e.g. mastodon.social", "interaction_modal.no_account_yet": "Not on Mastodon?", @@ -394,6 +416,7 @@ "interaction_modal.title.follow": "Follow {name}", "interaction_modal.title.reblog": "Boost {name}'s post", "interaction_modal.title.reply": "Reply to {name}'s post", + "interaction_modal.title.vote": "Vote in {name}'s poll", "intervals.full.days": "{number, plural, one {# day} other {# days}}", "intervals.full.hours": "{number, plural, one {# hour} other {# hours}}", "intervals.full.minutes": "{number, plural, one {# minute} other {# minutes}}", @@ -441,20 +464,11 @@ "link_preview.author": "By {name}", "link_preview.more_from_author": "More from {name}", "link_preview.shares": "{count, plural, one {{counter} post} other {{counter} posts}}", - "lists.account.add": "Add to list", - "lists.account.remove": "Remove from list", "lists.delete": "Delete list", "lists.edit": "Edit list", - "lists.edit.submit": "Change title", - "lists.exclusive": "Hide these posts from home", - "lists.new.create": "Add list", - "lists.new.title_placeholder": "New list title", "lists.replies_policy.followed": "Any followed user", "lists.replies_policy.list": "Members of the list", "lists.replies_policy.none": "No one", - "lists.replies_policy.title": "Show replies to:", - "lists.search": "Search among people you follow", - "lists.subheading": "Your lists", "load_pending": "{count, plural, one {# new item} other {# new items}}", "loading_indicator.label": "Loading…", "media_gallery.hide": "Hide", @@ -503,9 +517,11 @@ "notification.admin.report_statuses_other": "{name} reported {target}", "notification.admin.sign_up": "{name} signed up", "notification.admin.sign_up.name_and_others": "{name} and {count, plural, one {# other} other {# others}} signed up", + "notification.annual_report.message": "Your {year} #Wrapstodon awaits! Unveil your year's highlights and memorable moments on Mastodon!", "notification.favourite": "{name} favourited your post", "notification.favourite.name_and_others_with_link": "{name} and {count, plural, one {# other} other {# others}} favourited your post", "notification.follow": "{name} followed you", + "notification.follow.name_and_others": "{name} and {count, plural, one {# other} other {# others}} followed you", "notification.follow_request": "{name} has requested to follow you", "notification.follow_request.name_and_others": "{name} and {count, plural, one {# other} other {# others}} has requested to follow you", "notification.label.mention": "Mention", @@ -513,6 +529,7 @@ "notification.label.private_reply": "Private reply", "notification.label.reply": "Reply", "notification.mention": "Mention", + "notification.mentioned_you": "{name} mentioned you", "notification.moderation-warning.learn_more": "Learn more", "notification.moderation_warning": "You have received a moderation warning", "notification.moderation_warning.action_delete_statuses": "Some of your posts have been removed.", @@ -563,6 +580,7 @@ "notifications.column_settings.filter_bar.category": "Quick filter bar", "notifications.column_settings.follow": "New followers:", "notifications.column_settings.follow_request": "New follow requests:", + "notifications.column_settings.group": "Group", "notifications.column_settings.mention": "Mentions:", "notifications.column_settings.poll": "Poll results:", "notifications.column_settings.push": "Push notifications", diff --git a/app/javascript/mastodon/locales/eo.json b/app/javascript/mastodon/locales/eo.json index 6d8c82385bd8a1..730c3017697d4a 100644 --- a/app/javascript/mastodon/locales/eo.json +++ b/app/javascript/mastodon/locales/eo.json @@ -280,7 +280,6 @@ "empty_column.hashtag": "Ankoraŭ estas nenio per ĉi tiu kradvorto.", "empty_column.home": "Via hejma tempolinio estas malplena! Vizitu {public} aŭ uzu la serĉilon por renkonti aliajn uzantojn.", "empty_column.list": "Ankoraŭ estas nenio en ĉi tiu listo. Kiam membroj de ĉi tiu listo afiŝos novajn afiŝojn, ili aperos ĉi tie.", - "empty_column.lists": "Vi ankoraŭ ne havas liston. Kiam vi kreos iun, ĝi aperos ĉi tie.", "empty_column.mutes": "Vi ne ankoraŭ silentigis iun uzanton.", "empty_column.notification_requests": "Ĉio klara! Estas nenio tie ĉi. Kiam vi ricevas novajn sciigojn, ili aperos ĉi tie laŭ viaj agordoj.", "empty_column.notifications": "Vi ankoraŭ ne havas sciigojn. Interagu kun aliaj por komenci konversacion.", @@ -453,20 +452,11 @@ "link_preview.author": "De {name}", "link_preview.more_from_author": "Pli de {name}", "link_preview.shares": "{count, plural, one {{counter} afiŝo} other {{counter} afiŝoj}}", - "lists.account.add": "Aldoni al la listo", - "lists.account.remove": "Forigi de la listo", "lists.delete": "Forigi la liston", "lists.edit": "Redakti la liston", - "lists.edit.submit": "Ŝanĝi titolon", - "lists.exclusive": "Kaŝi ĉi tiujn afiŝojn de hejmo", - "lists.new.create": "Aldoni liston", - "lists.new.title_placeholder": "Titolo de la nova listo", "lists.replies_policy.followed": "Iu sekvanta uzanto", "lists.replies_policy.list": "Membroj de la listo", "lists.replies_policy.none": "Neniu", - "lists.replies_policy.title": "Montri respondojn al:", - "lists.search": "Serĉi inter la homoj, kiujn vi sekvas", - "lists.subheading": "Viaj listoj", "load_pending": "{count,plural, one {# nova elemento} other {# novaj elementoj}}", "loading_indicator.label": "Ŝargado…", "media_gallery.hide": "Kaŝi", diff --git a/app/javascript/mastodon/locales/es-AR.json b/app/javascript/mastodon/locales/es-AR.json index 406c52698334ec..2dea704a722b7c 100644 --- a/app/javascript/mastodon/locales/es-AR.json +++ b/app/javascript/mastodon/locales/es-AR.json @@ -292,7 +292,6 @@ "empty_column.hashtag": "Todavía no hay nada con esta etiqueta.", "empty_column.home": "¡Tu línea temporal principal está vacía! Seguí a más cuentas para llenarla.", "empty_column.list": "Todavía no hay nada en esta lista. Cuando miembros de esta lista envíen nuevos mensaje, se mostrarán acá.", - "empty_column.lists": "Todavía no tenés ninguna lista. Cuando creés una, se mostrará acá.", "empty_column.mutes": "Todavía no silenciaste a ningún usuario.", "empty_column.notification_requests": "¡Todo limpio! No hay nada acá. Cuando recibás nuevas notificaciones, aparecerán acá, acorde a tu configuración.", "empty_column.notifications": "Todavía no tenés ninguna notificación. Cuando otras cuentas interactúen con vos, vas a ver la notificación acá.", @@ -465,20 +464,11 @@ "link_preview.author": "Por {name}", "link_preview.more_from_author": "Más de {name}", "link_preview.shares": "{count, plural, one {{counter} mensaje} other {{counter} mensajes}}", - "lists.account.add": "Agregar a lista", - "lists.account.remove": "Quitar de lista", "lists.delete": "Eliminar lista", "lists.edit": "Editar lista", - "lists.edit.submit": "Cambiar título", - "lists.exclusive": "Ocultar estos mensajes del inicio", - "lists.new.create": "Agregar lista", - "lists.new.title_placeholder": "Título de nueva lista", "lists.replies_policy.followed": "Cualquier cuenta seguida", "lists.replies_policy.list": "Miembros de la lista", "lists.replies_policy.none": "Nadie", - "lists.replies_policy.title": "Mostrar respuestas a:", - "lists.search": "Buscar entre la gente que seguís", - "lists.subheading": "Tus listas", "load_pending": "{count, plural, one {# elemento nuevo} other {# elementos nuevos}}", "loading_indicator.label": "Cargando…", "media_gallery.hide": "Ocultar", diff --git a/app/javascript/mastodon/locales/es-MX.json b/app/javascript/mastodon/locales/es-MX.json index 63dc31c6dfdc94..d863873418fb17 100644 --- a/app/javascript/mastodon/locales/es-MX.json +++ b/app/javascript/mastodon/locales/es-MX.json @@ -292,7 +292,6 @@ "empty_column.hashtag": "No hay nada en esta etiqueta aún.", "empty_column.home": "No estás siguiendo a nadie aún. Visita {public} o haz búsquedas para empezar y conocer gente nueva.", "empty_column.list": "No hay nada en esta lista aún. Cuando miembros de esta lista publiquen nuevos estatus, estos aparecerán qui.", - "empty_column.lists": "No tienes ninguna lista. cuando crees una, se mostrará aquí.", "empty_column.mutes": "Aún no has silenciado a ningún usuario.", "empty_column.notification_requests": "¡Todo limpio! No hay nada aquí. Cuando recibas nuevas notificaciones, aparecerán aquí conforme a tu configuración.", "empty_column.notifications": "No tienes ninguna notificación aún. Interactúa con otros para empezar una conversación.", @@ -465,20 +464,11 @@ "link_preview.author": "Por {name}", "link_preview.more_from_author": "Más de {name}", "link_preview.shares": "{count, plural, one {{counter} publicación} other {{counter} publicaciones}}", - "lists.account.add": "Añadir a lista", - "lists.account.remove": "Quitar de lista", "lists.delete": "Borrar lista", "lists.edit": "Editar lista", - "lists.edit.submit": "Cambiar título", - "lists.exclusive": "Ocultar estas publicaciones en inicio", - "lists.new.create": "Añadir lista", - "lists.new.title_placeholder": "Título de la nueva lista", "lists.replies_policy.followed": "Cualquier usuario seguido", "lists.replies_policy.list": "Miembros de la lista", "lists.replies_policy.none": "Nadie", - "lists.replies_policy.title": "Mostrar respuestas a:", - "lists.search": "Buscar entre la gente a la que sigues", - "lists.subheading": "Tus listas", "load_pending": "{count, plural, one {# nuevo elemento} other {# nuevos elementos}}", "loading_indicator.label": "Cargando…", "media_gallery.hide": "Ocultar", diff --git a/app/javascript/mastodon/locales/es.json b/app/javascript/mastodon/locales/es.json index 258b19f411ebe8..bfb16e9fd8a8bb 100644 --- a/app/javascript/mastodon/locales/es.json +++ b/app/javascript/mastodon/locales/es.json @@ -292,7 +292,6 @@ "empty_column.hashtag": "No hay nada en esta etiqueta todavía.", "empty_column.home": "¡Tu línea temporal está vacía! Sigue a más personas para rellenarla.", "empty_column.list": "Aún no hay nada en esta lista. Cuando los miembros de esta lista publiquen nuevos estados, estos aparecerán aquí.", - "empty_column.lists": "No tienes ninguna lista. Cuando crees una, se mostrará aquí.", "empty_column.mutes": "Aún no has silenciado a ningún usuario.", "empty_column.notification_requests": "¡Todo limpio! No hay nada aquí. Cuando recibas nuevas notificaciones, aparecerán aquí conforme a tu configuración.", "empty_column.notifications": "Aún no tienes ninguna notificación. Cuando otras personas interactúen contigo, aparecerán aquí.", @@ -465,20 +464,11 @@ "link_preview.author": "Por {name}", "link_preview.more_from_author": "Más de {name}", "link_preview.shares": "{count, plural, one {{counter} publicación} other {{counter} publicaciones}}", - "lists.account.add": "Añadir a lista", - "lists.account.remove": "Quitar de lista", "lists.delete": "Borrar lista", "lists.edit": "Editar lista", - "lists.edit.submit": "Cambiar título", - "lists.exclusive": "Ocultar estas publicaciones de inicio", - "lists.new.create": "Añadir lista", - "lists.new.title_placeholder": "Título de la nueva lista", "lists.replies_policy.followed": "Cualquier usuario seguido", "lists.replies_policy.list": "Miembros de la lista", "lists.replies_policy.none": "Nadie", - "lists.replies_policy.title": "Mostrar respuestas a:", - "lists.search": "Buscar entre las personas a las que sigues", - "lists.subheading": "Tus listas", "load_pending": "{count, plural, one {# nuevo elemento} other {# nuevos elementos}}", "loading_indicator.label": "Cargando…", "media_gallery.hide": "Ocultar", diff --git a/app/javascript/mastodon/locales/et.json b/app/javascript/mastodon/locales/et.json index 83766411798d34..1db32efe090ad0 100644 --- a/app/javascript/mastodon/locales/et.json +++ b/app/javascript/mastodon/locales/et.json @@ -273,7 +273,6 @@ "empty_column.hashtag": "Selle sildi all ei ole ühtegi postitust.", "empty_column.home": "Su koduajajoon on tühi. Jälgi rohkemaid inimesi, et seda täita {suggestions}", "empty_column.list": "Siin loetelus pole veel midagi. Kui loetelu liikmed teevad uusi postitusi, näed neid siin.", - "empty_column.lists": "Pole veel ühtegi nimekirja. Kui lood mõne, näed neid siin.", "empty_column.mutes": "Sa pole veel ühtegi kasutajat vaigistanud.", "empty_column.notification_requests": "Kõik tühi! Siin pole mitte midagi. Kui saad uusi teavitusi, ilmuvad need siin vastavalt sinu seadistustele.", "empty_column.notifications": "Ei ole veel teateid. Kui keegi suhtleb sinuga, näed seda siin.", @@ -446,20 +445,11 @@ "link_preview.author": "{name} poolt", "link_preview.more_from_author": "Veel kasutajalt {name}", "link_preview.shares": "{count, plural, one {{counter} postitus} other {{counter} postitust}}", - "lists.account.add": "Lisa nimekirja", - "lists.account.remove": "Eemalda nimekirjast", "lists.delete": "Kustuta nimekiri", "lists.edit": "Muuda nimekirja", - "lists.edit.submit": "Pealkirja muutmine", - "lists.exclusive": "Peida koduvaatest need postitused", - "lists.new.create": "Lisa nimekiri", - "lists.new.title_placeholder": "Uue nimekirja pealkiri", "lists.replies_policy.followed": "Igalt jälgitud kasutajalt", "lists.replies_policy.list": "Listi liikmetelt", "lists.replies_policy.none": "Mitte kelleltki", - "lists.replies_policy.title": "Näita vastuseid nendele:", - "lists.search": "Otsi enda jälgitavate inimeste hulgast", - "lists.subheading": "Sinu nimekirjad", "load_pending": "{count, plural, one {# uus kirje} other {# uut kirjet}}", "loading_indicator.label": "Laadimine…", "media_gallery.hide": "Peida", diff --git a/app/javascript/mastodon/locales/eu.json b/app/javascript/mastodon/locales/eu.json index c8349dc6a1a0d8..c77ca93f9e194f 100644 --- a/app/javascript/mastodon/locales/eu.json +++ b/app/javascript/mastodon/locales/eu.json @@ -269,7 +269,6 @@ "empty_column.hashtag": "Ez dago ezer traola honetan oraindik.", "empty_column.home": "Zure hasierako denbora-lerroa hutsik dago! Jarraitu jende gehiago betetzeko.", "empty_column.list": "Ez dago ezer zerrenda honetan. Zerrenda honetako kideek bidalketa berriak argitaratzean, hemen agertuko dira.", - "empty_column.lists": "Ez duzu zerrendarik oraindik. Baten bat sortzen duzunean hemen agertuko da.", "empty_column.mutes": "Ez duzu erabiltzailerik mututu oraindik.", "empty_column.notification_requests": "Garbi-garbi! Ezertxo ere ez hemen. Jakinarazpenak jasotzen dituzunean, hemen agertuko dira zure ezarpenen arabera.", "empty_column.notifications": "Ez duzu jakinarazpenik oraindik. Jarri besteekin harremanetan elkarrizketa abiatzeko.", @@ -437,20 +436,11 @@ "link_preview.author": "Egilea: {name}", "link_preview.more_from_author": "{name} erabiltzaileaz gehiago jakin", "link_preview.shares": "{count, plural, one {{counter} bidalketa} other {{counter} bidalketa}}", - "lists.account.add": "Gehitu zerrendara", - "lists.account.remove": "Kendu zerrendatik", "lists.delete": "Ezabatu zerrenda", "lists.edit": "Editatu zerrenda", - "lists.edit.submit": "Aldatu izenburua", - "lists.exclusive": "Ezkutatu argitalpen hauek hasieratik", - "lists.new.create": "Gehitu zerrenda", - "lists.new.title_placeholder": "Zerrenda berriaren izena", "lists.replies_policy.followed": "Jarraitutako edozein erabiltzaile", "lists.replies_policy.list": "Zerrendako kideak", "lists.replies_policy.none": "Bat ere ez", - "lists.replies_policy.title": "Erakutsi erantzunak:", - "lists.search": "Bilatu jarraitzen dituzun pertsonen artean", - "lists.subheading": "Zure zerrendak", "load_pending": "{count, plural, one {elementu berri #} other {# elementu berri}}", "loading_indicator.label": "Kargatzen…", "media_gallery.hide": "Ezkutatu", diff --git a/app/javascript/mastodon/locales/fa.json b/app/javascript/mastodon/locales/fa.json index 3bc96cf9f2e4eb..608c1321b7a32c 100644 --- a/app/javascript/mastodon/locales/fa.json +++ b/app/javascript/mastodon/locales/fa.json @@ -272,7 +272,6 @@ "empty_column.hashtag": "هنوز هیچ چیزی در این برچسب نیست.", "empty_column.home": "خط زمانی خانگیتان خالی است! برای پر کردنش، افراد بیشتری را پی بگیرید. {suggestions}", "empty_column.list": "هنوز چیزی در این سیاهه نیست. هنگامی که اعضایش فرسته‌های جدیدی بفرستند، این‌جا ظاهر خواهند شد.", - "empty_column.lists": "هنوز هیچ سیاهه‌ای ندارید. هنگامی که یکی بسازید، این‌جا نشان داده خواهد شد.", "empty_column.mutes": "هنوز هیچ کاربری را خموش نکرده‌اید.", "empty_column.notifications": "هنوز هیچ آگاهی‌آی ندارید. هنگامی که دیگران با شما برهم‌کنش داشته باشند،‌این‌حا خواهید دیدش.", "empty_column.public": "این‌جا هنوز چیزی نیست! خودتان چیزی بنویسید یا کاربران کارسازهای دیگر را پی‌گیری کنید تا این‌جا پُر شود", @@ -437,20 +436,11 @@ "link_preview.author": "از {name}", "link_preview.more_from_author": "بیش‌تر از {name}", "link_preview.shares": "{count, plural, one {{counter} فرسته} other {{counter} فرسته}}", - "lists.account.add": "افزودن به سیاهه", - "lists.account.remove": "برداشتن از سیاهه", "lists.delete": "حذف سیاهه", "lists.edit": "ویرایش سیاهه", - "lists.edit.submit": "تغییر عنوان", - "lists.exclusive": "نهفتن این فرسته‌ها از خانه", - "lists.new.create": "افزودن سیاهه", - "lists.new.title_placeholder": "عنوان سیاههٔ جدید", "lists.replies_policy.followed": "هر کاربر پی‌گرفته", "lists.replies_policy.list": "اعضای سیاهه", "lists.replies_policy.none": "هیچ کدام", - "lists.replies_policy.title": "نمایش پاسخ‌ها به:", - "lists.search": "جست‌وجو بین کسانی که پی‌گرفته‌اید", - "lists.subheading": "سیاهه‌هایتان", "load_pending": "{count, plural, one {# مورد جدید} other {# مورد جدید}}", "loading_indicator.label": "در حال بارگذاری…", "media_gallery.hide": "نهفتن", diff --git a/app/javascript/mastodon/locales/fi.json b/app/javascript/mastodon/locales/fi.json index 2c0aacc53559a7..a987c4bad2d2b7 100644 --- a/app/javascript/mastodon/locales/fi.json +++ b/app/javascript/mastodon/locales/fi.json @@ -139,13 +139,16 @@ "column.blocks": "Estetyt käyttäjät", "column.bookmarks": "Kirjanmerkit", "column.community": "Paikallinen aikajana", + "column.create_list": "Luo lista", "column.direct": "Yksityismaininnat", "column.directory": "Selaa profiileja", "column.domain_blocks": "Estetyt verkkotunnukset", + "column.edit_list": "Muokkaa listaa", "column.favourites": "Suosikit", "column.firehose": "Livesyötteet", "column.follow_requests": "Seurantapyynnöt", "column.home": "Koti", + "column.list_members": "Hallitse listan jäseniä", "column.lists": "Listat", "column.mutes": "Mykistetyt käyttäjät", "column.notifications": "Ilmoitukset", @@ -291,7 +294,6 @@ "empty_column.hashtag": "Tällä aihetunnisteella ei löydy vielä sisältöä.", "empty_column.home": "Kotiaikajanasi on tyhjä! Seuraa useampia käyttäjiä, niin näet enemmän sisältöä.", "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.notification_requests": "Olet ajan tasalla! Täällä ei ole mitään uutta kerrottavaa. Kun saat uusia ilmoituksia, ne näkyvät täällä asetustesi mukaisesti.", "empty_column.notifications": "Sinulla ei ole vielä ilmoituksia. Kun muut ovat vuorovaikutuksessa kanssasi, näet sen täällä.", @@ -464,20 +466,32 @@ "link_preview.author": "Tehnyt {name}", "link_preview.more_from_author": "Lisää tekijältä {name}", "link_preview.shares": "{count, plural, one {{counter} julkaisu} other {{counter} julkaisua}}", - "lists.account.add": "Lisää listalle", - "lists.account.remove": "Poista listalta", + "lists.add_member": "Lisää", + "lists.add_to_list": "Lisää listalle", + "lists.add_to_lists": "Lisää {name} listalle", + "lists.create": "Luo", + "lists.create_a_list_to_organize": "Luo uusi lista kotisyötteesi järjestämiseksi", + "lists.create_list": "Luo lista", "lists.delete": "Poista lista", + "lists.done": "Valmis", "lists.edit": "Muokkaa listaa", - "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.exclusive": "Piilota jäsenet kotisyötteestä", + "lists.exclusive_hint": "Jos joku on tällä listalla, piilota hänet kotisyötteestäsi, jotta et näe hänen julkaisujaan kahteen kertaan.", + "lists.find_users_to_add": "Etsi lisättäviä käyttäjiä", + "lists.list_members": "Listan jäsenet", + "lists.list_members_count": "{count, plural, one {# jäsen} other {# jäsentä}}", + "lists.list_name": "Listan nimi", + "lists.new_list_name": "Uuden listan nimi", + "lists.no_lists_yet": "Ei vielä listoja.", + "lists.no_members_yet": "Ei vielä jäseniä.", + "lists.no_results_found": "Tuloksia ei löytynyt.", + "lists.remove_member": "Poista", "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": "Hae seuraamistasi käyttäjistä", - "lists.subheading": "Omat listasi", + "lists.save": "Tallenna", + "lists.search_placeholder": "Hae käyttäjiä seurattavaksi", + "lists.show_replies_to": "Sisällytä listan jäsenten vastaukset kohteeseen", "load_pending": "{count, plural, one {# uusi kohde} other {# uutta kohdetta}}", "loading_indicator.label": "Ladataan…", "media_gallery.hide": "Piilota", diff --git a/app/javascript/mastodon/locales/fil.json b/app/javascript/mastodon/locales/fil.json index 14c7b70bd299c5..1ccc6f036d6a08 100644 --- a/app/javascript/mastodon/locales/fil.json +++ b/app/javascript/mastodon/locales/fil.json @@ -184,7 +184,6 @@ "empty_column.hashtag": "Wala pang laman ang hashtag na ito.", "empty_column.home": "Walang laman ang timeline ng tahanan mo! Sumunod sa marami pang tao para mapunan ito.", "empty_column.list": "Wala pang laman ang listahang ito. Kapag naglathala ng mga bagong post ang mga miyembro ng listahang ito, makikita iyon dito.", - "empty_column.lists": "Wala ka pang mga listahan. Kapag gumawa ka ng isa, makikita yun dito.", "errors.unexpected_crash.report_issue": "Iulat ang isyu", "explore.search_results": "Mga resulta ng paghahanap", "explore.suggested_follows": "Mga tao", @@ -234,15 +233,8 @@ "lightbox.next": "Susunod", "lightbox.previous": "Nakaraan", "link_preview.author": "Ni/ng {name}", - "lists.account.add": "Idagdag sa talaan", - "lists.account.remove": "Tanggalin mula sa talaan", "lists.delete": "Burahin ang listahan", - "lists.edit.submit": "Baguhin ang pamagat", - "lists.new.create": "Idagdag sa talaan", - "lists.new.title_placeholder": "Bagong pangalan ng talaan", "lists.replies_policy.none": "Walang simuman", - "lists.replies_policy.title": "Ipakita ang mga tugon sa:", - "lists.subheading": "Iyong mga talaan", "loading_indicator.label": "Kumakarga…", "media_gallery.hide": "Itago", "mute_modal.hide_from_notifications": "Itago mula sa mga abiso", diff --git a/app/javascript/mastodon/locales/fo.json b/app/javascript/mastodon/locales/fo.json index 789efaa40e4684..bc56152f37d486 100644 --- a/app/javascript/mastodon/locales/fo.json +++ b/app/javascript/mastodon/locales/fo.json @@ -292,7 +292,6 @@ "empty_column.hashtag": "Einki er í hesum frámerkinum enn.", "empty_column.home": "Heima-tíðarlinjan hjá tær er tóm! Fylg fleiri fyri at fylla hana. {suggestions}", "empty_column.list": "Einki er í hesum listanum enn. Tá limir í hesum listanum posta nýggjar postar, so síggjast teir her.", - "empty_column.lists": "Tú hevur ongar goymdar listar enn. Tá tú gert ein lista, so sært tú hann her.", "empty_column.mutes": "Tú hevur enn ikki doyvt nakran brúkara.", "empty_column.notification_requests": "Alt er klárt! Her er einki. Tá tú fært nýggjar fráboðanir, síggjast tær her sambært tínum stillingum.", "empty_column.notifications": "Tú hevur ongar fráboðanir enn. Tá onnur samskifta við teg, so sær tú fráboðaninar her.", @@ -465,20 +464,11 @@ "link_preview.author": "Av {name}", "link_preview.more_from_author": "Meira frá {name}", "link_preview.shares": "{count, plural, one {{counter} postur} other {{counter} postar}}", - "lists.account.add": "Legg afturat lista", - "lists.account.remove": "Tak av lista", "lists.delete": "Strika lista", "lists.edit": "Broyt lista", - "lists.edit.submit": "Broyt heiti", - "lists.exclusive": "Fjal hesar postarnar frá heima", - "lists.new.create": "Ger nýggjan lista", - "lists.new.title_placeholder": "Nýtt navn á lista", "lists.replies_policy.followed": "Øllum fylgdum brúkarum", "lists.replies_policy.list": "Listalimunum", "lists.replies_policy.none": "Eingin", - "lists.replies_policy.title": "Vís svarini fyri:", - "lists.search": "Leita millum fólk, sum tú fylgir", - "lists.subheading": "Tínir listar", "load_pending": "{count, plural, one {# nýtt evni} other {# nýggj evni}}", "loading_indicator.label": "Innlesur…", "media_gallery.hide": "Fjal", diff --git a/app/javascript/mastodon/locales/fr-CA.json b/app/javascript/mastodon/locales/fr-CA.json index fed111e7e8c187..a1134e0de35934 100644 --- a/app/javascript/mastodon/locales/fr-CA.json +++ b/app/javascript/mastodon/locales/fr-CA.json @@ -275,7 +275,6 @@ "empty_column.hashtag": "Il n’y a pas encore de contenu associé à ce hashtag.", "empty_column.home": "Votre fil d'accueil est vide! Suivez plus de personnes pour la remplir. {suggestions}", "empty_column.list": "Il n’y a rien dans cette liste pour l’instant. Quand des membres de cette liste publieront de nouvelles publications, elles apparaîtront ici.", - "empty_column.lists": "Vous n’avez pas encore de liste. Lorsque vous en créerez une, elle apparaîtra ici.", "empty_column.mutes": "Vous n’avez masqué aucun compte pour le moment.", "empty_column.notification_requests": "C'est fini ! Il n'y a plus rien ici. Lorsque vous recevez de nouvelles notifications, elles apparaitront ici conformément à vos préférences.", "empty_column.notifications": "Vous n'avez pas encore de notifications. Quand d'autres personnes interagissent avec vous, vous en verrez ici.", @@ -445,20 +444,11 @@ "link_preview.author": "Par {name}", "link_preview.more_from_author": "Plus via {name}", "link_preview.shares": "{count, plural, one {{counter} message} other {{counter} messages}}", - "lists.account.add": "Ajouter à une liste", - "lists.account.remove": "Retirer d'une liste", "lists.delete": "Supprimer la liste", "lists.edit": "Modifier la liste", - "lists.edit.submit": "Modifier le titre", - "lists.exclusive": "Cacher ces publications depuis la page d'accueil", - "lists.new.create": "Ajouter une liste", - "lists.new.title_placeholder": "Titre de la nouvelle liste", "lists.replies_policy.followed": "N'importe quel compte suivi", "lists.replies_policy.list": "Membres de la liste", "lists.replies_policy.none": "Personne", - "lists.replies_policy.title": "Afficher les réponses à:", - "lists.search": "Rechercher parmi les gens que vous suivez", - "lists.subheading": "Vos listes", "load_pending": "{count, plural, one {# nouvel élément} other {# nouveaux éléments}}", "loading_indicator.label": "Chargement…", "media_gallery.hide": "Masquer", diff --git a/app/javascript/mastodon/locales/fr.json b/app/javascript/mastodon/locales/fr.json index 10bfc22bd8b921..8597152f0070bb 100644 --- a/app/javascript/mastodon/locales/fr.json +++ b/app/javascript/mastodon/locales/fr.json @@ -275,7 +275,6 @@ "empty_column.hashtag": "Il n’y a encore aucun contenu associé à ce hashtag.", "empty_column.home": "Votre fil principal est vide ! Suivez plus de personnes pour le remplir.", "empty_column.list": "Il n’y a rien dans cette liste pour l’instant. Quand des membres de cette liste publieront de nouveaux messages, ils apparaîtront ici.", - "empty_column.lists": "Vous n’avez pas encore de liste. Lorsque vous en créerez une, elle apparaîtra ici.", "empty_column.mutes": "Vous n’avez masqué aucun compte pour le moment.", "empty_column.notification_requests": "C'est fini ! Il n'y a plus rien ici. Lorsque vous recevez de nouvelles notifications, elles apparaitront ici conformément à vos préférences.", "empty_column.notifications": "Vous n’avez pas encore de notification. Interagissez avec d’autres personnes pour débuter la conversation.", @@ -445,20 +444,11 @@ "link_preview.author": "Par {name}", "link_preview.more_from_author": "Plus via {name}", "link_preview.shares": "{count, plural, one {{counter} message} other {{counter} messages}}", - "lists.account.add": "Ajouter à la liste", - "lists.account.remove": "Supprimer de la liste", "lists.delete": "Supprimer la liste", "lists.edit": "Modifier la liste", - "lists.edit.submit": "Modifier le titre", - "lists.exclusive": "Cacher ces publications sur le fil principal", - "lists.new.create": "Ajouter une liste", - "lists.new.title_placeholder": "Titre de la nouvelle liste", "lists.replies_policy.followed": "N'importe quel compte suivi", "lists.replies_policy.list": "Membres de la liste", "lists.replies_policy.none": "Personne", - "lists.replies_policy.title": "Afficher les réponses à :", - "lists.search": "Rechercher parmi les gens que vous suivez", - "lists.subheading": "Vos listes", "load_pending": "{count, plural, one {# nouvel élément} other {# nouveaux éléments}}", "loading_indicator.label": "Chargement…", "media_gallery.hide": "Masquer", diff --git a/app/javascript/mastodon/locales/fy.json b/app/javascript/mastodon/locales/fy.json index 3f4d942b61e3b9..a5e8f924dd9133 100644 --- a/app/javascript/mastodon/locales/fy.json +++ b/app/javascript/mastodon/locales/fy.json @@ -273,7 +273,6 @@ "empty_column.hashtag": "Der is noch neat te finen ûnder dizze hashtag.", "empty_column.home": "Dizze tiidline is leech! Folgje mear minsken om it te foljen. {suggestions}", "empty_column.list": "There is nothing in this list yet. When members of this list post new statuses, they will appear here.", - "empty_column.lists": "Jo hawwe noch gjin inkelde list. Wannear’t jo der ien oanmakke hawwe, falt dat hjir te sjen.", "empty_column.mutes": "Jo hawwe noch gjin brûkers negearre.", "empty_column.notification_requests": "Hielendal leech! Der is hjir neat. Wannear’t jo nije meldingen ûntfange, ferskine dizze hjir neffens jo ynstellingen.", "empty_column.notifications": "Jo hawwe noch gjin meldingen. Ynteraksjes mei oare minsken sjogge jo hjir.", @@ -446,20 +445,11 @@ "link_preview.author": "Troch {name}", "link_preview.more_from_author": "Mear fan {name}", "link_preview.shares": "{count, plural, one {{counter} berjocht} other {{counter} berjochten}}", - "lists.account.add": "Oan list tafoegje", - "lists.account.remove": "Ut list fuortsmite", "lists.delete": "List fuortsmite", "lists.edit": "List bewurkje", - "lists.edit.submit": "Titel wizigje", - "lists.exclusive": "Ferstopje dizze berjochten op jo startside", - "lists.new.create": "List tafoegje", - "lists.new.title_placeholder": "Nije listtitel", "lists.replies_policy.followed": "Elke folge brûker", "lists.replies_policy.list": "Leden fan de list", "lists.replies_policy.none": "Net ien", - "lists.replies_policy.title": "Reaksjes toane oan:", - "lists.search": "Sykje nei minsken dy’t jo folgje", - "lists.subheading": "Jo listen", "load_pending": "{count, plural, one {# nij item} other {# nije items}}", "loading_indicator.label": "Lade…", "media_gallery.hide": "Ferstopje", diff --git a/app/javascript/mastodon/locales/ga.json b/app/javascript/mastodon/locales/ga.json index 137a7c591fde95..31418c8e72ea97 100644 --- a/app/javascript/mastodon/locales/ga.json +++ b/app/javascript/mastodon/locales/ga.json @@ -292,7 +292,6 @@ "empty_column.hashtag": "Níl rud ar bith faoin haischlib seo go fóill.", "empty_column.home": "Tá d'amlíne baile folamh! B'fhiú duit cúpla duine eile a leanúint lena líonadh! {suggestions}", "empty_column.list": "Níl aon rud ar an liosta seo fós. Nuair a fhoilseoidh baill an liosta seo postálacha nua, beidh siad le feiceáil anseo.", - "empty_column.lists": "Níl aon liostaí fós agat. Nuair a chruthaíonn tú ceann, feicfear anseo é.", "empty_column.mutes": "Níl aon úsáideoir balbhaithe agat fós.", "empty_column.notification_requests": "Gach soiléir! Níl aon rud anseo. Nuair a gheobhaidh tú fógraí nua, beidh siad le feiceáil anseo de réir do shocruithe.", "empty_column.notifications": "Níl aon fógraí agat fós. Nuair a dhéanann daoine eile idirghníomhú leat, feicfear anseo é.", @@ -465,20 +464,11 @@ "link_preview.author": "Le {name}", "link_preview.more_from_author": "Tuilleadh ó {name}", "link_preview.shares": "{count, plural, one {{counter} post} other {{counter} poist}}", - "lists.account.add": "Cuir leis an liosta", - "lists.account.remove": "Scrios as an liosta", "lists.delete": "Scrios liosta", "lists.edit": "Cuir an liosta in eagar", - "lists.edit.submit": "Athraigh teideal", - "lists.exclusive": "Folaigh na poist seo ón mbaile", - "lists.new.create": "Cruthaigh liosta", - "lists.new.title_placeholder": "Teideal liosta nua", "lists.replies_policy.followed": "Úsáideoir ar bith atá á leanúint", "lists.replies_policy.list": "Baill an liosta", "lists.replies_policy.none": "Duine ar bith", - "lists.replies_policy.title": "Taispeáin freagraí:", - "lists.search": "Cuardaigh i measc daoine atá á leanúint agat", - "lists.subheading": "Do liostaí", "load_pending": "{count, plural, one {# mír nua} two {# mír nua} few {# mír nua} many {# mír nua} other {# mír nua}}", "loading_indicator.label": "Á lódáil…", "media_gallery.hide": "Folaigh", diff --git a/app/javascript/mastodon/locales/gd.json b/app/javascript/mastodon/locales/gd.json index f459f50a80c757..17dbfc30e4f344 100644 --- a/app/javascript/mastodon/locales/gd.json +++ b/app/javascript/mastodon/locales/gd.json @@ -292,7 +292,6 @@ "empty_column.hashtag": "Chan eil dad san taga hais seo fhathast.", "empty_column.home": "Tha loidhne-ama na dachaigh agad falamh! Lean barrachd dhaoine gus a lìonadh.", "empty_column.list": "Chan eil dad air an liosta seo fhathast. Nuair a phostaicheas buill a tha air an liosta seo postaichean ùra, nochdaidh iad an-seo.", - "empty_column.lists": "Chan eil liosta agad fhathast. Nuair chruthaicheas tu tè, nochdaidh i an-seo.", "empty_column.mutes": "Cha do mhùch thu cleachdaiche sam bith fhathast.", "empty_column.notification_requests": "Glan! Chan eil dad an-seo. Nuair a gheibh thu brathan ùra, nochdaidh iad an-seo a-rèir nan roghainnean agad.", "empty_column.notifications": "Cha d’ fhuair thu brath sam bith fhathast. Nuair a nì càch conaltradh leat, chì thu an-seo e.", @@ -465,20 +464,11 @@ "link_preview.author": "Le {name}", "link_preview.more_from_author": "Barrachd le {name}", "link_preview.shares": "{count, plural, one {{counter} phost} two {{counter} phost} few {{counter} postaichean} other {{counter} post}}", - "lists.account.add": "Cuir ris an liosta", - "lists.account.remove": "Thoir air falbh on liosta", "lists.delete": "Sguab às an liosta", "lists.edit": "Deasaich an liosta", - "lists.edit.submit": "Atharraich an tiotal", - "lists.exclusive": "Falaich na postaichean seo air an dachaigh", - "lists.new.create": "Cuir liosta ris", - "lists.new.title_placeholder": "Tiotal na liosta ùir", "lists.replies_policy.followed": "Cleachdaiche sam bith a leanas mi", "lists.replies_policy.list": "Buill na liosta", "lists.replies_policy.none": "Na seall idir", - "lists.replies_policy.title": "Seall freagairtean do:", - "lists.search": "Lorg am measg nan daoine a leanas tu", - "lists.subheading": "Na liostaichean agad", "load_pending": "{count, plural, one {# nì ùr} two {# nì ùr} few {# nithean ùra} other {# nì ùr}}", "loading_indicator.label": "’Ga luchdadh…", "media_gallery.hide": "Falaich", diff --git a/app/javascript/mastodon/locales/gl.json b/app/javascript/mastodon/locales/gl.json index c69a431f4b0e52..e77aaade6b15db 100644 --- a/app/javascript/mastodon/locales/gl.json +++ b/app/javascript/mastodon/locales/gl.json @@ -291,7 +291,6 @@ "empty_column.hashtag": "Aínda non hai nada con este cancelo.", "empty_column.home": "A túa cronoloxía inicial está baleira! Sigue a outras usuarias para enchela.", "empty_column.list": "Aínda non hai nada nesta listaxe. Cando as usuarias incluídas na listaxe publiquen mensaxes, amosaranse aquí.", - "empty_column.lists": "Aínda non tes listaxes. Cando crees unha, amosarase aquí.", "empty_column.mutes": "Aínda non silenciaches a ningúnha usuaria.", "empty_column.notification_requests": "Todo ben! Nada por aquí. Cando recibas novas notificacións aparecerán aquí seguindo o criterio dos teus axustes.", "empty_column.notifications": "Aínda non tes notificacións. Aparecerán cando outras persoas interactúen contigo.", @@ -464,20 +463,11 @@ "link_preview.author": "Por {name}", "link_preview.more_from_author": "Máis de {name}", "link_preview.shares": "{count, plural, one {{counter} publicación} other {{counter} publicacións}}", - "lists.account.add": "Engadir á listaxe", - "lists.account.remove": "Eliminar da listaxe", "lists.delete": "Eliminar listaxe", "lists.edit": "Editar listaxe", - "lists.edit.submit": "Mudar o título", - "lists.exclusive": "Agocha estas publicacións no Inicio", - "lists.new.create": "Engadir listaxe", - "lists.new.title_placeholder": "Título da nova listaxe", "lists.replies_policy.followed": "Calquera usuaria que siga", "lists.replies_policy.list": "Membros da lista", "lists.replies_policy.none": "Ninguén", - "lists.replies_policy.title": "Mostrar respostas a:", - "lists.search": "Procurar entre as persoas que segues", - "lists.subheading": "As túas listaxes", "load_pending": "{count, plural, one {# novo elemento} other {# novos elementos}}", "loading_indicator.label": "Estase a cargar…", "media_gallery.hide": "Agochar", diff --git a/app/javascript/mastodon/locales/he.json b/app/javascript/mastodon/locales/he.json index 52d61b737b431b..57f0ee9e5ef946 100644 --- a/app/javascript/mastodon/locales/he.json +++ b/app/javascript/mastodon/locales/he.json @@ -140,13 +140,16 @@ "column.blocks": "משתמשים חסומים", "column.bookmarks": "סימניות", "column.community": "פיד שרת מקומי", + "column.create_list": "יצירת רשימה", "column.direct": "הודעות פרטיות", "column.directory": "עיין בפרופילים", "column.domain_blocks": "קהילות (שמות מתחם) מוסתרות", + "column.edit_list": "עריכת רשימה", "column.favourites": "חיבובים", "column.firehose": "פידים עדכניים", "column.follow_requests": "בקשות מעקב", "column.home": "פיד הבית", + "column.list_members": "ניהול חברי הרשימה", "column.lists": "רשימות", "column.mutes": "משתמשים בהשתקה", "column.notifications": "התראות", @@ -292,7 +295,6 @@ "empty_column.hashtag": "אין כלום בתגית הזאת עדיין.", "empty_column.home": "פיד הבית ריק ! אפשר לבקר ב{public} או להשתמש בחיפוש כדי להתחיל ולהכיר משתמשים/ות אחרים/ות. {suggestions}", "empty_column.list": "אין עדיין פריטים ברשימה. כאשר חברים ברשימה הזאת יפרסמו הודעות חדשות, הן יופיעו פה.", - "empty_column.lists": "אין לך שום רשימות עדיין. לכשיהיו, הן תופענה כאן.", "empty_column.mutes": "עוד לא השתקת שום משתמש.", "empty_column.notification_requests": "בום! אין פה כלום. כשיווצרו עוד התראות, הן יופיעו כאן על בסיס ההעדפות שלך.", "empty_column.notifications": "אין התראות עדיין. יאללה, הגיע הזמן להתחיל להתערבב.", @@ -465,20 +467,32 @@ "link_preview.author": "מאת {name}", "link_preview.more_from_author": "עוד מאת {name}", "link_preview.shares": "{count, plural, one {הודעה אחת} two {הודעותיים} many {{counter} הודעות} other {{counter} הודעות}}", - "lists.account.add": "הוסף לרשימה", - "lists.account.remove": "הסר מרשימה", + "lists.add_member": "הוספה", + "lists.add_to_list": "הוספה לרשימה", + "lists.add_to_lists": "הוספת {name} לרשימות", + "lists.create": "יצירה", + "lists.create_a_list_to_organize": "יצירת רשימה חדשה לארגון פיד הבית שלך", + "lists.create_list": "יצירת רשימה", "lists.delete": "מחיקת רשימה", + "lists.done": "בוצע", "lists.edit": "עריכת רשימה", - "lists.edit.submit": "שנה/י כותרת", - "lists.exclusive": "להסתיר את ההודעות האלו מפיד הבית", - "lists.new.create": "הוספת רשימה", - "lists.new.title_placeholder": "כותרת הרשימה החדשה", + "lists.exclusive": "הסתרת החברים בפיד הבית", + "lists.exclusive_hint": "אם שם כלשהו ברשימה זו, נסתיר אותי בפיד הבית כדי למנוע כפילות.", + "lists.find_users_to_add": "חיפוש משתמשים להוספה", + "lists.list_members": "פירוט חברי הרשימה", + "lists.list_members_count": "{count, plural, one {חבר רשימה אחד} other {# חברי רשימה}}", + "lists.list_name": "שם הרשימה", + "lists.new_list_name": "שם רשימה חדשה", + "lists.no_lists_yet": "אין רשימות עדיין.", + "lists.no_members_yet": "עוד אין חברים ברשימה.", + "lists.no_results_found": "לא נמצאו תוצאות.", + "lists.remove_member": "הסרה", "lists.replies_policy.followed": "משתמשים שאני עוקב אחריהם", "lists.replies_policy.list": "משתמשים שברשימה", "lists.replies_policy.none": "אף אחד", - "lists.replies_policy.title": "הצג תגובות ל:", - "lists.search": "חיפוש בין אנשים שאני עוקב\\ת אחריהם", - "lists.subheading": "הרשימות שלך", + "lists.save": "שמירה", + "lists.search_placeholder": "חיפוש אנשים שאני עוקב\\ת אחריהם", + "lists.show_replies_to": "לכלול תשובות מחברי הרשימה אל", "load_pending": "{count, plural, one {# פריט חדש} other {# פריטים חדשים}}", "loading_indicator.label": "בטעינה…", "media_gallery.hide": "להסתיר", diff --git a/app/javascript/mastodon/locales/hi.json b/app/javascript/mastodon/locales/hi.json index e0de4c84525ac1..eebf0dd9dafc17 100644 --- a/app/javascript/mastodon/locales/hi.json +++ b/app/javascript/mastodon/locales/hi.json @@ -237,7 +237,6 @@ "empty_column.hashtag": "यह हैशटैग अभी तक खाली है।", "empty_column.home": "आपकी मुख्य कालक्रम अभी खली है. अन्य उपयोगकर्ताओं से मिलने के लिए और अपनी गतिविधियां शुरू करने के लिए या तो {public} पर जाएं या खोज का उपयोग करें।", "empty_column.list": "यह सूची अभी खाली है. जब इसके सदस्य कोई अभिव्यक्ति देंगे, तो वो यहां दिखाई देंगी.", - "empty_column.lists": "आपके पास अभी तक कोई सूची नहीं है। जब आप एक बनाते हैं, तो यह यहां दिखाई देगा।", "empty_column.mutes": "आपने अभी तक किसी भी उपयोगकर्ता को म्यूट नहीं किया है।", "empty_column.notifications": "आपके पास अभी तक कोई सूचना नहीं है। बातचीत शुरू करने के लिए दूसरों के साथ बातचीत करें।", "empty_column.public": "यहां कुछ नहीं है! सार्वजनिक रूप से कुछ लिखें, या इसे भरने के लिए अन्य सर्वर से उपयोगकर्ताओं का मैन्युअल रूप से अनुसरण करें", @@ -352,18 +351,11 @@ "lightbox.previous": "पिछला", "limited_account_hint.action": "फिर भी प्रोफाइल दिखाओ", "limited_account_hint.title": "यह प्रोफ़ाइल {domain} के मॉडरेटर द्वारा छिपाई गई है.", - "lists.account.add": "ऐड तो लिस्ट", - "lists.account.remove": "सूची से निकालें", "lists.delete": "सूची हटाएँ", "lists.edit": "सूची संपादित करें", - "lists.edit.submit": "शीर्षक बदलें", - "lists.new.create": "सूची जोड़ें", - "lists.new.title_placeholder": "नये सूची का शीर्षक", "lists.replies_policy.followed": "अन्य फोल्लोवेद यूजर", "lists.replies_policy.list": "सूची के सदस्य", "lists.replies_policy.none": "कोई नहीं", - "lists.replies_policy.title": "इसके जवाब दिखाएं:", - "lists.subheading": "आपकी सूचियाँ", "media_gallery.hide": "छिपाएं", "navigation_bar.about": "विवरण", "navigation_bar.blocks": "ब्लॉक्ड यूज़र्स", diff --git a/app/javascript/mastodon/locales/hr.json b/app/javascript/mastodon/locales/hr.json index 26c527f2fed48b..f09cd71c7c2fec 100644 --- a/app/javascript/mastodon/locales/hr.json +++ b/app/javascript/mastodon/locales/hr.json @@ -199,7 +199,6 @@ "empty_column.hashtag": "Još ne postoji ništa s ovim hashtagom.", "empty_column.home": "Vaša početna vremenska crta je prazna! Posjetite {public} ili koristite tražilicu kako biste započeli i upoznali druge korisnike.", "empty_column.list": "Na ovoj listi još nema ničega. Kada članovi ove liste objave nove tootove, oni će se pojaviti ovdje.", - "empty_column.lists": "Nemaš niti jednu listu. Kada je kreiraš, prikazat će se ovdje.", "empty_column.mutes": "Niste utišali nijednog korisnika.", "empty_column.notifications": "Još nemate obavijesti. Komunicirajte s drugima kako biste započeli razgovor.", "empty_column.public": "Ovdje nema ništa! Napišite nešto javno ili ručno pratite korisnike s drugi poslužitelja da biste ovo popunili", @@ -298,18 +297,11 @@ "lightbox.next": "Sljedeće", "lightbox.previous": "Prethodno", "limited_account_hint.action": "Svejedno prikaži profil", - "lists.account.add": "Dodaj na listu", - "lists.account.remove": "Ukloni s liste", "lists.delete": "Izbriši listu", "lists.edit": "Uredi listu", - "lists.edit.submit": "Promijeni naslov", - "lists.new.create": "Dodaj listu", - "lists.new.title_placeholder": "Naziv nove liste", "lists.replies_policy.followed": "Bilo koji praćeni korisnik", "lists.replies_policy.list": "Članovi liste", "lists.replies_policy.none": "Nitko", - "lists.search": "Traži među praćenim ljudima", - "lists.subheading": "Vaše liste", "navigation_bar.about": "O aplikaciji", "navigation_bar.advanced_interface": "Otvori u naprednom web sučelju", "navigation_bar.blocks": "Blokirani korisnici", diff --git a/app/javascript/mastodon/locales/hu.json b/app/javascript/mastodon/locales/hu.json index 2ba7aef34b7290..9a76a21e93253e 100644 --- a/app/javascript/mastodon/locales/hu.json +++ b/app/javascript/mastodon/locales/hu.json @@ -292,7 +292,6 @@ "empty_column.hashtag": "Jelenleg nem található semmi ezzel a hashtaggel.", "empty_column.home": "A saját idővonalad üres! Kövess további embereket ennek megtöltéséhez.", "empty_column.list": "A lista jelenleg üres. Ha a listatagok bejegyzést tesznek közzé, itt fog megjelenni.", - "empty_column.lists": "Még nincs egyetlen listád sem. Ha létrehozol egyet, itt fog megjelenni.", "empty_column.mutes": "Még egy felhasználót sem némítottál le.", "empty_column.notification_requests": "Minden tiszta! Itt nincs semmi. Ha új értesítéseket kapsz, azok itt jelennek meg a beállításoknak megfelelően.", "empty_column.notifications": "Jelenleg még nincsenek értesítéseid. Ha mások kapcsolatba lépnek veled, ezek itt lesznek láthatóak.", @@ -465,20 +464,11 @@ "link_preview.author": "{name} szerint", "link_preview.more_from_author": "Több tőle: {name}", "link_preview.shares": "{count, plural, one {{counter} bejegyzés} other {{counter} bejegyzés}}", - "lists.account.add": "Hozzáadás a listához", - "lists.account.remove": "Eltávolítás a listából", "lists.delete": "Lista törlése", "lists.edit": "Lista szerkesztése", - "lists.edit.submit": "Cím megváltoztatása", - "lists.exclusive": "Ezen bejegyzések elrejtése a kezdőoldalról", - "lists.new.create": "Lista hozzáadása", - "lists.new.title_placeholder": "Új lista címe", "lists.replies_policy.followed": "Bármely követett felhasználó", "lists.replies_policy.list": "A lista tagjai", "lists.replies_policy.none": "Senki", - "lists.replies_policy.title": "Nekik mutassuk a válaszokat:", - "lists.search": "Keresés a követett emberek között", - "lists.subheading": "Saját listák", "load_pending": "{count, plural, one {# új elem} other {# új elem}}", "loading_indicator.label": "Betöltés…", "media_gallery.hide": "Elrejtés", diff --git a/app/javascript/mastodon/locales/hy.json b/app/javascript/mastodon/locales/hy.json index 9e5ae790453057..b5faf7e7202403 100644 --- a/app/javascript/mastodon/locales/hy.json +++ b/app/javascript/mastodon/locales/hy.json @@ -174,7 +174,6 @@ "empty_column.hashtag": "Այս պիտակով դեռ ոչինչ չկայ։", "empty_column.home": "Քո հիմնական հոսքը դատարկ է։ Այցելի՛ր {public}ը կամ օգտուիր որոնումից՝ այլ մարդկանց հանդիպելու համար։", "empty_column.list": "Այս ցանկում դեռ ոչինչ չկայ։ Երբ ցանկի անդամներից որեւէ մէկը նոր գրառում անի, այն կը յայտնուի այստեղ։", - "empty_column.lists": "Դուք դեռ չունէք ստեղծած ցանկ։ Ցանկ ստեղծելուն պէս այն կը յայտնուի այստեղ։", "empty_column.mutes": "Առայժմ ոչ ոքի չէք լռեցրել։", "empty_column.notifications": "Ոչ մի ծանուցում դեռ չունես։ Բզիր միւսներին՝ խօսակցութիւնը սկսելու համար։", "empty_column.public": "Այստեղ բան չկա՛յ։ Հրապարակային մի բան գրիր կամ հետեւիր այլ հանգոյցներից էակների՝ այն լցնելու համար։", @@ -273,19 +272,11 @@ "lightbox.close": "Փակել", "lightbox.next": "Յաջորդ", "lightbox.previous": "Նախորդ", - "lists.account.add": "Աւելացնել ցանկին", - "lists.account.remove": "Հանել ցանկից", "lists.delete": "Ջնջել ցանկը", "lists.edit": "Փոփոխել ցանկը", - "lists.edit.submit": "Փոխել վերնագիրը", - "lists.new.create": "Աւելացնել ցանկ", - "lists.new.title_placeholder": "Նոր ցանկի վերնագիր", "lists.replies_policy.followed": "Ցանկացած հետեւող օգտատէր", "lists.replies_policy.list": "Ցանկի անդամներ", "lists.replies_policy.none": "Ոչ ոք", - "lists.replies_policy.title": "Ցուցադրել պատասխանները՝", - "lists.search": "Փնտրել քո հետեւած մարդկանց մէջ", - "lists.subheading": "Քո ցանկերը", "load_pending": "{count, plural, one {# նոր նիւթ} other {# նոր նիւթ}}", "navigation_bar.about": "Մասին", "navigation_bar.blocks": "Արգելափակուած օգտատէրեր", diff --git a/app/javascript/mastodon/locales/ia.json b/app/javascript/mastodon/locales/ia.json index 402829817f860a..891c293d50aae3 100644 --- a/app/javascript/mastodon/locales/ia.json +++ b/app/javascript/mastodon/locales/ia.json @@ -292,7 +292,6 @@ "empty_column.hashtag": "Il non ha ancora alcun cosa in iste hashtag.", "empty_column.home": "Tu chronologia de initio es vacue! Seque plus personas pro plenar lo.", "empty_column.list": "Iste lista es ancora vacue. Quando le membros de iste lista publica nove messages, illos apparera hic.", - "empty_column.lists": "Tu non ha ancora listas. Quando tu crea un, illo apparera hic.", "empty_column.mutes": "Tu non ha ancora silentiate alcun usator.", "empty_column.notification_requests": "Iste lista es toto vacue! Quando tu recipe notificationes, illos apparera hic como configurate in tu parametros.", "empty_column.notifications": "Tu non ha ancora notificationes. Quando altere personas interage con te, tu lo videra hic.", @@ -465,20 +464,11 @@ "link_preview.author": "Per {name}", "link_preview.more_from_author": "Plus de {name}", "link_preview.shares": "{count, plural, one {{counter} message} other {{counter} messages}}", - "lists.account.add": "Adder al lista", - "lists.account.remove": "Remover del lista", "lists.delete": "Deler lista", "lists.edit": "Modificar lista", - "lists.edit.submit": "Cambiar titulo", - "lists.exclusive": "Celar iste messages sur le pagina de initio", - "lists.new.create": "Adder lista", - "lists.new.title_placeholder": "Nove titulo del lista", "lists.replies_policy.followed": "Qualcunque usator sequite", "lists.replies_policy.list": "Membros del lista", "lists.replies_policy.none": "Nemo", - "lists.replies_policy.title": "Monstrar responsas a:", - "lists.search": "Cercar inter le gente que tu seque", - "lists.subheading": "Tu listas", "load_pending": "{count, plural, one {# nove entrata} other {# nove entratas}}", "loading_indicator.label": "Cargante…", "media_gallery.hide": "Celar", diff --git a/app/javascript/mastodon/locales/id.json b/app/javascript/mastodon/locales/id.json index 4b4336396036b3..c966ea0ab08cf2 100644 --- a/app/javascript/mastodon/locales/id.json +++ b/app/javascript/mastodon/locales/id.json @@ -267,7 +267,6 @@ "empty_column.hashtag": "Tidak ada apa pun dalam hashtag ini.", "empty_column.home": "Linimasa anda kosong! Kunjungi {public} atau gunakan pencarian untuk memulai dan bertemu pengguna lain.", "empty_column.list": "Belum ada apa pun di daftar ini. Ketika anggota dari daftar ini mengirim kiriman baru, mereka akan tampil di sini.", - "empty_column.lists": "Anda belum memiliki daftar. Ketika Anda membuatnya, maka akan muncul di sini.", "empty_column.mutes": "Anda belum membisukan siapa pun.", "empty_column.notifications": "Anda belum memiliki notifikasi. Ketika orang lain berinteraksi dengan Anda, Anda akan melihatnya di sini.", "empty_column.public": "Tidak ada apa pun di sini! Tulis sesuatu, atau ikuti pengguna lain dari server lain untuk mengisi ini", @@ -393,19 +392,11 @@ "limited_account_hint.action": "Tetap tampilkan profil", "limited_account_hint.title": "Profil ini telah disembunyikan oleh moderator {domain}.", "link_preview.author": "Oleh {name}", - "lists.account.add": "Tambah ke daftar", - "lists.account.remove": "Hapus dari daftar", "lists.delete": "Hapus daftar", "lists.edit": "Sunting daftar", - "lists.edit.submit": "Ubah judul", - "lists.new.create": "Tambah daftar", - "lists.new.title_placeholder": "Judul daftar baru", "lists.replies_policy.followed": "Siapa pun pengguna yang diikuti", "lists.replies_policy.list": "Anggota di daftar tersebut", "lists.replies_policy.none": "Tidak ada satu pun", - "lists.replies_policy.title": "Tampilkan balasan ke:", - "lists.search": "Cari di antara orang yang Anda ikuti", - "lists.subheading": "Daftar Anda", "load_pending": "{count, plural, other {# item baru}}", "loading_indicator.label": "Memuat…", "moved_to_account_banner.text": "Akun {disabledAccount} Anda kini dinonaktifkan karena Anda pindah ke {movedToAccount}.", diff --git a/app/javascript/mastodon/locales/ie.json b/app/javascript/mastodon/locales/ie.json index f58cf1c71c7452..2be72b0488bf50 100644 --- a/app/javascript/mastodon/locales/ie.json +++ b/app/javascript/mastodon/locales/ie.json @@ -253,7 +253,6 @@ "empty_column.hashtag": "Hay nullcos en ti-ci hashtag ancor.", "empty_column.home": "Tui hemal témpor-linea es vacui! Sequer plu gente por plenar it.", "empty_column.list": "Ancor ne hay quocunc in ti-ci liste. Quande membres de ti-ci liste publica nov postas, ili va aparir ci.", - "empty_column.lists": "Tu ancor have null listes. Quande tu crea un, it va aparir ci.", "empty_column.mutes": "Tu ancor ha silentiat null usatores.", "empty_column.notification_requests": "Omnicos clar! Hay necos ci. Nov notificationes va venir ci quande tu recive les secun tui parametres.", "empty_column.notifications": "Tu have null notificationes. Quande altri persones interacte con te, tu va vider it ci.", @@ -399,20 +398,11 @@ "limited_account_hint.action": "Monstrar profil totvez", "limited_account_hint.title": "Ti-ci profil ha esset celat del moderatores de {domain}.", "link_preview.author": "De {name}", - "lists.account.add": "Adjunter a liste", - "lists.account.remove": "Remover de liste", "lists.delete": "Deleter liste", "lists.edit": "Redacter liste", - "lists.edit.submit": "Changear titul", - "lists.exclusive": "Celar ti-ci postas del hemal témpor-linea", - "lists.new.create": "Adjunter liste", - "lists.new.title_placeholder": "Titul del nov liste", "lists.replies_policy.followed": "Quelcunc sequet usator", "lists.replies_policy.list": "Membres del liste", "lists.replies_policy.none": "Nequi", - "lists.replies_policy.title": "Monstrar responses a:", - "lists.search": "Serchar inter li persones quem tu seque", - "lists.subheading": "Tui listes", "load_pending": "{count, plural, one {# nov element} other {# nov elementes}}", "loading_indicator.label": "Cargant…", "moved_to_account_banner.text": "Tui conto {disabledAccount} es actualmen desactivisat pro que tu movet te a {movedToAccount}.", diff --git a/app/javascript/mastodon/locales/ig.json b/app/javascript/mastodon/locales/ig.json index bcd62187af55cd..60cb9b7c368bd0 100644 --- a/app/javascript/mastodon/locales/ig.json +++ b/app/javascript/mastodon/locales/ig.json @@ -110,7 +110,6 @@ "lightbox.close": "Mechie", "lists.delete": "Hichapụ ndepụta", "lists.edit": "Dezie ndepụta", - "lists.subheading": "Ndepụta gị", "navigation_bar.about": "Maka", "navigation_bar.bookmarks": "Ebenrụtụakā", "navigation_bar.discover": "Chọpụta", diff --git a/app/javascript/mastodon/locales/io.json b/app/javascript/mastodon/locales/io.json index f9173b65f9f90b..8e2ea3dea498ef 100644 --- a/app/javascript/mastodon/locales/io.json +++ b/app/javascript/mastodon/locales/io.json @@ -271,7 +271,6 @@ "empty_column.hashtag": "Esas ankore nulo en ta gretovorto.", "empty_column.home": "Vua hemtempolineo esas vakua! Sequez plu multa personi por plenigar lu. {suggestions}", "empty_column.list": "There is nothing in this list yet.", - "empty_column.lists": "Vu ne havas irga listi til nun. Kande vu kreas talo, ol montresos hike.", "empty_column.mutes": "Vu ne silencigis irga uzanti til nun.", "empty_column.notification_requests": "Finis. Kande vu recevas nova savigi, oli aparos hike segun vua preferaji.", "empty_column.notifications": "Tu havas ankore nula savigo. Komunikez kun altri por debutar la konverso.", @@ -441,20 +440,11 @@ "link_preview.author": "Da {name}", "link_preview.more_from_author": "Plua de {name}", "link_preview.shares": "{count, plural,one {{counter} posto} other {{counter} posti}}", - "lists.account.add": "Insertez a listo", - "lists.account.remove": "Efacez de listo", "lists.delete": "Efacez listo", "lists.edit": "Modifikez listo", - "lists.edit.submit": "Chanjez titulo", - "lists.exclusive": "Celar ca posti del hemo", - "lists.new.create": "Insertez listo", - "lists.new.title_placeholder": "Nova listotitulo", "lists.replies_policy.followed": "Irga sequita uzanto", "lists.replies_policy.list": "Membro di listo", "lists.replies_policy.none": "Nulu", - "lists.replies_policy.title": "Montrez respondi a:", - "lists.search": "Trovez inter personi quon vu sequas", - "lists.subheading": "Vua listi", "load_pending": "{count, plural, one {# nova kozo} other {# nova kozi}}", "loading_indicator.label": "Kargante…", "media_gallery.hide": "Celez", diff --git a/app/javascript/mastodon/locales/is.json b/app/javascript/mastodon/locales/is.json index ecfc6429691e66..ce4c21e18b71d3 100644 --- a/app/javascript/mastodon/locales/is.json +++ b/app/javascript/mastodon/locales/is.json @@ -140,13 +140,16 @@ "column.blocks": "Útilokaðir notendur", "column.bookmarks": "Bókamerki", "column.community": "Staðvær tímalína", + "column.create_list": "Búa til lista", "column.direct": "Einkaspjall", "column.directory": "Skoða notendasnið", "column.domain_blocks": "Útilokuð lén", + "column.edit_list": "Breyta lista", "column.favourites": "Eftirlæti", "column.firehose": "Bein streymi", "column.follow_requests": "Beiðnir um að fylgjast með", "column.home": "Heim", + "column.list_members": "Sýsla með meðlimi listans", "column.lists": "Listar", "column.mutes": "Þaggaðir notendur", "column.notifications": "Tilkynningar", @@ -292,7 +295,6 @@ "empty_column.hashtag": "Það er ekkert ennþá undir þessu myllumerki.", "empty_column.home": "Heimatímalínan þín er tóm! Fylgstu með fleira fólki til að fylla hana. {suggestions}", "empty_column.list": "Það er ennþá ekki neitt á þessum lista. Þegar meðlimir á listanum senda inn nýjar færslur, munu þær birtast hér.", - "empty_column.lists": "Þú ert ennþá ekki með neina lista. Þegar þú býrð til einhvern lista, munu hann birtast hér.", "empty_column.mutes": "Þú hefur ekki þaggað niður í neinum notendum ennþá.", "empty_column.notification_requests": "Allt hreint! Það er ekkert hér. Þegar þú færð nýjar tilkynningar, munu þær birtast hér í samræmi við stillingarnar þínar.", "empty_column.notifications": "Þú ert ekki ennþá með neinar tilkynningar. Vertu í samskiptum við aðra til að umræður fari af stað.", @@ -465,20 +467,32 @@ "link_preview.author": "Frá {name}", "link_preview.more_from_author": "Meira frá {name}", "link_preview.shares": "{count, plural, one {{counter} færsla} other {{counter} færslur}}", - "lists.account.add": "Bæta á lista", - "lists.account.remove": "Fjarlægja af lista", + "lists.add_member": "Bæta við", + "lists.add_to_list": "Bæta á lista", + "lists.add_to_lists": "Bæta {name} á lista", + "lists.create": "Búa til", + "lists.create_a_list_to_organize": "Búðu til nýjan lista til að skipuleggja heimastreymið þitt", + "lists.create_list": "Búa til lista", "lists.delete": "Eyða lista", + "lists.done": "Lokið", "lists.edit": "Breyta lista", - "lists.edit.submit": "Breyta titli", - "lists.exclusive": "Hylja þessar færslur í heimastreymi", - "lists.new.create": "Bæta við lista", - "lists.new.title_placeholder": "Titill á nýjum lista", + "lists.exclusive": "Fela meðlimi í heimastreyminu", + "lists.exclusive_hint": "Ef einhver er á þessum lista, geturðu falið viðkomandi í heimastreyminu þínu til að komast hjá því að sjá færslurnar þeirra í tvígang.", + "lists.find_users_to_add": "Finndu notendur til að bæta við", + "lists.list_members": "Meðlimir lista", + "lists.list_members_count": "{count, plural, one {# meðlimur} other {# meðlimir}}", + "lists.list_name": "Heiti lista", + "lists.new_list_name": "Heiti á nýjum lista", + "lists.no_lists_yet": "Ennþá engir listar.", + "lists.no_members_yet": "Ennþá engir meðlimir.", + "lists.no_results_found": "Engar niðurstöður fundust.", + "lists.remove_member": "Fjarlægja", "lists.replies_policy.followed": "Allra notenda sem fylgst er með", "lists.replies_policy.list": "Meðlima listans", "lists.replies_policy.none": "Engra", - "lists.replies_policy.title": "Sýna svör til:", - "lists.search": "Leita meðal þeirra sem þú fylgist með", - "lists.subheading": "Listarnir þínir", + "lists.save": "Vista", + "lists.search_placeholder": "Leitaðu að fólki sem þú fylgist með", + "lists.show_replies_to": "Hafa með svör frá meðlimum lista til", "load_pending": "{count, plural, one {# nýtt atriði} other {# ný atriði}}", "loading_indicator.label": "Hleð inn…", "media_gallery.hide": "Fela", diff --git a/app/javascript/mastodon/locales/it.json b/app/javascript/mastodon/locales/it.json index c4fcbdc3a4b2b8..d947b59eae681d 100644 --- a/app/javascript/mastodon/locales/it.json +++ b/app/javascript/mastodon/locales/it.json @@ -289,7 +289,6 @@ "empty_column.hashtag": "Non c'è ancora nulla in questo hashtag.", "empty_column.home": "La cronologia della tua home è vuota! Segui altre persone per riempirla. {suggestions}", "empty_column.list": "Non c'è ancora nulla in questo elenco. Quando i membri di questo elenco pubblicheranno nuovi post, appariranno qui.", - "empty_column.lists": "Non hai ancora nessun elenco. Quando ne creerai uno, apparirà qui.", "empty_column.mutes": "Non hai ancora silenziato alcun utente.", "empty_column.notification_requests": "Tutto chiaro! Non c'è niente qui. Quando ricevi nuove notifiche, verranno visualizzate qui in base alle tue impostazioni.", "empty_column.notifications": "Non hai ancora nessuna notifica. Quando altre persone interagiranno con te, le vedrai qui.", @@ -462,20 +461,11 @@ "link_preview.author": "Di {name}", "link_preview.more_from_author": "Altro da {name}", "link_preview.shares": "{count, plural, one {{counter} post} other {{counter} post}}", - "lists.account.add": "Aggiungi all'elenco", - "lists.account.remove": "Rimuovi dall'elenco", "lists.delete": "Elimina elenco", "lists.edit": "Modifica elenco", - "lists.edit.submit": "Cambia il titolo", - "lists.exclusive": "Nascondi questi post dalla home", - "lists.new.create": "Aggiungi lista", - "lists.new.title_placeholder": "Titolo del nuovo elenco", "lists.replies_policy.followed": "Qualsiasi utente seguito", "lists.replies_policy.list": "Membri dell'elenco", "lists.replies_policy.none": "Nessuno", - "lists.replies_policy.title": "Mostra risposte a:", - "lists.search": "Cerca tra le persone che segui", - "lists.subheading": "Le tue liste", "load_pending": "{count, plural, one {# nuovo oggetto} other {# nuovi oggetti}}", "loading_indicator.label": "Caricamento…", "media_gallery.hide": "Nascondi", diff --git a/app/javascript/mastodon/locales/ja.json b/app/javascript/mastodon/locales/ja.json index b839764242dfa1..1f891b9f90804a 100644 --- a/app/javascript/mastodon/locales/ja.json +++ b/app/javascript/mastodon/locales/ja.json @@ -291,7 +291,6 @@ "empty_column.hashtag": "このハッシュタグはまだ使われていません。", "empty_column.home": "ホームタイムラインはまだ空っぽです。だれかをフォローして埋めてみましょう。", "empty_column.list": "このリストにはまだなにもありません。このリストのメンバーが新しい投稿をするとここに表示されます。", - "empty_column.lists": "まだリストがありません。リストを作るとここに表示されます。", "empty_column.mutes": "まだ誰もミュートしていません。", "empty_column.notification_requests": "ここに表示するものはありません。新しい通知を受け取ったとき、フィルタリング設定で通知がブロックされたアカウントがある場合はここに表示されます。", "empty_column.notifications": "まだ通知がありません。他の人とふれ合って会話を始めましょう。", @@ -464,20 +463,11 @@ "link_preview.author": "{name}", "link_preview.more_from_author": "{name}さんの投稿をもっと読む", "link_preview.shares": "{count, plural, other {{counter}件の投稿}}", - "lists.account.add": "リストに追加", - "lists.account.remove": "リストから外す", "lists.delete": "リストを削除", "lists.edit": "リストを編集", - "lists.edit.submit": "タイトルを変更", - "lists.exclusive": "ホームタイムラインからこれらの投稿を非表示にする", - "lists.new.create": "リストを作成", - "lists.new.title_placeholder": "新規リスト名", "lists.replies_policy.followed": "フォロー中のユーザー全員", "lists.replies_policy.list": "リストのメンバー", "lists.replies_policy.none": "表示しない", - "lists.replies_policy.title": "リプライを表示:", - "lists.search": "フォローしている人の中から検索", - "lists.subheading": "あなたのリスト", "load_pending": "{count}件の新着", "loading_indicator.label": "読み込み中…", "media_gallery.hide": "隠す", diff --git a/app/javascript/mastodon/locales/ka.json b/app/javascript/mastodon/locales/ka.json index fc0ed0730d78cf..b38cc0e44aeb11 100644 --- a/app/javascript/mastodon/locales/ka.json +++ b/app/javascript/mastodon/locales/ka.json @@ -145,14 +145,8 @@ "lightbox.close": "დახურვა", "lightbox.next": "შემდეგი", "lightbox.previous": "წინა", - "lists.account.add": "სიაში დამატება", - "lists.account.remove": "სიიდან ამოშლა", "lists.delete": "სიის წაშლა", "lists.edit": "სიის შეცვლა", - "lists.new.create": "სიის დამატება", - "lists.new.title_placeholder": "ახალი სიის სათაური", - "lists.search": "ძებნა ადამიანებს შორის რომელთაც მიჰყვებით", - "lists.subheading": "თქვენი სიები", "navigation_bar.blocks": "დაბლოკილი მომხმარებლები", "navigation_bar.community_timeline": "ლოკალური თაიმლაინი", "navigation_bar.compose": "Compose new toot", diff --git a/app/javascript/mastodon/locales/kab.json b/app/javascript/mastodon/locales/kab.json index 9cf94f26062bb0..74d8e5a194cd45 100644 --- a/app/javascript/mastodon/locales/kab.json +++ b/app/javascript/mastodon/locales/kab.json @@ -219,7 +219,6 @@ "empty_column.hashtag": "Ar tura ulac kra n ugbur yesɛan assaɣ ɣer uhacṭag-agi.", "empty_column.home": "Tasuddemt tagejdant n yisallen d tilemt! Ẓer {public} neɣ nadi ad tafeḍ imseqdacen-nniḍen ad ten-ḍefṛeḍ.", "empty_column.list": "Ar tura ur yelli kra deg umuɣ-a. Ad d-yettwasken da ticki iɛeggalen n wumuɣ-a suffɣen-d kra.", - "empty_column.lists": "Ulac ɣur-k·m kra n wumuɣ yakan. Ad d-tettwasken da ticki tesluleḍ-d yiwet.", "empty_column.mutes": "Ulac ɣur-k·m imseqdacen i yettwasgugmen.", "empty_column.notifications": "Ulac ɣur-k·m alɣuten. Sedmer akked yemdanen-nniḍen akken ad tebduḍ adiwenni.", "empty_column.public": "Ulac kra da! Aru kra, neɣ ḍfeṛ imdanen i yellan deg yiqeddacen-nniḍen akken ad d-teččar tsuddemt tazayezt", @@ -341,20 +340,11 @@ "link_preview.author": "S-ɣur {name}", "link_preview.more_from_author": "Ugar sɣur {name}", "link_preview.shares": "{count, plural, one {{counter} n tsuffeɣt} other {{counter} n tsuffaɣ}}", - "lists.account.add": "Rnu ɣer tebdart", - "lists.account.remove": "Kkes seg tebdart", "lists.delete": "Kkes tabdart", "lists.edit": "Ẓreg tabdart", - "lists.edit.submit": "Beddel azwel", - "lists.exclusive": "Ffer tisuffaɣ-a seg ugejdan", - "lists.new.create": "Rnu tabdart", - "lists.new.title_placeholder": "Azwel amaynut n tebdart", "lists.replies_policy.followed": "Kra n useqdac i yettwaḍefren", "lists.replies_policy.list": "Iɛeggalen n tebdart", "lists.replies_policy.none": "Ula yiwen·t", - "lists.replies_policy.title": "Ssken-d tiririyin i:", - "lists.search": "Nadi gar yemdanen i teṭṭafaṛeḍ", - "lists.subheading": "Tibdarin-ik·im", "load_pending": "{count, plural, one {# n uferdis amaynut} other {# n yiferdisen imaynuten}}", "loading_indicator.label": "Yessalay-d …", "media_gallery.hide": "Seggelmes", diff --git a/app/javascript/mastodon/locales/kk.json b/app/javascript/mastodon/locales/kk.json index f146fc652d54d2..fad2807ffa6e89 100644 --- a/app/javascript/mastodon/locales/kk.json +++ b/app/javascript/mastodon/locales/kk.json @@ -149,7 +149,6 @@ "empty_column.hashtag": "Бұндай хэштегпен әлі ешкім жазбапты.", "empty_column.home": "Әлі ешкімге жазылмапсыз. Бәлкім {public} жазбаларын қарап немесе іздеуді қолданып көрерсіз.", "empty_column.list": "Бұл тізімде ештеңе жоқ.", - "empty_column.lists": "Әзірше ешқандай тізіміңіз жоқ. Біреуін құрғаннан кейін осы жерде көрінетін болады.", "empty_column.mutes": "Әзірше ешқандай үнсізге қойылған қолданушы жоқ.", "empty_column.notifications": "Әзірше ешқандай ескертпе жоқ. Басқалармен араласуды бастаңыз және пікірталастарға қатысыңыз.", "empty_column.public": "Ештеңе жоқ бұл жерде! Өзіңіз бастап жазып көріңіз немесе басқаларға жазылыңыз", @@ -212,15 +211,8 @@ "lightbox.close": "Жабу", "lightbox.next": "Келесі", "lightbox.previous": "Алдыңғы", - "lists.account.add": "Тізімге қосу", - "lists.account.remove": "Тізімнен шығару", "lists.delete": "Тізімді өшіру", "lists.edit": "Тізімді өңдеу", - "lists.edit.submit": "Тақырыбын өзгерту", - "lists.new.create": "Тізім құру", - "lists.new.title_placeholder": "Жаңа тізім аты", - "lists.search": "Сіз іздеген адамдар арасында іздеу", - "lists.subheading": "Тізімдеріңіз", "load_pending": "{count, plural, one {# жаңа нәрсе} other {# жаңа нәрсе}}", "navigation_bar.blocks": "Бұғатталғандар", "navigation_bar.bookmarks": "Бетбелгілер", diff --git a/app/javascript/mastodon/locales/ko.json b/app/javascript/mastodon/locales/ko.json index 43f1e59e5ebdd8..ac19040d3a83cc 100644 --- a/app/javascript/mastodon/locales/ko.json +++ b/app/javascript/mastodon/locales/ko.json @@ -292,7 +292,6 @@ "empty_column.hashtag": "이 해시태그는 아직 사용되지 않았습니다.", "empty_column.home": "당신의 홈 타임라인은 비어있습니다! 더 많은 사람을 팔로우하여 채워보세요.", "empty_column.list": "리스트에 아직 아무것도 없습니다. 리스트의 누군가가 게시물을 올리면 여기에 나타납니다.", - "empty_column.lists": "아직 리스트가 없습니다. 리스트를 만들면 여기에 나타납니다.", "empty_column.mutes": "아직 아무도 뮤트하지 않았습니다.", "empty_column.notification_requests": "깔끔합니다! 여기엔 아무 것도 없습니다. 알림을 받게 되면 설정에 따라 여기에 나타나게 됩니다.", "empty_column.notifications": "아직 알림이 없습니다. 다른 사람들이 당신에게 반응했을 때, 여기에서 볼 수 있습니다.", @@ -465,20 +464,11 @@ "link_preview.author": "{name}", "link_preview.more_from_author": "{name} 프로필 보기", "link_preview.shares": "{count, plural, other {{counter} 개의 게시물}}", - "lists.account.add": "리스트에 추가", - "lists.account.remove": "리스트에서 제거", "lists.delete": "리스트 삭제", "lists.edit": "리스트 편집", - "lists.edit.submit": "제목 수정", - "lists.exclusive": "홈에서 이 게시물들 숨기기", - "lists.new.create": "리스트 추가", - "lists.new.title_placeholder": "새 리스트의 이름", "lists.replies_policy.followed": "팔로우 한 사용자 누구나", "lists.replies_policy.list": "리스트의 구성원", "lists.replies_policy.none": "모두 제외", - "lists.replies_policy.title": "답글 표시:", - "lists.search": "팔로우 중인 사람들 중에서 찾기", - "lists.subheading": "리스트", "load_pending": "{count, plural, other {#}} 개의 새 항목", "loading_indicator.label": "불러오는 중...", "media_gallery.hide": "숨기기", diff --git a/app/javascript/mastodon/locales/ku.json b/app/javascript/mastodon/locales/ku.json index 86ecf984464718..d15fbb6762403e 100644 --- a/app/javascript/mastodon/locales/ku.json +++ b/app/javascript/mastodon/locales/ku.json @@ -190,7 +190,6 @@ "empty_column.hashtag": "Di vê hashtagê de hêj tiştekî tune.", "empty_column.home": "Rojeva demnameya te vala ye! Ji bona tijîkirinê bêtir mirovan bişopîne. {suggestions}", "empty_column.list": "Di vê rêzokê de hîn tiştek tune ye. Gava ku endamên vê rêzokê peyamên nû biweşînin, ew ê li vir xuya bibin.", - "empty_column.lists": "Hîn tu rêzokên te tune ne. Dema yekî çê bikî, ew ê li vir xuya bibe.", "empty_column.mutes": "Te tu bikarhêner bêdeng nekiriye.", "empty_column.notifications": "Hêj hişyariyên te tunene. Dema ku mirovên din bi we re têkilî danîn, hûn ê wê li vir bibînin.", "empty_column.public": "Li vir tiştekî tuneye! Ji raya giştî re tiştekî binivîsîne, an ji bo tijîkirinê ji rajekerên din bikarhêneran bi destan bişopînin", @@ -297,19 +296,11 @@ "lightbox.previous": "Paş", "limited_account_hint.action": "Bi heman awayî profîlê nîşan bide", "limited_account_hint.title": "Profîl ji aliyê rêveberên {domain}ê ve hatiye veşartin.", - "lists.account.add": "Li lîsteyê zêde bike", - "lists.account.remove": "Ji lîsteyê rake", "lists.delete": "Lîsteyê jê bibe", "lists.edit": "Lîsteyê serrast bike", - "lists.edit.submit": "Sernavê biguherîne", - "lists.new.create": "Li lîsteyê zêde bike", - "lists.new.title_placeholder": "Sernavê lîsteya nû", "lists.replies_policy.followed": "Bikarhênereke şopandî", "lists.replies_policy.list": "Endamên lîsteyê", "lists.replies_policy.none": "Ne yek", - "lists.replies_policy.title": "Bersivan nîşan bide:", - "lists.search": "Di navbera kesên ku te dişopînin bigere", - "lists.subheading": "Lîsteyên te", "load_pending": "{count, plural, one {# hêmaneke nû} other {#hêmaneke nû}}", "moved_to_account_banner.text": "Ajimêrê te {disabledAccount} niha neçalak e ji ber ku te bar kir bo {movedToAccount}.", "navigation_bar.about": "Derbar", diff --git a/app/javascript/mastodon/locales/kw.json b/app/javascript/mastodon/locales/kw.json index cef24aa3b78a0a..49f8149f655032 100644 --- a/app/javascript/mastodon/locales/kw.json +++ b/app/javascript/mastodon/locales/kw.json @@ -131,7 +131,6 @@ "empty_column.hashtag": "Nyns eus travyth y'n bòlnos ma hwath.", "empty_column.home": "Agas amserlin dre yw gwag! Holyewgh moy a dus dh'y lenwel. {suggestions}", "empty_column.list": "Nyns eus travyth y'n rol ma hwath. Pan wra eseli an rol ma dyllo postow nowydh, i a wra omdhiskwedhes omma.", - "empty_column.lists": "Nyns eus dhywgh rolyow hwath. Pan wrewgh onan, hi a wra omdhiskwedhes omma.", "empty_column.mutes": "Ny wrussowgh tawhe devnydhyoryon vyth hwath.", "empty_column.notifications": "Nyns eus dhywgh gwarnyansow hwath. Pan wra tus erel ynterweythresa genowgh, hwi a'n gwel omma.", "empty_column.public": "Nyns eus travyth omma! Skrifewgh neppyth yn poblek, po holyewgh tus a leurennow erel dre leuv dh'y lenwel", @@ -197,19 +196,11 @@ "lightbox.close": "Degea", "lightbox.next": "Nessa", "lightbox.previous": "Kynsa", - "lists.account.add": "Keworra dhe rol", - "lists.account.remove": "Removya a rol", "lists.delete": "Dilea rol", "lists.edit": "Golegi rol", - "lists.edit.submit": "Chanjya titel", - "lists.new.create": "Keworra rol", - "lists.new.title_placeholder": "Titel rol nowydh", "lists.replies_policy.followed": "Py devnydhyer holys pynag", "lists.replies_policy.list": "Eseli an rol", "lists.replies_policy.none": "Nagonan", - "lists.replies_policy.title": "Diskwedhes gorthebow orth:", - "lists.search": "Hwilas yn-mysk tus a holyewgh", - "lists.subheading": "Agas rolyow", "load_pending": "{count, plural, one {# daklennowydh} other {# a daklennow nowydh}}", "navigation_bar.blocks": "Devnydhyoryon lettys", "navigation_bar.bookmarks": "Folennosow", diff --git a/app/javascript/mastodon/locales/la.json b/app/javascript/mastodon/locales/la.json index 55678dbdf83655..fc36d892722aa8 100644 --- a/app/javascript/mastodon/locales/la.json +++ b/app/javascript/mastodon/locales/la.json @@ -81,7 +81,6 @@ "empty_column.followed_tags": "Nōn adhūc aliquem hastāginem secūtus es. Cum id fēceris, hic ostendētur.", "empty_column.home": "Tua linea temporum domesticus vacua est! Sequere plures personas ut eam compleas.", "empty_column.list": "There is nothing in this list yet. When members of this list post new statuses, they will appear here.", - "empty_column.lists": "Nōn adhūc habēs ullo tabellās. Cum creās, hīc apparēbunt.", "empty_column.mutes": "Nondum quemquam usorem tacuisti.", "empty_column.notification_requests": "Omnia clara sunt! Nihil hic est. Cum novās notificātiōnēs accipīs, hic secundum tua praecepta apparebunt.", "empty_column.notifications": "Nōn adhūc habēs ullo notificātiōnēs. Cum aliī tē interagunt, hīc videbis.", @@ -138,9 +137,6 @@ "keyboard_shortcuts.up": "to move up in the list", "lightbox.close": "Claudere", "lightbox.next": "Secundum", - "lists.account.add": "Adde ad tabellās", - "lists.new.create": "Addere tabella", - "lists.subheading": "Tuae tabulae", "load_pending": "{count, plural, one {# novum item} other {# nova itema}}", "moved_to_account_banner.text": "Tua ratione {disabledAccount} interdum reposita est, quod ad {movedToAccount} migrāvisti.", "mute_modal.you_wont_see_mentions": "Non videbis nuntios quī eōs commemorant.", diff --git a/app/javascript/mastodon/locales/lad.json b/app/javascript/mastodon/locales/lad.json index 0a5f82aee3af9c..9f4f6e6cb9f496 100644 --- a/app/javascript/mastodon/locales/lad.json +++ b/app/javascript/mastodon/locales/lad.json @@ -270,7 +270,6 @@ "empty_column.hashtag": "Ainda no ay niente en esta etiketa.", "empty_column.home": "Tu linya de tiempo esta vaziya! Sige a mas personas para inchirla.", "empty_column.list": "Ainda no ay niente en esta lista. Kuando miembros de esta lista publiken muevas publikasyones, se amostraran aki.", - "empty_column.lists": "Ainda no tienes dinguna lista. Kuando kriyes una, aperesera aki.", "empty_column.mutes": "Ainda no tienes silensiado a dingun utilizador.", "empty_column.notifications": "Ainda no tienes dingun avizo. Kuando otras personas enteraktuen kontigo, se amostraran aki.", "empty_column.public": "No ay niente aki! Eskrive algo publikamente o manualmente sige utilizadores de otros sirvidores para inchirlo", @@ -433,20 +432,11 @@ "link_preview.author": "Publikasyon de {name}", "link_preview.more_from_author": "Mas de {name}", "link_preview.shares": "{count, plural, one {{counter} publikasyon} other {{counter} publikasyones}}", - "lists.account.add": "Adjusta a lista", - "lists.account.remove": "Kita de lista", "lists.delete": "Efasa lista", "lists.edit": "Edita lista", - "lists.edit.submit": "Troka titolo", - "lists.exclusive": "Eskonder estas publikasyones de linya prinsipala", - "lists.new.create": "Adjusta lista", - "lists.new.title_placeholder": "Titolo de mueva lista", "lists.replies_policy.followed": "Kualseker utilizador segido", "lists.replies_policy.list": "Miembros de la lista", "lists.replies_policy.none": "Dinguno", - "lists.replies_policy.title": "Amostra repuestas a:", - "lists.search": "Bushka entre personas a las kualas siges", - "lists.subheading": "Tus listas", "load_pending": "{count, plural, one {# muevo elemento} other {# muevos elementos}}", "loading_indicator.label": "Eskargando…", "media_gallery.hide": "Eskonde", diff --git a/app/javascript/mastodon/locales/lt.json b/app/javascript/mastodon/locales/lt.json index 6d4f46f1d445e3..f9080f96e516a0 100644 --- a/app/javascript/mastodon/locales/lt.json +++ b/app/javascript/mastodon/locales/lt.json @@ -140,13 +140,16 @@ "column.blocks": "Užblokuoti naudotojai", "column.bookmarks": "Žymės", "column.community": "Vietinė laiko skalė", + "column.create_list": "Kurti sąrašą", "column.direct": "Privatūs paminėjimai", "column.directory": "Naršyti profilius", "column.domain_blocks": "Užblokuoti serveriai", + "column.edit_list": "Redaguoti sąrašą", "column.favourites": "Mėgstami", "column.firehose": "Tiesioginiai srautai", "column.follow_requests": "Sekimo prašymai", "column.home": "Pagrindinis", + "column.list_members": "Tvarkyti sąrašo narius", "column.lists": "Sąrašai", "column.mutes": "Nutildyti naudotojai", "column.notifications": "Pranešimai", @@ -292,7 +295,6 @@ "empty_column.hashtag": "Nėra nieko šiame saitažodyje kol kas.", "empty_column.home": "Tavo pagrindinio laiko skalė tuščia. Sek daugiau žmonių, kad ją užpildytum.", "empty_column.list": "Nėra nieko šiame sąraše kol kas. Kai šio sąrašo nariai paskelbs naujų įrašų, jie bus rodomi čia.", - "empty_column.lists": "Dar neturi jokių sąrašų. Kai jį sukursi, jis bus rodomas čia.", "empty_column.mutes": "Dar nesi nutildęs (-usi) nė vieno naudotojo.", "empty_column.notification_requests": "Viskas švaru! Čia nieko nėra. Kai gausi naujų pranešimų, jie bus rodomi čia pagal tavo nustatymus.", "empty_column.notifications": "Dar neturi jokių pranešimų. Kai kiti žmonės su tavimi sąveikaus, matysi tai čia.", @@ -465,20 +467,32 @@ "link_preview.author": "Sukūrė {name}", "link_preview.more_from_author": "Daugiau iš {name}", "link_preview.shares": "{count, plural, one {{counter} įrašas} few {{counter} įrašai} many {{counter} įrašo} other {{counter} įrašų}}", - "lists.account.add": "Pridėti į sąrašą", - "lists.account.remove": "Pašalinti iš sąrašo", + "lists.add_member": "Pridėti", + "lists.add_to_list": "Pridėti į sąrašą", + "lists.add_to_lists": "Pridėti {name} į sąrašą", + "lists.create": "Kurti", + "lists.create_a_list_to_organize": "Sukurkite naują sąrašą, kad sutvarkytumėte pagrindinį srautą", + "lists.create_list": "Kurti sąrašą", "lists.delete": "Ištrinti sąrašą", + "lists.done": "Atlikta", "lists.edit": "Redaguoti sąrašą", - "lists.edit.submit": "Keisti pavadinimą", - "lists.exclusive": "Slėpti šiuos įrašus iš pagrindinio", - "lists.new.create": "Pridėti sąrašą", - "lists.new.title_placeholder": "Naujas sąrašo pavadinimas", + "lists.exclusive": "Slėpti narius pagrindiniame", + "lists.exclusive_hint": "Jei kas nors yra šiame sąraše, paslėpkite juos pagrindinio srauto laiko skalėje, kad nematytumėte jų įrašus dukart.", + "lists.find_users_to_add": "Raskite naudotojų, kurių pridėti", + "lists.list_members": "Sąrašo nariai", + "lists.list_members_count": "{count, plural, one {# narys} few {# nariai} many {# nario} other {# narių}}", + "lists.list_name": "Sąrašo pavadinimas", + "lists.new_list_name": "Naujas sąrašo pavadinimas", + "lists.no_lists_yet": "Kol kas nėra sąrašų.", + "lists.no_members_yet": "Kol kas nėra narių.", + "lists.no_results_found": "Rezultatų nerasta.", + "lists.remove_member": "Šalinti", "lists.replies_policy.followed": "Bet kuriam sekamam naudotojui", "lists.replies_policy.list": "Sąrašo nariams", "lists.replies_policy.none": "Nei vienam", - "lists.replies_policy.title": "Rodyti atsakymus:", - "lists.search": "Ieškoti tarp sekamų žmonių", - "lists.subheading": "Tavo sąrašai", + "lists.save": "Išsaugoti", + "lists.search_placeholder": "Ieškokite asmenų, kuriuos sekate", + "lists.show_replies_to": "Įtraukti atsakymus iš sąrašo narių į", "load_pending": "{count, plural, one {# naujas elementas} few {# nauji elementai} many {# naujo elemento} other {# naujų elementų}}", "loading_indicator.label": "Kraunama…", "media_gallery.hide": "Slėpti", diff --git a/app/javascript/mastodon/locales/lv.json b/app/javascript/mastodon/locales/lv.json index d6fcb348281740..542231f05fa33d 100644 --- a/app/javascript/mastodon/locales/lv.json +++ b/app/javascript/mastodon/locales/lv.json @@ -262,7 +262,6 @@ "empty_column.hashtag": "Ar šo tēmturi nekas nav atrodams.", "empty_column.home": "Tava mājas laikjosla ir tukša. Seko vairāk cilvēkiem, lai to piepildītu!", "empty_column.list": "Pagaidām šajā sarakstā nekā nav. Kad šī saraksta dalībnieki ievietos jaunus ierakstus, tie parādīsies šeit.", - "empty_column.lists": "Pašlaik Tev nav neviena saraksta. Kad tādu izveidosi, tas parādīsies šeit.", "empty_column.mutes": "Neviens lietotājs vēl nav apklusināts.", "empty_column.notifications": "Tev vēl nav paziņojumu. Kad citi cilvēki ar Tevi mijiedarbosies, Tu to redzēsi šeit.", "empty_column.public": "Šeit nekā nav. Ieraksti kaut ko publiski vai seko lietotājiem no citiem serveriem, lai iegūtu saturu", @@ -405,20 +404,11 @@ "limited_account_hint.title": "{domain} moderatori ir paslēpuši šo profilu.", "link_preview.author": "Pēc {name}", "link_preview.more_from_author": "Vairāk no {name}", - "lists.account.add": "Pievienot sarakstam", - "lists.account.remove": "Noņemt no saraksta", "lists.delete": "Izdzēst sarakstu", "lists.edit": "Labot sarakstu", - "lists.edit.submit": "Mainīt virsrakstu", - "lists.exclusive": "Nerādīt šos ierakstus sākumā", - "lists.new.create": "Pievienot sarakstu", - "lists.new.title_placeholder": "Jaunā saraksta nosaukums", "lists.replies_policy.followed": "Jebkuram sekotajam lietotājam", "lists.replies_policy.list": "Saraksta dalībniekiem", "lists.replies_policy.none": "Nevienam", - "lists.replies_policy.title": "Rādīt atbildes:", - "lists.search": "Meklēt starp cilvēkiem, kuriem tu seko", - "lists.subheading": "Tavi saraksti", "load_pending": "{count, plural, one {# jauna lieta} other {# jaunas lietas}}", "loading_indicator.label": "Ielādē…", "media_gallery.hide": "Paslēpt", diff --git a/app/javascript/mastodon/locales/ml.json b/app/javascript/mastodon/locales/ml.json index b7a2ad2a3f002a..de4f565a5fa5de 100644 --- a/app/javascript/mastodon/locales/ml.json +++ b/app/javascript/mastodon/locales/ml.json @@ -275,17 +275,9 @@ "lightbox.previous": "പുറകോട്ട്", "limited_account_hint.action": "എന്നാലും രൂപരേഖ കാണിക്കുക", "link_preview.author": "{name}-നിന്നു്", - "lists.account.add": "പട്ടികയിലേക്ക് ചേർക്കുക", - "lists.account.remove": "പട്ടികയിൽ നിന്ന് ഒഴിവാക്കുക", "lists.delete": "പട്ടിക ഒഴിവാക്കുക", "lists.edit": "പട്ടിക തിരുത്തുക", - "lists.edit.submit": "തലക്കെട്ട് മാറ്റുക", - "lists.exclusive": "ഈ എഴുത്തുകൾ ആമുഖം നിന്നു് മറയ്ക്കുക", - "lists.new.create": "പുതിയ പട്ടിക ചേർക്കുക", - "lists.new.title_placeholder": "പുതിയ പട്ടിക തലക്കെട്ടു്", "lists.replies_policy.none": "ആരുമില്ല", - "lists.replies_policy.title": "ഇതിനുള്ള മറുപടികൾ കാണിക്കുക:", - "lists.subheading": "എന്റെ പട്ടികകൾ", "media_gallery.hide": "മറയ്ക്കുക", "navigation_bar.blocks": "തടയപ്പെട്ട ഉപയോക്താക്കൾ", "navigation_bar.bookmarks": "ബുക്ക്മാർക്കുകൾ", diff --git a/app/javascript/mastodon/locales/mr.json b/app/javascript/mastodon/locales/mr.json index aa8169616e70e3..363269541b3ff3 100644 --- a/app/javascript/mastodon/locales/mr.json +++ b/app/javascript/mastodon/locales/mr.json @@ -173,19 +173,11 @@ "lightbox.previous": "मागील", "limited_account_hint.action": "तरीही प्रोफाइल दाखवा", "limited_account_hint.title": "हे प्रोफाइल {domain} च्या नियंत्रकांनी लपवले आहे.", - "lists.account.add": "यादीमध्ये जोडा", - "lists.account.remove": "यादीमधून काढा", "lists.delete": "सूची हटवा", "lists.edit": "सूची संपादित करा", - "lists.edit.submit": "शीर्षक बदला", - "lists.new.create": "यादी जोडा", - "lists.new.title_placeholder": "नवीन सूची शीर्षक", "lists.replies_policy.followed": "कोणताही फॉलो केलेला वापरकर्ता", "lists.replies_policy.list": "यादीतील सदस्य", "lists.replies_policy.none": "कोणीच नाही", - "lists.replies_policy.title": "यांना उत्तरे दाखवा:", - "lists.search": "तुम्ही फॉलो करत असलेल्या लोकांमध्ये शोधा", - "lists.subheading": "तुमच्या याद्या", "load_pending": "{count, plural, one {# new item} other {# new items}}", "navigation_bar.compose": "Compose new toot", "navigation_bar.domain_blocks": "Hidden domains", diff --git a/app/javascript/mastodon/locales/ms.json b/app/javascript/mastodon/locales/ms.json index 9dea73139798cf..f2af798d4e35c8 100644 --- a/app/javascript/mastodon/locales/ms.json +++ b/app/javascript/mastodon/locales/ms.json @@ -229,7 +229,6 @@ "empty_column.hashtag": "Belum ada apa-apa dengan tanda pagar ini.", "empty_column.home": "Garis masa laman utama anda kosong! Ikuti lebih ramai orang untuk mengisinya. {suggestions}", "empty_column.list": "Tiada apa-apa di senarai ini lagi. Apabila ahli senarai ini menerbitkan hantaran baharu, ia akan dipaparkan di sini.", - "empty_column.lists": "Anda belum ada sebarang senarai. Apabila anda menciptanya, ia akan muncul di sini.", "empty_column.mutes": "Anda belum membisukan sesiapa.", "empty_column.notifications": "Anda belum ada sebarang pemberitahuan. Apabila orang lain berinteraksi dengan anda, ia akan muncul di sini.", "empty_column.public": "Tiada apa-apa di sini! Tulis sesuatu secara awam, atau ikuti pengguna daripada pelayan lain secara manual untuk mengisinya", @@ -366,20 +365,11 @@ "limited_account_hint.action": "Paparkan profil", "limited_account_hint.title": "Profil ini telah disembunyikan oleh moderator {domain}.", "link_preview.author": "Dengan {name}", - "lists.account.add": "Tambah ke senarai", - "lists.account.remove": "Buang daripada senarai", "lists.delete": "Padam senarai", "lists.edit": "Sunting senarai", - "lists.edit.submit": "Ubah tajuk", - "lists.exclusive": "Sembunyikan pos ini dari rumah", - "lists.new.create": "Tambah senarai", - "lists.new.title_placeholder": "Tajuk senarai baharu", "lists.replies_policy.followed": "Sesiapa yang diikuti", "lists.replies_policy.list": "Ahli-ahli dalam senarai", "lists.replies_policy.none": "Tiada sesiapa", - "lists.replies_policy.title": "Tunjukkan balasan kepada:", - "lists.search": "Cari dalam kalangan orang yang anda ikuti", - "lists.subheading": "Senarai anda", "load_pending": "{count, plural, one {# item baharu} other {# item baharu}}", "loading_indicator.label": "Memuatkan…", "moved_to_account_banner.text": "Akaun anda {disabledAccount} kini dinyahdayakan kerana anda berpindah ke {movedToAccount}.", diff --git a/app/javascript/mastodon/locales/my.json b/app/javascript/mastodon/locales/my.json index c97de733354ad6..a82e56e6f2fc5c 100644 --- a/app/javascript/mastodon/locales/my.json +++ b/app/javascript/mastodon/locales/my.json @@ -215,7 +215,6 @@ "empty_column.hashtag": "ဤ hashtag တွင် မည်သည့်အရာမျှ မရှိသေးပါ။", "empty_column.home": "သင့်ပင်မစာမျက်နှာမှာ အလွတ်ဖြစ်နေပါသည်။ ဖြည့်ရန်အတွက် လူများကို စောင့်ကြည့်ပါ {suggestions}", "empty_column.list": "There is nothing in this list yet. When members of this list post new statuses, they will appear here.", - "empty_column.lists": "သင့်တွင် List မရှိသေးပါ။ List အသစ်ဖွင့်လျှင် ဤနေရာတွင်ကြည့်ရှုနိုင်မည်", "empty_column.mutes": "ပိတ်ထားသောအကောင့်များမရှိသေးပါ", "empty_column.notifications": "သတိပေးချက်မရှိသေးပါ။ သတိပေးချက်အသစ်ရှိလျှင် ဤနေရာတွင်ကြည့်ရှုနိုင်သည်", "empty_column.public": "ဤနေရာတွင် မည်သည့်အရာမျှမရှိပါ။ တစ်ခုခုရေးပါ သို့မဟုတ် ဖြည့်စွက်ရန်အတွက် အခြားဆာဗာ အသုံးပြုသူများကို စောင့်ကြည့်ပါ။", @@ -344,20 +343,11 @@ "limited_account_hint.action": "ဘာပဲဖြစ်ဖြစ် ပရိုဖိုင်ကို ပြပါ", "limited_account_hint.title": "ဤပရိုဖိုင်ကို {domain} ၏ စိစစ်သူများမှ ဖျောက်ထားသည်။", "link_preview.author": "{name} ဖြင့်", - "lists.account.add": "စာရင်းထဲသို့ထည့်ပါ", - "lists.account.remove": "စာရင်းမှ ဖယ်ရှားလိုက်ပါ။", "lists.delete": "စာရင်းကိုဖျက်ပါ", "lists.edit": "စာရင်းကိုပြင်ဆင်ပါ", - "lists.edit.submit": "ခေါင်းစဥ် ပြောင်းလဲရန်", - "lists.exclusive": "ဤပို့စ်များကို ပင်မစာမျက်နှာတွင် မပြပါနှင့်", - "lists.new.create": "စာရင်းသွင်းပါ", - "lists.new.title_placeholder": "စာရင်းသစ်ခေါင်းစဥ်", "lists.replies_policy.followed": "မည်သည့်စောင့်ကြည့်သူမဆို", "lists.replies_policy.list": "စာရင်းထဲမှ အဖွဲ့ဝင်များ", "lists.replies_policy.none": "တစ်ယောက်မှမရှိပါ", - "lists.replies_policy.title": "ပြန်စာများကို ပြရန် -", - "lists.search": "မိမိဖောလိုးထားသူများမှရှာဖွေမည်", - "lists.subheading": "သင့်၏စာရင်းများ", "load_pending": "{count, plural, one {# new item} other {# new items}}", "loading_indicator.label": "လုပ်ဆောင်နေသည်…", "moved_to_account_banner.text": "{movedToAccount} အကောင့်သို့ပြောင်းလဲထားသဖြင့် {disabledAccount} အကောင့်မှာပိတ်ထားသည်", diff --git a/app/javascript/mastodon/locales/nl.json b/app/javascript/mastodon/locales/nl.json index eb21d2ad1d32fe..1828fc8f02c28f 100644 --- a/app/javascript/mastodon/locales/nl.json +++ b/app/javascript/mastodon/locales/nl.json @@ -140,13 +140,16 @@ "column.blocks": "Geblokkeerde gebruikers", "column.bookmarks": "Bladwijzers", "column.community": "Lokale tijdlijn", + "column.create_list": "Lijst aanmaken", "column.direct": "Privéberichten", "column.directory": "Gebruikersgids", "column.domain_blocks": "Geblokkeerde servers", + "column.edit_list": "Lijst bewerken", "column.favourites": "Favorieten", "column.firehose": "Openbare tijdlijnen", "column.follow_requests": "Volgverzoeken", "column.home": "Start", + "column.list_members": "Lijstleden beheren", "column.lists": "Lijsten", "column.mutes": "Genegeerde gebruikers", "column.notifications": "Meldingen", @@ -292,7 +295,6 @@ "empty_column.hashtag": "Er is nog niks te vinden onder deze hashtag.", "empty_column.home": "Deze tijdlijn is leeg! Volg meer mensen om het te vullen.", "empty_column.list": "Er is nog niks te zien in deze lijst. Wanneer lijstleden nieuwe berichten plaatsen, zijn deze hier te zien.", - "empty_column.lists": "Je hebt nog geen lijsten. Wanneer je er een aanmaakt, valt dat hier te zien.", "empty_column.mutes": "Jij hebt nog geen gebruikers genegeerd.", "empty_column.notification_requests": "Helemaal leeg! Er is hier niets. Wanneer je nieuwe meldingen ontvangt, verschijnen deze hier volgens jouw instellingen.", "empty_column.notifications": "Je hebt nog geen meldingen. Begin met iemand een gesprek.", @@ -465,20 +467,32 @@ "link_preview.author": "Door {name}", "link_preview.more_from_author": "Meer van {name}", "link_preview.shares": "{count, plural, one {{counter} bericht} other {{counter} berichten}}", - "lists.account.add": "Aan lijst toevoegen", - "lists.account.remove": "Uit lijst verwijderen", + "lists.add_member": "Toevoegen", + "lists.add_to_list": "Aan lijst toevoegen", + "lists.add_to_lists": "{name} aan lijsten toevoegen", + "lists.create": "Aanmaken", + "lists.create_a_list_to_organize": "Maak een nieuwe lijst aan om je Startpagina te organiseren", + "lists.create_list": "Lijst aanmaken", "lists.delete": "Lijst verwijderen", + "lists.done": "Klaar", "lists.edit": "Lijst bewerken", - "lists.edit.submit": "Titel veranderen", - "lists.exclusive": "Verberg lijstleden op je starttijdlijn", - "lists.new.create": "Lijst toevoegen", - "lists.new.title_placeholder": "Naam nieuwe lijst", + "lists.exclusive": "Leden op je Startpagina verbergen", + "lists.exclusive_hint": "Als iemand op deze lijst staat, verberg hem dan op je Startpagina om te voorkomen dat zijn berichten twee keer worden getoond.", + "lists.find_users_to_add": "Vind gebruikers om toe te voegen", + "lists.list_members": "Lijstleden", + "lists.list_members_count": "{count, plural, one{# lid} other{# leden}}", + "lists.list_name": "Lijstnaam", + "lists.new_list_name": "Nieuwe lijstnaam", + "lists.no_lists_yet": "Nog geen lijsten.", + "lists.no_members_yet": "Nog geen leden.", + "lists.no_results_found": "Geen resultaten gevonden.", + "lists.remove_member": "Verwijderen", "lists.replies_policy.followed": "Elke gevolgde gebruiker", "lists.replies_policy.list": "Leden van de lijst", "lists.replies_policy.none": "Niemand", - "lists.replies_policy.title": "Toon reacties aan:", - "lists.search": "Zoek naar mensen die je volgt", - "lists.subheading": "Jouw lijsten", + "lists.save": "Opslaan", + "lists.search_placeholder": "Zoek mensen die je volgt", + "lists.show_replies_to": "Voeg antwoorden van lijstleden toe aan", "load_pending": "{count, plural, one {# nieuw item} other {# nieuwe items}}", "loading_indicator.label": "Laden…", "media_gallery.hide": "Verberg", diff --git a/app/javascript/mastodon/locales/nn.json b/app/javascript/mastodon/locales/nn.json index 85d19c4f934ce5..440387e1a97ebd 100644 --- a/app/javascript/mastodon/locales/nn.json +++ b/app/javascript/mastodon/locales/nn.json @@ -292,7 +292,6 @@ "empty_column.hashtag": "Det er ingenting i denne emneknaggen enno.", "empty_column.home": "Heime-tidslina di er tom! Fylg fleire folk for å fylla ho med innhald. {suggestions}.", "empty_column.list": "Det er ingenting i denne lista enno. Når medlemer av denne lista legg ut nye statusar, så dukkar dei opp her.", - "empty_column.lists": "Du har ingen lister enno. Når du lagar ei, så dukkar ho opp her.", "empty_column.mutes": "Du har ikkje målbunde nokon enno.", "empty_column.notification_requests": "Ferdig! Her er det ingenting. Når du får nye varsel, kjem dei opp her slik du har valt.", "empty_column.notifications": "Du har ingen varsel enno. Kommuniser med andre for å starte samtalen.", @@ -465,20 +464,11 @@ "link_preview.author": "Av {name}", "link_preview.more_from_author": "Meir frå {name}", "link_preview.shares": "{count, plural,one {{counter} innlegg} other {{counter} innlegg}}", - "lists.account.add": "Legg til i liste", - "lists.account.remove": "Fjern frå liste", "lists.delete": "Slett liste", "lists.edit": "Rediger liste", - "lists.edit.submit": "Endre tittel", - "lists.exclusive": "Skjul desse innlegga frå heimestraumen din", - "lists.new.create": "Legg til liste", - "lists.new.title_placeholder": "Ny listetittel", "lists.replies_policy.followed": "Alle fylgde brukarar", "lists.replies_policy.list": "Medlemar i lista", "lists.replies_policy.none": "Ingen", - "lists.replies_policy.title": "Vis svar på:", - "lists.search": "Søk blant folk du fylgjer", - "lists.subheading": "Listene dine", "load_pending": "{count, plural, one {# nytt element} other {# nye element}}", "loading_indicator.label": "Lastar…", "media_gallery.hide": "Gøym", diff --git a/app/javascript/mastodon/locales/no.json b/app/javascript/mastodon/locales/no.json index 9a5f37979701ad..b461d3049ff458 100644 --- a/app/javascript/mastodon/locales/no.json +++ b/app/javascript/mastodon/locales/no.json @@ -268,7 +268,6 @@ "empty_column.hashtag": "Det er ingenting i denne emneknaggen ennå.", "empty_column.home": "Hjem-tidslinjen din er tom! Følg flere folk for å fylle den. {suggestions}", "empty_column.list": "Det er ingenting i denne listen ennå. Når medlemmene av denne listen legger ut nye statuser vil de dukke opp her.", - "empty_column.lists": "Du har ingen lister enda. Når du lager en, vil den dukke opp her.", "empty_column.mutes": "Du har ikke dempet noen brukere enda.", "empty_column.notification_requests": "Alt klart! Det er ingenting her. Når du mottar nye varsler, vises de her i henhold til dine innstillinger.", "empty_column.notifications": "Du har ingen varsler ennå. Kommuniser med andre for å begynne samtalen.", @@ -436,20 +435,11 @@ "link_preview.author": "Av {name}", "link_preview.more_from_author": "Mer fra {name}", "link_preview.shares": "{count, plural, one {{counter} innlegg} other {{counter} innlegg}}", - "lists.account.add": "Legg til i listen", - "lists.account.remove": "Fjern fra listen", "lists.delete": "Slett listen", "lists.edit": "Rediger listen", - "lists.edit.submit": "Endre tittel", - "lists.exclusive": "Skjul disse innleggene i tidslinjen", - "lists.new.create": "Legg til liste", - "lists.new.title_placeholder": "Ny listetittel", "lists.replies_policy.followed": "Enhver fulgt bruker", "lists.replies_policy.list": "Medlemmer i listen", "lists.replies_policy.none": "Ingen", - "lists.replies_policy.title": "Vis svar på:", - "lists.search": "Søk blant personer du følger", - "lists.subheading": "Dine lister", "load_pending": "{count, plural,one {# ny gjenstand} other {# nye gjenstander}}", "loading_indicator.label": "Laster…", "moved_to_account_banner.text": "Din konto {disabledAccount} er for øyeblikket deaktivert fordi du flyttet til {movedToAccount}.", diff --git a/app/javascript/mastodon/locales/oc.json b/app/javascript/mastodon/locales/oc.json index 37687bc8444c9c..ddaf9498730608 100644 --- a/app/javascript/mastodon/locales/oc.json +++ b/app/javascript/mastodon/locales/oc.json @@ -202,7 +202,6 @@ "empty_column.hashtag": "I a pas encara de contengut ligat a aquesta etiqueta.", "empty_column.home": "Vòstre flux d’acuèlh es void. Visitatz {public} o utilizatz la recèrca per vos connectar a d’autras personas.", "empty_column.list": "I a pas res dins la lista pel moment. Quand de membres d’aquesta lista publiquen de novèls estatuts los veiretz aquí.", - "empty_column.lists": "Encara avètz pas cap de lista. Quand ne creetz una, apareisserà aquí.", "empty_column.mutes": "Encara avètz pas mes en silenci degun.", "empty_column.notifications": "Avètz pas encara de notificacions. Respondètz a qualqu’un per començar una conversacion.", "empty_column.public": "I a pas res aquí ! Escrivètz quicòm de public, o seguètz de personas d’autres servidors per garnir lo flux public", @@ -311,19 +310,11 @@ "limited_account_hint.action": "Afichar lo perfil de tota manièra", "limited_account_hint.title": "Aqueste perfil foguèt rescondut per la moderacion de {domain}.", "link_preview.author": "Per {name}", - "lists.account.add": "Ajustar a la lista", - "lists.account.remove": "Levar de la lista", "lists.delete": "Suprimir la lista", "lists.edit": "Modificar la lista", - "lists.edit.submit": "Cambiar lo títol", - "lists.new.create": "Ajustar una lista", - "lists.new.title_placeholder": "Títol de la nòva lista", "lists.replies_policy.followed": "Quin seguidor que siá", "lists.replies_policy.list": "Membres de la lista", "lists.replies_policy.none": "Degun", - "lists.replies_policy.title": "Mostrar las responsas a :", - "lists.search": "Cercar demest lo mond que seguètz", - "lists.subheading": "Vòstras listas", "load_pending": "{count, plural, one {# nòu element} other {# nòu elements}}", "loading_indicator.label": "Cargament…", "navigation_bar.about": "A prepaus", diff --git a/app/javascript/mastodon/locales/pa.json b/app/javascript/mastodon/locales/pa.json index 5da88ff08f7e4d..86226f4cde4f9c 100644 --- a/app/javascript/mastodon/locales/pa.json +++ b/app/javascript/mastodon/locales/pa.json @@ -201,8 +201,6 @@ "lightbox.next": "ਅਗਲੀ", "lightbox.previous": "ਪਿਛਲੀ", "link_preview.author": "{name} ਵਲੋਂ", - "lists.account.add": "ਸੂਚੀ ਵਿੱਚ ਜੋੜੋ", - "lists.account.remove": "ਸੂਚੀ ਵਿਚੋਂ ਹਟਾਓ", "lists.delete": "ਸੂਚੀ ਹਟਾਓ", "lists.replies_policy.followed": "ਕੋਈ ਵੀ ਫ਼ਾਲੋ ਕੀਤਾ ਵਰਤੋਂਕਾਰ", "lists.replies_policy.none": "ਕੋਈ ਨਹੀਂ", diff --git a/app/javascript/mastodon/locales/pl.json b/app/javascript/mastodon/locales/pl.json index 4558e29cb8ef99..86c02a6a8733dd 100644 --- a/app/javascript/mastodon/locales/pl.json +++ b/app/javascript/mastodon/locales/pl.json @@ -291,7 +291,6 @@ "empty_column.hashtag": "Nie ma wpisów oznaczonych tym hasztagiem. Możesz napisać pierwszy(-a).", "empty_column.home": "Nie obserwujesz nikogo. Odwiedź globalną oś czasu lub użyj wyszukiwarki, aby znaleźć interesujące Cię profile.", "empty_column.list": "Nie ma nic na tej liście. Kiedy członkowie listy dodadzą nowe wpisy, pojawia się one tutaj.", - "empty_column.lists": "Nie masz żadnych list. Kiedy utworzysz jedną, pojawi się tutaj.", "empty_column.mutes": "Nie wyciszyłeś(-aś) jeszcze żadnego użytkownika.", "empty_column.notification_requests": "To wszystko – kiedy otrzymasz nowe powiadomienia, pokażą się tutaj zgodnie z twoimi ustawieniami.", "empty_column.notifications": "Nie masz żadnych powiadomień. Rozpocznij interakcje z innymi użytkownikami.", @@ -464,20 +463,11 @@ "link_preview.author": "{name}", "link_preview.more_from_author": "Więcej od {name}", "link_preview.shares": "{count, plural, one {{counter} wpis} few {{counter} wpisy} many {{counter} wpisów} other {{counter} wpisów}}", - "lists.account.add": "Dodaj do listy", - "lists.account.remove": "Usunąć z listy", "lists.delete": "Usuń listę", "lists.edit": "Edytuj listę", - "lists.edit.submit": "Zmień tytuł", - "lists.exclusive": "Ukryj te posty w lokalnej osi czasu", - "lists.new.create": "Utwórz listę", - "lists.new.title_placeholder": "Wprowadź tytuł listy", "lists.replies_policy.followed": "Dowolny obserwowany użytkownik", "lists.replies_policy.list": "Członkowie listy", "lists.replies_policy.none": "Nikt", - "lists.replies_policy.title": "Pokazuj odpowiedzi dla:", - "lists.search": "Szukaj wśród osób które obserwujesz", - "lists.subheading": "Twoje listy", "load_pending": "{count, plural, one {# nowa pozycja} other {nowe pozycje}}", "loading_indicator.label": "Ładowanie…", "media_gallery.hide": "Ukryj", diff --git a/app/javascript/mastodon/locales/pt-BR.json b/app/javascript/mastodon/locales/pt-BR.json index e2fbaff02b5858..8740cd13de07b2 100644 --- a/app/javascript/mastodon/locales/pt-BR.json +++ b/app/javascript/mastodon/locales/pt-BR.json @@ -140,13 +140,16 @@ "column.blocks": "Usuários bloqueados", "column.bookmarks": "Salvos", "column.community": "Linha local", + "column.create_list": "Criar lista", "column.direct": "Menções privadas", "column.directory": "Explorar perfis", "column.domain_blocks": "Domínios bloqueados", + "column.edit_list": "Editar lista", "column.favourites": "Favoritos", "column.firehose": "Feeds ao vivo", "column.follow_requests": "Seguidores pendentes", "column.home": "Página inicial", + "column.list_members": "Gerenciar membros da lista", "column.lists": "Listas", "column.mutes": "Usuários silenciados", "column.notifications": "Notificações", @@ -292,7 +295,6 @@ "empty_column.hashtag": "Nada aqui.", "empty_column.home": "Sua página inicial está vazia! Siga mais pessoas para começar: {suggestions}", "empty_column.list": "Nada aqui. Quando membros da lista tootarem, eles aparecerão aqui.", - "empty_column.lists": "Nada aqui. Quando você criar listas, elas aparecerão aqui.", "empty_column.mutes": "Nada aqui.", "empty_column.notification_requests": "Tudo limpo! Não há nada aqui. Quando você receber novas notificações, elas aparecerão aqui de acordo com suas configurações.", "empty_column.notifications": "Interaja com outros usuários para começar a conversar.", @@ -465,20 +467,32 @@ "link_preview.author": "Por {name}", "link_preview.more_from_author": "Mais de {name}", "link_preview.shares": "{count, plural, one {{counter} publicação} other {{counter} publicações}}", - "lists.account.add": "Adicionar à lista", - "lists.account.remove": "Remover da lista", + "lists.add_member": "Adicionar", + "lists.add_to_list": "Adicionar à lista", + "lists.add_to_lists": "Adicionar {name} à lista", + "lists.create": "Criar", + "lists.create_a_list_to_organize": "Crie uma lista para organizar seu feed inicial", + "lists.create_list": "Criar lista", "lists.delete": "Excluir lista", + "lists.done": "Concluído", "lists.edit": "Editar lista", - "lists.edit.submit": "Renomear lista", - "lists.exclusive": "Ocultar estes posts da página inicial", - "lists.new.create": "Criar lista", - "lists.new.title_placeholder": "Nome da lista", + "lists.exclusive": "Ocultar membros no início", + "lists.exclusive_hint": "Se existe alguém nesta lista, oculte-os no seu feed inicial para evitar ver suas publicações duas vezes.", + "lists.find_users_to_add": "Encontrar usuários para adicionar", + "lists.list_members": "Membros da lista", + "lists.list_members_count": "{count, plural, one {# membro} other {# membros}}", + "lists.list_name": "Nome da lista", + "lists.new_list_name": "Nome novo da lista", + "lists.no_lists_yet": "Sem listas ainda.", + "lists.no_members_yet": "Nenhum membro ainda.", + "lists.no_results_found": "Nenhum resultado encontrado.", + "lists.remove_member": "Remover", "lists.replies_policy.followed": "Qualquer usuário seguido", "lists.replies_policy.list": "Membros da lista", "lists.replies_policy.none": "Ninguém", - "lists.replies_policy.title": "Mostrar respostas para:", - "lists.search": "Procurar entre as pessoas que segue", - "lists.subheading": "Suas listas", + "lists.save": "Salvar", + "lists.search_placeholder": "Buscar pessoas que você segue", + "lists.show_replies_to": "Incluir respostas de membros da lista para", "load_pending": "{count, plural, one {# novo item} other {# novos items}}", "loading_indicator.label": "Carregando…", "media_gallery.hide": "Ocultar", diff --git a/app/javascript/mastodon/locales/pt-PT.json b/app/javascript/mastodon/locales/pt-PT.json index a06d259be2ad14..6a6b5549edf92f 100644 --- a/app/javascript/mastodon/locales/pt-PT.json +++ b/app/javascript/mastodon/locales/pt-PT.json @@ -272,7 +272,6 @@ "empty_column.hashtag": "Não foram encontradas publicações com essa #etiqueta.", "empty_column.home": "A sua linha cronológica inicial está vazia! Siga mais pessoas para a preencher.", "empty_column.list": "Ainda não existem publicações nesta lista. Quando membros desta lista fizerem novas publicações, elas aparecerão aqui.", - "empty_column.lists": "Ainda não tem qualquer lista. Quando criar uma, ela irá aparecer aqui.", "empty_column.mutes": "Ainda não silenciaste qualquer utilizador.", "empty_column.notification_requests": "Tudo limpo! Não há nada aqui. Quando você receber novas notificações, elas aparecerão aqui conforme as suas configurações.", "empty_column.notifications": "Não tens notificações. Interage com outros utilizadores para iniciar uma conversa.", @@ -440,20 +439,11 @@ "link_preview.author": "Por {name}", "link_preview.more_from_author": "Mais de {name}", "link_preview.shares": "{count, plural, one {{counter} publicação} other {{counter} publicações}}", - "lists.account.add": "Adicionar à lista", - "lists.account.remove": "Remover da lista", "lists.delete": "Eliminar lista", "lists.edit": "Editar lista", - "lists.edit.submit": "Mudar o título", - "lists.exclusive": "Ocultar essas publicações da página inicial", - "lists.new.create": "Adicionar lista", - "lists.new.title_placeholder": "Título da nova lista", "lists.replies_policy.followed": "Qualquer utilizador seguido", "lists.replies_policy.list": "Membros da lista", "lists.replies_policy.none": "Ninguém", - "lists.replies_policy.title": "Mostrar respostas para:", - "lists.search": "Pesquisa entre as pessoas que segues", - "lists.subheading": "As tuas listas", "load_pending": "{count, plural, one {# novo item} other {# novos itens}}", "loading_indicator.label": "A carregar…", "media_gallery.hide": "Esconder", diff --git a/app/javascript/mastodon/locales/ro.json b/app/javascript/mastodon/locales/ro.json index 96f9eac2b3ccd7..f21ce027f4d92d 100644 --- a/app/javascript/mastodon/locales/ro.json +++ b/app/javascript/mastodon/locales/ro.json @@ -213,7 +213,6 @@ "empty_column.hashtag": "Acest hashtag încă nu a fost folosit.", "empty_column.home": "Nu există nimic în cronologia ta! Abonează-te la mai multe persoane pentru a o umple. {suggestions}", "empty_column.list": "Momentan nu există nimic în această listă. Când membrii ei vor posta ceva nou, vor apărea aici.", - "empty_column.lists": "Momentan nu ai nicio listă. Când vei crea una, va apărea aici.", "empty_column.mutes": "Momentan nu ai ignorat niciun utilizator.", "empty_column.notifications": "Momentan nu ai nicio notificare. Când alte persoane vor interacționa cu tine, îl vei vedea aici.", "empty_column.public": "Nu există nimic aici! Postează ceva public, sau abonează-te manual la utilizatori din alte servere pentru a umple cronologia", @@ -338,19 +337,11 @@ "limited_account_hint.action": "Afișează profilul oricum", "limited_account_hint.title": "Acest profil a fost ascuns de moderatorii domeniului {domain}.", "link_preview.author": "De {name}", - "lists.account.add": "Adaugă în listă", - "lists.account.remove": "Elimină din listă", "lists.delete": "Șterge lista", "lists.edit": "Modifică lista", - "lists.edit.submit": "Schimbă titlul", - "lists.new.create": "Adaugă o listă", - "lists.new.title_placeholder": "Titlu pentru noua listă", "lists.replies_policy.followed": "Tuturor persoanelor la care te-ai abonat", "lists.replies_policy.list": "Membrilor din listă", "lists.replies_policy.none": "Nu afișa nimănui", - "lists.replies_policy.title": "Afișează răspunsurile:", - "lists.search": "Caută printre persoanele la care ești abonat", - "lists.subheading": "Listele tale", "load_pending": "{count, plural, one {# element nou} other {# elemente noi}}", "moved_to_account_banner.text": "Contul tău {disabledAccount} este în acest moment dezactivat deoarece te-ai mutat la {movedToAccount}.", "navigation_bar.about": "Despre", diff --git a/app/javascript/mastodon/locales/ru.json b/app/javascript/mastodon/locales/ru.json index e336e39e016cdf..90af458cdc25e4 100644 --- a/app/javascript/mastodon/locales/ru.json +++ b/app/javascript/mastodon/locales/ru.json @@ -291,7 +291,6 @@ "empty_column.hashtag": "С этим хэштегом пока ещё ничего не постили.", "empty_column.home": "Ваша лента совсем пуста! Подписывайтесь на других, чтобы заполнить её.", "empty_column.list": "В этом списке пока ничего нет.", - "empty_column.lists": "У вас ещё нет списков. Созданные вами списки будут показаны здесь.", "empty_column.mutes": "Вы ещё никого не добавляли в список игнорируемых.", "empty_column.notification_requests": "Здесь ничего нет! Когда вы получите новые уведомления, они здесь появятся согласно вашим настройкам.", "empty_column.notifications": "У вас пока нет уведомлений. Взаимодействуйте с другими, чтобы завести разговор.", @@ -464,20 +463,11 @@ "link_preview.author": "Автор: {name}", "link_preview.more_from_author": "Больше от {name}", "link_preview.shares": "{count, plural, one {{counter} пост} other {{counter} посты}}", - "lists.account.add": "Добавить в список", - "lists.account.remove": "Убрать из списка", "lists.delete": "Удалить список", "lists.edit": "Изменить список", - "lists.edit.submit": "Изменить название", - "lists.exclusive": "Скрыть эти сообщения из дома", - "lists.new.create": "Создать список", - "lists.new.title_placeholder": "Название для нового списка", "lists.replies_policy.followed": "Любой подписанный пользователь", "lists.replies_policy.list": "Пользователи в списке", "lists.replies_policy.none": "Никого", - "lists.replies_policy.title": "Показать ответы только:", - "lists.search": "Искать среди подписок", - "lists.subheading": "Ваши списки", "load_pending": "{count, plural, one {# новый элемент} few {# новых элемента} other {# новых элементов}}", "loading_indicator.label": "Загрузка…", "media_gallery.hide": "Скрыть", diff --git a/app/javascript/mastodon/locales/sa.json b/app/javascript/mastodon/locales/sa.json index 2d48f688d58971..a12bb6bde7dd8e 100644 --- a/app/javascript/mastodon/locales/sa.json +++ b/app/javascript/mastodon/locales/sa.json @@ -194,7 +194,6 @@ "empty_column.hashtag": "नाऽस्मिन् प्रचलितवस्तुचिह्ने किमपि ।", "empty_column.home": "गृहसमयतालिका रिक्ताऽस्ति । गम्यतां {public} वाऽन्वेषणैः प्रारभ्यतां मेलनं क्रियताञ्च ।", "empty_column.list": "न किमपि वर्तते सूच्यामस्याम् । यदा सूच्याः सदस्या नवपत्राणि प्रकटीकुर्वन्ति तदाऽत्राऽऽयान्ति ।", - "empty_column.lists": "तव पार्श्वे न कापि सूचिर्वर्तते। यदैकां सृजसि तदा अत्र दृश्यते।", "empty_column.mutes": "त्वया अद्यापि नैकोऽप्युपभोक्ता मूकीकृतो वर्तते।", "empty_column.notifications": "तव पार्श्वे न अधुना पर्यन्तं किमपि विज्ञापनं वर्तते। यदा अन्या जना त्वया संयोजयन्ति तदा इह पश्यसि।", "empty_column.public": "न इह किमपि वर्तते! किञ्चिल्लिख सार्वजनिकरूपेण, उत स्वयमन्यसर्वर्तः उपभोक्तॄननुसर एतत्पूरयितुम्", @@ -303,19 +302,11 @@ "lightbox.previous": "पूर्वः", "limited_account_hint.action": "प्रोफैलं दर्शय कथञ्चित्", "limited_account_hint.title": "{domain} इत्यस्य प्रशासकैरयं प्रोफैल्प्रच्छन्नः।", - "lists.account.add": "सूचेर्मध्ये योजय", - "lists.account.remove": "सूचेर्मार्जय", "lists.delete": "सूचिं मार्जय", "lists.edit": "सूचिं सम्पादय", - "lists.edit.submit": "उपाधिं परिवर्तय", - "lists.new.create": "सूचिं योजय", - "lists.new.title_placeholder": "नूतनसूच्युपाधिः", "lists.replies_policy.followed": "कोऽप्यनुसारितोपभोक्ता", "lists.replies_policy.list": "सूचेस्सदस्याः", "lists.replies_policy.none": "न कोऽपि", - "lists.replies_policy.title": "एतमुत्तराणि दर्शय :", - "lists.search": "त्वया अनुसारितजनेषु अन्विष्य", - "lists.subheading": "तव सूचयः", "load_pending": "{count, plural, one {# नूतनवस्तु} other {# नूतनवस्तूनि}}", "moved_to_account_banner.text": "तव एकौण्ट् {disabledAccount} अधुना निष्कृतो यतोहि {movedToAccount} अस्मिन्त्वमसार्षीः।", "navigation_bar.about": "विषये", diff --git a/app/javascript/mastodon/locales/sc.json b/app/javascript/mastodon/locales/sc.json index 71bcaef7abe9e9..19bdba818c0ec2 100644 --- a/app/javascript/mastodon/locales/sc.json +++ b/app/javascript/mastodon/locales/sc.json @@ -257,7 +257,6 @@ "empty_column.hashtag": "Ancora nudda in custa eticheta.", "empty_column.home": "Sa lìnia de tempus printzipale tua est bòida. Visita {public} o imprea sa chirca pro cumintzare e agatare àteras persones.", "empty_column.list": "Nudda ancora in custa lista. Cando is persones de custa lista ant a publicare, is publicatziones ant a aparèssere inoghe.", - "empty_column.lists": "Non tenes ancora peruna lista. Cando nd'as a creare una, at a èssere ammustrada inoghe.", "empty_column.mutes": "No as postu ancora nemos a sa muda.", "empty_column.notifications": "Non tenes ancora peruna notìfica. Chistiona cun una persone pro cumintzare un'arresonada.", "empty_column.public": "Nudda inoghe. Iscrie calicuna cosa pùblica, o sighi àteras persones de àteros serbidores pro prenare custu ispàtziu", @@ -392,20 +391,11 @@ "lightbox.previous": "Pretzedente", "limited_account_hint.title": "Custu profilu est istadu cuadu dae sa moderatzione de {domain}.", "link_preview.shares": "{count, plural, one {{counter} publicatzione} other {{counter} publicatziones}}", - "lists.account.add": "Agiunghe a sa lista", - "lists.account.remove": "Boga dae sa lista", "lists.delete": "Cantzella sa lista", "lists.edit": "Modìfica sa lista", - "lists.edit.submit": "Muda su tìtulu", - "lists.exclusive": "Cua custas publicatziones dae sa pàgina printzipale", - "lists.new.create": "Agiunghe lista", - "lists.new.title_placeholder": "Tìtulu de sa lista noa", "lists.replies_policy.followed": "Cale si siat persone chi sighis", "lists.replies_policy.list": "Persones de sa lista", "lists.replies_policy.none": "Nemos", - "lists.replies_policy.title": "Ammustra is rispostas a:", - "lists.search": "Chirca intre sa gente chi ses sighende", - "lists.subheading": "Is listas tuas", "load_pending": "{count, plural, one {# elementu nou} other {# elementos noos}}", "loading_indicator.label": "Carrighende…", "media_gallery.hide": "Cua", diff --git a/app/javascript/mastodon/locales/sco.json b/app/javascript/mastodon/locales/sco.json index c14f1cc51acda0..196b4cdb08c6d5 100644 --- a/app/javascript/mastodon/locales/sco.json +++ b/app/javascript/mastodon/locales/sco.json @@ -185,7 +185,6 @@ "empty_column.hashtag": "There naethin in this hashtag yit.", "empty_column.home": "Yer hame timeline is toum! Follae mair fowk fir tae full it up. {suggestions}", "empty_column.list": "There naethin in this list yit. Whan memmers o this list publish new posts, ye'll see them here.", - "empty_column.lists": "Ye dinnae hae onie lists yit. Ance ye mak ane, it'll shaw up here.", "empty_column.mutes": "Ye'v no wheesht onie uisers yit.", "empty_column.notifications": "Ye dinnae hae onie notes yit. Whan ither fowk interacks wi ye, ye'll see it here.", "empty_column.public": "There naethin here! Scrieve socht public, or follae uisers fae ither servers fir tae full it up", @@ -288,19 +287,11 @@ "lightbox.previous": "Last ane", "limited_account_hint.action": "Shaw profile onieweys", "limited_account_hint.title": "This profile haes been planked bi the moderators o {domain}.", - "lists.account.add": "Add tae list", - "lists.account.remove": "Tak aff o the list", "lists.delete": "Delete list", "lists.edit": "Edit list", - "lists.edit.submit": "Chynge title", - "lists.new.create": "Add list", - "lists.new.title_placeholder": "New list title", "lists.replies_policy.followed": "Onie follaed uiser", "lists.replies_policy.list": "Memmers o the list", "lists.replies_policy.none": "Naebody", - "lists.replies_policy.title": "Shaw replies tae:", - "lists.search": "Seirch amang the fowk ye ken", - "lists.subheading": "Yer lists", "load_pending": "{count, plural, one {# new item} other {# new items}}", "moved_to_account_banner.text": "Yer accoont {disabledAccount} is disabilt the noo acause ye flittit tae {movedToAccount}.", "navigation_bar.about": "Aboot", diff --git a/app/javascript/mastodon/locales/si.json b/app/javascript/mastodon/locales/si.json index 93ce9dd7e27113..dbf6a41f6f74a6 100644 --- a/app/javascript/mastodon/locales/si.json +++ b/app/javascript/mastodon/locales/si.json @@ -166,7 +166,6 @@ "empty_column.favourited_statuses": "ඔබ සතුව ප්‍රියතම ලිපි කිසිවක් නැත. ඔබ යමකට ප්‍රිය කළ විට එය මෙහි පෙන්වනු ඇත.", "empty_column.follow_requests": "ඔබට තවමත් අනුගමන ඉල්ලීම් ලැබී නැත. ඉල්ලීමක් ලැබුණු විට, එය මෙහි පෙන්වනු ඇත.", "empty_column.home": "මුල් පිටුව හිස් ය! මෙය පිරවීමට බොහෝ පුද්ගලයින් අනුගමනය කරන්න.", - "empty_column.lists": "ඔබට තවමත් ලැයිස්තු කිසිවක් නැත. ඔබ එකක් සාදන විට, එය මෙහි පෙන්වනු ඇත.", "empty_column.mutes": "ඔබ තවමත් කිසිදු පරිශීලකයෙකු නිහඬ කර නැත.", "empty_column.notifications": "ඔබට දැනුම්දීම් ලැබී නැත. අන් අය සහ ඔබ අතර අන්‍යෝන්‍ය බලපවත්වන දෑ මෙහි දිස්වනු ඇත.", "error.unexpected_crash.explanation": "අපගේ කේතයේ දෝෂයක් හෝ බ්‍රවුසර ගැළපුම් ගැටලුවක් හේතුවෙන්, මෙම පිටුව නිවැරදිව ප්‍රදර්ශනය කළ නොහැක.", @@ -250,17 +249,10 @@ "lightbox.next": "ඊළඟ", "lightbox.previous": "පෙර", "limited_account_hint.action": "කෙසේ හෝ පැතිකඩ පෙන්වන්න", - "lists.account.add": "ලැයිස්තුවට දමන්න", - "lists.account.remove": "ලැයිස්තුවෙන් ඉවතලන්න", "lists.delete": "ලැයිස්තුව මකන්න", "lists.edit": "ලැයිස්තුව සංස්කරණය", - "lists.edit.submit": "සිරැසිය සංශෝධනය", - "lists.new.create": "එකතු", - "lists.new.title_placeholder": "නව ලැයිස්තුවේ සිරැසිය", "lists.replies_policy.list": "ලැයිස්තුවේ සාමාජිකයින්", "lists.replies_policy.none": "කිසිවෙක් නැත", - "lists.replies_policy.title": "පිළිතුරු පෙන්වන්න:", - "lists.subheading": "ඔබගේ ලැයිස්තු", "navigation_bar.about": "පිළිබඳව", "navigation_bar.blocks": "අවහිර කළ අය", "navigation_bar.bookmarks": "පොත්යොමු", diff --git a/app/javascript/mastodon/locales/sk.json b/app/javascript/mastodon/locales/sk.json index 1ecbaaffddb3ce..d7e396c69b74be 100644 --- a/app/javascript/mastodon/locales/sk.json +++ b/app/javascript/mastodon/locales/sk.json @@ -269,7 +269,6 @@ "empty_column.hashtag": "Pod týmto hashtagom sa ešte nič nenachádza.", "empty_column.home": "Vaša domáca časová os je zatiaľ prázdna. Začnite sledovať ostatných a naplňte si ju.", "empty_column.list": "Tento zoznam je zatiaľ prázdny. Keď ale členovia tohoto zoznamu uverejnia nové príspevky, objavia sa tu.", - "empty_column.lists": "Zatiaľ nemáte žiadne zoznamy. Keď nejaký vytvoríte, zobrazí sa tu.", "empty_column.mutes": "Zatiaľ ste si nikoho nestíšili.", "empty_column.notification_requests": "Všetko čisté! Nič tu nieje. Keď dostaneš nové oboznámenia, zobrazia sa tu podľa tvojich nastavení.", "empty_column.notifications": "Zatiaľ nemáte žiadne upozornenia. Začnú vám pribúdať, keď s vami začnú interagovať ostatní.", @@ -428,20 +427,11 @@ "link_preview.author": "Autor: {name}", "link_preview.more_from_author": "Viac od {name}", "link_preview.shares": "{count, plural, one {{counter} príspevok} other {{counter} príspevkov}}", - "lists.account.add": "Pridať do zoznamu", - "lists.account.remove": "Odstrániť zo zoznamu", "lists.delete": "Vymazať zoznam", "lists.edit": "Upraviť zoznam", - "lists.edit.submit": "Zmeniť názov", - "lists.exclusive": "Skryť tieto príspevky z domovskej stránky", - "lists.new.create": "Pridať zoznam", - "lists.new.title_placeholder": "Názov nového zoznamu", "lists.replies_policy.followed": "Akémukoľvek sledovanému účtu", "lists.replies_policy.list": "Členom zoznamu", "lists.replies_policy.none": "Nikomu", - "lists.replies_policy.title": "Zobraziť odpovede:", - "lists.search": "Vyhľadávať medzi účtami, ktoré sledujete", - "lists.subheading": "Vaše zoznamy", "load_pending": "{count, plural, one {# nová položka} few {# nové položky} many {# nových položiek} other {# nových položiek}}", "loading_indicator.label": "Načítavanie…", "media_gallery.hide": "Skryť", diff --git a/app/javascript/mastodon/locales/sl.json b/app/javascript/mastodon/locales/sl.json index 3690c612b7d163..84141a779df5f3 100644 --- a/app/javascript/mastodon/locales/sl.json +++ b/app/javascript/mastodon/locales/sl.json @@ -85,9 +85,14 @@ "alert.rate_limited.title": "Hitrost omejena", "alert.unexpected.message": "Zgodila se je nepričakovana napaka.", "alert.unexpected.title": "Ojoj!", + "alt_text_badge.title": "Nadomestno besedilo", "announcement.announcement": "Obvestilo", + "annual_report.summary.followers.followers": "sledilcev", + "annual_report.summary.followers.total": "", + "annual_report.summary.highlighted_post.by_favourites": "- najpriljubljenejša objava", "annual_report.summary.most_used_hashtag.none": "Brez", "annual_report.summary.new_posts.new_posts": "nove objave", + "annual_report.summary.thanks": "Hvala, ker ste del Mastodona!", "attachments_list.unprocessed": "(neobdelano)", "audio.hide": "Skrij zvok", "block_modal.remote_users_caveat": "Od strežnika {domain} bomo zahtevali, da spoštuje vašo odločitev. Izpolnjevanje zahteve ni zagotovljeno, ker nekateri strežniki blokiranja obravnavajo drugače. Javne objave bodo morda še vedno vidne neprijavljenim uporabnikom.", @@ -99,6 +104,8 @@ "block_modal.title": "Blokiraj uporabnika?", "block_modal.you_wont_see_mentions": "Objav, ki jih omenjajo, ne boste videli.", "boost_modal.combo": "Če želite preskočiti to, lahko pritisnete {combo}", + "boost_modal.reblog": "Izpostavi objavo?", + "boost_modal.undo_reblog": "Ali želite preklicati izpostavitev objave?", "bundle_column_error.copy_stacktrace": "Kopiraj poročilo o napaki", "bundle_column_error.error.body": "Zahtevane strani ni mogoče upodobiti. Vzrok težave je morda hrošč v naši kodi ali pa nezdružljivost z brskalnikom.", "bundle_column_error.error.title": "Oh, ne!", @@ -120,13 +127,16 @@ "column.blocks": "Blokirani uporabniki", "column.bookmarks": "Zaznamki", "column.community": "Krajevna časovnica", + "column.create_list": "Ustvari seznam", "column.direct": "Zasebne omembe", "column.directory": "Prebrskaj profile", "column.domain_blocks": "Blokirane domene", + "column.edit_list": "Uredi seznam", "column.favourites": "Priljubljeni", "column.firehose": "Viri v živo", "column.follow_requests": "Sledi prošnjam", "column.home": "Domov", + "column.list_members": "Upravljaj člane seznama", "column.lists": "Seznami", "column.mutes": "Utišani uporabniki", "column.notifications": "Obvestila", @@ -157,6 +167,7 @@ "compose_form.poll.duration": "Trajanje ankete", "compose_form.poll.multiple": "Več možnosti", "compose_form.poll.option_placeholder": "Možnost {number}", + "compose_form.poll.single": "Ena izbira", "compose_form.poll.switch_to_multiple": "Spremenite anketo, da omogočite več izbir", "compose_form.poll.switch_to_single": "Spremenite anketo, da omogočite eno izbiro", "compose_form.poll.type": "Slog", @@ -193,6 +204,9 @@ "confirmations.unfollow.confirm": "Ne sledi več", "confirmations.unfollow.message": "Ali ste prepričani, da ne želite več slediti {name}?", "confirmations.unfollow.title": "Želite nehati spremljati uporabnika?", + "content_warning.hide": "Skrij objavo", + "content_warning.show": "Vseeno pokaži", + "content_warning.show_more": "Pokaži več", "conversation.delete": "Izbriši pogovor", "conversation.mark_as_read": "Označi kot prebrano", "conversation.open": "Pokaži pogovor", @@ -266,7 +280,6 @@ "empty_column.hashtag": "V tem ključniku še ni nič.", "empty_column.home": "Vaša domača časovnica je prazna! Sledite več osebam, da jo zapolnite. {suggestions}", "empty_column.list": "Na tem seznamu ni ničesar. Ko bodo člani tega seznama objavili nove statuse, se bodo pojavili tukaj.", - "empty_column.lists": "Nimate seznamov. Ko ga boste ustvarili, se bo prikazal tukaj.", "empty_column.mutes": "Niste utišali še nobenega uporabnika.", "empty_column.notification_requests": "Vse prebrano! Tu ni ničesar več. Ko prejmete nova obvestila, se bodo pojavila tu glede na vaše nastavitve.", "empty_column.notifications": "Nimate še nobenih obvestil. Povežite se z drugimi, da začnete pogovor.", @@ -348,7 +361,10 @@ "hashtag.unfollow": "Nehaj slediti ključniku", "hashtags.and_other": "…in še {count, plural, other {#}}", "hints.profiles.posts_may_be_missing": "Nekatere objave s tega profila morda manjkajo.", + "hints.profiles.see_more_followers": "Pokaži več sledilcev na {domain}", + "hints.profiles.see_more_posts": "Pokaži več objav na {domain}", "hints.threads.replies_may_be_missing": "Odgovori z drugih strežnikov morda manjkajo.", + "hints.threads.see_more": "Pokaži več odgovorov na {domain}", "home.column_settings.show_reblogs": "Pokaži izpostavitve", "home.column_settings.show_replies": "Pokaži odgovore", "home.hide_announcements": "Skrij obvestila", @@ -419,20 +435,25 @@ "link_preview.author": "Avtor_ica {name}", "link_preview.more_from_author": "Več od {name}", "link_preview.shares": "{count, plural, one {{counter} objava} two {{counter} objavi} few {{counter} objave} other {{counter} objav}}", - "lists.account.add": "Dodaj na seznam", - "lists.account.remove": "Odstrani s seznama", + "lists.add_member": "Dodaj", + "lists.add_to_list": "Dodaj na seznam", + "lists.create": "Ustvari", + "lists.create_list": "Ustvari seznam", "lists.delete": "Izbriši seznam", + "lists.done": "Opravljeno", "lists.edit": "Uredi seznam", - "lists.edit.submit": "Spremeni naslov", - "lists.exclusive": "Skrij te objave od doma", - "lists.new.create": "Dodaj seznam", - "lists.new.title_placeholder": "Nov naslov seznama", + "lists.find_users_to_add": "Poišči člane za dodajanje", + "lists.list_name": "Ime seznama", + "lists.new_list_name": "Novo ime seznama", + "lists.no_lists_yet": "Ni seznamov.", + "lists.no_members_yet": "Ni še nobenega člana.", + "lists.no_results_found": "Ni rezultatov.", + "lists.remove_member": "Odstrani", "lists.replies_policy.followed": "Vsem sledenim uporabnikom", "lists.replies_policy.list": "Članom seznama", "lists.replies_policy.none": "Nikomur", - "lists.replies_policy.title": "Pokaži odgovore:", - "lists.search": "Iščite med ljudmi, katerim sledite", - "lists.subheading": "Vaši seznami", + "lists.save": "Shrani", + "lists.search_placeholder": "Iščite ljudi, katerim sledite", "load_pending": "{count, plural, one {# nov element} two {# nova elementa} few {# novi elementi} other {# novih elementov}}", "loading_indicator.label": "Nalaganje …", "media_gallery.hide": "Skrij", @@ -464,6 +485,7 @@ "navigation_bar.follows_and_followers": "Sledenja in sledilci", "navigation_bar.lists": "Seznami", "navigation_bar.logout": "Odjava", + "navigation_bar.moderation": "Moderiranje", "navigation_bar.mutes": "Utišani uporabniki", "navigation_bar.opened_in_classic_interface": "Objave, računi in druge specifične strani se privzeto odprejo v klasičnem spletnem vmesniku.", "navigation_bar.personal": "Osebno", diff --git a/app/javascript/mastodon/locales/sq.json b/app/javascript/mastodon/locales/sq.json index d1d92c69f69e70..c2781a2b6ab306 100644 --- a/app/javascript/mastodon/locales/sq.json +++ b/app/javascript/mastodon/locales/sq.json @@ -135,13 +135,16 @@ "column.blocks": "Përdorues të bllokuar", "column.bookmarks": "Faqerojtës", "column.community": "Rrjedhë kohore vendore", + "column.create_list": "Krijo listë", "column.direct": "Përmendje private", "column.directory": "Shfletoni profile", "column.domain_blocks": "Përkatësi të bllokuara", + "column.edit_list": "Përpunoni listën", "column.favourites": "Të parapëlqyer", "column.firehose": "Prurje “live”", "column.follow_requests": "Kërkesa për ndjekje", "column.home": "Kreu", + "column.list_members": "Administroni anëtarë liste", "column.lists": "Lista", "column.mutes": "Përdorues të heshtuar", "column.notifications": "Njoftime", @@ -287,7 +290,6 @@ "empty_column.hashtag": "Ende s’ka gjë nën këtë hashtag.", "empty_column.home": "Rrjedha juaj kohore është e zbrazët! Vizitoni {public} ose përdorni kërkimin që t’ia filloni dhe të takoni përdorues të tjerë.", "empty_column.list": "Në këtë listë ende s’ka gjë. Kur anëtarë të kësaj liste postojnë gjendje të reja, ato do të shfaqen këtu.", - "empty_column.lists": "Ende s’keni ndonjë listë. Kur të krijoni një të tillë, do të duket këtu.", "empty_column.mutes": "S’keni heshtuar ende ndonjë përdorues.", "empty_column.notification_requests": "Gjithçka si duhet! S’ka ç’bëhet këtu. Kur merrni njoftime të reja, do të shfaqen këtu, në përputhje me rregullimet tuaja.", "empty_column.notifications": "Ende s’keni ndonjë njoftim. Ndërveproni me të tjerët që të nisë biseda.", @@ -460,20 +462,32 @@ "link_preview.author": "Nga {name}", "link_preview.more_from_author": "Më tepër nga {name}", "link_preview.shares": "{count, plural, one {{counter} post} other {{counter} postime}}", - "lists.account.add": "Shto në listë", - "lists.account.remove": "Hiqe nga lista", + "lists.add_member": "Shtoje", + "lists.add_to_list": "Shto në listë", + "lists.add_to_lists": "Shtoje {name} në lista", + "lists.create": "Krijoje", + "lists.create_a_list_to_organize": "Krijoni një listë të re të sistemoni prurjen tuaj Kreu", + "lists.create_list": "Krijo listë", "lists.delete": "Fshije listën", + "lists.done": "U bë", "lists.edit": "Përpunoni listën", - "lists.edit.submit": "Ndryshoni titullin", - "lists.exclusive": "Fshihi këto postime prej kreut", - "lists.new.create": "Shtoni listë", - "lists.new.title_placeholder": "Titull liste të re", + "lists.exclusive": "Fshihni anëtarët në Krye", + "lists.exclusive_hint": "Nëse dikush gjendje në këtë listë, fshihini ata te prurja juaj e Kreut, që të shmangni parjen dy herë të postimeve të tyre.", + "lists.find_users_to_add": "Gjeni përdorues për t’i shtuar", + "lists.list_members": "Shfaq anëtarë", + "lists.list_members_count": "{count, plural, one {# anëtar} other {# anëtarë}}", + "lists.list_name": "Emër liste", + "lists.new_list_name": "Emër liste të re", + "lists.no_lists_yet": "Ende pa lista.", + "lists.no_members_yet": "Ende pa anëtarë.", + "lists.no_results_found": "S’u gjetën përfundime.", + "lists.remove_member": "Hiqe", "lists.replies_policy.followed": "Cilido përdorues i ndjekur", "lists.replies_policy.list": "Anëtarë të listës", "lists.replies_policy.none": "Askush", - "lists.replies_policy.title": "Shfaq përgjigje për:", - "lists.search": "Kërkoni mes personash që ndiqni", - "lists.subheading": "Listat tuaja", + "lists.save": "Ruaje", + "lists.search_placeholder": "Kërkoni persona që ndiqni", + "lists.show_replies_to": "Përfshi përgjigje nga anëtarë liste te", "load_pending": "{count, plural,one {# objekt i ri }other {# objekte të rinj }}", "loading_indicator.label": "Po ngarkohet…", "media_gallery.hide": "Fshihe", diff --git a/app/javascript/mastodon/locales/sr-Latn.json b/app/javascript/mastodon/locales/sr-Latn.json index 4a33c2f5cae019..5a587f266609fa 100644 --- a/app/javascript/mastodon/locales/sr-Latn.json +++ b/app/javascript/mastodon/locales/sr-Latn.json @@ -256,7 +256,6 @@ "empty_column.hashtag": "Još uvek nema ničega u ovoj heš oznaci.", "empty_column.home": "Vaša početna vremenska linija je prazna! Pratite više ljudi da biste je popunili.", "empty_column.list": "U ovoj listi još nema ničega. Kada članovi ove liste objave nešto novo, pojaviće se ovde.", - "empty_column.lists": "Još uvek nemate nijednu listu. Kada napravite jednu, ona će se pojaviti ovde.", "empty_column.mutes": "Još uvek ne ignorišete nijednog korisnika.", "empty_column.notification_requests": "Sve je čisto! Ovde nema ničega. Kada dobijete nova obaveštenja, ona će se pojaviti ovde u skladu sa vašim podešavanjima.", "empty_column.notifications": "Još uvek nemate nikakva obaveštenja. Kada drugi ljudi budu u interakciji sa vama, videćete to ovde.", @@ -404,20 +403,11 @@ "link_preview.author": "Po {name}", "link_preview.more_from_author": "Više od {name}", "link_preview.shares": "{count, plural, one {{counter} objava} few {{counter} objave} other {{counter} objava}}", - "lists.account.add": "Dodaj na listu", - "lists.account.remove": "Ukloni sa liste", "lists.delete": "Izbriši listu", "lists.edit": "Uredi listu", - "lists.edit.submit": "Promeni naslov", - "lists.exclusive": "Sakrijte ove objave sa početne stranice", - "lists.new.create": "Dodaj listu", - "lists.new.title_placeholder": "Naslov nove liste", "lists.replies_policy.followed": "Svakom praćenom korisniku", "lists.replies_policy.list": "Članovima liste", "lists.replies_policy.none": "Nikome", - "lists.replies_policy.title": "Prikaži odgovore:", - "lists.search": "Pretraži među ljudima koje pratite", - "lists.subheading": "Vaše liste", "load_pending": "{count, plural, one {# nova stavka} few {# nove stavke} other {# novih stavki}}", "loading_indicator.label": "Učitavanje…", "moved_to_account_banner.text": "Vaš nalog {disabledAccount} je trenutno onemogućen jer ste prešli na {movedToAccount}.", diff --git a/app/javascript/mastodon/locales/sr.json b/app/javascript/mastodon/locales/sr.json index d80411859ed17f..ea92a3bf10b3f5 100644 --- a/app/javascript/mastodon/locales/sr.json +++ b/app/javascript/mastodon/locales/sr.json @@ -256,7 +256,6 @@ "empty_column.hashtag": "Још увек нема ничега у овој хеш ознаци.", "empty_column.home": "Ваша почетна временска линија је празна! Пратите више људи да бисте је попунили.", "empty_column.list": "У овој листи још нема ничега. Када чланови ове листе објаве нешто ново, појавиће се овде.", - "empty_column.lists": "Још увек немате ниједну листу. Када направите једну, она ће се појавити овде.", "empty_column.mutes": "Још увек не игноришете ниједног корисника.", "empty_column.notification_requests": "Све је чисто! Овде нема ничега. Када добијете нова обавештења, она ће се појавити овде у складу са вашим подешавањима.", "empty_column.notifications": "Још увек немате никаква обавештења. Када други људи буду у интеракцији са вама, видећете то овде.", @@ -404,20 +403,11 @@ "link_preview.author": "По {name}", "link_preview.more_from_author": "Више од {name}", "link_preview.shares": "{count, plural, one {{counter} објава} few {{counter} објаве} other {{counter} објава}}", - "lists.account.add": "Додај на листу", - "lists.account.remove": "Уклони са листе", "lists.delete": "Избриши листу", "lists.edit": "Уреди листу", - "lists.edit.submit": "Промени наслов", - "lists.exclusive": "Сакријте ове објаве са почетне странице", - "lists.new.create": "Додај листу", - "lists.new.title_placeholder": "Наслов нове листе", "lists.replies_policy.followed": "Сваком праћеном кориснику", "lists.replies_policy.list": "Члановима листе", "lists.replies_policy.none": "Никоме", - "lists.replies_policy.title": "Прикажи одговоре:", - "lists.search": "Претражи међу људима које пратите", - "lists.subheading": "Ваше листе", "load_pending": "{count, plural, one {# нова ставка} few {# нове ставке} other {# нових ставки}}", "loading_indicator.label": "Учитавање…", "moved_to_account_banner.text": "Ваш налог {disabledAccount} је тренутно онемогућен јер сте прешли на {movedToAccount}.", diff --git a/app/javascript/mastodon/locales/sv.json b/app/javascript/mastodon/locales/sv.json index df24db96344f7d..0fb714d9a7ffef 100644 --- a/app/javascript/mastodon/locales/sv.json +++ b/app/javascript/mastodon/locales/sv.json @@ -292,7 +292,6 @@ "empty_column.hashtag": "Det finns inget i denna hashtag ännu.", "empty_column.home": "Din hemma-tidslinje är tom! Följ fler användare för att fylla den.", "empty_column.list": "Det finns inget i denna lista än. När listmedlemmar publicerar nya inlägg kommer de synas här.", - "empty_column.lists": "Du har inga listor än. När skapar en kommer den dyka upp här.", "empty_column.mutes": "Du har ännu inte tystat några användare.", "empty_column.notification_requests": "Allt klart! Det finns inget mer här. När du får nya meddelanden visas de här enligt dina inställningar.", "empty_column.notifications": "Du har inga meddelanden än. Interagera med andra för att starta konversationen.", @@ -465,20 +464,11 @@ "link_preview.author": "Av {name}", "link_preview.more_from_author": "Mer från {name}", "link_preview.shares": "{count, plural, one {{counter} inlägg} other {{counter} inlägg}}", - "lists.account.add": "Lägg till i lista", - "lists.account.remove": "Ta bort från lista", "lists.delete": "Radera lista", "lists.edit": "Redigera lista", - "lists.edit.submit": "Ändra titel", - "lists.exclusive": "Dölj dessa inlägg från hemflödet", - "lists.new.create": "Lägg till lista", - "lists.new.title_placeholder": "Ny listrubrik", "lists.replies_policy.followed": "Alla användare som följs", "lists.replies_policy.list": "Medlemmar i listan", "lists.replies_policy.none": "Ingen", - "lists.replies_policy.title": "Visa svar till:", - "lists.search": "Sök bland personer du följer", - "lists.subheading": "Dina listor", "load_pending": "{count, plural, one {# nytt objekt} other {# nya objekt}}", "loading_indicator.label": "Laddar…", "media_gallery.hide": "Dölj", diff --git a/app/javascript/mastodon/locales/ta.json b/app/javascript/mastodon/locales/ta.json index 87d6660f053a8d..1465fcb51f7b54 100644 --- a/app/javascript/mastodon/locales/ta.json +++ b/app/javascript/mastodon/locales/ta.json @@ -174,7 +174,6 @@ "empty_column.hashtag": "இந்த சிட்டையில் இதுவரை ஏதும் இல்லை.", "empty_column.home": "உங்கள் மாஸ்டடான் வீட்டில் யாரும் இல்லை. {public} -இல் சென்று பார்க்கவும், அல்லது தேடல் கருவியைப் பயன்படுத்திப் பிற பயனர்களைக் கண்டடையவும்.", "empty_column.list": "இந்தப் பட்டியலில் இதுவரை ஏதும் இல்லை. இப்பட்டியலின் உறுப்பினர்கள் புதிய டூட்டுகளை இட்டால். அவை இங்கே காண்பிக்கப்படும்.", - "empty_column.lists": "இதுவரை நீங்கள் எந்தப் பட்டியலையும் உருவாக்கவில்லை. உருவாக்கினால், அது இங்கே காண்பிக்கப்படும்.", "empty_column.mutes": "நீங்கள் இதுவரை எந்தப் பயனர்களையும் முடக்கியிருக்கவில்லை.", "empty_column.notifications": "உங்களுக்காக எந்த அறிவிப்புகளும் இல்லை. உரையாடலைத் துவங்க பிறரைத் தொடர்புகொள்ளவும்.", "empty_column.public": "இங்கு எதுவும் இல்லை! இவ்விடத்தை நிரப்ப எதையேனும் எழுதவும், அல்லது வேறு சர்வர்களில் உள்ள பயனர்களைப் பின்தொடரவும்", @@ -242,15 +241,8 @@ "lightbox.close": "நெருக்கமாக", "lightbox.next": "அடுத்த", "lightbox.previous": "சென்ற", - "lists.account.add": "பட்டியலில் சேர்", - "lists.account.remove": "பட்டியலில் இருந்து அகற்று", "lists.delete": "பட்டியலை நீக்கு", "lists.edit": "பட்டியலை திருத்து", - "lists.edit.submit": "தலைப்பு மாற்றவும்", - "lists.new.create": "பட்டியலில் சேர்", - "lists.new.title_placeholder": "புதிய பட்டியல் தலைப்பு", - "lists.search": "நீங்கள் பின்தொடரும் நபர்கள் மத்தியில் தேடுதல்", - "lists.subheading": "உங்கள் பட்டியல்கள்", "load_pending": "{count, plural,one {# புதியது}other {# புதியவை}}", "navigation_bar.blocks": "தடுக்கப்பட்ட பயனர்கள்", "navigation_bar.bookmarks": "அடையாளக்குறிகள்", diff --git a/app/javascript/mastodon/locales/te.json b/app/javascript/mastodon/locales/te.json index 40fbd7f7bdec1d..d58a6916359e3f 100644 --- a/app/javascript/mastodon/locales/te.json +++ b/app/javascript/mastodon/locales/te.json @@ -106,7 +106,6 @@ "empty_column.hashtag": "ఇంకా హాష్ ట్యాగ్లో ఏమీ లేదు.", "empty_column.home": "మీ హోమ్ కాలక్రమం ఖాళీగా ఉంది! {Public} ను సందర్శించండి లేదా ఇతర వినియోగదారులను కలుసుకోవడానికి మరియు అన్వేషణ కోసం శోధనను ఉపయోగించండి.", "empty_column.list": "ఇంకా ఈ జాబితాలో ఏదీ లేదు. ఈ జాబితాలోని సభ్యులు కొత్త స్టేటస్ లను పోస్ట్ చేసినప్పుడు, అవి ఇక్కడ కనిపిస్తాయి.", - "empty_column.lists": "మీకు ఇంకా జాబితాలు ఏమీ లేవు. మీరు ఒకటి సృష్టించగానే, అది ఇక్కడ కనబడుతుంది.", "empty_column.mutes": "మీరు ఇంకా ఏ వినియోగదారులనూ మ్యూట్ చేయలేదు.", "empty_column.notifications": "మీకు ఇంకా ఏ నోటిఫికేషన్లు లేవు. సంభాషణను ప్రారంభించడానికి ఇతరులతో ప్రతిస్పందించండి.", "empty_column.public": "ఇక్కడ ఏమీ లేదు! దీన్ని నింపడానికి బహిరంగంగా ఏదైనా వ్రాయండి, లేదా ఇతర సేవికల నుండి వినియోగదారులను అనుసరించండి", @@ -158,15 +157,8 @@ "lightbox.close": "మూసివేయు", "lightbox.next": "తరువాత", "lightbox.previous": "మునుపటి", - "lists.account.add": "జాబితాకు జోడించు", - "lists.account.remove": "జాబితా నుండి తొలగించు", "lists.delete": "జాబితాను తొలగించు", "lists.edit": "జాబితాను సవరించు", - "lists.edit.submit": "శీర్షిక మార్చు", - "lists.new.create": "జాబితాను జోడించు", - "lists.new.title_placeholder": "కొత్త జాబితా శీర్షిక", - "lists.search": "మీరు అనుసరించే వ్యక్తులలో శోధించండి", - "lists.subheading": "మీ జాబితాలు", "navigation_bar.blocks": "బ్లాక్ చేయబడిన వినియోగదారులు", "navigation_bar.community_timeline": "స్థానిక కాలక్రమం", "navigation_bar.compose": "కొత్త టూట్ను రాయండి", diff --git a/app/javascript/mastodon/locales/th.json b/app/javascript/mastodon/locales/th.json index 95e3e1e52b62b2..b9fe9cf33b2aed 100644 --- a/app/javascript/mastodon/locales/th.json +++ b/app/javascript/mastodon/locales/th.json @@ -280,7 +280,6 @@ "empty_column.hashtag": "ยังไม่มีสิ่งใดในแฮชแท็กนี้", "empty_column.home": "เส้นเวลาหน้าแรกของคุณว่างเปล่า! ติดตามผู้คนเพิ่มเติมเพื่อเติมเส้นเวลาให้เต็ม", "empty_column.list": "ยังไม่มีสิ่งใดในรายการนี้ เมื่อสมาชิกของรายการนี้โพสต์โพสต์ใหม่ โพสต์จะปรากฏที่นี่", - "empty_column.lists": "คุณยังไม่มีรายการใด ๆ เมื่อคุณสร้างรายการ รายการจะปรากฏที่นี่", "empty_column.mutes": "คุณยังไม่ได้ซ่อนผู้ใช้ใด ๆ", "empty_column.notification_requests": "โล่งทั้งหมด! ไม่มีสิ่งใดที่นี่ เมื่อคุณได้รับการแจ้งเตือนใหม่ การแจ้งเตือนจะปรากฏที่นี่ตามการตั้งค่าของคุณ", "empty_column.notifications": "คุณยังไม่มีการแจ้งเตือนใด ๆ เมื่อผู้คนอื่น ๆ โต้ตอบกับคุณ คุณจะเห็นการแจ้งเตือนที่นี่", @@ -453,20 +452,11 @@ "link_preview.author": "โดย {name}", "link_preview.more_from_author": "เพิ่มเติมจาก {name}", "link_preview.shares": "{count, plural, other {{counter} โพสต์}}", - "lists.account.add": "เพิ่มไปยังรายการ", - "lists.account.remove": "เอาออกจากรายการ", "lists.delete": "ลบรายการ", "lists.edit": "แก้ไขรายการ", - "lists.edit.submit": "เปลี่ยนชื่อเรื่อง", - "lists.exclusive": "ซ่อนโพสต์เหล่านี้จากหน้าแรก", - "lists.new.create": "เพิ่มรายการ", - "lists.new.title_placeholder": "ชื่อเรื่องรายการใหม่", "lists.replies_policy.followed": "ผู้ใช้ใด ๆ ที่ติดตาม", "lists.replies_policy.list": "สมาชิกของรายการ", "lists.replies_policy.none": "ไม่มีใคร", - "lists.replies_policy.title": "แสดงการตอบกลับแก่:", - "lists.search": "ค้นหาในหมู่ผู้คนที่คุณติดตาม", - "lists.subheading": "รายการของคุณ", "load_pending": "{count, plural, other {# รายการใหม่}}", "loading_indicator.label": "กำลังโหลด…", "media_gallery.hide": "ซ่อน", diff --git a/app/javascript/mastodon/locales/tok.json b/app/javascript/mastodon/locales/tok.json index 2cf7f1929aa3cc..d526c271c6e57a 100644 --- a/app/javascript/mastodon/locales/tok.json +++ b/app/javascript/mastodon/locales/tok.json @@ -191,7 +191,6 @@ "empty_column.hashtag": "ala li lon toki ni", "empty_column.home": "ala a li lon lipu open sina! sina wile lon e ijo lon ni la o kute e jan pi toki suli.", "empty_column.list": "ala li lon kulupu lipu ni. jan pi kulupu lipu ni li toki sin la toki ni li lon ni.", - "empty_column.lists": "sina jo ala e kulupu lipu. sina pali sin e kulupu lipu la ona li lon ni.", "empty_column.mutes": "jan ala li len tawa sina.", "error.unexpected_crash.explanation": "ilo li ken ala pana e lipu ni. ni li ken tan pakala mi tan pakala pi ilo sina.", "errors.unexpected_crash.report_issue": "o toki e pakala tawa lawa", @@ -253,17 +252,11 @@ "lightbox.next": "sinpin", "lightbox.previous": "monsi", "link_preview.author": "tan {name}", - "lists.account.add": "o pana tawa kulupu lipu", - "lists.account.remove": "o weka tan kulupu lipu", "lists.delete": "o weka e kulupu lipu", "lists.edit": "o ante e kulupu lipu", - "lists.edit.submit": "o ante e nimi", - "lists.exclusive": "o len e toki lon lipu open", - "lists.new.create": "o sin e kulupu lipu", "lists.replies_policy.followed": "jan kute ale", "lists.replies_policy.list": "jan pi kulupu ni taso", "lists.replies_policy.none": "jan ala", - "lists.subheading": "kulupu lipu sina", "load_pending": "{count, plural, other {ijo sin #}}", "loading_indicator.label": "ni li kama…", "mute_modal.title": "sina wile ala wile kute e jan ni?", diff --git a/app/javascript/mastodon/locales/tr.json b/app/javascript/mastodon/locales/tr.json index 061f9c6c281a00..7851da5ecb8ead 100644 --- a/app/javascript/mastodon/locales/tr.json +++ b/app/javascript/mastodon/locales/tr.json @@ -140,13 +140,16 @@ "column.blocks": "Engellenen kullanıcılar", "column.bookmarks": "Yer İşaretleri", "column.community": "Yerel ağ akışı", + "column.create_list": "Liste oluştur", "column.direct": "Özel değinmeler", "column.directory": "Profillere göz at", "column.domain_blocks": "Engellenen alan adları", + "column.edit_list": "Listeyi düzenle", "column.favourites": "Gözdelerin", "column.firehose": "Anlık Akışlar", "column.follow_requests": "Takip istekleri", "column.home": "Anasayfa", + "column.list_members": "Liste üyelerini yönet", "column.lists": "Listeler", "column.mutes": "Sessize alınmış kullanıcılar", "column.notifications": "Bildirimler", @@ -292,7 +295,6 @@ "empty_column.hashtag": "Henüz bu etikete sahip hiçbir gönderi yok.", "empty_column.home": "Ana zaman tünelin boş! Akışını doldurmak için daha fazla kişiyi takip ediniz.", "empty_column.list": "Henüz bu listede bir şey yok. Bu listenin üyeleri bir şey paylaşığında burada gözükecek.", - "empty_column.lists": "Henüz listen yok. Liste oluşturduğunda burada görünür.", "empty_column.mutes": "Henüz bir kullanıcıyı sessize almadınız.", "empty_column.notification_requests": "Hepsi tamam! Burada yeni bir şey yok. Yeni bildirim aldığınızda, ayarlarınıza göre burada görüntülenecekler.", "empty_column.notifications": "Henüz bildiriminiz yok. Sohbete başlamak için başkalarıyla etkileşim kurun.", @@ -465,20 +467,31 @@ "link_preview.author": "Yazar: {name}", "link_preview.more_from_author": "{name} kişisinden daha fazlası", "link_preview.shares": "{count, plural, one {{counter} gönderi} other {{counter} gönderi}}", - "lists.account.add": "Listeye ekle", - "lists.account.remove": "Listeden kaldır", + "lists.add_member": "Ekle", + "lists.add_to_list": "Listeye ekle", + "lists.add_to_lists": "{name} kişisini listelere ekle", + "lists.create": "Oluştur", + "lists.create_a_list_to_organize": "Anasayfa akışınızı düzenlemek için yeni bir liste oluşturun", + "lists.create_list": "Liste oluştur", "lists.delete": "Listeyi sil", + "lists.done": "Tamamlandı", "lists.edit": "Listeleri düzenle", - "lists.edit.submit": "Başlığı değiştir", - "lists.exclusive": "Bu gönderileri Anasayfadan gizle", - "lists.new.create": "Liste ekle", - "lists.new.title_placeholder": "Yeni liste başlığı", + "lists.exclusive": "Anasayfada üyeleri gizle", + "lists.exclusive_hint": "Birisi bu listede yer alıyorsa, gönderilerini iki kez görmekten kaçınmak için onu anasayfa akışınızda gizleyin.", + "lists.find_users_to_add": "Eklenecek kullanıcıları bul", + "lists.list_members": "Liste üyeleri", + "lists.list_members_count": "{count, plural, one {# üye} other {# üye}}", + "lists.list_name": "Liste adı", + "lists.new_list_name": "Yeni liste adı", + "lists.no_lists_yet": "Henüz liste yok.", + "lists.no_members_yet": "Henüz üye yok.", + "lists.no_results_found": "Sonuç bulunamadı.", + "lists.remove_member": "Kaldır", "lists.replies_policy.followed": "Takip edilen herhangi bir kullanıcı", "lists.replies_policy.list": "Listenin üyeleri", "lists.replies_policy.none": "Hiç kimse", - "lists.replies_policy.title": "Yanıtları göster:", - "lists.search": "Takip ettiğiniz kişiler arasından arayın", - "lists.subheading": "Listeleriniz", + "lists.save": "Kaydet", + "lists.search_placeholder": "Takip ettiğiniz kişilerde arama yapın", "load_pending": "{count, plural, one {# yeni öğe} other {# yeni öğe}}", "loading_indicator.label": "Yükleniyor…", "media_gallery.hide": "Gizle", diff --git a/app/javascript/mastodon/locales/tt.json b/app/javascript/mastodon/locales/tt.json index 08bb7979a10d85..07b9decc10f93a 100644 --- a/app/javascript/mastodon/locales/tt.json +++ b/app/javascript/mastodon/locales/tt.json @@ -275,16 +275,10 @@ "lightbox.previous": "Алдагы", "limited_account_hint.action": "Барыбер профильне күрсәтергә", "limited_account_hint.title": "Бу профильне модераторлар яшергән {domain}.", - "lists.account.add": "Исемлеккә өстәргә", - "lists.account.remove": "Исемлектән бетерергә", "lists.delete": "Исемлекне бетерегез", "lists.edit": "Исемлекне үзгәртү", - "lists.edit.submit": "Исемен үзгәртү", - "lists.new.create": "Исемлек өстәгез", - "lists.new.title_placeholder": "Яңа исемлек башламы", "lists.replies_policy.list": "Исемлек әгъзалары", "lists.replies_policy.none": "Һичкем", - "lists.subheading": "Исемлегегегезләр", "load_pending": "{count, plural, one {# яңа элемент} other {# яңа элемент}}", "navigation_bar.about": "Проект турында", "navigation_bar.blocks": "Блокланган кулланучылар", diff --git a/app/javascript/mastodon/locales/uk.json b/app/javascript/mastodon/locales/uk.json index 0e0906eb3794b1..a88c5883500530 100644 --- a/app/javascript/mastodon/locales/uk.json +++ b/app/javascript/mastodon/locales/uk.json @@ -140,9 +140,11 @@ "column.blocks": "Заблоковані користувачі", "column.bookmarks": "Закладки", "column.community": "Локальна стрічка", + "column.create_list": "Створити список", "column.direct": "Особисті згадки", "column.directory": "Переглянути профілі", "column.domain_blocks": "Заблоковані домени", + "column.edit_list": "Редагувати список", "column.favourites": "Уподобане", "column.firehose": "Стрічка новин", "column.follow_requests": "Запити на підписку", @@ -292,7 +294,6 @@ "empty_column.hashtag": "Дописів з цим гештеґом поки не існує.", "empty_column.home": "Ваша стрічка порожня! Підпишіться на інших, щоб її заповнити.", "empty_column.list": "Цей список порожній. Коли його учасники додадуть нові дописи, вони з'являться тут.", - "empty_column.lists": "У вас ще немає списків. Коли ви їх створите, вони з'являться тут.", "empty_column.mutes": "Ви ще не приховали жодного користувача.", "empty_column.notification_requests": "Усе чисто! Тут нічого немає. Коли ви отримаєте нові сповіщення, вони з'являться тут відповідно до ваших налаштувань.", "empty_column.notifications": "У вас ще немає сповіщень. Коли інші люди почнуть взаємодіяти з вами, ви побачите їх тут.", @@ -465,20 +466,11 @@ "link_preview.author": "Від {name}", "link_preview.more_from_author": "Більше від {name}", "link_preview.shares": "{count, plural, one {{counter} допис} few {{counter} дописи} many {{counter} дописів} other {{counter} допис}}", - "lists.account.add": "Додати до списку", - "lists.account.remove": "Вилучити зі списку", "lists.delete": "Видалити список", "lists.edit": "Редагувати список", - "lists.edit.submit": "Змінити назву", - "lists.exclusive": "Сховати ці дописи з домашньої сторінки", - "lists.new.create": "Додати список", - "lists.new.title_placeholder": "Нова назва списку", "lists.replies_policy.followed": "Будь-який відстежуваний користувач", "lists.replies_policy.list": "Учасники списку", "lists.replies_policy.none": "Ніхто", - "lists.replies_policy.title": "Показати відповіді для:", - "lists.search": "Шукати серед людей, на яких ви підписані", - "lists.subheading": "Ваші списки", "load_pending": "{count, plural, one {# новий елемент} other {# нових елементів}}", "loading_indicator.label": "Завантаження…", "media_gallery.hide": "Сховати", diff --git a/app/javascript/mastodon/locales/ur.json b/app/javascript/mastodon/locales/ur.json index cb5dfa63cd01e9..476b8c2afbd730 100644 --- a/app/javascript/mastodon/locales/ur.json +++ b/app/javascript/mastodon/locales/ur.json @@ -162,7 +162,6 @@ "empty_column.hashtag": "ابھی یہ ہیش ٹیگ خالی ہے.", "empty_column.home": "آپ کا خانگی جدول خالی ہے! {public} دیکھیں یا شروعات کیلئے تلاش کریں اور دیگر صارفین سے ملیں.", "empty_column.list": "یہ فہرست ابھی خالی ہے. جب اس فہرست کے ارکان کچھ تحریر کریں گے، یہاں نظر آئے گا.", - "empty_column.lists": "ابھی آپ کی کوئی فہرست نہیں ہے. جب آپ بنائیں گے، وہ یہاں نظر آئے گی.", "empty_column.mutes": "آپ نے ابھی کسی صارف کو خاموش نہیں کیا ہے.", "empty_column.notifications": "ابھی آپ کیلئے کوئی اطلاعات نہیں ہیں. گفتگو شروع کرنے کے لئے دیگر صارفین سے متعامل ہوں.", "empty_column.public": "یہاں کچھ بھی نہیں ہے! کچھ عمومی تحریر کریں یا اس جگہ کو پُر کرنے کے لئے از خود دیگر سرورس کے صارفین کی پیروی کریں", diff --git a/app/javascript/mastodon/locales/uz.json b/app/javascript/mastodon/locales/uz.json index 6dae368ffcfbd7..dd67fc6c817110 100644 --- a/app/javascript/mastodon/locales/uz.json +++ b/app/javascript/mastodon/locales/uz.json @@ -187,7 +187,6 @@ "empty_column.hashtag": "Ushbu hashtagda hali hech narsa yo'q.", "empty_column.home": "Bosh sahifa yilnomangiz boʻsh! Uni to'ldirish uchun ko'proq odamlarni kuzatib boring. {suggestions}", "empty_column.list": "Bu ro'yxatda hali hech narsa yo'q. Ushbu roʻyxat aʼzolari yangi xabarlarni nashr qilganda, ular shu yerda paydo boʻladi.", - "empty_column.lists": "Sizda hali hech qanday roʻyxat yoʻq. Uni yaratganingizda, u shu yerda paydo bo'ladi.", "empty_column.mutes": "Siz hali hech bir foydalanuvchining ovozini o‘chirmagansiz.", "empty_column.notifications": "Sizda hali hech qanday bildirishnoma yo‘q. Boshqa odamlar siz bilan muloqot qilganda, buni shu yerda ko'rasiz.", "empty_column.public": "Bu erda hech narsa yo'q! Biror narsani ochiq yozing yoki uni toʻldirish uchun boshqa serverlardagi foydalanuvchilarni qoʻlda kuzatib boring", @@ -288,16 +287,10 @@ "keyboard_shortcuts.up": "Roʻyxatda yuqoriga koʻtarish", "lightbox.close": "Yopish", "limited_account_hint.action": "Baribir profilni ko'rsatish", - "lists.account.add": "Ro‘yxatga qo‘shish", - "lists.account.remove": "Roʻyxatdan o'chirish", "lists.delete": "Roʻyxatni o'chirish", "lists.edit": "Roʻyxatni tahrirlash", - "lists.new.create": "Ro‘yxatga qo‘shish", "lists.replies_policy.list": "Ro'yxat a'zolari", "lists.replies_policy.none": "Hech kim", - "lists.replies_policy.title": "Javoblarni ko'rsatish:", - "lists.search": "Siz kuzatadigan odamlar orasidan qidiring", - "lists.subheading": "Sizning ro'yxatlaringiz", "load_pending": "{count, plural, one {# yangi element} other {# yangi elementlar}}", "moved_to_account_banner.text": "{movedToAccount} hisobiga koʻchganingiz uchun {disabledAccount} hisobingiz hozirda oʻchirib qoʻyilgan.", "navigation_bar.about": "Haqida", diff --git a/app/javascript/mastodon/locales/vi.json b/app/javascript/mastodon/locales/vi.json index 73016ed8c92587..4ba36e05456a8c 100644 --- a/app/javascript/mastodon/locales/vi.json +++ b/app/javascript/mastodon/locales/vi.json @@ -140,13 +140,16 @@ "column.blocks": "Người đã chặn", "column.bookmarks": "Những tút đã lưu", "column.community": "Máy chủ này", + "column.create_list": "Tạo danh sách", "column.direct": "Nhắn riêng", "column.directory": "Tìm người cùng sở thích", "column.domain_blocks": "Máy chủ đã chặn", + "column.edit_list": "Sửa danh sách", "column.favourites": "Những tút đã thích", "column.firehose": "Bảng tin", "column.follow_requests": "Yêu cầu theo dõi", "column.home": "Trang chủ", + "column.list_members": "Quản lý danh sách", "column.lists": "Danh sách", "column.mutes": "Người đã ẩn", "column.notifications": "Thông báo", @@ -292,7 +295,6 @@ "empty_column.hashtag": "Chưa có tút nào dùng hashtag này.", "empty_column.home": "Trang chủ của bạn đang trống! Hãy theo dõi nhiều người hơn để lấp đầy.", "empty_column.list": "Chưa có tút. Khi những người trong danh sách này đăng tút mới, chúng sẽ xuất hiện ở đây.", - "empty_column.lists": "Bạn chưa tạo danh sách nào.", "empty_column.mutes": "Bạn chưa ẩn bất kỳ ai.", "empty_column.notification_requests": "Sạch sẽ! Không còn gì ở đây. Khi bạn nhận được thông báo mới, chúng sẽ xuất hiện ở đây theo cài đặt của bạn.", "empty_column.notifications": "Bạn chưa có thông báo nào. Hãy thử theo dõi hoặc nhắn riêng cho ai đó.", @@ -465,20 +467,32 @@ "link_preview.author": "Bởi {name}", "link_preview.more_from_author": "Viết bởi {name}", "link_preview.shares": "{count, plural, other {{counter} lượt chia sẻ}}", - "lists.account.add": "Thêm vào danh sách", - "lists.account.remove": "Xóa khỏi danh sách", + "lists.add_member": "Thêm", + "lists.add_to_list": "Thêm vào danh sách", + "lists.add_to_lists": "Thêm {name} vào danh sách", + "lists.create": "Tạo", + "lists.create_a_list_to_organize": "Tạo một danh sách để sắp xếp Bảng tin", + "lists.create_list": "Tạo danh sách", "lists.delete": "Xóa danh sách", + "lists.done": "Xong", "lists.edit": "Sửa danh sách", - "lists.edit.submit": "Thay đổi tiêu đề", - "lists.exclusive": "Ẩn những tút này khỏi bảng tin", - "lists.new.create": "Tạo mới", - "lists.new.title_placeholder": "Tên danh sách", + "lists.exclusive": "Ẩn thành viên trong Trang chủ", + "lists.exclusive_hint": "Nếu ai đó có trong danh sách này, ẩn họ trong Trang chủ để tránh thấy tút của họ hiện trùng lặp.", + "lists.find_users_to_add": "Tìm người để thêm vào", + "lists.list_members": "Liệt kê các thành viên", + "lists.list_members_count": "{count, plural, other {# thành viên}}", + "lists.list_name": "Tên danh sách", + "lists.new_list_name": "Tên danh sách mới", + "lists.no_lists_yet": "Chưa có danh sách nào.", + "lists.no_members_yet": "Chưa có thành viên nào.", + "lists.no_results_found": "Không tìm thấy kết quả nào.", + "lists.remove_member": "Xóa", "lists.replies_policy.followed": "Người theo dõi", "lists.replies_policy.list": "Người trong danh sách", "lists.replies_policy.none": "Không ai", - "lists.replies_policy.title": "Cho phép trả lời với:", - "lists.search": "Tìm kiếm những người mà bạn quan tâm", - "lists.subheading": "Danh sách của bạn", + "lists.save": "Lưu", + "lists.search_placeholder": "Tìm những người mà bạn quan tâm", + "lists.show_replies_to": "Bao gồm lượt trả lời từ thành viên danh sách", "load_pending": "{count, plural, one {# tút mới} other {# tút mới}}", "loading_indicator.label": "Đang tải…", "media_gallery.hide": "Ẩn", diff --git a/app/javascript/mastodon/locales/zgh.json b/app/javascript/mastodon/locales/zgh.json index 2fe63fe83cb348..73a626d59f75fd 100644 --- a/app/javascript/mastodon/locales/zgh.json +++ b/app/javascript/mastodon/locales/zgh.json @@ -107,16 +107,9 @@ "keyboard_shortcuts.unfocus": "to un-focus compose textarea/search", "keyboard_shortcuts.up": "to move up in the list", "lightbox.close": "ⵔⴳⵍ", - "lists.account.add": "ⵔⵏⵓ ⵖⵔ ⵜⵍⴳⴰⵎⵜ", - "lists.account.remove": "ⴽⴽⵙ ⵙⴳ ⵜⵍⴳⴰⵎⵜ", "lists.delete": "ⴽⴽⵙ ⵜⴰⵍⴳⴰⵎⵜ", "lists.edit": "ⵙⵏⴼⵍ ⵜⴰⵍⴳⴰⵎⵜ", - "lists.edit.submit": "ⵙⵏⴼⵍ ⴰⵣⵡⵍ", - "lists.new.create": "ⵙⴽⵔ ⵜⴰⵍⴳⴰⵎⵜ", - "lists.new.title_placeholder": "ⴰⵣⵡⵍ ⵏ ⵜⵍⴳⴰⵎⵜ ⵜⴰⵎⴰⵢⵏⵓⵜ", "lists.replies_policy.none": "ⴰⵡⴷ ⵢⴰⵏ", - "lists.replies_policy.title": "ⵙⴽⵏ ⵜⵉⵔⴰⵔⵉⵏ ⵉ:", - "lists.subheading": "ⵜⵉⵍⴳⴰⵎⵉⵏ ⵏⵏⴽ", "load_pending": "{count, plural, one {# ⵓⴼⵔⴷⵉⵙ ⴰⵎⴰⵢⵏⵓ} other {# ⵉⴼⵔⴷⴰⵙ ⵉⵎⴰⵢⵏⵓⵜⵏ}}", "navigation_bar.compose": "Compose new toot", "navigation_bar.domain_blocks": "Hidden domains", diff --git a/app/javascript/mastodon/locales/zh-CN.json b/app/javascript/mastodon/locales/zh-CN.json index 463167e8f8fed4..16d32417c603d9 100644 --- a/app/javascript/mastodon/locales/zh-CN.json +++ b/app/javascript/mastodon/locales/zh-CN.json @@ -140,13 +140,16 @@ "column.blocks": "屏蔽的用户", "column.bookmarks": "书签", "column.community": "本站时间线", + "column.create_list": "创建列表", "column.direct": "私下提及", "column.directory": "浏览用户资料", "column.domain_blocks": "已屏蔽的域名", + "column.edit_list": "编辑列表", "column.favourites": "喜欢", "column.firehose": "实时动态", "column.follow_requests": "关注请求", "column.home": "主页", + "column.list_members": "管理列表成员", "column.lists": "列表", "column.mutes": "已隐藏的用户", "column.notifications": "通知", @@ -292,7 +295,6 @@ "empty_column.hashtag": "这个话题标签下暂时没有内容。", "empty_column.home": "你的主页时间线还没有内容!快去关注更多人吧。", "empty_column.list": "列表中还没有任何内容。当列表成员发布新嘟文时,它们将出现在这里。", - "empty_column.lists": "你还没有创建过列表。你创建的列表会在这里显示。", "empty_column.mutes": "你没有隐藏任何用户。", "empty_column.notification_requests": "都看完了!这里没有任何未读通知。当收到新的通知时,它们将根据你的设置显示在这里。", "empty_column.notifications": "你还没有收到过任何通知,快和其他用户互动吧。", @@ -465,20 +467,32 @@ "link_preview.author": "由 {name}", "link_preview.more_from_author": "查看 {name} 的更多内容", "link_preview.shares": "{count, plural, other {{counter} 条嘟文}}", - "lists.account.add": "添加到列表", - "lists.account.remove": "从列表中移除", + "lists.add_member": "添加", + "lists.add_to_list": "添加到列表", + "lists.add_to_lists": "把 {name} 添加到列表", + "lists.create": "创建", + "lists.create_a_list_to_organize": "新建一个列表,整理你的主页动态", + "lists.create_list": "创建列表", "lists.delete": "删除列表", + "lists.done": "完成", "lists.edit": "编辑列表", - "lists.edit.submit": "更改标题", - "lists.exclusive": "在主页中隐藏这些嘟文", - "lists.new.create": "新建列表", - "lists.new.title_placeholder": "新列表的标题", + "lists.exclusive": "在主页动态中隐藏列表成员", + "lists.exclusive_hint": "列表成员的嘟文将不会在你的主页动态中显示,以免重复阅读。", + "lists.find_users_to_add": "查找要添加的用户", + "lists.list_members": "列表成员", + "lists.list_members_count": "{count, plural, other {# 人}}", + "lists.list_name": "列表名称", + "lists.new_list_name": "新列表名称", + "lists.no_lists_yet": "尚无列表。", + "lists.no_members_yet": "尚无成员。", + "lists.no_results_found": "未找到结果。", + "lists.remove_member": "移除", "lists.replies_policy.followed": "所有我关注的用户", "lists.replies_policy.list": "列表成员", "lists.replies_policy.none": "不显示", - "lists.replies_policy.title": "显示回复:", - "lists.search": "搜索你关注的人", - "lists.subheading": "你的列表", + "lists.save": "保存", + "lists.search_placeholder": "搜索你关注的人", + "lists.show_replies_to": "列表成员回复的显示范围", "load_pending": "{count} 项", "loading_indicator.label": "加载中…", "media_gallery.hide": "隐藏", @@ -691,7 +705,7 @@ "privacy.direct.short": "特定的人", "privacy.private.long": "仅限你的关注者", "privacy.private.short": "关注者", - "privacy.public.long": "所有 Mastodon 内外的人", + "privacy.public.long": "", "privacy.public.short": "公开", "privacy.unlisted.additional": "该模式的行为与“公开”完全相同,只是嘟文不会出现在实时动态、话题标签、探索或 Mastodon 搜索中,即使你已在账户级设置中选择加入。", "privacy.unlisted.long": "减少算法影响", diff --git a/app/javascript/mastodon/locales/zh-HK.json b/app/javascript/mastodon/locales/zh-HK.json index 8acd6df078ebb6..ff0a124fcfee81 100644 --- a/app/javascript/mastodon/locales/zh-HK.json +++ b/app/javascript/mastodon/locales/zh-HK.json @@ -263,7 +263,6 @@ "empty_column.hashtag": "這個標籤暫時未有內容。", "empty_column.home": "你還沒有關注任何使用者。快看看{public},向其他使用者搭訕吧。", "empty_column.list": "這個列表暫時未有內容。", - "empty_column.lists": "你還沒有建立任何名單。這裡將會顯示你所建立的名單。", "empty_column.mutes": "你尚未靜音任何使用者。", "empty_column.notification_requests": "沒有新通知了!當有新通知時,會根據設定顯示在這裏。", "empty_column.notifications": "你沒有任何通知紀錄,快向其他用戶搭訕吧。", @@ -410,20 +409,11 @@ "limited_account_hint.action": "一律顯示個人檔案", "limited_account_hint.title": "此個人檔案已被 {domain} 的管理員隱藏。", "link_preview.author": "由 {name} 提供", - "lists.account.add": "新增到列表", - "lists.account.remove": "從列表刪除", "lists.delete": "刪除列表", "lists.edit": "編輯列表", - "lists.edit.submit": "變更標題", - "lists.exclusive": "從主頁隱藏這些帖文", - "lists.new.create": "新增列表", - "lists.new.title_placeholder": "新列表標題", "lists.replies_policy.followed": "任何已關注的用戶", "lists.replies_policy.list": "列表中的用戶", "lists.replies_policy.none": "無人", - "lists.replies_policy.title": "顯示回應文章︰", - "lists.search": "從你關注的人搜索", - "lists.subheading": "列表", "load_pending": "{count, plural, other {# 個新項目}}", "loading_indicator.label": "載入中…", "media_gallery.hide": "隱藏", diff --git a/app/javascript/mastodon/locales/zh-TW.json b/app/javascript/mastodon/locales/zh-TW.json index 56ddd9745e0238..355fecac4c857e 100644 --- a/app/javascript/mastodon/locales/zh-TW.json +++ b/app/javascript/mastodon/locales/zh-TW.json @@ -140,13 +140,16 @@ "column.blocks": "已封鎖的使用者", "column.bookmarks": "書籤", "column.community": "本站時間軸", + "column.create_list": "建立列表", "column.direct": "私訊", "column.directory": "瀏覽個人檔案", "column.domain_blocks": "已封鎖網域", + "column.edit_list": "編輯列表", "column.favourites": "最愛", "column.firehose": "即時內容", "column.follow_requests": "跟隨請求", "column.home": "首頁", + "column.list_members": "管理列表成員", "column.lists": "列表", "column.mutes": "已靜音的使用者", "column.notifications": "推播通知", @@ -292,7 +295,6 @@ "empty_column.hashtag": "這個主題標籤下什麼也沒有。", "empty_column.home": "您的首頁時間軸是空的!跟隨更多人來將它填滿吧!", "empty_column.list": "這份列表下什麼也沒有。當此列表的成員嘟出新的嘟文時,它們將顯示於此。", - "empty_column.lists": "您還沒有新增任何列表。當您新增列表時,它將於此顯示。", "empty_column.mutes": "您尚未靜音任何使用者。", "empty_column.notification_requests": "清空啦!已經沒有任何推播通知。當您收到新推播通知時,它們將依照您的設定於此顯示。", "empty_column.notifications": "您還沒有收到任何推播通知,當您與別人開始互動時,它將於此顯示。", @@ -465,20 +467,32 @@ "link_preview.author": "來自 {name}", "link_preview.more_from_author": "來自 {name} 之更多內容", "link_preview.shares": "{count, plural, other {{count} 則嘟文}}", - "lists.account.add": "新增至列表", - "lists.account.remove": "自列表中移除", + "lists.add_member": "新增", + "lists.add_to_list": "新增至列表", + "lists.add_to_lists": "新增 {name} 至列表", + "lists.create": "建立", + "lists.create_a_list_to_organize": "建立新列表以整理您的首頁動態", + "lists.create_list": "建立列表", "lists.delete": "刪除列表", + "lists.done": "完成", "lists.edit": "編輯列表", - "lists.edit.submit": "變更標題", - "lists.exclusive": "於首頁時間軸隱藏這些嘟文", - "lists.new.create": "新增列表", - "lists.new.title_placeholder": "新列表標題", + "lists.exclusive": "在首頁隱藏成員", + "lists.exclusive_hint": "如果某個帳號於此列表中,將自您的首頁動態中隱藏此帳號,以防重複見到他們的嘟文。", + "lists.find_users_to_add": "尋找欲新增之使用者", + "lists.list_members": "列表成員", + "lists.list_members_count": "{count, plural, other {# 個成員}}", + "lists.list_name": "列表名稱", + "lists.new_list_name": "新列表名稱", + "lists.no_lists_yet": "尚無列表。", + "lists.no_members_yet": "尚無成員。", + "lists.no_results_found": "找不到結果。", + "lists.remove_member": "移除", "lists.replies_policy.followed": "任何跟隨的使用者", "lists.replies_policy.list": "列表成員", "lists.replies_policy.none": "沒有人", - "lists.replies_policy.title": "顯示回覆:", - "lists.search": "搜尋您跟隨之使用者", - "lists.subheading": "您的列表", + "lists.save": "儲存", + "lists.search_placeholder": "搜尋您跟隨的人", + "lists.show_replies_to": "包含來自列表成員的回覆到", "load_pending": "{count, plural, other {# 個新項目}}", "loading_indicator.label": "正在載入...", "media_gallery.hide": "隱藏", diff --git a/config/locales/simple_form.zh-CN.yml b/config/locales/simple_form.zh-CN.yml index 61de577709c74e..04c23f170617c0 100644 --- a/config/locales/simple_form.zh-CN.yml +++ b/config/locales/simple_form.zh-CN.yml @@ -311,7 +311,7 @@ zh-CN: text: 规则 settings: indexable: 允许搜索引擎索引个人资料页面 - show_application: 显示你发嘟所用的应用 + show_application: 显示 tag: listable: 允许这个话题标签在用户目录中显示 name: 话题标签 From d0753ec276502ea28a1e853cbc6487020a0602e3 Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Fri, 22 Nov 2024 09:54:58 +0100 Subject: [PATCH 268/357] Update dependency aws-sdk-s3 to v1.173.0 (#33019) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> --- Gemfile.lock | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/Gemfile.lock b/Gemfile.lock index d005c744ccac2c..471795a7e7fafe 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -95,7 +95,7 @@ GEM attr_required (1.0.2) awrence (1.2.1) aws-eventstream (1.3.0) - aws-partitions (1.1009.0) + aws-partitions (1.1012.0) aws-sdk-core (3.213.0) aws-eventstream (~> 1, >= 1.3.0) aws-partitions (~> 1, >= 1.992.0) @@ -104,7 +104,7 @@ GEM aws-sdk-kms (1.96.0) aws-sdk-core (~> 3, >= 3.210.0) aws-sigv4 (~> 1.5) - aws-sdk-s3 (1.172.0) + aws-sdk-s3 (1.173.0) aws-sdk-core (~> 3, >= 3.210.0) aws-sdk-kms (~> 1) aws-sigv4 (~> 1.5) From 9ebed5d410ddd1f7f427235a81096d13a2666657 Mon Sep 17 00:00:00 2001 From: Christian Schmidt Date: Fri, 22 Nov 2024 09:58:04 +0100 Subject: [PATCH 269/357] Fix CSS warnings (#32266) --- .../styles/mastodon/components.scss | 23 ++++--------------- app/javascript/styles/mastodon/polls.scss | 5 ---- 2 files changed, 5 insertions(+), 23 deletions(-) diff --git a/app/javascript/styles/mastodon/components.scss b/app/javascript/styles/mastodon/components.scss index 8b95c3776ebef9..2c6efb71b4944f 100644 --- a/app/javascript/styles/mastodon/components.scss +++ b/app/javascript/styles/mastodon/components.scss @@ -6154,13 +6154,6 @@ a.status-card { } } -.onboard-sliders { - display: inline-block; - max-width: 30px; - max-height: auto; - margin-inline-start: 10px; -} - .safety-action-modal { width: 600px; flex-direction: column; @@ -8739,6 +8732,7 @@ noscript { &__item { flex-shrink: 0; background: lighten($ui-base-color, 12%); + color: $darker-text-color; border: 0; border-radius: 3px; margin: 2px; @@ -8775,7 +8769,6 @@ noscript { font-weight: 500; text-align: center; margin-inline-start: 6px; - color: $darker-text-color; } &:hover, @@ -8784,10 +8777,7 @@ noscript { background: lighten($ui-base-color, 16%); transition: all 200ms ease-out; transition-property: background-color, color; - - &__count { - color: lighten($darker-text-color, 4%); - } + color: lighten($darker-text-color, 4%); } &.active { @@ -8798,10 +8788,7 @@ noscript { $ui-highlight-color, 80% ); - - .reactions-bar__item__count { - color: lighten($highlight-text-color, 8%); - } + color: lighten($highlight-text-color, 8%); } } @@ -10416,7 +10403,7 @@ noscript { &__text { flex: 1 1 auto; - font-style: 14px; + font-size: 14px; line-height: 20px; strong { @@ -10474,7 +10461,7 @@ noscript { &__name { flex: 1 1 auto; color: $darker-text-color; - font-style: 14px; + font-size: 14px; line-height: 20px; overflow: hidden; text-overflow: ellipsis; diff --git a/app/javascript/styles/mastodon/polls.scss b/app/javascript/styles/mastodon/polls.scss index 939fca3364af8c..ced4c60c444d3a 100644 --- a/app/javascript/styles/mastodon/polls.scss +++ b/app/javascript/styles/mastodon/polls.scss @@ -38,11 +38,6 @@ background: darken($ui-primary-color, 5%); } - &::-ms-fill { - border-radius: 4px; - background: darken($ui-primary-color, 5%); - } - &::-webkit-progress-value { border-radius: 4px; background: darken($ui-primary-color, 5%); From 0ad5c212c112716e67ce4e7e206a822e6cd13cbd Mon Sep 17 00:00:00 2001 From: Oliver Geer <69071853+WebCoder49@users.noreply.github.com> Date: Fri, 22 Nov 2024 09:50:47 +0000 Subject: [PATCH 270/357] Fix accounts table long display name (#29316) --- app/javascript/styles/mastodon/widgets.scss | 1 + 1 file changed, 1 insertion(+) diff --git a/app/javascript/styles/mastodon/widgets.scss b/app/javascript/styles/mastodon/widgets.scss index d810ee4bfc7ce4..e1e8797460ac45 100644 --- a/app/javascript/styles/mastodon/widgets.scss +++ b/app/javascript/styles/mastodon/widgets.scss @@ -82,6 +82,7 @@ .accounts-table { width: 100%; + table-layout: fixed; .account { padding: 0; From 35683ac154ee7c717246dcac0d791b3f93c3824a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E3=82=B7=E3=83=A5=E3=83=B3=E3=82=B8=E3=83=A7=E3=83=BC?= =?UTF-8?q?=E3=82=A1?= <68307970+mszpro@users.noreply.github.com> Date: Fri, 22 Nov 2024 19:04:48 +0900 Subject: [PATCH 271/357] Remove webauthn credentials on `tootctl accounts modify --disable-2fa` (#29883) Co-authored-by: Claire --- lib/mastodon/cli/accounts.rb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lib/mastodon/cli/accounts.rb b/lib/mastodon/cli/accounts.rb index c8e91224cf6712..41127741efc8ac 100644 --- a/lib/mastodon/cli/accounts.rb +++ b/lib/mastodon/cli/accounts.rb @@ -164,7 +164,7 @@ def modify(username) user.disabled = false if options[:enable] user.disabled = true if options[:disable] user.approved = true if options[:approve] - user.otp_required_for_login = false if options[:disable_2fa] + user.disable_two_factor! if options[:disable_2fa] if user.save user.confirm if options[:confirm] From 9d34146aaae9e87384c3d16e04ed935a96049e3c Mon Sep 17 00:00:00 2001 From: Claire Date: Fri, 22 Nov 2024 15:19:11 +0100 Subject: [PATCH 272/357] Remove redundant temporary index creation in `tootctl status remove` (#33023) --- lib/mastodon/cli/statuses.rb | 17 +---------------- 1 file changed, 1 insertion(+), 16 deletions(-) diff --git a/lib/mastodon/cli/statuses.rb b/lib/mastodon/cli/statuses.rb index f441dbcd8494eb..7104181e978713 100644 --- a/lib/mastodon/cli/statuses.rb +++ b/lib/mastodon/cli/statuses.rb @@ -40,17 +40,11 @@ def remove def remove_statuses return if options[:skip_status_remove] - say('Creating temporary database indices...') - - ActiveRecord::Base.connection.add_index(:media_attachments, :remote_url, name: :index_media_attachments_remote_url, where: 'remote_url is not null', algorithm: :concurrently, if_not_exists: true) + start_at = Time.now.to_f max_id = Mastodon::Snowflake.id_at(options[:days].days.ago, with_random: false) - start_at = Time.now.to_f unless options[:continue] && ActiveRecord::Base.connection.table_exists?('statuses_to_be_deleted') - ActiveRecord::Base.connection.add_index(:accounts, :id, name: :index_accounts_local, where: 'domain is null', algorithm: :concurrently, if_not_exists: true) - ActiveRecord::Base.connection.add_index(:status_pins, :status_id, name: :index_status_pins_status_id, algorithm: :concurrently, if_not_exists: true) - say('Extract the deletion target from statuses... This might take a while...') ActiveRecord::Base.connection.create_table('statuses_to_be_deleted', force: true) @@ -72,9 +66,6 @@ def remove_statuses SQL say('Removing temporary database indices to restore write performance...') - - ActiveRecord::Base.connection.remove_index(:accounts, name: :index_accounts_local, if_exists: true) - ActiveRecord::Base.connection.remove_index(:status_pins, name: :index_status_pins_status_id, if_exists: true) end say('Beginning statuses removal... This might take a while...') @@ -102,12 +93,6 @@ def remove_statuses ActiveRecord::Base.connection.drop_table('statuses_to_be_deleted') say("Done after #{Time.now.to_f - start_at}s, removed #{removed} out of #{processed} statuses.", :green) - ensure - say('Removing temporary database indices to restore write performance...') - - ActiveRecord::Base.connection.remove_index(:accounts, name: :index_accounts_local, if_exists: true) - ActiveRecord::Base.connection.remove_index(:status_pins, name: :index_status_pins_status_id, if_exists: true) - ActiveRecord::Base.connection.remove_index(:media_attachments, name: :index_media_attachments_remote_url, if_exists: true) end def remove_orphans_media_attachments From 04ce5939ae1d865b24e1ea8512c33bbb06889409 Mon Sep 17 00:00:00 2001 From: Claire Date: Fri, 22 Nov 2024 15:36:08 +0100 Subject: [PATCH 273/357] Prevent delivery of new posts to suspended followers (#27509) --- app/lib/status_reach_finder.rb | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/app/lib/status_reach_finder.rb b/app/lib/status_reach_finder.rb index 17e42e3ec38fe5..d08c077c743b19 100644 --- a/app/lib/status_reach_finder.rb +++ b/app/lib/status_reach_finder.rb @@ -16,7 +16,9 @@ def inboxes private def reached_account_inboxes - Account.where(id: reached_account_ids).inboxes + scope = Account.where(id: reached_account_ids) + scope.merge!(Account.without_suspended) unless unsafe? + scope.inboxes end def reached_account_ids From 99f36f1b7b4350747de5043eed2528291aa4c469 Mon Sep 17 00:00:00 2001 From: Claire Date: Fri, 22 Nov 2024 15:43:16 +0100 Subject: [PATCH 274/357] Tweak antispam a bit (#33024) --- app/lib/antispam.rb | 25 ++++++++++++++++++++++--- 1 file changed, 22 insertions(+), 3 deletions(-) diff --git a/app/lib/antispam.rb b/app/lib/antispam.rb index bc4841280fa2b6..4ebf1924854749 100644 --- a/app/lib/antispam.rb +++ b/app/lib/antispam.rb @@ -5,25 +5,36 @@ class Antispam ACCOUNT_AGE_EXEMPTION = 1.week.freeze + class DummyStatus < SimpleDelegator + def self.model_name + Mention.model_name + end + + def active_mentions + # Don't use the scope but the in-memory array + mentions.filter { |mention| !mention.silent? } + end + end + class SilentlyDrop < StandardError attr_reader :status def initialize(status) super() - @status = status - status.created_at = Time.now.utc status.id = Mastodon::Snowflake.id_at(status.created_at) status.in_reply_to_account_id = status.thread&.account_id status.delete # Make sure this is not persisted + + @status = DummyStatus.new(status) end end def local_preflight_check!(status) return unless spammy_texts.any? { |spammy_text| status.text.include?(spammy_text) } - return unless status.thread.present? && !status.thread.account.following?(status.account) + return unless suspicious_reply_or_mention?(status) return unless status.account.created_at >= ACCOUNT_AGE_EXEMPTION.ago report_if_needed!(status.account) @@ -37,6 +48,14 @@ def spammy_texts redis.smembers('antispam:spammy_texts') end + def suspicious_reply_or_mention?(status) + parent = status.thread + return true if parent.present? && !Follow.exists?(account_id: parent.account_id, target_account: status.account_id) + + account_ids = status.mentions.map(&:account_id).uniq + !Follow.exists?(account_id: account_ids, target_account_id: status.account.id) + end + def report_if_needed!(account) return if Report.unresolved.exists?(account: Account.representative, target_account: account) From 2e66dd09e2d2db54327188ae9e393d2004c7bb95 Mon Sep 17 00:00:00 2001 From: Christian Schmidt Date: Fri, 22 Nov 2024 15:48:41 +0100 Subject: [PATCH 275/357] Show default time zone (#31803) --- app/views/settings/preferences/appearance/show.html.haml | 1 + 1 file changed, 1 insertion(+) diff --git a/app/views/settings/preferences/appearance/show.html.haml b/app/views/settings/preferences/appearance/show.html.haml index 22f88c7cdd7f55..1239b8bcd9e9d8 100644 --- a/app/views/settings/preferences/appearance/show.html.haml +++ b/app/views/settings/preferences/appearance/show.html.haml @@ -18,6 +18,7 @@ = f.input :time_zone, collection: ActiveSupport::TimeZone.all.map { |tz| ["(GMT#{tz.formatted_offset}) #{tz.name}", tz.tzinfo.name] }, hint: false, + selected: current_user.time_zone || Time.zone.tzinfo.name, wrapper: :with_label .fields-group From 21a8612aaba7ca871c7b45ef6ef84e7b20f97a22 Mon Sep 17 00:00:00 2001 From: David Roetzel Date: Fri, 22 Nov 2024 16:58:48 +0100 Subject: [PATCH 276/357] Prevent delivery of posts to (even more) suspended followers (#33030) --- app/lib/status_reach_finder.rb | 27 ++++++++++++++++++--------- 1 file changed, 18 insertions(+), 9 deletions(-) diff --git a/app/lib/status_reach_finder.rb b/app/lib/status_reach_finder.rb index d08c077c743b19..5fb19643378ed4 100644 --- a/app/lib/status_reach_finder.rb +++ b/app/lib/status_reach_finder.rb @@ -17,8 +17,7 @@ def inboxes def reached_account_inboxes scope = Account.where(id: reached_account_ids) - scope.merge!(Account.without_suspended) unless unsafe? - scope.inboxes + inboxes_without_suspended_for(scope) end def reached_account_ids @@ -71,13 +70,8 @@ def replies_account_ids end def followers_inboxes - if @status.in_reply_to_local_account? && distributable? - @status.account.followers.or(@status.thread.account.followers.not_domain_blocked_by_account(@status.account)).inboxes - elsif @status.direct_visibility? || @status.limited_visibility? - [] - else - @status.account.followers.inboxes - end + scope = followers_scope + inboxes_without_suspended_for(scope) end def relay_inboxes @@ -95,4 +89,19 @@ def distributable? def unsafe? @options[:unsafe] end + + def followers_scope + if @status.in_reply_to_local_account? && distributable? + @status.account.followers.or(@status.thread.account.followers.not_domain_blocked_by_account(@status.account)) + elsif @status.direct_visibility? || @status.limited_visibility? + Account.none + else + @status.account.followers + end + end + + def inboxes_without_suspended_for(scope) + scope.merge!(Account.without_suspended) unless unsafe? + scope.inboxes + end end From 27e79da6b9d296ff20d8f1b800414ad039031fa5 Mon Sep 17 00:00:00 2001 From: Nick Schonning Date: Fri, 22 Nov 2024 17:23:02 -0500 Subject: [PATCH 277/357] Update immutable imports for v5 (#33037) --- .../features/status/components/card.jsx | 4 ++-- .../mastodon/features/status/index.jsx | 10 ++++---- .../subscribed_languages_modal/index.jsx | 2 +- app/javascript/mastodon/models/account.ts | 24 +++++++++++-------- .../mastodon/reducers/push_notifications.js | 12 +++++----- 5 files changed, 28 insertions(+), 24 deletions(-) diff --git a/app/javascript/mastodon/features/status/components/card.jsx b/app/javascript/mastodon/features/status/components/card.jsx index ee1fbe0f8fe826..136a5568a40fb2 100644 --- a/app/javascript/mastodon/features/status/components/card.jsx +++ b/app/javascript/mastodon/features/status/components/card.jsx @@ -8,7 +8,7 @@ import { FormattedMessage } from 'react-intl'; import classNames from 'classnames'; -import Immutable from 'immutable'; +import { is } from 'immutable'; import ImmutablePropTypes from 'react-immutable-proptypes'; import DescriptionIcon from '@/material-icons/400-24px/description-fill.svg?react'; @@ -73,7 +73,7 @@ export default class Card extends PureComponent { }; UNSAFE_componentWillReceiveProps (nextProps) { - if (!Immutable.is(this.props.card, nextProps.card)) { + if (!is(this.props.card, nextProps.card)) { this.setState({ embedded: false, previewLoaded: false }); } diff --git a/app/javascript/mastodon/features/status/index.jsx b/app/javascript/mastodon/features/status/index.jsx index c115f777559b30..8da3d7e11ae47d 100644 --- a/app/javascript/mastodon/features/status/index.jsx +++ b/app/javascript/mastodon/features/status/index.jsx @@ -7,7 +7,7 @@ import { Helmet } from 'react-helmet'; import { withRouter } from 'react-router-dom'; import { createSelector } from '@reduxjs/toolkit'; -import Immutable from 'immutable'; +import { List as ImmutableList } from 'immutable'; import ImmutablePropTypes from 'react-immutable-proptypes'; import ImmutablePureComponent from 'react-immutable-pure-component'; import { connect } from 'react-redux'; @@ -87,7 +87,7 @@ const makeMapStateToProps = () => { (_, { id }) => id, state => state.getIn(['contexts', 'inReplyTos']), ], (statusId, inReplyTos) => { - let ancestorsIds = Immutable.List(); + let ancestorsIds = ImmutableList(); ancestorsIds = ancestorsIds.withMutations(mutable => { let id = statusId; @@ -134,14 +134,14 @@ const makeMapStateToProps = () => { }); } - return Immutable.List(descendantsIds); + return ImmutableList(descendantsIds); }); const mapStateToProps = (state, props) => { const status = getStatus(state, { id: props.params.statusId }); - let ancestorsIds = Immutable.List(); - let descendantsIds = Immutable.List(); + let ancestorsIds = ImmutableList(); + let descendantsIds = ImmutableList(); if (status) { ancestorsIds = getAncestorsIds(state, { id: status.get('in_reply_to_id') }); diff --git a/app/javascript/mastodon/features/subscribed_languages_modal/index.jsx b/app/javascript/mastodon/features/subscribed_languages_modal/index.jsx index 0531346f91dad0..895a2686e842e6 100644 --- a/app/javascript/mastodon/features/subscribed_languages_modal/index.jsx +++ b/app/javascript/mastodon/features/subscribed_languages_modal/index.jsx @@ -23,7 +23,7 @@ const getAccountLanguages = createSelector([ (state, accountId) => state.getIn(['timelines', `account:${accountId}`, 'items'], ImmutableList()), state => state.get('statuses'), ], (statusIds, statuses) => - new ImmutableSet(statusIds.map(statusId => statuses.get(statusId)).filter(status => !status.get('reblog')).map(status => status.get('language')))); + ImmutableSet(statusIds.map(statusId => statuses.get(statusId)).filter(status => !status.get('reblog')).map(status => status.get('language')))); const mapStateToProps = (state, { accountId }) => ({ acct: state.getIn(['accounts', accountId, 'acct']), diff --git a/app/javascript/mastodon/models/account.ts b/app/javascript/mastodon/models/account.ts index 8e8e3b0e8dffe8..34fd1b57e99484 100644 --- a/app/javascript/mastodon/models/account.ts +++ b/app/javascript/mastodon/models/account.ts @@ -1,5 +1,5 @@ import type { RecordOf } from 'immutable'; -import { List, Record as ImmutableRecord } from 'immutable'; +import { List as ImmutableList, Record as ImmutableRecord } from 'immutable'; import escapeTextContentForBrowser from 'escape-html'; @@ -48,9 +48,9 @@ export interface AccountShape extends Required< Omit > { - emojis: List; - fields: List; - roles: List; + emojis: ImmutableList; + fields: ImmutableList; + roles: ImmutableList; display_name_html: string; note_emojified: string; note_plain: string | null; @@ -70,8 +70,8 @@ export const accountDefaultValues: AccountShape = { indexable: false, display_name: '', display_name_html: '', - emojis: List(), - fields: List(), + emojis: ImmutableList(), + fields: ImmutableList(), group: false, header: '', header_static: '', @@ -82,7 +82,7 @@ export const accountDefaultValues: AccountShape = { note: '', note_emojified: '', note_plain: 'string', - roles: List(), + roles: ImmutableList(), uri: '', url: '', username: '', @@ -139,11 +139,15 @@ export function createAccountFromServerJSON(serverJSON: ApiAccountJSON) { return AccountFactory({ ...accountJSON, moved: moved?.id, - fields: List( + fields: ImmutableList( serverJSON.fields.map((field) => createAccountField(field, emojiMap)), ), - emojis: List(serverJSON.emojis.map((emoji) => CustomEmojiFactory(emoji))), - roles: List(serverJSON.roles?.map((role) => AccountRoleFactory(role))), + emojis: ImmutableList( + serverJSON.emojis.map((emoji) => CustomEmojiFactory(emoji)), + ), + roles: ImmutableList( + serverJSON.roles?.map((role) => AccountRoleFactory(role)), + ), display_name_html: emojify( escapeTextContentForBrowser(displayName), emojiMap, diff --git a/app/javascript/mastodon/reducers/push_notifications.js b/app/javascript/mastodon/reducers/push_notifications.js index fa8af0e8ccbdaf..35c2955b857bea 100644 --- a/app/javascript/mastodon/reducers/push_notifications.js +++ b/app/javascript/mastodon/reducers/push_notifications.js @@ -1,11 +1,11 @@ -import Immutable from 'immutable'; +import { Map as ImmutableMap } from 'immutable'; import { SET_BROWSER_SUPPORT, SET_SUBSCRIPTION, CLEAR_SUBSCRIPTION, SET_ALERTS } from '../actions/push_notifications'; import { STORE_HYDRATE } from '../actions/store'; -const initialState = Immutable.Map({ +const initialState = ImmutableMap({ subscription: null, - alerts: new Immutable.Map({ + alerts: ImmutableMap({ follow: false, follow_request: false, favourite: false, @@ -24,7 +24,7 @@ export default function push_subscriptions(state = initialState, action) { if (push_subscription) { return state - .set('subscription', new Immutable.Map({ + .set('subscription', ImmutableMap({ id: push_subscription.get('id'), endpoint: push_subscription.get('endpoint'), })) @@ -36,11 +36,11 @@ export default function push_subscriptions(state = initialState, action) { } case SET_SUBSCRIPTION: return state - .set('subscription', new Immutable.Map({ + .set('subscription', ImmutableMap({ id: action.subscription.id, endpoint: action.subscription.endpoint, })) - .set('alerts', new Immutable.Map(action.subscription.alerts)) + .set('alerts', ImmutableMap(action.subscription.alerts)) .set('isSubscribed', true); case SET_BROWSER_SUPPORT: return state.set('browserSupport', action.value); From 91cc180cd022cf2d0557c9b674c0ac6c76e7ea13 Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Sat, 23 Nov 2024 11:28:09 +0100 Subject: [PATCH 278/357] Update dependency puma to v6.5.0 (#33041) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> --- Gemfile.lock | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/Gemfile.lock b/Gemfile.lock index 471795a7e7fafe..d5a78f111602c0 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -424,7 +424,7 @@ GEM timeout net-smtp (0.5.0) net-protocol - nio4r (2.7.3) + nio4r (2.7.4) nokogiri (1.16.7) mini_portile2 (~> 2.8.2) racc (~> 1.4) @@ -580,7 +580,7 @@ GEM psych (5.2.0) stringio public_suffix (6.0.1) - puma (6.4.3) + puma (6.5.0) nio4r (~> 2.0) pundit (2.4.0) activesupport (>= 3.0.0) From 8c322cca192179a611774624ba95869e5e51bce6 Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Sat, 23 Nov 2024 10:29:04 +0000 Subject: [PATCH 279/357] Update dependency mutex_m to v0.3.0 (#32991) 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 d5a78f111602c0..842d25dd1b7634 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -411,7 +411,7 @@ GEM minitest (5.25.1) msgpack (1.7.5) multi_json (1.15.0) - mutex_m (0.2.0) + mutex_m (0.3.0) net-http (0.5.0) uri net-imap (0.5.1) From 06c462ed1a62a1deac0e87d3f934f5091d169d71 Mon Sep 17 00:00:00 2001 From: Jeong Arm Date: Mon, 18 Nov 2024 03:48:27 -0500 Subject: [PATCH 280/357] [Glitch] Add missing autofocus on boost modal Port 60801ab9140c5bcce3a3336d3ed46ccfbf3ab129 to glitch-soc Signed-off-by: Claire --- .../flavours/glitch/features/ui/components/boost_modal.tsx | 2 ++ 1 file changed, 2 insertions(+) diff --git a/app/javascript/flavours/glitch/features/ui/components/boost_modal.tsx b/app/javascript/flavours/glitch/features/ui/components/boost_modal.tsx index 9d1cf8545fa796..fa1fc5e243340d 100644 --- a/app/javascript/flavours/glitch/features/ui/components/boost_modal.tsx +++ b/app/javascript/flavours/glitch/features/ui/components/boost_modal.tsx @@ -136,6 +136,8 @@ export const BoostModal: React.FC<{ ? messages.cancel_reblog : messages.reblog, )} + /* eslint-disable-next-line jsx-a11y/no-autofocus -- We are in the modal */ + autoFocus />
From bcd2920e0cfca1aec877881882cb47451578fb54 Mon Sep 17 00:00:00 2001 From: Eugen Rochko Date: Tue, 19 Nov 2024 09:57:12 +0100 Subject: [PATCH 281/357] [Glitch] Fix notification polling showing a loading bar in web UI Port e856838e0c971a661e732ef6f221afc800d894a6 to glitch-soc Signed-off-by: Claire --- app/javascript/flavours/glitch/actions/notification_groups.ts | 3 +++ 1 file changed, 3 insertions(+) diff --git a/app/javascript/flavours/glitch/actions/notification_groups.ts b/app/javascript/flavours/glitch/actions/notification_groups.ts index f85dfac9335e72..184f8d720bddb9 100644 --- a/app/javascript/flavours/glitch/actions/notification_groups.ts +++ b/app/javascript/flavours/glitch/actions/notification_groups.ts @@ -141,6 +141,9 @@ export const pollRecentNotifications = createDataLoadingThunk( return { notifications }; }, + { + useLoadingBar: false, + }, ); export const processNewNotificationForGroups = createAppAsyncThunk( From b52e7a68bc58840927282a1c067dff4bba876156 Mon Sep 17 00:00:00 2001 From: Jeong Arm Date: Sun, 24 Nov 2024 12:39:14 -0500 Subject: [PATCH 282/357] Set autofocus on favourite modal (#2900) --- .../flavours/glitch/features/ui/components/favourite_modal.tsx | 2 ++ 1 file changed, 2 insertions(+) diff --git a/app/javascript/flavours/glitch/features/ui/components/favourite_modal.tsx b/app/javascript/flavours/glitch/features/ui/components/favourite_modal.tsx index 88d8bb91b89e1f..4c25493c5195ea 100644 --- a/app/javascript/flavours/glitch/features/ui/components/favourite_modal.tsx +++ b/app/javascript/flavours/glitch/features/ui/components/favourite_modal.tsx @@ -82,6 +82,8 @@ export const FavouriteModal: React.FC<{
From 497dfbd95c8bd5c55b1fed3f099fc3f8d8badaf1 Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" <41898282+github-actions[bot]@users.noreply.github.com> Date: Sun, 24 Nov 2024 18:39:20 +0100 Subject: [PATCH 283/357] New Crowdin Translations (automated) (#2896) * New Crowdin translations * Fix bogus no.yml * Fix bogus simple_form.no.yml --------- Co-authored-by: GitHub Actions Co-authored-by: Claire --- .../flavours/glitch/locales/ru.json | 21 +++++++++++++++++++ .../flavours/glitch/locales/zh-CN.json | 1 + config/locales-glitch/ru.yml | 1 + 3 files changed, 23 insertions(+) diff --git a/app/javascript/flavours/glitch/locales/ru.json b/app/javascript/flavours/glitch/locales/ru.json index 7ac02de1e3820a..8998b9295990db 100644 --- a/app/javascript/flavours/glitch/locales/ru.json +++ b/app/javascript/flavours/glitch/locales/ru.json @@ -1,8 +1,10 @@ { "about.fork_disclaimer": "Glitch-soc — это свободное программное обеспечение с открытым исходным кодом, ответвлённое от Mastodon.", + "account.disclaimer_full": "Приведённые ниже сведения могут не полностью соответствовать профилю пользователя.", "account.follows": "Подписки", "account.follows_you": "Подписан(а) на вас", "account.suspended_disclaimer_full": "Этот пользователь был заблокирован модератором.", + "account.view_full_profile": "Открыть полный профиль", "boost_modal.missing_description": "Этот пост содержит медиафайлы без описания", "column.favourited_by": "Добавили в избранное", "column.reblogged_by": "Продвинули", @@ -11,9 +13,13 @@ "column_subheading.navigation": "Навигация", "compose.attach.doodle": "Нарисовать что-нибудь", "compose.change_federation": "Изменить настройки федерации", + "compose.content-type.change": "Изменить настройки форматирования", "compose.content-type.html": "HTML", + "compose.content-type.html_meta": "Использовать HTML для написания постов", "compose.content-type.markdown": "Markdown", + "compose.content-type.markdown_meta": "Использовать Markdown для написания постов", "compose.content-type.plain": "Простой текст", + "compose.content-type.plain_meta": "Не использовать продвинутое форматирование", "compose.disable_threaded_mode": "Отключить режим треда", "compose.enable_threaded_mode": "Включить режим треда", "confirmation_modal.do_not_ask_again": "Больше не спрашивать подтверждение", @@ -23,9 +29,13 @@ "endorsed_accounts_editor.endorsed_accounts": "Рекомендованные аккаунты", "favourite_modal.favourite": "Добавить пост в избранное?", "federation.federated.long": "Разрешить делиться этим постом с другими серверами", + "federation.federated.short": "Федерация", "federation.local_only.long": "Запретить делиться этим постом с другими серверами", + "federation.local_only.short": "Без федерации", + "firehose.column_settings.allow_local_only": "Показывать нефедерируемые посты по вкладке «Все»", "home.column_settings.advanced": "Продвинутые настройки", "home.column_settings.filter_regex": "Фильтр по регулярным выражениям", + "home.column_settings.show_direct": "Показывать личные упоминания", "keyboard_shortcuts.bookmark": "добавить закладку", "keyboard_shortcuts.toggle_collapse": "свернуть/развернуть пост", "moved_to_warning": "Этот аккаунт переехал на {moved_to_link}, и скорее всего не принимает новых подписчиков.", @@ -40,6 +50,7 @@ "notifications.column_settings.filter_bar.show_bar": "Показать панель фильтров", "notifications.marked_clear": "Удалить выбранные уведомления", "notifications.marked_clear_confirmation": "Вы уверены, что хотите безвозвратно удалить все выбранные уведомления?", + "settings.always_show_spoilers_field": "Всегда ставить предупреждение о содержании", "settings.auto_collapse": "Сворачивать автоматически", "settings.auto_collapse_all": "Всё", "settings.auto_collapse_height": "Высота (в пикселях) для того, чтобы пост считался длинным", @@ -53,20 +64,30 @@ "settings.compose_box_opts": "Форма постинга", "settings.content_warnings": "Content warnings", "settings.content_warnings.regexp": "Регулярное выражение", + "settings.content_warnings_filter": "Предупреждения о содержании, к которым автоматическое разворачивание не применяется:", + "settings.content_warnings_media_outside": "Показывать медиафайлы внизу под предупреждением о содержании", + "settings.content_warnings_media_outside_hint": "Воспроизводить исходное поведение Mastodon, когда предупреждение о содержании сворачивает только текст поста", + "settings.content_warnings_shared_state": "Показывать/скрывать содержимое всех копий вместе", + "settings.content_warnings_shared_state_hint": "Воспроизводить исходное поведение Mastodon, когда раскрывание и закрывание предупреждения о содержимом охватывает все копии поста сразу. Это предотвращает автоматическое сворачивание копий поста с уже однажды раскрытым CW", "settings.content_warnings_unfold_opts": "Автоматическое раскрытие", "settings.deprecated_setting": "Эта опция теперь может быть включена в {settings_page_link} Mastodon", "settings.enable_collapsed": "Включить сворачивание постов", + "settings.enable_collapsed_hint": "Свёрнутые посты отображаются частично скрытыми, чтобы занимать меньше места на экране. Эту функцию не следует путать с предупреждением о содержании", + "settings.enable_content_warnings_auto_unfold": "Автоматически раскрывать предупреждения о содержании", "settings.general": "Общие", "settings.hicolor_privacy_icons": "Цветные значки публичности поста", "settings.hicolor_privacy_icons.hint": "Отображать значки публичности поста в ярких и различимых цветах", "settings.media": "Медиафайлы", "settings.notifications.favicon_badge": "Индикатор уведомлений на иконке сайта", + "settings.notifications.favicon_badge.hint": "Добавить индикатор непрочитанных уведомлений на иконку вкладки", + "settings.notifications.tab_badge": "Индикатор непрочитанных уведомлений", "settings.notifications_opts": "Опции уведомлений", "settings.pop_in_left": "Слева", "settings.pop_in_player": "Включить плавающий плеер", "settings.pop_in_position": "Расположение плавающего плеера:", "settings.pop_in_right": "Справа", "settings.preferences": "Preferences", + "settings.prepend_cw_re": "Добавлять «re: » перед предупреждением о содержании при ответе", "settings.shared_settings_link": "настройках пользователя", "settings.show_reply_counter": "Показывать приблизительное число ответов", "settings.side_arm": "Дополнительная кнопка постинга:", diff --git a/app/javascript/flavours/glitch/locales/zh-CN.json b/app/javascript/flavours/glitch/locales/zh-CN.json index 50bcdc0161318c..ee71a76bc3be30 100644 --- a/app/javascript/flavours/glitch/locales/zh-CN.json +++ b/app/javascript/flavours/glitch/locales/zh-CN.json @@ -36,6 +36,7 @@ "confirmations.missing_media_description.message": "你没有为一个或多个媒体撰写描述。请考虑为视障人士添加描述。", "direct.group_by_conversations": "按对话分组", "endorsed_accounts_editor.endorsed_accounts": "精选账户", + "favourite_modal.favourite": "点赞嘟文?", "federation.federated.long": "允许此嘟文到达其它服务器", "federation.federated.short": "联动", "federation.local_only.long": "阻止此嘟文到达其它服务器", diff --git a/config/locales-glitch/ru.yml b/config/locales-glitch/ru.yml index f6f52ae1048f01..020428fcba6403 100644 --- a/config/locales-glitch/ru.yml +++ b/config/locales-glitch/ru.yml @@ -7,6 +7,7 @@ ru: flavour_and_skin: title: Стиль и цвета hide_followers_count: + desc_html: Не показывать число подписчиков в профилях пользователей title: Скрыть количество подписчиков other: preamble: Настройки glitch-soc, которые не могут быть отнесены к другим категориям. From ba151ef5e5310b8bb3e68ad4337f0fac20d83be0 Mon Sep 17 00:00:00 2001 From: Claire Date: Thu, 21 Nov 2024 17:10:07 +0100 Subject: [PATCH 284/357] [Glitch] Fix duplicate notifications in notification groups when using slow mode Port 4bfb8887bfac0839fd94f57ec76d082d20f4c805 to glitch-soc Signed-off-by: Claire --- .../glitch/models/notification_group.ts | 32 +++++++++++++++---- .../glitch/reducers/notification_groups.ts | 11 ++++--- 2 files changed, 33 insertions(+), 10 deletions(-) diff --git a/app/javascript/flavours/glitch/models/notification_group.ts b/app/javascript/flavours/glitch/models/notification_group.ts index ff963307c64106..a639578fe30ffc 100644 --- a/app/javascript/flavours/glitch/models/notification_group.ts +++ b/app/javascript/flavours/glitch/models/notification_group.ts @@ -17,6 +17,7 @@ export const NOTIFICATIONS_GROUP_MAX_AVATARS = 8; interface BaseNotificationGroup extends Omit { sampleAccountIds: string[]; + partial: boolean; } interface BaseNotificationWithStatus @@ -142,6 +143,7 @@ export function createNotificationGroupFromJSON( return { statusId: statusId ?? undefined, sampleAccountIds, + partial: false, ...groupWithoutStatus, }; } @@ -150,12 +152,14 @@ export function createNotificationGroupFromJSON( return { report: createReportFromJSON(report), sampleAccountIds, + partial: false, ...groupWithoutTargetAccount, }; } case 'severed_relationships': return { ...group, + partial: false, event: createAccountRelationshipSeveranceEventFromJSON(group.event), sampleAccountIds, }; @@ -163,6 +167,7 @@ export function createNotificationGroupFromJSON( const { moderation_warning, ...groupWithoutModerationWarning } = group; return { ...groupWithoutModerationWarning, + partial: false, moderationWarning: createAccountWarningFromJSON(moderation_warning), sampleAccountIds, }; @@ -171,6 +176,7 @@ export function createNotificationGroupFromJSON( const { annual_report, ...groupWithoutAnnualReport } = group; return { ...groupWithoutAnnualReport, + partial: false, annualReport: createAnnualReportEventFromJSON(annual_report), sampleAccountIds, }; @@ -178,6 +184,7 @@ export function createNotificationGroupFromJSON( default: return { sampleAccountIds, + partial: false, ...group, }; } @@ -185,17 +192,17 @@ export function createNotificationGroupFromJSON( export function createNotificationGroupFromNotificationJSON( notification: ApiNotificationJSON, -) { +): NotificationGroup { const group = { sampleAccountIds: [notification.account.id], group_key: notification.group_key, notifications_count: 1, - type: notification.type, most_recent_notification_id: notification.id, page_min_id: notification.id, page_max_id: notification.id, latest_page_notification_at: notification.created_at, - } as NotificationGroup; + partial: true, + }; switch (notification.type) { case 'favourite': @@ -204,12 +211,21 @@ export function createNotificationGroupFromNotificationJSON( case 'mention': case 'poll': case 'update': - return { ...group, statusId: notification.status?.id }; + return { + ...group, + type: notification.type, + statusId: notification.status?.id, + }; case 'admin.report': - return { ...group, report: createReportFromJSON(notification.report) }; + return { + ...group, + type: notification.type, + report: createReportFromJSON(notification.report), + }; case 'severed_relationships': return { ...group, + type: notification.type, event: createAccountRelationshipSeveranceEventFromJSON( notification.event, ), @@ -217,11 +233,15 @@ export function createNotificationGroupFromNotificationJSON( case 'moderation_warning': return { ...group, + type: notification.type, moderationWarning: createAccountWarningFromJSON( notification.moderation_warning, ), }; default: - return group; + return { + ...group, + type: notification.type, + }; } } diff --git a/app/javascript/flavours/glitch/reducers/notification_groups.ts b/app/javascript/flavours/glitch/reducers/notification_groups.ts index 09c0c5c3ee3e28..d890c32f377485 100644 --- a/app/javascript/flavours/glitch/reducers/notification_groups.ts +++ b/app/javascript/flavours/glitch/reducers/notification_groups.ts @@ -534,10 +534,13 @@ export const notificationGroupsReducer = createReducer( if (existingGroupIndex > -1) { const existingGroup = state.groups[existingGroupIndex]; if (existingGroup && existingGroup.type !== 'gap') { - group.notifications_count += existingGroup.notifications_count; - group.sampleAccountIds = group.sampleAccountIds - .concat(existingGroup.sampleAccountIds) - .slice(0, NOTIFICATIONS_GROUP_MAX_AVATARS); + if (group.partial) { + group.notifications_count += + existingGroup.notifications_count; + group.sampleAccountIds = group.sampleAccountIds + .concat(existingGroup.sampleAccountIds) + .slice(0, NOTIFICATIONS_GROUP_MAX_AVATARS); + } state.groups.splice(existingGroupIndex, 1); } } From 2259949e9bfba621a9ac50c9405b3f8b17688c54 Mon Sep 17 00:00:00 2001 From: Claire Date: Sun, 24 Nov 2024 19:48:17 +0100 Subject: [PATCH 285/357] Remove pinned accounts editor It was utterly broken and the underlying modals are getting redesigned --- .../flavours/glitch/actions/accounts.js | 106 +----------------- .../features/getting_started_misc/index.jsx | 10 -- .../containers/account_container.js | 25 ----- .../containers/search_container.js | 24 ---- .../features/pinned_accounts_editor/index.jsx | 82 -------------- .../features/ui/components/modal_root.jsx | 2 - .../features/ui/util/async-components.js | 4 - .../flavours/glitch/locales/en.json | 2 - .../flavours/glitch/reducers/index.ts | 2 - .../glitch/reducers/pinned_accounts_editor.js | 58 ---------- 10 files changed, 1 insertion(+), 314 deletions(-) delete mode 100644 app/javascript/flavours/glitch/features/pinned_accounts_editor/containers/account_container.js delete mode 100644 app/javascript/flavours/glitch/features/pinned_accounts_editor/containers/search_container.js delete mode 100644 app/javascript/flavours/glitch/features/pinned_accounts_editor/index.jsx delete mode 100644 app/javascript/flavours/glitch/reducers/pinned_accounts_editor.js diff --git a/app/javascript/flavours/glitch/actions/accounts.js b/app/javascript/flavours/glitch/actions/accounts.js index e8f81048a6d476..513b9e24a9a994 100644 --- a/app/javascript/flavours/glitch/actions/accounts.js +++ b/app/javascript/flavours/glitch/actions/accounts.js @@ -74,19 +74,6 @@ export const FOLLOW_REQUEST_AUTHORIZE_FAIL = 'FOLLOW_REQUEST_AUTHORIZE_FAIL'; export const FOLLOW_REQUEST_REJECT_REQUEST = 'FOLLOW_REQUEST_REJECT_REQUEST'; export const FOLLOW_REQUEST_REJECT_FAIL = 'FOLLOW_REQUEST_REJECT_FAIL'; -export const PINNED_ACCOUNTS_FETCH_REQUEST = 'PINNED_ACCOUNTS_FETCH_REQUEST'; -export const PINNED_ACCOUNTS_FETCH_SUCCESS = 'PINNED_ACCOUNTS_FETCH_SUCCESS'; -export const PINNED_ACCOUNTS_FETCH_FAIL = 'PINNED_ACCOUNTS_FETCH_FAIL'; - -export const PINNED_ACCOUNTS_SUGGESTIONS_FETCH_REQUEST = 'PINNED_ACCOUNTS_SUGGESTIONS_FETCH_REQUEST'; -export const PINNED_ACCOUNTS_SUGGESTIONS_FETCH_SUCCESS = 'PINNED_ACCOUNTS_SUGGESTIONS_FETCH_SUCCESS'; -export const PINNED_ACCOUNTS_SUGGESTIONS_FETCH_FAIL = 'PINNED_ACCOUNTS_SUGGESTIONS_FETCH_FAIL'; - -export const PINNED_ACCOUNTS_EDITOR_SUGGESTIONS_CLEAR = 'PINNED_ACCOUNTS_EDITOR_SUGGESTIONS_CLEAR'; -export const PINNED_ACCOUNTS_EDITOR_SUGGESTIONS_CHANGE = 'PINNED_ACCOUNTS_EDITOR_SUGGESTIONS_CHANGE'; - -export const PINNED_ACCOUNTS_EDITOR_RESET = 'PINNED_ACCOUNTS_EDITOR_RESET'; - export const ACCOUNT_REVEAL = 'ACCOUNT_REVEAL'; export * from './accounts_typed'; @@ -686,38 +673,6 @@ export function unpinAccountFail(error) { }; } -export function fetchPinnedAccounts() { - return (dispatch) => { - dispatch(fetchPinnedAccountsRequest()); - - api().get('/api/v1/endorsements', { params: { limit: 0 } }).then(response => { - dispatch(importFetchedAccounts(response.data)); - dispatch(fetchPinnedAccountsSuccess(response.data)); - }).catch(err => dispatch(fetchPinnedAccountsFail(err))); - }; -} - -export function fetchPinnedAccountsRequest() { - return { - type: PINNED_ACCOUNTS_FETCH_REQUEST, - }; -} - -export function fetchPinnedAccountsSuccess(accounts, next) { - return { - type: PINNED_ACCOUNTS_FETCH_SUCCESS, - accounts, - next, - }; -} - -export function fetchPinnedAccountsFail(error) { - return { - type: PINNED_ACCOUNTS_FETCH_FAIL, - error, - }; -} - export const updateAccount = ({ displayName, note, avatar, header, discoverable, indexable }) => (dispatch) => { const data = new FormData(); @@ -736,68 +691,9 @@ export const updateAccount = ({ displayName, note, avatar, header, discoverable, export const navigateToProfile = (accountId) => { return (_dispatch, getState) => { const acct = getState().accounts.getIn([accountId, 'acct']); - + if (acct) { browserHistory.push(`/@${acct}`); } }; }; - -export function fetchPinnedAccountsSuggestions(q) { - return (dispatch) => { - dispatch(fetchPinnedAccountsSuggestionsRequest()); - - const params = { - q, - resolve: false, - limit: 4, - following: true, - }; - - api().get('/api/v1/accounts/search', { params }).then(response => { - dispatch(importFetchedAccounts(response.data)); - dispatch(fetchPinnedAccountsSuggestionsSuccess(q, response.data)); - }).catch(err => dispatch(fetchPinnedAccountsSuggestionsFail(err))); - }; -} - -export function fetchPinnedAccountsSuggestionsRequest() { - return { - type: PINNED_ACCOUNTS_SUGGESTIONS_FETCH_REQUEST, - }; -} - -export function fetchPinnedAccountsSuggestionsSuccess(query, accounts) { - return { - type: PINNED_ACCOUNTS_SUGGESTIONS_FETCH_SUCCESS, - query, - accounts, - }; -} - -export function fetchPinnedAccountsSuggestionsFail(error) { - return { - type: PINNED_ACCOUNTS_SUGGESTIONS_FETCH_FAIL, - error, - }; -} - -export function clearPinnedAccountsSuggestions() { - return { - type: PINNED_ACCOUNTS_EDITOR_SUGGESTIONS_CLEAR, - }; -} - -export function changePinnedAccountsSuggestions(value) { - return { - type: PINNED_ACCOUNTS_EDITOR_SUGGESTIONS_CHANGE, - value, - }; -} - -export function resetPinnedAccountsEditor() { - return { - type: PINNED_ACCOUNTS_EDITOR_RESET, - }; -} - diff --git a/app/javascript/flavours/glitch/features/getting_started_misc/index.jsx b/app/javascript/flavours/glitch/features/getting_started_misc/index.jsx index 4a0dbb4a1c9934..137459ad4fc353 100644 --- a/app/javascript/flavours/glitch/features/getting_started_misc/index.jsx +++ b/app/javascript/flavours/glitch/features/getting_started_misc/index.jsx @@ -8,11 +8,9 @@ import { connect } from 'react-redux'; import BlockIcon from '@/material-icons/400-24px/block.svg?react'; import InfoIcon from '@/material-icons/400-24px/info.svg?react'; import MoreHorizIcon from '@/material-icons/400-24px/more_horiz.svg?react'; -import PersonCheckIcon from '@/material-icons/400-24px/person_check.svg?react'; import PushPinIcon from '@/material-icons/400-24px/push_pin.svg?react'; import StarIcon from '@/material-icons/400-24px/star-fill.svg?react'; import VolumeOffIcon from '@/material-icons/400-24px/volume_off.svg?react'; -import { openModal } from 'flavours/glitch/actions/modal'; import Column from 'flavours/glitch/features/ui/components/column'; import ColumnLink from 'flavours/glitch/features/ui/components/column_link'; import ColumnSubheading from 'flavours/glitch/features/ui/components/column_subheading'; @@ -27,7 +25,6 @@ const messages = defineMessages({ mutes: { id: 'navigation_bar.mutes', defaultMessage: 'Muted users' }, pins: { id: 'navigation_bar.pins', defaultMessage: 'Pinned posts' }, keyboard_shortcuts: { id: 'navigation_bar.keyboard_shortcuts', defaultMessage: 'Keyboard shortcuts' }, - featured_users: { id: 'navigation_bar.featured_users', defaultMessage: 'Featured users' }, }); class GettingStartedMisc extends ImmutablePureComponent { @@ -38,12 +35,6 @@ class GettingStartedMisc extends ImmutablePureComponent { dispatch: PropTypes.func.isRequired, }; - openFeaturedAccountsModal = () => { - this.props.dispatch(openModal({ - modalType: 'PINNED_ACCOUNTS_EDITOR', - })); - }; - render () { const { intl } = this.props; const { signedIn } = this.props.identity; @@ -54,7 +45,6 @@ class GettingStartedMisc extends ImmutablePureComponent { {signedIn && ()} {signedIn && ()} - {signedIn && ()} {signedIn && ()} {signedIn && ()} {signedIn && ()} diff --git a/app/javascript/flavours/glitch/features/pinned_accounts_editor/containers/account_container.js b/app/javascript/flavours/glitch/features/pinned_accounts_editor/containers/account_container.js deleted file mode 100644 index 29f89b95a2074f..00000000000000 --- a/app/javascript/flavours/glitch/features/pinned_accounts_editor/containers/account_container.js +++ /dev/null @@ -1,25 +0,0 @@ -import { injectIntl } from 'react-intl'; - -import { connect } from 'react-redux'; - -import { pinAccount, unpinAccount } from 'flavours/glitch/actions/accounts'; -import Account from 'flavours/glitch/features/list_editor/components/account'; -import { makeGetAccount } from 'flavours/glitch/selectors'; - -const makeMapStateToProps = () => { - const getAccount = makeGetAccount(); - - const mapStateToProps = (state, { accountId, added }) => ({ - account: getAccount(state, accountId), - added: typeof added === 'undefined' ? state.getIn(['pinnedAccountsEditor', 'accounts', 'items']).includes(accountId) : added, - }); - - return mapStateToProps; -}; - -const mapDispatchToProps = (dispatch, { accountId }) => ({ - onRemove: () => dispatch(unpinAccount(accountId)), - onAdd: () => dispatch(pinAccount(accountId)), -}); - -export default injectIntl(connect(makeMapStateToProps, mapDispatchToProps)(Account)); diff --git a/app/javascript/flavours/glitch/features/pinned_accounts_editor/containers/search_container.js b/app/javascript/flavours/glitch/features/pinned_accounts_editor/containers/search_container.js deleted file mode 100644 index 010a7527de7e61..00000000000000 --- a/app/javascript/flavours/glitch/features/pinned_accounts_editor/containers/search_container.js +++ /dev/null @@ -1,24 +0,0 @@ -import { injectIntl } from 'react-intl'; - -import { connect } from 'react-redux'; - -import Search from 'flavours/glitch/features/list_editor/components/search'; - -import { - fetchPinnedAccountsSuggestions, - clearPinnedAccountsSuggestions, - changePinnedAccountsSuggestions, -} from '../../../actions/accounts'; - - -const mapStateToProps = state => ({ - value: state.getIn(['pinnedAccountsEditor', 'suggestions', 'value']), -}); - -const mapDispatchToProps = dispatch => ({ - onSubmit: value => dispatch(fetchPinnedAccountsSuggestions(value)), - onClear: () => dispatch(clearPinnedAccountsSuggestions()), - onChange: value => dispatch(changePinnedAccountsSuggestions(value)), -}); - -export default injectIntl(connect(mapStateToProps, mapDispatchToProps)(Search)); diff --git a/app/javascript/flavours/glitch/features/pinned_accounts_editor/index.jsx b/app/javascript/flavours/glitch/features/pinned_accounts_editor/index.jsx deleted file mode 100644 index 603d7209a79918..00000000000000 --- a/app/javascript/flavours/glitch/features/pinned_accounts_editor/index.jsx +++ /dev/null @@ -1,82 +0,0 @@ -import PropTypes from 'prop-types'; - -import { injectIntl, FormattedMessage } from 'react-intl'; - -import ImmutablePropTypes from 'react-immutable-proptypes'; -import ImmutablePureComponent from 'react-immutable-pure-component'; -import { connect } from 'react-redux'; - -import spring from 'react-motion/lib/spring'; - -import { fetchPinnedAccounts, clearPinnedAccountsSuggestions, resetPinnedAccountsEditor } from 'flavours/glitch/actions/accounts'; -import Motion from 'flavours/glitch/features/ui/util/optional_motion'; - -import AccountContainer from './containers/account_container'; -import SearchContainer from './containers/search_container'; - -const mapStateToProps = state => ({ - accountIds: state.getIn(['pinnedAccountsEditor', 'accounts', 'items']), - searchAccountIds: state.getIn(['pinnedAccountsEditor', 'suggestions', 'items']), -}); - -const mapDispatchToProps = dispatch => ({ - onInitialize: () => dispatch(fetchPinnedAccounts()), - onClear: () => dispatch(clearPinnedAccountsSuggestions()), - onReset: () => dispatch(resetPinnedAccountsEditor()), -}); - -class PinnedAccountsEditor extends ImmutablePureComponent { - - static propTypes = { - onClose: PropTypes.func.isRequired, - intl: PropTypes.object.isRequired, - onInitialize: PropTypes.func.isRequired, - onClear: PropTypes.func.isRequired, - onReset: PropTypes.func.isRequired, - title: PropTypes.string.isRequired, - accountIds: ImmutablePropTypes.list.isRequired, - searchAccountIds: ImmutablePropTypes.list.isRequired, - }; - - componentDidMount () { - const { onInitialize } = this.props; - onInitialize(); - } - - componentWillUnmount () { - const { onReset } = this.props; - onReset(); - } - - render () { - const { accountIds, searchAccountIds, onClear } = this.props; - const showSearch = searchAccountIds.size > 0; - - return ( -
-

- - - -
-
- {accountIds.map(accountId => )} -
- - {showSearch &&
} - - - {({ x }) => - (
- {searchAccountIds.map(accountId => )} -
) - } -
-
-
- ); - } - -} - -export default connect(mapStateToProps, mapDispatchToProps)(injectIntl(PinnedAccountsEditor)); diff --git a/app/javascript/flavours/glitch/features/ui/components/modal_root.jsx b/app/javascript/flavours/glitch/features/ui/components/modal_root.jsx index 506cccfbb2224d..adac4c5a5e9eb6 100644 --- a/app/javascript/flavours/glitch/features/ui/components/modal_root.jsx +++ b/app/javascript/flavours/glitch/features/ui/components/modal_root.jsx @@ -13,7 +13,6 @@ import { EmbedModal, ListEditor, ListAdder, - PinnedAccountsEditor, CompareHistoryModal, FilterModal, InteractionModal, @@ -76,7 +75,6 @@ export const MODAL_COMPONENTS = { 'LIST_EDITOR': ListEditor, 'FOCAL_POINT': () => Promise.resolve({ default: FocalPointModal }), 'LIST_ADDER': ListAdder, - 'PINNED_ACCOUNTS_EDITOR': PinnedAccountsEditor, 'COMPARE_HISTORY': CompareHistoryModal, 'FILTER': FilterModal, 'SUBSCRIBED_LANGUAGES': SubscribedLanguagesModal, diff --git a/app/javascript/flavours/glitch/features/ui/util/async-components.js b/app/javascript/flavours/glitch/features/ui/util/async-components.js index 1354c21f09b07e..3102877d945896 100644 --- a/app/javascript/flavours/glitch/features/ui/util/async-components.js +++ b/app/javascript/flavours/glitch/features/ui/util/async-components.js @@ -46,10 +46,6 @@ export function Lists () { return import(/* webpackChunkName: "flavours/glitch/async/lists" */'../../lists'); } -export function PinnedAccountsEditor () { - return import(/* webpackChunkName: "flavours/glitch/async/pinned_accounts_editor" */'../../pinned_accounts_editor'); -} - export function DirectTimeline() { return import(/* webpackChunkName: "flavours/glitch/async/direct_timeline" */'../../direct_timeline'); } diff --git a/app/javascript/flavours/glitch/locales/en.json b/app/javascript/flavours/glitch/locales/en.json index e60a2d87205b4d..2fe5b715fa737c 100644 --- a/app/javascript/flavours/glitch/locales/en.json +++ b/app/javascript/flavours/glitch/locales/en.json @@ -35,7 +35,6 @@ "confirmations.missing_media_description.edit": "Edit media", "confirmations.missing_media_description.message": "At least one media attachment is lacking a description. Consider describing all media attachments for the visually impaired before sending your toot.", "direct.group_by_conversations": "Group by conversation", - "endorsed_accounts_editor.endorsed_accounts": "Featured accounts", "favourite_modal.favourite": "Favourite post?", "federation.federated.long": "Allow this post to reach other servers", "federation.federated.short": "Federated", @@ -51,7 +50,6 @@ "keyboard_shortcuts.toggle_collapse": "to collapse/uncollapse toots", "moved_to_warning": "This account is marked as moved to {moved_to_link}, and may thus not accept new follows.", "navigation_bar.app_settings": "App settings", - "navigation_bar.featured_users": "Featured users", "navigation_bar.keyboard_shortcuts": "Keyboard shortcuts", "navigation_bar.misc": "Misc", "notification.markForDeletion": "Mark for deletion", diff --git a/app/javascript/flavours/glitch/reducers/index.ts b/app/javascript/flavours/glitch/reducers/index.ts index d8d50be7d21621..99e8b2efd09cb9 100644 --- a/app/javascript/flavours/glitch/reducers/index.ts +++ b/app/javascript/flavours/glitch/reducers/index.ts @@ -30,7 +30,6 @@ import { notificationPolicyReducer } from './notification_policy'; import { notificationRequestsReducer } from './notification_requests'; import notifications from './notifications'; import { pictureInPictureReducer } from './picture_in_picture'; -import pinnedAccountsEditor from './pinned_accounts_editor'; import polls from './polls'; import push_notifications from './push_notifications'; import { relationshipsReducer } from './relationships'; @@ -78,7 +77,6 @@ const reducers = { filters, conversations, suggestions, - pinnedAccountsEditor, polls, trends, markers: markersReducer, diff --git a/app/javascript/flavours/glitch/reducers/pinned_accounts_editor.js b/app/javascript/flavours/glitch/reducers/pinned_accounts_editor.js deleted file mode 100644 index 352db5733bc2d6..00000000000000 --- a/app/javascript/flavours/glitch/reducers/pinned_accounts_editor.js +++ /dev/null @@ -1,58 +0,0 @@ -import { Map as ImmutableMap, List as ImmutableList } from 'immutable'; - -import { - PINNED_ACCOUNTS_EDITOR_RESET, - PINNED_ACCOUNTS_FETCH_REQUEST, - PINNED_ACCOUNTS_FETCH_SUCCESS, - PINNED_ACCOUNTS_FETCH_FAIL, - PINNED_ACCOUNTS_SUGGESTIONS_FETCH_SUCCESS, - PINNED_ACCOUNTS_EDITOR_SUGGESTIONS_CLEAR, - PINNED_ACCOUNTS_EDITOR_SUGGESTIONS_CHANGE, - pinAccountSuccess, - unpinAccountSuccess, -} from '../actions/accounts'; - -const initialState = ImmutableMap({ - accounts: ImmutableMap({ - items: ImmutableList(), - loaded: false, - isLoading: false, - }), - - suggestions: ImmutableMap({ - value: '', - items: ImmutableList(), - }), -}); - -export default function listEditorReducer(state = initialState, action) { - switch(action.type) { - case PINNED_ACCOUNTS_EDITOR_RESET: - return initialState; - case PINNED_ACCOUNTS_FETCH_REQUEST: - return state.setIn(['accounts', 'isLoading'], true); - case PINNED_ACCOUNTS_FETCH_FAIL: - return state.setIn(['accounts', 'isLoading'], false); - case PINNED_ACCOUNTS_FETCH_SUCCESS: - return state.update('accounts', accounts => accounts.withMutations(map => { - map.set('isLoading', false); - map.set('loaded', true); - map.set('items', ImmutableList(action.accounts.map(item => item.id))); - })); - case PINNED_ACCOUNTS_SUGGESTIONS_FETCH_SUCCESS: - return state.setIn(['suggestions', 'items'], ImmutableList(action.accounts.map(item => item.id))); - case PINNED_ACCOUNTS_EDITOR_SUGGESTIONS_CHANGE: - return state.setIn(['suggestions', 'value'], action.value); - case PINNED_ACCOUNTS_EDITOR_SUGGESTIONS_CLEAR: - return state.update('suggestions', suggestions => suggestions.withMutations(map => { - map.set('items', ImmutableList()); - map.set('value', ''); - })); - case pinAccountSuccess.type: - return state.updateIn(['accounts', 'items'], list => list.unshift(action.payload.relationship.id)); - case unpinAccountSuccess.type: - return state.updateIn(['accounts', 'items'], list => list.filterNot(item => item === action.payload.relationship.id)); - default: - return state; - } -} From 217e0f87fd69b75a9045af1a4f0f7a9ac9e83d64 Mon Sep 17 00:00:00 2001 From: Claire Date: Sun, 24 Nov 2024 19:04:05 +0100 Subject: [PATCH 286/357] [Glitch] Change design of lists in web UI Port 62603508c7343f0b9ef880bcbed67c70a9e8375d to glitch-soc Signed-off-by: Claire --- .../flavours/glitch/actions/lists.js | 285 ------------- .../flavours/glitch/actions/lists_typed.ts | 13 + app/javascript/flavours/glitch/api.ts | 1 + app/javascript/flavours/glitch/api/lists.ts | 32 ++ .../flavours/glitch/api_types/lists.ts | 10 + .../flavours/glitch/components/check_box.tsx | 13 +- .../glitch/components/scrollable_list.jsx | 11 +- .../containers/dropdown_menu_container.js | 7 + .../list_adder/components/account.jsx | 43 -- .../features/list_adder/components/list.jsx | 75 ---- .../glitch/features/list_adder/index.jsx | 76 ---- .../glitch/features/list_adder/index.tsx | 213 ++++++++++ .../list_editor/components/account.jsx | 82 ---- .../list_editor/components/edit_list_form.jsx | 76 ---- .../list_editor/components/search.jsx | 83 ---- .../glitch/features/list_editor/index.jsx | 83 ---- .../glitch/features/list_timeline/index.jsx | 65 +-- .../lists/components/new_list_form.jsx | 80 ---- .../flavours/glitch/features/lists/index.jsx | 91 ----- .../flavours/glitch/features/lists/index.tsx | 145 +++++++ .../glitch/features/lists/members.tsx | 373 ++++++++++++++++++ .../flavours/glitch/features/lists/new.tsx | 296 ++++++++++++++ .../features/ui/components/modal_root.jsx | 2 - .../flavours/glitch/features/ui/index.jsx | 7 +- .../features/ui/util/async-components.js | 12 +- app/javascript/flavours/glitch/models/list.ts | 18 + .../flavours/glitch/reducers/index.ts | 8 +- .../flavours/glitch/reducers/list_adder.js | 48 --- .../flavours/glitch/reducers/list_editor.js | 99 ----- .../flavours/glitch/reducers/lists.js | 38 -- .../flavours/glitch/reducers/lists.ts | 49 +++ .../flavours/glitch/selectors/lists.ts | 15 + .../flavours/glitch/styles/admin.scss | 10 - .../flavours/glitch/styles/components.scss | 191 ++++----- .../flavours/glitch/styles/forms.scss | 53 +++ .../styles/mastodon-light/variables.scss | 1 + .../flavours/glitch/styles/variables.scss | 1 + 37 files changed, 1368 insertions(+), 1337 deletions(-) create mode 100644 app/javascript/flavours/glitch/actions/lists_typed.ts create mode 100644 app/javascript/flavours/glitch/api/lists.ts create mode 100644 app/javascript/flavours/glitch/api_types/lists.ts delete mode 100644 app/javascript/flavours/glitch/features/list_adder/components/account.jsx delete mode 100644 app/javascript/flavours/glitch/features/list_adder/components/list.jsx delete mode 100644 app/javascript/flavours/glitch/features/list_adder/index.jsx create mode 100644 app/javascript/flavours/glitch/features/list_adder/index.tsx delete mode 100644 app/javascript/flavours/glitch/features/list_editor/components/account.jsx delete mode 100644 app/javascript/flavours/glitch/features/list_editor/components/edit_list_form.jsx delete mode 100644 app/javascript/flavours/glitch/features/list_editor/components/search.jsx delete mode 100644 app/javascript/flavours/glitch/features/list_editor/index.jsx delete mode 100644 app/javascript/flavours/glitch/features/lists/components/new_list_form.jsx delete mode 100644 app/javascript/flavours/glitch/features/lists/index.jsx create mode 100644 app/javascript/flavours/glitch/features/lists/index.tsx create mode 100644 app/javascript/flavours/glitch/features/lists/members.tsx create mode 100644 app/javascript/flavours/glitch/features/lists/new.tsx create mode 100644 app/javascript/flavours/glitch/models/list.ts delete mode 100644 app/javascript/flavours/glitch/reducers/list_adder.js delete mode 100644 app/javascript/flavours/glitch/reducers/list_editor.js delete mode 100644 app/javascript/flavours/glitch/reducers/lists.js create mode 100644 app/javascript/flavours/glitch/reducers/lists.ts create mode 100644 app/javascript/flavours/glitch/selectors/lists.ts diff --git a/app/javascript/flavours/glitch/actions/lists.js b/app/javascript/flavours/glitch/actions/lists.js index 9956059387efc2..f9abc2e769c5a0 100644 --- a/app/javascript/flavours/glitch/actions/lists.js +++ b/app/javascript/flavours/glitch/actions/lists.js @@ -1,8 +1,5 @@ import api from '../api'; -import { showAlertForError } from './alerts'; -import { importFetchedAccounts } from './importer'; - export const LIST_FETCH_REQUEST = 'LIST_FETCH_REQUEST'; export const LIST_FETCH_SUCCESS = 'LIST_FETCH_SUCCESS'; export const LIST_FETCH_FAIL = 'LIST_FETCH_FAIL'; @@ -11,45 +8,10 @@ export const LISTS_FETCH_REQUEST = 'LISTS_FETCH_REQUEST'; export const LISTS_FETCH_SUCCESS = 'LISTS_FETCH_SUCCESS'; export const LISTS_FETCH_FAIL = 'LISTS_FETCH_FAIL'; -export const LIST_EDITOR_TITLE_CHANGE = 'LIST_EDITOR_TITLE_CHANGE'; -export const LIST_EDITOR_RESET = 'LIST_EDITOR_RESET'; -export const LIST_EDITOR_SETUP = 'LIST_EDITOR_SETUP'; - -export const LIST_CREATE_REQUEST = 'LIST_CREATE_REQUEST'; -export const LIST_CREATE_SUCCESS = 'LIST_CREATE_SUCCESS'; -export const LIST_CREATE_FAIL = 'LIST_CREATE_FAIL'; - -export const LIST_UPDATE_REQUEST = 'LIST_UPDATE_REQUEST'; -export const LIST_UPDATE_SUCCESS = 'LIST_UPDATE_SUCCESS'; -export const LIST_UPDATE_FAIL = 'LIST_UPDATE_FAIL'; - export const LIST_DELETE_REQUEST = 'LIST_DELETE_REQUEST'; export const LIST_DELETE_SUCCESS = 'LIST_DELETE_SUCCESS'; export const LIST_DELETE_FAIL = 'LIST_DELETE_FAIL'; -export const LIST_ACCOUNTS_FETCH_REQUEST = 'LIST_ACCOUNTS_FETCH_REQUEST'; -export const LIST_ACCOUNTS_FETCH_SUCCESS = 'LIST_ACCOUNTS_FETCH_SUCCESS'; -export const LIST_ACCOUNTS_FETCH_FAIL = 'LIST_ACCOUNTS_FETCH_FAIL'; - -export const LIST_EDITOR_SUGGESTIONS_CHANGE = 'LIST_EDITOR_SUGGESTIONS_CHANGE'; -export const LIST_EDITOR_SUGGESTIONS_READY = 'LIST_EDITOR_SUGGESTIONS_READY'; -export const LIST_EDITOR_SUGGESTIONS_CLEAR = 'LIST_EDITOR_SUGGESTIONS_CLEAR'; - -export const LIST_EDITOR_ADD_REQUEST = 'LIST_EDITOR_ADD_REQUEST'; -export const LIST_EDITOR_ADD_SUCCESS = 'LIST_EDITOR_ADD_SUCCESS'; -export const LIST_EDITOR_ADD_FAIL = 'LIST_EDITOR_ADD_FAIL'; - -export const LIST_EDITOR_REMOVE_REQUEST = 'LIST_EDITOR_REMOVE_REQUEST'; -export const LIST_EDITOR_REMOVE_SUCCESS = 'LIST_EDITOR_REMOVE_SUCCESS'; -export const LIST_EDITOR_REMOVE_FAIL = 'LIST_EDITOR_REMOVE_FAIL'; - -export const LIST_ADDER_RESET = 'LIST_ADDER_RESET'; -export const LIST_ADDER_SETUP = 'LIST_ADDER_SETUP'; - -export const LIST_ADDER_LISTS_FETCH_REQUEST = 'LIST_ADDER_LISTS_FETCH_REQUEST'; -export const LIST_ADDER_LISTS_FETCH_SUCCESS = 'LIST_ADDER_LISTS_FETCH_SUCCESS'; -export const LIST_ADDER_LISTS_FETCH_FAIL = 'LIST_ADDER_LISTS_FETCH_FAIL'; - export const fetchList = id => (dispatch, getState) => { if (getState().getIn(['lists', id])) { return; @@ -100,89 +62,6 @@ export const fetchListsFail = error => ({ error, }); -export const submitListEditor = shouldReset => (dispatch, getState) => { - const listId = getState().getIn(['listEditor', 'listId']); - const title = getState().getIn(['listEditor', 'title']); - - if (listId === null) { - dispatch(createList(title, shouldReset)); - } else { - dispatch(updateList(listId, title, shouldReset)); - } -}; - -export const setupListEditor = listId => (dispatch, getState) => { - dispatch({ - type: LIST_EDITOR_SETUP, - list: getState().getIn(['lists', listId]), - }); - - dispatch(fetchListAccounts(listId)); -}; - -export const changeListEditorTitle = value => ({ - type: LIST_EDITOR_TITLE_CHANGE, - value, -}); - -export const createList = (title, shouldReset) => (dispatch) => { - dispatch(createListRequest()); - - api().post('/api/v1/lists', { title }).then(({ data }) => { - dispatch(createListSuccess(data)); - - if (shouldReset) { - dispatch(resetListEditor()); - } - }).catch(err => dispatch(createListFail(err))); -}; - -export const createListRequest = () => ({ - type: LIST_CREATE_REQUEST, -}); - -export const createListSuccess = list => ({ - type: LIST_CREATE_SUCCESS, - list, -}); - -export const createListFail = error => ({ - type: LIST_CREATE_FAIL, - error, -}); - -export const updateList = (id, title, shouldReset, isExclusive, replies_policy) => (dispatch) => { - dispatch(updateListRequest(id)); - - api().put(`/api/v1/lists/${id}`, { title, replies_policy, exclusive: typeof isExclusive === 'undefined' ? undefined : !!isExclusive }).then(({ data }) => { - dispatch(updateListSuccess(data)); - - if (shouldReset) { - dispatch(resetListEditor()); - } - }).catch(err => dispatch(updateListFail(id, err))); -}; - -export const updateListRequest = id => ({ - type: LIST_UPDATE_REQUEST, - id, -}); - -export const updateListSuccess = list => ({ - type: LIST_UPDATE_SUCCESS, - list, -}); - -export const updateListFail = (id, error) => ({ - type: LIST_UPDATE_FAIL, - id, - error, -}); - -export const resetListEditor = () => ({ - type: LIST_EDITOR_RESET, -}); - export const deleteList = id => (dispatch) => { dispatch(deleteListRequest(id)); @@ -206,167 +85,3 @@ export const deleteListFail = (id, error) => ({ id, error, }); - -export const fetchListAccounts = listId => (dispatch) => { - dispatch(fetchListAccountsRequest(listId)); - - api().get(`/api/v1/lists/${listId}/accounts`, { params: { limit: 0 } }).then(({ data }) => { - dispatch(importFetchedAccounts(data)); - dispatch(fetchListAccountsSuccess(listId, data)); - }).catch(err => dispatch(fetchListAccountsFail(listId, err))); -}; - -export const fetchListAccountsRequest = id => ({ - type: LIST_ACCOUNTS_FETCH_REQUEST, - id, -}); - -export const fetchListAccountsSuccess = (id, accounts, next) => ({ - type: LIST_ACCOUNTS_FETCH_SUCCESS, - id, - accounts, - next, -}); - -export const fetchListAccountsFail = (id, error) => ({ - type: LIST_ACCOUNTS_FETCH_FAIL, - id, - error, -}); - -export const fetchListSuggestions = q => (dispatch) => { - const params = { - q, - resolve: false, - limit: 4, - following: true, - }; - - api().get('/api/v1/accounts/search', { params }).then(({ data }) => { - dispatch(importFetchedAccounts(data)); - dispatch(fetchListSuggestionsReady(q, data)); - }).catch(error => dispatch(showAlertForError(error))); -}; - -export const fetchListSuggestionsReady = (query, accounts) => ({ - type: LIST_EDITOR_SUGGESTIONS_READY, - query, - accounts, -}); - -export const clearListSuggestions = () => ({ - type: LIST_EDITOR_SUGGESTIONS_CLEAR, -}); - -export const changeListSuggestions = value => ({ - type: LIST_EDITOR_SUGGESTIONS_CHANGE, - value, -}); - -export const addToListEditor = accountId => (dispatch, getState) => { - dispatch(addToList(getState().getIn(['listEditor', 'listId']), accountId)); -}; - -export const addToList = (listId, accountId) => (dispatch) => { - dispatch(addToListRequest(listId, accountId)); - - api().post(`/api/v1/lists/${listId}/accounts`, { account_ids: [accountId] }) - .then(() => dispatch(addToListSuccess(listId, accountId))) - .catch(err => dispatch(addToListFail(listId, accountId, err))); -}; - -export const addToListRequest = (listId, accountId) => ({ - type: LIST_EDITOR_ADD_REQUEST, - listId, - accountId, -}); - -export const addToListSuccess = (listId, accountId) => ({ - type: LIST_EDITOR_ADD_SUCCESS, - listId, - accountId, -}); - -export const addToListFail = (listId, accountId, error) => ({ - type: LIST_EDITOR_ADD_FAIL, - listId, - accountId, - error, -}); - -export const removeFromListEditor = accountId => (dispatch, getState) => { - dispatch(removeFromList(getState().getIn(['listEditor', 'listId']), accountId)); -}; - -export const removeFromList = (listId, accountId) => (dispatch) => { - dispatch(removeFromListRequest(listId, accountId)); - - api().delete(`/api/v1/lists/${listId}/accounts`, { params: { account_ids: [accountId] } }) - .then(() => dispatch(removeFromListSuccess(listId, accountId))) - .catch(err => dispatch(removeFromListFail(listId, accountId, err))); -}; - -export const removeFromListRequest = (listId, accountId) => ({ - type: LIST_EDITOR_REMOVE_REQUEST, - listId, - accountId, -}); - -export const removeFromListSuccess = (listId, accountId) => ({ - type: LIST_EDITOR_REMOVE_SUCCESS, - listId, - accountId, -}); - -export const removeFromListFail = (listId, accountId, error) => ({ - type: LIST_EDITOR_REMOVE_FAIL, - listId, - accountId, - error, -}); - -export const resetListAdder = () => ({ - type: LIST_ADDER_RESET, -}); - -export const setupListAdder = accountId => (dispatch, getState) => { - dispatch({ - type: LIST_ADDER_SETUP, - account: getState().getIn(['accounts', accountId]), - }); - dispatch(fetchLists()); - dispatch(fetchAccountLists(accountId)); -}; - -export const fetchAccountLists = accountId => (dispatch) => { - dispatch(fetchAccountListsRequest(accountId)); - - api().get(`/api/v1/accounts/${accountId}/lists`) - .then(({ data }) => dispatch(fetchAccountListsSuccess(accountId, data))) - .catch(err => dispatch(fetchAccountListsFail(accountId, err))); -}; - -export const fetchAccountListsRequest = id => ({ - type:LIST_ADDER_LISTS_FETCH_REQUEST, - id, -}); - -export const fetchAccountListsSuccess = (id, lists) => ({ - type: LIST_ADDER_LISTS_FETCH_SUCCESS, - id, - lists, -}); - -export const fetchAccountListsFail = (id, err) => ({ - type: LIST_ADDER_LISTS_FETCH_FAIL, - id, - err, -}); - -export const addToListAdder = listId => (dispatch, getState) => { - dispatch(addToList(listId, getState().getIn(['listAdder', 'accountId']))); -}; - -export const removeFromListAdder = listId => (dispatch, getState) => { - dispatch(removeFromList(listId, getState().getIn(['listAdder', 'accountId']))); -}; diff --git a/app/javascript/flavours/glitch/actions/lists_typed.ts b/app/javascript/flavours/glitch/actions/lists_typed.ts new file mode 100644 index 00000000000000..8f5dc0ffa3b9b6 --- /dev/null +++ b/app/javascript/flavours/glitch/actions/lists_typed.ts @@ -0,0 +1,13 @@ +import { apiCreate, apiUpdate } from 'flavours/glitch/api/lists'; +import type { List } from 'flavours/glitch/models/list'; +import { createDataLoadingThunk } from 'flavours/glitch/store/typed_functions'; + +export const createList = createDataLoadingThunk( + 'list/create', + (list: Partial) => apiCreate(list), +); + +export const updateList = createDataLoadingThunk( + 'list/update', + (list: Partial) => apiUpdate(list), +); diff --git a/app/javascript/flavours/glitch/api.ts b/app/javascript/flavours/glitch/api.ts index 51cbe0b6954e09..f0663ded409f65 100644 --- a/app/javascript/flavours/glitch/api.ts +++ b/app/javascript/flavours/glitch/api.ts @@ -68,6 +68,7 @@ export async function apiRequest( method: Method, url: string, args: { + signal?: AbortSignal; params?: RequestParamsOrData; data?: RequestParamsOrData; timeout?: number; diff --git a/app/javascript/flavours/glitch/api/lists.ts b/app/javascript/flavours/glitch/api/lists.ts new file mode 100644 index 00000000000000..64a0af01f521e3 --- /dev/null +++ b/app/javascript/flavours/glitch/api/lists.ts @@ -0,0 +1,32 @@ +import { + apiRequestPost, + apiRequestPut, + apiRequestGet, + apiRequestDelete, +} from 'flavours/glitch/api'; +import type { ApiAccountJSON } from 'flavours/glitch/api_types/accounts'; +import type { ApiListJSON } from 'flavours/glitch/api_types/lists'; + +export const apiCreate = (list: Partial) => + apiRequestPost('v1/lists', list); + +export const apiUpdate = (list: Partial) => + apiRequestPut(`v1/lists/${list.id}`, list); + +export const apiGetAccounts = (listId: string) => + apiRequestGet(`v1/lists/${listId}/accounts`, { + limit: 0, + }); + +export const apiGetAccountLists = (accountId: string) => + apiRequestGet(`v1/accounts/${accountId}/lists`); + +export const apiAddAccountToList = (listId: string, accountId: string) => + apiRequestPost(`v1/lists/${listId}/accounts`, { + account_ids: [accountId], + }); + +export const apiRemoveAccountFromList = (listId: string, accountId: string) => + apiRequestDelete(`v1/lists/${listId}/accounts`, { + account_ids: [accountId], + }); diff --git a/app/javascript/flavours/glitch/api_types/lists.ts b/app/javascript/flavours/glitch/api_types/lists.ts new file mode 100644 index 00000000000000..6984cf9b191336 --- /dev/null +++ b/app/javascript/flavours/glitch/api_types/lists.ts @@ -0,0 +1,10 @@ +// See app/serializers/rest/list_serializer.rb + +export type RepliesPolicyType = 'list' | 'followed' | 'none'; + +export interface ApiListJSON { + id: string; + title: string; + exclusive: boolean; + replies_policy: RepliesPolicyType; +} diff --git a/app/javascript/flavours/glitch/components/check_box.tsx b/app/javascript/flavours/glitch/components/check_box.tsx index 9bd137abf57cce..73fdb2f97be297 100644 --- a/app/javascript/flavours/glitch/components/check_box.tsx +++ b/app/javascript/flavours/glitch/components/check_box.tsx @@ -7,11 +7,11 @@ import { Icon } from './icon'; interface Props { value: string; - checked: boolean; - indeterminate: boolean; - name: string; - onChange: (event: React.ChangeEvent) => void; - label: React.ReactNode; + checked?: boolean; + indeterminate?: boolean; + name?: string; + onChange?: (event: React.ChangeEvent) => void; + label?: React.ReactNode; } export const CheckBox: React.FC = ({ @@ -30,6 +30,7 @@ export const CheckBox: React.FC = ({ value={value} checked={checked} onChange={onChange} + readOnly={!onChange} /> = ({ )} - {label} + {label && {label}} ); }; diff --git a/app/javascript/flavours/glitch/components/scrollable_list.jsx b/app/javascript/flavours/glitch/components/scrollable_list.jsx index 82d32185e187cf..c7108c28e12254 100644 --- a/app/javascript/flavours/glitch/components/scrollable_list.jsx +++ b/app/javascript/flavours/glitch/components/scrollable_list.jsx @@ -80,6 +80,7 @@ class ScrollableList extends PureComponent { children: PropTypes.node, bindToDocument: PropTypes.bool, preventScroll: PropTypes.bool, + footer: PropTypes.node, }; static defaultProps = { @@ -324,7 +325,7 @@ class ScrollableList extends PureComponent { }; render () { - const { children, scrollKey, trackScroll, showLoading, isLoading, hasMore, numPending, prepend, alwaysPrepend, append, emptyMessage, onLoadMore } = this.props; + const { children, scrollKey, trackScroll, showLoading, isLoading, hasMore, numPending, prepend, alwaysPrepend, append, footer, emptyMessage, onLoadMore } = this.props; const { fullscreen } = this.state; const childrenCount = Children.count(children); @@ -342,11 +343,13 @@ class ScrollableList extends PureComponent {
+ + {footer}
); } else if (isLoading || childrenCount > 0 || hasMore || !emptyMessage) { scrollableArea = ( -
+
{prepend} @@ -375,6 +378,8 @@ class ScrollableList extends PureComponent { {!hasMore && append}
+ + {footer}
); } else { @@ -385,6 +390,8 @@ class ScrollableList extends PureComponent {
{emptyMessage}
+ + {footer}
); } diff --git a/app/javascript/flavours/glitch/containers/dropdown_menu_container.js b/app/javascript/flavours/glitch/containers/dropdown_menu_container.js index 75501967424645..93f5a574b2ff57 100644 --- a/app/javascript/flavours/glitch/containers/dropdown_menu_container.js +++ b/app/javascript/flavours/glitch/containers/dropdown_menu_container.js @@ -13,6 +13,13 @@ const mapStateToProps = state => ({ openedViaKeyboard: state.dropdownMenu.keyboard, }); +/** + * @param {any} dispatch + * @param {Object} root0 + * @param {any} [root0.status] + * @param {any} root0.items + * @param {any} [root0.scrollKey] + */ const mapDispatchToProps = (dispatch, { status, items, scrollKey }) => ({ onOpen(id, onItemClick, keyboard) { dispatch(isUserTouching() ? openModal({ diff --git a/app/javascript/flavours/glitch/features/list_adder/components/account.jsx b/app/javascript/flavours/glitch/features/list_adder/components/account.jsx deleted file mode 100644 index 94a90726e33342..00000000000000 --- a/app/javascript/flavours/glitch/features/list_adder/components/account.jsx +++ /dev/null @@ -1,43 +0,0 @@ -import { injectIntl } from 'react-intl'; - -import ImmutablePropTypes from 'react-immutable-proptypes'; -import ImmutablePureComponent from 'react-immutable-pure-component'; -import { connect } from 'react-redux'; - -import { Avatar } from '../../../components/avatar'; -import { DisplayName } from '../../../components/display_name'; -import { makeGetAccount } from '../../../selectors'; - -const makeMapStateToProps = () => { - const getAccount = makeGetAccount(); - - const mapStateToProps = (state, { accountId }) => ({ - account: getAccount(state, accountId), - }); - - return mapStateToProps; -}; - -class Account extends ImmutablePureComponent { - - static propTypes = { - account: ImmutablePropTypes.record.isRequired, - }; - - render () { - const { account } = this.props; - return ( -
-
-
-
- -
-
-
- ); - } - -} - -export default connect(makeMapStateToProps)(injectIntl(Account)); diff --git a/app/javascript/flavours/glitch/features/list_adder/components/list.jsx b/app/javascript/flavours/glitch/features/list_adder/components/list.jsx deleted file mode 100644 index e91c8e35bdf11f..00000000000000 --- a/app/javascript/flavours/glitch/features/list_adder/components/list.jsx +++ /dev/null @@ -1,75 +0,0 @@ -import PropTypes from 'prop-types'; - -import { defineMessages, injectIntl } from 'react-intl'; - -import ImmutablePropTypes from 'react-immutable-proptypes'; -import ImmutablePureComponent from 'react-immutable-pure-component'; -import { connect } from 'react-redux'; - -import AddIcon from '@/material-icons/400-24px/add.svg?react'; -import CloseIcon from '@/material-icons/400-24px/close.svg?react'; -import ListAltIcon from '@/material-icons/400-24px/list_alt.svg?react'; -import { Icon } from 'flavours/glitch/components/icon'; - -import { removeFromListAdder, addToListAdder } from '../../../actions/lists'; -import { IconButton } from '../../../components/icon_button'; - -const messages = defineMessages({ - remove: { id: 'lists.account.remove', defaultMessage: 'Remove from list' }, - add: { id: 'lists.account.add', defaultMessage: 'Add to list' }, -}); - -const MapStateToProps = (state, { listId, added }) => ({ - list: state.get('lists').get(listId), - added: typeof added === 'undefined' ? state.getIn(['listAdder', 'lists', 'items']).includes(listId) : added, -}); - -const mapDispatchToProps = (dispatch, { listId }) => ({ - onRemove: () => dispatch(removeFromListAdder(listId)), - onAdd: () => dispatch(addToListAdder(listId)), -}); - -class List extends ImmutablePureComponent { - - static propTypes = { - list: ImmutablePropTypes.map.isRequired, - intl: PropTypes.object.isRequired, - onRemove: PropTypes.func.isRequired, - onAdd: PropTypes.func.isRequired, - added: PropTypes.bool, - }; - - static defaultProps = { - added: false, - }; - - render () { - const { list, intl, onRemove, onAdd, added } = this.props; - - let button; - - if (added) { - button = ; - } else { - button = ; - } - - return ( -
-
-
- - {list.get('title')} -
- -
- {button} -
-
-
- ); - } - -} - -export default connect(MapStateToProps, mapDispatchToProps)(injectIntl(List)); diff --git a/app/javascript/flavours/glitch/features/list_adder/index.jsx b/app/javascript/flavours/glitch/features/list_adder/index.jsx deleted file mode 100644 index 4e7bd46bdfd993..00000000000000 --- a/app/javascript/flavours/glitch/features/list_adder/index.jsx +++ /dev/null @@ -1,76 +0,0 @@ -import PropTypes from 'prop-types'; - -import { injectIntl } from 'react-intl'; - -import { createSelector } from '@reduxjs/toolkit'; -import ImmutablePropTypes from 'react-immutable-proptypes'; -import ImmutablePureComponent from 'react-immutable-pure-component'; -import { connect } from 'react-redux'; - -import { setupListAdder, resetListAdder } from '../../actions/lists'; -import NewListForm from '../lists/components/new_list_form'; - -import Account from './components/account'; -import List from './components/list'; -// hack - -const getOrderedLists = createSelector([state => state.get('lists')], lists => { - if (!lists) { - return lists; - } - - return lists.toList().filter(item => !!item).sort((a, b) => a.get('title').localeCompare(b.get('title'))); -}); - -const mapStateToProps = state => ({ - listIds: getOrderedLists(state).map(list=>list.get('id')), -}); - -const mapDispatchToProps = dispatch => ({ - onInitialize: accountId => dispatch(setupListAdder(accountId)), - onReset: () => dispatch(resetListAdder()), -}); - -class ListAdder extends ImmutablePureComponent { - - static propTypes = { - accountId: PropTypes.string.isRequired, - onClose: PropTypes.func.isRequired, - intl: PropTypes.object.isRequired, - onInitialize: PropTypes.func.isRequired, - onReset: PropTypes.func.isRequired, - listIds: ImmutablePropTypes.list.isRequired, - }; - - componentDidMount () { - const { onInitialize, accountId } = this.props; - onInitialize(accountId); - } - - componentWillUnmount () { - const { onReset } = this.props; - onReset(); - } - - render () { - const { accountId, listIds } = this.props; - - return ( -
-
- -
- - - - -
- {listIds.map(ListId => )} -
-
- ); - } - -} - -export default connect(mapStateToProps, mapDispatchToProps)(injectIntl(ListAdder)); diff --git a/app/javascript/flavours/glitch/features/list_adder/index.tsx b/app/javascript/flavours/glitch/features/list_adder/index.tsx new file mode 100644 index 00000000000000..af52349672bf6f --- /dev/null +++ b/app/javascript/flavours/glitch/features/list_adder/index.tsx @@ -0,0 +1,213 @@ +import { useEffect, useState, useCallback } from 'react'; + +import { FormattedMessage, useIntl, defineMessages } from 'react-intl'; + +import { isFulfilled } from '@reduxjs/toolkit'; + +import CloseIcon from '@/material-icons/400-24px/close.svg?react'; +import ListAltIcon from '@/material-icons/400-24px/list_alt.svg?react'; +import { fetchLists } from 'flavours/glitch/actions/lists'; +import { createList } from 'flavours/glitch/actions/lists_typed'; +import { + apiGetAccountLists, + apiAddAccountToList, + apiRemoveAccountFromList, +} from 'flavours/glitch/api/lists'; +import type { ApiListJSON } from 'flavours/glitch/api_types/lists'; +import { Button } from 'flavours/glitch/components/button'; +import { CheckBox } from 'flavours/glitch/components/check_box'; +import { Icon } from 'flavours/glitch/components/icon'; +import { IconButton } from 'flavours/glitch/components/icon_button'; +import { getOrderedLists } from 'flavours/glitch/selectors/lists'; +import { useAppDispatch, useAppSelector } from 'flavours/glitch/store'; + +const messages = defineMessages({ + newList: { + id: 'lists.new_list_name', + defaultMessage: 'New list name', + }, + createList: { + id: 'lists.create', + defaultMessage: 'Create', + }, + close: { + id: 'lightbox.close', + defaultMessage: 'Close', + }, +}); + +const ListItem: React.FC<{ + id: string; + title: string; + checked: boolean; + onChange: (id: string, checked: boolean) => void; +}> = ({ id, title, checked, onChange }) => { + const handleChange = useCallback( + (e: React.ChangeEvent) => { + onChange(id, e.target.checked); + }, + [id, onChange], + ); + + return ( + // eslint-disable-next-line jsx-a11y/label-has-associated-control + + ); +}; + +const NewListItem: React.FC<{ + onCreate: (list: ApiListJSON) => void; +}> = ({ onCreate }) => { + const intl = useIntl(); + const dispatch = useAppDispatch(); + const [title, setTitle] = useState(''); + + const handleChange = useCallback( + ({ target: { value } }: React.ChangeEvent) => { + setTitle(value); + }, + [setTitle], + ); + + const handleSubmit = useCallback(() => { + if (title.trim().length === 0) { + return; + } + + void dispatch(createList({ title })).then((result) => { + if (isFulfilled(result)) { + onCreate(result.payload); + setTitle(''); + } + + return ''; + }); + }, [setTitle, dispatch, onCreate, title]); + + return ( +
+ + +
+ - -
-
- - -
-
- - {replies_policy !== undefined && ( -
-

- -
- { ['none', 'list', 'followed'].map(policy => ( - - ))} -
-
- )}
@@ -229,4 +178,4 @@ class ListTimeline extends PureComponent { } -export default withRouter(connect(mapStateToProps)(injectIntl(ListTimeline))); +export default withRouter(connect(mapStateToProps)(ListTimeline)); diff --git a/app/javascript/flavours/glitch/features/lists/components/new_list_form.jsx b/app/javascript/flavours/glitch/features/lists/components/new_list_form.jsx deleted file mode 100644 index 04ff85c6598841..00000000000000 --- a/app/javascript/flavours/glitch/features/lists/components/new_list_form.jsx +++ /dev/null @@ -1,80 +0,0 @@ -import PropTypes from 'prop-types'; -import { PureComponent } from 'react'; - -import { defineMessages, injectIntl } from 'react-intl'; - -import { connect } from 'react-redux'; - -import { changeListEditorTitle, submitListEditor } from 'flavours/glitch/actions/lists'; -import { Button } from 'flavours/glitch/components/button'; - -const messages = defineMessages({ - label: { id: 'lists.new.title_placeholder', defaultMessage: 'New list title' }, - title: { id: 'lists.new.create', defaultMessage: 'Add list' }, -}); - -const mapStateToProps = state => ({ - value: state.getIn(['listEditor', 'title']), - disabled: state.getIn(['listEditor', 'isSubmitting']), -}); - -const mapDispatchToProps = dispatch => ({ - onChange: value => dispatch(changeListEditorTitle(value)), - onSubmit: () => dispatch(submitListEditor(true)), -}); - -class NewListForm extends PureComponent { - - static propTypes = { - value: PropTypes.string.isRequired, - disabled: PropTypes.bool, - intl: PropTypes.object.isRequired, - onChange: PropTypes.func.isRequired, - onSubmit: PropTypes.func.isRequired, - }; - - handleChange = e => { - this.props.onChange(e.target.value); - }; - - handleSubmit = e => { - e.preventDefault(); - this.props.onSubmit(); - }; - - handleClick = () => { - this.props.onSubmit(); - }; - - render () { - const { value, disabled, intl } = this.props; - - const label = intl.formatMessage(messages.label); - const title = intl.formatMessage(messages.title); - - return ( -
- - -
+ + + + + ); +}; + +const AccountItem: React.FC<{ + accountId: string; + listId: string; + partOfList: boolean; + onToggle: (accountId: string) => void; +}> = ({ accountId, listId, partOfList, onToggle }) => { + const intl = useIntl(); + const account = useAppSelector((state) => state.accounts.get(accountId)); + + const handleClick = useCallback(() => { + if (partOfList) { + void apiRemoveAccountFromList(listId, accountId); + } else { + void apiAddAccountToList(listId, accountId); + } + + onToggle(accountId); + }, [accountId, listId, partOfList, onToggle]); + + if (!account) { + return null; + } + + const firstVerifiedField = account.fields.find((item) => !!item.verified_at); + + return ( +
+
+ +
+ +
+ +
+ + +
+ {' '} + {firstVerifiedField && ( + + )} +
+
+ + +
+
+
+
+ ); +}; + +const ListMembers: React.FC<{ + multiColumn?: boolean; +}> = ({ multiColumn }) => { + const dispatch = useAppDispatch(); + const { id } = useParams<{ id: string }>(); + const intl = useIntl(); + + const followingAccountIds = useAppSelector( + (state) => state.user_lists.getIn(['following', me, 'items']) as string[], + ); + const [searching, setSearching] = useState(false); + const [accountIds, setAccountIds] = useState([]); + const [searchAccountIds, setSearchAccountIds] = useState([]); + const [loading, setLoading] = useState(true); + const [mode, setMode] = useState('remove'); + + useEffect(() => { + if (id) { + setLoading(true); + dispatch(fetchList(id)); + + void apiGetAccounts(id) + .then((data) => { + dispatch(importFetchedAccounts(data)); + setAccountIds(data.map((a) => a.id)); + setLoading(false); + return ''; + }) + .catch(() => { + setLoading(false); + }); + + dispatch(fetchFollowing(me)); + } + }, [dispatch, id]); + + const handleSearchClick = useCallback(() => { + setMode('add'); + }, [setMode]); + + const handleDismissSearchClick = useCallback(() => { + setMode('remove'); + setSearching(false); + }, [setMode]); + + const handleAccountToggle = useCallback( + (accountId: string) => { + const partOfList = accountIds.includes(accountId); + + if (partOfList) { + setAccountIds(accountIds.filter((id) => id !== accountId)); + } else { + setAccountIds([accountId, ...accountIds]); + } + }, + [accountIds, setAccountIds], + ); + + const searchRequestRef = useRef(null); + + const handleSearch = useDebouncedCallback( + (value: string) => { + if (searchRequestRef.current) { + searchRequestRef.current.abort(); + } + + if (value.trim().length === 0) { + setSearching(false); + return; + } + + setLoading(true); + + searchRequestRef.current = new AbortController(); + + void apiRequest('GET', 'v1/accounts/search', { + signal: searchRequestRef.current.signal, + params: { + q: value, + resolve: false, + following: true, + }, + }) + .then((data) => { + dispatch(importFetchedAccounts(data)); + setSearchAccountIds(data.map((a) => a.id)); + setLoading(false); + setSearching(true); + return ''; + }) + .catch(() => { + setSearching(true); + setLoading(false); + }); + }, + 500, + { leading: true, trailing: true }, + ); + + let displayedAccountIds: string[]; + + if (mode === 'add') { + displayedAccountIds = searching ? searchAccountIds : followingAccountIds; + } else { + displayedAccountIds = accountIds; + } + + return ( + + {mode === 'remove' ? ( + + + + } + /> + ) : ( + + )} + + +
+ +
+ + + +
+ + ) + } + emptyMessage={ + mode === 'remove' ? ( + <> + + +
+ +
+ + + + ) : ( + + ) + } + > + {displayedAccountIds.map((accountId) => ( + + ))} + + + + {intl.formatMessage(messages.heading)} + + + + ); +}; + +// eslint-disable-next-line import/no-default-export +export default ListMembers; diff --git a/app/javascript/flavours/glitch/features/lists/new.tsx b/app/javascript/flavours/glitch/features/lists/new.tsx new file mode 100644 index 00000000000000..6832b7262867be --- /dev/null +++ b/app/javascript/flavours/glitch/features/lists/new.tsx @@ -0,0 +1,296 @@ +import { useCallback, useState, useEffect } from 'react'; + +import { defineMessages, useIntl, FormattedMessage } from 'react-intl'; + +import { Helmet } from 'react-helmet'; +import { useParams, useHistory, Link } from 'react-router-dom'; + +import { isFulfilled } from '@reduxjs/toolkit'; + +import Toggle from 'react-toggle'; + +import ListAltIcon from '@/material-icons/400-24px/list_alt.svg?react'; +import { fetchList } from 'flavours/glitch/actions/lists'; +import { createList, updateList } from 'flavours/glitch/actions/lists_typed'; +import { apiGetAccounts } from 'flavours/glitch/api/lists'; +import type { RepliesPolicyType } from 'flavours/glitch/api_types/lists'; +import Column from 'flavours/glitch/components/column'; +import { ColumnHeader } from 'flavours/glitch/components/column_header'; +import { LoadingIndicator } from 'flavours/glitch/components/loading_indicator'; +import { useAppDispatch, useAppSelector } from 'flavours/glitch/store'; + +const messages = defineMessages({ + edit: { id: 'column.edit_list', defaultMessage: 'Edit list' }, + create: { id: 'column.create_list', defaultMessage: 'Create list' }, +}); + +const MembersLink: React.FC<{ + id: string; +}> = ({ id }) => { + const [count, setCount] = useState(0); + const [avatars, setAvatars] = useState([]); + + useEffect(() => { + void apiGetAccounts(id) + .then((data) => { + setCount(data.length); + setAvatars(data.slice(0, 3).map((a) => a.avatar)); + return ''; + }) + .catch(() => { + // Nothing + }); + }, [id, setCount, setAvatars]); + + return ( + +
+ + + + +
+ +
+ {avatars.map((url) => ( + + ))} +
+ + ); +}; + +const NewList: React.FC<{ + multiColumn?: boolean; +}> = ({ multiColumn }) => { + const dispatch = useAppDispatch(); + const { id } = useParams<{ id?: string }>(); + const intl = useIntl(); + const history = useHistory(); + + const list = useAppSelector((state) => + id ? state.lists.get(id) : undefined, + ); + const [title, setTitle] = useState(''); + const [exclusive, setExclusive] = useState(false); + const [repliesPolicy, setRepliesPolicy] = useState('list'); + const [submitting, setSubmitting] = useState(false); + + useEffect(() => { + if (id) { + dispatch(fetchList(id)); + } + }, [dispatch, id]); + + useEffect(() => { + if (id && list) { + setTitle(list.title); + setExclusive(list.exclusive); + setRepliesPolicy(list.replies_policy); + } + }, [setTitle, setExclusive, setRepliesPolicy, id, list]); + + const handleTitleChange = useCallback( + ({ target: { value } }: React.ChangeEvent) => { + setTitle(value); + }, + [setTitle], + ); + + const handleExclusiveChange = useCallback( + ({ target: { checked } }: React.ChangeEvent) => { + setExclusive(checked); + }, + [setExclusive], + ); + + const handleRepliesPolicyChange = useCallback( + ({ target: { value } }: React.ChangeEvent) => { + setRepliesPolicy(value as RepliesPolicyType); + }, + [setRepliesPolicy], + ); + + const handleSubmit = useCallback(() => { + setSubmitting(true); + + if (id) { + void dispatch( + updateList({ + id, + title, + exclusive, + replies_policy: repliesPolicy, + }), + ).then(() => { + setSubmitting(false); + return ''; + }); + } else { + void dispatch( + createList({ + title, + exclusive, + replies_policy: repliesPolicy, + }), + ).then((result) => { + setSubmitting(false); + + if (isFulfilled(result)) { + history.replace(`/lists/${result.payload.id}/edit`); + history.push(`/lists/${result.payload.id}/members`); + } + + return ''; + }); + } + }, [history, dispatch, setSubmitting, id, title, exclusive, repliesPolicy]); + + return ( + + + +
+
+
+
+
+ + +
+ +
+
+
+
+ +
+
+
+ + +
+ +
+
+
+
+ + {id && ( +
+ +
+ )} + +
+ {/* eslint-disable-next-line jsx-a11y/label-has-associated-control */} + +
+ +
+ +
+
+
+ + + + {intl.formatMessage(id ? messages.edit : messages.create)} + + + +
+ ); +}; + +// eslint-disable-next-line import/no-default-export +export default NewList; diff --git a/app/javascript/flavours/glitch/features/ui/components/modal_root.jsx b/app/javascript/flavours/glitch/features/ui/components/modal_root.jsx index adac4c5a5e9eb6..b437ef10eb7c6c 100644 --- a/app/javascript/flavours/glitch/features/ui/components/modal_root.jsx +++ b/app/javascript/flavours/glitch/features/ui/components/modal_root.jsx @@ -11,7 +11,6 @@ import { ReportModal, SettingsModal, EmbedModal, - ListEditor, ListAdder, CompareHistoryModal, FilterModal, @@ -72,7 +71,6 @@ export const MODAL_COMPONENTS = { 'DEPRECATED_SETTINGS': () => Promise.resolve({ default: DeprecatedSettingsModal }), 'ACTIONS': () => Promise.resolve({ default: ActionsModal }), 'EMBED': EmbedModal, - 'LIST_EDITOR': ListEditor, 'FOCAL_POINT': () => Promise.resolve({ default: FocalPointModal }), 'LIST_ADDER': ListAdder, 'COMPARE_HISTORY': CompareHistoryModal, diff --git a/app/javascript/flavours/glitch/features/ui/index.jsx b/app/javascript/flavours/glitch/features/ui/index.jsx index 8bf44844273dd0..bbfc1861044052 100644 --- a/app/javascript/flavours/glitch/features/ui/index.jsx +++ b/app/javascript/flavours/glitch/features/ui/index.jsx @@ -62,11 +62,13 @@ import { FollowedTags, LinkTimeline, ListTimeline, + Lists, + ListEdit, + ListMembers, Blocks, DomainBlocks, Mutes, PinnedStatuses, - Lists, GettingStartedMisc, Directory, Explore, @@ -216,6 +218,9 @@ class SwitchingColumnsArea extends PureComponent { + + + diff --git a/app/javascript/flavours/glitch/features/ui/util/async-components.js b/app/javascript/flavours/glitch/features/ui/util/async-components.js index 3102877d945896..b92fa2a7b41fe7 100644 --- a/app/javascript/flavours/glitch/features/ui/util/async-components.js +++ b/app/javascript/flavours/glitch/features/ui/util/async-components.js @@ -158,10 +158,6 @@ export function EmbedModal () { return import(/* webpackChunkName: "flavours/glitch/async/embed_modal" */'../components/embed_modal'); } -export function ListEditor () { - return import(/* webpackChunkName: "flavours/glitch/async/list_editor" */'../../list_editor'); -} - export function ListAdder () { return import(/* webpackChunkName: "features/glitch/async/list_adder" */'../../list_adder'); } @@ -229,3 +225,11 @@ export function LinkTimeline () { export function AnnualReportModal () { return import(/*webpackChunkName: "flavours/glitch/async/modals/annual_report_modal" */'../components/annual_report_modal'); } + +export function ListEdit () { + return import(/*webpackChunkName: "flavours/glitch/async/lists" */'../../lists/new'); +} + +export function ListMembers () { + return import(/* webpackChunkName: "flavours/glitch/async/lists" */'../../lists/members'); +} diff --git a/app/javascript/flavours/glitch/models/list.ts b/app/javascript/flavours/glitch/models/list.ts new file mode 100644 index 00000000000000..45645509035348 --- /dev/null +++ b/app/javascript/flavours/glitch/models/list.ts @@ -0,0 +1,18 @@ +import type { RecordOf } from 'immutable'; +import { Record } from 'immutable'; + +import type { ApiListJSON } from 'flavours/glitch/api_types/lists'; + +type ListShape = Required; // no changes from server shape +export type List = RecordOf; + +const ListFactory = Record({ + id: '', + title: '', + exclusive: false, + replies_policy: 'list', +}); + +export function createList(attributes: Partial) { + return ListFactory(attributes); +} diff --git a/app/javascript/flavours/glitch/reducers/index.ts b/app/javascript/flavours/glitch/reducers/index.ts index 99e8b2efd09cb9..00a61d54e2797b 100644 --- a/app/javascript/flavours/glitch/reducers/index.ts +++ b/app/javascript/flavours/glitch/reducers/index.ts @@ -17,9 +17,7 @@ import filters from './filters'; import followed_tags from './followed_tags'; import height_cache from './height_cache'; import history from './history'; -import listAdder from './list_adder'; -import listEditor from './list_editor'; -import lists from './lists'; +import { listsReducer } from './lists'; import local_settings from './local_settings'; import { markersReducer } from './markers'; import media_attachments from './media_attachments'; @@ -71,9 +69,7 @@ const reducers = { notificationGroups: notificationGroupsReducer, height_cache, custom_emojis, - lists, - listEditor, - listAdder, + lists: listsReducer, filters, conversations, suggestions, diff --git a/app/javascript/flavours/glitch/reducers/list_adder.js b/app/javascript/flavours/glitch/reducers/list_adder.js deleted file mode 100644 index 0f61273aa6c574..00000000000000 --- a/app/javascript/flavours/glitch/reducers/list_adder.js +++ /dev/null @@ -1,48 +0,0 @@ -import { Map as ImmutableMap, List as ImmutableList } from 'immutable'; - -import { - LIST_ADDER_RESET, - LIST_ADDER_SETUP, - LIST_ADDER_LISTS_FETCH_REQUEST, - LIST_ADDER_LISTS_FETCH_SUCCESS, - LIST_ADDER_LISTS_FETCH_FAIL, - LIST_EDITOR_ADD_SUCCESS, - LIST_EDITOR_REMOVE_SUCCESS, -} from '../actions/lists'; - -const initialState = ImmutableMap({ - accountId: null, - - lists: ImmutableMap({ - items: ImmutableList(), - loaded: false, - isLoading: false, - }), -}); - -export default function listAdderReducer(state = initialState, action) { - switch(action.type) { - case LIST_ADDER_RESET: - return initialState; - case LIST_ADDER_SETUP: - return state.withMutations(map => { - map.set('accountId', action.account.get('id')); - }); - case LIST_ADDER_LISTS_FETCH_REQUEST: - return state.setIn(['lists', 'isLoading'], true); - case LIST_ADDER_LISTS_FETCH_FAIL: - return state.setIn(['lists', 'isLoading'], false); - case LIST_ADDER_LISTS_FETCH_SUCCESS: - return state.update('lists', lists => lists.withMutations(map => { - map.set('isLoading', false); - map.set('loaded', true); - map.set('items', ImmutableList(action.lists.map(item => item.id))); - })); - case LIST_EDITOR_ADD_SUCCESS: - return state.updateIn(['lists', 'items'], list => list.unshift(action.listId)); - case LIST_EDITOR_REMOVE_SUCCESS: - return state.updateIn(['lists', 'items'], list => list.filterNot(item => item === action.listId)); - default: - return state; - } -} diff --git a/app/javascript/flavours/glitch/reducers/list_editor.js b/app/javascript/flavours/glitch/reducers/list_editor.js deleted file mode 100644 index d3fd62adecbced..00000000000000 --- a/app/javascript/flavours/glitch/reducers/list_editor.js +++ /dev/null @@ -1,99 +0,0 @@ -import { Map as ImmutableMap, List as ImmutableList } from 'immutable'; - -import { - LIST_CREATE_REQUEST, - LIST_CREATE_FAIL, - LIST_CREATE_SUCCESS, - LIST_UPDATE_REQUEST, - LIST_UPDATE_FAIL, - LIST_UPDATE_SUCCESS, - LIST_EDITOR_RESET, - LIST_EDITOR_SETUP, - LIST_EDITOR_TITLE_CHANGE, - LIST_ACCOUNTS_FETCH_REQUEST, - LIST_ACCOUNTS_FETCH_SUCCESS, - LIST_ACCOUNTS_FETCH_FAIL, - LIST_EDITOR_SUGGESTIONS_READY, - LIST_EDITOR_SUGGESTIONS_CLEAR, - LIST_EDITOR_SUGGESTIONS_CHANGE, - LIST_EDITOR_ADD_SUCCESS, - LIST_EDITOR_REMOVE_SUCCESS, -} from '../actions/lists'; - -const initialState = ImmutableMap({ - listId: null, - isSubmitting: false, - isChanged: false, - title: '', - isExclusive: false, - - accounts: ImmutableMap({ - items: ImmutableList(), - loaded: false, - isLoading: false, - }), - - suggestions: ImmutableMap({ - value: '', - items: ImmutableList(), - }), -}); - -export default function listEditorReducer(state = initialState, action) { - switch(action.type) { - case LIST_EDITOR_RESET: - return initialState; - case LIST_EDITOR_SETUP: - return state.withMutations(map => { - map.set('listId', action.list.get('id')); - map.set('title', action.list.get('title')); - map.set('isExclusive', action.list.get('is_exclusive')); - map.set('isSubmitting', false); - }); - case LIST_EDITOR_TITLE_CHANGE: - return state.withMutations(map => { - map.set('title', action.value); - map.set('isChanged', true); - }); - case LIST_CREATE_REQUEST: - case LIST_UPDATE_REQUEST: - return state.withMutations(map => { - map.set('isSubmitting', true); - map.set('isChanged', false); - }); - case LIST_CREATE_FAIL: - case LIST_UPDATE_FAIL: - return state.set('isSubmitting', false); - case LIST_CREATE_SUCCESS: - case LIST_UPDATE_SUCCESS: - return state.withMutations(map => { - map.set('isSubmitting', false); - map.set('listId', action.list.id); - }); - case LIST_ACCOUNTS_FETCH_REQUEST: - return state.setIn(['accounts', 'isLoading'], true); - case LIST_ACCOUNTS_FETCH_FAIL: - return state.setIn(['accounts', 'isLoading'], false); - case LIST_ACCOUNTS_FETCH_SUCCESS: - return state.update('accounts', accounts => accounts.withMutations(map => { - map.set('isLoading', false); - map.set('loaded', true); - map.set('items', ImmutableList(action.accounts.map(item => item.id))); - })); - case LIST_EDITOR_SUGGESTIONS_CHANGE: - return state.setIn(['suggestions', 'value'], action.value); - case LIST_EDITOR_SUGGESTIONS_READY: - return state.setIn(['suggestions', 'items'], ImmutableList(action.accounts.map(item => item.id))); - case LIST_EDITOR_SUGGESTIONS_CLEAR: - return state.update('suggestions', suggestions => suggestions.withMutations(map => { - map.set('items', ImmutableList()); - map.set('value', ''); - })); - case LIST_EDITOR_ADD_SUCCESS: - return state.updateIn(['accounts', 'items'], list => list.unshift(action.accountId)); - case LIST_EDITOR_REMOVE_SUCCESS: - return state.updateIn(['accounts', 'items'], list => list.filterNot(item => item === action.accountId)); - default: - return state; - } -} diff --git a/app/javascript/flavours/glitch/reducers/lists.js b/app/javascript/flavours/glitch/reducers/lists.js deleted file mode 100644 index 2a797772b30437..00000000000000 --- a/app/javascript/flavours/glitch/reducers/lists.js +++ /dev/null @@ -1,38 +0,0 @@ -import { Map as ImmutableMap, fromJS } from 'immutable'; - -import { - LIST_FETCH_SUCCESS, - LIST_FETCH_FAIL, - LISTS_FETCH_SUCCESS, - LIST_CREATE_SUCCESS, - LIST_UPDATE_SUCCESS, - LIST_DELETE_SUCCESS, -} from '../actions/lists'; - -const initialState = ImmutableMap(); - -const normalizeList = (state, list) => state.set(list.id, fromJS(list)); - -const normalizeLists = (state, lists) => { - lists.forEach(list => { - state = normalizeList(state, list); - }); - - return state; -}; - -export default function lists(state = initialState, action) { - switch(action.type) { - case LIST_FETCH_SUCCESS: - case LIST_CREATE_SUCCESS: - case LIST_UPDATE_SUCCESS: - return normalizeList(state, action.list); - case LISTS_FETCH_SUCCESS: - return normalizeLists(state, action.lists); - case LIST_DELETE_SUCCESS: - case LIST_FETCH_FAIL: - return state.set(action.id, false); - default: - return state; - } -} diff --git a/app/javascript/flavours/glitch/reducers/lists.ts b/app/javascript/flavours/glitch/reducers/lists.ts new file mode 100644 index 00000000000000..a3e2ea71960b0a --- /dev/null +++ b/app/javascript/flavours/glitch/reducers/lists.ts @@ -0,0 +1,49 @@ +import type { Reducer } from '@reduxjs/toolkit'; +import { Map as ImmutableMap } from 'immutable'; + +import { createList, updateList } from 'flavours/glitch/actions/lists_typed'; +import type { ApiListJSON } from 'flavours/glitch/api_types/lists'; +import { createList as createListFromJSON } from 'flavours/glitch/models/list'; +import type { List } from 'flavours/glitch/models/list'; + +import { + LIST_FETCH_SUCCESS, + LIST_FETCH_FAIL, + LISTS_FETCH_SUCCESS, + LIST_DELETE_SUCCESS, +} from '../actions/lists'; + +const initialState = ImmutableMap(); +type State = typeof initialState; + +const normalizeList = (state: State, list: ApiListJSON) => + state.set(list.id, createListFromJSON(list)); + +const normalizeLists = (state: State, lists: ApiListJSON[]) => { + lists.forEach((list) => { + state = normalizeList(state, list); + }); + + return state; +}; + +export const listsReducer: Reducer = (state = initialState, action) => { + if ( + createList.fulfilled.match(action) || + updateList.fulfilled.match(action) + ) { + return normalizeList(state, action.payload); + } else { + switch (action.type) { + case LIST_FETCH_SUCCESS: + return normalizeList(state, action.list as ApiListJSON); + case LISTS_FETCH_SUCCESS: + return normalizeLists(state, action.lists as ApiListJSON[]); + case LIST_DELETE_SUCCESS: + case LIST_FETCH_FAIL: + return state.set(action.id as string, null); + default: + return state; + } + } +}; diff --git a/app/javascript/flavours/glitch/selectors/lists.ts b/app/javascript/flavours/glitch/selectors/lists.ts new file mode 100644 index 00000000000000..68755a45d116aa --- /dev/null +++ b/app/javascript/flavours/glitch/selectors/lists.ts @@ -0,0 +1,15 @@ +import { createSelector } from '@reduxjs/toolkit'; +import type { Map as ImmutableMap } from 'immutable'; + +import type { List } from 'flavours/glitch/models/list'; +import type { RootState } from 'flavours/glitch/store'; + +export const getOrderedLists = createSelector( + [(state: RootState) => state.lists], + (lists: ImmutableMap) => + lists + .toList() + .filter((item: List | null) => !!item) + .sort((a: List, b: List) => a.title.localeCompare(b.title)) + .toArray(), +); diff --git a/app/javascript/flavours/glitch/styles/admin.scss b/app/javascript/flavours/glitch/styles/admin.scss index b07c65c16bf268..c7134d318bf1fa 100644 --- a/app/javascript/flavours/glitch/styles/admin.scss +++ b/app/javascript/flavours/glitch/styles/admin.scss @@ -630,16 +630,6 @@ body, max-width: 100%; } -.simple_form { - .actions { - margin-top: 15px; - } - - .button { - font-size: 15px; - } -} - .batch-form-box { display: flex; flex-wrap: wrap; diff --git a/app/javascript/flavours/glitch/styles/components.scss b/app/javascript/flavours/glitch/styles/components.scss index f35f5702b404ee..8e26bb9fedb85e 100644 --- a/app/javascript/flavours/glitch/styles/components.scss +++ b/app/javascript/flavours/glitch/styles/components.scss @@ -4991,6 +4991,7 @@ a.status-card { border: 0; background: transparent; cursor: pointer; + text-decoration: none; .icon { width: 13px; @@ -5408,7 +5409,8 @@ a.status-card { color: $dark-text-color; text-align: center; padding: 20px; - font-size: 15px; + font-size: 14px; + line-height: 20px; font-weight: 400; cursor: default; display: flex; @@ -5430,6 +5432,17 @@ a.status-card { } } +.empty-column-indicator { + &__arrow { + position: absolute; + top: 50%; + inset-inline-start: 50%; + pointer-events: none; + transform: translate(100%, -100%) rotate(12deg); + transform-origin: center; + } +} + .follow_requests-unlocked_explanation { background: var(--surface-background-color); border-bottom: 1px solid var(--background-border-color); @@ -6233,7 +6246,7 @@ a.status-card { .modal-root { position: relative; - z-index: 9999; + z-index: 9998; } .modal-root__overlay { @@ -6838,12 +6851,14 @@ a.status-card { border-radius: 16px; &__header { + box-sizing: border-box; border-bottom: 1px solid var(--modal-border-color); display: flex; align-items: center; justify-content: space-between; flex-direction: row-reverse; padding: 12px 24px; + min-height: 61px; &__title { font-size: 16px; @@ -8521,92 +8536,6 @@ noscript { background: rgba($base-overlay-background, 0.5); } -.list-adder, -.list-editor { - backdrop-filter: var(--background-filter); - background: var(--modal-background-color); - border: 1px solid var(--modal-border-color); - flex-direction: column; - border-radius: 8px; - width: 380px; - overflow: hidden; - - @media screen and (width <= 420px) { - width: 90%; - } -} - -.list-adder { - &__lists { - height: 50vh; - border-radius: 0 0 8px 8px; - overflow-y: auto; - } - - .list { - padding: 10px; - border-bottom: 1px solid var(--background-border-color); - } - - .list__wrapper { - display: flex; - } - - .list__display-name { - flex: 1 1 auto; - overflow: hidden; - text-decoration: none; - font-size: 16px; - padding: 10px; - display: flex; - align-items: center; - gap: 4px; - } -} - -.list-editor { - h4 { - padding: 15px 0; - background: lighten($ui-base-color, 13%); - font-weight: 500; - font-size: 16px; - text-align: center; - border-radius: 8px 8px 0 0; - } - - .drawer__pager { - height: 50vh; - border: 0; - } - - .drawer__inner { - &.backdrop { - width: calc(100% - 60px); - box-shadow: 2px 4px 15px rgba($base-shadow-color, 0.4); - border-radius: 0 0 0 8px; - } - } - - &__accounts { - background: unset; - overflow-y: auto; - } - - .account__display-name { - &:hover strong { - text-decoration: none; - } - } - - .account__avatar { - cursor: default; - } - - .search { - margin-bottom: 0; - } -} - .focal-point { position: relative; cursor: move; @@ -10677,7 +10606,7 @@ noscript { position: fixed; bottom: 2rem; inset-inline-start: 0; - z-index: 999; + z-index: 9999; display: flex; flex-direction: column; gap: 4px; @@ -11686,3 +11615,87 @@ noscript { height: 20px; } } + +.lists__item { + display: flex; + align-items: center; + gap: 16px; + padding-inline-end: 13px; + border-bottom: 1px solid var(--background-border-color); + + &__title { + display: flex; + align-items: center; + gap: 5px; + padding: 16px 13px; + flex: 1 1 auto; + font-size: 16px; + line-height: 24px; + color: $secondary-text-color; + text-decoration: none; + + &:is(a):hover, + &:is(a):focus, + &:is(a):active { + color: $primary-text-color; + } + + input { + display: block; + width: 100%; + background: transparent; + border: 0; + padding: 0; + font-family: inherit; + font-size: inherit; + line-height: inherit; + color: inherit; + + &::placeholder { + color: var(--input-placeholder-color); + opacity: 1; + } + + &:focus { + outline: 0; + } + } + } +} + +.column-search-header { + display: flex; + border-radius: 4px 4px 0 0; + border: 1px solid var(--background-border-color); + + .column-header__back-button.compact { + flex: 0 0 auto; + color: $primary-text-color; + } + + input { + background: transparent; + border: 0; + color: $primary-text-color; + font-size: 16px; + display: block; + flex: 1 1 auto; + + &::placeholder { + color: var(--input-placeholder-color); + opacity: 1; + } + + &:focus { + outline: 0; + } + } +} + +.column-footer { + padding: 16px; +} + +.lists-scrollable { + min-height: 50vh; +} diff --git a/app/javascript/flavours/glitch/styles/forms.scss b/app/javascript/flavours/glitch/styles/forms.scss index 352567d0935fb0..be66c2497652bd 100644 --- a/app/javascript/flavours/glitch/styles/forms.scss +++ b/app/javascript/flavours/glitch/styles/forms.scss @@ -1256,6 +1256,8 @@ code { } .app-form { + padding: 20px; + &__avatar-input, &__header-input { display: block; @@ -1371,4 +1373,55 @@ code { padding-inline-start: 16px; } } + + &__link { + display: flex; + gap: 16px; + padding: 8px 0; + align-items: center; + text-decoration: none; + color: $primary-text-color; + margin-bottom: 16px; + + &__text { + flex: 1 1 auto; + font-size: 14px; + line-height: 20px; + color: $darker-text-color; + + strong { + font-weight: 600; + display: block; + color: $primary-text-color; + } + } + } +} + +.avatar-pile { + display: flex; + align-items: center; + + img { + display: block; + border-radius: 8px; + width: 32px; + height: 32px; + border: 2px solid var(--background-color); + background: var(--surface-background-color); + margin-inline-end: -16px; + transform: rotate(0); + + &:first-child { + transform: rotate(-4deg); + } + + &:nth-child(2) { + transform: rotate(-2deg); + } + + &:last-child { + margin-inline-end: 0; + } + } } diff --git a/app/javascript/flavours/glitch/styles/mastodon-light/variables.scss b/app/javascript/flavours/glitch/styles/mastodon-light/variables.scss index 777c622ace0855..2d5e1b1094553e 100644 --- a/app/javascript/flavours/glitch/styles/mastodon-light/variables.scss +++ b/app/javascript/flavours/glitch/styles/mastodon-light/variables.scss @@ -79,4 +79,5 @@ body { --rich-text-container-color: rgba(255, 216, 231, 100%); --rich-text-text-color: rgba(114, 47, 83, 100%); --rich-text-decorations-color: rgba(255, 175, 212, 100%); + --input-placeholder-color: #{transparentize($dark-text-color, 0.5)}; } diff --git a/app/javascript/flavours/glitch/styles/variables.scss b/app/javascript/flavours/glitch/styles/variables.scss index 0b3bb73fe1fe6b..2114543f9f444e 100644 --- a/app/javascript/flavours/glitch/styles/variables.scss +++ b/app/javascript/flavours/glitch/styles/variables.scss @@ -125,4 +125,5 @@ $dismiss-overlay-width: 4rem; --rich-text-container-color: rgba(87, 24, 60, 100%); --rich-text-text-color: rgba(255, 175, 212, 100%); --rich-text-decorations-color: rgba(128, 58, 95, 100%); + --input-placeholder-color: #{$dark-text-color}; } From 916d7907941849d0f120f2ba4ae7b0026f90214e Mon Sep 17 00:00:00 2001 From: Claire Date: Sun, 24 Nov 2024 20:44:03 +0100 Subject: [PATCH 287/357] Fix issue templates (#2904) --- .github/ISSUE_TEMPLATE/1.web_bug_report.yml | 3 +-- .github/ISSUE_TEMPLATE/2.server_bug_report.yml | 3 +-- .github/ISSUE_TEMPLATE/3.troubleshooting.yml | 3 +-- .github/ISSUE_TEMPLATE/4.feature_request.yml | 2 +- 4 files changed, 4 insertions(+), 7 deletions(-) diff --git a/.github/ISSUE_TEMPLATE/1.web_bug_report.yml b/.github/ISSUE_TEMPLATE/1.web_bug_report.yml index f897a7d7da434e..36b18a1287e548 100644 --- a/.github/ISSUE_TEMPLATE/1.web_bug_report.yml +++ b/.github/ISSUE_TEMPLATE/1.web_bug_report.yml @@ -1,7 +1,6 @@ name: Bug Report (Web Interface) description: There is a problem using Mastodon's web interface. -labels: ['status/to triage', 'area/web interface'] -type: Bug +labels: [bug, 'status/to triage', 'area/web interface'] body: - type: markdown attributes: diff --git a/.github/ISSUE_TEMPLATE/2.server_bug_report.yml b/.github/ISSUE_TEMPLATE/2.server_bug_report.yml index a66f5c1076d504..0552e985f7b96a 100644 --- a/.github/ISSUE_TEMPLATE/2.server_bug_report.yml +++ b/.github/ISSUE_TEMPLATE/2.server_bug_report.yml @@ -1,8 +1,7 @@ name: Bug Report (server / API) description: | There is a problem with the HTTP server, REST API, ActivityPub interaction, etc. -labels: ['status/to triage'] -type: 'Bug' +labels: [bug, 'status/to triage'] body: - type: markdown attributes: diff --git a/.github/ISSUE_TEMPLATE/3.troubleshooting.yml b/.github/ISSUE_TEMPLATE/3.troubleshooting.yml index eeb74b160b1040..7c6914bd7b1c81 100644 --- a/.github/ISSUE_TEMPLATE/3.troubleshooting.yml +++ b/.github/ISSUE_TEMPLATE/3.troubleshooting.yml @@ -1,8 +1,7 @@ name: Deployment troubleshooting description: | You are a server administrator and you are encountering a technical issue during installation, upgrade or operations of Mastodon. -labels: ['status/to triage'] -type: 'Troubleshooting' +labels: [bug, 'status/to triage'] body: - type: markdown attributes: diff --git a/.github/ISSUE_TEMPLATE/4.feature_request.yml b/.github/ISSUE_TEMPLATE/4.feature_request.yml index 7146b4f8a3e436..2cabcf61e08ecc 100644 --- a/.github/ISSUE_TEMPLATE/4.feature_request.yml +++ b/.github/ISSUE_TEMPLATE/4.feature_request.yml @@ -1,6 +1,6 @@ name: Feature Request description: I have a suggestion -type: Suggestion +labels: [suggestion] body: - type: markdown attributes: From a20dca73277acd305f1e804bf8d778a5deaef658 Mon Sep 17 00:00:00 2001 From: Matt Jankowski Date: Sun, 24 Nov 2024 15:00:37 -0500 Subject: [PATCH 288/357] Restore stdout logging setting in development environment (#33057) --- config/environments/development.rb | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/config/environments/development.rb b/config/environments/development.rb index 8533935a8835ba..bbdd9e2fce5458 100644 --- a/config/environments/development.rb +++ b/config/environments/development.rb @@ -37,6 +37,11 @@ config.action_controller.forgery_protection_origin_check = ENV['DISABLE_FORGERY_REQUEST_PROTECTION'].nil? + ActiveSupport::Logger.new($stdout).tap do |logger| + logger.formatter = config.log_formatter + config.logger = ActiveSupport::TaggedLogging.new(logger) + end + # Generate random VAPID keys Webpush.generate_key.tap do |vapid_key| config.x.vapid_private_key = vapid_key.private_key From 1333ed4d4e3d5cae73b04ac10184a3002dba58b9 Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Mon, 25 Nov 2024 08:58:05 +0100 Subject: [PATCH 289/357] Update docker/dockerfile Docker tag to v1.11 (#33060) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> --- Dockerfile | 2 +- streaming/Dockerfile | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/Dockerfile b/Dockerfile index c91f10de0f6614..4d6287912e1846 100644 --- a/Dockerfile +++ b/Dockerfile @@ -1,4 +1,4 @@ -# syntax=docker/dockerfile:1.10 +# syntax=docker/dockerfile:1.11 # This file is designed for production server deployment, not local development work # For a containerized local dev environment, see: https://github.com/mastodon/mastodon/blob/main/README.md#docker diff --git a/streaming/Dockerfile b/streaming/Dockerfile index f94c04e7a2adef..52c4a1a3d0e4ab 100644 --- a/streaming/Dockerfile +++ b/streaming/Dockerfile @@ -1,4 +1,4 @@ -# syntax=docker/dockerfile:1.10 +# syntax=docker/dockerfile:1.11 # Please see https://docs.docker.com/engine/reference/builder for information about # the extended buildx capabilities used in this file. From 452139016353b41dea5fcd9cf3f9fc6ba078c1a6 Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" <41898282+github-actions[bot]@users.noreply.github.com> Date: Mon, 25 Nov 2024 09:17:41 +0100 Subject: [PATCH 290/357] New Crowdin Translations (automated) (#33043) Co-authored-by: GitHub Actions --- app/javascript/mastodon/locales/bg.json | 13 ++ app/javascript/mastodon/locales/ca.json | 34 ++- app/javascript/mastodon/locales/de.json | 16 +- app/javascript/mastodon/locales/eo.json | 13 ++ app/javascript/mastodon/locales/es-AR.json | 24 +++ app/javascript/mastodon/locales/es-MX.json | 24 +++ app/javascript/mastodon/locales/es.json | 38 +++- app/javascript/mastodon/locales/fa.json | 3 + app/javascript/mastodon/locales/fo.json | 24 +++ app/javascript/mastodon/locales/fr-CA.json | 40 ++++ app/javascript/mastodon/locales/fr.json | 40 ++++ app/javascript/mastodon/locales/gl.json | 25 +++ app/javascript/mastodon/locales/hu.json | 32 ++- app/javascript/mastodon/locales/it.json | 27 +++ app/javascript/mastodon/locales/pa.json | 228 +++++++++++++++++++-- app/javascript/mastodon/locales/ru.json | 27 ++- app/javascript/mastodon/locales/th.json | 31 +++ app/javascript/mastodon/locales/tr.json | 1 + app/javascript/mastodon/locales/zh-CN.json | 156 +++++++------- app/javascript/mastodon/locales/zh-TW.json | 6 +- config/locales/ca.yml | 10 + config/locales/doorkeeper.zh-CN.yml | 8 +- config/locales/es.yml | 26 +-- config/locales/hu.yml | 2 +- config/locales/lv.yml | 5 + config/locales/simple_form.ca.yml | 2 + config/locales/simple_form.es.yml | 14 +- config/locales/simple_form.th.yml | 1 + config/locales/simple_form.zh-CN.yml | 32 +-- config/locales/th.yml | 15 ++ config/locales/zh-CN.yml | 70 +++---- config/locales/zh-TW.yml | 2 +- 32 files changed, 785 insertions(+), 204 deletions(-) diff --git a/app/javascript/mastodon/locales/bg.json b/app/javascript/mastodon/locales/bg.json index 32d61423d6e502..3e6a2c64beaa73 100644 --- a/app/javascript/mastodon/locales/bg.json +++ b/app/javascript/mastodon/locales/bg.json @@ -244,6 +244,8 @@ "domain_block_modal.they_cant_follow": "Никого от този сървър не може да ви последва.", "domain_block_modal.they_wont_know": "Няма да узнаят, че са били блокирани.", "domain_block_modal.title": "Блокирате ли домейн?", + "domain_block_modal.you_will_lose_num_followers": "Ще загубите {followersCount, plural, one {{followersCountDisplay} последовател} other {{followersCountDisplay} последователи}} и {followingCount, plural, one {{followingCountDisplay} лице, което следвате} other {{followingCountDisplay} души, които следвате}}.", + "domain_block_modal.you_will_lose_relationships": "Ще загубите всичките си последователи и хората, които следвате от този сървър.", "domain_block_modal.you_wont_see_posts": "Няма да виждате публикации или известия от потребителите на този сървър.", "domain_pill.activitypub_lets_connect": "Позволява ви да се свързвате и взаимодействате с хора не само в Mastodon, но и през различни социални приложения.", "domain_pill.activitypub_like_language": "ActivityPub е като език на Mastodon, говорещ с други социални мрежи.", @@ -391,11 +393,13 @@ "ignore_notifications_modal.disclaimer": "Mastodon не може да осведоми потребители, че сте пренебрегнали известията им. Пренебрегването на известията няма да спре самите съобщения да не бъдат изпращани.", "ignore_notifications_modal.filter_to_act_users": "Вие все още ще може да приемате, отхвърляте или докладвате потребители", "ignore_notifications_modal.filter_to_avoid_confusion": "Прецеждането помага за избягване на възможно объркване", + "ignore_notifications_modal.filter_to_review_separately": "Може да разгледате отделно филтрираните известия", "ignore_notifications_modal.ignore": "Пренебрегване на известията", "ignore_notifications_modal.limited_accounts_title": "Пренебрегвате ли известията от модерирани акаунти?", "ignore_notifications_modal.new_accounts_title": "Пренебрегвате ли известията от нови акаунти?", "ignore_notifications_modal.not_followers_title": "Пренебрегвате ли известията от хора, които не са ви последвали?", "ignore_notifications_modal.not_following_title": "Пренебрегвате ли известията от хора, които не сте последвали?", + "ignore_notifications_modal.private_mentions_title": "Пренебрегвате ли известия от непоискани лични споменавания?", "interaction_modal.description.favourite": "Имайки акаунт в Mastodon, може да сложите тази публикации в любими, за да позволите на автора да узнае, че я цените и да я запазите за по-късно.", "interaction_modal.description.follow": "С акаунт в Mastodon може да последвате {name}, за да получавате публикациите от този акаунт в началния си инфоканал.", "interaction_modal.description.reblog": "С акаунт в Mastodon може да подсилите тази публикация, за да я споделите с последователите си.", @@ -460,10 +464,17 @@ "link_preview.author": "От {name}", "link_preview.more_from_author": "Още от {name}", "link_preview.shares": "{count, plural, one {{counter} публикация} other {{counter} публикации}}", + "lists.add_member": "Добавяне", + "lists.add_to_list": "Добавяне в списък", + "lists.add_to_lists": "Добавяне на {name} в списъци", + "lists.create": "Създаване", + "lists.create_a_list_to_organize": "Сътворете нов списък, за да организирате инфоканала си на Начало", "lists.create_list": "Създаване на списък", "lists.delete": "Изтриване на списъка", "lists.done": "Готово", "lists.edit": "Промяна на списъка", + "lists.exclusive": "Скриване на членуващи в Начало", + "lists.exclusive_hint": "Ако някой е в този списък, то скрийте го в инфоканала си на Начало, за да избегнете виждането на публикациите му два пъти.", "lists.find_users_to_add": "Намерете потребители за добавяне", "lists.list_members": "Списък членуващи", "lists.list_name": "Име на списък", @@ -524,6 +535,7 @@ "notification.admin.report_statuses_other": "{name} докладва {target}", "notification.admin.sign_up": "{name} се регистрира", "notification.admin.sign_up.name_and_others": "{name} и {count, plural, one {# друг} other {# други}} се регистрираха", + "notification.annual_report.view": "Преглед на #Wrapstodon", "notification.favourite": "{name} направи любима публикацията ви", "notification.favourite.name_and_others_with_link": "{name} и {count, plural, one {# друг} other {# други}} направиха любима ваша публикация", "notification.follow": "{name} ви последва", @@ -559,6 +571,7 @@ "notification_requests.accept": "Приемам", "notification_requests.confirm_accept_multiple.message": "На път сте да приемете {count, plural, one {едно известие за заявка} other {# известия за заявки}}. Наистина ли искате да продължите?", "notification_requests.confirm_accept_multiple.title": "Приемате ли заявките за известие?", + "notification_requests.confirm_dismiss_multiple.message": "На път сте да отхвърлите {count, plural, one {една заявка за известие} other {# заявки за известие}}. Няма да имате лесен достъп до {count, plural, one {това лице} other {тях}} отново. Наистина ли искате да продължите?", "notification_requests.confirm_dismiss_multiple.title": "Отхвърляте ли заявките за известие?", "notification_requests.dismiss": "Отхвърлям", "notification_requests.edit_selection": "Редактиране", diff --git a/app/javascript/mastodon/locales/ca.json b/app/javascript/mastodon/locales/ca.json index fc100d7c01bf0d..41b5608d0b48cf 100644 --- a/app/javascript/mastodon/locales/ca.json +++ b/app/javascript/mastodon/locales/ca.json @@ -134,13 +134,16 @@ "column.blocks": "Usuaris blocats", "column.bookmarks": "Marcadors", "column.community": "Línia de temps local", + "column.create_list": "Crea una llista", "column.direct": "Mencions privades", "column.directory": "Navega pels perfils", "column.domain_blocks": "Dominis blocats", + "column.edit_list": "Edita la llista", "column.favourites": "Favorits", "column.firehose": "Tuts en directe", "column.follow_requests": "Peticions de seguir-te", "column.home": "Inici", + "column.list_members": "Gestiona els membres de la llista", "column.lists": "Llistes", "column.mutes": "Usuaris silenciats", "column.notifications": "Notificacions", @@ -458,11 +461,32 @@ "link_preview.author": "Per {name}", "link_preview.more_from_author": "Més de {name}", "link_preview.shares": "{count, plural, one {{counter} publicació} other {{counter} publicacions}}", + "lists.add_member": "Afegeix", + "lists.add_to_list": "Afegeix a la llista", + "lists.add_to_lists": "Afegeix {name} a les llistes", + "lists.create": "Crea", + "lists.create_a_list_to_organize": "Creeu una nova llista per a organitzar la pantalla d'inici", + "lists.create_list": "Crea una llista", "lists.delete": "Elimina la llista", + "lists.done": "Fet", "lists.edit": "Edita la llista", + "lists.exclusive": "Amaga membres a Inici", + "lists.exclusive_hint": "Si algú és a la llista, amagueu-los de la pantalla d'inici, per a no veure'n les publicacions duplicades.", + "lists.find_users_to_add": "Troba usuaris per a afegir", + "lists.list_members": "Membres de la llista", + "lists.list_members_count": "{count, plural, one {# membre} other {# membres}}", + "lists.list_name": "Nom de la llista", + "lists.new_list_name": "Nom de la nova llista", + "lists.no_lists_yet": "Encara no hi ha cap llista.", + "lists.no_members_yet": "Encara no hi ha membres.", + "lists.no_results_found": "No s'han trobat resultats.", + "lists.remove_member": "Elimina", "lists.replies_policy.followed": "Qualsevol usuari que segueixis", "lists.replies_policy.list": "Membres de la llista", "lists.replies_policy.none": "Ningú", + "lists.save": "Desa", + "lists.search_placeholder": "Cerca persones que seguiu", + "lists.show_replies_to": "Inclou respostes de membres de la llista a", "load_pending": "{count, plural, one {# element nou} other {# elements nous}}", "loading_indicator.label": "Es carrega…", "media_gallery.hide": "Amaga", @@ -620,11 +644,11 @@ "onboarding.action.back": "Porta'm enrere", "onboarding.actions.back": "Porta'm enrere", "onboarding.actions.go_to_explore": "Mira què és tendència", - "onboarding.actions.go_to_home": "Ves a la teva línia de temps", + "onboarding.actions.go_to_home": "Aneu a la vostra pantalla d'inici", "onboarding.compose.template": "Hola Mastodon!", "onboarding.follows.empty": "Malauradament, cap resultat pot ser mostrat ara mateix. Pots provar de fer servir la cerca o visitar la pàgina Explora per a trobar gent a qui seguir o provar-ho de nou més tard.", - "onboarding.follows.lead": "La teva línia de temps inici només està a les teves mans. Com més gent segueixis, més activa i interessant serà. Aquests perfils poden ser un bon punt d'inici—sempre pots acabar deixant de seguir-los!:", - "onboarding.follows.title": "Personalitza la pantalla d'inci", + "onboarding.follows.lead": "La vostra pantalla d'inici és la manera principal d'experimentar Mastodon. Com més gent seguiu, més activa i interessant serà. Per a començar, alguns suggeriments:", + "onboarding.follows.title": "Personalitzeu la pantalla d'inci", "onboarding.profile.discoverable": "Fes el meu perfil descobrible", "onboarding.profile.discoverable_hint": "En acceptar d'ésser descobert a Mastodon els teus missatges poden aparèixer dins les tendències i els resultats de cerques, i el teu perfil es pot suggerir a qui tingui interessos semblants als teus.", "onboarding.profile.display_name": "Nom que es mostrarà", @@ -644,7 +668,7 @@ "onboarding.start.skip": "Vols saltar-te tota la resta?", "onboarding.start.title": "Llestos!", "onboarding.steps.follow_people.body": "Mastodon va de seguir a gent interessant.", - "onboarding.steps.follow_people.title": "Personalitza la pantalla d'inci", + "onboarding.steps.follow_people.title": "Personalitzeu la pantalla d'inici", "onboarding.steps.publish_status.body": "Saluda al món amb text, fotos, vídeos o enquestes {emoji}", "onboarding.steps.publish_status.title": "Fes el teu primer tut", "onboarding.steps.setup_profile.body": "És més fàcil que altres interactuïn amb tu si tens un perfil complet.", @@ -683,7 +707,7 @@ "recommended": "Recomanat", "refresh": "Actualitza", "regeneration_indicator.label": "Es carrega…", - "regeneration_indicator.sublabel": "Es prepara la teva línia de temps d'Inici!", + "regeneration_indicator.sublabel": "Es prepara la vostra pantalla d'Inici!", "relative_time.days": "{number}d", "relative_time.full.days": "fa {number, plural, one {# dia} other {# dies}}", "relative_time.full.hours": "fa {number, plural, one {# hora} other {# hores}}", diff --git a/app/javascript/mastodon/locales/de.json b/app/javascript/mastodon/locales/de.json index b47007522be1b0..6a2861710610c6 100644 --- a/app/javascript/mastodon/locales/de.json +++ b/app/javascript/mastodon/locales/de.json @@ -89,9 +89,9 @@ "announcement.announcement": "Ankündigung", "annual_report.summary.archetype.booster": "Trendjäger*in", "annual_report.summary.archetype.lurker": "Beobachter*in", - "annual_report.summary.archetype.oracle": "Orakel", + "annual_report.summary.archetype.oracle": "Universaltalent", "annual_report.summary.archetype.pollster": "Meinungsforscher*in", - "annual_report.summary.archetype.replier": "Geselliger Schmetterling", + "annual_report.summary.archetype.replier": "Sozialer Schmetterling", "annual_report.summary.followers.followers": "Follower", "annual_report.summary.followers.total": "{count} insgesamt", "annual_report.summary.here_it_is": "Dein Jahresrückblick für {year}:", @@ -113,7 +113,7 @@ "block_modal.show_more": "Mehr anzeigen", "block_modal.they_cant_mention": "Das Profil wird dich nicht erwähnen oder dir folgen können.", "block_modal.they_cant_see_posts": "Deine Beiträge können nicht mehr angesehen werden und du wirst deren Beiträge nicht mehr sehen.", - "block_modal.they_will_know": "Es wird erkennbar sein, dass dieses Profil blockiert wurde.", + "block_modal.they_will_know": "Das Profil wird erkennen können, dass du es blockiert hast.", "block_modal.title": "Profil blockieren?", "block_modal.you_wont_see_mentions": "Du wirst keine Beiträge sehen, die dieses Profil erwähnen.", "boost_modal.combo": "Mit {combo} erscheint dieses Fenster beim nächsten Mal nicht mehr", @@ -255,7 +255,7 @@ "domain_pill.their_server": "Deren digitale Heimat. Hier „leben“ alle Beiträge von diesem Profil.", "domain_pill.their_username": "Deren eindeutigen Identität auf dem betreffenden Server. Es ist möglich, Profile mit dem gleichen Profilnamen auf verschiedenen Servern zu finden.", "domain_pill.username": "Profilname", - "domain_pill.whats_in_a_handle": "Was ist Teil der Adresse?", + "domain_pill.whats_in_a_handle": "Woraus besteht eine Adresse?", "domain_pill.who_they_are": "Adressen teilen mit, wer jemand ist und wo sich jemand aufhält. Daher kannst du mit Leuten im gesamten Social Web interagieren, wenn es eine durch ist.", "domain_pill.who_you_are": "Deine Adresse teilt mit, wer du bist und wo du dich aufhältst. Daher können andere Leute im gesamten Social Web mit dir interagieren, wenn es eine durch ist.", "domain_pill.your_handle": "Deine Adresse:", @@ -330,9 +330,9 @@ "filter_warning.matches_filter": "Übereinstimmend mit dem Filter „{title}“", "filtered_notifications_banner.pending_requests": "Von {count, plural, =0 {keinem, den} one {einer Person, die} other {# Personen, die}} du möglicherweise kennst", "filtered_notifications_banner.title": "Gefilterte Benachrichtigungen", - "firehose.all": "Alles", + "firehose.all": "Alle Server", "firehose.local": "Dieser Server", - "firehose.remote": "Andere Server", + "firehose.remote": "Externe Server", "follow_request.authorize": "Genehmigen", "follow_request.reject": "Ablehnen", "follow_requests.unlocked_explanation": "Auch wenn dein Konto öffentlich bzw. nicht geschützt ist, haben die Moderator*innen von {domain} gedacht, dass du diesen Follower lieber manuell bestätigen solltest.", @@ -492,7 +492,7 @@ "lists.replies_policy.none": "Niemanden", "lists.save": "Speichern", "lists.search_placeholder": "Nach Profilen suchen, denen du folgst", - "lists.show_replies_to": "Antworten von Listenmitgliedern anzeigen für …", + "lists.show_replies_to": "Antworten von Listenmitgliedern einbeziehen für …", "load_pending": "{count, plural, one {# neuer Beitrag} other {# neue Beiträge}}", "loading_indicator.label": "Wird geladen …", "media_gallery.hide": "Ausblenden", @@ -541,7 +541,7 @@ "notification.admin.report_statuses_other": "{name} meldete {target}", "notification.admin.sign_up": "{name} registrierte sich", "notification.admin.sign_up.name_and_others": "{name} und {count, plural, one {# weiteres Profil} other {# weitere Profile}} registrierten sich", - "notification.annual_report.message": "Dein {year} #Wrapstodon erwartet dich! Lass deine Highlights und unvergesslichen Momente auf Mastodon erneut aufleben!", + "notification.annual_report.message": "Dein #Wrapstodon für {year} erwartet dich! Lass deine Highlights und unvergesslichen Momente auf Mastodon erneut aufleben!", "notification.annual_report.view": "#Wrapstodon ansehen", "notification.favourite": "{name} favorisierte deinen Beitrag", "notification.favourite.name_and_others_with_link": "{name} und {count, plural, one {# weiteres Profil} other {# weitere Profile}} favorisierten deinen Beitrag", diff --git a/app/javascript/mastodon/locales/eo.json b/app/javascript/mastodon/locales/eo.json index 730c3017697d4a..4f4cf136bb6738 100644 --- a/app/javascript/mastodon/locales/eo.json +++ b/app/javascript/mastodon/locales/eo.json @@ -128,9 +128,11 @@ "column.blocks": "Blokitaj uzantoj", "column.bookmarks": "Legosignoj", "column.community": "Loka templinio", + "column.create_list": "Krei liston", "column.direct": "Privataj mencioj", "column.directory": "Foliumi la profilojn", "column.domain_blocks": "Blokitaj domajnoj", + "column.edit_list": "Redakti liston", "column.favourites": "Stelumoj", "column.firehose": "Rektaj fluoj", "column.follow_requests": "Petoj de sekvado", @@ -452,11 +454,22 @@ "link_preview.author": "De {name}", "link_preview.more_from_author": "Pli de {name}", "link_preview.shares": "{count, plural, one {{counter} afiŝo} other {{counter} afiŝoj}}", + "lists.add_member": "Aldoni", + "lists.add_to_list": "Aldoni al la listo", + "lists.add_to_lists": "Aldoni {name} al la listo", + "lists.create": "Krei", + "lists.create_list": "Krei liston", "lists.delete": "Forigi la liston", + "lists.done": "Farita", "lists.edit": "Redakti la liston", + "lists.no_lists_yet": "Ankoraŭ ne estas listoj.", + "lists.no_members_yet": "Ankoraŭ neniuj membroj.", + "lists.no_results_found": "Neniuj rezultoj trovitaj.", + "lists.remove_member": "Forigi", "lists.replies_policy.followed": "Iu sekvanta uzanto", "lists.replies_policy.list": "Membroj de la listo", "lists.replies_policy.none": "Neniu", + "lists.save": "Konservi", "load_pending": "{count,plural, one {# nova elemento} other {# novaj elementoj}}", "loading_indicator.label": "Ŝargado…", "media_gallery.hide": "Kaŝi", diff --git a/app/javascript/mastodon/locales/es-AR.json b/app/javascript/mastodon/locales/es-AR.json index 2dea704a722b7c..56cc2b33d39418 100644 --- a/app/javascript/mastodon/locales/es-AR.json +++ b/app/javascript/mastodon/locales/es-AR.json @@ -140,13 +140,16 @@ "column.blocks": "Usuarios bloqueados", "column.bookmarks": "Marcadores", "column.community": "Línea temporal local", + "column.create_list": "Crear una lista", "column.direct": "Menciones privadas", "column.directory": "Explorar perfiles", "column.domain_blocks": "Dominios bloqueados", + "column.edit_list": "Editar lista", "column.favourites": "Favoritos", "column.firehose": "Líneas temporales en vivo", "column.follow_requests": "Solicitudes de seguimiento", "column.home": "Principal", + "column.list_members": "Administrar miembros de la lista", "column.lists": "Listas", "column.mutes": "Usuarios silenciados", "column.notifications": "Notificaciones", @@ -464,11 +467,32 @@ "link_preview.author": "Por {name}", "link_preview.more_from_author": "Más de {name}", "link_preview.shares": "{count, plural, one {{counter} mensaje} other {{counter} mensajes}}", + "lists.add_member": "Añadir", + "lists.add_to_list": "Añadir a la lista", + "lists.add_to_lists": "Añadir {name} a las listas", + "lists.create": "Crear", + "lists.create_a_list_to_organize": "Crea una nueva lista para organizar tu página de inicio", + "lists.create_list": "Crear una lista", "lists.delete": "Eliminar lista", + "lists.done": "Hecho", "lists.edit": "Editar lista", + "lists.exclusive": "Ocultar miembros en Inicio", + "lists.exclusive_hint": "Si alguien está en esta lista, escóndelo en tu página de inicio para evitar ver sus publicaciones dos veces.", + "lists.find_users_to_add": "Buscar usuarios para añadir", + "lists.list_members": "Miembros de la lista", + "lists.list_members_count": "{count, plural,one {# miembro} other {# miembros}}", + "lists.list_name": "Nombre de la lista", + "lists.new_list_name": "Nombre de la nueva lista", + "lists.no_lists_yet": "Aún no hay listas.", + "lists.no_members_yet": "Aún no hay miembros.", + "lists.no_results_found": "No se encontraron resultados.", + "lists.remove_member": "Eliminar", "lists.replies_policy.followed": "Cualquier cuenta seguida", "lists.replies_policy.list": "Miembros de la lista", "lists.replies_policy.none": "Nadie", + "lists.save": "Guardar", + "lists.search_placeholder": "Buscar gente a la que sigues", + "lists.show_replies_to": "Incluir las respuestas de los miembros de la lista a", "load_pending": "{count, plural, one {# elemento nuevo} other {# elementos nuevos}}", "loading_indicator.label": "Cargando…", "media_gallery.hide": "Ocultar", diff --git a/app/javascript/mastodon/locales/es-MX.json b/app/javascript/mastodon/locales/es-MX.json index d863873418fb17..9a61e0fbc50279 100644 --- a/app/javascript/mastodon/locales/es-MX.json +++ b/app/javascript/mastodon/locales/es-MX.json @@ -140,13 +140,16 @@ "column.blocks": "Usuarios bloqueados", "column.bookmarks": "Marcadores", "column.community": "Línea de tiempo local", + "column.create_list": "Crear una lista", "column.direct": "Menciones privadas", "column.directory": "Buscar perfiles", "column.domain_blocks": "Dominios ocultados", + "column.edit_list": "Editar lista", "column.favourites": "Favoritos", "column.firehose": "Cronologías", "column.follow_requests": "Solicitudes de seguimiento", "column.home": "Inicio", + "column.list_members": "Administrar miembros de la lista", "column.lists": "Listas", "column.mutes": "Usuarios silenciados", "column.notifications": "Notificaciones", @@ -464,11 +467,32 @@ "link_preview.author": "Por {name}", "link_preview.more_from_author": "Más de {name}", "link_preview.shares": "{count, plural, one {{counter} publicación} other {{counter} publicaciones}}", + "lists.add_member": "Añadir", + "lists.add_to_list": "Añadir a la lista", + "lists.add_to_lists": "Añadir {name} a las listas", + "lists.create": "Crear", + "lists.create_a_list_to_organize": "Crea una nueva lista para organizar tu página de inicio", + "lists.create_list": "Crear una lista", "lists.delete": "Borrar lista", + "lists.done": "Hecho", "lists.edit": "Editar lista", + "lists.exclusive": "Ocultar miembros en Inicio", + "lists.exclusive_hint": "Si alguien está en esta lista, escóndelo en tu página de inicio para evitar ver sus publicaciones dos veces.", + "lists.find_users_to_add": "Buscar usuarios para añadir", + "lists.list_members": "Miembros de la lista", + "lists.list_members_count": "{count, plural,one {# miembro} other {# miembros}}", + "lists.list_name": "Nombre de la lista", + "lists.new_list_name": "Nombre de la nueva lista", + "lists.no_lists_yet": "Aún no hay listas.", + "lists.no_members_yet": "Aún no hay miembros.", + "lists.no_results_found": "No se encontraron resultados.", + "lists.remove_member": "Eliminar", "lists.replies_policy.followed": "Cualquier usuario seguido", "lists.replies_policy.list": "Miembros de la lista", "lists.replies_policy.none": "Nadie", + "lists.save": "Guardar", + "lists.search_placeholder": "Buscar gente a la que sigues", + "lists.show_replies_to": "Incluir las respuestas de los miembros de la lista a", "load_pending": "{count, plural, one {# nuevo elemento} other {# nuevos elementos}}", "loading_indicator.label": "Cargando…", "media_gallery.hide": "Ocultar", diff --git a/app/javascript/mastodon/locales/es.json b/app/javascript/mastodon/locales/es.json index bfb16e9fd8a8bb..86083afcbf6344 100644 --- a/app/javascript/mastodon/locales/es.json +++ b/app/javascript/mastodon/locales/es.json @@ -140,13 +140,16 @@ "column.blocks": "Usuarios bloqueados", "column.bookmarks": "Marcadores", "column.community": "Cronología local", + "column.create_list": "Crear una lista", "column.direct": "Menciones privadas", "column.directory": "Buscar perfiles", "column.domain_blocks": "Dominios bloqueados", + "column.edit_list": "Editar lista", "column.favourites": "Favoritos", "column.firehose": "Cronologías", "column.follow_requests": "Solicitudes de seguimiento", "column.home": "Inicio", + "column.list_members": "Administrar miembros de la lista", "column.lists": "Listas", "column.mutes": "Usuarios silenciados", "column.notifications": "Notificaciones", @@ -401,7 +404,7 @@ "ignore_notifications_modal.not_following_title": "¿Ignorar notificaciones de personas a las que no sigues?", "ignore_notifications_modal.private_mentions_title": "¿Ignorar notificaciones de menciones privadas no solicitadas?", "interaction_modal.description.favourite": "Con una cuenta en Mastodon, puedes marcar como favorita esta publicación para que el autor sepa que te gusta, y guardala para más adelante.", - "interaction_modal.description.follow": "Con una cuenta en Mastodon, puedes seguir {name} para recibir sus publicaciones en tu línea temporal de inicio.", + "interaction_modal.description.follow": "Con una cuenta en Mastodon, puedes seguir {name} para recibir sus publicaciones en tu página de inicio.", "interaction_modal.description.reblog": "Con una cuenta en Mastodon, puedes impulsar esta publicación para compartirla con tus propios seguidores.", "interaction_modal.description.reply": "Con una cuenta en Mastodon, puedes responder a esta publicación.", "interaction_modal.description.vote": "Con una cuenta en Mastodon, puedes votar en esta encuesta.", @@ -464,11 +467,32 @@ "link_preview.author": "Por {name}", "link_preview.more_from_author": "Más de {name}", "link_preview.shares": "{count, plural, one {{counter} publicación} other {{counter} publicaciones}}", + "lists.add_member": "Añadir", + "lists.add_to_list": "Añadir a la lista", + "lists.add_to_lists": "Añadir {name} a las listas", + "lists.create": "Crear", + "lists.create_a_list_to_organize": "Crea una nueva lista para organizar tu página de inicio", + "lists.create_list": "Crear una lista", "lists.delete": "Borrar lista", + "lists.done": "Hecho", "lists.edit": "Editar lista", + "lists.exclusive": "Ocultar miembros en Inicio", + "lists.exclusive_hint": "Si alguien está en esta lista, escóndelo en tu página de inicio para evitar ver sus publicaciones dos veces.", + "lists.find_users_to_add": "Buscar usuarios para añadir", + "lists.list_members": "Miembros de la lista", + "lists.list_members_count": "{count, plural,one {# miembro} other {# miembros}}", + "lists.list_name": "Nombre de la lista", + "lists.new_list_name": "Nombre de la nueva lista", + "lists.no_lists_yet": "Aún no hay listas.", + "lists.no_members_yet": "Aún no hay miembros.", + "lists.no_results_found": "No se encontraron resultados.", + "lists.remove_member": "Eliminar", "lists.replies_policy.followed": "Cualquier usuario seguido", "lists.replies_policy.list": "Miembros de la lista", "lists.replies_policy.none": "Nadie", + "lists.save": "Guardar", + "lists.search_placeholder": "Buscar gente a la que sigues", + "lists.show_replies_to": "Incluir las respuestas de los miembros de la lista a", "load_pending": "{count, plural, one {# nuevo elemento} other {# nuevos elementos}}", "loading_indicator.label": "Cargando…", "media_gallery.hide": "Ocultar", @@ -628,11 +652,11 @@ "onboarding.action.back": "Llévame atrás", "onboarding.actions.back": "Llévame atrás", "onboarding.actions.go_to_explore": "Llévame a tendencias", - "onboarding.actions.go_to_home": "Ir a mi inicio", + "onboarding.actions.go_to_home": "Ir a mi página de inicio", "onboarding.compose.template": "¡Hola #Mastodon!", "onboarding.follows.empty": "Desafortunadamente, no se pueden mostrar resultados en este momento. Puedes intentar usar la búsqueda o navegar por la página de exploración para encontrar personas a las que seguir, o inténtalo de nuevo más tarde.", - "onboarding.follows.lead": "Tu línea de inicio es la forma principal de experimentar Mastodon. Cuanta más personas sigas, más activa e interesante será. Para empezar, aquí hay algunas sugerencias:", - "onboarding.follows.title": "Personaliza tu línea de inicio", + "onboarding.follows.lead": "Tu página de inicio es la forma principal de experimentar Mastodon. Cuanta más personas sigas, más activa e interesante será. Para empezar, aquí hay algunas sugerencias:", + "onboarding.follows.title": "Personaliza tu página de inicio", "onboarding.profile.discoverable": "Hacer que mi perfil aparezca en búsquedas", "onboarding.profile.discoverable_hint": "Cuando permites que tu perfil aparezca en búsquedas en Mastodon, tus publicaciones podrán aparecer en los resultados de búsqueda y en tendencias, y tu perfil podrá recomendarse a gente con intereses similares a los tuyos.", "onboarding.profile.display_name": "Nombre para mostrar", @@ -652,7 +676,7 @@ "onboarding.start.skip": "¿No necesitas ayuda para empezar?", "onboarding.start.title": "¡Lo has logrado!", "onboarding.steps.follow_people.body": "Seguir personas interesante es de lo que trata Mastodon.", - "onboarding.steps.follow_people.title": "Personaliza tu línea de inicio", + "onboarding.steps.follow_people.title": "Personaliza tu página de inicio", "onboarding.steps.publish_status.body": "Di hola al mundo con texto, fotos, vídeos o encuestas {emoji}", "onboarding.steps.publish_status.title": "Escribe tu primera publicación", "onboarding.steps.setup_profile.body": "Aumenta tus interacciones con un perfil completo.", @@ -691,7 +715,7 @@ "recommended": "Recomendado", "refresh": "Actualizar", "regeneration_indicator.label": "Cargando…", - "regeneration_indicator.sublabel": "¡Tu historia de inicio se está preparando!", + "regeneration_indicator.sublabel": "¡Tu página de inicio se está preparando!", "relative_time.days": "{number} d", "relative_time.full.days": "hace {number, plural, one {# día} other {# días}}", "relative_time.full.hours": "hace {number, plural, one {# hora} other {# horas}}", @@ -745,7 +769,7 @@ "report.thanks.title": "¿No quieres esto?", "report.thanks.title_actionable": "Gracias por informar, estudiaremos esto.", "report.unfollow": "Dejar de seguir a @{name}", - "report.unfollow_explanation": "Estás siguiendo esta cuenta. Para no ver sus publicaciones en tu muro de inicio, deja de seguirla.", + "report.unfollow_explanation": "Estás siguiendo esta cuenta. Para dejar de ver sus publicaciones en tu página de inicio, deja de seguirla.", "report_notification.attached_statuses": "{count, plural, one {{count} publicación} other {{count} publicaciones}} adjunta(s)", "report_notification.categories.legal": "Legal", "report_notification.categories.legal_sentence": "contenido ilegal", diff --git a/app/javascript/mastodon/locales/fa.json b/app/javascript/mastodon/locales/fa.json index 608c1321b7a32c..fdab91355058a9 100644 --- a/app/javascript/mastodon/locales/fa.json +++ b/app/javascript/mastodon/locales/fa.json @@ -87,6 +87,7 @@ "alert.unexpected.title": "ای وای!", "alt_text_badge.title": "متن جایگزین", "announcement.announcement": "اعلامیه", + "annual_report.summary.followers.followers": "دنبال کننده", "attachments_list.unprocessed": "(پردازش نشده)", "audio.hide": "نهفتن صدا", "block_modal.remote_users_caveat": "ما از کارساز {domain} خواهیم خواست که به تصمیم شما احترام بگذارد. با این حال، تضمینی برای رعایت آن وجود ندارد زیرا برخی کارسازها ممکن است بلوک‌ها را به‌طور متفاوتی مدیریت کنند. فرسته‌های عمومی ممکن است همچنان برای کاربران که وارد نشده قابل مشاهده باشند.", @@ -438,9 +439,11 @@ "link_preview.shares": "{count, plural, one {{counter} فرسته} other {{counter} فرسته}}", "lists.delete": "حذف سیاهه", "lists.edit": "ویرایش سیاهه", + "lists.remove_member": "حذف", "lists.replies_policy.followed": "هر کاربر پی‌گرفته", "lists.replies_policy.list": "اعضای سیاهه", "lists.replies_policy.none": "هیچ کدام", + "lists.save": "ذخیره", "load_pending": "{count, plural, one {# مورد جدید} other {# مورد جدید}}", "loading_indicator.label": "در حال بارگذاری…", "media_gallery.hide": "نهفتن", diff --git a/app/javascript/mastodon/locales/fo.json b/app/javascript/mastodon/locales/fo.json index bc56152f37d486..9a15dbc51917bc 100644 --- a/app/javascript/mastodon/locales/fo.json +++ b/app/javascript/mastodon/locales/fo.json @@ -140,13 +140,16 @@ "column.blocks": "Bannaðir brúkarar", "column.bookmarks": "Bókamerki", "column.community": "Lokal tíðarlinja", + "column.create_list": "Ger lista", "column.direct": "Privatar umrøður", "column.directory": "Blaða gjøgnum vangar", "column.domain_blocks": "Bannað økisnøvn", + "column.edit_list": "Broyt lista", "column.favourites": "Dámdir postar", "column.firehose": "Beinleiðis rásir", "column.follow_requests": "Umbønir at fylgja", "column.home": "Heim", + "column.list_members": "Rætta limalista", "column.lists": "Listar", "column.mutes": "Sløktir brúkarar", "column.notifications": "Fráboðanir", @@ -464,11 +467,32 @@ "link_preview.author": "Av {name}", "link_preview.more_from_author": "Meira frá {name}", "link_preview.shares": "{count, plural, one {{counter} postur} other {{counter} postar}}", + "lists.add_member": "Legg afturat", + "lists.add_to_list": "Legg afturat lista", + "lists.add_to_lists": "Legg {name} afturat lista", + "lists.create": "Ger", + "lists.create_a_list_to_organize": "Ger ein nýggjan lista til heimarásina hjá tær", + "lists.create_list": "Ger lista", "lists.delete": "Strika lista", + "lists.done": "Liðugt", "lists.edit": "Broyt lista", + "lists.exclusive": "Fjal limir á heimarás", + "lists.exclusive_hint": "Um onkur er á hesum listanum, so skulu tey fjalast á heimarásini, so tú sleppir undan at síggja postar teirra tvær ferðir.", + "lists.find_users_to_add": "Finn brúkarar at leggja afturat", + "lists.list_members": "Lista limir", + "lists.list_members_count": "{count, plural, one {# limur} other {# limir}}", + "lists.list_name": "Listanavn", + "lists.new_list_name": "Nýtt listanavn", + "lists.no_lists_yet": "Ongir listar enn.", + "lists.no_members_yet": "Eingir limir enn.", + "lists.no_results_found": "Eingi úrslit funnin.", + "lists.remove_member": "Burturbein", "lists.replies_policy.followed": "Øllum fylgdum brúkarum", "lists.replies_policy.list": "Listalimunum", "lists.replies_policy.none": "Eingin", + "lists.save": "Goym", + "lists.search_placeholder": "Leita eftir fólki, sum tú fylgir", + "lists.show_replies_to": "Írokna svar frá limum á listanum til", "load_pending": "{count, plural, one {# nýtt evni} other {# nýggj evni}}", "loading_indicator.label": "Innlesur…", "media_gallery.hide": "Fjal", diff --git a/app/javascript/mastodon/locales/fr-CA.json b/app/javascript/mastodon/locales/fr-CA.json index a1134e0de35934..f241a44217d76c 100644 --- a/app/javascript/mastodon/locales/fr-CA.json +++ b/app/javascript/mastodon/locales/fr-CA.json @@ -87,9 +87,21 @@ "alert.unexpected.title": "Oups!", "alt_text_badge.title": "Texte Alt", "announcement.announcement": "Annonce", + "annual_report.summary.archetype.lurker": "Le faucheur", "annual_report.summary.archetype.oracle": "L’oracle", + "annual_report.summary.followers.followers": "abonné·e·s", + "annual_report.summary.followers.total": "{count} au total", "annual_report.summary.here_it_is": "Voici votre récap de {year} :", + "annual_report.summary.highlighted_post.by_favourites": "post le plus aimé", + "annual_report.summary.highlighted_post.by_reblogs": "post le plus boosté", + "annual_report.summary.highlighted_post.by_replies": "post avec le plus de réponses", "annual_report.summary.most_used_app.most_used_app": "appli la plus utilisée", + "annual_report.summary.most_used_hashtag.most_used_hashtag": "hashtag le plus utilisé", + "annual_report.summary.most_used_hashtag.none": "Aucun", + "annual_report.summary.new_posts.new_posts": "nouveaux posts", + "annual_report.summary.percentile.text": "Cela vous place dans le topdes utilisateurs de Mastodon.", + "annual_report.summary.percentile.we_wont_tell_bernie": "Nous ne le dirons pas à Bernie.", + "annual_report.summary.thanks": "Merci de faire partie de Mastodon!", "attachments_list.unprocessed": "(non traité)", "audio.hide": "Masquer l'audio", "block_modal.remote_users_caveat": "Nous allons demander au serveur {domain} de respecter votre décision. Cependant, ce respect n'est pas garanti, car certains serveurs peuvent gérer différemment les blocages. Les messages publics peuvent rester visibles par les utilisateur·rice·s non connecté·e·s.", @@ -124,13 +136,16 @@ "column.blocks": "Comptes bloqués", "column.bookmarks": "Signets", "column.community": "Fil local", + "column.create_list": "Créer une liste", "column.direct": "Mention privée", "column.directory": "Parcourir les profils", "column.domain_blocks": "Domaines bloqués", + "column.edit_list": "Modifier la liste", "column.favourites": "Favoris", "column.firehose": "Flux en direct", "column.follow_requests": "Demande d'abonnement", "column.home": "Accueil", + "column.list_members": "Gérer les membres de la liste", "column.lists": "Listes", "column.mutes": "Comptes masqués", "column.notifications": "Notifications", @@ -200,6 +215,7 @@ "confirmations.unfollow.title": "Se désabonner de l'utilisateur·rice ?", "content_warning.hide": "Masquer le message", "content_warning.show": "Afficher quand même", + "content_warning.show_more": "Déplier", "conversation.delete": "Supprimer cette conversation", "conversation.mark_as_read": "Marquer comme lu", "conversation.open": "Afficher cette conversation", @@ -307,6 +323,7 @@ "filter_modal.select_filter.subtitle": "Utilisez une catégorie existante ou en créer une nouvelle", "filter_modal.select_filter.title": "Filtrer cette publication", "filter_modal.title.status": "Filtrer une publication", + "filter_warning.matches_filter": "Correspond au filtre « {title} »", "filtered_notifications_banner.pending_requests": "De la part {count, plural, =0 {d’aucune personne} one {d'une personne} other {de # personnes}} que vous pourriez connaître", "filtered_notifications_banner.title": "Notifications filtrées", "firehose.all": "Tout", @@ -386,6 +403,7 @@ "interaction_modal.description.follow": "Avec un compte Mastodon, vous pouvez suivre {name} et recevoir leurs publications dans votre fil d'accueil.", "interaction_modal.description.reblog": "Avec un compte Mastodon, vous pouvez booster cette publication pour la partager avec vos propres abonné·e·s.", "interaction_modal.description.reply": "Avec un compte sur Mastodon, vous pouvez répondre à cette publication.", + "interaction_modal.description.vote": "Avec un compte sur Mastodon, vous pouvez répondre à cette question.", "interaction_modal.login.action": "Aller à mon serveur", "interaction_modal.login.prompt": "Domaine de votre serveur, ex. mastodon.social", "interaction_modal.no_account_yet": "Pas sur Mastodon ?", @@ -397,6 +415,7 @@ "interaction_modal.title.follow": "Suivre {name}", "interaction_modal.title.reblog": "Booster la publication de {name}", "interaction_modal.title.reply": "Répondre à la publication de {name}", + "interaction_modal.title.vote": "Voter pour le sondage de {name}", "intervals.full.days": "{number, plural, one {# jour} other {# jours}}", "intervals.full.hours": "{number, plural, one {# heure} other {# heures}}", "intervals.full.minutes": "{number, plural, one {# minute} other {# minutes}}", @@ -444,11 +463,30 @@ "link_preview.author": "Par {name}", "link_preview.more_from_author": "Plus via {name}", "link_preview.shares": "{count, plural, one {{counter} message} other {{counter} messages}}", + "lists.add_member": "Ajouter", + "lists.add_to_list": "Ajouter à la liste", + "lists.add_to_lists": "Ajouter {name} aux listes", + "lists.create": "Créer", + "lists.create_a_list_to_organize": "Créer une nouvelle liste pour organiser votre Page d'accueil", + "lists.create_list": "Créer une liste", "lists.delete": "Supprimer la liste", + "lists.done": "Terminé", "lists.edit": "Modifier la liste", + "lists.exclusive": "Cacher les membres de la page d'accueil", + "lists.exclusive_hint": "Si quelqu'un est dans cette liste, les cacher dans votre fil pour éviter de voir leurs messages deux fois.", + "lists.find_users_to_add": "Trouver des utilisateurs à ajouter", + "lists.list_members": "Lister les membres", + "lists.list_name": "Nom de la liste", + "lists.new_list_name": "Nom de la nouvelle liste", + "lists.no_lists_yet": "Aucune liste pour l'instant.", + "lists.no_members_yet": "Aucun membre pour l'instant.", + "lists.no_results_found": "Aucun résultat.", + "lists.remove_member": "Supprimer", "lists.replies_policy.followed": "N'importe quel compte suivi", "lists.replies_policy.list": "Membres de la liste", "lists.replies_policy.none": "Personne", + "lists.save": "Enregistrer", + "lists.search_placeholder": "Rechercher parmi les gens que vous suivez", "load_pending": "{count, plural, one {# nouvel élément} other {# nouveaux éléments}}", "loading_indicator.label": "Chargement…", "media_gallery.hide": "Masquer", @@ -497,6 +535,7 @@ "notification.admin.report_statuses_other": "{name} a signalé {target}", "notification.admin.sign_up": "{name} s'est inscrit·e", "notification.admin.sign_up.name_and_others": "{name} et {count, plural, one {# autre} other {# autres}} se sont inscrit", + "notification.annual_report.view": "Voir #Wrapstodon", "notification.favourite": "{name} a ajouté votre publication à ses favoris", "notification.favourite.name_and_others_with_link": "{name} et {count, plural, one {# autre} other {# autres}} ont mis votre message en favori", "notification.follow": "{name} vous suit", @@ -848,6 +887,7 @@ "upload_form.description": "Décrire pour les malvoyants", "upload_form.drag_and_drop.instructions": "Pour choisir un média joint, appuyez sur la touche espace ou entrée. Tout en faisant glisser, utilisez les touches fléchées pour déplacer le fichier média dans une direction donnée. Appuyez à nouveau sur la touche espace ou entrée pour déposer le fichier média dans sa nouvelle position, ou appuyez sur la touche Echap pour annuler.", "upload_form.drag_and_drop.on_drag_cancel": "Le glissement a été annulé. La pièce jointe {item} n'a pas été ajoutée.", + "upload_form.drag_and_drop.on_drag_end": "La pièce jointe du média {item} a été déplacée.", "upload_form.drag_and_drop.on_drag_over": "La pièce jointe du média {item} a été déplacée.", "upload_form.edit": "Modifier", "upload_form.thumbnail": "Changer la vignette", diff --git a/app/javascript/mastodon/locales/fr.json b/app/javascript/mastodon/locales/fr.json index 8597152f0070bb..ac2d25ea3e1326 100644 --- a/app/javascript/mastodon/locales/fr.json +++ b/app/javascript/mastodon/locales/fr.json @@ -87,9 +87,21 @@ "alert.unexpected.title": "Oups !", "alt_text_badge.title": "Texte Alt", "announcement.announcement": "Annonce", + "annual_report.summary.archetype.lurker": "Le faucheur", "annual_report.summary.archetype.oracle": "L’oracle", + "annual_report.summary.followers.followers": "abonné·e·s", + "annual_report.summary.followers.total": "{count} au total", "annual_report.summary.here_it_is": "Voici votre récap de {year} :", + "annual_report.summary.highlighted_post.by_favourites": "post le plus aimé", + "annual_report.summary.highlighted_post.by_reblogs": "post le plus boosté", + "annual_report.summary.highlighted_post.by_replies": "post avec le plus de réponses", "annual_report.summary.most_used_app.most_used_app": "appli la plus utilisée", + "annual_report.summary.most_used_hashtag.most_used_hashtag": "hashtag le plus utilisé", + "annual_report.summary.most_used_hashtag.none": "Aucun", + "annual_report.summary.new_posts.new_posts": "nouveaux posts", + "annual_report.summary.percentile.text": "Cela vous place dans le topdes utilisateurs de Mastodon.", + "annual_report.summary.percentile.we_wont_tell_bernie": "Nous ne le dirons pas à Bernie.", + "annual_report.summary.thanks": "Merci de faire partie de Mastodon!", "attachments_list.unprocessed": "(non traité)", "audio.hide": "Masquer l'audio", "block_modal.remote_users_caveat": "Nous allons demander au serveur {domain} de respecter votre décision. Cependant, ce respect n'est pas garanti, car certains serveurs peuvent gérer différemment les blocages. Les messages publics peuvent rester visibles par les utilisateur·rice·s non connecté·e·s.", @@ -124,13 +136,16 @@ "column.blocks": "Utilisateurs bloqués", "column.bookmarks": "Marque-pages", "column.community": "Fil public local", + "column.create_list": "Créer une liste", "column.direct": "Mentions privées", "column.directory": "Parcourir les profils", "column.domain_blocks": "Domaines bloqués", + "column.edit_list": "Modifier la liste", "column.favourites": "Favoris", "column.firehose": "Flux en direct", "column.follow_requests": "Demandes d'abonnement", "column.home": "Accueil", + "column.list_members": "Gérer les membres de la liste", "column.lists": "Listes", "column.mutes": "Comptes masqués", "column.notifications": "Notifications", @@ -200,6 +215,7 @@ "confirmations.unfollow.title": "Se désabonner de l'utilisateur·rice ?", "content_warning.hide": "Masquer le message", "content_warning.show": "Afficher quand même", + "content_warning.show_more": "Déplier", "conversation.delete": "Supprimer la conversation", "conversation.mark_as_read": "Marquer comme lu", "conversation.open": "Afficher la conversation", @@ -307,6 +323,7 @@ "filter_modal.select_filter.subtitle": "Utilisez une catégorie existante ou créez-en une nouvelle", "filter_modal.select_filter.title": "Filtrer ce message", "filter_modal.title.status": "Filtrer un message", + "filter_warning.matches_filter": "Correspond au filtre « {title} »", "filtered_notifications_banner.pending_requests": "De la part {count, plural, =0 {d’aucune personne} one {d'une personne} other {de # personnes}} que vous pourriez connaître", "filtered_notifications_banner.title": "Notifications filtrées", "firehose.all": "Tout", @@ -386,6 +403,7 @@ "interaction_modal.description.follow": "Avec un compte Mastodon, vous pouvez suivre {name} et recevoir leurs posts dans votre fil d'actualité.", "interaction_modal.description.reblog": "Avec un compte sur Mastodon, vous pouvez partager ce message pour le faire découvrir à vos propres abonné⋅e⋅s.", "interaction_modal.description.reply": "Avec un compte sur Mastodon, vous pouvez répondre à ce message.", + "interaction_modal.description.vote": "Avec un compte sur Mastodon, vous pouvez répondre à cette question.", "interaction_modal.login.action": "Aller à mon serveur", "interaction_modal.login.prompt": "Domaine de votre serveur, ex. mastodon.social", "interaction_modal.no_account_yet": "Pas sur Mastodon ?", @@ -397,6 +415,7 @@ "interaction_modal.title.follow": "Suivre {name}", "interaction_modal.title.reblog": "Partager le message de {name}", "interaction_modal.title.reply": "Répondre au message de {name}", + "interaction_modal.title.vote": "Voter pour le sondage de {name}", "intervals.full.days": "{number, plural, one {# jour} other {# jours}}", "intervals.full.hours": "{number, plural, one {# heure} other {# heures}}", "intervals.full.minutes": "{number, plural, one {# minute} other {# minutes}}", @@ -444,11 +463,30 @@ "link_preview.author": "Par {name}", "link_preview.more_from_author": "Plus via {name}", "link_preview.shares": "{count, plural, one {{counter} message} other {{counter} messages}}", + "lists.add_member": "Ajouter", + "lists.add_to_list": "Ajouter à la liste", + "lists.add_to_lists": "Ajouter {name} aux listes", + "lists.create": "Créer", + "lists.create_a_list_to_organize": "Créer une nouvelle liste pour organiser votre Page d'accueil", + "lists.create_list": "Créer une liste", "lists.delete": "Supprimer la liste", + "lists.done": "Terminé", "lists.edit": "Modifier la liste", + "lists.exclusive": "Cacher les membres de la page d'accueil", + "lists.exclusive_hint": "Si quelqu'un est dans cette liste, les cacher dans votre fil pour éviter de voir leurs messages deux fois.", + "lists.find_users_to_add": "Trouver des utilisateurs à ajouter", + "lists.list_members": "Lister les membres", + "lists.list_name": "Nom de la liste", + "lists.new_list_name": "Nom de la nouvelle liste", + "lists.no_lists_yet": "Aucune liste pour l'instant.", + "lists.no_members_yet": "Aucun membre pour l'instant.", + "lists.no_results_found": "Aucun résultat.", + "lists.remove_member": "Supprimer", "lists.replies_policy.followed": "N'importe quel compte suivi", "lists.replies_policy.list": "Membres de la liste", "lists.replies_policy.none": "Personne", + "lists.save": "Enregistrer", + "lists.search_placeholder": "Rechercher parmi les gens que vous suivez", "load_pending": "{count, plural, one {# nouvel élément} other {# nouveaux éléments}}", "loading_indicator.label": "Chargement…", "media_gallery.hide": "Masquer", @@ -497,6 +535,7 @@ "notification.admin.report_statuses_other": "{name} a signalé {target}", "notification.admin.sign_up": "{name} s'est inscrit", "notification.admin.sign_up.name_and_others": "{name} et {count, plural, one {# autre} other {# autres}} se sont inscrit", + "notification.annual_report.view": "Voir #Wrapstodon", "notification.favourite": "{name} a ajouté votre message à ses favoris", "notification.favourite.name_and_others_with_link": "{name} et {count, plural, one {# autre} other {# autres}} ont mis votre message en favori", "notification.follow": "{name} vous suit", @@ -848,6 +887,7 @@ "upload_form.description": "Décrire pour les malvoyant·e·s", "upload_form.drag_and_drop.instructions": "Pour choisir un média joint, appuyez sur la touche espace ou entrée. Tout en faisant glisser, utilisez les touches fléchées pour déplacer le fichier média dans une direction donnée. Appuyez à nouveau sur la touche espace ou entrée pour déposer le fichier média dans sa nouvelle position, ou appuyez sur la touche Echap pour annuler.", "upload_form.drag_and_drop.on_drag_cancel": "Le glissement a été annulé. La pièce jointe {item} n'a pas été ajoutée.", + "upload_form.drag_and_drop.on_drag_end": "La pièce jointe du média {item} a été déplacée.", "upload_form.drag_and_drop.on_drag_over": "La pièce jointe du média {item} a été déplacée.", "upload_form.edit": "Modifier", "upload_form.thumbnail": "Changer la vignette", diff --git a/app/javascript/mastodon/locales/gl.json b/app/javascript/mastodon/locales/gl.json index e77aaade6b15db..d4283ed18b9c05 100644 --- a/app/javascript/mastodon/locales/gl.json +++ b/app/javascript/mastodon/locales/gl.json @@ -104,6 +104,7 @@ "annual_report.summary.most_used_hashtag.none": "Nada", "annual_report.summary.new_posts.new_posts": "novas publicacións", "annual_report.summary.percentile.text": "Sitúante no top das usuarias de Mastodon.", + "annual_report.summary.percentile.we_wont_tell_bernie": "Moito tes que contarnos!", "annual_report.summary.thanks": "Grazas por ser parte de Mastodon!", "attachments_list.unprocessed": "(sen procesar)", "audio.hide": "Agochar audio", @@ -139,13 +140,16 @@ "column.blocks": "Usuarias bloqueadas", "column.bookmarks": "Marcadores", "column.community": "Cronoloxía local", + "column.create_list": "Crear lista", "column.direct": "Mencións privadas", "column.directory": "Procurar perfís", "column.domain_blocks": "Dominios agochados", + "column.edit_list": "Editar lista", "column.favourites": "Favoritas", "column.firehose": "O que acontece", "column.follow_requests": "Peticións de seguimento", "column.home": "Inicio", + "column.list_members": "Xestionar membros da lista", "column.lists": "Listaxes", "column.mutes": "Usuarias acaladas", "column.notifications": "Notificacións", @@ -463,11 +467,32 @@ "link_preview.author": "Por {name}", "link_preview.more_from_author": "Máis de {name}", "link_preview.shares": "{count, plural, one {{counter} publicación} other {{counter} publicacións}}", + "lists.add_member": "Engadir", + "lists.add_to_list": "Engadir á lista", + "lists.add_to_lists": "Engadir {name} ás listas", + "lists.create": "Crear", + "lists.create_a_list_to_organize": "Crear unha nova lista para organizar o teu Inicio", + "lists.create_list": "Crear lista", "lists.delete": "Eliminar listaxe", + "lists.done": "Feito", "lists.edit": "Editar listaxe", + "lists.exclusive": "Ocultar membros no Inicio", + "lists.exclusive_hint": "Se alguén está nesta lista non aparerá na cronoloxía de Inicio para evitar duplicidades das publicacións.", + "lists.find_users_to_add": "Buscar persoas que engadir", + "lists.list_members": "Membros da lista", + "lists.list_members_count": "{count, plural, one {# membro} other {# membros}}", + "lists.list_name": "Nome da lista", + "lists.new_list_name": "Novo nome da lista", + "lists.no_lists_yet": "Aínda non hai listas.", + "lists.no_members_yet": "Aínda non hai membros.", + "lists.no_results_found": "Non se atoparon resultados.", + "lists.remove_member": "Retirar", "lists.replies_policy.followed": "Calquera usuaria que siga", "lists.replies_policy.list": "Membros da lista", "lists.replies_policy.none": "Ninguén", + "lists.save": "Gardar", + "lists.search_placeholder": "Buscar persoas que segues", + "lists.show_replies_to": "Incluír respostas dos membros das listas a", "load_pending": "{count, plural, one {# novo elemento} other {# novos elementos}}", "loading_indicator.label": "Estase a cargar…", "media_gallery.hide": "Agochar", diff --git a/app/javascript/mastodon/locales/hu.json b/app/javascript/mastodon/locales/hu.json index 9a76a21e93253e..c061b58840de24 100644 --- a/app/javascript/mastodon/locales/hu.json +++ b/app/javascript/mastodon/locales/hu.json @@ -140,13 +140,16 @@ "column.blocks": "Letiltott felhasználók", "column.bookmarks": "Könyvjelzők", "column.community": "Helyi idővonal", + "column.create_list": "Lista létrehozása", "column.direct": "Személyes említések", "column.directory": "Profilok böngészése", "column.domain_blocks": "Letiltott domainek", + "column.edit_list": "Lista módosítása", "column.favourites": "Kedvencek", "column.firehose": "Hírfolyamok", "column.follow_requests": "Követési kérések", "column.home": "Kezdőlap", + "column.list_members": "Listatagok kezelése", "column.lists": "Listák", "column.mutes": "Némított felhasználók", "column.notifications": "Értesítések", @@ -464,11 +467,32 @@ "link_preview.author": "{name} szerint", "link_preview.more_from_author": "Több tőle: {name}", "link_preview.shares": "{count, plural, one {{counter} bejegyzés} other {{counter} bejegyzés}}", + "lists.add_member": "Hozzáadás", + "lists.add_to_list": "Hozzáadás a listához", + "lists.add_to_lists": "{name} hozzáadása a listához", + "lists.create": "Létrehozás", + "lists.create_a_list_to_organize": "Új lista létrehozása a kezdőlapod szervezéséhez", + "lists.create_list": "Lista létrehozása", "lists.delete": "Lista törlése", + "lists.done": "Kész", "lists.edit": "Lista szerkesztése", + "lists.exclusive": "Tagok elrejtése a kezdőlapon", + "lists.exclusive_hint": "Ha valaki szerepel ezen a listán, el lesz rejtve a kezdőlapod hírfolyamán, hogy ne lásd kétszer a bejegyzéseit.", + "lists.find_users_to_add": "Hozzáadandó felhasználók keresése", + "lists.list_members": "Tagok listázása", + "lists.list_members_count": "{count, plural, one {# tag} other {# tag}}", + "lists.list_name": "Lista neve", + "lists.new_list_name": "Új lista neve", + "lists.no_lists_yet": "Nincsenek még listák.", + "lists.no_members_yet": "Nincsenek még tagok.", + "lists.no_results_found": "Nincs találat.", + "lists.remove_member": "Eltávolítás", "lists.replies_policy.followed": "Bármely követett felhasználó", "lists.replies_policy.list": "A lista tagjai", "lists.replies_policy.none": "Senki", + "lists.save": "Mentés", + "lists.search_placeholder": "Keresés a követett személyek között", + "lists.show_replies_to": "Listatagok válaszainak hozzávétele", "load_pending": "{count, plural, one {# új elem} other {# új elem}}", "loading_indicator.label": "Betöltés…", "media_gallery.hide": "Elrejtés", @@ -628,7 +652,7 @@ "onboarding.action.back": "Vissza", "onboarding.actions.back": "Vissza", "onboarding.actions.go_to_explore": "Felkapottak megtekintése", - "onboarding.actions.go_to_home": "Ugrás a saját hírfolyamra", + "onboarding.actions.go_to_home": "Ugrás a kezdőlapod hírfolyamára", "onboarding.compose.template": "Üdvözlet, #Mastodon!", "onboarding.follows.empty": "Sajnos jelenleg nem jeleníthető meg eredmény. Kipróbálhatod a keresést vagy böngészheted a felfedező oldalon a követni kívánt személyeket, vagy próbáld meg később.", "onboarding.follows.lead": "A kezdőlapod a Mastodon használatának elsődleges módja. Minél több embert követsz, annál aktívabbak és érdekesebbek lesznek a dolgok. Az induláshoz itt van néhány javaslat:", @@ -691,7 +715,7 @@ "recommended": "Ajánlott", "refresh": "Frissítés", "regeneration_indicator.label": "Betöltés…", - "regeneration_indicator.sublabel": "A saját idővonalad épp készül!", + "regeneration_indicator.sublabel": "A kezdőlapod hírfolyama épp készül!", "relative_time.days": "{number}n", "relative_time.full.days": "{number, plural, one {# napja} other {# napja}}", "relative_time.full.hours": "{number, plural, one {# órája} other {# órája}}", @@ -745,7 +769,7 @@ "report.thanks.title": "Nem akarod ezt látni?", "report.thanks.title_actionable": "Köszönjük, hogy jelentetted, megnézzük.", "report.unfollow": "@{name} követésének leállítása", - "report.unfollow_explanation": "Követed ezt a fiókot. Hogy ne lásd a bejegyzéseit a saját idővonaladon, szüntesd meg a követését.", + "report.unfollow_explanation": "Követed ezt a fiókot. Hogy ne lásd a bejegyzéseit a kezdőlapi hírfolyamban, szüntesd meg a követését.", "report_notification.attached_statuses": "{count} bejegyzés mellékelve", "report_notification.categories.legal": "Jogi", "report_notification.categories.legal_sentence": "illegális tartalom", @@ -849,7 +873,7 @@ "subscribed_languages.lead": "A változtatás után csak a kiválasztott nyelvű bejegyzések fognak megjelenni a kezdőlapon és az idővonalakon. Ha egy sincs kiválasztva, akkor minden nyelven megjelennek a bejegyzések.", "subscribed_languages.save": "Változások mentése", "subscribed_languages.target": "Feliratkozott nyelvek módosítása {target} esetében", - "tabs_bar.home": "Kezdőoldal", + "tabs_bar.home": "Kezdőlap", "tabs_bar.notifications": "Értesítések", "time_remaining.days": "{number, plural, one {# nap} other {# nap}} van hátra", "time_remaining.hours": "{number, plural, one {# óra} other {# óra}} van hátra", diff --git a/app/javascript/mastodon/locales/it.json b/app/javascript/mastodon/locales/it.json index d947b59eae681d..ff5526a71f62cb 100644 --- a/app/javascript/mastodon/locales/it.json +++ b/app/javascript/mastodon/locales/it.json @@ -87,8 +87,11 @@ "alert.unexpected.title": "Oops!", "alt_text_badge.title": "Testo alternativo", "announcement.announcement": "Annuncio", + "annual_report.summary.archetype.booster": "Cacciatore/trice di tendenze", + "annual_report.summary.archetype.lurker": "L'osservatore/trice", "annual_report.summary.archetype.oracle": "L'oracolo", "annual_report.summary.archetype.pollster": "Sondaggista", + "annual_report.summary.archetype.replier": "Utente socievole", "annual_report.summary.followers.followers": "seguaci", "annual_report.summary.followers.total": "{count} in totale", "annual_report.summary.here_it_is": "Ecco il tuo {year} in sintesi:", @@ -137,13 +140,16 @@ "column.blocks": "Utenti bloccati", "column.bookmarks": "Segnalibri", "column.community": "Cronologia locale", + "column.create_list": "Crea lista", "column.direct": "Menzioni private", "column.directory": "Sfoglia profili", "column.domain_blocks": "Domini bloccati", + "column.edit_list": "Modifica lista", "column.favourites": "Preferiti", "column.firehose": "Feed dal vivo", "column.follow_requests": "Richieste di seguirti", "column.home": "Home", + "column.list_members": "Gestisci i membri della lista", "column.lists": "Liste", "column.mutes": "Utenti silenziati", "column.notifications": "Notifiche", @@ -461,11 +467,32 @@ "link_preview.author": "Di {name}", "link_preview.more_from_author": "Altro da {name}", "link_preview.shares": "{count, plural, one {{counter} post} other {{counter} post}}", + "lists.add_member": "Aggiungi", + "lists.add_to_list": "Aggiungi alla lista", + "lists.add_to_lists": "Aggiungi {name} alle liste", + "lists.create": "Crea", + "lists.create_a_list_to_organize": "Crea una nuova lista per organizzare il tuo feed Home", + "lists.create_list": "Crea lista", "lists.delete": "Elimina elenco", + "lists.done": "Fatto", "lists.edit": "Modifica elenco", + "lists.exclusive": "Nascondi i membri in Home", + "lists.exclusive_hint": "Se qualcuno è presente in questa lista, nascondilo nel tuo feed Home per evitare di vedere i suoi post due volte.", + "lists.find_users_to_add": "Trova utenti da aggiungere", + "lists.list_members": "Membri della lista", + "lists.list_members_count": "{count, plural, one {# membro} other {# membri}}", + "lists.list_name": "Nome della lista", + "lists.new_list_name": "Nuovo nome della lista", + "lists.no_lists_yet": "Non ci sono ancora liste.", + "lists.no_members_yet": "Non ci sono ancora membri.", + "lists.no_results_found": "Nessun risultato trovato.", + "lists.remove_member": "Rimuovi", "lists.replies_policy.followed": "Qualsiasi utente seguito", "lists.replies_policy.list": "Membri dell'elenco", "lists.replies_policy.none": "Nessuno", + "lists.save": "Salva", + "lists.search_placeholder": "Cerca le persone che segui", + "lists.show_replies_to": "Includi le risposte dei membri della lista a", "load_pending": "{count, plural, one {# nuovo oggetto} other {# nuovi oggetti}}", "loading_indicator.label": "Caricamento…", "media_gallery.hide": "Nascondi", diff --git a/app/javascript/mastodon/locales/pa.json b/app/javascript/mastodon/locales/pa.json index 86226f4cde4f9c..0557951a7f96eb 100644 --- a/app/javascript/mastodon/locales/pa.json +++ b/app/javascript/mastodon/locales/pa.json @@ -4,6 +4,7 @@ "about.domain_blocks.silenced.title": "ਸੀਮਿਤ", "about.domain_blocks.suspended.title": "ਮੁਅੱਤਲ ਕੀਤੀ", "about.rules": "ਸਰਵਰ ਨਿਯਮ", + "account.account_note_header": "ਨਿੱਜੀ ਨੋਟ", "account.add_or_remove_from_list": "ਸੂਚੀ ਵਿੱਚ ਜੋੜੋ ਜਾਂ ਹਟਾਓ", "account.badges.bot": "ਆਟੋਮੇਟ ਕੀਤਾ", "account.badges.group": "ਗਰੁੱਪ", @@ -27,7 +28,9 @@ "account.following": "ਫ਼ਾਲੋ ਕੀਤਾ", "account.follows.empty": "ਇਹ ਵਰਤੋਂਕਾਰ ਹਾਲੇ ਕਿਸੇ ਨੂੰ ਫ਼ਾਲੋ ਨਹੀਂ ਕਰਦਾ ਹੈ।", "account.go_to_profile": "ਪਰੋਫਾਇਲ ਉੱਤੇ ਜਾਓ", + "account.joined_short": "ਜੁਆਇਨ ਕੀਤਾ", "account.media": "ਮੀਡੀਆ", + "account.mention": "@{name} ਦਾ ਜ਼ਿਕਰ", "account.mute": "{name} ਨੂੰ ਮੌਨ ਕਰੋ", "account.mute_notifications_short": "ਨੋਟਫਿਕੇਸ਼ਨਾਂ ਨੂੰ ਮੌਨ ਕਰੋ", "account.mute_short": "ਮੌਨ ਕਰੋ", @@ -44,16 +47,32 @@ "account.unblock": "@{name} ਤੋਂ ਪਾਬੰਦੀ ਹਟਾਓ", "account.unblock_domain": "{domain} ਡੋਮੇਨ ਤੋਂ ਪਾਬੰਦੀ ਹਟਾਓ", "account.unblock_short": "ਪਾਬੰਦੀ ਹਟਾਓ", + "account.unendorse": "ਪਰੋਫਾਇਲ ਉੱਤੇ ਫ਼ੀਚਰ ਨਾ ਕਰੋ", "account.unfollow": "ਅਣ-ਫ਼ਾਲੋ", + "account.unmute": "@{name} ਲਈ ਮੌਨ ਹਟਾਓ", + "account.unmute_notifications_short": "ਨੋਟਫਿਕੇਸ਼ਨਾਂ ਨੂੰ ਅਣ-ਮੌਨ ਕਰੋ", "account.unmute_short": "ਮੌਨ-ਰਹਿਤ ਕਰੋ", "account_note.placeholder": "Click to add a note", "admin.dashboard.retention.average": "ਔਸਤ", "admin.dashboard.retention.cohort_size": "ਨਵੇਂ ਵਰਤੋਂਕਾਰ", "alert.unexpected.title": "ਓਹੋ!", + "alt_text_badge.title": "ਬਦਲੀ ਲਿਖਤ", "announcement.announcement": "ਹੋਕਾ", + "annual_report.summary.followers.followers": "ਫ਼ਾਲੋਅਰ", + "annual_report.summary.followers.total": "{count} ਕੁੱਲ", + "annual_report.summary.highlighted_post.by_favourites": "ਸਭ ਤੋਂ ਵੱਧ ਪਸੰਦ ਕੀਤੀ ਪੋਸਟ", + "annual_report.summary.highlighted_post.by_reblogs": "ਸਭ ਤੋਂ ਵੱਧ ਬੂਸਟ ਕੀਤੀ ਪੋਸਟ", + "annual_report.summary.highlighted_post.by_replies": "ਸਭ ਤੋਂ ਵੱਧ ਜਵਾਬ ਦਿੱਤੀ ਗਈ ਪੋਸਟ", + "annual_report.summary.highlighted_post.possessive": "{name}", + "annual_report.summary.most_used_app.most_used_app": "ਸਭ ਤੋਂ ਵੱਧ ਵਰਤੀ ਐਪ", + "annual_report.summary.most_used_hashtag.none": "ਕੋਈ ਨਹੀਂ", + "annual_report.summary.new_posts.new_posts": "ਨਵੀਆਂ ਪੋਸਟਾਂ", + "annual_report.summary.thanks": "Mastodon ਦਾ ਹਿੱਸਾ ਬਣਨ ਵਾਸਤੇ ਧੰਨਵਾਦ ਹੈ!", + "audio.hide": "ਆਡੀਓ ਨੂੰ ਲੁਕਾਓ", "block_modal.show_less": "ਘੱਟ ਦਿਖਾਓ", "block_modal.show_more": "ਵੱਧ ਦਿਖਾਓ", "block_modal.title": "ਵਰਤੋਂਕਾਰ ਉੱਤੇ ਪਾਬੰਦੀ ਲਾਉਣੀ ਹੈ?", + "boost_modal.reblog": "ਪੋਸਟ ਨੂੰ ਬੂਸਟ ਕਰਨਾ ਹੈ?", "bundle_column_error.error.title": "ਓਹ ਹੋ!", "bundle_column_error.network.title": "ਨੈੱਟਵਰਕ ਦੀ ਸਮੱਸਿਆ", "bundle_column_error.retry": "ਮੁੜ-ਕੋਸ਼ਿਸ਼ ਕਰੋ", @@ -62,18 +81,29 @@ "bundle_modal_error.close": "ਬੰਦ ਕਰੋ", "bundle_modal_error.message": "ਭਾਗ ਲੋਡ ਕਰਨ ਦੌਰਾਨ ਕੁਝ ਗਲਤ ਵਾਪਰਿਆ ਹੈ।", "bundle_modal_error.retry": "ਮੁੜ-ਕੋਸ਼ਿਸ਼ ਕਰੋ", + "closed_registrations_modal.title": "Mastodon ਲਈ ਸਾਈਨ ਅੱਪ ਕਰੋ", "column.about": "ਸਾਡੇ ਬਾਰੇ", "column.blocks": "ਪਾਬੰਦੀ ਲਾਏ ਵਰਤੋਂਕਾਰ", "column.bookmarks": "ਬੁੱਕਮਾਰਕ", "column.community": "ਲੋਕਲ ਸਮਾਂ-ਲਾਈਨ", + "column.create_list": "ਸੂਚੀ ਬਣਾਓ", "column.direct": "ਨਿੱਜੀ ਜ਼ਿਕਰ", + "column.directory": "ਪ੍ਰੋਫਾਈਲਾਂ ਨੂੰ ਦੇਖੋ", + "column.domain_blocks": "ਪਾਬੰਦੀ ਲਾਏ ਡੋਮੇਨ", + "column.edit_list": "ਸੂਚੀ ਨੂੰ ਸੋਧੋ", "column.favourites": "ਮਨਪਸੰਦ", + "column.firehose": "ਲਾਈਵ ਫੀਡ", "column.follow_requests": "ਫ਼ਾਲੋ ਦੀਆਂ ਬੇਨਤੀਆਂ", "column.home": "ਮੁੱਖ ਸਫ਼ਾ", + "column.list_members": "ਸੂਚੀ ਦੇ ਮੈਂਬਰ ਦਾ ਇੰਤਜ਼ਾਮ ਕਰੋ", "column.lists": "ਸੂਚੀਆਂ", + "column.mutes": "ਮੌਨ ਕੀਤੇ ਵਰਤੋਂਕਾਰ", "column.notifications": "ਸੂਚਨਾਵਾਂ", "column.pins": "ਟੰਗੀਆਂ ਪੋਸਟਾਂ", "column_back_button.label": "ਪਿੱਛੇ", + "column_header.hide_settings": "ਸੈਟਿੰਗਾਂ ਨੂੰ ਲੁਕਾਓ", + "column_header.moveLeft_settings": "ਕਾਲਮ ਨੂੰ ਖੱਬੇ ਪਾਸੇ ਭੇਜੋ", + "column_header.moveRight_settings": "ਕਾਲਮ ਨੂੰ ਸੱਜੇ ਪਾਸੇ ਭੇਜੋ", "column_header.pin": "ਟੰਗੋ", "column_header.show_settings": "ਸੈਟਿੰਗਾਂ ਦਿਖਾਓ", "column_header.unpin": "ਲਾਹੋ", @@ -83,16 +113,20 @@ "community.column_settings.remote_only": "ਸਿਰਫ਼ ਰਿਮੋਟ ਹੀ", "compose.language.change": "ਭਾਸ਼ਾ ਬਦਲੋ", "compose.language.search": "ਭਾਸ਼ਾਵਾਂ ਦੀ ਖੋਜ...", + "compose.published.body": "ਪੋਸਟ ਪ੍ਰਕਾਸ਼ਿਤ ਕੀਤੀ।", "compose.published.open": "ਖੋਲ੍ਹੋ", "compose.saved.body": "ਪੋਸਟ ਸੰਭਾਲੀ ਗਈ।", "compose_form.direct_message_warning_learn_more": "ਹੋਰ ਜਾਣੋ", "compose_form.encryption_warning": "Posts on Mastodon are not end-to-end encrypted. Do not share any dangerous information over Mastodon.", "compose_form.hashtag_warning": "This post won't be listed under any hashtag as it is unlisted. Only public posts can be searched by hashtag.", + "compose_form.lock_disclaimer": "ਤੁਹਾਡਾ ਖਾਤਾ {locked} ਨਹੀਂ ਹੈ। ਕੋਈ ਵੀ ਤੁਹਾਡੀਆਂ ਸਿਰਫ਼-ਫ਼ਾਲੋਅਰ ਪੋਸਟਾਂ ਵੇਖਣ ਵਾਸਤੇ ਤੁਹਾਨੂੰ ਫ਼ਾਲੋ ਕਰ ਸਕਦਾ ਹੈ।", "compose_form.lock_disclaimer.lock": "ਲਾਕ ਹੈ", - "compose_form.placeholder": "What is on your mind?", + "compose_form.placeholder": "ਤੁਹਾਡੇ ਮਨ ਵਿੱਚ ਕੀ ਹੈ?", + "compose_form.poll.option_placeholder": "{number} ਚੋਣ", + "compose_form.poll.single": "ਇਕੱਲੀ ਚੋਣ", "compose_form.poll.type": "ਸਟਾਈਲ", "compose_form.publish": "ਪੋਸਟ", - "compose_form.publish_form": "Publish", + "compose_form.publish_form": "ਨਵੀਂ ਪੋਸਟ", "compose_form.reply": "ਜਵਾਬ ਦਿਓ", "compose_form.save_changes": "ਅੱਪਡੇਟ", "compose_form.spoiler.marked": "ਸਮੱਗਰੀ ਚੇਤਾਵਨੀ ਨੂੰ ਹਟਾਓ", @@ -102,20 +136,49 @@ "confirmations.block.confirm": "ਪਾਬੰਦੀ", "confirmations.delete.confirm": "ਹਟਾਓ", "confirmations.delete.message": "ਕੀ ਤੁਸੀਂ ਇਹ ਪੋਸਟ ਨੂੰ ਹਟਾਉਣਾ ਚਾਹੁੰਦੇ ਹੋ?", + "confirmations.delete.title": "ਪੋਸਟ ਨੂੰ ਹਟਾਉਣਾ ਹੈ?", "confirmations.delete_list.confirm": "ਹਟਾਓ", + "confirmations.delete_list.message": "ਕੀ ਤੁਸੀਂ ਇਸ ਸੂਚੀ ਨੂੰ ਪੱਕੇ ਤੌਰ ਉੱਤੇ ਹਟਾਉਣਾ ਚਾਹੁੰਦੇ ਹੋ?", + "confirmations.delete_list.title": "ਸੂਚੀ ਨੂੰ ਹਟਾਉਣਾ ਹੈ?", "confirmations.discard_edit_media.confirm": "ਰੱਦ ਕਰੋ", "confirmations.edit.confirm": "ਸੋਧ", "confirmations.logout.confirm": "ਬਾਹਰ ਹੋਵੋ", + "confirmations.logout.message": "ਕੀ ਤੁਸੀਂ ਲਾਗ ਆਉਟ ਕਰਨਾ ਚਾਹੁੰਦੇ ਹੋ?", + "confirmations.logout.title": "ਲਾਗ ਆਉਟ ਕਰਨਾ ਹੈ?", "confirmations.mute.confirm": "ਮੌਨ ਕਰੋ", + "confirmations.redraft.confirm": "ਹਟਾਓ ਤੇ ਮੁੜ-ਡਰਾਫਟ", "confirmations.reply.confirm": "ਜਵਾਬ ਦੇਵੋ", "confirmations.unfollow.confirm": "ਅਣ-ਫ਼ਾਲੋ", + "confirmations.unfollow.message": "ਕੀ ਤੁਸੀਂ {name} ਨੂੰ ਅਣ-ਫ਼ਾਲੋ ਕਰਨਾ ਚਾਹੁੰਦੇ ਹੋ?", + "confirmations.unfollow.title": "ਵਰਤੋਂਕਾਰ ਨੂੰ ਅਣ-ਫ਼ਾਲੋ ਕਰਨਾ ਹੈ?", + "content_warning.hide": "ਪੋਸਟ ਨੂੰ ਲੁਕਾਓ", + "content_warning.show": "ਕਿਵੇਂ ਵੀ ਵੇਖਾਓ", + "content_warning.show_more": "ਹੋਰ ਵੇਖਾਓ", + "conversation.delete": "ਗੱਲਬਾਤ ਨੂੰ ਹਟਾਓ", + "conversation.mark_as_read": "ਪੜ੍ਹੇ ਵਜੋਂ ਨਿਸ਼ਾਨੀ ਲਾਓ", + "conversation.open": "ਗੱਲਬਾਤ ਨੂੰ ਵੇਖੋ", + "conversation.with": "{names} ਨਾਲ", + "copy_icon_button.copied": "ਕਲਿੱਪਬੋਰਡ 'ਤੇ ਕਾਪੀ ਕਰੋ", "copypaste.copied": "ਕਾਪੀ ਕੀਤਾ", "copypaste.copy_to_clipboard": "ਕਲਿੱਪਬੋਰਡ 'ਤੇ ਕਾਪੀ ਕਰੋ", + "directory.local": "ਸਿਰਫ਼ {domain} ਤੋਂ", + "directory.new_arrivals": "ਨਵੇਂ ਆਉਣ ਵਾਲੇ", + "directory.recently_active": "ਸੱਜਰੇ ਸਰਗਰਮ", "disabled_account_banner.account_settings": "ਖਾਤੇ ਦੀਆਂ ਸੈਟਿੰਗਾਂ", + "disabled_account_banner.text": "ਤੁਹਾਡਾ ਖਾਤਾ {disabledAccount} ਇਸ ਵੇਲੇ ਅਸਮਰੱਥ ਕੀਤਾ ਹੈ।", "dismissable_banner.dismiss": "ਰੱਦ ਕਰੋ", "dismissable_banner.explore_links": "These news stories are being talked about by people on this and other servers of the decentralized network right now.", "dismissable_banner.explore_tags": "These hashtags are gaining traction among people on this and other servers of the decentralized network right now.", - "embed.instructions": "Embed this status on your website by copying the code below.", + "domain_block_modal.block": "ਸਰਵਰ ਉੱਤੇ ਪਾਬੰਦੀ ਲਾਓ", + "domain_block_modal.block_account_instead": "ਇਸ ਦੀ ਬਜਾਏ @{name} ਉੱਤੇ ਪਾਬੰਦੀ ਲਾਓ", + "domain_block_modal.title": "ਡੋਮੇਨ ਉੱਤੇ ਪਾਬੰਦੀ ਲਾਉਣੀ ਹੈ?", + "domain_pill.server": "ਸਰਵਰ", + "domain_pill.their_handle": "ਇਹ ਹੈਂਡਲ:", + "domain_pill.their_server": "ਉਹਨਾਂ ਦਾ ਡਿਜ਼ਿਟਲ ਘਰ, ਜਿੱਥੇ ਉਹਨਾਂ ਦੀਆਂ ਸਾਰੀਆਂ ਪੋਸਟਾਂ ਹੁੰਦੀਆਂ ਹਨ।", + "domain_pill.username": "ਵਰਤੋਂਕਾਰ-ਨਾਂ", + "domain_pill.whats_in_a_handle": "ਹੈਂਡਲ ਕੀ ਹੁੰਦਾ ਹੈ?", + "domain_pill.your_handle": "ਤੁਹਾਡਾ ਹੈਂਡਲ:", + "embed.instructions": "ਹੇਠਲੇ ਕੋਡ ਨੂੰ ਕਾਪੀ ਕਰਕੇ ਆਪਣੀ ਵੈੱਬਸਾਈਟ ਉੱਤੇ ਇਸ ਪੋਸਟ ਨੂੰ ਇੰਬੈੱਡ ਕਰੋ।", "emoji_button.activity": "ਗਤੀਵਿਧੀ", "emoji_button.clear": "ਮਿਟਾਓ", "emoji_button.custom": "ਕਸਟਮ", @@ -124,27 +187,43 @@ "emoji_button.nature": "ਕੁਦਰਤ", "emoji_button.objects": "ਇਕਾਈ", "emoji_button.people": "ਲੋਕ", + "emoji_button.recent": "ਅਕਸਰ ਵਰਤੇ", "emoji_button.search": "ਖੋਜ ਕਰੋ...", "emoji_button.search_results": "ਖੋਜ ਨਤੀਜੇ", "emoji_button.symbols": "ਚਿੰਨ੍ਹ", "emoji_button.travel": "ਸੈਰ ਸਪਾਟਾ ਤੇ ਥਾਵਾਂ", + "empty_column.account_suspended": "ਖਾਤਾ ਸਸਪੈਂਡ ਕੀਤਾ", "empty_column.account_timeline": "ਇੱਥੇ ਕੋਈ ਪੋਸਟ ਨਹੀਂ ਹੈ!", - "empty_column.bookmarked_statuses": "You don't have any bookmarked toots yet. When you bookmark one, it will show up here.", + "empty_column.account_unavailable": "ਪ੍ਰੋਫਾਈਲ ਅਣ-ਉਪਲਬਧ ਹੈ", + "empty_column.blocks": "ਤੁਸੀਂ ਹਾਲੇ ਕਿਸੇ ਵਰਤੋਂਕਾਰ ਉੱਤੇ ਪਾਬੰਦੀ ਨਹੀਂ ਲਾਈ ਹੈ।", + "empty_column.bookmarked_statuses": "ਤੁਸੀਂ ਹਾਲੇ ਕਿਸੇ ਵੀ ਪੋਸਟ ਨੂੰ ਬੁੱਕਮਾਰਕ ਨਹੀਂ ਕੀਤਾ ਹੈ। ਜਦੋਂ ਤੁਸੀਂ ਬੁੱਕਮਾਰਕ ਕੀਤਾ ਤਾਂ ਉਹ ਇੱਥੇ ਦਿਖਾਈ ਦਾਵੇਗਾ।", "empty_column.home": "ਤੁਹਾਡੀ ਟਾਈਮ-ਲਾਈਨ ਖਾਲੀ ਹੈ! ਇਸ ਨੂੰ ਭਰਨ ਲਈ ਹੋਰ ਲੋਕਾਂ ਨੂੰ ਫ਼ਾਲੋ ਕਰੋ।", - "empty_column.list": "There is nothing in this list yet. When members of this list post new statuses, they will appear here.", + "empty_column.list": "ਇਸ ਸੂਚੀ ਵਿੱਚ ਹਾਲੇ ਕੁਝ ਵੀ ਨਹੀਂ ਹੈ। ਜਦੋਂ ਇਸ ਸੂਚੀ ਦੇ ਮੈਂਬਰ ਨਵੀਆਂ ਪੋਸਟਾਂ ਪਾਉਂਦੇ ਹਨ ਤਾਂ ਉਹ ਇੱਥੇ ਦਿਖਾਈ ਦੇਣਗੀਆਂ।", "errors.unexpected_crash.report_issue": "ਮੁੱਦੇ ਦੀ ਰਿਪੋਰਟ ਕਰੋ", + "explore.search_results": "ਖੋਜ ਦੇ ਨਤੀਜੇ", "explore.suggested_follows": "ਲੋਕ", "explore.title": "ਪੜਚੋਲ ਕਰੋ", "explore.trending_links": "ਖ਼ਬਰਾਂ", "explore.trending_statuses": "ਪੋਸਟਾਂ", "explore.trending_tags": "ਹੈਸ਼ਟੈਗ", + "filter_modal.added.expired_title": "ਫਿਲਟਰ ਦੀ ਮਿਆਦ ਪੁੱਗੀ!", + "filter_modal.added.review_and_configure_title": "ਫਿਲਟਰ ਸੈਟਿੰਗਾਂ", "filter_modal.added.settings_link": "ਸੈਟਿੰਗਾਂ ਸਫ਼ਾ", + "filter_modal.added.title": "ਫਿਲਟਰ ਨੂੰ ਜੋੜਿਆ!", + "filter_modal.select_filter.expired": "ਮਿਆਦ ਪੁੱਗੀ", + "filter_modal.select_filter.prompt_new": "ਨਵੀਂ ਕੈਟਾਗਰੀ: {name}", + "filter_modal.select_filter.search": "ਖੋਜੋ ਜਾਂ ਬਣਾਓ", "firehose.all": "ਸਭ", "firehose.local": "ਇਹ ਸਰਵਰ", "firehose.remote": "ਹੋਰ ਸਰਵਰ", "follow_request.reject": "ਰੱਦ ਕਰੋ", "follow_suggestions.dismiss": "ਮੁੜ ਨਾ ਵੇਖਾਓ", + "follow_suggestions.personalized_suggestion": "ਨਿੱਜੀ ਸੁਝਾਅ", + "follow_suggestions.popular_suggestion": "ਹਰਮਨਪਿਆਰੇ ਸੁਝਾਅ", + "follow_suggestions.popular_suggestion_longer": "{domain} ਉੱਤੇ ਹਰਮਨਪਿਆਰੇ", "follow_suggestions.view_all": "ਸਭ ਵੇਖੋ", + "follow_suggestions.who_to_follow": "ਕਿਸ ਨੂੰ ਫ਼ਾਲੋ ਕਰੀਏ", + "followed_tags": "ਫ਼ਾਲੋ ਕੀਤੇ ਹੈਸ਼ਟੈਗ", "footer.about": "ਸਾਡੇ ਬਾਰੇ", "footer.directory": "ਪਰੋਫਾਇਲ ਡਾਇਰੈਕਟਰੀ", "footer.get_app": "ਐਪ ਲਵੋ", @@ -159,53 +238,94 @@ "hashtag.column_header.tag_mode.any": "ਜਾਂ {additional}", "hashtag.column_header.tag_mode.none": "{additional} ਬਿਨਾਂ", "hashtag.column_settings.select.no_options_message": "ਕੋਈ ਸੁਝਾਅ ਨਹੀਂ ਲੱਭਾ", + "hashtag.column_settings.select.placeholder": "ਹੈਸ਼ਟੈਗ ਦਿਓ…", + "hashtag.column_settings.tag_mode.all": "ਇਹ ਸਭ", "hashtag.column_settings.tag_mode.any": "ਇਹਨਾਂ ਵਿੱਚੋਂ ਕੋਈ", "hashtag.column_settings.tag_mode.none": "ਇਹਨਾਂ ਵਿੱਚੋਂ ਕੋਈ ਨਹੀਂ", "hashtag.column_settings.tag_toggle": "Include additional tags in this column", "hashtag.follow": "ਹੈਸ਼ਟੈਗ ਨੂੰ ਫ਼ਾਲੋ ਕਰੋ", "hashtag.unfollow": "ਹੈਸ਼ਟੈਗ ਨੂੰ ਅਣ-ਫ਼ਾਲੋ ਕਰੋ", + "hints.profiles.see_more_followers": "{domain} ਉੱਤੇ ਹੋਰ ਫ਼ਾਲੋਅਰ ਵੇਖੋ", + "hints.profiles.see_more_follows": "{domain} ਉੱਤੇ ਹੋਰ ਫ਼ਾਲੋ ਨੂੰ ਵੇਖੋ", + "hints.profiles.see_more_posts": "{domain} ਉੱਤੇ ਹੋਰ ਪੋਸਟਾਂ ਨੂੰ ਵੇਖੋ", + "home.column_settings.show_reblogs": "ਬੂਸਟਾਂ ਨੂੰ ਵੇਖੋ", + "home.column_settings.show_replies": "ਜਵਾਬਾਂ ਨੂੰ ਵੇਖੋ", + "home.hide_announcements": "ਐਲਾਨਾਂ ਨੂੰ ਓਹਲੇ ਕਰੋ", "home.pending_critical_update.link": "ਅੱਪਡੇਟ ਵੇਖੋ", + "ignore_notifications_modal.ignore": "ਨੋਟਫਿਕੇਸ਼ਨਾਂ ਨੂੰ ਅਣਡਿੱਠਾ ਕਰੋ", + "interaction_modal.login.action": "ਮੈਨੂੰ ਮੁੱਖ ਸਫ਼ੇ ਉੱਤੇ ਲੈ ਜਾਓ", + "interaction_modal.no_account_yet": "Mastodon ਉੱਤੇ ਨਹੀਂ ਹੋ?", + "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} ਦੀ ਪੋਸਟ ਨੂੰ ਬੂਸਟ ਕਰੋ", + "interaction_modal.title.reply": "{name} ਦੀ ਪੋਸਟ ਦਾ ਜਵਾਬ ਦਿਓ", + "interaction_modal.title.vote": "{name} ਦੀ ਚੋਣ ਵਾਸਤੇ ਵੋਟ ਪਾਓ", + "intervals.full.days": "{number, plural, one {# ਦਿਨ} other {# ਦਿਨ}}", + "intervals.full.hours": "{number, plural, one {# ਘੰਟਾ} other {# ਘੰਟੇ}}", + "intervals.full.minutes": "{number, plural, one {# ਮਿੰਟ} other {# ਮਿੰਟ}}", "keyboard_shortcuts.back": "ਪਿੱਛੇ ਜਾਓ", "keyboard_shortcuts.blocked": "ਪਾਬੰਦੀ ਲਾਏ ਵਰਤੋਂਕਾਰਾਂ ਦੀ ਸੂਚੀ ਖੋਲ੍ਹੋ", "keyboard_shortcuts.boost": "ਪੋਸਟ ਨੂੰ ਬੂਸਟ ਕਰੋ", "keyboard_shortcuts.column": "ਫੋਕਸ ਕਾਲਮ", "keyboard_shortcuts.compose": "to focus the compose textarea", "keyboard_shortcuts.description": "ਵਰਣਨ", - "keyboard_shortcuts.direct": "to open direct messages column", - "keyboard_shortcuts.down": "to move down in the list", - "keyboard_shortcuts.enter": "to open status", - "keyboard_shortcuts.federated": "to open federated timeline", + "keyboard_shortcuts.direct": "ਪ੍ਰਾਈਵੇਟ ਜ਼ਿਕਰ ਕੀਤੇ ਕਾਲਮ ਨੂੰ ਖੋਲ੍ਹਣ ਲਈ", + "keyboard_shortcuts.down": "ਸੂਚੀ ਵਿੱਚ ਹੇਠਾਂ ਭੇਜੋ", + "keyboard_shortcuts.enter": "ਪੋਸਟ ਨੂੰ ਖੋਲ੍ਹੋ", + "keyboard_shortcuts.favourite": "ਪੋਸਟ ਨੂੰ ਪਸੰਦ ਕਰੋ", + "keyboard_shortcuts.federated": "", "keyboard_shortcuts.heading": "ਕੀਬੋਰਡ ਸ਼ਾਰਟਕੱਟ", - "keyboard_shortcuts.home": "to open home timeline", - "keyboard_shortcuts.legend": "to display this legend", - "keyboard_shortcuts.local": "to open local timeline", - "keyboard_shortcuts.mention": "to mention author", - "keyboard_shortcuts.muted": "to open muted users list", - "keyboard_shortcuts.my_profile": "to open your profile", + "keyboard_shortcuts.home": "ਮੁੱਖ-ਸਫ਼ਾ ਟਾਈਮ-ਲਾਈਨ ਨੂੰ ਖੋਲ੍ਹੋ", + "keyboard_shortcuts.legend": "ਇਸ ਸੰਕੇਤ ਨੂੰ ਵੇਖਾਓ", + "keyboard_shortcuts.local": "ਲੋਕਲ ਸਮਾਂ-ਲਾਈਨ ਨੂੰ ਖੋਲ੍ਹੋ", + "keyboard_shortcuts.mention": "ਲੇਖਕ ਦਾ ਜ਼ਿਕਰ", + "keyboard_shortcuts.muted": "ਮੌਨ ਕੀਤੇ ਵਰਤੋਂਕਾਰ ਦੀ ਸੂਚੀ ਨੂੰ ਖੋਲ੍ਹੋ", + "keyboard_shortcuts.my_profile": "ਆਪਣੇ ਪਰੋਫਾਈਲ ਨੂੰ ਖੋਲ੍ਹੋ", "keyboard_shortcuts.notifications": "ਨੋਟੀਫਿਕੇਸ਼ਨ ਕਾਲਮ ਖੋਲ੍ਹੋ", - "keyboard_shortcuts.open_media": "to open media", - "keyboard_shortcuts.pinned": "to open pinned toots list", + "keyboard_shortcuts.open_media": "ਮੀਡੀਏ ਨੂੰ ਖੋਲ੍ਹੋ", + "keyboard_shortcuts.pinned": "ਪਿੰਨ ਕੀਤੀਆਂ ਪੋਸਟਾਂ ਦੀ ਸੂਚੀ ਨੂੰ ਖੋਲ੍ਹੋ", "keyboard_shortcuts.profile": "ਲੇਖਕ ਦਾ ਪਰੋਫਾਈਲ ਖੋਲ੍ਹੋ", "keyboard_shortcuts.reply": "ਪੋਸਟ ਨੂੰ ਜਵਾਬ ਦਿਓ", - "keyboard_shortcuts.requests": "to open follow requests list", - "keyboard_shortcuts.search": "to focus search", - "keyboard_shortcuts.spoilers": "to show/hide CW field", + "keyboard_shortcuts.requests": "ਫ਼ਾਲੋ ਦੀਆਂ ਬੇਨਤੀਆਂ ਦੀ ਸੂਚੀ ਨੂੰ ਖੋਲ੍ਹੋ", + "keyboard_shortcuts.search": "ਖੋਜ ਪੱਟੀ ਨੂੰ ਫੋਕਸ ਕਰੋ", + "keyboard_shortcuts.spoilers": "CW ਖੇਤਰ ਨੂੰ ਵੇਖਾਓ/ਓਹਲੇ ਕਰੋ", "keyboard_shortcuts.start": "to open \"get started\" column", "keyboard_shortcuts.toggle_hidden": "to show/hide text behind CW", "keyboard_shortcuts.toggle_sensitivity": "ਮੀਡੀਆ ਦਿਖਾਉਣ/ਲੁਕਾਉਣ ਲਈ", "keyboard_shortcuts.toot": "ਨਵੀਂ ਪੋਸਟ ਸ਼ੁਰੂ ਕਰੋ", "keyboard_shortcuts.unfocus": "to un-focus compose textarea/search", - "keyboard_shortcuts.up": "to move up in the list", + "keyboard_shortcuts.up": "ਸੂਚੀ ਵਿੱਚ ਉੱਤੇ ਭੇਜੋ", "lightbox.close": "ਬੰਦ ਕਰੋ", "lightbox.next": "ਅਗਲੀ", "lightbox.previous": "ਪਿਛਲੀ", "link_preview.author": "{name} ਵਲੋਂ", + "link_preview.more_from_author": "{name} ਵਲੋਂ ਹੋਰ", + "link_preview.shares": "{count, plural, one {{counter} ਪੋਸਟ} other {{counter} ਪੋਸਟਾਂ}}", + "lists.add_member": "ਜੋੜੋ", + "lists.add_to_list": "ਸੂਚੀ ਵਿੱਚ ਜੋੜੋ", + "lists.create": "ਬਣਾਓ", + "lists.create_list": "ਸੂਚੀ ਬਣਾਓ", "lists.delete": "ਸੂਚੀ ਹਟਾਓ", + "lists.done": "ਮੁਕੰਮਲ", + "lists.edit": "ਸੂਚੀ ਨੂੰ ਸੋਧੋ", + "lists.find_users_to_add": "ਜੋੜਨ ਲਈ ਵਰਤੋਂਕਾਰ ਲੱਭੋ", + "lists.list_members": "ਮੈਂਬਰਾਂ ਦੀ ਸੂਚੀ", + "lists.list_members_count": "{count, plural, one {# ਮੈਂਬਰ} other {# ਮੈਂਬਰ}}", + "lists.list_name": "ਸੂਚੀ ਦਾ ਨਾਂ", + "lists.new_list_name": "ਨਵੀਂ ਸੂਚੀਂ ਦਾ ਨਾਂ", + "lists.no_lists_yet": "ਹਾਲੇ ਕੋਈ ਵੀ ਸੂਚੀ ਨਹੀਂ ਹੈ।", + "lists.remove_member": "ਹਟਾਓ", "lists.replies_policy.followed": "ਕੋਈ ਵੀ ਫ਼ਾਲੋ ਕੀਤਾ ਵਰਤੋਂਕਾਰ", + "lists.replies_policy.list": "ਸੂਚੀ ਦੇ ਮੈਂਬਰ", "lists.replies_policy.none": "ਕੋਈ ਨਹੀਂ", + "lists.save": "ਸੰਭਾਲੋ", "loading_indicator.label": "ਲੋਡ ਹੋ ਰਿਹਾ ਹੈ…", + "media_gallery.hide": "ਲੁਕਾਓ", + "mute_modal.show_options": "ਚੋਣਾਂ ਨੂੰ ਵੇਖਾਓ", "navigation_bar.about": "ਇਸ ਬਾਰੇ", + "navigation_bar.administration": "ਪਰਸ਼ਾਸ਼ਨ", "navigation_bar.advanced_interface": "ਤਕਨੀਕੀ ਵੈੱਬ ਇੰਟਰਫੇਸ ਵਿੱਚ ਖੋਲ੍ਹੋ", "navigation_bar.blocks": "ਪਾਬੰਦੀ ਲਾਏ ਵਰਤੋਂਕਾਰ", "navigation_bar.bookmarks": "ਬੁੱਕਮਾਰਕ", @@ -229,20 +349,57 @@ "navigation_bar.search": "ਖੋਜੋ", "navigation_bar.security": "ਸੁਰੱਖਿਆ", "not_signed_in_indicator.not_signed_in": "ਇਹ ਸਰੋਤ ਵਰਤਣ ਲਈ ਤੁਹਾਨੂੰ ਲਾਗਇਨ ਕਰਨ ਦੀ ਲੋੜ ਹੈ।", + "notification.admin.sign_up": "{name} ਨੇ ਸਾਈਨ ਅੱਪ ਕੀਤਾ", "notification.follow": "{name} ਨੇ ਤੁਹਾਨੂੰ ਫ਼ਾਲੋ ਕੀਤਾ", + "notification.follow.name_and_others": "{name} ਅਤੇ {count, plural, one {# ਹੋਰ} other {# ਹੋਰਾਂ}} ਨੇ ਤੁਹਾਨੂੰ ਫ਼ਾਲੋ ਕੀਤਾ", "notification.follow_request": "{name} ਨੇ ਤੁਹਾਨੂੰ ਫ਼ਾਲੋ ਕਰਨ ਦੀ ਬੇਨਤੀ ਕੀਤੀ ਹੈ", + "notification.label.mention": "ਜ਼ਿਕਰ", + "notification.label.private_mention": "ਨਿੱਜੀ ਜ਼ਿਕਰ", + "notification.label.private_reply": "ਪ੍ਰਾਈਵੇਟ ਜਵਾਬ", + "notification.label.reply": "ਜਵਾਬ", + "notification.mention": "ਜ਼ਿਕਰ", + "notification.mentioned_you": "{name} ਨੇ ਤੁਹਾਡਾ ਜ਼ਿਕਰ ਕੀਤਾ", + "notification.moderation-warning.learn_more": "ਹੋਰ ਜਾਣੋ", + "notification.moderation_warning.action_disable": "ਤੁਹਾਡੇ ਖਾਤੇ ਨੂੰਅਸਮਰੱਥ ਕੀਤਾ ਹੈ।", "notification.reblog": "{name} boosted your status", + "notification.relationships_severance_event.learn_more": "ਹੋਰ ਜਾਣੋ", + "notification.status": "{name} ਨੇ ਹੁਣੇ ਪੋਸਟ ਕੀਤਾ", + "notification.update": "{name} ਨੋ ਪੋਸਟ ਨੂੰ ਸੋਧਿਆ", + "notification_requests.accept": "ਮਨਜ਼ੂਰ", + "notification_requests.confirm_accept_multiple.title": "ਨੋਟੀਫਿਕੇਸ਼ਨ ਬੇਨਤੀਆਂ ਨੂੰ ਮਨਜ਼ੂਰ ਕਰਨਾ ਹੈ?", + "notification_requests.confirm_dismiss_multiple.title": "ਨੋਟੀਫਿਕੇਸ਼ਨ ਬੇਨਤੀਆਂ ਨੂੰ ਖ਼ਾਰਜ ਕਰਨਾ ਹੈ?", + "notification_requests.dismiss": "ਖ਼ਾਰਜ ਕਰੋ", + "notification_requests.edit_selection": "ਸੋਧੋ", + "notification_requests.exit_selection": "ਮੁਕੰਮਲ", + "notification_requests.notifications_from": "{name} ਵਲੋਂ ਨੋਟੀਫਿਕੇਸ਼ਨ", + "notifications.clear_title": "ਨੋਟਫਿਕੇਸ਼ਨਾਂ ਨੂੰ ਮਿਟਾਉਣਾ ਹੈ?", + "notifications.column_settings.admin.report": "ਨਵੀਆਂ ਰਿਪੋਰਟਾਂ:", "notifications.column_settings.alert": "ਡੈਸਕਟਾਪ ਸੂਚਨਾਵਾਂ", "notifications.column_settings.favourite": "ਮਨਪਸੰਦ:", + "notifications.column_settings.filter_bar.category": "ਫੌਰੀ ਫਿਲਟਰ ਪੱਟੀ", "notifications.column_settings.follow": "ਨਵੇਂ ਫ਼ਾਲੋਅਰ:", "notifications.column_settings.follow_request": "ਨਵੀਆਂ ਫ਼ਾਲੋ ਬੇਨਤੀਆਂ:", + "notifications.column_settings.group": "ਗਰੁੱਪ", + "notifications.column_settings.mention": "ਜ਼ਿਕਰ:", + "notifications.column_settings.poll": "ਪੋਲ ਦੇ ਨਤੀਜੇ:", + "notifications.column_settings.reblog": "ਬੂਸਟ:", + "notifications.column_settings.show": "ਕਾਲਮ ਵਿੱਚ ਵੇਖਾਓ", + "notifications.column_settings.sound": "ਆਵਾਜ਼ ਚਲਾਓ", "notifications.column_settings.status": "ਨਵੀਆਂ ਪੋਸਟਾਂ:", + "notifications.column_settings.unread_notifications.category": "ਨਾ-ਪੜ੍ਹੇ ਨੋਟੀਫਿਕੇਸ਼ਨ", + "notifications.column_settings.unread_notifications.highlight": "ਨਾ-ਪੜ੍ਹੇ ਨੋਟੀਫਿਕੇਸ਼ਨਾਂ ਨੂੰ ਉਘਾੜੋ", "notifications.column_settings.update": "ਸੋਧ:", "notifications.filter.all": "ਸਭ", "notifications.filter.boosts": "ਬੂਸਟ", "notifications.filter.favourites": "ਮਨਪਸੰਦ", "notifications.filter.follows": "ਫ਼ਾਲੋ", "notifications.filter.mentions": "ਜ਼ਿਕਰ", + "notifications.filter.polls": "ਪੋਲ ਦੇ ਨਤੀਜੇ", + "notifications.grant_permission": "ਇਜਾਜ਼ਤ ਦਿਓ।", + "notifications.group": "{count} ਨੋਟੀਫਿਕੇਸ਼ਨ", + "notifications.policy.accept": "ਮਨਜ਼ੂਰ", + "notifications.policy.accept_hint": "ਨੋਟੀਫਿਕੇਸ਼ਨਾਂ ਵਿੱਚ ਵੇਖਾਓ", + "notifications.policy.drop": "ਅਣਡਿੱਠਾ", "onboarding.actions.go_to_explore": "ਮੈਨੂੰ ਰੁਝਾਨ ਵੇਖਾਓ", "onboarding.actions.go_to_home": "ਮੇਰੀ ਮੁੱਖ ਫੀਡ ਉੱਤੇ ਲੈ ਜਾਓ", "onboarding.follows.lead": "", @@ -265,13 +422,23 @@ "onboarding.steps.share_profile.title": "ਆਪਣੇ ਮਸਟਾਡੋਨ ਪਰੋਫਾਈਲ ਨੂੰ ਸਾਂਝਾ ਕਰੋ", "poll.closed": "ਬੰਦ ਹੈ", "poll.refresh": "ਤਾਜ਼ਾ ਕਰੋ", + "poll.reveal": "ਨਤੀਜਿਆਂ ਨੂੰ ਵੇਖੋ", "poll.vote": "ਵੋਟ ਪਾਓ", + "poll.voted": "ਤੁਸੀਂ ਇਸ ਜਵਾਬ ਲਈ ਵੋਟ ਕੀਤਾ", "privacy.change": "ਪੋਸਟ ਦੀ ਪਰਦੇਦਾਰੀ ਨੂੰ ਬਦਲੋ", + "privacy.private.short": "ਫ਼ਾਲੋਅਰ", "privacy.public.short": "ਜਨਤਕ", "privacy_policy.title": "ਪਰਦੇਦਾਰੀ ਨੀਤੀ", + "recommended": "ਸਿਫ਼ਾਰਸ਼ੀ", "refresh": "ਤਾਜ਼ਾ ਕਰੋ", "regeneration_indicator.label": "ਲੋਡ ਹੋ ਰਿਹਾ ਹੈ...", + "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 {# ਮਿੰਟ}} ਪਹਿਲਾਂ", + "relative_time.full.seconds": "{number, plural, one {# ਸਕਿੰਟ} other {# ਸਕਿੰਟ}} ਪਹਿਲਾਂ", + "relative_time.hours": "{number}ਘੰ", "relative_time.just_now": "ਹੁਣੇ", "relative_time.minutes": "{number}ਮਿੰ", "relative_time.seconds": "{number}ਸ", @@ -295,11 +462,19 @@ "report_notification.attached_statuses": "{count, plural, one {# post} other {# posts}} attached", "report_notification.categories.legal": "ਕਨੂੰਨੀ", "report_notification.categories.other": "ਬਾਕੀ", + "report_notification.categories.other_sentence": "ਹੋਰ", "report_notification.categories.spam": "ਸਪੈਮ", + "report_notification.categories.spam_sentence": "ਸਪੈਮ", "report_notification.categories.violation": "ਨਿਯਮ ਦੀ ਉਲੰਘਣਾ", + "report_notification.categories.violation_sentence": "ਨਿਯਮ ਦੀ ਉਲੰਘਣਾ", "report_notification.open": "ਰਿਪੋਰਟ ਨੂੰ ਖੋਲ੍ਹੋ", "search.placeholder": "ਖੋਜੋ", + "search.quick_action.go_to_account": "ਪਰੋਫਾਈਲ {x} ਉੱਤੇ ਜਾਓ", + "search.quick_action.go_to_hashtag": "ਹੈਸ਼ਟੈਗ {x} ਉੱਤੇ ਜਾਓ", + "search_popout.language_code": "ISO ਭਾਸ਼ਾ ਕੋਡ", + "search_popout.options": "ਖੋਜ ਲਈ ਚੋਣਾਂ", "search_popout.quick_actions": "ਫੌਰੀ ਕਾਰਵਾਈਆਂ", + "search_popout.recent": "ਸੱਜਰੀਆਂ ਖੋਜੋ", "search_popout.specific_date": "ਖਾਸ ਤਾਰੀਖ", "search_popout.user": "ਵਰਤੋਂਕਾਰ", "search_results.accounts": "ਪਰੋਫਾਈਲ", @@ -308,6 +483,7 @@ "search_results.see_all": "ਸਭ ਵੇਖੋ", "search_results.statuses": "ਪੋਸਟਾਂ", "search_results.title": "{q} ਲਈ ਖੋਜ", + "server_banner.active_users": "ਸਰਗਰਮ ਵਰਤੋਂਕਾਰ", "sign_in_banner.create_account": "ਖਾਤਾ ਬਣਾਓ", "sign_in_banner.sign_in": "ਲਾਗਇਨ", "sign_in_banner.sso_redirect": "ਲਾਗਇਨ ਜਾਂ ਰਜਿਸਟਰ ਕਰੋ", @@ -316,7 +492,10 @@ "status.bookmark": "ਬੁੱਕਮਾਰਕ", "status.copy": "ਪੋਸਟ ਲਈ ਲਿੰਕ ਕਾਪੀ ਕਰੋ", "status.delete": "ਹਟਾਓ", + "status.direct": "{name} ਪ੍ਰਾਈਵੇਟ ਜ਼ਿਕਰ", + "status.direct_indicator": "ਪ੍ਰਾਈਵੇਟ ਜ਼ਿਕਰ", "status.edit": "ਸੋਧ", + "status.edited": "ਆਖਰੀ ਸੋਧ ਦੀ ਤਾਰੀਖ {date}", "status.edited_x_times": "Edited {count, plural, one {# time} other {# times}}", "status.favourite": "ਪਸੰਦ", "status.history.created": "{name} ਨੇ {date} ਨੂੰ ਬਣਾਇਆ", @@ -340,10 +519,12 @@ "status.share": "ਸਾਂਝਾ ਕਰੋ", "status.title.with_attachments": "{user} ਨੇ {attachmentCount, plural,one {ਅਟੈਚਮੈਂਟ} other {{attachmentCount}ਅਟੈਚਮੈਂਟਾਂ}} ਪੋਸਟ ਕੀਤੀਆਂ", "status.translate": "ਉਲੱਥਾ ਕਰੋ", + "status.unpin": "ਪਰੋਫਾਈਲ ਤੋਂ ਲਾਹੋ", "subscribed_languages.save": "ਤਬਦੀਲੀਆਂ ਸੰਭਾਲੋ", "tabs_bar.home": "ਘਰ", "tabs_bar.notifications": "ਸੂਚਨਾਵਾਂ", "trends.counter_by_accounts": "{count, plural, one {{counter} person} other {{counter} people}} in the past {days, plural, one {day} other {# days}}", + "trends.trending_now": "ਹੁਣ ਰੁਝਾਨ ਵਿੱਚ", "units.short.billion": "{count}ਿਬ", "units.short.million": "{count}ਮਿ", "units.short.thousand": "{count}ਹਜ਼ਾਰ", @@ -357,8 +538,13 @@ "upload_modal.edit_media": "ਮੀਡੀਆ ਸੋਧੋ", "upload_progress.label": "ਅੱਪਲੋਡ ਕੀਤਾ ਜਾ ਰਿਹਾ ਹੈ...", "upload_progress.processing": "ਕਾਰਵਾਈ ਚੱਲ ਰਹੀ ਹੈ…", + "username.taken": "ਉਹ ਵਰਤੋਂਕਾਰ ਨਾਂ ਪਹਿਲਾਂ ਹੀ ਲੈ ਲਿਆ ਹੈ। ਹੋਰ ਅਜ਼ਮਾਓ", + "video.close": "ਵੀਡੀਓ ਨੂੰ ਬੰਦ ਕਰੋ", + "video.download": "ਫ਼ਾਈਲ ਨੂੰ ਡਾਊਨਲੋਡ ਕਰੋ", "video.exit_fullscreen": "ਪੂਰੀ ਸਕਰੀਨ ਵਿੱਚੋਂ ਬਾਹਰ ਨਿਕਲੋ", + "video.expand": "ਵੀਡੀਓ ਨੂੰ ਫੈਲਾਓ", "video.fullscreen": "ਪੂਰੀ ਸਕਰੀਨ", + "video.hide": "ਵੀਡੀਓ ਨੂੰ ਲੁਕਾਓ", "video.pause": "ਠਹਿਰੋ", "video.play": "ਚਲਾਓ" } diff --git a/app/javascript/mastodon/locales/ru.json b/app/javascript/mastodon/locales/ru.json index 90af458cdc25e4..50a431eb7621b1 100644 --- a/app/javascript/mastodon/locales/ru.json +++ b/app/javascript/mastodon/locales/ru.json @@ -104,6 +104,7 @@ "annual_report.summary.most_used_hashtag.none": "Нет", "annual_report.summary.new_posts.new_posts": "новых постов", "annual_report.summary.percentile.text": "Всё это помещает вас в топпользователей Mastodon.", + "annual_report.summary.percentile.we_wont_tell_bernie": "Роскомнадзор об этом не узнает.", "annual_report.summary.thanks": "Спасибо за то, что были вместе с Mastodon!", "attachments_list.unprocessed": "(не обработан)", "audio.hide": "Скрыть аудио", @@ -139,13 +140,16 @@ "column.blocks": "Заблокированные пользователи", "column.bookmarks": "Закладки", "column.community": "Локальная лента", + "column.create_list": "Создать список", "column.direct": "Личные упоминания", "column.directory": "Просмотр профилей", "column.domain_blocks": "Заблокированные домены", + "column.edit_list": "Изменить список", "column.favourites": "Избранные", "column.firehose": "Живая лента", "column.follow_requests": "Запросы на подписку", "column.home": "Главная", + "column.list_members": "Управление участниками списка", "column.lists": "Списки", "column.mutes": "Игнорируемые пользователи", "column.notifications": "Уведомления", @@ -463,11 +467,32 @@ "link_preview.author": "Автор: {name}", "link_preview.more_from_author": "Больше от {name}", "link_preview.shares": "{count, plural, one {{counter} пост} other {{counter} посты}}", + "lists.add_member": "Добавить", + "lists.add_to_list": "Добавить в список", + "lists.add_to_lists": "Добавить {name} в списки", + "lists.create": "Создать", + "lists.create_a_list_to_organize": "Создать новый список, чтобы упорядочить домашнюю ленту", + "lists.create_list": "Создать список", "lists.delete": "Удалить список", + "lists.done": "Готово", "lists.edit": "Изменить список", - "lists.replies_policy.followed": "Любой подписанный пользователь", + "lists.exclusive": "Не показывать участников в домашней ленте", + "lists.exclusive_hint": "Если кто-то есть в этом списке, скрыть его в домашней ленте, чтобы не видеть его посты дважды.", + "lists.find_users_to_add": "Найти пользователей для добавления", + "lists.list_members": "Участники списка", + "lists.list_members_count": "{count, plural, one {# участник} few {# участника} other {# участников}}", + "lists.list_name": "Название списка", + "lists.new_list_name": "Новое имя списка", + "lists.no_lists_yet": "Пока нет списков.", + "lists.no_members_yet": "Пока нет участников.", + "lists.no_results_found": "Не найдено.", + "lists.remove_member": "Удалить", + "lists.replies_policy.followed": "Пользователи, на которых вы подписаны", "lists.replies_policy.list": "Пользователи в списке", "lists.replies_policy.none": "Никого", + "lists.save": "Сохранить", + "lists.search_placeholder": "Искать среди подписок", + "lists.show_replies_to": "Показывать ответы участников списка на посты", "load_pending": "{count, plural, one {# новый элемент} few {# новых элемента} other {# новых элементов}}", "loading_indicator.label": "Загрузка…", "media_gallery.hide": "Скрыть", diff --git a/app/javascript/mastodon/locales/th.json b/app/javascript/mastodon/locales/th.json index b9fe9cf33b2aed..506a07328704cd 100644 --- a/app/javascript/mastodon/locales/th.json +++ b/app/javascript/mastodon/locales/th.json @@ -87,10 +87,17 @@ "alert.unexpected.title": "อุปส์!", "alt_text_badge.title": "ข้อความแสดงแทน", "announcement.announcement": "ประกาศ", + "annual_report.summary.archetype.booster": "ผู้ล่าความเจ๋ง", + "annual_report.summary.archetype.lurker": "ผู้ซุ่มอ่านข่าว", + "annual_report.summary.archetype.oracle": "ผู้ให้คำปรึกษา", + "annual_report.summary.archetype.pollster": "ผู้สำรวจความคิดเห็น", + "annual_report.summary.archetype.replier": "ผู้ชอบเข้าสังคม", "annual_report.summary.followers.followers": "ผู้ติดตาม", + "annual_report.summary.followers.total": "รวม {count}", "annual_report.summary.highlighted_post.by_favourites": "โพสต์ที่ได้รับการชื่นชอบมากที่สุด", "annual_report.summary.highlighted_post.by_reblogs": "โพสต์ที่ได้รับการดันมากที่สุด", "annual_report.summary.highlighted_post.by_replies": "โพสต์ที่มีการตอบกลับมากที่สุด", + "annual_report.summary.most_used_hashtag.none": "ไม่มี", "annual_report.summary.new_posts.new_posts": "โพสต์ใหม่", "annual_report.summary.percentile.we_wont_tell_bernie": "เราจะไม่บอก Bernie", "annual_report.summary.thanks": "ขอบคุณสำหรับการเป็นส่วนหนึ่งของ Mastodon!", @@ -128,13 +135,16 @@ "column.blocks": "ผู้ใช้ที่ปิดกั้นอยู่", "column.bookmarks": "ที่คั่นหน้า", "column.community": "เส้นเวลาในเซิร์ฟเวอร์", + "column.create_list": "สร้างรายการ", "column.direct": "การกล่าวถึงแบบส่วนตัว", "column.directory": "เรียกดูโปรไฟล์", "column.domain_blocks": "โดเมนที่ปิดกั้นอยู่", + "column.edit_list": "แก้ไขรายการ", "column.favourites": "รายการโปรด", "column.firehose": "ฟีดสด", "column.follow_requests": "คำขอติดตาม", "column.home": "หน้าแรก", + "column.list_members": "จัดการสมาชิกของรายการ", "column.lists": "รายการ", "column.mutes": "ผู้ใช้ที่ซ่อนอยู่", "column.notifications": "การแจ้งเตือน", @@ -452,11 +462,32 @@ "link_preview.author": "โดย {name}", "link_preview.more_from_author": "เพิ่มเติมจาก {name}", "link_preview.shares": "{count, plural, other {{counter} โพสต์}}", + "lists.add_member": "เพิ่ม", + "lists.add_to_list": "เพิ่มไปยังรายการ", + "lists.add_to_lists": "เพิ่ม {name} ไปยังรายการ", + "lists.create": "สร้าง", + "lists.create_a_list_to_organize": "สร้างรายการใหม่เพื่อจัดระเบียบฟีดหน้าแรกของคุณ", + "lists.create_list": "สร้างรายการ", "lists.delete": "ลบรายการ", + "lists.done": "เสร็จสิ้น", "lists.edit": "แก้ไขรายการ", + "lists.exclusive": "ซ่อนสมาชิกในหน้าแรก", + "lists.exclusive_hint": "หากใครสักคนอยู่ในรายการนี้ ให้ซ่อนเขาในฟีดหน้าแรกของคุณเพื่อหลีกเลี่ยงการเห็นโพสต์ของเขาสองครั้ง", + "lists.find_users_to_add": "ค้นหาผู้ใช้ที่จะเพิ่ม", + "lists.list_members": "สมาชิกของรายการ", + "lists.list_members_count": "{count, plural, other {# สมาชิก}}", + "lists.list_name": "ชื่อรายการ", + "lists.new_list_name": "ชื่อรายการใหม่", + "lists.no_lists_yet": "ยังไม่มีรายการ", + "lists.no_members_yet": "ยังไม่มีสมาชิก", + "lists.no_results_found": "ไม่พบผลลัพธ์", + "lists.remove_member": "เอาออก", "lists.replies_policy.followed": "ผู้ใช้ใด ๆ ที่ติดตาม", "lists.replies_policy.list": "สมาชิกของรายการ", "lists.replies_policy.none": "ไม่มีใคร", + "lists.save": "บันทึก", + "lists.search_placeholder": "ค้นหาผู้คนที่คุณติดตาม", + "lists.show_replies_to": "รวมการตอบกลับจากสมาชิกของรายการถึง", "load_pending": "{count, plural, other {# รายการใหม่}}", "loading_indicator.label": "กำลังโหลด…", "media_gallery.hide": "ซ่อน", diff --git a/app/javascript/mastodon/locales/tr.json b/app/javascript/mastodon/locales/tr.json index 7851da5ecb8ead..bd3c0a27ee58ff 100644 --- a/app/javascript/mastodon/locales/tr.json +++ b/app/javascript/mastodon/locales/tr.json @@ -492,6 +492,7 @@ "lists.replies_policy.none": "Hiç kimse", "lists.save": "Kaydet", "lists.search_placeholder": "Takip ettiğiniz kişilerde arama yapın", + "lists.show_replies_to": "Liste üyelerinin yanıtlarını içer", "load_pending": "{count, plural, one {# yeni öğe} other {# yeni öğe}}", "loading_indicator.label": "Yükleniyor…", "media_gallery.hide": "Gizle", diff --git a/app/javascript/mastodon/locales/zh-CN.json b/app/javascript/mastodon/locales/zh-CN.json index 16d32417c603d9..404622516425a8 100644 --- a/app/javascript/mastodon/locales/zh-CN.json +++ b/app/javascript/mastodon/locales/zh-CN.json @@ -43,8 +43,8 @@ "account.in_memoriam": "谨此悼念。", "account.joined_short": "加入于", "account.languages": "更改订阅语言", - "account.link_verified_on": "此链接的所有权已在 {date} 检查", - "account.locked_info": "此账户已锁嘟。账户所有者会手动审核关注者。", + "account.link_verified_on": "已于 {date} 验证此链接的所有权", + "account.locked_info": "此账户已锁嘟。账户所有人会手动审核新关注者。", "account.media": "媒体", "account.mention": "提及 @{name}", "account.moved_to": "{name} 的新账号是:", @@ -60,9 +60,9 @@ "account.report": "举报 @{name}", "account.requested": "正在等待对方同意。点击取消发送关注请求", "account.requested_follow": "{name} 向你发送了关注请求", - "account.share": "分享 @{name} 的个人资料页", + "account.share": "分享 @{name} 的账户页", "account.show_reblogs": "显示来自 @{name} 的转嘟", - "account.statuses_counter": "{count, plural, other {{counter} 条嘟文}}", + "account.statuses_counter": "{count, plural, other {{counter} 嘟文}}", "account.unblock": "取消屏蔽 @{name}", "account.unblock_domain": "取消屏蔽 {domain} 域名", "account.unblock_short": "取消屏蔽", @@ -77,7 +77,7 @@ "admin.dashboard.retention.average": "平均", "admin.dashboard.retention.cohort": "注册月份", "admin.dashboard.retention.cohort_size": "新用户", - "admin.impact_report.instance_accounts": "将要删除的账户资料", + "admin.impact_report.instance_accounts": "将被删除的账户", "admin.impact_report.instance_followers": "本实例用户即将丢失的关注者", "admin.impact_report.instance_follows": "对方实例用户将会丢失的关注者", "admin.impact_report.title": "影响摘要", @@ -102,7 +102,7 @@ "annual_report.summary.most_used_app.most_used_app": "最常用的应用", "annual_report.summary.most_used_hashtag.most_used_hashtag": "最常用的话题", "annual_report.summary.most_used_hashtag.none": "无", - "annual_report.summary.new_posts.new_posts": "新嘟嘟", + "annual_report.summary.new_posts.new_posts": "发嘟", "annual_report.summary.percentile.text": "这使你跻身 Mastodon 用户的前", "annual_report.summary.percentile.we_wont_tell_bernie": "我们打死也不会告诉扣税国王的(他知道的话要来收你发嘟税了)。", "annual_report.summary.thanks": "感谢你这一年与 Mastodon 一路同行!", @@ -131,7 +131,7 @@ "bundle_modal_error.close": "关闭", "bundle_modal_error.message": "载入这个组件时发生了错误。", "bundle_modal_error.retry": "重试", - "closed_registrations.other_server_instructions": "基于 Mastodon 去中心化的特性,你可以在其它服务器上创建账号并继续与此服务器互动。", + "closed_registrations.other_server_instructions": "基于 Mastodon 的去中心化特性,你可以在其它服务器上创建账号,并与本站用户保持互动。", "closed_registrations_modal.description": "你目前无法在 {domain} 上创建账户,但请注意,使用 Mastodon 并非需要专门在 {domain} 上注册账户。", "closed_registrations_modal.find_another_server": "查找其他服务器", "closed_registrations_modal.preamble": "Mastodon 是去中心化的,所以无论在哪个实例创建账号,都可以关注本服务器上的账号并与之交流。 或者你还可以自己搭建实例!", @@ -175,7 +175,7 @@ "compose_form.encryption_warning": "Mastodon 上的嘟文未经端到端加密。请勿在 Mastodon 上分享敏感信息。", "compose_form.hashtag_warning": "这条嘟文被设置为“不公开”,因此它不会出现在任何话题标签的列表下。只有公开的嘟文才能通过话题标签进行搜索。", "compose_form.lock_disclaimer": "你的账户没有{locked}。任何人都可以在关注你后立即查看仅关注者可见的嘟文。", - "compose_form.lock_disclaimer.lock": "开启保护", + "compose_form.lock_disclaimer.lock": "锁嘟", "compose_form.placeholder": "想写什么?", "compose_form.poll.duration": "投票期限", "compose_form.poll.multiple": "多选", @@ -248,19 +248,19 @@ "domain_block_modal.you_will_lose_num_followers": "你将失去 {followersCount, plural, other {{followersCountDisplay} 名关注者}}和 {followingCount, plural, other {{followingCountDisplay} 名关注}}。", "domain_block_modal.you_will_lose_relationships": "你将失去在此实例上的所有关注和关注者。", "domain_block_modal.you_wont_see_posts": "你将不会看到此服务器上用户的嘟文或通知。", - "domain_pill.activitypub_lets_connect": "它让你不仅能与 Mastodon 上的人交流互动,还能与其它不同社交应用上的人联系。", + "domain_pill.activitypub_lets_connect": "它可以让你与不同社交应用上的人交流互动,而不仅限于 Mastodon。", "domain_pill.activitypub_like_language": "ActivityPub 好比 Mastodon 与其它社交网络交流时使用的语言。", "domain_pill.server": "服务器", - "domain_pill.their_handle": "对方代号:", + "domain_pill.their_handle": "对方用户名:", "domain_pill.their_server": "对方的数字家园,对方的所有嘟文都存放在那里。", - "domain_pill.their_username": "对方在其服务器上的唯一标识符。不同服务器上可能会存在相同用户名的用户。", + "domain_pill.their_username": "对方在其服务器上的唯一标识。不同服务器上可能会存在相同用户名的用户。", "domain_pill.username": "用户名", - "domain_pill.whats_in_a_handle": "代号里都有什么?", - "domain_pill.who_they_are": "代号可以表明用户和其所在站点,你可以在社交网络上与的人们互动。", - "domain_pill.who_you_are": "代号可以表明你自己和你所在站点,社交网络上来自的人们因此可以与你互动。", - "domain_pill.your_handle": "你的代号:", - "domain_pill.your_server": "你的数字家园,你的所有嘟文都存放在这里。不喜欢这个服务器吗?随时带上你的关注者一起迁移到其它服务器。", - "domain_pill.your_username": "你在这个服务器上的唯一标识符。不同服务器上可能会存在相同用户名的用户。", + "domain_pill.whats_in_a_handle": "用户名的构成", + "domain_pill.who_they_are": "用户名可以表明用户的身份和其所在站点,这样你就可以通过在社交网络和人们互动。", + "domain_pill.who_you_are": "用户名可以表明你的身份和你所在的站点,这样人们就可以通过在社交网络与你互动。", + "domain_pill.your_handle": "你的用户名:", + "domain_pill.your_server": "你的数字家园,你的所有嘟文都在此存储。不喜欢这里吗?你可以随时迁移到其它服务器,并带上你的关注者。", + "domain_pill.your_username": "你在此服务器上的唯一标识。不同服务器上可能存在相同用户名的用户。", "embed.instructions": "复制下列代码以在你的网站中嵌入此嘟文。", "embed.preview": "这是它的预览效果:", "emoji_button.activity": "活动", @@ -311,31 +311,31 @@ "explore.trending_links": "新闻", "explore.trending_statuses": "嘟文", "explore.trending_tags": "话题标签", - "filter_modal.added.context_mismatch_explanation": "此过滤器类别不适用访问过嘟文的环境中。如要在此环境中过滤嘟文,你必须编辑此过滤器。", - "filter_modal.added.context_mismatch_title": "环境不匹配!", - "filter_modal.added.expired_explanation": "此过滤器类别已过期,你需要修改到期日期才能应用。", - "filter_modal.added.expired_title": "过滤器已过期!", - "filter_modal.added.review_and_configure": "要审核并进一步配置此过滤器分类,请前往{settings_link}。", - "filter_modal.added.review_and_configure_title": "过滤器设置", + "filter_modal.added.context_mismatch_explanation": "这条过滤规则不适用于你当前访问此嘟文的场景。要在此场景下过滤嘟文,你必须编辑此过滤规则。", + "filter_modal.added.context_mismatch_title": "场景不匹配!", + "filter_modal.added.expired_explanation": "此过滤规则类别已过期,你需要修改到期日期才能应用。", + "filter_modal.added.expired_title": "过滤规则已过期!", + "filter_modal.added.review_and_configure": "要检查并进一步配置此过滤规则分类,请前往{settings_link}。", + "filter_modal.added.review_and_configure_title": "过滤规则设置", "filter_modal.added.settings_link": "设置页面", - "filter_modal.added.short_explanation": "此嘟文已添加到以下过滤器类别:{title}。", - "filter_modal.added.title": "过滤器已添加 !", - "filter_modal.select_filter.context_mismatch": "不适用于此环境", + "filter_modal.added.short_explanation": "此嘟文已被添加到以下过滤规则:{title}。", + "filter_modal.added.title": "已添加过滤规则 !", + "filter_modal.select_filter.context_mismatch": "不适用于此场景", "filter_modal.select_filter.expired": "已过期", - "filter_modal.select_filter.prompt_new": "新类别:{name}", + "filter_modal.select_filter.prompt_new": "新条目:{name}", "filter_modal.select_filter.search": "搜索或创建", - "filter_modal.select_filter.subtitle": "使用一个已存在类别,或创建一个新类别", + "filter_modal.select_filter.subtitle": "使用一个已存在条目,或创建新条目", "filter_modal.select_filter.title": "过滤此嘟文", "filter_modal.title.status": "过滤一条嘟文", "filter_warning.matches_filter": "命中过滤规则 “{title}”", "filtered_notifications_banner.pending_requests": "来自你可能认识的 {count, plural, =0 {0 个人} other {# 个人}}", - "filtered_notifications_banner.title": "通知(已过滤)", + "filtered_notifications_banner.title": "被过滤的通知", "firehose.all": "全部", "firehose.local": "此服务器", "firehose.remote": "其他服务器", "follow_request.authorize": "同意", "follow_request.reject": "拒绝", - "follow_requests.unlocked_explanation": "尽管你没有锁嘟,但是 {domain} 的站务人员认为你也许会想手动审核审核这些账号的关注请求。", + "follow_requests.unlocked_explanation": "尽管你没有锁嘟,但是 {domain} 的站务人员认为你也许会想手动审核这些账号的关注请求。", "follow_suggestions.curated_suggestion": "站务人员精选", "follow_suggestions.dismiss": "不再显示", "follow_suggestions.featured_longer": "由 {domain} 管理团队精选", @@ -343,8 +343,8 @@ "follow_suggestions.hints.featured": "该用户已被 {domain} 管理团队精选。", "follow_suggestions.hints.friends_of_friends": "该用户在你关注的人中很受欢迎。", "follow_suggestions.hints.most_followed": "该用户是 {domain} 上关注度最高的用户之一。", - "follow_suggestions.hints.most_interactions": "该用户最近在 {domain} 上获得了很多关注。", - "follow_suggestions.hints.similar_to_recently_followed": "该用户与你最近关注的用户类似。", + "follow_suggestions.hints.most_interactions": "该用户最近在 {domain} 获得了很多关注。", + "follow_suggestions.hints.similar_to_recently_followed": "该用户与你最近关注的人类似。", "follow_suggestions.personalized_suggestion": "个性化建议", "follow_suggestions.popular_suggestion": "热门建议", "follow_suggestions.popular_suggestion_longer": "在 {domain} 上很受欢迎", @@ -353,7 +353,7 @@ "follow_suggestions.who_to_follow": "推荐关注", "followed_tags": "已关注话题标签", "footer.about": "关于", - "footer.directory": "用户目录", + "footer.directory": "用户列表", "footer.get_app": "获取应用", "footer.invite": "邀请", "footer.keyboard_shortcuts": "快捷键", @@ -395,7 +395,7 @@ "ignore_notifications_modal.disclaimer": "Mastodon无法通知对方用户你忽略了他们的通知。忽略通知不会阻止消息本身的发送。", "ignore_notifications_modal.filter_instead": "改为过滤", "ignore_notifications_modal.filter_to_act_users": "你仍然可以接受、拒绝或举报用户", - "ignore_notifications_modal.filter_to_avoid_confusion": "选择过滤有助于避免潜在的混淆", + "ignore_notifications_modal.filter_to_avoid_confusion": "过滤有助于避免潜在的混淆", "ignore_notifications_modal.filter_to_review_separately": "你可以单独查看被过滤的通知", "ignore_notifications_modal.ignore": "忽略通知", "ignore_notifications_modal.limited_accounts_title": "是否忽略来自受限账号的通知?", @@ -403,17 +403,17 @@ "ignore_notifications_modal.not_followers_title": "是否忽略未关注你的人的通知?", "ignore_notifications_modal.not_following_title": "是否忽略你未关注的人的通知?", "ignore_notifications_modal.private_mentions_title": "是否忽略不请自来的私下提及?", - "interaction_modal.description.favourite": "只需一个 Mastodon 账号,即可喜欢这条嘟文,对嘟文的作者展示你欣赏的态度,并保存嘟文以供日后使用。", - "interaction_modal.description.follow": "拥有一个 Mastodon 账号,你就可以关注 {name} 并在自己的主页上接收对方的新嘟文。", - "interaction_modal.description.reblog": "拥有一个 Mastodon 账号,你就可以向自己的关注者们转发此嘟文。", - "interaction_modal.description.reply": "拥有一个 Mastodon 账号,你就可以回复此嘟文。", - "interaction_modal.description.vote": "拥有一个 Mastodon 账号,你就可以参与此投票。", + "interaction_modal.description.favourite": "只需一个 Mastodon 账号,即可喜欢这条嘟文,向作者展示你欣赏的态度,并将其保存以供日后查看。", + "interaction_modal.description.follow": "只需一个 Mastodon 账号,即可关注 {name} 并在自己的主页接收对方的新嘟文。", + "interaction_modal.description.reblog": "只需一个 Mastodon 账号,即可转发此嘟文,向你的关注者分享它。", + "interaction_modal.description.reply": "只需一个 Mastodon 账号,即可回复此嘟文。", + "interaction_modal.description.vote": "只需一个 Mastodon 账号,即可参与此投票。", "interaction_modal.login.action": "转到主页", "interaction_modal.login.prompt": "你所入驻的服务器域名,如:mastodon.social", - "interaction_modal.no_account_yet": "不在 Mastodon 上?", + "interaction_modal.no_account_yet": "还没加入 Mastodon?", "interaction_modal.on_another_server": "在另一服务器", "interaction_modal.on_this_server": "在此服务器", - "interaction_modal.sign_in": "你尚未登录此服务器,你的账号托管在哪?", + "interaction_modal.sign_in": "你尚未登录此服务器,你的账号是在哪里注册的?", "interaction_modal.sign_in_hint": "提示:这是你注册的网站,如果你不记得了,请在邮箱的收件箱中查找欢迎邮件。你还可以输入完整的用户名!(例如 @Mastodon@mastodon.social)", "interaction_modal.title.favourite": "喜欢 {name} 的嘟文", "interaction_modal.title.follow": "关注 {name}", @@ -442,11 +442,11 @@ "keyboard_shortcuts.local": "打开本站时间线", "keyboard_shortcuts.mention": "提及嘟文作者", "keyboard_shortcuts.muted": "打开隐藏用户列表", - "keyboard_shortcuts.my_profile": "打开你的个人资料", + "keyboard_shortcuts.my_profile": "打开你的账户页", "keyboard_shortcuts.notifications": "打开通知栏", "keyboard_shortcuts.open_media": "打开媒体", "keyboard_shortcuts.pinned": "打开置顶嘟文列表", - "keyboard_shortcuts.profile": "打开作者的个人资料", + "keyboard_shortcuts.profile": "打开作者的账户页", "keyboard_shortcuts.reply": "回复嘟文", "keyboard_shortcuts.requests": "打开关注请求列表", "keyboard_shortcuts.search": "选中搜索框", @@ -526,7 +526,7 @@ "navigation_bar.logout": "退出登录", "navigation_bar.moderation": "审核", "navigation_bar.mutes": "已隐藏的用户", - "navigation_bar.opened_in_classic_interface": "嘟文、账户和其他特定页面默认在经典网页界面中打开。", + "navigation_bar.opened_in_classic_interface": "嘟文页、账户页与其他某些页面默认在经典网页界面中打开。", "navigation_bar.personal": "个人", "navigation_bar.pins": "置顶嘟文", "navigation_bar.preferences": "偏好设置", @@ -569,8 +569,8 @@ "notification.reblog": "{name} 转发了你的嘟文", "notification.reblog.name_and_others_with_link": "{name} 和 {count, plural, other {另外 # 人}} 转嘟了你的嘟文", "notification.relationships_severance_event": "与 {name} 的联系已断开", - "notification.relationships_severance_event.account_suspension": "来自 {from} 的管理员封禁了 {target},这意味着你将无法再收到对方的更新或与其互动。", - "notification.relationships_severance_event.domain_block": "来自 {from} 的管理员屏蔽了 {target},其中包括你的 {followersCount} 个关注者和 {followingCount, plural, other {# 个关注}}。", + "notification.relationships_severance_event.account_suspension": "{from} 的管理员封禁了 {target},这意味着你将无法再收到对方的更新或与其互动。", + "notification.relationships_severance_event.domain_block": "{from} 的管理员屏蔽了 {target},其中包括你的 {followersCount} 个关注者和 {followingCount, plural, other {# 个关注}}。", "notification.relationships_severance_event.learn_more": "了解更多", "notification.relationships_severance_event.user_domain_block": "你已经屏蔽了 {target},移除了你的 {followersCount} 个关注者和 {followingCount, plural, other {# 个关注}}。", "notification.status": "{name} 刚刚发布嘟文", @@ -587,12 +587,12 @@ "notification_requests.dismiss_multiple": "{count, plural, other {拒绝 # 个请求…}}", "notification_requests.edit_selection": "编辑", "notification_requests.exit_selection": "完成", - "notification_requests.explainer_for_limited_account": "来自该账户的通知已被过滤,因为该账户已被管理员限制。", - "notification_requests.explainer_for_limited_remote_account": "来自该账户的通知已被过滤,因为该账户或其所在的实例已被管理员限制。", + "notification_requests.explainer_for_limited_account": "来自此账户的通知已被过滤,因为此账户已被管理员限制。", + "notification_requests.explainer_for_limited_remote_account": "来自此账户的通知已被过滤,因为此账户或其所在的服务器已被管理员限制。", "notification_requests.maximize": "最大化", - "notification_requests.minimize_banner": "最小化被过滤通知的横幅", + "notification_requests.minimize_banner": "最小化被过滤通知横幅", "notification_requests.notifications_from": "来自 {name} 的通知", - "notification_requests.title": "通知(已过滤)", + "notification_requests.title": "被过滤的通知", "notification_requests.view": "查看通知", "notifications.clear": "清空通知列表", "notifications.clear_confirmation": "你确定要永久清空通知列表吗?", @@ -634,16 +634,16 @@ "notifications.policy.drop": "忽略", "notifications.policy.drop_hint": "送入虚空,再也不查看", "notifications.policy.filter": "过滤", - "notifications.policy.filter_hint": "发送到被过滤通知收件箱", - "notifications.policy.filter_limited_accounts_hint": "被实例管理员限制", + "notifications.policy.filter_hint": "发送到被过滤通知列表", + "notifications.policy.filter_limited_accounts_hint": "被服务器管理员限制的账号", "notifications.policy.filter_limited_accounts_title": "受限账号", - "notifications.policy.filter_new_accounts.hint": "在 {days, plural, other {# 天}}内创建的账户", + "notifications.policy.filter_new_accounts.hint": "注册未满 {days, plural, other {# 天}} 的账号", "notifications.policy.filter_new_accounts_title": "新账户", - "notifications.policy.filter_not_followers_hint": "包括关注你少于 {days, plural, other {# 天}}的人", - "notifications.policy.filter_not_followers_title": "未关注你的人", - "notifications.policy.filter_not_following_hint": "直到你手动批准", + "notifications.policy.filter_not_followers_hint": "包括关注你未满 {days, plural, other {# 天}}的人", + "notifications.policy.filter_not_followers_title": "没有关注你的人", + "notifications.policy.filter_not_following_hint": "需要你手动批准", "notifications.policy.filter_not_following_title": "你没有关注的人", - "notifications.policy.filter_private_mentions_hint": "过滤通知,除非通知是在回复提及你自己的内容,或发送者是你关注的人", + "notifications.policy.filter_private_mentions_hint": "过滤通知,除非对应嘟文是在回复你的私下提及,或来自你关注的人。", "notifications.policy.filter_private_mentions_title": "不请自来的私下提及", "notifications.policy.title": "管理来自 … 的通知", "notifications_permission_banner.enable": "启用桌面通知", @@ -657,21 +657,21 @@ "onboarding.follows.empty": "很抱歉,现在无法显示任何结果。你可以尝试使用搜索或浏览探索页面来查找要关注的人,或稍后再试。", "onboarding.follows.lead": "你管理你自己的家庭饲料。你关注的人越多,它将越活跃和有趣。 这些配置文件可能是一个很好的起点——你可以随时取消关注它们!", "onboarding.follows.title": "定制你的主页动态", - "onboarding.profile.discoverable": "让我的资料卡可被他人发现", - "onboarding.profile.discoverable_hint": "当你选择在 Mastodon 上启用发现功能时,你的嘟文可能会出现在搜索结果和热门中,你的账户可能会被推荐给与你兴趣相似的人。", + "onboarding.profile.discoverable": "让我的账户可被他人发现", + "onboarding.profile.discoverable_hint": "当你在 Mastodon 上启用发现功能时,你的嘟文可能会出现在搜索结果与热门中,你的账户可能会被推荐给与你兴趣相似的人。", "onboarding.profile.display_name": "昵称", "onboarding.profile.display_name_hint": "你的全名或昵称…", "onboarding.profile.lead": "你可以稍后在设置中完成此操作,设置中有更多的自定义选项。", "onboarding.profile.note": "简介", - "onboarding.profile.note_hint": "你可以提及 @其他人 或 #标签…", + "onboarding.profile.note_hint": "你可以提及 @其他人 或使用 #话题标签…", "onboarding.profile.save_and_continue": "保存并继续", "onboarding.profile.title": "设置个人资料", "onboarding.profile.upload_avatar": "上传头像", - "onboarding.profile.upload_header": "上传个人资料背景横幅", + "onboarding.profile.upload_header": "上传账户页封面图", "onboarding.share.lead": "让人们知道他们如何在Mastodon找到你!", "onboarding.share.message": "我是来自 #Mastodon 的 {username}!请在 {url} 关注我。", "onboarding.share.next_steps": "可能的下一步:", - "onboarding.share.title": "分享你的个人资料", + "onboarding.share.title": "分享你的账户页", "onboarding.start.lead": "你的新 Mastodon 账户已准备好。下面是如何最大限度地利用它:", "onboarding.start.skip": "想要在前面跳过吗?", "onboarding.start.title": "你已经成功了!", @@ -679,14 +679,14 @@ "onboarding.steps.follow_people.title": "定制你的主页动态", "onboarding.steps.publish_status.body": "向世界问声好吧。", "onboarding.steps.publish_status.title": "发布你的第一篇嘟文", - "onboarding.steps.setup_profile.body": "Others are more likely to interact with you with a filled out profile.", - "onboarding.steps.setup_profile.title": "自定义你的个人资料", - "onboarding.steps.share_profile.body": "让你的朋友知道怎样在 Mastodon 找到你", - "onboarding.steps.share_profile.title": "分享你的个人资料", + "onboarding.steps.setup_profile.body": "完善个人资料,提升你的互动体验。", + "onboarding.steps.setup_profile.title": "自定义你的账户", + "onboarding.steps.share_profile.body": "让你的朋友知道如何在 Mastodon 找到你", + "onboarding.steps.share_profile.title": "分享你的账户页", "onboarding.tips.2fa": "你知道吗?你可以在账户设置中配置双因素认证来保护账户安全。可以使用你选择的任何 TOTP 应用,无需电话号码!", - "onboarding.tips.accounts_from_other_servers": "你知道吗? 既然Mastodon是去中心化的,你所看到的一些账户将被托管在你以外的服务器上。 但你可以无缝地与他们交互!他们的服务器在他们的用户名的后半部分!", + "onboarding.tips.accounts_from_other_servers": "你知道吗? Mastodon 是去中心化的,所以你看到的一些账号实际上是在别的服务器上。不过你仍然可以和他们无缝交流!他们的服务器地址就在他们用户名的后半部分!", "onboarding.tips.migration": "你知道吗?如果你将来觉得 {domain} 不再符合您的需求,你可以在保留现有关注者的情况下迁移至其他 Mastodon 服务器。你甚至可以部署自己的服务器!", - "onboarding.tips.verification": "你知道吗? 你可以通过在自己的网站上放置一个链接到你的 Mastodon 个人资料并将网站添加到你的个人资料来验证你的账户。 无需收费或文书工作!", + "onboarding.tips.verification": "你知道吗? 你可以在自己的网站上添加指向你 Mastodon 账户页的链接,并在你的 Mastodon 账户页中添加对应的网站链接,以此来验证您的账号。此验证方式无需任何费用或文件。", "password_confirmation.exceeds_maxlength": "密码确认超过最大密码长度", "password_confirmation.mismatching": "确认密码与密码不一致。", "picture_in_picture.restore": "恢复", @@ -705,9 +705,9 @@ "privacy.direct.short": "特定的人", "privacy.private.long": "仅限你的关注者", "privacy.private.short": "关注者", - "privacy.public.long": "", + "privacy.public.long": "所有 Mastodon 内外的人", "privacy.public.short": "公开", - "privacy.unlisted.additional": "该模式的行为与“公开”完全相同,只是嘟文不会出现在实时动态、话题标签、探索或 Mastodon 搜索中,即使你已在账户级设置中选择加入。", + "privacy.unlisted.additional": "此模式的行为与“公开”类似,只是嘟文不会出现在实时动态、话题标签、探索或 Mastodon 搜索页面中,即使您已全局开启了对应的发现设置。", "privacy.unlisted.long": "减少算法影响", "privacy.unlisted.short": "悄悄公开", "privacy_policy.last_updated": "最近更新于 {date}", @@ -738,7 +738,7 @@ "report.categories.violation": "内容违反一条或多条服务器规则", "report.category.subtitle": "选择最佳匹配", "report.category.title": "告诉我们此 {type} 存在的问题", - "report.category.title_account": "个人资料", + "report.category.title_account": "账户", "report.category.title_status": "嘟文", "report.close": "完成", "report.comment.title": "还有什么你认为我们应该知道的吗?", @@ -782,11 +782,11 @@ "report_notification.open": "打开举报", "search.no_recent_searches": "无最近搜索", "search.placeholder": "搜索", - "search.quick_action.account_search": "匹配 {x} 的个人资料", - "search.quick_action.go_to_account": "前往 {x} 个人资料", - "search.quick_action.go_to_hashtag": "前往标签 {x}", - "search.quick_action.open_url": "在 Mastodon 中打开网址", - "search.quick_action.status_search": "匹配 {x} 的嘟文", + "search.quick_action.account_search": "包含 {x} 的账户", + "search.quick_action.go_to_account": "打开 {x} 的账户页", + "search.quick_action.go_to_hashtag": "打开话题标签 {x}", + "search.quick_action.open_url": "在 Mastodon 中打开此链接", + "search.quick_action.status_search": "包含 {x} 的嘟文", "search.search_or_paste": "搜索或输入网址", "search_popout.full_text_search_disabled_message": "在 {domain} 不可用", "search_popout.full_text_search_logged_out_message": "只有登录后才可用。", @@ -844,7 +844,7 @@ "status.mute": "隐藏 @{name}", "status.mute_conversation": "禁用此对话的消息提醒", "status.open": "展开嘟文", - "status.pin": "在个人资料页面置顶", + "status.pin": "在账户页置顶", "status.pinned": "置顶嘟文", "status.read_more": "查看更多", "status.reblog": "转嘟", @@ -869,7 +869,7 @@ "status.translated_from_with": "由 {provider} 翻译自 {lang}", "status.uncached_media_warning": "预览不可用", "status.unmute_conversation": "恢复此对话的通知提醒", - "status.unpin": "在个人资料页面取消置顶", + "status.unpin": "在账户页取消置顶", "subscribed_languages.lead": "更改此选择后,只有选定语言的嘟文才会出现在你的主页和列表时间线上。选择「无」将显示所有语言的嘟文。", "subscribed_languages.save": "保存更改", "subscribed_languages.target": "更改 {target} 的订阅语言", diff --git a/app/javascript/mastodon/locales/zh-TW.json b/app/javascript/mastodon/locales/zh-TW.json index 355fecac4c857e..99f329ba4e14a9 100644 --- a/app/javascript/mastodon/locales/zh-TW.json +++ b/app/javascript/mastodon/locales/zh-TW.json @@ -471,13 +471,13 @@ "lists.add_to_list": "新增至列表", "lists.add_to_lists": "新增 {name} 至列表", "lists.create": "建立", - "lists.create_a_list_to_organize": "建立新列表以整理您的首頁動態", + "lists.create_a_list_to_organize": "建立新列表以整理您的首頁時間軸", "lists.create_list": "建立列表", "lists.delete": "刪除列表", "lists.done": "完成", "lists.edit": "編輯列表", - "lists.exclusive": "在首頁隱藏成員", - "lists.exclusive_hint": "如果某個帳號於此列表中,將自您的首頁動態中隱藏此帳號,以防重複見到他們的嘟文。", + "lists.exclusive": "於首頁隱藏成員", + "lists.exclusive_hint": "如果某個帳號於此列表中,將自您的首頁時間軸中隱藏此帳號,以防重複見到他們的嘟文。", "lists.find_users_to_add": "尋找欲新增之使用者", "lists.list_members": "列表成員", "lists.list_members_count": "{count, plural, other {# 個成員}}", diff --git a/config/locales/ca.yml b/config/locales/ca.yml index b1af2d95d48a20..28caa1d1fc9290 100644 --- a/config/locales/ca.yml +++ b/config/locales/ca.yml @@ -826,8 +826,10 @@ ca: back_to_account: Torna a la pàgina del compte back_to_report: Torna a la pàgina de l'informe batch: + add_to_report: 'Afegiu a l''informe #%{id}' remove_from_report: Treu de l'informe report: Denuncia + contents: Continguts deleted: Eliminada favourites: Favorits history: Històric de versions @@ -836,12 +838,17 @@ ca: media: title: Contingut multimèdia metadata: Metadada + no_history: Aquesta publicació no s'ha editat no_status_selected: No s’han canviat els estatus perquè cap no ha estat seleccionat open: Obre la publicació original_status: Publicació original reblogs: Impulsos + replied_to_html: En resposta a %{acct_link} status_changed: Publicació canviada + status_title: Publicació de @%{name} + title: Publicacions del compte - @%{name} trending: Tendència + view_publicly: Vegeu en públic visibility: Visibilitat with_media: Amb contingut multimèdia strikes: @@ -1173,8 +1180,11 @@ ca: use_security_key: Usa clau de seguretat author_attribution: example_title: Text d'exemple + hint_html: Escriviu notícies o un blog fora de Mastodon? Controleu quin crèdit rebeu quan es comparteixen aquí. + instructions: 'Assegureu-vos que aquest codi és a l''HTML de l''article:' more_from_html: Més de %{name} s_blog: Blog de %{name} + then_instructions: Després, afegiu el nom del domini de la publicació aquí sota. title: Atribució d'autor challenge: confirm: Continua diff --git a/config/locales/doorkeeper.zh-CN.yml b/config/locales/doorkeeper.zh-CN.yml index 848b0d6b6c063a..d14bd575f456ec 100644 --- a/config/locales/doorkeeper.zh-CN.yml +++ b/config/locales/doorkeeper.zh-CN.yml @@ -129,7 +129,7 @@ zh-CN: conversations: 会话 crypto: 端到端加密 favourites: 喜欢 - filters: 过滤器 + filters: 过滤规则 follow: 关注,隐藏与屏蔽 follows: 关注 lists: 列表 @@ -167,14 +167,14 @@ zh-CN: admin:write:reports: 对举报执行管理操作 crypto: 使用端到端加密 follow: 关注或屏蔽用户 - profile: 仅读取你账号的个人资料信息 + profile: 仅读取你账户的个人资料信息 push: 接收你的账户的推送通知 read: 读取你的账户数据 read:accounts: 查看账号信息 read:blocks: 查看你的屏蔽列表 read:bookmarks: 查看你的书签 read:favourites: 查看喜欢的嘟文 - read:filters: 查看你的过滤器 + read:filters: 查看你的过滤规则 read:follows: 查看你的关注 read:lists: 查看你的列表 read:mutes: 查看你的隐藏列表 @@ -188,7 +188,7 @@ zh-CN: write:bookmarks: 为嘟文添加书签 write:conversations: 静音并删除会话 write:favourites: 喜欢嘟文 - write:filters: 创建过滤器 + write:filters: 创建过滤规则 write:follows: 关注其他人 write:lists: 创建列表 write:media: 上传媒体文件 diff --git a/config/locales/es.yml b/config/locales/es.yml index 22123e4309a322..921db752ab1d00 100644 --- a/config/locales/es.yml +++ b/config/locales/es.yml @@ -1073,7 +1073,7 @@ es: remove: Desvincular alias appearance: advanced_web_interface: Interfaz web avanzada - advanced_web_interface_hint: 'Si desea utilizar todo el ancho de pantalla, la interfaz web avanzada le permite configurar varias columnas diferentes para ver tanta información al mismo tiempo como quiera: Inicio, notificaciones, línea de tiempo federada, cualquier número de listas y etiquetas.' + advanced_web_interface_hint: 'Si quieres aprovechar todo el ancho de tu pantalla, la interfaz web avanzada te permite configurar muchas columnas diferentes para ver toda la información que quieras al mismo tiempo: Inicio, notificaciones, cronología federada, cualquier número de listas y etiquetas.' animations_and_accessibility: Animaciones y accesibilidad confirmation_dialogs: Diálogos de confirmación discovery: Descubrir @@ -1115,7 +1115,7 @@ es: welcome_title: "¡Te damos la bienvenida, %{name}!" wrong_email_hint: Si esa dirección de correo electrónico no es correcta, puedes cambiarla en la configuración de la cuenta. delete_account: Borrar cuenta - delete_account_html: Si desea eliminar su cuenta, puede proceder aquí. Será pedido de una confirmación. + delete_account_html: Si deseas eliminar tu cuenta, puedes hacerlo aquí. Se te pedirá una confirmación. description: prefix_invited_by_user: "¡@%{name} te invita a unirte a este servidor de Mastodon!" prefix_sign_up: "¡Únete a Mastodon hoy!" @@ -1157,7 +1157,7 @@ es: set_new_password: Establecer nueva contraseña setup: email_below_hint_html: Comprueba tu carpeta de correo no deseado o solicita otro enlace de confirmación. Puedes corregir tu dirección de correo electrónico si está mal. - email_settings_hint_html: Pulsa el enlace que te hemos enviado para verificar %{email}. Esperaremos aquí mismo. + email_settings_hint_html: Haz clic en el enlace que te hemos enviado para verificar %{email}. Te esperamos aquí. link_not_received: "¿No recibiste un enlace?" new_confirmation_instructions_sent: "¡Recibirás un nuevo correo electrónico con el enlace de confirmación en unos minutos!" title: Revisa tu bandeja de entrada @@ -1299,7 +1299,7 @@ es: featured_tags: add_new: Añadir nuevo errors: - limit: Ya has alcanzado la cantidad máxima de hashtags + limit: Ya has alcanzado la cantidad máxima de etiquetas hint_html: "¿Qué son las etiquetas destacadas? Se muestran de forma prominente en tu perfil público y permiten a los usuarios navegar por tus publicaciones públicas específicamente bajo esas etiquetas. Son una gran herramienta para hacer un seguimiento de trabajos creativos o proyectos a largo plazo." filters: contexts: @@ -1352,7 +1352,7 @@ es: one: "%{count} elemento que coincide con su búsqueda está seleccionado." other: Todos los %{count} elementos que coinciden con su búsqueda están seleccionados. cancel: Cancelar - changes_saved_msg: "¡Cambios guardados con éxito!" + changes_saved_msg: "¡Los cambios se han guardado correctamente!" confirm: Confirmar copy: Copiar delete: Eliminar @@ -1376,7 +1376,7 @@ es: too_large: El archivo es demasiado grande failures: Fallos imported: Importado - mismatched_types_warning: Parece que podrías haber seleccionado el tipo incorrecto para esta importación, por favor vuelve a verificarlo. + mismatched_types_warning: Parece que has seleccionado el tipo incorrecto para esta importación, vuelve a comprobarlo. modes: merge: Unir merge_long: Mantener registros existentes y añadir nuevos @@ -1737,7 +1737,7 @@ es: development: Desarrollo edit_profile: Editar perfil export: Exportar - featured_tags: Hashtags destacados + featured_tags: Etiquetas destacadas import: Importar import_and_export: Importar y exportar migrate: Migración de cuenta @@ -1777,8 +1777,8 @@ es: content_warning: 'Alerta de contenido: %{warning}' default_language: Igual que el idioma de la interfaz disallowed_hashtags: - one: 'contenía un hashtag no permitido: %{tags}' - other: 'contenía los hashtags no permitidos: %{tags}' + one: 'contenía una etiqueta no permitida: %{tags}' + other: 'contenía las etiquetas no permitidas: %{tags}' edited_at_html: Editado %{date} errors: in_reply_not_found: La publicación a la que intentas responder no existe. @@ -1803,9 +1803,9 @@ es: exceptions: Excepciones explanation: Debido a que la eliminación de mensajes es una operación costosa, esto se hace lentamente, a lo largo de un tiempo, cuando el servidor no está ocupado. Por este motivo, puede que tus publicaciones sean borradas algo después de que alcancen el umbral de tiempo especificado. ignore_favs: Ignorar favoritos - ignore_reblogs: Ignorar reblogueos + ignore_reblogs: Ignorar impulsos interaction_exceptions: Excepciones basadas en interacciones - interaction_exceptions_explanation: Ten en cuenta que no hay garantía de que se eliminen las publicaciones que están por debajo de los umbrales de favoritos o de reblogueos si los han superado en algún momento. + interaction_exceptions_explanation: Ten en cuenta que no hay garantía de que se eliminen las publicaciones que están por debajo de los umbrales de favoritos o de impulsos si los han superado en algún momento. keep_direct: Mantener mensajes directos keep_direct_hint: No elimina ninguno de tus mensajes directos keep_media: Mantener publicaciones con multimedia adjunto @@ -1831,7 +1831,7 @@ es: min_favs: Mantener mensajes con un número de favoritos mayor que min_favs_hint: No borra ninguna de las publicaciones que hayan recibido al menos esta cantidad de favoritos. Deja en blanco para eliminar publicaciones sin importar el número de favoritos min_reblogs: Mantener publicaciones reblogueadas más de - min_reblogs_hint: No borra ninguna de las publicaciones que hayan sido reblogueadas más de este número de veces. Deja en blanco para eliminar publicaciones sin importar el número de reblogueos + min_reblogs_hint: No borra ninguna de las publicaciones que hayan sido impulsadas más de este número de veces. Deja en blanco para eliminar publicaciones sin importar el número de impulsos stream_entries: sensitive_content: Contenido sensible strikes: @@ -1982,7 +1982,7 @@ es: verification: extra_instructions_html: Consejo: El enlace en tu web puede ser invisible. La parte importante es rel="me", que evita la suplantación de identidad en sitios con contenido generado por el usuario. Puedes incluso usar una etiqueta enlace en el encabezado de la página en vez de a, pero el HTML debe ser accesible sin ejecutar JavaScript. here_is_how: Así es como se hace - hint_html: "Verificar tu identidad en Mastodon es para todos. Basado en estándares web abiertos, ahora y para siempre. Todo lo que necesitas es un sitio web propio que la gente reconozca. Cuando enlaces a este sitio web desde tu perfil, comprobaremos que el sitio web se enlaza a tu perfil y mostraremos un indicador visual en él." + hint_html: "Verificar tu identidad en Mastodon es para todos. Basado en estándares web abiertos, ahora y siempre gratis. Todo lo que necesitas es un sitio web personal por el que la gente te reconozca. Cuando enlaces a este sitio web desde tu perfil, comprobaremos que el sitio web enlaza con tu perfil y mostraremos un indicador visual en él." instructions_html: Copia y pega el siguiente código en el HTML de tu sitio web. A continuación, añade la dirección de su sitio web en uno de los campos extra de tu perfil desde la pestaña "Editar perfil" y guarda los cambios. verification: Verificación verified_links: Tus enlaces verificados diff --git a/config/locales/hu.yml b/config/locales/hu.yml index f23711d4032064..c3420205c89f92 100644 --- a/config/locales/hu.yml +++ b/config/locales/hu.yml @@ -1945,7 +1945,7 @@ hu: feature_moderation_title: Moderálás, ahogy annak lennie kell follow_action: Követés follow_step: A Mastodon az érdekes emberek követéséről szól. - follow_title: Saját hírfolyam testreszabása + follow_title: Kezdőlapi hírfolyam testreszabása follows_subtitle: Jól ismert fiókok követése follows_title: Kit érdemes követni follows_view_more: További követendő személyek megtekintése diff --git a/config/locales/lv.yml b/config/locales/lv.yml index 3e44adbf46f278..cc4f4d9cfc62c8 100644 --- a/config/locales/lv.yml +++ b/config/locales/lv.yml @@ -190,6 +190,7 @@ lv: create_domain_block: Izveidot Domēna Bloku create_email_domain_block: Izveidot e-pasta domēna liegumu create_ip_block: Izveidot IP noteikumu + create_relay: Izveidot retranslāciju create_unavailable_domain: Izveidot Nepieejamu Domēnu create_user_role: Izveidot lomu demote_user: Pazemināt Lietotāju @@ -201,14 +202,17 @@ lv: destroy_email_domain_block: Izdzēst e-pasta domēna liegumu destroy_instance: Attīrīt domēnu destroy_ip_block: Dzēst IP noteikumu + destroy_relay: Izdzēst retranslāciju destroy_status: Izdzēst Rakstu destroy_unavailable_domain: Dzēst Nepieejamu Domēnu destroy_user_role: Iznīcināt lomu disable_2fa_user: Atspējot 2FA disable_custom_emoji: Atspējot pielāgotu emocijzīmi + disable_relay: Atspējot retranslāciju disable_sign_in_token_auth_user: Atspējot autentificēšanos ar e-pasta pilnvaru lietotājam disable_user: Atspējot Lietotāju enable_custom_emoji: Iespējot pielāgotu emocijzīmi + enable_relay: Iespējot retranslāciju enable_sign_in_token_auth_user: Iespējot autentificēšanos ar e-pasta pilnvaru lietotājam enable_user: Ieslēgt Lietotāju memorialize_account: Saglabāt Kontu Piemiņai @@ -817,6 +821,7 @@ lv: batch: remove_from_report: Noņemt no ziņojuma report: Ziņojums + contents: Saturs deleted: Dzēstie favourites: Izlase history: Versiju vēsture diff --git a/config/locales/simple_form.ca.yml b/config/locales/simple_form.ca.yml index defb13325bcfa4..3a70c4109715f4 100644 --- a/config/locales/simple_form.ca.yml +++ b/config/locales/simple_form.ca.yml @@ -3,6 +3,7 @@ ca: simple_form: hints: account: + attribution_domains_as_text: Un per línia. Protegeix de falses atribucions. discoverable: El teu perfil i els teus tuts públics poden aparèixer o ser recomanats en diverses àreas de Mastodon i el teu perfil pot ser suggerit a altres usuaris. display_name: El teu nom complet o el teu nom divertit. fields: La teva pàgina d'inici, pronoms, edat, el que vulguis. @@ -143,6 +144,7 @@ ca: url: On els esdeveniments seran enviats labels: account: + attribution_domains_as_text: Webs que us poden donar crèdit discoverable: Permet el perfil i el tuts en els algorismes de descobriment fields: name: Etiqueta diff --git a/config/locales/simple_form.es.yml b/config/locales/simple_form.es.yml index a0338a3029e00d..b668f32209a606 100644 --- a/config/locales/simple_form.es.yml +++ b/config/locales/simple_form.es.yml @@ -16,7 +16,7 @@ es: account_migration: acct: Especifica el nombre_de_usuario@dominio de la cuenta hacia la que quieres migrar account_warning_preset: - text: Puede usar sintaxis de publicaciones, como URLs, hashtags y menciones + text: Puede usar sintaxis de publicaciones, como URLs, etiquetas y menciones title: Opcional. No es visible para el destinatario admin_account_action: include_statuses: El usuario verá qué publicaciones han causado la acción de moderación o advertencia @@ -46,12 +46,12 @@ es: current_password: Por razones de seguridad por favor ingrese la contraseña de la cuenta actual current_username: Para confirmar, por favor ingrese el nombre de usuario de la cuenta actual digest: Solo enviado tras un largo periodo de inactividad y solo si has recibido mensajes personales durante tu ausencia - email: Se le enviará un correo de confirmación + email: Te enviaremos un correo electrónico de confirmación header: WEBP, PNG, GIF o JPG. Máximo %{size}. Será escalado a %{dimensions}px inbox_url: Copia la URL de la página principal del relés que quieres utilizar irreversible: Las publicaciones filtradas desaparecerán irreversiblemente, incluso si este filtro es eliminado más adelante locale: El idioma de la interfaz de usuario, correos y notificaciones push - password: Utilice al menos 8 caracteres + password: Utiliza al menos 8 caracteres phrase: Se aplicará sin importar las mayúsculas o los avisos de contenido de una publicación scopes: Qué APIs de la aplicación tendrán acceso. Si seleccionas el alcance de nivel mas alto, no necesitas seleccionar las individuales. setting_aggregate_reblogs: No mostrar nuevos impulsos para las publicaciones que han sido recientemente impulsadas (sólo afecta a los impulsos recibidos recientemente) @@ -101,7 +101,7 @@ es: thumbnail: Una imagen de aproximadamente 2:1 se muestra junto a la información de tu servidor. timeline_preview: Los visitantes no registrados podrán navegar por los mensajes públicos más recientes disponibles en el servidor. trendable_by_default: Omitir la revisión manual del contenido en tendencia. Los elementos individuales aún podrán eliminarse de las tendencias. - trends: Las tendencias muestran qué mensajes, etiquetas y noticias están ganando tracción en tu servidor. + trends: Las tendencias muestran qué publicaciones, etiquetas y noticias están ganando tracción en tu servidor. trends_as_landing_page: Mostrar contenido en tendencia para usuarios y visitantes en lugar de una descripción de este servidor. Requiere que las tendencias estén habilitadas. form_challenge: current_password: Estás entrando en un área segura @@ -193,7 +193,7 @@ es: email: Dirección de correo electrónico expires_in: Expirar tras fields: Metadatos de perfil - header: Img. cabecera + header: Imagen de encabezado honeypot: "%{label} (no rellenar)" inbox_url: URL de la entrada de relés irreversible: Rechazar en lugar de ocultar @@ -208,7 +208,7 @@ es: setting_aggregate_reblogs: Agrupar impulsos en las líneas de tiempo setting_always_send_emails: Enviar siempre notificaciones por correo setting_auto_play_gif: Reproducir automáticamente los GIFs animados - setting_boost_modal: Mostrar ventana de confirmación antes de impulsar + setting_boost_modal: Mostrar diálogo de confirmación antes de impulsar una publicación setting_default_language: Idioma de publicación setting_default_privacy: Privacidad de publicaciones setting_default_sensitive: Marcar siempre imágenes como sensibles @@ -339,5 +339,5 @@ es: text: necesario title: sessions: - webauthn: Utilice una de sus claves de seguridad para iniciar sesión + webauthn: Utiliza una de sus claves de seguridad para iniciar sesión 'yes': Sí diff --git a/config/locales/simple_form.th.yml b/config/locales/simple_form.th.yml index 0ba54e26ce4b61..f8f4d3f11947cf 100644 --- a/config/locales/simple_form.th.yml +++ b/config/locales/simple_form.th.yml @@ -10,6 +10,7 @@ th: indexable: โพสต์สาธารณะของคุณอาจปรากฏในผลลัพธ์การค้นหาใน Mastodon ผู้คนที่ได้โต้ตอบกับโพสต์ของคุณอาจสามารถค้นหาโพสต์เหล่านั้นได้ไม่ว่าอย่างไรก็ตาม note: 'คุณสามารถ @กล่าวถึง ผู้คนอื่น ๆ หรือ #แฮชแท็ก' show_collections: ผู้คนจะสามารถเรียกดูการติดตามและผู้ติดตามของคุณ ผู้คนที่คุณติดตามจะเห็นว่าคุณติดตามเขาไม่ว่าอย่างไรก็ตาม + unlocked: ผู้คนจะสามารถติดตามคุณได้โดยไม่ต้องขอการอนุมัติ เลิกกาเครื่องหมายหากคุณต้องการตรวจทานคำขอติดตามและเลือกว่าจะยอมรับหรือปฏิเสธผู้ติดตามใหม่ account_alias: acct: ระบุ username@domain ของบัญชีที่คุณต้องการย้ายจาก account_migration: diff --git a/config/locales/simple_form.zh-CN.yml b/config/locales/simple_form.zh-CN.yml index 04c23f170617c0..f0f1bf15c5bd30 100644 --- a/config/locales/simple_form.zh-CN.yml +++ b/config/locales/simple_form.zh-CN.yml @@ -42,14 +42,14 @@ zh-CN: autofollow: 通过邀请链接注册的用户将会自动关注你 avatar: 支持WEBP、PNG、GIF 或 JPG。最大 %{size}。将缩小到 %{dimensions}px bot: 来自这个账户的绝大多数操作都是自动进行的,并且可能无人监控 - context: 过滤器的应用环境 + context: 过滤规则将被应用到的一个或多个场景 current_password: 为了安全起见,请输入当前账号的密码 current_username: 请输入当前账号的用户名以确认 digest: 仅在你长时间未登录,且收到了私信时发送 email: 我们会向你发送一封确认邮件 - header: 支持WEBP、PNG、GIF 或 JPG。最大 %{size}。将缩小到 %{dimensions}px + header: 支持WEBP、PNG、GIF 或 JPG。最大 %{size}。分辨率将被压缩至 %{dimensions}px inbox_url: 从你想要使用的中继站的主页上复制 URL - irreversible: 已过滤的嘟文会不可逆转地消失,即便移除过滤器之后也一样 + irreversible: 被过滤的嘟文会永久消失,移除过滤规则后也不会恢复 locale: 在用户界面、电子邮件和推送通知中使用的语言 password: 至少需要8个字符 phrase: 匹配将忽略嘟文或内容警告里的字母大小写 @@ -72,10 +72,10 @@ zh-CN: featured_tag: name: 以下是你最近使用过的标签: filters: - action: 选择在嘟文命中过滤器时要执行的操作 + action: 选择在嘟文命中过滤规则时要执行的操作 actions: - hide: 彻底屏蔽过滤内容,犹如它不曾存在过一般 - warn: 在警告中提及过滤器标题后,隐藏过滤内容 + hide: 彻底隐藏过滤内容,就像它从未存在过一样 + warn: 显示带有过滤规则标题的警告,并隐藏过滤内容 form_admin_settings: activity_api_enabled: 本站每周的嘟文数、活跃用户数和新注册用户数 app_icon: WEBP、PNG、GIF 或 JPG。使用自定义图标覆盖移动设备上的默认应用图标。 @@ -125,7 +125,7 @@ zh-CN: otp: 输入你手机应用上生成的双因素认证代码,或者任意一个恢复代码: webauthn: 如果是 USB 密钥,请确保将其插入,如有必要,请点击它。 settings: - indexable: 你的个人资料页面可能会出现在Google、Bing等搜索结果中。 + indexable: 你的账户页可能会出现在Google、Bing等的搜索结果中。 show_application: 无论如何,你始终可以看到是哪个应用发布了你的嘟文。 tag: name: 你只能改变字母的大小写,让它更易读 @@ -145,12 +145,12 @@ zh-CN: labels: account: attribution_domains_as_text: 授权展示你的署名的网站 - discoverable: 在发现算法中展示你的个人资料和嘟文 + discoverable: 在发现算法中展示你的账户与嘟文 fields: name: 标签 value: 内容 indexable: 将公开嘟文纳入搜索范围 - show_collections: 在个人资料中显示关注和关注者 + show_collections: 在账户页显示关注和关注者 unlocked: 自动接受新关注者 account_alias: acct: 处理旧账号 @@ -183,17 +183,17 @@ zh-CN: autofollow: 让被邀请人关注你的账户 avatar: 头像 bot: 这是一个机器人账户 - chosen_languages: 语言过滤 + chosen_languages: 过滤语言 confirm_new_password: 确认新密码 confirm_password: 确认密码 - context: 过滤环境 + context: 过滤规则生效场景 current_password: 当前密码 data: 数据文件 display_name: 昵称 email: 邮箱地址 expires_in: 失效时间 fields: 个人资料附加信息 - header: 个人资料页横幅图片 + header: 封面图 honeypot: "%{label} (请勿填写)" inbox_url: 中继站收件箱的 URL irreversible: 丢弃而非隐藏 @@ -213,7 +213,7 @@ zh-CN: setting_default_privacy: 嘟文默认可见范围 setting_default_sensitive: 始终标记媒体为敏感内容 setting_delete_modal: 在删除嘟文前询问我 - setting_disable_hover_cards: 禁用悬停资料预览 + setting_disable_hover_cards: 禁用悬停资料卡预览 setting_disable_swiping: 禁用滑动动作 setting_display_media: 媒体显示 setting_display_media_default: 默认 @@ -242,7 +242,7 @@ zh-CN: filters: actions: hide: 完全隐藏 - warn: 隐藏时显示警告信息 + warn: 隐藏时显示警告 form_admin_settings: activity_api_enabled: 在 API 中发布有关用户活动的汇总统计数据 app_icon: 应用图标 @@ -310,8 +310,8 @@ zh-CN: hint: 补充信息 text: 规则 settings: - indexable: 允许搜索引擎索引个人资料页面 - show_application: 显示 + indexable: 允许搜索引擎索引账户页 + show_application: 显示你发嘟所用的应用 tag: listable: 允许这个话题标签在用户目录中显示 name: 话题标签 diff --git a/config/locales/th.yml b/config/locales/th.yml index 5178506bab6db1..6834f8ac260601 100644 --- a/config/locales/th.yml +++ b/config/locales/th.yml @@ -184,6 +184,7 @@ th: create_domain_block: สร้างการปิดกั้นโดเมน create_email_domain_block: สร้างการปิดกั้นโดเมนอีเมล create_ip_block: สร้างกฎ IP + create_relay: สร้างรีเลย์ create_unavailable_domain: สร้างโดเมนที่ไม่พร้อมใช้งาน create_user_role: สร้างบทบาท demote_user: ลดขั้นผู้ใช้ @@ -195,14 +196,17 @@ th: destroy_email_domain_block: ลบการปิดกั้นโดเมนอีเมล destroy_instance: ล้างข้อมูลโดเมน destroy_ip_block: ลบกฎ IP + destroy_relay: ลบรีเลย์ destroy_status: ลบโพสต์ destroy_unavailable_domain: ลบโดเมนที่ไม่พร้อมใช้งาน destroy_user_role: ทำลายบทบาท disable_2fa_user: ปิดใช้งาน 2FA disable_custom_emoji: ปิดใช้งานอีโมจิที่กำหนดเอง + disable_relay: ปิดใช้งานรีเลย์ disable_sign_in_token_auth_user: ปิดใช้งานการรับรองความถูกต้องด้วยโทเคนอีเมลสำหรับผู้ใช้ disable_user: ปิดใช้งานผู้ใช้ enable_custom_emoji: เปิดใช้งานอีโมจิที่กำหนดเอง + enable_relay: เปิดใช้งานรีเลย์ enable_sign_in_token_auth_user: เปิดใช้งานการรับรองความถูกต้องด้วยโทเคนอีเมลสำหรับผู้ใช้ enable_user: เปิดใช้งานผู้ใช้ memorialize_account: ทำให้บัญชีเป็นอนุสรณ์ @@ -244,6 +248,7 @@ th: create_domain_block_html: "%{name} ได้ปิดกั้นโดเมน %{target}" create_email_domain_block_html: "%{name} ได้ปิดกั้นโดเมนอีเมล %{target}" create_ip_block_html: "%{name} ได้สร้างกฎสำหรับ IP %{target}" + create_relay_html: "%{name} ได้สร้างรีเลย์ %{target}" create_unavailable_domain_html: "%{name} ได้หยุดการจัดส่งไปยังโดเมน %{target}" create_user_role_html: "%{name} ได้สร้างบทบาท %{target}" demote_user_html: "%{name} ได้ลดขั้นผู้ใช้ %{target}" @@ -255,14 +260,17 @@ th: destroy_email_domain_block_html: "%{name} ได้เลิกปิดกั้นโดเมนอีเมล %{target}" destroy_instance_html: "%{name} ได้ล้างข้อมูลโดเมน %{target}" destroy_ip_block_html: "%{name} ได้ลบกฎสำหรับ IP %{target}" + destroy_relay_html: "%{name} ได้ลบรีเลย์ %{target}" destroy_status_html: "%{name} ได้เอาโพสต์โดย %{target} ออก" destroy_unavailable_domain_html: "%{name} ได้ทำการจัดส่งไปยังโดเมน %{target} ต่อ" destroy_user_role_html: "%{name} ได้ลบบทบาท %{target}" disable_2fa_user_html: "%{name} ได้ปิดใช้งานความต้องการสองปัจจัยสำหรับผู้ใช้ %{target}" disable_custom_emoji_html: "%{name} ได้ปิดใช้งานอีโมจิ %{target}" + disable_relay_html: "%{name} ได้ปิดใช้งานรีเลย์ %{target}" disable_sign_in_token_auth_user_html: "%{name} ได้ปิดใช้งานการรับรองความถูกต้องด้วยโทเคนอีเมลสำหรับ %{target}" disable_user_html: "%{name} ได้ปิดใช้งานการเข้าสู่ระบบสำหรับผู้ใช้ %{target}" enable_custom_emoji_html: "%{name} ได้เปิดใช้งานอีโมจิ %{target}" + enable_relay_html: "%{name} ได้เปิดใช้งานรีเลย์ %{target}" enable_sign_in_token_auth_user_html: "%{name} ได้เปิดใช้งานการรับรองความถูกต้องด้วยโทเคนอีเมลสำหรับ %{target}" enable_user_html: "%{name} ได้เปิดใช้งานการเข้าสู่ระบบสำหรับผู้ใช้ %{target}" memorialize_account_html: "%{name} ได้เปลี่ยนบัญชีของ %{target} เป็นหน้าอนุสรณ์" @@ -804,8 +812,10 @@ th: back_to_account: กลับไปที่หน้าบัญชี back_to_report: กลับไปที่หน้ารายงาน batch: + add_to_report: 'เพิ่มไปยังรายงาน #%{id}' remove_from_report: เอาออกจากรายงาน report: รายงาน + contents: เนื้อหา deleted: ลบแล้ว favourites: รายการโปรด history: ประวัติรุ่น @@ -814,12 +824,17 @@ th: media: title: สื่อ metadata: ข้อมูลอภิพันธุ์ + no_history: ไม่มีการแก้ไขโพสต์นี้ no_status_selected: ไม่มีการเปลี่ยนแปลงโพสต์เนื่องจากไม่มีการเลือก open: เปิดโพสต์ original_status: โพสต์ดั้งเดิม reblogs: การดัน + replied_to_html: ตอบกลับ %{acct_link} status_changed: เปลี่ยนโพสต์แล้ว + status_title: โพสต์โดย @%{name} + title: โพสต์ของบัญชี - @%{name} trending: กำลังนิยม + view_publicly: ดูแบบสาธารณะ visibility: การมองเห็น with_media: มีสื่อ strikes: diff --git a/config/locales/zh-CN.yml b/config/locales/zh-CN.yml index 1623f39ad648f2..d2170d3e115633 100644 --- a/config/locales/zh-CN.yml +++ b/config/locales/zh-CN.yml @@ -11,8 +11,8 @@ zh-CN: other: 关注者 following: 正在关注 instance_actor_flash: 该账号用来代表虚拟角色,并不代表个人用户,仅代表服务器本身。该账号用于联合目的,不应该被停用。 - last_active: 最近活动 - link_verified_on: 此链接的所有权已在 %{date} 检查 + last_active: 上次活跃 + link_verified_on: 此链接的所有权已在 %{date} 验证 nothing_here: 空空如也! pin_errors: following: 你必须关注你要推荐的人 @@ -25,7 +25,7 @@ zh-CN: action: 执行操作 already_silenced: 此账户已受限。 already_suspended: 此账户已被封禁。 - title: 在 %{acct} 上执行管理操作 + title: 对 %{acct} 执行管理操作 account_moderation_notes: create: 新建记录 created_msg: 管理记录创建成功! @@ -73,7 +73,7 @@ zh-CN: enabled_msg: 成功解冻 %{username} 的账号 followers: 粉丝 follows: 关注 - header: 个人资料页横幅图片 + header: 封面图 inbox_url: 收件箱(Inbox)URL invite_request_text: 加入理由 invited_by: 邀请者为 @@ -82,7 +82,7 @@ zh-CN: location: all: 全部 local: 本站 - remote: 远端实例 + remote: 外站 title: 位置 login_status: 登录状态 media_attachments: 媒体文件 @@ -113,16 +113,16 @@ zh-CN: protocol: 协议 public: 公开页面 push_subscription_expires: PuSH 订阅过期时间 - redownload: 刷新个人资料 - redownloaded_msg: 成功从来源处刷新 %{username} 的用户资料 + redownload: 刷新账户信息 + redownloaded_msg: 成功从来源站点刷新 %{username} 的账户信息 reject: 拒绝 rejected_msg: 已拒绝 %{username} 的注册申请 remote_suspension_irreversible: 此账户的数据已被不可逆转地删除。 remote_suspension_reversible_hint_html: 账号已在他们的服务器上封禁,数据将在 %{date} 完全删除。 在此之前,远程服务器仍可恢复此账号,并且没有任何不良影响。 如果你想立即移除该账号的所有数据,可以在下面进行。 remove_avatar: 删除头像 - remove_header: 删除横幅图片 + remove_header: 移除封面图 removed_avatar_msg: 成功删除 %{username} 的头像 - removed_header_msg: 成功删除了 %{username} 的横幅图片 + removed_header_msg: 成功移除 %{username} 的封面图 resend_confirmation: already_confirmed: 该用户已被确认 send: 重新发送确认链接 @@ -299,8 +299,8 @@ zh-CN: update_user_role_html: "%{name} 更改了 %{target} 角色" deleted_account: 账号已注销 empty: 没有找到日志 - filter_by_action: 根据行为过滤 - filter_by_user: 根据用户过滤 + filter_by_action: 根据操作筛选 + filter_by_user: 根据用户筛选 title: 审核日志 unavailable_instance: "(域名不可用)" announcements: @@ -547,7 +547,7 @@ zh-CN: filter: all: 全部 available: 可用 - expired: 已失效 + expired: 已过期 title: 筛选 title: 邀请用户 ip_blocks: @@ -637,7 +637,7 @@ zh-CN: notes_description_html: 查看备注或向其他监察员留言 processed_msg: '举报 #%{id} 处理成功' quick_actions_description_html: 快捷选择操作或向下滚动以查看举报内容: - remote_user_placeholder: 来自 %{instance} 的远程实例用户 + remote_user_placeholder: 来自 %{instance} 的外站用户 reopen: 重开举报 report: '举报 #%{id}' reported_account: 举报用户 @@ -673,7 +673,7 @@ zh-CN: unknown_action_msg: 未知操作:%{action} unresolved: 未处理 updated_at: 更新时间 - view_profile: 查看资料 + view_profile: 查看账户 roles: add_new: 添加角色 assigned_users: @@ -1070,7 +1070,7 @@ zh-CN: settings: 更改邮件偏好: %{link} unsubscribe: 取消订阅 view: 点此链接查看详情: - view_profile: 查看个人资料页 + view_profile: 查看账户页 view_status: 查看嘟文 applications: created: 应用创建成功 @@ -1285,8 +1285,8 @@ zh-CN: hint_html: "什么是精选话题标签? 它们被显示在你的公开个人资料中的突出位置,人们可以在这些标签下浏览你的公共嘟文。 它们是跟踪创作或长期项目的进度的重要工具。" filters: contexts: - account: 个人资料 - home: 主页时间线 + account: 账户 + home: 主页与列表 notifications: 通知 public: 公共时间线 thread: 对话 @@ -1294,33 +1294,33 @@ zh-CN: add_keyword: 添加关键词 keywords: 关键词 statuses: 个别嘟文 - statuses_hint_html: 无论是否匹配下列关键词,此过滤器适用于选用个别嘟文。从过滤器中审核嘟文或移除嘟文。 - title: 编辑过滤器 + statuses_hint_html: 无论是否匹配下列关键词,此过滤规则均适用于选中的个别嘟文。在过滤规则页面检查或移除这些嘟文 + title: 编辑过滤规则 errors: - deprecated_api_multiple_keywords: 这些参数不能从此应用程序更改,因为它们应用于一个以上的过滤关键字。 使用较新的应用程序或网页界面。 - invalid_context: 提供的过滤器环境没有或无效 + deprecated_api_multiple_keywords: 不能在此应用中更改这些参数,因为它们应用于不止一个过滤关键词。请使用较新的应用程序或网页界面。 + invalid_context: 过滤规则生效场景为空或无效 index: - contexts: 在 %{contexts} 中的过滤器 + contexts: 过滤 %{contexts} delete: 删除 - empty: 你没有过滤器。 - expires_in: 在 %{distance} 后过期 - expires_on: "%{date} 后到期" + empty: 你没有过滤规则。 + expires_in: "%{distance} 后到期" + expires_on: 在 %{date} 到期 keywords: - other: "%{count} 关键词" + other: "%{count} 个关键词" statuses: other: "%{count} 条嘟文" statuses_long: - other: "%{count} 条个别嘟文已隐藏" - title: 过滤器 + other: 已隐藏 %{count} 条个别嘟文 + title: 过滤规则 new: - save: 保存新过滤器 - title: 添加新的过滤器 + save: 保存过滤规则 + title: 新建过滤规则 statuses: - back_to_filter: 返回过滤器 + back_to_filter: 返回过滤规则 batch: - remove: 从过滤器中移除 + remove: 从过滤规则中移除 index: - hint: 无论其他条件如何,此过滤器适用于选用个别嘟文。你可以从网页界面中向此过滤器加入更多嘟文。 + hint: 此过滤规则适用于选中的个别嘟文,不受其它条件限制。你可以通过网页界面向此过滤规则添加更多嘟文。 title: 过滤的嘟文 generic: all: 全部 @@ -1752,7 +1752,7 @@ zh-CN: private: 仅关注者 private_long: 只有关注你的用户能看到 public: 公开 - public_long: 所有人可见,并会出现在公共时间线上 + public_long: 所有人可见 unlisted: 悄悄公开 unlisted_long: 对所有人可见,但不出现在公共时间线上 statuses_cleanup: @@ -1910,7 +1910,7 @@ zh-CN: feature_moderation_title: 管理,本应如此 follow_action: 关注 follow_step: 关注有趣的人,这就是 Mastodon 的意义所在。 - follow_title: 个性化你的首页动态 + follow_title: 个性化你的主页动态 follows_subtitle: 关注知名账户 follows_title: 推荐关注 follows_view_more: 查看更多可关注的人 diff --git a/config/locales/zh-TW.yml b/config/locales/zh-TW.yml index 701ea0ea537b41..d14bfee1b4acf5 100644 --- a/config/locales/zh-TW.yml +++ b/config/locales/zh-TW.yml @@ -1904,7 +1904,7 @@ zh-TW: feature_action: 了解更多 feature_audience: Mastodon 為您打開了一扇獨特的門,使您不受平台干擾,自由地管理您的受眾。只需將 Mastodon 部署於您自己的基礎設施上,您便能與線上任何 Mastodon 伺服器互動,而且控制權只在您手中。 feature_audience_title: 自信地建立您的受眾 - feature_control: 您最清楚自己想於首頁動態看到什麼內容,別讓演算法與廣告浪費您寶貴的時間。自同一帳號跟隨任何 Mastodon 伺服器上的任何一個人,依時間順序接收他們的嘟文,建立屬於自己的網路小角落。 + feature_control: 您最清楚自己想於首頁時間軸看到什麼內容,別讓演算法與廣告浪費您寶貴的時間。自同一帳號跟隨任何 Mastodon 伺服器上的任何一個人,依時間順序接收他們的嘟文,建立屬於自己的網路小角落。 feature_control_title: 掌控自己的時間軸 feature_creativity: Mastodon 支援音訊、影片及圖片嘟文、無障礙說明文字、投票、內容警告、動畫大頭貼、自訂 emoji 表情符號、縮圖裁剪控制等等,協助您表達自我。無論是發佈藝術作品、音樂,或是 podcast,Mastodon 將隨時陪伴著您。 feature_creativity_title: 無與倫比的創意 From 7fb0880e1e8325973ef2774f9fea159495d647d4 Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Mon, 25 Nov 2024 09:17:52 +0100 Subject: [PATCH 291/357] Update dependency husky to v9.1.7 (#33058) 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 20d00347b8b78b..86fbc7e1846105 100644 --- a/yarn.lock +++ b/yarn.lock @@ -9534,11 +9534,11 @@ __metadata: linkType: hard "husky@npm:^9.0.11": - version: 9.1.6 - resolution: "husky@npm:9.1.6" + version: 9.1.7 + resolution: "husky@npm:9.1.7" bin: husky: bin.js - checksum: 10c0/705673db4a247c1febd9c5df5f6a3519106cf0335845027bb50a15fba9b1f542cb2610932ede96fd08008f6d9f49db0f15560509861808b0031cdc0e7c798bac + checksum: 10c0/35bb110a71086c48906aa7cd3ed4913fb913823715359d65e32e0b964cb1e255593b0ae8014a5005c66a68e6fa66c38dcfa8056dbbdfb8b0187c0ffe7ee3a58f languageName: node linkType: hard From fd90f04f0ea630f24d69084263b3a1fa90e479e7 Mon Sep 17 00:00:00 2001 From: Matt Jankowski Date: Mon, 25 Nov 2024 03:18:07 -0500 Subject: [PATCH 292/357] Add coverage for `UserRole` validations (#33029) --- spec/models/user_role_spec.rb | 64 ++++++++++++++++++++++++++++++++++- 1 file changed, 63 insertions(+), 1 deletion(-) diff --git a/spec/models/user_role_spec.rb b/spec/models/user_role_spec.rb index 4ab66c32601951..4ad7e04217d701 100644 --- a/spec/models/user_role_spec.rb +++ b/spec/models/user_role_spec.rb @@ -3,9 +3,69 @@ require 'rails_helper' RSpec.describe UserRole do - subject { described_class.create(name: 'Foo', position: 1) } + describe 'Validations' do + describe 'name' do + context 'when everyone' do + subject { described_class.everyone } + + it { is_expected.to_not validate_presence_of(:name) } + end + + context 'when not everyone' do + subject { Fabricate.build :user_role } + + it { is_expected.to validate_presence_of(:name) } + end + end + + describe 'color' do + it { is_expected.to allow_values('#112233', '#aabbcc', '').for(:color) } + it { is_expected.to_not allow_values('x', '112233445566', '#xxyyzz').for(:color) } + end + + context 'when current_account is set' do + subject { Fabricate :user_role } + + let(:account) { Fabricate :account } + + before { subject.current_account = account } + + it { is_expected.to_not allow_value(999_999).for(:position).with_message(:elevated) } + + it { is_expected.to_not allow_value(999_999).for(:permissions).against(:permissions_as_keys).with_message(:elevated) } + + context 'when current_account is changing their own role' do + let(:account) { Fabricate :account, user: Fabricate(:user, role: subject) } + + it { is_expected.to_not allow_value(100).for(:permissions).against(:permissions_as_keys).with_message(:own_role) } + it { is_expected.to_not allow_value(100).for(:position).with_message(:own_role) } + end + end + end + + describe 'Callback for position' do + context 'when everyone' do + subject { Fabricate.build :user_role, id: described_class::EVERYONE_ROLE_ID } + + it 'sets the position to nobody position' do + expect { subject.valid? } + .to change(subject, :position).to(described_class::NOBODY_POSITION) + end + end + + context 'when not everyone' do + subject { Fabricate.build :user_role } + + it 'does not change the position' do + expect { subject.valid? } + .to_not change(subject, :position) + end + end + end describe '#can?' do + subject { Fabricate :user_role } + context 'with a single flag' do it 'returns true if any of them are present' do subject.permissions = described_class::FLAGS[:manage_reports] @@ -92,6 +152,8 @@ end describe '#computed_permissions' do + subject { Fabricate :user_role } + context 'when the role is nobody' do subject { described_class.nobody } From ab9c62e8c7d71296f426b8c1a8c5c892bc570523 Mon Sep 17 00:00:00 2001 From: Matt Jankowski Date: Mon, 25 Nov 2024 03:18:10 -0500 Subject: [PATCH 293/357] Add coverage for `User` validations (#33028) --- spec/models/user_spec.rb | 49 +++++++++++++++++++++++++++++++--------- 1 file changed, 38 insertions(+), 11 deletions(-) diff --git a/spec/models/user_spec.rb b/spec/models/user_spec.rb index 9a5a070d25d79d..f39b80c942f3ca 100644 --- a/spec/models/user_spec.rb +++ b/spec/models/user_spec.rb @@ -33,14 +33,12 @@ end end - describe 'validations' do + describe 'Associations' do it { is_expected.to belong_to(:account).required } + end - it 'is invalid without a valid email' do - user = Fabricate.build(:user, email: 'john@') - user.valid? - expect(user).to model_have_error_on_field(:email) - end + describe 'Validations' do + it { is_expected.to_not allow_value('john@').for(:email) } it 'is valid with an invalid e-mail that has already been saved' do user = Fabricate.build(:user, email: 'invalid-email') @@ -48,11 +46,7 @@ expect(user.valid?).to be true end - it 'is valid with a localhost e-mail address' do - user = Fabricate.build(:user, email: 'admin@localhost') - user.valid? - expect(user.valid?).to be true - end + it { is_expected.to allow_value('admin@localhost').for(:email) } end describe 'Normalizations' do @@ -183,6 +177,39 @@ def within_duration_window_days end end + describe '#update_sign_in!' do + context 'with an existing user' do + let!(:user) { Fabricate :user, last_sign_in_at: 10.days.ago, current_sign_in_at: 1.hour.ago, sign_in_count: 123 } + + context 'with new sign in false' do + it 'updates timestamps but not counts' do + expect { user.update_sign_in!(new_sign_in: false) } + .to change(user, :last_sign_in_at) + .and change(user, :current_sign_in_at) + .and not_change(user, :sign_in_count) + end + end + + context 'with new sign in true' do + it 'updates timestamps and counts' do + expect { user.update_sign_in!(new_sign_in: true) } + .to change(user, :last_sign_in_at) + .and change(user, :current_sign_in_at) + .and change(user, :sign_in_count).by(1) + end + end + end + + context 'with a new user' do + let(:user) { Fabricate.build :user } + + it 'does not persist the user' do + expect { user.update_sign_in! } + .to_not change(user, :persisted?).from(false) + end + end + end + describe '#confirmed?' do it 'returns true when a confirmed_at is set' do user = Fabricate.build(:user, confirmed_at: Time.now.utc) From 74df47ad9cc5801041b4fc19d542bc79f000026c Mon Sep 17 00:00:00 2001 From: Matt Jankowski Date: Mon, 25 Nov 2024 03:19:16 -0500 Subject: [PATCH 294/357] Add coverage for `Webhook` validations (#33026) --- app/models/webhook.rb | 2 +- spec/models/webhook_spec.rb | 116 +++++++++++++++++++++++++++++++++--- 2 files changed, 108 insertions(+), 10 deletions(-) diff --git a/app/models/webhook.rb b/app/models/webhook.rb index 304b2b1f184861..f9d6564c923615 100644 --- a/app/models/webhook.rb +++ b/app/models/webhook.rb @@ -53,7 +53,7 @@ def disable! end def required_permissions - events.map { |event| Webhook.permission_for_event(event) } + events.map { |event| Webhook.permission_for_event(event) }.uniq end def self.permission_for_event(event) diff --git a/spec/models/webhook_spec.rb b/spec/models/webhook_spec.rb index 03ef1dcc68e2e9..18a6047dd0b53e 100644 --- a/spec/models/webhook_spec.rb +++ b/spec/models/webhook_spec.rb @@ -6,20 +6,28 @@ let(:webhook) { Fabricate(:webhook) } describe 'Validations' do + subject { Fabricate.build :webhook } + it { is_expected.to validate_presence_of(:events) } - it 'requires non-empty events value' do - record = described_class.new(events: []) - record.valid? + it { is_expected.to_not allow_values([], %w(account.invalid)).for(:events) } - expect(record).to model_have_error_on_field(:events) - end + it { is_expected.to_not allow_values('{{account }').for(:template) } + + context 'when current_account is assigned' do + subject { Fabricate.build :webhook, current_account: account } - it 'requires valid events value from EVENTS' do - record = described_class.new(events: ['account.invalid']) - record.valid? + context 'with account that has permissions' do + let(:account) { Fabricate(:user, role: UserRole.find_by(name: 'Admin')).account } - expect(record).to model_have_error_on_field(:events) + it { is_expected.to allow_values(%w(account.created)).for(:events) } + end + + context 'with account lacking permissions' do + let(:account) { Fabricate :account } + + it { is_expected.to_not allow_values(%w(account.created)).for(:events) } + end end end @@ -29,6 +37,96 @@ end end + describe 'Callbacks' do + describe 'Generating a secret' do + context 'when secret exists already' do + subject { described_class.new(secret: 'secret') } + + it 'does not override' do + expect { subject.valid? } + .to_not change(subject, :secret) + end + end + + context 'when secret does not exist' do + subject { described_class.new(secret: nil) } + + it 'does not override' do + expect { subject.valid? } + .to change(subject, :secret) + end + end + end + end + + describe '.permission_for_event' do + subject { described_class.permission_for_event(event) } + + context 'with a nil value' do + let(:event) { nil } + + it { is_expected.to be_nil } + end + + context 'with an account approved event' do + let(:event) { 'account.approved' } + + it { is_expected.to eq(:manage_users) } + end + + context 'with an account created event' do + let(:event) { 'account.created' } + + it { is_expected.to eq(:manage_users) } + end + + context 'with an account updated event' do + let(:event) { 'account.updated' } + + it { is_expected.to eq(:manage_users) } + end + + context 'with an report created event' do + let(:event) { 'report.created' } + + it { is_expected.to eq(:manage_reports) } + end + + context 'with an report updated event' do + let(:event) { 'report.updated' } + + it { is_expected.to eq(:manage_reports) } + end + + context 'with an status created event' do + let(:event) { 'status.created' } + + it { is_expected.to eq(:view_devops) } + end + + context 'with an status updated event' do + let(:event) { 'status.updated' } + + it { is_expected.to eq(:view_devops) } + end + end + + describe '#required_permissions' do + subject { described_class.new(events:).required_permissions } + + context 'with empty events' do + let(:events) { [] } + + it { is_expected.to eq([]) } + end + + context 'with multiple event types' do + let(:events) { %w(account.created account.updated status.created) } + + it { is_expected.to eq %i(manage_users view_devops) } + end + end + describe '#rotate_secret!' do it 'changes the secret' do expect { webhook.rotate_secret! } From 1be83c698231b1d4dacbf2a092af3dfba6faffbb Mon Sep 17 00:00:00 2001 From: Claire Date: Mon, 25 Nov 2024 10:18:06 +0100 Subject: [PATCH 295/357] Fix username and display name being hidden on narrow screens in moderation interface (#33064) --- app/javascript/styles/mastodon/widgets.scss | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/app/javascript/styles/mastodon/widgets.scss b/app/javascript/styles/mastodon/widgets.scss index e1e8797460ac45..f4670690527b30 100644 --- a/app/javascript/styles/mastodon/widgets.scss +++ b/app/javascript/styles/mastodon/widgets.scss @@ -82,9 +82,9 @@ .accounts-table { width: 100%; - table-layout: fixed; .account { + max-width: calc(56px + 30ch); padding: 0; border: 0; } From 1a88c052746e2454497e25e9c7d41f290468cf83 Mon Sep 17 00:00:00 2001 From: Eugen Rochko Date: Mon, 25 Nov 2024 11:23:09 +0100 Subject: [PATCH 296/357] Fix arrow in the wrong place on empty list members screen in web UI (#33054) --- app/javascript/mastodon/features/lists/members.tsx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/app/javascript/mastodon/features/lists/members.tsx b/app/javascript/mastodon/features/lists/members.tsx index bdd5064ce43522..a1b50ffaf8fd53 100644 --- a/app/javascript/mastodon/features/lists/members.tsx +++ b/app/javascript/mastodon/features/lists/members.tsx @@ -312,7 +312,7 @@ const ListMembers: React.FC<{ footer={ mode === 'remove' && ( <> -
+ {displayedAccountIds.length > 0 &&
}
From 2d8fed23e62521c2aba5cdbd5380906e955c665e Mon Sep 17 00:00:00 2001 From: Claire Date: Mon, 25 Nov 2024 11:27:58 +0100 Subject: [PATCH 297/357] Fix `TagFollow` records not being correctly handled in account operations (#33063) --- app/models/concerns/account/interactions.rb | 3 +++ app/models/concerns/account/merging.rb | 2 +- app/services/delete_account_service.rb | 1 + lib/mastodon/cli/maintenance.rb | 2 ++ 4 files changed, 7 insertions(+), 1 deletion(-) diff --git a/app/models/concerns/account/interactions.rb b/app/models/concerns/account/interactions.rb index 6f6b8c16d016a5..6e2dc9126cf3df 100644 --- a/app/models/concerns/account/interactions.rb +++ b/app/models/concerns/account/interactions.rb @@ -88,6 +88,9 @@ def follow_mapping(query, field) has_many :remote_severed_relationships, foreign_key: 'remote_account_id', inverse_of: :remote_account end + # Hashtag follows + has_many :tag_follows, inverse_of: :account, dependent: :destroy + # Account notes has_many :account_notes, dependent: :destroy diff --git a/app/models/concerns/account/merging.rb b/app/models/concerns/account/merging.rb index bd8b162238b030..181061c37e248f 100644 --- a/app/models/concerns/account/merging.rb +++ b/app/models/concerns/account/merging.rb @@ -16,7 +16,7 @@ def merge_with!(other_account) Follow, FollowRequest, Block, Mute, AccountModerationNote, AccountPin, AccountStat, ListAccount, PollVote, Mention, AccountDeletionRequest, AccountNote, FollowRecommendationSuppression, - Appeal + Appeal, TagFollow ] owned_classes.each do |klass| diff --git a/app/services/delete_account_service.rb b/app/services/delete_account_service.rb index 0c03267d43d0b3..7d06302af5ae88 100644 --- a/app/services/delete_account_service.rb +++ b/app/services/delete_account_service.rb @@ -50,6 +50,7 @@ class DeleteAccountService < BaseService owned_lists scheduled_statuses status_pins + tag_follows ) ASSOCIATIONS_ON_DESTROY = %w( diff --git a/lib/mastodon/cli/maintenance.rb b/lib/mastodon/cli/maintenance.rb index 0b84047a1cb161..532fbc328ad471 100644 --- a/lib/mastodon/cli/maintenance.rb +++ b/lib/mastodon/cli/maintenance.rb @@ -43,6 +43,7 @@ class Webhook < ApplicationRecord; end class BulkImport < ApplicationRecord; end class SoftwareUpdate < ApplicationRecord; end class SeveredRelationship < ApplicationRecord; end + class TagFollow < ApplicationRecord; end class DomainBlock < ApplicationRecord enum :severity, { silence: 0, suspend: 1, noop: 2 } @@ -102,6 +103,7 @@ def merge_with!(other_account) owned_classes << AccountIdentityProof if db_table_exists?(:account_identity_proofs) owned_classes << Appeal if db_table_exists?(:appeals) owned_classes << BulkImport if db_table_exists?(:bulk_imports) + owned_classes << TagFollow if db_table_exists?(:tag_follows) owned_classes.each do |klass| klass.where(account_id: other_account.id).find_each do |record| From 9a7130d6daf8f41962de03995592924e40cff0b3 Mon Sep 17 00:00:00 2001 From: Claire Date: Mon, 25 Nov 2024 16:54:18 +0100 Subject: [PATCH 298/357] Fix direct inbox delivery pushing posts into inactive followers' timelines (#33067) --- app/lib/feed_manager.rb | 5 ++++- app/models/user.rb | 4 ++++ 2 files changed, 8 insertions(+), 1 deletion(-) diff --git a/app/lib/feed_manager.rb b/app/lib/feed_manager.rb index edd1162f4f689a..74bf534e805710 100644 --- a/app/lib/feed_manager.rb +++ b/app/lib/feed_manager.rb @@ -58,6 +58,7 @@ def filter?(timeline_type, status, receiver) # @param [Boolean] update # @return [Boolean] def push_to_home(account, status, update: false) + return false unless account.user&.signed_in_recently? return false unless add_to_feed(:home, account.id, status, aggregate_reblogs: account.user&.aggregates_reblogs?) trim(:home, account.id) @@ -83,7 +84,9 @@ def unpush_from_home(account, status, update: false) # @param [Boolean] update # @return [Boolean] def push_to_list(list, status, update: false) - return false if filter_from_list?(status, list) || !add_to_feed(:list, list.id, status, aggregate_reblogs: list.account.user&.aggregates_reblogs?) + return false if filter_from_list?(status, list) + return false unless list.account.user&.signed_in_recently? + return false unless add_to_feed(:list, list.id, status, aggregate_reblogs: list.account.user&.aggregates_reblogs?) trim(:list, list.id) PushUpdateWorker.perform_async(list.account_id, status.id, "timeline:list:#{list.id}", { 'update' => update }) if push_update_required?("timeline:list:#{list.id}") diff --git a/app/models/user.rb b/app/models/user.rb index c90a78f0cc0be4..310ec77a153859 100644 --- a/app/models/user.rb +++ b/app/models/user.rb @@ -165,6 +165,10 @@ def role end end + def signed_in_recently? + current_sign_in_at.present? && current_sign_in_at >= ACTIVE_DURATION.ago + end + def confirmed? confirmed_at.present? end From 6d62581da125856934438cf95c7eee5f8ed0979b Mon Sep 17 00:00:00 2001 From: Matt Jankowski Date: Mon, 25 Nov 2024 11:49:24 -0500 Subject: [PATCH 299/357] =?UTF-8?q?Update=20=E2=9C=A8binstub=E2=9C=A8=20te?= =?UTF-8?q?mplates=20(#32335)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .github/workflows/bundler-audit.yml | 2 +- .github/workflows/check-i18n.yml | 10 +++---- .github/workflows/crowdin-download-stable.yml | 2 +- .github/workflows/crowdin-download.yml | 2 +- .github/workflows/lint-haml.yml | 2 +- Gemfile.lock | 4 +-- bin/bundler-audit | 27 +++++++++++++++++++ bin/haml-lint | 27 +++++++++++++++++++ bin/i18n-tasks | 27 +++++++++++++++++++ bin/rspec | 16 ++++++++--- lint-staged.config.js | 2 +- 11 files changed, 106 insertions(+), 15 deletions(-) create mode 100755 bin/bundler-audit create mode 100755 bin/haml-lint create mode 100755 bin/i18n-tasks diff --git a/.github/workflows/bundler-audit.yml b/.github/workflows/bundler-audit.yml index 2341d6e67f6241..fa28d28f740c45 100644 --- a/.github/workflows/bundler-audit.yml +++ b/.github/workflows/bundler-audit.yml @@ -36,4 +36,4 @@ jobs: bundler-cache: true - name: Run bundler-audit - run: bundle exec bundler-audit check --update + run: bin/bundler-audit check --update diff --git a/.github/workflows/check-i18n.yml b/.github/workflows/check-i18n.yml index 7c1004329cc166..4f87f0fe5f5928 100644 --- a/.github/workflows/check-i18n.yml +++ b/.github/workflows/check-i18n.yml @@ -35,18 +35,18 @@ jobs: git diff --exit-code - name: Check locale file normalization - run: bundle exec i18n-tasks check-normalized + run: bin/i18n-tasks check-normalized - name: Check for unused strings - run: bundle exec i18n-tasks unused + run: bin/i18n-tasks unused - name: Check for missing strings in English YML run: | - bundle exec i18n-tasks add-missing -l en + bin/i18n-tasks add-missing -l en git diff --exit-code - name: Check for wrong string interpolations - run: bundle exec i18n-tasks check-consistent-interpolations + run: bin/i18n-tasks check-consistent-interpolations - name: Check that all required locale files exist - run: bundle exec rake repo:check_locales_files + run: bin/rake repo:check_locales_files diff --git a/.github/workflows/crowdin-download-stable.yml b/.github/workflows/crowdin-download-stable.yml index de21e2e58fcfff..ef28258ccac346 100644 --- a/.github/workflows/crowdin-download-stable.yml +++ b/.github/workflows/crowdin-download-stable.yml @@ -46,7 +46,7 @@ jobs: uses: ./.github/actions/setup-ruby - name: Run i18n normalize task - run: bundle exec i18n-tasks normalize + run: bin/i18n-tasks normalize # Create or update the pull request - name: Create Pull Request diff --git a/.github/workflows/crowdin-download.yml b/.github/workflows/crowdin-download.yml index 900899dd526474..e9b909b9e091bf 100644 --- a/.github/workflows/crowdin-download.yml +++ b/.github/workflows/crowdin-download.yml @@ -48,7 +48,7 @@ jobs: uses: ./.github/actions/setup-ruby - name: Run i18n normalize task - run: bundle exec i18n-tasks normalize + run: bin/i18n-tasks normalize # Create or update the pull request - name: Create Pull Request diff --git a/.github/workflows/lint-haml.yml b/.github/workflows/lint-haml.yml index a1a9e99c902bfb..499be2010adc99 100644 --- a/.github/workflows/lint-haml.yml +++ b/.github/workflows/lint-haml.yml @@ -43,4 +43,4 @@ jobs: - name: Run haml-lint run: | echo "::add-matcher::.github/workflows/haml-lint-problem-matcher.json" - bundle exec haml-lint --reporter github + bin/haml-lint --reporter github diff --git a/Gemfile.lock b/Gemfile.lock index 842d25dd1b7634..e87224236b4305 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -1031,7 +1031,7 @@ DEPENDENCIES xorcist (~> 1.1) RUBY VERSION - ruby 3.3.5p100 + ruby 3.3.6p108 BUNDLED WITH - 2.5.22 + 2.5.23 diff --git a/bin/bundler-audit b/bin/bundler-audit new file mode 100755 index 00000000000000..334a73784f96f8 --- /dev/null +++ b/bin/bundler-audit @@ -0,0 +1,27 @@ +#!/usr/bin/env ruby +# frozen_string_literal: true + +# +# This file was generated by Bundler. +# +# The application 'bundler-audit' is installed as part of a gem, and +# this file is here to facilitate running it. +# + +ENV["BUNDLE_GEMFILE"] ||= File.expand_path("../Gemfile", __dir__) + +bundle_binstub = File.expand_path("bundle", __dir__) + +if File.file?(bundle_binstub) + if File.read(bundle_binstub, 300).include?("This file was generated by Bundler") + load(bundle_binstub) + else + abort("Your `bin/bundle` was not generated by Bundler, so this binstub cannot run. +Replace `bin/bundle` by running `bundle binstubs bundler --force`, then run this command again.") + end +end + +require "rubygems" +require "bundler/setup" + +load Gem.bin_path("bundler-audit", "bundler-audit") diff --git a/bin/haml-lint b/bin/haml-lint new file mode 100755 index 00000000000000..bd557394007103 --- /dev/null +++ b/bin/haml-lint @@ -0,0 +1,27 @@ +#!/usr/bin/env ruby +# frozen_string_literal: true + +# +# This file was generated by Bundler. +# +# The application 'haml-lint' is installed as part of a gem, and +# this file is here to facilitate running it. +# + +ENV["BUNDLE_GEMFILE"] ||= File.expand_path("../Gemfile", __dir__) + +bundle_binstub = File.expand_path("bundle", __dir__) + +if File.file?(bundle_binstub) + if File.read(bundle_binstub, 300).include?("This file was generated by Bundler") + load(bundle_binstub) + else + abort("Your `bin/bundle` was not generated by Bundler, so this binstub cannot run. +Replace `bin/bundle` by running `bundle binstubs bundler --force`, then run this command again.") + end +end + +require "rubygems" +require "bundler/setup" + +load Gem.bin_path("haml_lint", "haml-lint") diff --git a/bin/i18n-tasks b/bin/i18n-tasks new file mode 100755 index 00000000000000..22cbc1f1b14735 --- /dev/null +++ b/bin/i18n-tasks @@ -0,0 +1,27 @@ +#!/usr/bin/env ruby +# frozen_string_literal: true + +# +# This file was generated by Bundler. +# +# The application 'i18n-tasks' is installed as part of a gem, and +# this file is here to facilitate running it. +# + +ENV["BUNDLE_GEMFILE"] ||= File.expand_path("../Gemfile", __dir__) + +bundle_binstub = File.expand_path("bundle", __dir__) + +if File.file?(bundle_binstub) + if File.read(bundle_binstub, 300).include?("This file was generated by Bundler") + load(bundle_binstub) + else + abort("Your `bin/bundle` was not generated by Bundler, so this binstub cannot run. +Replace `bin/bundle` by running `bundle binstubs bundler --force`, then run this command again.") + end +end + +require "rubygems" +require "bundler/setup" + +load Gem.bin_path("i18n-tasks", "i18n-tasks") diff --git a/bin/rspec b/bin/rspec index d738b23c0bab90..cb53ebe5f00cfd 100755 --- a/bin/rspec +++ b/bin/rspec @@ -1,5 +1,6 @@ #!/usr/bin/env ruby # frozen_string_literal: true + # # This file was generated by Bundler. # @@ -7,9 +8,18 @@ # this file is here to facilitate running it. # -require "pathname" -ENV["BUNDLE_GEMFILE"] ||= File.expand_path("../../Gemfile", - Pathname.new(__FILE__).realpath) +ENV["BUNDLE_GEMFILE"] ||= File.expand_path("../Gemfile", __dir__) + +bundle_binstub = File.expand_path("bundle", __dir__) + +if File.file?(bundle_binstub) + if File.read(bundle_binstub, 300).include?("This file was generated by Bundler") + load(bundle_binstub) + else + abort("Your `bin/bundle` was not generated by Bundler, so this binstub cannot run. +Replace `bin/bundle` by running `bundle binstubs bundler --force`, then run this command again.") + end +end require "rubygems" require "bundler/setup" diff --git a/lint-staged.config.js b/lint-staged.config.js index 6740def512a98c..1ee6962c2a2e13 100644 --- a/lint-staged.config.js +++ b/lint-staged.config.js @@ -3,7 +3,7 @@ const config = { 'Capfile|Gemfile|*.{rb,ruby,ru,rake}': 'bin/rubocop --force-exclusion -a', '*.{js,jsx,ts,tsx}': 'eslint --fix', '*.{css,scss}': 'stylelint --fix', - '*.haml': 'bundle exec haml-lint -a', + '*.haml': 'bin/haml-lint -a', '**/*.ts?(x)': () => 'tsc -p tsconfig.json --noEmit', }; From 0ea9d8164b8f5a45b0c636a654b732018f6cb1e6 Mon Sep 17 00:00:00 2001 From: Matt Jankowski Date: Tue, 26 Nov 2024 02:19:20 -0500 Subject: [PATCH 300/357] Remove `body_class_string` helper (#33072) --- app/controllers/application_controller.rb | 5 ----- app/helpers/application_helper.rb | 2 +- spec/helpers/application_helper_spec.rb | 20 +++++++++++++------- 3 files changed, 14 insertions(+), 13 deletions(-) diff --git a/app/controllers/application_controller.rb b/app/controllers/application_controller.rb index d493bd43bf9beb..7a858ed05948c6 100644 --- a/app/controllers/application_controller.rb +++ b/app/controllers/application_controller.rb @@ -22,7 +22,6 @@ class ApplicationController < ActionController::Base helper_method :use_seamless_external_login? helper_method :sso_account_settings helper_method :limited_federation_mode? - helper_method :body_class_string helper_method :skip_csrf_meta_tags? rescue_from ActionController::ParameterMissing, Paperclip::AdapterRegistry::NoHandlerError, with: :bad_request @@ -158,10 +157,6 @@ def current_theme current_user.setting_theme end - def body_class_string - @body_classes || '' - end - def respond_with_error(code) respond_to do |format| format.any { render "errors/#{code}", layout: 'error', status: code, formats: [:html] } diff --git a/app/helpers/application_helper.rb b/app/helpers/application_helper.rb index 3d5025724f97ca..9861ee7e8ebcb9 100644 --- a/app/helpers/application_helper.rb +++ b/app/helpers/application_helper.rb @@ -143,7 +143,7 @@ def opengraph(property, content) end def body_classes - output = body_class_string.split + output = [] output << content_for(:body_classes) output << "theme-#{current_theme.parameterize}" output << 'system-font' if current_account&.user&.setting_system_font_ui diff --git a/spec/helpers/application_helper_spec.rb b/spec/helpers/application_helper_spec.rb index 557d08e851d931..942cc5103c5676 100644 --- a/spec/helpers/application_helper_spec.rb +++ b/spec/helpers/application_helper_spec.rb @@ -5,12 +5,20 @@ RSpec.describe ApplicationHelper do describe 'body_classes' do context 'with a body class string from a controller' do - before { helper.extend controller_helpers } + before do + user = Fabricate :user + user.settings['web.use_system_font'] = true + user.settings['web.reduce_motion'] = true + user.save + + helper.extend controller_helpers + end - it 'uses the controller body classes in the result' do + it 'uses the current theme and user settings classes in the result' do expect(helper.body_classes) - .to match(/modal-layout compose-standalone/) - .and match(/theme-default/) + .to match(/theme-default/) + .and match(/system-font/) + .and match(/reduce-motion/) end it 'includes values set via content_for' do @@ -24,10 +32,8 @@ def controller_helpers Module.new do - def body_class_string = 'modal-layout compose-standalone' - def current_account - @current_account ||= Fabricate(:account) + @current_account ||= Fabricate(:account, user: User.last) end def current_theme = 'default' From 3e901d108c5a73212e1f2a648456f1b12a3c32ed Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Tue, 26 Nov 2024 08:19:35 +0100 Subject: [PATCH 301/357] Update dependency selenium-webdriver to v4.27.0 (#33071) 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 e87224236b4305..cfda83d324448b 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -752,7 +752,7 @@ GEM activerecord (>= 4.0.0) railties (>= 4.0.0) securerandom (0.3.2) - selenium-webdriver (4.26.0) + selenium-webdriver (4.27.0) base64 (~> 0.2) logger (~> 1.4) rexml (~> 3.2, >= 3.2.5) From 36496f4d73f30cfa0a22706b574c8ca57b4f0c4a Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Tue, 26 Nov 2024 08:19:48 +0100 Subject: [PATCH 302/357] Update Yarn to v4.5.3 (#33069) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> --- package.json | 2 +- streaming/package.json | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/package.json b/package.json index 4eb95d438934be..e9f63640268720 100644 --- a/package.json +++ b/package.json @@ -1,7 +1,7 @@ { "name": "@mastodon/mastodon", "license": "AGPL-3.0-or-later", - "packageManager": "yarn@4.5.2", + "packageManager": "yarn@4.5.3", "engines": { "node": ">=18" }, diff --git a/streaming/package.json b/streaming/package.json index 521544f42b7229..e40d262378b25e 100644 --- a/streaming/package.json +++ b/streaming/package.json @@ -1,7 +1,7 @@ { "name": "@mastodon/streaming", "license": "AGPL-3.0-or-later", - "packageManager": "yarn@4.5.2", + "packageManager": "yarn@4.5.3", "engines": { "node": ">=18" }, From 6b1dd1bf2a7ac4658a06b5846cf9107f4462f004 Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" <41898282+github-actions[bot]@users.noreply.github.com> Date: Tue, 26 Nov 2024 08:24:28 +0100 Subject: [PATCH 303/357] New Crowdin Translations (automated) (#33074) Co-authored-by: GitHub Actions --- app/javascript/mastodon/locales/zh-CN.json | 34 ++++++++--------- config/locales/bg.yml | 6 +++ config/locales/de.yml | 18 ++++----- config/locales/doorkeeper.zh-CN.yml | 6 +-- config/locales/es-AR.yml | 14 +++---- config/locales/simple_form.de.yml | 2 +- config/locales/zh-CN.yml | 44 +++++++++++----------- 7 files changed, 65 insertions(+), 59 deletions(-) diff --git a/app/javascript/mastodon/locales/zh-CN.json b/app/javascript/mastodon/locales/zh-CN.json index 404622516425a8..6d86ed477ebd85 100644 --- a/app/javascript/mastodon/locales/zh-CN.json +++ b/app/javascript/mastodon/locales/zh-CN.json @@ -26,8 +26,8 @@ "account.domain_blocked": "域名已屏蔽", "account.edit_profile": "修改个人资料", "account.enable_notifications": "当 @{name} 发布嘟文时通知我", - "account.endorse": "在个人资料中推荐此用户", - "account.featured_tags.last_status_at": "最近发言于 {date}", + "account.endorse": "在账户页推荐此用户", + "account.featured_tags.last_status_at": "上次发言于 {date}", "account.featured_tags.last_status_never": "暂无嘟文", "account.featured_tags.title": "{name} 的精选标签", "account.follow": "关注", @@ -105,7 +105,7 @@ "annual_report.summary.new_posts.new_posts": "发嘟", "annual_report.summary.percentile.text": "这使你跻身 Mastodon 用户的前", "annual_report.summary.percentile.we_wont_tell_bernie": "我们打死也不会告诉扣税国王的(他知道的话要来收你发嘟税了)。", - "annual_report.summary.thanks": "感谢你这一年与 Mastodon 一路同行!", + "annual_report.summary.thanks": "感谢你这一年和 Mastodon 上的大家一起嘟嘟!", "attachments_list.unprocessed": "(未处理)", "audio.hide": "隐藏音频", "block_modal.remote_users_caveat": "我们将要求服务器 {domain} 尊重你的决定。然而,我们无法保证对方一定遵从,因为某些服务器可能会以不同的方案处理屏蔽操作。公开嘟文仍然可能对未登录的用户可见。", @@ -138,7 +138,7 @@ "closed_registrations_modal.title": "注册 Mastodon 账号", "column.about": "关于", "column.blocks": "屏蔽的用户", - "column.bookmarks": "书签", + "column.bookmarks": "收藏夹", "column.community": "本站时间线", "column.create_list": "创建列表", "column.direct": "私下提及", @@ -510,7 +510,7 @@ "navigation_bar.administration": "管理", "navigation_bar.advanced_interface": "在高级网页界面中打开", "navigation_bar.blocks": "已屏蔽的用户", - "navigation_bar.bookmarks": "书签", + "navigation_bar.bookmarks": "收藏夹", "navigation_bar.community_timeline": "本站时间线", "navigation_bar.compose": "撰写新嘟文", "navigation_bar.direct": "私下提及", @@ -555,7 +555,7 @@ "notification.label.reply": "回复", "notification.mention": "提及", "notification.mentioned_you": "{name} 提到了你", - "notification.moderation-warning.learn_more": "了解更多", + "notification.moderation-warning.learn_more": "详细了解", "notification.moderation_warning": "你收到了一条管理警告", "notification.moderation_warning.action_delete_statuses": "你的一些嘟文已被移除。", "notification.moderation_warning.action_disable": "你的账号已被禁用。", @@ -571,7 +571,7 @@ "notification.relationships_severance_event": "与 {name} 的联系已断开", "notification.relationships_severance_event.account_suspension": "{from} 的管理员封禁了 {target},这意味着你将无法再收到对方的更新或与其互动。", "notification.relationships_severance_event.domain_block": "{from} 的管理员屏蔽了 {target},其中包括你的 {followersCount} 个关注者和 {followingCount, plural, other {# 个关注}}。", - "notification.relationships_severance_event.learn_more": "了解更多", + "notification.relationships_severance_event.learn_more": "详细了解", "notification.relationships_severance_event.user_domain_block": "你已经屏蔽了 {target},移除了你的 {followersCount} 个关注者和 {followingCount, plural, other {# 个关注}}。", "notification.status": "{name} 刚刚发布嘟文", "notification.update": "{name} 编辑了嘟文", @@ -717,11 +717,11 @@ "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.days": "{number, plural, other {# 天}}前", + "relative_time.full.hours": "{number, plural, other {# 小时}}前", "relative_time.full.just_now": "刚刚", - "relative_time.full.minutes": "{number, plural, one {# 分钟} other {# 分钟}}前", - "relative_time.full.seconds": "{number, plural, one {# 秒} other {# 秒}}前", + "relative_time.full.minutes": "{number, plural, other {# 分钟}}前", + "relative_time.full.seconds": "{number, plural, other {# 秒}}前", "relative_time.hours": "{number} 小时前", "relative_time.just_now": "刚刚", "relative_time.minutes": "{number} 分钟前", @@ -817,7 +817,7 @@ "status.admin_domain": "打开 {domain} 的管理界面", "status.admin_status": "打开此帖的管理界面", "status.block": "屏蔽 @{name}", - "status.bookmark": "添加到书签", + "status.bookmark": "收藏", "status.cancel_reblog_private": "取消转贴", "status.cannot_reblog": "这条嘟文不允许被转嘟", "status.continued_thread": "上接嘟文串", @@ -853,7 +853,7 @@ "status.reblogs": "{count, plural, other {次转嘟}}", "status.reblogs.empty": "没有人转嘟过此条嘟文。如果有人转嘟了,就会显示在这里。", "status.redraft": "删除并重新编辑", - "status.remove_bookmark": "移除书签", + "status.remove_bookmark": "取消收藏", "status.replied_in_thread": "回复给嘟文串", "status.replied_to": "回复给 {name}", "status.reply": "回复", @@ -875,11 +875,11 @@ "subscribed_languages.target": "更改 {target} 的订阅语言", "tabs_bar.home": "主页", "tabs_bar.notifications": "通知", - "time_remaining.days": "剩余 {number, plural, one {# 天} other {# 天}}", - "time_remaining.hours": "剩余 {number, plural, one {# 小时} other {# 小时}}", - "time_remaining.minutes": "剩余 {number, plural, one {# 分钟} other {# 分钟}}", + "time_remaining.days": "剩余 {number, plural, other {# 天}}", + "time_remaining.hours": "剩余 {number, plural, other {# 小时}}", + "time_remaining.minutes": "剩余 {number, plural, other {# 分钟}}", "time_remaining.moments": "即将结束", - "time_remaining.seconds": "剩余 {number, plural, one {# 秒} other {# 秒}}", + "time_remaining.seconds": "剩余 {number, plural, other {# 秒}}", "trends.counter_by_accounts": "过去 {days, plural, other {{days} 天}}有{count, plural, other { {counter} 人}}讨论", "trends.trending_now": "当前热门", "ui.beforeunload": "如果你现在离开 Mastodon,你的草稿内容将会丢失。", diff --git a/config/locales/bg.yml b/config/locales/bg.yml index 20ee1f6c681848..a51ef24262edbb 100644 --- a/config/locales/bg.yml +++ b/config/locales/bg.yml @@ -226,20 +226,26 @@ bg: approve_appeal_html: "%{name} одобри обжалването на решение за модериране от %{target}" approve_user_html: "%{name} одобри регистрирането от %{target}" assigned_to_self_report_html: "%{name} възложи на себе си доклад %{target}" + change_email_user_html: "%{name} промени адреса на имейла на потребителя %{target}" change_role_user_html: "%{name} промени ролята на %{target}" + confirm_user_html: "%{name} потвърди адреса на имейла на потребителя %{target}" create_account_warning_html: "%{name} изпрати предупреждение до %{target}" create_announcement_html: "%{name} създаде ново оповестяване %{target}" + create_canonical_email_block_html: "%{name} блокира имейл с хеш %{target}" create_custom_emoji_html: "%{name} качи ново емоджи %{target}" create_domain_allow_html: "%{name} позволи федерирането с домейн %{target}" create_domain_block_html: "%{name} блокира домейн %{target}" + create_email_domain_block_html: "%{name} блокира домейн за е-поща %{target}" create_ip_block_html: "%{name} създаде правило за IP %{target}" create_unavailable_domain_html: "%{name} спря доставянето до домейн %{target}" create_user_role_html: "%{name} създаде роля %{target}" demote_user_html: "%{name} понижи потребителя %{target}" destroy_announcement_html: "%{name} изтри оповестяване %{target}" + destroy_canonical_email_block_html: "%{name} отблокира имейла с хеш %{target}" destroy_custom_emoji_html: "%{name} изтри емоджито %{target}" destroy_domain_allow_html: "%{name} забрани федерирация с домейн %{target}" destroy_domain_block_html: "%{name} отблокира домейн %{target}" + destroy_email_domain_block_html: "%{name} отблокира домейн за е-поща %{target}" destroy_instance_html: "%{name} прочисти домейн %{target}" destroy_ip_block_html: "%{name} изтри правило за IP %{target}" destroy_status_html: "%{name} премахна публикация от %{target}" diff --git a/config/locales/de.yml b/config/locales/de.yml index 26ccc8f3ee411c..1c82b4da3f4beb 100644 --- a/config/locales/de.yml +++ b/config/locales/de.yml @@ -1180,12 +1180,12 @@ de: use_security_key: Sicherheitsschlüssel verwenden author_attribution: example_title: Beispieltext - hint_html: Schreibst du außerhalb von Mastodon Nachrichtenartikel oder betreibst du einen Blog? Bestimme, wie du Anerkennungen durch geteilte Links auf Mastodon handhaben möchtest. - instructions: 'Der nachfolgende Code muss im HTML-Code deines Artikels sein:' + hint_html: Schreibst du außerhalb von Mastodon journalistische Artikel oder andere Texte, beispielsweise in einem Blog? Lege hier fest, wann auf dein Profil verwiesen werden soll, wenn Links zu deinen Werken auf Mastodon geteilt werden. + instructions: 'Der nachfolgende Code muss im HTML-Header deines zu verlinkenden Textes stehen:' more_from_html: Mehr von %{name} s_blog: Blog von %{name} - then_instructions: Ergänze die Domain, auf der deine Inhalte veröffentlicht werden in das unten stehende Feld. - title: Anerkennung als Autor*in + then_instructions: Ergänze anschließend im unteren Feld die Domain, auf der sich deine Inhalte befinden. + title: Verifizierung als Autor*in challenge: confirm: Fortfahren hint_html: "Hinweis: Wir werden dich für die nächste Stunde nicht erneut nach deinem Passwort fragen." @@ -1625,7 +1625,7 @@ de: posting_defaults: Standardeinstellungen für Beiträge public_timelines: Öffentliche Timelines privacy: - hint_html: "Bestimme, wie dein Profil und deine Beiträge gefunden werden sollen. Eine Vielzahl von Funktionen in Mastodon können dir helfen, eine größere Reichweite zu erlangen, wenn sie aktiviert sind. Nimm dir einen Moment Zeit, um diese Einstellungen zu überprüfen und sicherzustellen, dass sie für deinen Anwendungsfall geeignet sind." + hint_html: "Bestimme selbst, wie dein Profil und deine Beiträge gefunden werden sollen. Zahlreiche Mastodon-Funktionen können dir für eine größere Reichweite behilflich sein. Nimm dir einen Moment Zeit, um diese Einstellungen zu überprüfen." privacy: Datenschutz privacy_hint_html: Bestimme, wie viele Informationen du für andere preisgeben möchtest. Viele Menschen entdecken interessante Profile und coole Apps, indem sie die Follower anderer Profile durchstöbern und die Apps sehen, über die Beiträge veröffentlicht wurden – möglicherweise möchtest du diese Informationen ausblenden. reach: Reichweite @@ -1801,7 +1801,7 @@ de: enabled: Alte Beiträge automatisch entfernen enabled_hint: Löscht automatisch deine Beiträge, sobald sie die angegebene Altersgrenze erreicht haben, es sei denn, sie entsprechen einer der unten angegebenen Ausnahmen exceptions: Ausnahmen - explanation: Damit Mastodon nicht durch das Löschen von Beiträgen ausgebremst wird, wartet der Server damit, bis wenig los ist. Aus diesem Grund werden deine Beiträge ggf. erst einige Zeit nach Erreichen der Altersgrenze gelöscht. + explanation: Damit der Server nicht durch das Löschen von Beiträgen ausgebremst wird, wartet die Mastodon-Software, bis wenig(er) los ist. Deshalb könnten deine Beiträge ggf. erst einige Zeit nach Erreichen der Altersgrenze gelöscht werden. ignore_favs: Favoriten ignorieren ignore_reblogs: Geteilte Beiträge ignorieren interaction_exceptions: Ausnahmen basierend auf Interaktionen @@ -1980,13 +1980,13 @@ de: seamless_external_login: Du bist über einen externen Dienst angemeldet, daher sind Passwort- und E-Mail-Einstellungen nicht verfügbar. signed_in_as: 'Angemeldet als:' verification: - extra_instructions_html: Hinweis: Der Link auf deiner Website kann unsichtbar sein. Der wichtige Teil ist rel="me", wodurch das Nachahmen von Personen auf Websites mit nutzergenerierten Inhalten verhindert wird. Du kannst auch ein link-Tag statt a im Header auf der Seite verwenden, jedoch muss der HTML-Code ohne das Ausführen von JavaScript zugänglich sein. + extra_instructions_html: Hinweis: Der Link auf deiner Website kann unsichtbar sein. Der wichtige Teil ist rel="me". Du kannst auch den Tag link im head (statt a im body) verwenden, jedoch muss die Internetseite ohne JavaScript abrufbar sein. here_is_how: So funktioniert’s hint_html: "Alle können ihre Identität auf Mastodon verifizieren. Basierend auf offenen Standards – jetzt und für immer kostenlos. Alles, was du brauchst, ist eine eigene Website. Wenn du von deinem Profil auf diese Website verlinkst, überprüfen wir, ob die Website zu deinem Profil zurückverlinkt, und zeigen einen visuellen Hinweis an." instructions_html: Kopiere den unten stehenden Code und füge ihn in den HTML-Code deiner Website ein. Trage anschließend die Adresse deiner Website in ein Zusatzfeld auf deinem Profil ein und speichere die Änderungen. Die Zusatzfelder befinden sich im Reiter „Profil bearbeiten“. verification: Verifizierung - verified_links: Deine verifizierten Links - website_verification: Website-Verifizierung + verified_links: Deine verifizierten Domains + website_verification: Verifizierung einer Website webauthn_credentials: add: Sicherheitsschlüssel hinzufügen create: diff --git a/config/locales/doorkeeper.zh-CN.yml b/config/locales/doorkeeper.zh-CN.yml index d14bd575f456ec..50705932e68d4e 100644 --- a/config/locales/doorkeeper.zh-CN.yml +++ b/config/locales/doorkeeper.zh-CN.yml @@ -125,7 +125,7 @@ zh-CN: admin/reports: 举报管理 all: 完全访问你的Mastodon账户 blocks: 屏蔽 - bookmarks: 书签 + bookmarks: 收藏 conversations: 会话 crypto: 端到端加密 favourites: 喜欢 @@ -172,7 +172,7 @@ zh-CN: read: 读取你的账户数据 read:accounts: 查看账号信息 read:blocks: 查看你的屏蔽列表 - read:bookmarks: 查看你的书签 + read:bookmarks: 查看你的收藏夹 read:favourites: 查看喜欢的嘟文 read:filters: 查看你的过滤规则 read:follows: 查看你的关注 @@ -185,7 +185,7 @@ zh-CN: write: 修改你的账号数据 write:accounts: 修改你的个人资料 write:blocks: 屏蔽账号和域名 - write:bookmarks: 为嘟文添加书签 + write:bookmarks: 收藏嘟文 write:conversations: 静音并删除会话 write:favourites: 喜欢嘟文 write:filters: 创建过滤规则 diff --git a/config/locales/es-AR.yml b/config/locales/es-AR.yml index 09163c2e4a0c97..170c16f0946b6e 100644 --- a/config/locales/es-AR.yml +++ b/config/locales/es-AR.yml @@ -187,7 +187,7 @@ es-AR: create_domain_block: Crear bloqueo de dominio create_email_domain_block: Crear bloqueo de dominio de correo electrónico create_ip_block: Crear regla de dirección IP - create_relay: Crear Relé + create_relay: Crear relé create_unavailable_domain: Crear dominio no disponible create_user_role: Crear rol demote_user: Descender usuario @@ -199,17 +199,17 @@ es-AR: destroy_email_domain_block: Eliminar bloqueo de dominio de correo electrónico destroy_instance: Purgar dominio destroy_ip_block: Eliminar regla de dirección IP - destroy_relay: Eliminar Relé + destroy_relay: Eliminar relé destroy_status: Eliminar mensaje destroy_unavailable_domain: Eliminar dominio no disponible destroy_user_role: Destruir rol disable_2fa_user: Deshabilitar 2FA disable_custom_emoji: Deshabilitar emoji personalizado - disable_relay: Desactivar Relé + disable_relay: Deshabilitar relé disable_sign_in_token_auth_user: Deshabilitar autenticación de token por correo electrónico para el usuario disable_user: Deshabilitar usuario enable_custom_emoji: Habilitar emoji personalizado - enable_relay: Activar Relé + enable_relay: Habilitar relé enable_sign_in_token_auth_user: Habilitar autenticación de token por correo electrónico para el usuario enable_user: Habilitar usuario memorialize_account: Convertir en cuenta conmemorativa @@ -251,7 +251,7 @@ es-AR: create_domain_block_html: "%{name} bloqueó el dominio %{target}" create_email_domain_block_html: "%{name} bloqueó el dominio de correo electrónico %{target}" create_ip_block_html: "%{name} creó la regla para la dirección IP %{target}" - create_relay_html: "%{name} creó un relé %{target}" + create_relay_html: "%{name} creó el relé %{target}" create_unavailable_domain_html: "%{name} detuvo la entrega al dominio %{target}" create_user_role_html: "%{name} creó el rol %{target}" demote_user_html: "%{name} bajó de nivel al usuario %{target}" @@ -269,11 +269,11 @@ es-AR: destroy_user_role_html: "%{name} eliminó el rol %{target}" disable_2fa_user_html: "%{name} deshabilitó el requerimiento de dos factores para el usuario %{target}" disable_custom_emoji_html: "%{name} deshabilitó el emoji %{target}" - disable_relay_html: "%{name} desactivó el relé %{target}" + disable_relay_html: "%{name} deshabilitó el relé %{target}" disable_sign_in_token_auth_user_html: "%{name} deshabilitó la autenticación de token por correo electrónico para %{target}" disable_user_html: "%{name} deshabilitó el inicio de sesión para el usuario %{target}" enable_custom_emoji_html: "%{name} habilitó el emoji %{target}" - enable_relay_html: "%{name} activó el relé %{target}" + enable_relay_html: "%{name} eliminó el relé %{target}" enable_sign_in_token_auth_user_html: "%{name} habilitó la autenticación de token por correo electrónico para %{target}" enable_user_html: "%{name} habilitó el inicio de sesión para el usuario %{target}" memorialize_account_html: "%{name} convirtió la cuenta de %{target} en una cuenta conmemorativa" diff --git a/config/locales/simple_form.de.yml b/config/locales/simple_form.de.yml index 08d5331151d903..d6d6536737c071 100644 --- a/config/locales/simple_form.de.yml +++ b/config/locales/simple_form.de.yml @@ -144,7 +144,7 @@ de: url: Wohin Ereignisse gesendet werden labels: account: - attribution_domains_as_text: Websites, die dich anerkennen dürfen + attribution_domains_as_text: Websites, die auf dich verweisen dürfen discoverable: Profil und Beiträge in Suchalgorithmen berücksichtigen fields: name: Beschriftung diff --git a/config/locales/zh-CN.yml b/config/locales/zh-CN.yml index d2170d3e115633..a87f8e64b05c8f 100644 --- a/config/locales/zh-CN.yml +++ b/config/locales/zh-CN.yml @@ -1272,7 +1272,7 @@ zh-CN: request: 请求你的存档 size: 大小 blocks: 屏蔽的用户 - bookmarks: 书签 + bookmarks: 收藏 csv: CSV domain_blocks: 域名屏蔽 lists: 列表 @@ -1361,7 +1361,7 @@ zh-CN: blocking_html: other: 你即将使用来自 %{filename} 的最多 %{count} 个账户替换你的屏蔽列表。 bookmarks_html: - other: 你即将使用来自 %{filename} 的最多 %{count} 条嘟文替换你的书签。 + other: 你即将使用来自 %{filename} 的最多 %{count} 条嘟文替换你的收藏列表。 domain_blocking_html: other: 你即将使用来自 %{filename} 的最多 %{count} 个域名替换你的域名屏蔽列表。 following_html: @@ -1374,7 +1374,7 @@ zh-CN: blocking_html: other: 你即将屏蔽来自 %{filename} 的最多 %{count} 个账号。 bookmarks_html: - other: 你即将把来自 %{filename} %{count} 篇嘟文添加到你的书签中。 + other: 你即将把来自 %{filename} %{count} 篇嘟文添加到你的收藏夹中。 domain_blocking_html: other: 你即将屏蔽来自 %{filename} 的最多 %{count} 个域名。 following_html: @@ -1395,18 +1395,18 @@ zh-CN: time_started: 开始于 titles: blocking: 正在导入被屏蔽的账户 - bookmarks: 正在导入书签 + bookmarks: 正在导入收藏 domain_blocking: 正在导入被屏蔽的域名 following: 正在导入关注的账户 lists: 导入列表 muting: 正在导入隐藏的账户 type: 导入类型 type_groups: - constructive: 关注和书签 + constructive: 关注与收藏 destructive: 屏蔽与隐藏 types: blocking: 屏蔽列表 - bookmarks: 书签 + bookmarks: 收藏 domain_blocking: 域名屏蔽列表 following: 关注列表 lists: 列表 @@ -1757,24 +1757,24 @@ zh-CN: unlisted_long: 对所有人可见,但不出现在公共时间线上 statuses_cleanup: enabled: 自动删除旧嘟文 - enabled_hint: 达到指定过期时间后自动删除你的嘟文,除非满足下列条件之一 + enabled_hint: 自动删除你发布的超过指定期限的嘟文,除非满足下列条件之一 exceptions: 例外 - explanation: 删除嘟文是一个消耗系统资源的耗时操作,所以这个操作会在服务器空闲时完成。因此,你的嘟文可能会在达到过期阈值之后一段时间才会被删除。 - ignore_favs: 取消喜欢 - ignore_reblogs: 忽略转嘟 + explanation: 删除嘟文会占用大量服务器资源,所以这个操作将在服务器空闲时完成。因此,你的嘟文可能会在达到删除期限之后一段时间才会被删除。 + ignore_favs: 喜欢数阈值 + ignore_reblogs: 转嘟数阈值 interaction_exceptions: 基于互动的例外 - interaction_exceptions_explanation: 请注意,如果嘟文超出转嘟和喜欢的阈值之后,又降到阈值以下,则可能不会被删除。 + interaction_exceptions_explanation: 请注意,如果嘟文的转嘟数和喜欢数超过保留阈值之后,又降到阈值以下,则可能不会被删除。 keep_direct: 保留私信 - keep_direct_hint: 不会删除你的任何私信 + keep_direct_hint: 不删除你的任何私信 keep_media: 保留带媒体附件的嘟文 - keep_media_hint: 不会删除任何包含媒体附件的嘟文 + keep_media_hint: 不删除任何包含媒体附件的嘟文 keep_pinned: 保留置顶嘟文 - keep_pinned_hint: 不会删除你的任何置顶嘟文 + keep_pinned_hint: 不删除你的任何置顶嘟文 keep_polls: 保留投票 - keep_polls_hint: 不会删除你的任何投票 - keep_self_bookmark: 保存被你加入书签的嘟文 - keep_self_bookmark_hint: 如果你已将自己的嘟文添加书签,就不会删除这些嘟文 - keep_self_fav: 保留你点赞的嘟文 + keep_polls_hint: 不删除你的任何投票 + keep_self_bookmark: 保存你收藏的的嘟文 + keep_self_bookmark_hint: 不删除你收藏的嘟文 + keep_self_fav: 保留你喜欢的嘟文 keep_self_fav_hint: 如果你喜欢了自己的嘟文,则不会删除这些嘟文 min_age: '1209600': 2周 @@ -1786,8 +1786,8 @@ zh-CN: '63113904': 两年 '7889238': 3个月 min_age_label: 过期阈值 - min_favs: 保留如下嘟文:点赞数超过 - min_favs_hint: 点赞数超过该阈值的的嘟文都不会被删除。如果留空,则无论嘟文获得多少点赞,都将被删除。 + min_favs: 保留如下嘟文:喜欢数超过 + min_favs_hint: 获得喜欢数超过该阈值的的嘟文都不会被删除。如果留空,则无论嘟文获得多少点赞,都将被删除。 min_reblogs: 保留如下嘟文:转嘟数超过 min_reblogs_hint: 转嘟数超过该阈值的的嘟文不会被删除。如果留空,则无论嘟文获得多少转嘟,都将被删除。 stream_entries: @@ -1899,13 +1899,13 @@ zh-CN: edit_profile_step: 完善个人资料,提升你的互动体验。 edit_profile_title: 个性化你的个人资料 explanation: 下面是几个小贴士,希望它们能帮到你 - feature_action: 了解更多 + feature_action: 详细了解 feature_audience: Mastodon 为你提供了无需中间商即可管理受众的独特可能。Mastodon 可被部署在你自己的基础设施上,允许你关注其它任何 Mastodon 在线服务器的用户,或被任何其他在线 Mastodon 服务器的用户关注,并且不受你之外的任何人控制。 feature_audience_title: 自由吸引你的受众 feature_control: 你最清楚你想在你自己的主页中看到什么动态。没有算法或广告浪费你的时间。你可以用一个账号关注任何 Mastodon 服务器上的任何人,并按时间顺序获得他们发布的嘟文,让你的互联网的角落更合自己的心意。 feature_control_title: 掌控自己的时间线 feature_creativity: Mastodon 支持音频、视频和图片、无障碍描述、投票、内容警告, 动画头像、自定义表情包、缩略图裁剪控制等功能,帮助你在网上尽情表达自己。无论你是要发布你的艺术作品、音乐还是播客,Mastodon 都能为你服务。 - feature_creativity_title: 无与伦比的创造力 + feature_creativity_title: 尽情发挥创造力 feature_moderation: Mastodon 将决策权交还给你。每个服务器都会创建自己的规则和条例,并在站点内施行,而不是像企业社交媒体那样居高临下,这使得它可以最灵活地响应不同人群的需求。加入一个你认同其规则的服务器,或托管你自己的服务器。 feature_moderation_title: 管理,本应如此 follow_action: 关注 From 72f623c391e2f27cd25cb22d78286ac9738aa8f3 Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Tue, 26 Nov 2024 07:26:47 +0000 Subject: [PATCH 304/357] Update dependency @dnd-kit/sortable to v9 (#33051) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> --- package.json | 2 +- yarn.lock | 12 ++++++------ 2 files changed, 7 insertions(+), 7 deletions(-) diff --git a/package.json b/package.json index e9f63640268720..3b828ce3f8aea2 100644 --- a/package.json +++ b/package.json @@ -43,7 +43,7 @@ "@babel/preset-typescript": "^7.21.5", "@babel/runtime": "^7.22.3", "@dnd-kit/core": "^6.1.0", - "@dnd-kit/sortable": "^8.0.0", + "@dnd-kit/sortable": "^9.0.0", "@dnd-kit/utilities": "^3.2.2", "@formatjs/intl-pluralrules": "^5.2.2", "@gamestdio/websocket": "^0.3.2", diff --git a/yarn.lock b/yarn.lock index 86fbc7e1846105..28372d6ae3cb0c 100644 --- a/yarn.lock +++ b/yarn.lock @@ -2004,16 +2004,16 @@ __metadata: languageName: node linkType: hard -"@dnd-kit/sortable@npm:^8.0.0": - version: 8.0.0 - resolution: "@dnd-kit/sortable@npm:8.0.0" +"@dnd-kit/sortable@npm:^9.0.0": + version: 9.0.0 + resolution: "@dnd-kit/sortable@npm:9.0.0" dependencies: "@dnd-kit/utilities": "npm:^3.2.2" tslib: "npm:^2.0.0" peerDependencies: - "@dnd-kit/core": ^6.1.0 + "@dnd-kit/core": ^6.2.0 react: ">=16.8.0" - checksum: 10c0/a6066c652b892c6a11320c7d8f5c18fdf723e721e8eea37f4ab657dee1ac5e7ca710ac32ce0712a57fe968bc07c13bcea5d5599d90dfdd95619e162befd4d2fb + checksum: 10c0/30566ec05371bd59729c0fb87537d78cd1760f08e4b49b5fa8298ebd3cb9f29fc258a48425c6a060b9efeca88e36a059000e770d630681986626abcc3589e97a languageName: node linkType: hard @@ -2843,7 +2843,7 @@ __metadata: "@babel/preset-typescript": "npm:^7.21.5" "@babel/runtime": "npm:^7.22.3" "@dnd-kit/core": "npm:^6.1.0" - "@dnd-kit/sortable": "npm:^8.0.0" + "@dnd-kit/sortable": "npm:^9.0.0" "@dnd-kit/utilities": "npm:^3.2.2" "@formatjs/cli": "npm:^6.1.1" "@formatjs/intl-pluralrules": "npm:^5.2.2" From b702cd74f328fa6fa3d25fbc6ff9291c79812a80 Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Tue, 26 Nov 2024 07:26:50 +0000 Subject: [PATCH 305/357] Update dependency @dnd-kit/core to v6.2.0 (#33050) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> --- yarn.lock | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/yarn.lock b/yarn.lock index 28372d6ae3cb0c..a8fde8ab511b85 100644 --- a/yarn.lock +++ b/yarn.lock @@ -1979,28 +1979,28 @@ __metadata: languageName: node linkType: hard -"@dnd-kit/accessibility@npm:^3.1.0": - version: 3.1.0 - resolution: "@dnd-kit/accessibility@npm:3.1.0" +"@dnd-kit/accessibility@npm:^3.1.1": + version: 3.1.1 + resolution: "@dnd-kit/accessibility@npm:3.1.1" dependencies: tslib: "npm:^2.0.0" peerDependencies: react: ">=16.8.0" - checksum: 10c0/4f9d24e801d66d4fbb551ec389ed90424dd4c5bbdf527000a618e9abb9833cbd84d9a79e362f470ccbccfbd6d00217a9212c92f3cef66e01c951c7f79625b9d7 + checksum: 10c0/be0bf41716dc58f9386bc36906ec1ce72b7b42b6d1d0e631d347afe9bd8714a829bd6f58a346dd089b1519e93918ae2f94497411a61a4f5e4d9247c6cfd1fef8 languageName: node linkType: hard "@dnd-kit/core@npm:^6.1.0": - version: 6.1.0 - resolution: "@dnd-kit/core@npm:6.1.0" + version: 6.2.0 + resolution: "@dnd-kit/core@npm:6.2.0" dependencies: - "@dnd-kit/accessibility": "npm:^3.1.0" + "@dnd-kit/accessibility": "npm:^3.1.1" "@dnd-kit/utilities": "npm:^3.2.2" tslib: "npm:^2.0.0" peerDependencies: react: ">=16.8.0" react-dom: ">=16.8.0" - checksum: 10c0/c793eb97cb59285ca8937ebcdfcd27cff09d750ae06722e36ca5ed07925e41abc36a38cff98f9f6056f7a07810878d76909826142a2968330e7e22060e6be584 + checksum: 10c0/478d6bb027441b0e5fa5ecd9a4da8a5876811505147303de1a5a0783a4418c5f7f464bd3eb07b4be77ef7626364d1b905dc2a4f9055093b845cf39e1d6f13b73 languageName: node linkType: hard From 6efa320feb1ea2dac253f4875559881765891cde Mon Sep 17 00:00:00 2001 From: Matt Jankowski Date: Tue, 26 Nov 2024 03:09:04 -0500 Subject: [PATCH 306/357] Fix `Style/SafeNavigation` cop (#32970) --- app/controllers/concerns/cache_concern.rb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/app/controllers/concerns/cache_concern.rb b/app/controllers/concerns/cache_concern.rb index 1823b5b8edacf9..b1b09f2aab0342 100644 --- a/app/controllers/concerns/cache_concern.rb +++ b/app/controllers/concerns/cache_concern.rb @@ -28,7 +28,7 @@ def enforce_cache_control! def render_with_cache(**options) raise ArgumentError, 'Only JSON render calls are supported' unless options.key?(:json) || block_given? - key = options.delete(:key) || [[params[:controller], params[:action]].join('/'), options[:json].respond_to?(:cache_key) ? options[:json].cache_key : nil, options[:fields].nil? ? nil : options[:fields].join(',')].compact.join(':') + key = options.delete(:key) || [[params[:controller], params[:action]].join('/'), options[:json].respond_to?(:cache_key) ? options[:json].cache_key : nil, options[:fields]&.join(',')].compact.join(':') expires_in = options.delete(:expires_in) || 3.minutes body = Rails.cache.read(key, raw: true) From 08914516d9915ddff499bb5d40b775bbf7a5adcc Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Tue, 26 Nov 2024 09:09:34 +0100 Subject: [PATCH 307/357] Update dependency postcss-preset-env to v10.1.1 (#32947) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> --- yarn.lock | 20 ++++++++++---------- 1 file changed, 10 insertions(+), 10 deletions(-) diff --git a/yarn.lock b/yarn.lock index a8fde8ab511b85..a2c9dc80e96f9c 100644 --- a/yarn.lock +++ b/yarn.lock @@ -1837,7 +1837,7 @@ __metadata: languageName: node linkType: hard -"@csstools/postcss-random-function@npm:^1.0.0": +"@csstools/postcss-random-function@npm:^1.0.1": version: 1.0.1 resolution: "@csstools/postcss-random-function@npm:1.0.1" dependencies: @@ -1876,16 +1876,16 @@ __metadata: languageName: node linkType: hard -"@csstools/postcss-sign-functions@npm:^1.0.0": - version: 1.0.0 - resolution: "@csstools/postcss-sign-functions@npm:1.0.0" +"@csstools/postcss-sign-functions@npm:^1.1.0": + version: 1.1.0 + resolution: "@csstools/postcss-sign-functions@npm:1.1.0" dependencies: "@csstools/css-calc": "npm:^2.1.0" "@csstools/css-parser-algorithms": "npm:^3.0.4" "@csstools/css-tokenizer": "npm:^3.0.3" peerDependencies: postcss: ^8.4 - checksum: 10c0/ec745b2f1e714ffead43ade5964234dfc1750c3a71d2e29df862ab3f79ba4a1275187b270b4c226bbb1155bee8e9e63c35597b4f4cb3effaa632e5e07e422344 + checksum: 10c0/503bbaa8fe1d1a619880d5d6b838f07f1898a5820889e5db3c4e02bb8b340dab18b88f439f9f1da44c6669bab2d4ba3f9543643ccc459d8a21191c5d22109c9b languageName: node linkType: hard @@ -13850,8 +13850,8 @@ __metadata: linkType: hard "postcss-preset-env@npm:^10.0.0": - version: 10.1.0 - resolution: "postcss-preset-env@npm:10.1.0" + version: 10.1.1 + resolution: "postcss-preset-env@npm:10.1.1" dependencies: "@csstools/postcss-cascade-layers": "npm:^5.0.1" "@csstools/postcss-color-function": "npm:^4.0.6" @@ -13877,10 +13877,10 @@ __metadata: "@csstools/postcss-normalize-display-values": "npm:^4.0.0" "@csstools/postcss-oklab-function": "npm:^4.0.6" "@csstools/postcss-progressive-custom-properties": "npm:^4.0.0" - "@csstools/postcss-random-function": "npm:^1.0.0" + "@csstools/postcss-random-function": "npm:^1.0.1" "@csstools/postcss-relative-color-syntax": "npm:^3.0.6" "@csstools/postcss-scope-pseudo-class": "npm:^4.0.1" - "@csstools/postcss-sign-functions": "npm:^1.0.0" + "@csstools/postcss-sign-functions": "npm:^1.1.0" "@csstools/postcss-stepped-value-functions": "npm:^4.0.5" "@csstools/postcss-text-decoration-shorthand": "npm:^4.0.1" "@csstools/postcss-trigonometric-functions": "npm:^4.0.5" @@ -13918,7 +13918,7 @@ __metadata: postcss-selector-not: "npm:^8.0.1" peerDependencies: postcss: ^8.4 - checksum: 10c0/bd157dbed38c3c125b3bf86f5437a8094539ec5bf24428487c7bbf29da393731e48053afc695494cc9dbe4d182cfe405c398fcf0b22eb326b6db395e7315f892 + checksum: 10c0/99931117735a66827c7318be023ddb614990457617ccbe7fd2fdc1f10345554652df180d4842768d68d57e14fc0be4d86d0b413c65e77e02db5511e57ed07c4f languageName: node linkType: hard From 7ba19ecf1e684781d4265cb076f10e1cf579eb87 Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Tue, 26 Nov 2024 09:09:54 +0100 Subject: [PATCH 308/357] Update dependency webauthn to v3.2.2 (#32879) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> --- Gemfile.lock | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) diff --git a/Gemfile.lock b/Gemfile.lock index cfda83d324448b..ab60bd9d0aa1af 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -93,7 +93,6 @@ GEM annotaterb (4.13.0) ast (2.4.2) attr_required (1.0.2) - awrence (1.2.1) aws-eventstream (1.3.0) aws-partitions (1.1012.0) aws-sdk-core (3.213.0) @@ -349,7 +348,8 @@ GEM json-schema (5.1.0) addressable (~> 2.8) jsonapi-renderer (0.2.2) - jwt (2.7.1) + jwt (2.9.3) + base64 kaminari (1.2.2) activesupport (>= 4.1.0) kaminari-actionview (= 1.2.2) @@ -844,9 +844,8 @@ GEM public_suffix warden (1.2.9) rack (>= 2.0.9) - webauthn (3.1.0) + webauthn (3.2.2) android_key_attestation (~> 0.3.0) - awrence (~> 1.1) bindata (~> 2.4) cbor (~> 0.5.9) cose (~> 1.1) From 5c3a64dd50f8279335ed4ad3df341c91e4f94024 Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Tue, 26 Nov 2024 09:10:08 +0100 Subject: [PATCH 309/357] Update dependency aws-sdk-s3 to v1.174.0 (#33076) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> --- Gemfile.lock | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/Gemfile.lock b/Gemfile.lock index ab60bd9d0aa1af..3bbfb33d740b3b 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -94,8 +94,8 @@ GEM ast (2.4.2) attr_required (1.0.2) aws-eventstream (1.3.0) - aws-partitions (1.1012.0) - aws-sdk-core (3.213.0) + aws-partitions (1.1013.0) + aws-sdk-core (3.214.0) aws-eventstream (~> 1, >= 1.3.0) aws-partitions (~> 1, >= 1.992.0) aws-sigv4 (~> 1.9) @@ -103,7 +103,7 @@ GEM aws-sdk-kms (1.96.0) aws-sdk-core (~> 3, >= 3.210.0) aws-sigv4 (~> 1.5) - aws-sdk-s3 (1.173.0) + aws-sdk-s3 (1.174.0) aws-sdk-core (~> 3, >= 3.210.0) aws-sdk-kms (~> 1) aws-sigv4 (~> 1.5) From f0855fd41f0cc726c0d2dbdf19f311a1ee6729dc Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Tue, 26 Nov 2024 09:10:19 +0100 Subject: [PATCH 310/357] Update dependency axios to v1.7.8 (#33075) 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 a2c9dc80e96f9c..ae6e1aa9aaa90b 100644 --- a/yarn.lock +++ b/yarn.lock @@ -5156,13 +5156,13 @@ __metadata: linkType: hard "axios@npm:^1.4.0": - version: 1.7.7 - resolution: "axios@npm:1.7.7" + version: 1.7.8 + resolution: "axios@npm:1.7.8" dependencies: follow-redirects: "npm:^1.15.6" form-data: "npm:^4.0.0" proxy-from-env: "npm:^1.1.0" - checksum: 10c0/4499efc89e86b0b49ffddc018798de05fab26e3bf57913818266be73279a6418c3ce8f9e934c7d2d707ab8c095e837fc6c90608fb7715b94d357720b5f568af7 + checksum: 10c0/23ae2d0105aea9170c34ac9b6f30d9b2ab2fa8b1370205d2f7ce98b9f9510ab420148c13359ee837ea5a4bf2fb028ff225bd2fc92052fb0c478c6b4a836e2d5f languageName: node linkType: hard From a27bafa59653328a0f06bedb1dfb2b6ee92af43d Mon Sep 17 00:00:00 2001 From: Matt Jankowski Date: Tue, 26 Nov 2024 04:45:47 -0500 Subject: [PATCH 311/357] Add `UserRole#bypass_block?` method for notification check (#32974) --- app/models/user_role.rb | 4 ++++ app/services/notify_service.rb | 2 +- 2 files changed, 5 insertions(+), 1 deletion(-) diff --git a/app/models/user_role.rb b/app/models/user_role.rb index 23cc28b9b7ca27..815a89408855f5 100644 --- a/app/models/user_role.rb +++ b/app/models/user_role.rb @@ -142,6 +142,10 @@ def overrides?(other_role) other_role.nil? || position > other_role.position end + def bypass_block?(role) + overrides?(role) && highlighted? && can?(*Flags::CATEGORIES[:moderation]) + end + def computed_permissions # If called on the everyone role, no further computation needed return permissions if everyone? diff --git a/app/services/notify_service.rb b/app/services/notify_service.rb index 0cf56c5a247b1d..e87e5024fe03e6 100644 --- a/app/services/notify_service.rb +++ b/app/services/notify_service.rb @@ -134,7 +134,7 @@ def message? end def from_staff? - @sender.local? && @sender.user.present? && @sender.user_role&.overrides?(@recipient.user_role) && @sender.user_role&.highlighted? && @sender.user_role&.can?(*UserRole::Flags::CATEGORIES[:moderation]) + @sender.local? && @sender.user.present? && @sender.user_role&.bypass_block?(@recipient.user_role) end def from_self? From 429e08e3d244b71e704fd54096c41b533b4ad2d5 Mon Sep 17 00:00:00 2001 From: Eugen Rochko Date: Tue, 26 Nov 2024 10:59:11 +0100 Subject: [PATCH 312/357] Remove old notifications route from web UI (#33038) --- .../notifications/components/filter_bar.jsx | 119 ------- .../containers/filter_bar_container.js | 17 - .../mastodon/features/notifications/index.jsx | 308 ------------------ .../features/notifications_wrapper.jsx | 9 - .../features/ui/components/columns_area.jsx | 4 +- app/javascript/mastodon/features/ui/index.jsx | 4 +- .../features/ui/util/async-components.js | 10 +- 7 files changed, 5 insertions(+), 466 deletions(-) delete mode 100644 app/javascript/mastodon/features/notifications/components/filter_bar.jsx delete mode 100644 app/javascript/mastodon/features/notifications/containers/filter_bar_container.js delete mode 100644 app/javascript/mastodon/features/notifications/index.jsx delete mode 100644 app/javascript/mastodon/features/notifications_wrapper.jsx diff --git a/app/javascript/mastodon/features/notifications/components/filter_bar.jsx b/app/javascript/mastodon/features/notifications/components/filter_bar.jsx deleted file mode 100644 index c288c2c0de2c9e..00000000000000 --- a/app/javascript/mastodon/features/notifications/components/filter_bar.jsx +++ /dev/null @@ -1,119 +0,0 @@ -import PropTypes from 'prop-types'; -import { PureComponent } from 'react'; - -import { defineMessages, injectIntl, FormattedMessage } from 'react-intl'; - -import HomeIcon from '@/material-icons/400-24px/home-fill.svg?react'; -import InsertChartIcon from '@/material-icons/400-24px/insert_chart.svg?react'; -import PersonAddIcon from '@/material-icons/400-24px/person_add.svg?react'; -import RepeatIcon from '@/material-icons/400-24px/repeat.svg?react'; -import ReplyAllIcon from '@/material-icons/400-24px/reply_all.svg?react'; -import StarIcon from '@/material-icons/400-24px/star.svg?react'; -import { Icon } from 'mastodon/components/icon'; - -const tooltips = defineMessages({ - mentions: { id: 'notifications.filter.mentions', defaultMessage: 'Mentions' }, - favourites: { id: 'notifications.filter.favourites', defaultMessage: 'Favorites' }, - boosts: { id: 'notifications.filter.boosts', defaultMessage: 'Boosts' }, - polls: { id: 'notifications.filter.polls', defaultMessage: 'Poll results' }, - follows: { id: 'notifications.filter.follows', defaultMessage: 'Follows' }, - statuses: { id: 'notifications.filter.statuses', defaultMessage: 'Updates from people you follow' }, -}); - -class FilterBar extends PureComponent { - - static propTypes = { - selectFilter: PropTypes.func.isRequired, - selectedFilter: PropTypes.string.isRequired, - advancedMode: PropTypes.bool.isRequired, - intl: PropTypes.object.isRequired, - }; - - onClick (notificationType) { - return () => this.props.selectFilter(notificationType); - } - - render () { - const { selectedFilter, advancedMode, intl } = this.props; - const renderedElement = !advancedMode ? ( -
- - -
- ) : ( -
- - - - - - - -
- ); - return renderedElement; - } - -} - -export default injectIntl(FilterBar); diff --git a/app/javascript/mastodon/features/notifications/containers/filter_bar_container.js b/app/javascript/mastodon/features/notifications/containers/filter_bar_container.js deleted file mode 100644 index 4e0184cef30534..00000000000000 --- a/app/javascript/mastodon/features/notifications/containers/filter_bar_container.js +++ /dev/null @@ -1,17 +0,0 @@ -import { connect } from 'react-redux'; - -import { setFilter } from '../../../actions/notifications'; -import FilterBar from '../components/filter_bar'; - -const makeMapStateToProps = state => ({ - selectedFilter: state.getIn(['settings', 'notifications', 'quickFilter', 'active']), - advancedMode: state.getIn(['settings', 'notifications', 'quickFilter', 'advanced']), -}); - -const mapDispatchToProps = (dispatch) => ({ - selectFilter (newActiveFilter) { - dispatch(setFilter(newActiveFilter)); - }, -}); - -export default connect(makeMapStateToProps, mapDispatchToProps)(FilterBar); diff --git a/app/javascript/mastodon/features/notifications/index.jsx b/app/javascript/mastodon/features/notifications/index.jsx deleted file mode 100644 index cefbd544b0a781..00000000000000 --- a/app/javascript/mastodon/features/notifications/index.jsx +++ /dev/null @@ -1,308 +0,0 @@ -import PropTypes from 'prop-types'; -import { PureComponent } from 'react'; - -import { defineMessages, injectIntl, FormattedMessage } from 'react-intl'; - -import { Helmet } from 'react-helmet'; - -import { createSelector } from '@reduxjs/toolkit'; -import { List as ImmutableList } from 'immutable'; -import ImmutablePropTypes from 'react-immutable-proptypes'; -import { connect } from 'react-redux'; - -import { debounce } from 'lodash'; - -import DoneAllIcon from '@/material-icons/400-24px/done_all.svg?react'; -import NotificationsIcon from '@/material-icons/400-24px/notifications-fill.svg?react'; -import { compareId } from 'mastodon/compare_id'; -import { Icon } from 'mastodon/components/icon'; -import { NotSignedInIndicator } from 'mastodon/components/not_signed_in_indicator'; -import { identityContextPropShape, withIdentity } from 'mastodon/identity_context'; - -import { addColumn, removeColumn, moveColumn } from '../../actions/columns'; -import { submitMarkers } from '../../actions/markers'; -import { - expandNotifications, - scrollTopNotifications, - loadPending, - mountNotifications, - unmountNotifications, - markNotificationsAsRead, -} from '../../actions/notifications'; -import Column from '../../components/column'; -import ColumnHeader from '../../components/column_header'; -import { LoadGap } from '../../components/load_gap'; -import ScrollableList from '../../components/scrollable_list'; - -import { - FilteredNotificationsBanner, - FilteredNotificationsIconButton, -} from './components/filtered_notifications_banner'; -import NotificationsPermissionBanner from './components/notifications_permission_banner'; -import ColumnSettingsContainer from './containers/column_settings_container'; -import FilterBarContainer from './containers/filter_bar_container'; -import NotificationContainer from './containers/notification_container'; - -const messages = defineMessages({ - title: { id: 'column.notifications', defaultMessage: 'Notifications' }, - markAsRead : { id: 'notifications.mark_as_read', defaultMessage: 'Mark every notification as read' }, -}); - -const getExcludedTypes = createSelector([ - state => state.getIn(['settings', 'notifications', 'shows']), -], (shows) => { - return ImmutableList(shows.filter(item => !item).keys()); -}); - -const getNotifications = createSelector([ - state => state.getIn(['settings', 'notifications', 'quickFilter', 'show']), - state => state.getIn(['settings', 'notifications', 'quickFilter', 'active']), - getExcludedTypes, - state => state.getIn(['notifications', 'items']), -], (showFilterBar, allowedType, excludedTypes, notifications) => { - if (!showFilterBar || allowedType === 'all') { - // used if user changed the notification settings after loading the notifications from the server - // otherwise a list of notifications will come pre-filtered from the backend - // we need to turn it off for FilterBar in order not to block ourselves from seeing a specific category - return notifications.filterNot(item => item !== null && excludedTypes.includes(item.get('type'))); - } - return notifications.filter(item => item === null || allowedType === item.get('type')); -}); - -const mapStateToProps = state => ({ - notifications: getNotifications(state), - isLoading: state.getIn(['notifications', 'isLoading'], 0) > 0, - isUnread: state.getIn(['notifications', 'unread']) > 0 || state.getIn(['notifications', 'pendingItems']).size > 0, - hasMore: state.getIn(['notifications', 'hasMore']), - numPending: state.getIn(['notifications', 'pendingItems'], ImmutableList()).size, - lastReadId: state.getIn(['settings', 'notifications', 'showUnread']) ? state.getIn(['notifications', 'readMarkerId']) : '0', - canMarkAsRead: state.getIn(['settings', 'notifications', 'showUnread']) && state.getIn(['notifications', 'readMarkerId']) !== '0' && getNotifications(state).some(item => item !== null && compareId(item.get('id'), state.getIn(['notifications', 'readMarkerId'])) > 0), - needsNotificationPermission: state.getIn(['settings', 'notifications', 'alerts']).includes(true) && state.getIn(['notifications', 'browserSupport']) && state.getIn(['notifications', 'browserPermission']) === 'default' && !state.getIn(['settings', 'notifications', 'dismissPermissionBanner']), -}); - -class Notifications extends PureComponent { - static propTypes = { - identity: identityContextPropShape, - columnId: PropTypes.string, - notifications: ImmutablePropTypes.list.isRequired, - dispatch: PropTypes.func.isRequired, - intl: PropTypes.object.isRequired, - isLoading: PropTypes.bool, - isUnread: PropTypes.bool, - multiColumn: PropTypes.bool, - hasMore: PropTypes.bool, - numPending: PropTypes.number, - lastReadId: PropTypes.string, - canMarkAsRead: PropTypes.bool, - needsNotificationPermission: PropTypes.bool, - }; - - static defaultProps = { - trackScroll: true, - }; - - UNSAFE_componentWillMount() { - this.props.dispatch(mountNotifications()); - } - - componentWillUnmount () { - this.handleLoadOlder.cancel(); - this.handleScrollToTop.cancel(); - this.handleScroll.cancel(); - this.props.dispatch(scrollTopNotifications(false)); - this.props.dispatch(unmountNotifications()); - } - - handleLoadGap = (maxId) => { - this.props.dispatch(expandNotifications({ maxId })); - }; - - handleLoadOlder = debounce(() => { - const last = this.props.notifications.last(); - this.props.dispatch(expandNotifications({ maxId: last && last.get('id') })); - }, 300, { leading: true }); - - handleLoadPending = () => { - this.props.dispatch(loadPending()); - }; - - handleScrollToTop = debounce(() => { - this.props.dispatch(scrollTopNotifications(true)); - }, 100); - - handleScroll = debounce(() => { - this.props.dispatch(scrollTopNotifications(false)); - }, 100); - - handlePin = () => { - const { columnId, dispatch } = this.props; - - if (columnId) { - dispatch(removeColumn(columnId)); - } else { - dispatch(addColumn('NOTIFICATIONS', {})); - } - }; - - handleMove = (dir) => { - const { columnId, dispatch } = this.props; - dispatch(moveColumn(columnId, dir)); - }; - - handleHeaderClick = () => { - this.column.scrollTop(); - }; - - setColumnRef = c => { - this.column = c; - }; - - handleMoveUp = id => { - const elementIndex = this.props.notifications.findIndex(item => item !== null && item.get('id') === id) - 1; - this._selectChild(elementIndex, true); - }; - - handleMoveDown = id => { - const elementIndex = this.props.notifications.findIndex(item => item !== null && item.get('id') === id) + 1; - this._selectChild(elementIndex, false); - }; - - _selectChild (index, align_top) { - const container = this.column.node; - const element = container.querySelector(`article:nth-of-type(${index + 1}) .focusable`); - - if (element) { - if (align_top && container.scrollTop > element.offsetTop) { - element.scrollIntoView(true); - } else if (!align_top && container.scrollTop + container.clientHeight < element.offsetTop + element.offsetHeight) { - element.scrollIntoView(false); - } - element.focus(); - } - } - - handleMarkAsRead = () => { - this.props.dispatch(markNotificationsAsRead()); - this.props.dispatch(submitMarkers({ immediate: true })); - }; - - render () { - const { intl, notifications, isLoading, isUnread, columnId, multiColumn, hasMore, numPending, lastReadId, canMarkAsRead, needsNotificationPermission } = this.props; - const pinned = !!columnId; - const emptyMessage = ; - const { signedIn } = this.props.identity; - - let scrollableContent = null; - - const filterBarContainer = signedIn - ? () - : null; - - if (isLoading && this.scrollableContent) { - scrollableContent = this.scrollableContent; - } else if (notifications.size > 0 || hasMore) { - scrollableContent = notifications.map((item, index) => item === null ? ( - 0 ? notifications.getIn([index - 1, 'id']) : null} - onClick={this.handleLoadGap} - /> - ) : ( - 0} - /> - )); - } else { - scrollableContent = null; - } - - this.scrollableContent = scrollableContent; - - let scrollContainer; - - const prepend = ( - <> - {needsNotificationPermission && } - - - ); - - if (signedIn) { - scrollContainer = ( - - {scrollableContent} - - ); - } else { - scrollContainer = ; - } - - const extraButton = ( - <> - - {canMarkAsRead && ( - - )} - - ); - - return ( - - - - - - {filterBarContainer} - - {scrollContainer} - - - {intl.formatMessage(messages.title)} - - - - ); - } - -} - -export default connect(mapStateToProps)(withIdentity(injectIntl(Notifications))); diff --git a/app/javascript/mastodon/features/notifications_wrapper.jsx b/app/javascript/mastodon/features/notifications_wrapper.jsx deleted file mode 100644 index 50383d5ebf9d28..00000000000000 --- a/app/javascript/mastodon/features/notifications_wrapper.jsx +++ /dev/null @@ -1,9 +0,0 @@ -import Notifications_v2 from 'mastodon/features/notifications_v2'; - -export const NotificationsWrapper = (props) => { - return ( - - ); -}; - -export default NotificationsWrapper; \ No newline at end of file diff --git a/app/javascript/mastodon/features/ui/components/columns_area.jsx b/app/javascript/mastodon/features/ui/components/columns_area.jsx index de957a79b67c57..97b54e50d31865 100644 --- a/app/javascript/mastodon/features/ui/components/columns_area.jsx +++ b/app/javascript/mastodon/features/ui/components/columns_area.jsx @@ -8,7 +8,7 @@ import { scrollRight } from '../../../scroll'; import BundleContainer from '../containers/bundle_container'; import { Compose, - NotificationsWrapper, + Notifications, HomeTimeline, CommunityTimeline, PublicTimeline, @@ -30,7 +30,7 @@ import NavigationPanel from './navigation_panel'; const componentMap = { 'COMPOSE': Compose, 'HOME': HomeTimeline, - 'NOTIFICATIONS': NotificationsWrapper, + 'NOTIFICATIONS': Notifications, 'PUBLIC': PublicTimeline, 'REMOTE': PublicTimeline, 'COMMUNITY': CommunityTimeline, diff --git a/app/javascript/mastodon/features/ui/index.jsx b/app/javascript/mastodon/features/ui/index.jsx index daa4585ead5972..4e5cd4bd64d49e 100644 --- a/app/javascript/mastodon/features/ui/index.jsx +++ b/app/javascript/mastodon/features/ui/index.jsx @@ -49,7 +49,7 @@ import { Favourites, DirectTimeline, HashtagTimeline, - NotificationsWrapper, + Notifications, NotificationRequests, NotificationRequest, FollowRequests, @@ -211,7 +211,7 @@ class SwitchingColumnsArea extends PureComponent { - + diff --git a/app/javascript/mastodon/features/ui/util/async-components.js b/app/javascript/mastodon/features/ui/util/async-components.js index 5a85c856d2d614..26bb7cd1e05c35 100644 --- a/app/javascript/mastodon/features/ui/util/async-components.js +++ b/app/javascript/mastodon/features/ui/util/async-components.js @@ -7,15 +7,7 @@ export function Compose () { } export function Notifications () { - return import(/* webpackChunkName: "features/notifications_v1" */'../../notifications'); -} - -export function Notifications_v2 () { - return import(/* webpackChunkName: "features/notifications_v2" */'../../notifications_v2'); -} - -export function NotificationsWrapper () { - return import(/* webpackChunkName: "features/notifications" */'../../notifications_wrapper'); + return import(/* webpackChunkName: "features/notifications" */'../../notifications_v2'); } export function HomeTimeline () { From 7a3dea385e48c72ff4d1553709f618bc5070b255 Mon Sep 17 00:00:00 2001 From: Eugen Rochko Date: Tue, 26 Nov 2024 17:10:12 +0100 Subject: [PATCH 313/357] Change onboarding flow in web UI (#32998) --- .../mastodon/actions/suggestions.js | 58 --- .../mastodon/actions/suggestions.ts | 24 ++ app/javascript/mastodon/api/suggestions.ts | 8 + .../mastodon/api_types/suggestions.ts | 13 + .../mastodon/components/account.jsx | 20 +- .../components/column_back_button.tsx | 2 +- .../components/column_search_header.tsx | 67 ++++ .../mastodon/components/follow_button.tsx | 7 +- .../mastodon/features/explore/suggestions.jsx | 19 +- .../components/inline_follow_suggestions.jsx | 217 ------------ .../components/inline_follow_suggestions.tsx | 326 +++++++++++++++++ .../mastodon/features/lists/members.tsx | 123 ++----- .../features/onboarding/components/step.jsx | 57 --- .../mastodon/features/onboarding/follows.jsx | 62 ---- .../mastodon/features/onboarding/follows.tsx | 191 ++++++++++ .../mastodon/features/onboarding/index.jsx | 91 ----- .../mastodon/features/onboarding/profile.jsx | 162 --------- .../mastodon/features/onboarding/profile.tsx | 329 ++++++++++++++++++ .../mastodon/features/onboarding/share.jsx | 120 ------- app/javascript/mastodon/features/ui/index.jsx | 6 +- .../features/ui/util/async-components.js | 8 +- app/javascript/mastodon/locales/en.json | 32 +- app/javascript/mastodon/models/suggestion.ts | 12 + app/javascript/mastodon/reducers/index.ts | 4 +- .../mastodon/reducers/suggestions.js | 40 --- .../mastodon/reducers/suggestions.ts | 60 ++++ .../styles/mastodon-light/diff.scss | 19 +- .../styles/mastodon-light/variables.scss | 1 + app/javascript/styles/mastodon/_mixins.scss | 2 +- .../styles/mastodon/components.scss | 237 ++----------- app/javascript/styles/mastodon/forms.scss | 6 +- app/javascript/styles/mastodon/variables.scss | 2 + 32 files changed, 1142 insertions(+), 1183 deletions(-) delete mode 100644 app/javascript/mastodon/actions/suggestions.js create mode 100644 app/javascript/mastodon/actions/suggestions.ts create mode 100644 app/javascript/mastodon/api/suggestions.ts create mode 100644 app/javascript/mastodon/api_types/suggestions.ts create mode 100644 app/javascript/mastodon/components/column_search_header.tsx delete mode 100644 app/javascript/mastodon/features/home_timeline/components/inline_follow_suggestions.jsx create mode 100644 app/javascript/mastodon/features/home_timeline/components/inline_follow_suggestions.tsx delete mode 100644 app/javascript/mastodon/features/onboarding/components/step.jsx delete mode 100644 app/javascript/mastodon/features/onboarding/follows.jsx create mode 100644 app/javascript/mastodon/features/onboarding/follows.tsx delete mode 100644 app/javascript/mastodon/features/onboarding/index.jsx delete mode 100644 app/javascript/mastodon/features/onboarding/profile.jsx create mode 100644 app/javascript/mastodon/features/onboarding/profile.tsx delete mode 100644 app/javascript/mastodon/features/onboarding/share.jsx create mode 100644 app/javascript/mastodon/models/suggestion.ts delete mode 100644 app/javascript/mastodon/reducers/suggestions.js create mode 100644 app/javascript/mastodon/reducers/suggestions.ts diff --git a/app/javascript/mastodon/actions/suggestions.js b/app/javascript/mastodon/actions/suggestions.js deleted file mode 100644 index 258ffa901de5d1..00000000000000 --- a/app/javascript/mastodon/actions/suggestions.js +++ /dev/null @@ -1,58 +0,0 @@ -import api from '../api'; - -import { fetchRelationships } from './accounts'; -import { importFetchedAccounts } from './importer'; - -export const SUGGESTIONS_FETCH_REQUEST = 'SUGGESTIONS_FETCH_REQUEST'; -export const SUGGESTIONS_FETCH_SUCCESS = 'SUGGESTIONS_FETCH_SUCCESS'; -export const SUGGESTIONS_FETCH_FAIL = 'SUGGESTIONS_FETCH_FAIL'; - -export const SUGGESTIONS_DISMISS = 'SUGGESTIONS_DISMISS'; - -export function fetchSuggestions(withRelationships = false) { - return (dispatch) => { - dispatch(fetchSuggestionsRequest()); - - api().get('/api/v2/suggestions', { params: { limit: 20 } }).then(response => { - dispatch(importFetchedAccounts(response.data.map(x => x.account))); - dispatch(fetchSuggestionsSuccess(response.data)); - - if (withRelationships) { - dispatch(fetchRelationships(response.data.map(item => item.account.id))); - } - }).catch(error => dispatch(fetchSuggestionsFail(error))); - }; -} - -export function fetchSuggestionsRequest() { - return { - type: SUGGESTIONS_FETCH_REQUEST, - skipLoading: true, - }; -} - -export function fetchSuggestionsSuccess(suggestions) { - return { - type: SUGGESTIONS_FETCH_SUCCESS, - suggestions, - skipLoading: true, - }; -} - -export function fetchSuggestionsFail(error) { - return { - type: SUGGESTIONS_FETCH_FAIL, - error, - skipLoading: true, - skipAlert: true, - }; -} - -export const dismissSuggestion = accountId => (dispatch) => { - dispatch({ - type: SUGGESTIONS_DISMISS, - id: accountId, - }); - - api().delete(`/api/v1/suggestions/${accountId}`).catch(() => {}); -}; diff --git a/app/javascript/mastodon/actions/suggestions.ts b/app/javascript/mastodon/actions/suggestions.ts new file mode 100644 index 00000000000000..0eadfa6b47afa4 --- /dev/null +++ b/app/javascript/mastodon/actions/suggestions.ts @@ -0,0 +1,24 @@ +import { + apiGetSuggestions, + apiDeleteSuggestion, +} from 'mastodon/api/suggestions'; +import { createDataLoadingThunk } from 'mastodon/store/typed_functions'; + +import { fetchRelationships } from './accounts'; +import { importFetchedAccounts } from './importer'; + +export const fetchSuggestions = createDataLoadingThunk( + 'suggestions/fetch', + () => apiGetSuggestions(20), + (data, { dispatch }) => { + dispatch(importFetchedAccounts(data.map((x) => x.account))); + dispatch(fetchRelationships(data.map((x) => x.account.id))); + + return data; + }, +); + +export const dismissSuggestion = createDataLoadingThunk( + 'suggestions/dismiss', + ({ accountId }: { accountId: string }) => apiDeleteSuggestion(accountId), +); diff --git a/app/javascript/mastodon/api/suggestions.ts b/app/javascript/mastodon/api/suggestions.ts new file mode 100644 index 00000000000000..d4817698ccaab6 --- /dev/null +++ b/app/javascript/mastodon/api/suggestions.ts @@ -0,0 +1,8 @@ +import { apiRequestGet, apiRequestDelete } from 'mastodon/api'; +import type { ApiSuggestionJSON } from 'mastodon/api_types/suggestions'; + +export const apiGetSuggestions = (limit: number) => + apiRequestGet('v2/suggestions', { limit }); + +export const apiDeleteSuggestion = (accountId: string) => + apiRequestDelete(`v1/suggestions/${accountId}`); diff --git a/app/javascript/mastodon/api_types/suggestions.ts b/app/javascript/mastodon/api_types/suggestions.ts new file mode 100644 index 00000000000000..7d91daf901340f --- /dev/null +++ b/app/javascript/mastodon/api_types/suggestions.ts @@ -0,0 +1,13 @@ +import type { ApiAccountJSON } from 'mastodon/api_types/accounts'; + +export type ApiSuggestionSourceJSON = + | 'featured' + | 'most_followed' + | 'most_interactions' + | 'similar_to_recently_followed' + | 'friends_of_friends'; + +export interface ApiSuggestionJSON { + sources: [ApiSuggestionSourceJSON, ...ApiSuggestionSourceJSON[]]; + account: ApiAccountJSON; +} diff --git a/app/javascript/mastodon/components/account.jsx b/app/javascript/mastodon/components/account.jsx index 265c68697baf3e..fa66fd56bb74f6 100644 --- a/app/javascript/mastodon/components/account.jsx +++ b/app/javascript/mastodon/components/account.jsx @@ -10,6 +10,7 @@ import ImmutablePropTypes from 'react-immutable-proptypes'; import MoreHorizIcon from '@/material-icons/400-24px/more_horiz.svg?react'; import { EmptyAccount } from 'mastodon/components/empty_account'; +import { FollowButton } from 'mastodon/components/follow_button'; import { ShortNumber } from 'mastodon/components/short_number'; import { VerifiedBadge } from 'mastodon/components/verified_badge'; @@ -23,9 +24,6 @@ import { DisplayName } from './display_name'; import { RelativeTimestamp } from './relative_timestamp'; const messages = defineMessages({ - follow: { id: 'account.follow', defaultMessage: 'Follow' }, - unfollow: { id: 'account.unfollow', defaultMessage: 'Unfollow' }, - cancel_follow_request: { id: 'account.cancel_follow_request', defaultMessage: 'Withdraw follow request' }, unblock: { id: 'account.unblock_short', defaultMessage: 'Unblock' }, unmute: { id: 'account.unmute_short', defaultMessage: 'Unmute' }, mute_notifications: { id: 'account.mute_notifications_short', defaultMessage: 'Mute notifications' }, @@ -35,13 +33,9 @@ const messages = defineMessages({ more: { id: 'status.more', defaultMessage: 'More' }, }); -const Account = ({ size = 46, account, onFollow, onBlock, onMute, onMuteNotifications, hidden, minimal, defaultAction, withBio }) => { +const Account = ({ size = 46, account, onBlock, onMute, onMuteNotifications, hidden, minimal, defaultAction, withBio }) => { const intl = useIntl(); - const handleFollow = useCallback(() => { - onFollow(account); - }, [onFollow, account]); - const handleBlock = useCallback(() => { onBlock(account); }, [onBlock, account]); @@ -74,13 +68,12 @@ const Account = ({ size = 46, account, onFollow, onBlock, onMute, onMuteNotifica let buttons; if (account.get('id') !== me && account.get('relationship', null) !== null) { - const following = account.getIn(['relationship', 'following']); const requested = account.getIn(['relationship', 'requested']); const blocking = account.getIn(['relationship', 'blocking']); const muting = account.getIn(['relationship', 'muting']); if (requested) { - buttons = + )} + + ); +}; diff --git a/app/javascript/mastodon/components/follow_button.tsx b/app/javascript/mastodon/components/follow_button.tsx index 46314af309f24b..faf9d8bdb8987d 100644 --- a/app/javascript/mastodon/components/follow_button.tsx +++ b/app/javascript/mastodon/components/follow_button.tsx @@ -99,7 +99,12 @@ export const FollowButton: React.FC<{ return ( - -
-
- -
-
- {suggestions.map(suggestion => ( - - ))} -
- - {canScrollLeft && ( - - )} - - {canScrollRight && ( - - )} -
-
- ); -}; - -InlineFollowSuggestions.propTypes = { - hidden: PropTypes.bool, -}; diff --git a/app/javascript/mastodon/features/home_timeline/components/inline_follow_suggestions.tsx b/app/javascript/mastodon/features/home_timeline/components/inline_follow_suggestions.tsx new file mode 100644 index 00000000000000..5fd47443d94efa --- /dev/null +++ b/app/javascript/mastodon/features/home_timeline/components/inline_follow_suggestions.tsx @@ -0,0 +1,326 @@ +import { useEffect, useCallback, useRef, useState } from 'react'; + +import { FormattedMessage, useIntl, defineMessages } from 'react-intl'; + +import { Link } from 'react-router-dom'; + +import ChevronLeftIcon from '@/material-icons/400-24px/chevron_left.svg?react'; +import ChevronRightIcon from '@/material-icons/400-24px/chevron_right.svg?react'; +import CloseIcon from '@/material-icons/400-24px/close.svg?react'; +import InfoIcon from '@/material-icons/400-24px/info.svg?react'; +import { changeSetting } from 'mastodon/actions/settings'; +import { + fetchSuggestions, + dismissSuggestion, +} from 'mastodon/actions/suggestions'; +import type { ApiSuggestionSourceJSON } from 'mastodon/api_types/suggestions'; +import { Avatar } from 'mastodon/components/avatar'; +import { DisplayName } from 'mastodon/components/display_name'; +import { FollowButton } from 'mastodon/components/follow_button'; +import { Icon } from 'mastodon/components/icon'; +import { IconButton } from 'mastodon/components/icon_button'; +import { VerifiedBadge } from 'mastodon/components/verified_badge'; +import { domain } from 'mastodon/initial_state'; +import { useAppDispatch, useAppSelector } from 'mastodon/store'; + +const messages = defineMessages({ + follow: { id: 'account.follow', defaultMessage: 'Follow' }, + unfollow: { id: 'account.unfollow', defaultMessage: 'Unfollow' }, + previous: { id: 'lightbox.previous', defaultMessage: 'Previous' }, + next: { id: 'lightbox.next', defaultMessage: 'Next' }, + dismiss: { + id: 'follow_suggestions.dismiss', + defaultMessage: "Don't show again", + }, + friendsOfFriendsHint: { + id: 'follow_suggestions.hints.friends_of_friends', + defaultMessage: 'This profile is popular among the people you follow.', + }, + similarToRecentlyFollowedHint: { + id: 'follow_suggestions.hints.similar_to_recently_followed', + defaultMessage: + 'This profile is similar to the profiles you have most recently followed.', + }, + featuredHint: { + id: 'follow_suggestions.hints.featured', + defaultMessage: 'This profile has been hand-picked by the {domain} team.', + }, + mostFollowedHint: { + id: 'follow_suggestions.hints.most_followed', + defaultMessage: 'This profile is one of the most followed on {domain}.', + }, + mostInteractionsHint: { + id: 'follow_suggestions.hints.most_interactions', + defaultMessage: + 'This profile has been recently getting a lot of attention on {domain}.', + }, +}); + +const Source: React.FC<{ + id: ApiSuggestionSourceJSON; +}> = ({ id }) => { + const intl = useIntl(); + + let label, hint; + + switch (id) { + case 'friends_of_friends': + hint = intl.formatMessage(messages.friendsOfFriendsHint); + label = ( + + ); + break; + case 'similar_to_recently_followed': + hint = intl.formatMessage(messages.similarToRecentlyFollowedHint); + label = ( + + ); + break; + case 'featured': + hint = intl.formatMessage(messages.featuredHint, { domain }); + label = ( + + ); + break; + case 'most_followed': + hint = intl.formatMessage(messages.mostFollowedHint, { domain }); + label = ( + + ); + break; + case 'most_interactions': + hint = intl.formatMessage(messages.mostInteractionsHint, { domain }); + label = ( + + ); + break; + } + + return ( +
+ + {label} +
+ ); +}; + +const Card: React.FC<{ + id: string; + sources: [ApiSuggestionSourceJSON, ...ApiSuggestionSourceJSON[]]; +}> = ({ id, sources }) => { + const intl = useIntl(); + const account = useAppSelector((state) => state.accounts.get(id)); + const firstVerifiedField = account?.fields.find((item) => !!item.verified_at); + const dispatch = useAppDispatch(); + + const handleDismiss = useCallback(() => { + void dispatch(dismissSuggestion({ accountId: id })); + }, [id, dispatch]); + + return ( +
+ + +
+ + + +
+ +
+ + + + {firstVerifiedField ? ( + + ) : ( + + )} +
+ + +
+ ); +}; + +const DISMISSIBLE_ID = 'home/follow-suggestions'; + +export const InlineFollowSuggestions: React.FC<{ + hidden?: boolean; +}> = ({ hidden }) => { + const intl = useIntl(); + const dispatch = useAppDispatch(); + const suggestions = useAppSelector((state) => state.suggestions.items); + const isLoading = useAppSelector((state) => state.suggestions.isLoading); + const dismissed = useAppSelector( + (state) => + // eslint-disable-next-line @typescript-eslint/no-unsafe-member-access, @typescript-eslint/no-unsafe-call + state.settings.getIn(['dismissed_banners', DISMISSIBLE_ID]) as boolean, + ); + const bodyRef = useRef(null); + const [canScrollLeft, setCanScrollLeft] = useState(false); + const [canScrollRight, setCanScrollRight] = useState(true); + + useEffect(() => { + void dispatch(fetchSuggestions()); + }, [dispatch]); + + useEffect(() => { + if (!bodyRef.current) { + return; + } + + if (getComputedStyle(bodyRef.current).direction === 'rtl') { + setCanScrollLeft( + bodyRef.current.clientWidth - bodyRef.current.scrollLeft < + bodyRef.current.scrollWidth, + ); + setCanScrollRight(bodyRef.current.scrollLeft < 0); + } else { + setCanScrollLeft(bodyRef.current.scrollLeft > 0); + setCanScrollRight( + bodyRef.current.scrollLeft + bodyRef.current.clientWidth < + bodyRef.current.scrollWidth, + ); + } + }, [setCanScrollRight, setCanScrollLeft, suggestions]); + + const handleLeftNav = useCallback(() => { + if (!bodyRef.current) { + return; + } + + bodyRef.current.scrollLeft -= 200; + }, []); + + const handleRightNav = useCallback(() => { + if (!bodyRef.current) { + return; + } + + bodyRef.current.scrollLeft += 200; + }, []); + + const handleScroll = useCallback(() => { + if (!bodyRef.current) { + return; + } + + if (getComputedStyle(bodyRef.current).direction === 'rtl') { + setCanScrollLeft( + bodyRef.current.clientWidth - bodyRef.current.scrollLeft < + bodyRef.current.scrollWidth, + ); + setCanScrollRight(bodyRef.current.scrollLeft < 0); + } else { + setCanScrollLeft(bodyRef.current.scrollLeft > 0); + setCanScrollRight( + bodyRef.current.scrollLeft + bodyRef.current.clientWidth < + bodyRef.current.scrollWidth, + ); + } + }, [setCanScrollRight, setCanScrollLeft]); + + const handleDismiss = useCallback(() => { + dispatch(changeSetting(['dismissed_banners', DISMISSIBLE_ID], true)); + }, [dispatch]); + + if (dismissed || (!isLoading && suggestions.length === 0)) { + return null; + } + + if (hidden) { + return
; + } + + return ( +
+
+

+ +

+ +
+ + + + +
+
+ +
+
+ {suggestions.map((suggestion) => ( + + ))} +
+ + {canScrollLeft && ( + + )} + + {canScrollRight && ( + + )} +
+
+ ); +}; diff --git a/app/javascript/mastodon/features/lists/members.tsx b/app/javascript/mastodon/features/lists/members.tsx index a1b50ffaf8fd53..184b54b92d21f7 100644 --- a/app/javascript/mastodon/features/lists/members.tsx +++ b/app/javascript/mastodon/features/lists/members.tsx @@ -7,11 +7,8 @@ import { useParams, Link } from 'react-router-dom'; import { useDebouncedCallback } from 'use-debounce'; -import AddIcon from '@/material-icons/400-24px/add.svg?react'; -import ArrowBackIcon from '@/material-icons/400-24px/arrow_back.svg?react'; import ListAltIcon from '@/material-icons/400-24px/list_alt.svg?react'; import SquigglyArrow from '@/svg-icons/squiggly_arrow.svg?react'; -import { fetchFollowing } from 'mastodon/actions/accounts'; import { importFetchedAccounts } from 'mastodon/actions/importer'; import { fetchList } from 'mastodon/actions/lists'; import { apiRequest } from 'mastodon/api'; @@ -25,14 +22,12 @@ import { Avatar } from 'mastodon/components/avatar'; import { Button } from 'mastodon/components/button'; import Column from 'mastodon/components/column'; import { ColumnHeader } from 'mastodon/components/column_header'; +import { ColumnSearchHeader } from 'mastodon/components/column_search_header'; import { FollowersCounter } from 'mastodon/components/counters'; import { DisplayName } from 'mastodon/components/display_name'; -import { Icon } from 'mastodon/components/icon'; import ScrollableList from 'mastodon/components/scrollable_list'; import { ShortNumber } from 'mastodon/components/short_number'; import { VerifiedBadge } from 'mastodon/components/verified_badge'; -import { ButtonInTabsBar } from 'mastodon/features/ui/util/columns_context'; -import { me } from 'mastodon/initial_state'; import { useAppDispatch, useAppSelector } from 'mastodon/store'; const messages = defineMessages({ @@ -49,54 +44,6 @@ const messages = defineMessages({ type Mode = 'remove' | 'add'; -const ColumnSearchHeader: React.FC<{ - onBack: () => void; - onSubmit: (value: string) => void; -}> = ({ onBack, onSubmit }) => { - const intl = useIntl(); - const [value, setValue] = useState(''); - - const handleChange = useCallback( - ({ target: { value } }: React.ChangeEvent) => { - setValue(value); - onSubmit(value); - }, - [setValue, onSubmit], - ); - - const handleSubmit = useCallback(() => { - onSubmit(value); - }, [onSubmit, value]); - - return ( - -
- - - -
-
- ); -}; - const AccountItem: React.FC<{ accountId: string; listId: string; @@ -156,6 +103,7 @@ const AccountItem: React.FC<{ text={intl.formatMessage( partOfList ? messages.remove : messages.add, )} + secondary={partOfList} onClick={handleClick} />
@@ -171,9 +119,6 @@ const ListMembers: React.FC<{ const { id } = useParams<{ id: string }>(); const intl = useIntl(); - const followingAccountIds = useAppSelector( - (state) => state.user_lists.getIn(['following', me, 'items']) as string[], - ); const [searching, setSearching] = useState(false); const [accountIds, setAccountIds] = useState([]); const [searchAccountIds, setSearchAccountIds] = useState([]); @@ -195,8 +140,6 @@ const ListMembers: React.FC<{ .catch(() => { setLoading(false); }); - - dispatch(fetchFollowing(me)); } }, [dispatch, id]); @@ -265,8 +208,8 @@ const ListMembers: React.FC<{ let displayedAccountIds: string[]; - if (mode === 'add') { - displayedAccountIds = searching ? searchAccountIds : followingAccountIds; + if (mode === 'add' && searching) { + displayedAccountIds = searchAccountIds; } else { displayedAccountIds = accountIds; } @@ -276,31 +219,21 @@ const ListMembers: React.FC<{ bindToDocument={!multiColumn} label={intl.formatMessage(messages.heading)} > - {mode === 'remove' ? ( - - - - } - /> - ) : ( - - )} + + + - {displayedAccountIds.length > 0 &&
} + <> + {displayedAccountIds.length > 0 &&
} -
- - - -
- - ) +
+ + + +
+ } emptyMessage={ mode === 'remove' ? ( diff --git a/app/javascript/mastodon/features/onboarding/components/step.jsx b/app/javascript/mastodon/features/onboarding/components/step.jsx deleted file mode 100644 index a2a1653b8ab25d..00000000000000 --- a/app/javascript/mastodon/features/onboarding/components/step.jsx +++ /dev/null @@ -1,57 +0,0 @@ -import PropTypes from 'prop-types'; - -import { Link } from 'react-router-dom'; - -import ArrowRightAltIcon from '@/material-icons/400-24px/arrow_right_alt.svg?react'; -import CheckIcon from '@/material-icons/400-24px/done.svg?react'; -import { Icon } from 'mastodon/components/icon'; - -export const Step = ({ label, description, icon, iconComponent, completed, onClick, href, to }) => { - const content = ( - <> -
- -
- -
-
{label}
-

{description}

-
- -
- {completed ? : } -
- - ); - - if (href) { - return ( - - {content} - - ); - } else if (to) { - return ( - - {content} - - ); - } - - return ( - - ); -}; - -Step.propTypes = { - label: PropTypes.node, - description: PropTypes.node, - icon: PropTypes.string, - iconComponent: PropTypes.func, - completed: PropTypes.bool, - href: PropTypes.string, - to: PropTypes.string, - onClick: PropTypes.func, -}; diff --git a/app/javascript/mastodon/features/onboarding/follows.jsx b/app/javascript/mastodon/features/onboarding/follows.jsx deleted file mode 100644 index e23a335c06b661..00000000000000 --- a/app/javascript/mastodon/features/onboarding/follows.jsx +++ /dev/null @@ -1,62 +0,0 @@ -import { useEffect } from 'react'; - -import { FormattedMessage } from 'react-intl'; - -import { Link } from 'react-router-dom'; - -import { useDispatch } from 'react-redux'; - - -import { fetchSuggestions } from 'mastodon/actions/suggestions'; -import { markAsPartial } from 'mastodon/actions/timelines'; -import { ColumnBackButton } from 'mastodon/components/column_back_button'; -import { EmptyAccount } from 'mastodon/components/empty_account'; -import Account from 'mastodon/containers/account_container'; -import { useAppSelector } from 'mastodon/store'; - -export const Follows = () => { - const dispatch = useDispatch(); - const isLoading = useAppSelector(state => state.getIn(['suggestions', 'isLoading'])); - const suggestions = useAppSelector(state => state.getIn(['suggestions', 'items'])); - - useEffect(() => { - dispatch(fetchSuggestions(true)); - - return () => { - dispatch(markAsPartial('home')); - }; - }, [dispatch]); - - let loadedContent; - - if (isLoading) { - loadedContent = (new Array(8)).fill().map((_, i) => ); - } else if (suggestions.isEmpty()) { - loadedContent =
; - } else { - loadedContent = suggestions.map(suggestion => ); - } - - return ( - <> - - -
-
-

-

-
- -
- {loadedContent} -
- -

{chunks} }} />

- -
- -
-
- - ); -}; diff --git a/app/javascript/mastodon/features/onboarding/follows.tsx b/app/javascript/mastodon/features/onboarding/follows.tsx new file mode 100644 index 00000000000000..25ee48c8ac6e32 --- /dev/null +++ b/app/javascript/mastodon/features/onboarding/follows.tsx @@ -0,0 +1,191 @@ +import { useEffect, useState, useCallback, useRef } from 'react'; + +import { FormattedMessage, useIntl, defineMessages } from 'react-intl'; + +import { Helmet } from 'react-helmet'; +import { Link } from 'react-router-dom'; + +import { useDebouncedCallback } from 'use-debounce'; + +import PersonIcon from '@/material-icons/400-24px/person.svg?react'; +import { fetchRelationships } from 'mastodon/actions/accounts'; +import { importFetchedAccounts } from 'mastodon/actions/importer'; +import { fetchSuggestions } from 'mastodon/actions/suggestions'; +import { markAsPartial } from 'mastodon/actions/timelines'; +import { apiRequest } from 'mastodon/api'; +import type { ApiAccountJSON } from 'mastodon/api_types/accounts'; +import Column from 'mastodon/components/column'; +import { ColumnHeader } from 'mastodon/components/column_header'; +import { ColumnSearchHeader } from 'mastodon/components/column_search_header'; +import ScrollableList from 'mastodon/components/scrollable_list'; +import Account from 'mastodon/containers/account_container'; +import { useAppSelector, useAppDispatch } from 'mastodon/store'; + +const messages = defineMessages({ + title: { + id: 'onboarding.follows.title', + defaultMessage: 'Follow people to get started', + }, + search: { id: 'onboarding.follows.search', defaultMessage: 'Search' }, + back: { id: 'onboarding.follows.back', defaultMessage: 'Back' }, +}); + +type Mode = 'remove' | 'add'; + +export const Follows: React.FC<{ + multiColumn?: boolean; +}> = ({ multiColumn }) => { + const intl = useIntl(); + const dispatch = useAppDispatch(); + const isLoading = useAppSelector((state) => state.suggestions.isLoading); + const suggestions = useAppSelector((state) => state.suggestions.items); + const [searchAccountIds, setSearchAccountIds] = useState([]); + const [mode, setMode] = useState('remove'); + const [isLoadingSearch, setIsLoadingSearch] = useState(false); + const [isSearching, setIsSearching] = useState(false); + + useEffect(() => { + void dispatch(fetchSuggestions()); + + return () => { + dispatch(markAsPartial('home')); + }; + }, [dispatch]); + + const handleSearchClick = useCallback(() => { + setMode('add'); + }, [setMode]); + + const handleDismissSearchClick = useCallback(() => { + setMode('remove'); + setIsSearching(false); + }, [setMode, setIsSearching]); + + const searchRequestRef = useRef(null); + + const handleSearch = useDebouncedCallback( + (value: string) => { + if (searchRequestRef.current) { + searchRequestRef.current.abort(); + } + + if (value.trim().length === 0) { + setIsSearching(false); + setSearchAccountIds([]); + return; + } + + setIsSearching(true); + setIsLoadingSearch(true); + + searchRequestRef.current = new AbortController(); + + void apiRequest('GET', 'v1/accounts/search', { + signal: searchRequestRef.current.signal, + params: { + q: value, + }, + }) + .then((data) => { + dispatch(importFetchedAccounts(data)); + dispatch(fetchRelationships(data.map((a) => a.id))); + setSearchAccountIds(data.map((a) => a.id)); + setIsLoadingSearch(false); + return ''; + }) + .catch(() => { + setIsLoadingSearch(false); + }); + }, + 500, + { leading: true, trailing: true }, + ); + + let displayedAccountIds: string[]; + + if (mode === 'add' && isSearching) { + displayedAccountIds = searchAccountIds; + } else { + displayedAccountIds = suggestions.map( + (suggestion) => suggestion.account_id, + ); + } + + return ( + + + + + + + {displayedAccountIds.length > 0 &&
} + +
+ + + +
+ + } + emptyMessage={ + mode === 'remove' ? ( + + ) : ( + + ) + } + > + {displayedAccountIds.map((accountId) => ( + + ))} + + + + {intl.formatMessage(messages.title)} + + + + ); +}; + +// eslint-disable-next-line import/no-default-export +export default Follows; diff --git a/app/javascript/mastodon/features/onboarding/index.jsx b/app/javascript/mastodon/features/onboarding/index.jsx deleted file mode 100644 index d100a1c3d5f626..00000000000000 --- a/app/javascript/mastodon/features/onboarding/index.jsx +++ /dev/null @@ -1,91 +0,0 @@ -import { useCallback } from 'react'; - -import { FormattedMessage, useIntl, defineMessages } from 'react-intl'; - -import { Helmet } from 'react-helmet'; -import { Link, Switch, Route } from 'react-router-dom'; - -import { useDispatch } from 'react-redux'; - - -import illustration from '@/images/elephant_ui_conversation.svg'; -import AccountCircleIcon from '@/material-icons/400-24px/account_circle.svg?react'; -import ArrowRightAltIcon from '@/material-icons/400-24px/arrow_right_alt.svg?react'; -import ContentCopyIcon from '@/material-icons/400-24px/content_copy.svg?react'; -import EditNoteIcon from '@/material-icons/400-24px/edit_note.svg?react'; -import PersonAddIcon from '@/material-icons/400-24px/person_add.svg?react'; -import { focusCompose } from 'mastodon/actions/compose'; -import { Icon } from 'mastodon/components/icon'; -import { NotSignedInIndicator } from 'mastodon/components/not_signed_in_indicator'; -import Column from 'mastodon/features/ui/components/column'; -import { me } from 'mastodon/initial_state'; -import { useAppSelector } from 'mastodon/store'; -import { assetHost } from 'mastodon/utils/config'; - -import { Step } from './components/step'; -import { Follows } from './follows'; -import { Profile } from './profile'; -import { Share } from './share'; - -const messages = defineMessages({ - template: { id: 'onboarding.compose.template', defaultMessage: 'Hello #Mastodon!' }, -}); - -const Onboarding = () => { - const account = useAppSelector(state => state.getIn(['accounts', me])); - const dispatch = useDispatch(); - const intl = useIntl(); - - const handleComposeClick = useCallback(() => { - dispatch(focusCompose(intl.formatMessage(messages.template))); - }, [dispatch, intl]); - - return ( - - {account ? ( - - -
-
- -

-

-
- -
- 0 && account.get('note').length > 0)} icon='address-book-o' iconComponent={AccountCircleIcon} label={} description={} /> - = 1} icon='user-plus' iconComponent={PersonAddIcon} label={} description={} /> - = 1} icon='pencil-square-o' iconComponent={EditNoteIcon} label={} description={ }} />} /> - } description={} /> -
- -

- -
- - - - - - - - - -
-
-
- - - - -
- ) : } - - - - -
- ); -}; - -export default Onboarding; diff --git a/app/javascript/mastodon/features/onboarding/profile.jsx b/app/javascript/mastodon/features/onboarding/profile.jsx deleted file mode 100644 index 14250ae39bd399..00000000000000 --- a/app/javascript/mastodon/features/onboarding/profile.jsx +++ /dev/null @@ -1,162 +0,0 @@ -import { useState, useMemo, useCallback, createRef } from 'react'; - -import { useIntl, defineMessages, FormattedMessage } from 'react-intl'; - -import classNames from 'classnames'; -import { useHistory } from 'react-router-dom'; - - -import { useDispatch } from 'react-redux'; - -import Toggle from 'react-toggle'; - -import AddPhotoAlternateIcon from '@/material-icons/400-24px/add_photo_alternate.svg?react'; -import EditIcon from '@/material-icons/400-24px/edit.svg?react'; -import { updateAccount } from 'mastodon/actions/accounts'; -import { Button } from 'mastodon/components/button'; -import { ColumnBackButton } from 'mastodon/components/column_back_button'; -import { Icon } from 'mastodon/components/icon'; -import { LoadingIndicator } from 'mastodon/components/loading_indicator'; -import { me } from 'mastodon/initial_state'; -import { useAppSelector } from 'mastodon/store'; -import { unescapeHTML } from 'mastodon/utils/html'; - -const messages = defineMessages({ - uploadHeader: { id: 'onboarding.profile.upload_header', defaultMessage: 'Upload profile header' }, - uploadAvatar: { id: 'onboarding.profile.upload_avatar', defaultMessage: 'Upload profile picture' }, -}); - -const nullIfMissing = path => path.endsWith('missing.png') ? null : path; - -export const Profile = () => { - const account = useAppSelector(state => state.getIn(['accounts', me])); - const [displayName, setDisplayName] = useState(account.get('display_name')); - const [note, setNote] = useState(unescapeHTML(account.get('note'))); - const [avatar, setAvatar] = useState(null); - const [header, setHeader] = useState(null); - const [discoverable, setDiscoverable] = useState(account.get('discoverable')); - const [isSaving, setIsSaving] = useState(false); - const [errors, setErrors] = useState(); - const avatarFileRef = createRef(); - const headerFileRef = createRef(); - const dispatch = useDispatch(); - const intl = useIntl(); - const history = useHistory(); - - const handleDisplayNameChange = useCallback(e => { - setDisplayName(e.target.value); - }, [setDisplayName]); - - const handleNoteChange = useCallback(e => { - setNote(e.target.value); - }, [setNote]); - - const handleDiscoverableChange = useCallback(e => { - setDiscoverable(e.target.checked); - }, [setDiscoverable]); - - const handleAvatarChange = useCallback(e => { - setAvatar(e.target?.files?.[0]); - }, [setAvatar]); - - const handleHeaderChange = useCallback(e => { - setHeader(e.target?.files?.[0]); - }, [setHeader]); - - const avatarPreview = useMemo(() => avatar ? URL.createObjectURL(avatar) : nullIfMissing(account.get('avatar')), [avatar, account]); - const headerPreview = useMemo(() => header ? URL.createObjectURL(header) : nullIfMissing(account.get('header')), [header, account]); - - const handleSubmit = useCallback(() => { - setIsSaving(true); - - dispatch(updateAccount({ - displayName, - note, - avatar, - header, - discoverable, - indexable: discoverable, - })).then(() => history.push('/start/follows')).catch(err => { - setIsSaving(false); - setErrors(err.response.data.details); - }); - }, [dispatch, displayName, note, avatar, header, discoverable, history]); - - return ( - <> - - -
-
-

-

-
- -
-
- - - -
- -
- - -
- -
-
- -
- - -
-