From 02e78a7dac8ff6bb2cfcad0d79a139fea1578bf1 Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Mon, 16 Dec 2024 08:37:09 +0100 Subject: [PATCH 01/60] Update devDependencies (non-major) (#33316) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> --- yarn.lock | 62 +++++++++++++++++++++++++++---------------------------- 1 file changed, 31 insertions(+), 31 deletions(-) diff --git a/yarn.lock b/yarn.lock index 8cd9f7b293..f3d23610a7 100644 --- a/yarn.lock +++ b/yarn.lock @@ -7093,15 +7093,15 @@ __metadata: languageName: node linkType: hard -"debug@npm:4, debug@npm:^4.1.0, debug@npm:^4.1.1, debug@npm:^4.3.1, debug@npm:^4.3.2, debug@npm:^4.3.4, debug@npm:^4.3.5, debug@npm:^4.3.6, debug@npm:^4.3.7, debug@npm:~4.3.6": - version: 4.3.7 - resolution: "debug@npm:4.3.7" +"debug@npm:4, debug@npm:^4.1.0, debug@npm:^4.1.1, debug@npm:^4.3.1, debug@npm:^4.3.2, debug@npm:^4.3.4, debug@npm:^4.3.5, debug@npm:^4.3.6, debug@npm:^4.3.7, debug@npm:~4.4.0": + version: 4.4.0 + resolution: "debug@npm:4.4.0" dependencies: ms: "npm:^2.1.3" peerDependenciesMeta: supports-color: optional: true - checksum: 10c0/1471db19c3b06d485a622d62f65947a19a23fbd0dd73f7fd3eafb697eec5360cde447fb075919987899b1a2096e85d35d4eb5a4de09a57600ac9cf7e6c8e768b + checksum: 10c0/db94f1a182bf886f57b4755f85b3a74c39b5114b9377b7ab375dc2cfa3454f09490cc6c30f829df3fc8042bc8b8995f6567ce5cd96f3bc3688bd24027197d9de languageName: node linkType: hard @@ -11499,10 +11499,10 @@ __metadata: languageName: node linkType: hard -"lilconfig@npm:^3.1.2, lilconfig@npm:~3.1.2": - version: 3.1.2 - resolution: "lilconfig@npm:3.1.2" - checksum: 10c0/f059630b1a9bddaeba83059db00c672b64dc14074e9f232adce32b38ca1b5686ab737eb665c5ba3c32f147f0002b4bee7311ad0386a9b98547b5623e87071fbe +"lilconfig@npm:^3.1.2, lilconfig@npm:~3.1.3": + version: 3.1.3 + resolution: "lilconfig@npm:3.1.3" + checksum: 10c0/f5604e7240c5c275743561442fbc5abf2a84ad94da0f5adc71d25e31fa8483048de3dcedcb7a44112a942fed305fd75841cdf6c9681c7f640c63f1049e9a5dcc languageName: node linkType: hard @@ -11514,28 +11514,28 @@ __metadata: linkType: hard "lint-staged@npm:^15.0.0": - version: 15.2.10 - resolution: "lint-staged@npm:15.2.10" + version: 15.2.11 + resolution: "lint-staged@npm:15.2.11" dependencies: chalk: "npm:~5.3.0" commander: "npm:~12.1.0" - debug: "npm:~4.3.6" + debug: "npm:~4.4.0" execa: "npm:~8.0.1" - lilconfig: "npm:~3.1.2" - listr2: "npm:~8.2.4" + lilconfig: "npm:~3.1.3" + listr2: "npm:~8.2.5" micromatch: "npm:~4.0.8" pidtree: "npm:~0.6.0" string-argv: "npm:~0.3.2" - yaml: "npm:~2.5.0" + yaml: "npm:~2.6.1" bin: lint-staged: bin/lint-staged.js - checksum: 10c0/6ad7b41f5e87a84fa2eb1990080ea3c68a2f2031b4e81edcdc2a458cc878538eedb310e6f98ffd878a1287e1a52ac968e540ee8a0e96c247e04b0cbc36421cdd + checksum: 10c0/28e2ad08b90460cc18398a023eaf93954d7753f958c2b889ead2d9305407d7b4ef0ee007875410d6ce1df758007fda77e079c82eb79c9ce684fba71e6f7d0452 languageName: node linkType: hard -"listr2@npm:~8.2.4": - version: 8.2.4 - resolution: "listr2@npm:8.2.4" +"listr2@npm:~8.2.5": + version: 8.2.5 + resolution: "listr2@npm:8.2.5" dependencies: cli-truncate: "npm:^4.0.0" colorette: "npm:^2.0.20" @@ -11543,7 +11543,7 @@ __metadata: log-update: "npm:^6.1.0" rfdc: "npm:^1.4.1" wrap-ansi: "npm:^9.0.0" - checksum: 10c0/df5b129e9767de1997973cec6103cd4bd6fc3b3367685b7c23048d12b61d5b7e44fecd8a3d3534c0e1c963bd5ac43ca501d14712f46fa101050037be323a5c16 + checksum: 10c0/f5a9599514b00c27d7eb32d1117c83c61394b2a985ec20e542c798bf91cf42b19340215701522736f5b7b42f557e544afeadec47866e35e5d4f268f552729671 languageName: node linkType: hard @@ -16808,8 +16808,8 @@ __metadata: linkType: hard "stylelint@npm:^16.11.0": - version: 16.11.0 - resolution: "stylelint@npm:16.11.0" + version: 16.12.0 + resolution: "stylelint@npm:16.12.0" dependencies: "@csstools/css-parser-algorithms": "npm:^3.0.4" "@csstools/css-tokenizer": "npm:^3.0.3" @@ -16847,11 +16847,11 @@ __metadata: string-width: "npm:^4.2.3" supports-hyperlinks: "npm:^3.1.0" svg-tags: "npm:^1.0.0" - table: "npm:^6.8.2" + table: "npm:^6.9.0" write-file-atomic: "npm:^5.0.1" bin: stylelint: bin/stylelint.mjs - checksum: 10c0/65638247fb4e5eacb032e3a98412a13ad8b343d2d58e22d61b96ada72808b5b7e736c845937b3bcfde04c0bfa2120383b507e530afe876dafe824a93c337258f + checksum: 10c0/d60bc6136f5bdc4e49ec22aee4d82130c4e9c94aa7d249da9dda315a862615e74acaefb24c560529b2102f8c27dde473b148ffcee861f5dab7b0225254765102 languageName: node linkType: hard @@ -16993,16 +16993,16 @@ __metadata: languageName: node linkType: hard -"table@npm:^6.8.2": - version: 6.8.2 - resolution: "table@npm:6.8.2" +"table@npm:^6.9.0": + version: 6.9.0 + resolution: "table@npm:6.9.0" dependencies: ajv: "npm:^8.0.1" lodash.truncate: "npm:^4.4.2" slice-ansi: "npm:^4.0.0" string-width: "npm:^4.2.3" strip-ansi: "npm:^6.0.1" - checksum: 10c0/f8b348af38ee34e419d8ce7306ba00671ce6f20e861ccff22555f491ba264e8416086063ce278a8d81abfa8d23b736ec2cca7ac4029b5472f63daa4b4688b803 + checksum: 10c0/35646185712bb65985fbae5975dda46696325844b78735f95faefae83e86df0a265277819a3e67d189de6e858c509b54e66ca3958ffd51bde56ef1118d455bf4 languageName: node linkType: hard @@ -18791,12 +18791,12 @@ __metadata: languageName: node linkType: hard -"yaml@npm:~2.5.0": - version: 2.5.0 - resolution: "yaml@npm:2.5.0" +"yaml@npm:~2.6.1": + version: 2.6.1 + resolution: "yaml@npm:2.6.1" bin: yaml: bin.mjs - checksum: 10c0/771a1df083c8217cf04ef49f87244ae2dd7d7457094425e793b8f056159f167602ce172aa32d6bca21f787d24ec724aee3cecde938f6643564117bd151452631 + checksum: 10c0/aebf07f61c72b38c74d2b60c3a3ccf89ee4da45bcd94b2bfb7899ba07a5257625a7c9f717c65a6fc511563d48001e01deb1d9e55f0133f3e2edf86039c8c1be7 languageName: node linkType: hard From 519630bc03fe459160ff1a5d234b572394715d72 Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Mon, 16 Dec 2024 08:37:39 +0100 Subject: [PATCH 02/60] Update dependency csv to v3.3.1 (#33315) 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 6d125f4a96..8d56dfb2f4 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -170,7 +170,7 @@ GEM crass (1.0.6) css_parser (1.19.1) addressable - csv (3.3.0) + csv (3.3.1) database_cleaner-active_record (2.2.0) activerecord (>= 5.a) database_cleaner-core (~> 2.0.0) From 74478888fffabe30fde8c5214bf8a4b64a8e9b4f Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Mon, 16 Dec 2024 08:37:56 +0100 Subject: [PATCH 03/60] Update dependency oj to v3.16.8 (#33314) 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 8d56dfb2f4..3b2c54f7dc 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -429,7 +429,7 @@ GEM nokogiri (1.17.2) mini_portile2 (~> 2.8.2) racc (~> 1.4) - oj (3.16.7) + oj (3.16.8) bigdecimal (>= 3.0) ostruct (>= 0.2) omniauth (2.1.2) From 3cf6681736bae45cf13bf48cb2a72d3ac60bef60 Mon Sep 17 00:00:00 2001 From: Eugen Rochko Date: Mon, 16 Dec 2024 08:38:56 +0100 Subject: [PATCH 04/60] Change animation on feed generation screen in web UI (#33311) --- .../components/regeneration_indicator.jsx | 18 ----------- .../components/regeneration_indicator.tsx | 26 ++++++++++++++++ .../mastodon/components/status_list.jsx | 2 +- app/javascript/mastodon/locales/en.json | 4 +-- .../styles/mastodon/components.scss | 28 +++++++----------- public/loading.gif | Bin 0 -> 294725 bytes public/loading.png | Bin 0 -> 74425 bytes 7 files changed, 39 insertions(+), 39 deletions(-) delete mode 100644 app/javascript/mastodon/components/regeneration_indicator.jsx create mode 100644 app/javascript/mastodon/components/regeneration_indicator.tsx create mode 100755 public/loading.gif create mode 100755 public/loading.png diff --git a/app/javascript/mastodon/components/regeneration_indicator.jsx b/app/javascript/mastodon/components/regeneration_indicator.jsx deleted file mode 100644 index d42a7d7c72..0000000000 --- a/app/javascript/mastodon/components/regeneration_indicator.jsx +++ /dev/null @@ -1,18 +0,0 @@ -import { FormattedMessage } from 'react-intl'; - -import illustration from '@/images/elephant_ui_working.svg'; - -const RegenerationIndicator = () => ( -
-
- -
- -
- - -
-
-); - -export default RegenerationIndicator; diff --git a/app/javascript/mastodon/components/regeneration_indicator.tsx b/app/javascript/mastodon/components/regeneration_indicator.tsx new file mode 100644 index 0000000000..e26b93eb4f --- /dev/null +++ b/app/javascript/mastodon/components/regeneration_indicator.tsx @@ -0,0 +1,26 @@ +import { FormattedMessage } from 'react-intl'; + +import { GIF } from './gif'; + +export const RegenerationIndicator: React.FC = () => ( +
+ + +
+ + + + +
+
+); diff --git a/app/javascript/mastodon/components/status_list.jsx b/app/javascript/mastodon/components/status_list.jsx index c6cacbd2b2..3091e2a2a0 100644 --- a/app/javascript/mastodon/components/status_list.jsx +++ b/app/javascript/mastodon/components/status_list.jsx @@ -6,7 +6,7 @@ import ImmutablePureComponent from 'react-immutable-pure-component'; import { debounce } from 'lodash'; import { TIMELINE_GAP, TIMELINE_SUGGESTIONS } from 'mastodon/actions/timelines'; -import RegenerationIndicator from 'mastodon/components/regeneration_indicator'; +import { RegenerationIndicator } from 'mastodon/components/regeneration_indicator'; import { InlineFollowSuggestions } from 'mastodon/features/home_timeline/components/inline_follow_suggestions'; import StatusContainer from '../containers/status_container'; diff --git a/app/javascript/mastodon/locales/en.json b/app/javascript/mastodon/locales/en.json index bdc4cadaa8..8fe837b141 100644 --- a/app/javascript/mastodon/locales/en.json +++ b/app/javascript/mastodon/locales/en.json @@ -697,8 +697,8 @@ "privacy_policy.title": "Privacy Policy", "recommended": "Recommended", "refresh": "Refresh", - "regeneration_indicator.label": "Loading…", - "regeneration_indicator.sublabel": "Your home feed is being prepared!", + "regeneration_indicator.please_stand_by": "Please stand by.", + "regeneration_indicator.preparing_your_home_feed": "Preparing your home feed…", "relative_time.days": "{number}d", "relative_time.full.days": "{number, plural, one {# day} other {# days}} ago", "relative_time.full.hours": "{number, plural, one {# hour} other {# hours}} ago", diff --git a/app/javascript/styles/mastodon/components.scss b/app/javascript/styles/mastodon/components.scss index d4e507ce51..345753f124 100644 --- a/app/javascript/styles/mastodon/components.scss +++ b/app/javascript/styles/mastodon/components.scss @@ -4088,10 +4088,7 @@ a.status-card { } .regeneration-indicator { - text-align: center; - font-size: 16px; - font-weight: 500; - color: $dark-text-color; + color: $darker-text-color; border: 1px solid var(--background-border-color); border-top: 0; cursor: default; @@ -4103,31 +4100,26 @@ a.status-card { padding: 20px; &__figure { - &, - img { - display: block; - width: auto; - height: 160px; - margin: 0; - } - } - - &--without-header { - padding-top: 20px + 48px; + display: block; + width: 100%; + height: auto; + max-width: 350px; + margin-top: -50px; } &__label { - margin-top: 30px; + text-align: center; + font-size: 16px; strong { + font-weight: 500; display: block; margin-bottom: 10px; - color: $dark-text-color; + color: $darker-text-color; } span { font-size: 15px; - font-weight: 400; } } } diff --git a/public/loading.gif b/public/loading.gif new file mode 100755 index 0000000000000000000000000000000000000000..b3e1dbef8f71cabe81f6b4a966450a54a5df54a9 GIT binary patch literal 294725 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 =?jDVNn?kFS&UcR?+G*cvL23JCz1V;_## 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%0AcvIedVBSdBy-{X)9Of{Y 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 z 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 z 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 literal 0 HcmV?d00001 From fd0793dd0e35f619abef7568ab29497cac85d898 Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Mon, 16 Dec 2024 08:47:32 +0100 Subject: [PATCH 05/60] Update dependency postcss-preset-env to v10.1.2 (#33303) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> --- yarn.lock | 26 +++++++++++++------------- 1 file changed, 13 insertions(+), 13 deletions(-) diff --git a/yarn.lock b/yarn.lock index f3d23610a7..6f8a641d2a 100644 --- a/yarn.lock +++ b/yarn.lock @@ -6730,16 +6730,16 @@ __metadata: languageName: node linkType: hard -"css-has-pseudo@npm:^7.0.1": - version: 7.0.1 - resolution: "css-has-pseudo@npm:7.0.1" +"css-has-pseudo@npm:^7.0.2": + version: 7.0.2 + resolution: "css-has-pseudo@npm:7.0.2" dependencies: "@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/13789b08b70169204be786d652190356ace9313099d3656bd2fc38afbdd28f3d9620f0e0b07425480961b7a1ec789794961d0472f205b959d3f64c9a78ce511c + checksum: 10c0/456e9ce1eec8a535683c329956acfe53ce5a208345d7f2fcbe662626be8b3c98681e9041d7f4980316714397b0c1c3defde25653d629c396df17803d599c4edf languageName: node linkType: hard @@ -6875,10 +6875,10 @@ __metadata: languageName: node linkType: hard -"cssdb@npm:^8.2.1": - version: 8.2.1 - resolution: "cssdb@npm:8.2.1" - checksum: 10c0/d27d7db0a39e1105181aac119a98d6c92cd5ceba2e8bd349cdf2ba4a8d9ead149b685a1dba9542ca24f094cc70eca4a3e02973fe1f74c11a373b508606e5e1c0 +"cssdb@npm:^8.2.3": + version: 8.2.3 + resolution: "cssdb@npm:8.2.3" + checksum: 10c0/17c3ca6432ed02431db6b44bed74649ccef7d7b7b900ccbc7297525f030722c441dd67c71f28aef3cfa0814ba7b254a24adfb0dcd5728937da179ff437cdcd0c languageName: node linkType: hard @@ -14010,8 +14010,8 @@ __metadata: linkType: hard "postcss-preset-env@npm:^10.0.0": - version: 10.1.1 - resolution: "postcss-preset-env@npm:10.1.1" + version: 10.1.2 + resolution: "postcss-preset-env@npm:10.1.2" dependencies: "@csstools/postcss-cascade-layers": "npm:^5.0.1" "@csstools/postcss-color-function": "npm:^4.0.6" @@ -14048,9 +14048,9 @@ __metadata: 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-has-pseudo: "npm:^7.0.2" css-prefers-color-scheme: "npm:^10.0.0" - cssdb: "npm:^8.2.1" + cssdb: "npm:^8.2.3" postcss-attribute-case-insensitive: "npm:^7.0.1" postcss-clamp: "npm:^4.1.0" postcss-color-functional-notation: "npm:^7.0.6" @@ -14078,7 +14078,7 @@ __metadata: postcss-selector-not: "npm:^8.0.1" peerDependencies: postcss: ^8.4 - checksum: 10c0/99931117735a66827c7318be023ddb614990457617ccbe7fd2fdc1f10345554652df180d4842768d68d57e14fc0be4d86d0b413c65e77e02db5511e57ed07c4f + checksum: 10c0/bd40330867a525679d434ff9602efbf229da9e745a3759c2d0b3cff166dd0f17bf99b44673ebb316df1906c2bf2edef97aeef1840aa6be170b43a34404df396d languageName: node linkType: hard From d19eaebd5e439177877b0d37ea4587e89180888e Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Mon, 16 Dec 2024 08:47:51 +0100 Subject: [PATCH 06/60] Update dependency dotenv to v3.1.6 (#33302) 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 3b2c54f7dc..8bd67e67be 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -201,7 +201,7 @@ GEM domain_name (0.6.20240107) doorkeeper (5.8.1) railties (>= 5) - dotenv (3.1.5) + dotenv (3.1.6) drb (2.2.1) elasticsearch (7.17.11) elasticsearch-api (= 7.17.11) From 504ea31bd3fd412550a2f16e69ffb8ba44e8db0b Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" <41898282+github-actions[bot]@users.noreply.github.com> Date: Mon, 16 Dec 2024 07:54:12 +0000 Subject: [PATCH 07/60] New Crowdin Translations (automated) (#33310) Co-authored-by: GitHub Actions --- app/javascript/mastodon/locales/eo.json | 3 ++ app/javascript/mastodon/locales/es-MX.json | 20 ++++----- app/javascript/mastodon/locales/fo.json | 3 ++ app/javascript/mastodon/locales/ga.json | 7 ++++ app/javascript/mastodon/locales/he.json | 3 ++ app/javascript/mastodon/locales/hu.json | 2 +- app/javascript/mastodon/locales/ia.json | 5 ++- app/javascript/mastodon/locales/ja.json | 7 ++++ app/javascript/mastodon/locales/ko.json | 3 ++ app/javascript/mastodon/locales/nan.json | 42 +++++++++++++++++++ app/javascript/mastodon/locales/ru.json | 2 + app/javascript/mastodon/locales/sk.json | 4 ++ app/javascript/mastodon/locales/sq.json | 3 ++ app/javascript/mastodon/locales/th.json | 19 +++++++++ app/javascript/mastodon/locales/tok.json | 22 ++++++++++ app/javascript/mastodon/locales/tr.json | 3 ++ app/javascript/mastodon/locales/vi.json | 3 ++ config/locales/eo.yml | 8 ++++ config/locales/es-AR.yml | 12 +++--- config/locales/ga.yml | 48 ++++++++++++++++++++++ config/locales/ia.yml | 46 +++++++++++++++++++++ config/locales/ja.yml | 44 ++++++++++++++++++++ config/locales/ru.yml | 9 ++++ config/locales/simple_form.es-AR.yml | 1 + config/locales/simple_form.es.yml | 1 + config/locales/simple_form.ga.yml | 22 ++++++++++ config/locales/simple_form.ia.yml | 24 +++++++++++ config/locales/simple_form.ja.yml | 8 ++++ config/locales/simple_form.nl.yml | 2 +- config/locales/simple_form.pt-BR.yml | 2 + config/locales/simple_form.th.yml | 5 +++ config/locales/th.yml | 25 +++++++++++ config/locales/tr.yml | 3 ++ 33 files changed, 392 insertions(+), 19 deletions(-) diff --git a/app/javascript/mastodon/locales/eo.json b/app/javascript/mastodon/locales/eo.json index 4b1ffa59ee..646f43d314 100644 --- a/app/javascript/mastodon/locales/eo.json +++ b/app/javascript/mastodon/locales/eo.json @@ -782,8 +782,11 @@ "search_results.accounts": "Profiloj", "search_results.all": "Ĉiuj", "search_results.hashtags": "Kradvortoj", + "search_results.no_results": "Ne estas rezultoj.", + "search_results.no_search_yet": "Provu serĉi afiŝojn, profilojn aŭ kradvortojn.", "search_results.see_all": "Vidu ĉiujn", "search_results.statuses": "Afiŝoj", + "search_results.title": "Serĉu \"{q}\"", "server_banner.about_active_users": "Personoj uzantaj ĉi tiun servilon dum la lastaj 30 tagoj (Aktivaj Uzantoj Monate)", "server_banner.active_users": "aktivaj uzantoj", "server_banner.administered_by": "Administrata de:", diff --git a/app/javascript/mastodon/locales/es-MX.json b/app/javascript/mastodon/locales/es-MX.json index cc92c06de5..22375d2d26 100644 --- a/app/javascript/mastodon/locales/es-MX.json +++ b/app/javascript/mastodon/locales/es-MX.json @@ -28,16 +28,16 @@ "account.enable_notifications": "Notificarme cuando @{name} publique algo", "account.endorse": "Destacar en mi perfil", "account.featured_tags.last_status_at": "Última publicación el {date}", - "account.featured_tags.last_status_never": "Sin publicaciones", + "account.featured_tags.last_status_never": "No hay publicaciones", "account.featured_tags.title": "Etiquetas destacadas de {name}", "account.follow": "Seguir", "account.follow_back": "Seguir también", "account.followers": "Seguidores", - "account.followers.empty": "Todavía nadie sigue a este usuario.", + "account.followers.empty": "Nadie sigue a este usuario todavía.", "account.followers_counter": "{count, plural, one {{counter} seguidor} other {{counter} seguidores}}", "account.following": "Siguiendo", "account.following_counter": "{count, plural, one {{counter} siguiendo} other {{counter} siguiendo}}", - "account.follows.empty": "Este usuario todavía no sigue a nadie.", + "account.follows.empty": "Este usuario no sigue a nadie todavía.", "account.go_to_profile": "Ir al perfil", "account.hide_reblogs": "Ocultar impulsos de @{name}", "account.in_memoriam": "En memoria.", @@ -58,7 +58,7 @@ "account.posts": "Publicaciones", "account.posts_with_replies": "Publicaciones y respuestas", "account.report": "Denunciar a @{name}", - "account.requested": "Esperando aprobación. Haga clic para cancelar la solicitud de seguimiento", + "account.requested": "Esperando aprobación. Haz clic para cancelar la solicitud de seguimiento", "account.requested_follow": "{name} ha solicitado seguirte", "account.share": "Compartir el perfil de @{name}", "account.show_reblogs": "Mostrar impulsos de @{name}", @@ -81,7 +81,7 @@ "admin.impact_report.instance_followers": "Seguidores que nuestros usuarios perderían", "admin.impact_report.instance_follows": "Seguidores que perderían sus usuarios", "admin.impact_report.title": "Resumen de impacto", - "alert.rate_limited.message": "Por favor reintente después de {retry_time, time, medium}.", + "alert.rate_limited.message": "Por favor, intenta después de las {retry_time, time, medium}.", "alert.rate_limited.title": "Tarifa limitada", "alert.unexpected.message": "Hubo un error inesperado.", "alert.unexpected.title": "¡Ups!", @@ -89,9 +89,9 @@ "announcement.announcement": "Anuncio", "annual_report.summary.archetype.booster": "El cazador de tendencias", "annual_report.summary.archetype.lurker": "El merodeador", - "annual_report.summary.archetype.oracle": "El oraculo", + "annual_report.summary.archetype.oracle": "El oráculo", "annual_report.summary.archetype.pollster": "El encuestador", - "annual_report.summary.archetype.replier": "La mariposa sociable", + "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": "Este es el resumen de tu {year}:", @@ -108,7 +108,7 @@ "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.", + "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.", "block_modal.show_less": "Mostrar menos", "block_modal.show_more": "Mostrar más", "block_modal.they_cant_mention": "No pueden mencionarte ni seguirte.", @@ -782,11 +782,11 @@ "search_results.accounts": "Perfiles", "search_results.all": "Todos", "search_results.hashtags": "Etiquetas", - "search_results.no_results": "Sin resultados.", + "search_results.no_results": "No hay resultados.", "search_results.no_search_yet": "Intenta buscar publicaciones, perfiles o etiquetas.", "search_results.see_all": "Ver todos", "search_results.statuses": "Publicaciones", - "search_results.title": "Búsqueda de \"{q}\"", + "search_results.title": "Busqueda de “{q}”", "server_banner.about_active_users": "Personas utilizando este servidor durante los últimos 30 días (Usuarios Activos Mensuales)", "server_banner.active_users": "usuarios activos", "server_banner.administered_by": "Administrado por:", diff --git a/app/javascript/mastodon/locales/fo.json b/app/javascript/mastodon/locales/fo.json index bae34aee16..fc174b5cdc 100644 --- a/app/javascript/mastodon/locales/fo.json +++ b/app/javascript/mastodon/locales/fo.json @@ -781,8 +781,11 @@ "search_results.accounts": "Vangar", "search_results.all": "Alt", "search_results.hashtags": "Frámerki", + "search_results.no_results": "Eingi úrslit.", + "search_results.no_search_yet": "Royn at leita eftir postum, vangum ella frámerkjum.", "search_results.see_all": "Sí øll", "search_results.statuses": "Postar", + "search_results.title": "Leita eftir \"{q}\"", "server_banner.about_active_users": "Fólk, sum hava brúkt hendan ambætaran seinastu 30 dagarnar (mánaðarligir virknir brúkarar)", "server_banner.active_users": "virknir brúkarar", "server_banner.administered_by": "Umsitari:", diff --git a/app/javascript/mastodon/locales/ga.json b/app/javascript/mastodon/locales/ga.json index 81b1647fcf..e95bfd273d 100644 --- a/app/javascript/mastodon/locales/ga.json +++ b/app/javascript/mastodon/locales/ga.json @@ -362,6 +362,7 @@ "footer.privacy_policy": "Polasaí príobháideachais", "footer.source_code": "Féach ar an gcód foinseach", "footer.status": "Stádas", + "footer.terms_of_service": "Téarmaí seirbhíse", "generic.saved": "Sábháilte", "getting_started.heading": "Ag tosú amach", "hashtag.admin_moderation": "Oscail comhéadan modhnóireachta le haghaidh #{name}", @@ -548,6 +549,8 @@ "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.favourite_pm": "B'fhearr le {name} do lua príobháideach", + "notification.favourite_pm.name_and_others_with_link": "{name} agus {count, plural, one {# eile} two {# eile} few {# eile} many {# eile} other {# eile}} atá roghnaithe do do luaidh phríobháideach", "notification.follow": "Lean {name} thú", "notification.follow.name_and_others": "{name} agus {count, plural, one {# other} two {# eile} few {# eile} many {# eile} other {# others}} lean tú", "notification.follow_request": "D'iarr {name} ort do chuntas a leanúint", @@ -779,8 +782,11 @@ "search_results.accounts": "Próifílí", "search_results.all": "Gach", "search_results.hashtags": "Haischlib", + "search_results.no_results": "Gan torthaí.", + "search_results.no_search_yet": "Bain triail as postálacha, próifílí nó hashtags a chuardach.", "search_results.see_all": "Gach rud a fheicáil", "search_results.statuses": "Postálacha", + "search_results.title": "Cuardaigh \"{q}\"", "server_banner.about_active_users": "Daoine a úsáideann an freastalaí seo le 30 lá anuas (Úsáideoirí Gníomhacha Míosúla)", "server_banner.active_users": "úsáideoirí gníomhacha", "server_banner.administered_by": "Arna riar ag:", @@ -853,6 +859,7 @@ "subscribed_languages.target": "Athraigh teangacha suibscríofa le haghaidh {target}", "tabs_bar.home": "Baile", "tabs_bar.notifications": "Fógraí", + "terms_of_service.title": "Téarmaí Seirbhíse", "time_remaining.days": "{number, plural, one {# lá} other {# lá}} fágtha", "time_remaining.hours": "{number, plural, one {# uair} other {# uair}} fágtha", "time_remaining.minutes": "{number, plural, one {# nóiméad} other {# nóiméad}} fágtha", diff --git a/app/javascript/mastodon/locales/he.json b/app/javascript/mastodon/locales/he.json index 01f0bdca42..bf429c0c56 100644 --- a/app/javascript/mastodon/locales/he.json +++ b/app/javascript/mastodon/locales/he.json @@ -782,8 +782,11 @@ "search_results.accounts": "פרופילים", "search_results.all": "כל התוצאות", "search_results.hashtags": "תגיות", + "search_results.no_results": "אין תוצאות.", + "search_results.no_search_yet": "נסו לחפש אחר הודעות, פרופילי משתמשים או תגיות.", "search_results.see_all": "הראה הכל", "search_results.statuses": "הודעות", + "search_results.title": "חיפוש אחר \"{q}\"", "server_banner.about_active_users": "משתמשים פעילים בשרת ב־30 הימים האחרונים (משתמשים פעילים חודשיים)", "server_banner.active_users": "משתמשים פעילים", "server_banner.administered_by": "מנוהל ע\"י:", diff --git a/app/javascript/mastodon/locales/hu.json b/app/javascript/mastodon/locales/hu.json index dbca2bb691..99bb4bfb01 100644 --- a/app/javascript/mastodon/locales/hu.json +++ b/app/javascript/mastodon/locales/hu.json @@ -786,7 +786,7 @@ "search_results.no_search_yet": "Próbálj meg bejegyzések, profilok vagy címkék után keresni.", "search_results.see_all": "Összes megtekintése", "search_results.statuses": "Bejegyzések", - "search_results.title": "\"{q}\" keresése", + "search_results.title": "Keresés erre: „{q}”", "server_banner.about_active_users": "Az elmúlt 30 napban ezt a kiszolgálót használók száma (Havi aktív felhasználók)", "server_banner.active_users": "aktív felhasználó", "server_banner.administered_by": "Adminisztrátor:", diff --git a/app/javascript/mastodon/locales/ia.json b/app/javascript/mastodon/locales/ia.json index 4155c6565b..b2b1949280 100644 --- a/app/javascript/mastodon/locales/ia.json +++ b/app/javascript/mastodon/locales/ia.json @@ -387,7 +387,7 @@ "hints.profiles.see_more_followers": "Vider plus de sequitores sur {domain}", "hints.profiles.see_more_follows": "Vider plus de sequites sur {domain}", "hints.profiles.see_more_posts": "Vider plus de messages sur {domain}", - "hints.threads.replies_may_be_missing": "Responsas de altere servitores pote esser perdite.", + "hints.threads.replies_may_be_missing": "Responsas de altere servitores pote mancar.", "hints.threads.see_more": "Vider plus de responsas sur {domain}", "home.column_settings.show_reblogs": "Monstrar impulsos", "home.column_settings.show_replies": "Monstrar responsas", @@ -782,8 +782,11 @@ "search_results.accounts": "Profilos", "search_results.all": "Toto", "search_results.hashtags": "Hashtags", + "search_results.no_results": "Necun resultato.", + "search_results.no_search_yet": "Tenta cercar messages, profilos o hashtags.", "search_results.see_all": "Vider toto", "search_results.statuses": "Messages", + "search_results.title": "Recerca de “{q}”", "server_banner.about_active_users": "Personas que ha usate iste servitor in le ultime 30 dies (usatores active per mense)", "server_banner.active_users": "usatores active", "server_banner.administered_by": "Administrate per:", diff --git a/app/javascript/mastodon/locales/ja.json b/app/javascript/mastodon/locales/ja.json index 122e57a28e..7631bc7c69 100644 --- a/app/javascript/mastodon/locales/ja.json +++ b/app/javascript/mastodon/locales/ja.json @@ -362,6 +362,7 @@ "footer.privacy_policy": "プライバシーポリシー", "footer.source_code": "ソースコードを表示", "footer.status": "ステータス", + "footer.terms_of_service": "サービス利用規約", "generic.saved": "保存しました", "getting_started.heading": "スタート", "hashtag.admin_moderation": "#{name}のモデレーション画面を開く", @@ -548,6 +549,8 @@ "notification.annual_report.view": "#Wrapstodon を表示", "notification.favourite": "{name}さんがお気に入りしました", "notification.favourite.name_and_others_with_link": "{name}さんとほか{count, plural, other {#人}}がお気に入りしました", + "notification.favourite_pm": "{name} があなたのプライベートメンションをお気に入りにしました", + "notification.favourite_pm.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}さんがあなたにフォローリクエストしました", @@ -779,8 +782,11 @@ "search_results.accounts": "ユーザー", "search_results.all": "すべて", "search_results.hashtags": "ハッシュタグ", + "search_results.no_results": "結果なし。", + "search_results.no_search_yet": "投稿、プロフィール、またはハッシュタグを検索してみてください。", "search_results.see_all": "すべて表示", "search_results.statuses": "投稿", + "search_results.title": "「{q}」を検索", "server_banner.about_active_users": "過去30日間にこのサーバーを使用している人 (月間アクティブユーザー)", "server_banner.active_users": "人のアクティブユーザー", "server_banner.administered_by": "管理者", @@ -853,6 +859,7 @@ "subscribed_languages.target": "{target}さんの購読言語を変更します", "tabs_bar.home": "ホーム", "tabs_bar.notifications": "通知", + "terms_of_service.title": "サービス利用規約", "time_remaining.days": "残り{number}日", "time_remaining.hours": "残り{number}時間", "time_remaining.minutes": "残り{number}分", diff --git a/app/javascript/mastodon/locales/ko.json b/app/javascript/mastodon/locales/ko.json index c5d781776c..7aa24b0efa 100644 --- a/app/javascript/mastodon/locales/ko.json +++ b/app/javascript/mastodon/locales/ko.json @@ -782,8 +782,11 @@ "search_results.accounts": "프로필", "search_results.all": "전부", "search_results.hashtags": "해시태그", + "search_results.no_results": "결과가 없습니다.", + "search_results.no_search_yet": "게시물, 프로필, 해시태그를 검색해보세요.", "search_results.see_all": "모두 보기", "search_results.statuses": "게시물", + "search_results.title": "\"{q}\"에 대한 검색", "server_banner.about_active_users": "30일 동안 이 서버를 사용한 사람들 (월간 활성 이용자)", "server_banner.active_users": "활성 사용자", "server_banner.administered_by": "관리자:", diff --git a/app/javascript/mastodon/locales/nan.json b/app/javascript/mastodon/locales/nan.json index 4cbcad35bd..e260328c46 100644 --- a/app/javascript/mastodon/locales/nan.json +++ b/app/javascript/mastodon/locales/nan.json @@ -38,8 +38,50 @@ "account.following": "Lí跟tuè ê", "account.following_counter": "Teh跟tuè {count,plural,other {{count} ê lâng}}", "account.follows.empty": "Tsit ê用者iáu buē跟tuè別lâng。", + "account.go_to_profile": "行kàu個人資料", + "account.hide_reblogs": "Tshàng tuì @{name} 來ê轉PO", + "account.in_memoriam": "佇tsia追悼。", + "account.joined_short": "加入ê時", + "account.languages": "變更訂閱的語言", + "account.link_verified_on": "Tsit ê連結ê所有權佇 {date} 受檢查", + "account.locked_info": "Tsit ê口座ê隱私狀態鎖起來ah。所有者ē手動審查thang kā跟tuè ê lâng。", + "account.media": "媒體", + "account.mention": "提起 @{name}", + "account.moved_to": "{name} 指示tsit-má伊ê新口座是:", + "account.mute": "消音 @{name}", + "account.mute_notifications_short": "Kā通知消音", + "account.mute_short": "消音", + "account.muted": "消音ah", + "account.mutual": "相跟tuè", + "account.no_bio": "Bô提供敘述。", + "account.open_original_page": "開原來ê頁", + "account.posts": "PO文", + "account.posts_with_replies": "PO文kap回應", + "account.report": "檢舉 @{name}", + "account.requested": "Teh等待審查。Tshi̍h tsi̍t-ē 通取消跟tuè請求", + "account.requested_follow": "{name} 請求跟tuè lí", + "account.share": "分享 @{name} ê個人資料", + "account.show_reblogs": "顯示uì @{name} 來ê轉PO", + "account.statuses_counter": "{count, plural, other {{count} ê PO文}}", + "account.unblock": "取消封鎖 @{name}", + "account.unblock_domain": "Kā域名 {domain} 取消封鎖", + "account.unblock_short": "取消封鎖", + "account.unendorse": "Mài tī個人資料推薦伊", + "account.unfollow": "取消跟tuè", + "account.unmute": "取消消音 @{name}", + "account.unmute_notifications_short": "Kā通知取消消音", + "account.unmute_short": "取消消音", + "alert.unexpected.title": "Ai-ioh!", + "alt_text_badge.title": "替代文字", + "announcement.announcement": "公告", + "annual_report.summary.archetype.booster": "追求趣味ê", "annual_report.summary.percentile.text": "Tse 予lí變做 {domain} ê用戶ê ", "block_modal.show_less": "看khah少", + "block_modal.show_more": "顯示其他ê內容", + "block_modal.they_cant_mention": "In buē-tàng 提起á是跟tuè lí。", + "block_modal.they_cant_see_posts": "Lín buē-tàng互相看著對方ê PO文。", + "block_modal.they_will_know": "In通看見in hőng封鎖。", + "block_modal.title": "Kám beh封鎖用者?", "compose.language.change": "換語言", "confirmations.follow_to_list.confirm": "跟tuè,加入kàu列單", "notification.favourite_pm": "{name} kah意lí ê私人提起", diff --git a/app/javascript/mastodon/locales/ru.json b/app/javascript/mastodon/locales/ru.json index 4e2b845c83..9600a655d1 100644 --- a/app/javascript/mastodon/locales/ru.json +++ b/app/javascript/mastodon/locales/ru.json @@ -362,6 +362,7 @@ "footer.privacy_policy": "Политика конфиденциальности", "footer.source_code": "Исходный код", "footer.status": "Статус", + "footer.terms_of_service": "Условия использования", "generic.saved": "Сохранено", "getting_started.heading": "Начать", "hashtag.admin_moderation": "Открыть интерфейс модератора для #{name}", @@ -853,6 +854,7 @@ "subscribed_languages.target": "Изменить языки подписки для {target}", "tabs_bar.home": "Главная", "tabs_bar.notifications": "Уведомления", + "terms_of_service.title": "Условия использования", "time_remaining.days": "{number, plural, one {остался # день} few {осталось # дня} many {осталось # дней} other {осталось # дней}}", "time_remaining.hours": "{number, plural, one {остался # час} few {осталось # часа} many {осталось # часов} other {осталось # часов}}", "time_remaining.minutes": "{number, plural, one {осталась # минута} few {осталось # минуты} many {осталось # минут} other {осталось # минут}}", diff --git a/app/javascript/mastodon/locales/sk.json b/app/javascript/mastodon/locales/sk.json index 7806104c9c..3f4ad4dc03 100644 --- a/app/javascript/mastodon/locales/sk.json +++ b/app/javascript/mastodon/locales/sk.json @@ -99,6 +99,7 @@ "annual_report.summary.most_used_hashtag.none": "Žiaden", "annual_report.summary.new_posts.new_posts": "nové príspevky", "annual_report.summary.percentile.we_wont_tell_bernie": "Nepovieme Berniemu.", + "annual_report.summary.thanks": "Vďaka, že si súčasťou Mastodonu!", "attachments_list.unprocessed": "(nespracované)", "audio.hide": "Skryť zvuk", "block_modal.show_less": "Zobraziť menej", @@ -350,6 +351,7 @@ "hashtag.follow": "Sledovať hashtag", "hashtag.unfollow": "Prestať sledovať hashtag", "hashtags.and_other": "…a {count, plural, other {# ďalších}}", + "hints.profiles.see_more_followers": "Pozri viac nasledovateľov na {domain}", "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}", @@ -699,6 +701,8 @@ "search_results.accounts": "Profily", "search_results.all": "Všetky", "search_results.hashtags": "Hashtagy", + "search_results.no_results": "Žiadne výsledky.", + "search_results.no_search_yet": "Skús vyhľadávať príspevky, profily, alebo hashtagy.", "search_results.see_all": "Zobraziť všetky", "search_results.statuses": "Príspevky", "server_banner.about_active_users": "Ľudia používajúci tento server za posledných 30 dní (aktívni používatelia za mesiac)", diff --git a/app/javascript/mastodon/locales/sq.json b/app/javascript/mastodon/locales/sq.json index 8da648e4ff..2e5caa5415 100644 --- a/app/javascript/mastodon/locales/sq.json +++ b/app/javascript/mastodon/locales/sq.json @@ -777,8 +777,11 @@ "search_results.accounts": "Profile", "search_results.all": "Krejt", "search_results.hashtags": "Hashtag-ë", + "search_results.no_results": "S’ka përfundime.", + "search_results.no_search_yet": "Provoni të kërkoni për postime, profile ose hashtag-ë.", "search_results.see_all": "Shihni krejt", "search_results.statuses": "Mesazhe", + "search_results.title": "Kërko për “{q}”", "server_banner.about_active_users": "Persona që përdorin këtë shërbyes gjatë 30 ditëve të fundit (Përdorues Mujorë Aktivë)", "server_banner.active_users": "përdorues aktivë", "server_banner.administered_by": "Administruar nga:", diff --git a/app/javascript/mastodon/locales/th.json b/app/javascript/mastodon/locales/th.json index 09b2ab38d4..4eeb2f853f 100644 --- a/app/javascript/mastodon/locales/th.json +++ b/app/javascript/mastodon/locales/th.json @@ -97,6 +97,9 @@ "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.most_used_hashtag.none": "ไม่มี", "annual_report.summary.new_posts.new_posts": "โพสต์ใหม่", "annual_report.summary.percentile.we_wont_tell_bernie": "เราจะไม่บอก Bernie", @@ -124,6 +127,7 @@ "bundle_column_error.routing.body": "ไม่พบหน้าที่ขอ คุณแน่ใจหรือไม่ว่า URL ในแถบที่อยู่ถูกต้อง?", "bundle_column_error.routing.title": "404", "bundle_modal_error.close": "ปิด", + "bundle_modal_error.message": "มีบางอย่างผิดพลาดขณะโหลดหน้าจอนี้", "bundle_modal_error.retry": "ลองอีกครั้ง", "closed_registrations.other_server_instructions": "เนื่องจาก Mastodon เป็นแบบกระจายศูนย์ คุณสามารถสร้างบัญชีในเซิร์ฟเวอร์อื่นและยังคงโต้ตอบกับเซิร์ฟเวอร์นี้", "closed_registrations_modal.description": "ไม่สามารถสร้างบัญชีใน {domain} ได้ในปัจจุบัน แต่โปรดจำไว้ว่าคุณไม่จำเป็นต้องมีบัญชีใน {domain} โดยเฉพาะเพื่อใช้ Mastodon", @@ -156,6 +160,7 @@ "column_header.pin": "ปักหมุด", "column_header.show_settings": "แสดงการตั้งค่า", "column_header.unpin": "ถอนหมุด", + "column_search.cancel": "ยกเลิก", "column_subheading.settings": "การตั้งค่า", "community.column_settings.local_only": "ในเซิร์ฟเวอร์เท่านั้น", "community.column_settings.media_only": "สื่อเท่านั้น", @@ -198,6 +203,8 @@ "confirmations.edit.confirm": "แก้ไข", "confirmations.edit.message": "การแก้ไขในตอนนี้จะเขียนทับข้อความที่คุณกำลังเขียนในปัจจุบัน คุณแน่ใจหรือไม่ว่าต้องการดำเนินการต่อ?", "confirmations.edit.title": "เขียนทับโพสต์?", + "confirmations.follow_to_list.confirm": "ติดตามและเพิ่มไปยังรายการ", + "confirmations.follow_to_list.title": "ติดตามผู้ใช้?", "confirmations.logout.confirm": "ออกจากระบบ", "confirmations.logout.message": "คุณแน่ใจหรือไม่ว่าต้องการออกจากระบบ?", "confirmations.logout.title": "ออกจากระบบ?", @@ -348,8 +355,10 @@ "footer.privacy_policy": "นโยบายความเป็นส่วนตัว", "footer.source_code": "ดูโค้ดต้นฉบับ", "footer.status": "สถานะ", + "footer.terms_of_service": "เงื่อนไขการให้บริการ", "generic.saved": "บันทึกแล้ว", "getting_started.heading": "เริ่มต้นใช้งาน", + "hashtag.admin_moderation": "เปิดส่วนติดต่อการกลั่นกรองสำหรับ #{name}", "hashtag.column_header.tag_mode.all": "และ {additional}", "hashtag.column_header.tag_mode.any": "หรือ {additional}", "hashtag.column_header.tag_mode.none": "โดยไม่มี {additional}", @@ -479,6 +488,7 @@ "lists.replies_policy.list": "สมาชิกของรายการ", "lists.replies_policy.none": "ไม่มีใคร", "lists.save": "บันทึก", + "lists.search": "ค้นหา", "lists.show_replies_to": "รวมการตอบกลับจากสมาชิกของรายการถึง", "load_pending": "{count, plural, other {# รายการใหม่}}", "loading_indicator.label": "กำลังโหลด…", @@ -531,6 +541,8 @@ "notification.annual_report.view": "ดู #Wrapstodon", "notification.favourite": "{name} ได้ชื่นชอบโพสต์ของคุณ", "notification.favourite.name_and_others_with_link": "{name} และ {count, plural, other {# อื่น ๆ}} ได้ชื่นชอบโพสต์ของคุณ", + "notification.favourite_pm": "{name} ได้ชื่นชอบการกล่าวถึงแบบส่วนตัวของคุณ", + "notification.favourite_pm.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} ได้ขอติดตามคุณ", @@ -635,7 +647,11 @@ "notifications_permission_banner.enable": "เปิดใช้งานการแจ้งเตือนบนเดสก์ท็อป", "notifications_permission_banner.how_to_control": "เพื่อรับการแจ้งเตือนเมื่อ Mastodon ไม่ได้เปิด เปิดใช้งานการแจ้งเตือนบนเดสก์ท็อป คุณสามารถควบคุมชนิดของการโต้ตอบที่สร้างการแจ้งเตือนบนเดสก์ท็อปได้อย่างแม่นยำผ่านปุ่ม {icon} ด้านบนเมื่อเปิดใช้งานการแจ้งเตือน", "notifications_permission_banner.title": "ไม่พลาดสิ่งใด", + "onboarding.follows.back": "ย้อนกลับ", + "onboarding.follows.done": "เสร็จสิ้น", "onboarding.follows.empty": "น่าเสียดาย ไม่สามารถแสดงผลลัพธ์ได้ในตอนนี้ คุณสามารถลองใช้การค้นหาหรือเรียกดูหน้าสำรวจเพื่อค้นหาผู้คนที่จะติดตาม หรือลองอีกครั้งในภายหลัง", + "onboarding.follows.search": "ค้นหา", + "onboarding.follows.title": "ติดตามผู้คนเพื่อเริ่มต้นใช้งาน", "onboarding.profile.discoverable": "ทำให้โปรไฟล์ของฉันสามารถค้นพบได้", "onboarding.profile.discoverable_hint": "เมื่อคุณเลือกรับความสามารถในการค้นพบใน Mastodon โพสต์ของคุณอาจปรากฏในผลลัพธ์การค้นหาและกำลังนิยม และอาจเสนอแนะโปรไฟล์ของคุณให้กับผู้คนที่มีความสนใจคล้ายกับคุณ", "onboarding.profile.display_name": "ชื่อที่แสดง", @@ -758,8 +774,10 @@ "search_results.accounts": "โปรไฟล์", "search_results.all": "ทั้งหมด", "search_results.hashtags": "แฮชแท็ก", + "search_results.no_results": "ไม่มีผลลัพธ์", "search_results.see_all": "ดูทั้งหมด", "search_results.statuses": "โพสต์", + "search_results.title": "ค้นหาสำหรับ \"{q}\"", "server_banner.about_active_users": "ผู้คนที่ใช้เซิร์ฟเวอร์นี้ในระหว่าง 30 วันที่ผ่านมา (ผู้ใช้ที่ใช้งานอยู่รายเดือน)", "server_banner.active_users": "ผู้ใช้ที่ใช้งานอยู่", "server_banner.administered_by": "ดูแลโดย:", @@ -832,6 +850,7 @@ "subscribed_languages.target": "เปลี่ยนภาษาที่บอกรับสำหรับ {target}", "tabs_bar.home": "หน้าแรก", "tabs_bar.notifications": "การแจ้งเตือน", + "terms_of_service.title": "เงื่อนไขการให้บริการ", "time_remaining.days": "เหลืออีก {number, plural, other {# วัน}}", "time_remaining.hours": "เหลืออีก {number, plural, other {# ชั่วโมง}}", "time_remaining.minutes": "เหลืออีก {number, plural, other {# นาที}}", diff --git a/app/javascript/mastodon/locales/tok.json b/app/javascript/mastodon/locales/tok.json index f0661413bf..600966596a 100644 --- a/app/javascript/mastodon/locales/tok.json +++ b/app/javascript/mastodon/locales/tok.json @@ -101,9 +101,12 @@ "block_modal.title": "o weka ala weka e jan", "block_modal.you_wont_see_mentions": "nimi ona li lon toki suli la sina lukin ala e toki ni.", "boost_modal.combo": "sina ken luka e nena {combo} tawa ni: sina wile ala luka e nena lon tenpo kama", + "boost_modal.reblog": "o wawa ala wawa e toki?", + "boost_modal.undo_reblog": "o pini ala pini e wawa toki?", "bundle_column_error.copy_stacktrace": "o awen e sona pakala lon ilo sina", "bundle_column_error.error.body": "ilo li ken ala pana e lipu ni. ni li ken tan pakala ilo.", "bundle_column_error.error.title": "ike a!", + "bundle_column_error.network.body": "mi lukin pana e lipu la, pakala li lon. ken la, pakala li tan ilo nanpa sina. ken la, pakala li tan ilo nanpa suli pi ma kulupu ni.", "bundle_column_error.network.title": "pakala la ilo sina li toki ala tawa ilo ante", "bundle_column_error.retry": "o ni sin", "bundle_column_error.return": "o tawa tomo", @@ -113,6 +116,7 @@ "bundle_modal_error.message": "ilo li wile kama e ijo ni, taso pakala li lon.", "bundle_modal_error.retry": "o ni sin", "closed_registrations.other_server_instructions": "kulupu Masoton li jo e jan lawa mute, la sina ken pali e sijelo lon ma ante, li ken lukin e ijo pi ma ni.", + "closed_registrations_modal.description": "tenpo ni la, sina ken ala pali e jan lon ma {domain}. taso sina wile kepeken ilo Masoton la, sina ken pali e jan lon ma ante lon ala ma {domain}.", "closed_registrations_modal.find_another_server": "o alasa e ma ante", "closed_registrations_modal.title": "sina kama lon kulupu Masoton", "column.about": "sona", @@ -120,6 +124,7 @@ "column.bookmarks": "awen toki", "column.community": "linja tenpo pi ma ni", "column.create_list": "o pali e kulupu", + "column.direct": "mu len", "column.directory": "o lukin e jan", "column.domain_blocks": "ma pi wile ala lukin", "column.edit_list": "o ante e kulupu", @@ -153,6 +158,7 @@ "compose_form.poll.duration": "tenpo pana", "compose_form.poll.multiple": "pana mute", "compose_form.poll.option_placeholder": "ken nanpa {number}", + "compose_form.poll.single": "toki pi wan taso", "compose_form.poll.switch_to_multiple": "o ante e nasin pana. pana mute o ken", "compose_form.poll.switch_to_single": "o ante e nasin pana. pana wan taso o lon", "compose_form.poll.type": "nasin", @@ -161,18 +167,24 @@ "compose_form.reply": "o toki lon ijo ni", "compose_form.save_changes": "o sin e ni", "compose_form.spoiler.marked": "o weka e toki pi ijo ike ken", + "compose_form.spoiler.unmarked": "o pali e toki pi ijo ike ken", + "compose_form.spoiler_placeholder": "toki pi ijo ike ken (sina ken ala e ni)", "confirmation_modal.cancel": "o pini", "confirmations.block.confirm": "o weka", "confirmations.delete.confirm": "o weka", "confirmations.delete.message": "sina wile ala wile weka e toki ni?", + "confirmations.delete.title": "o weka ala weka e toki?", "confirmations.delete_list.confirm": "o weka", "confirmations.delete_list.message": "sina wile ala wile weka e lipu ni?", + "confirmations.delete_list.title": "o weka ala weka e kulupu lipu?", "confirmations.discard_edit_media.confirm": "o weka", "confirmations.discard_edit_media.message": "toki sitelen anu lukin lili sitelen la ante pi awen ala li lon. sina wile weka e ante ni?", "confirmations.edit.confirm": "o ante", "confirmations.edit.message": "sina ante e toki sina la toki pali sina li weka. sina wile ala wile e ni?", + "confirmations.edit.title": "o weka ala weka e toki? ni la, toki li kama toki sin.", "confirmations.logout.confirm": "o weka", "confirmations.logout.message": "sina wile ala wile weka", + "confirmations.logout.title": "o weka?", "confirmations.mute.confirm": "o len", "confirmations.redraft.confirm": "o weka o pali sin e toki", "confirmations.redraft.message": "pali sin e toki ni la sina wile ala wile weka e ona? sina ni la suli pi toki ni en wawa pi toki ni li weka. kin la toki lon toki ni li jo e mama ala.", @@ -180,6 +192,7 @@ "confirmations.reply.message": "sina toki lon toki ni la toki pali sina li weka. sina wile ala wile e ni?", "confirmations.unfollow.confirm": "o pini kute", "confirmations.unfollow.message": "sina o wile ala wile pini kute e jan {name}?", + "content_warning.show": "o lukin", "conversation.delete": "o weka e toki ni", "conversation.mark_as_read": "ni o sin ala", "conversation.open": "o lukin e toki", @@ -194,11 +207,17 @@ "dismissable_banner.community_timeline": "ni li toki pi tenpo poka tawa ale tan jan lon ma lawa pi nimi {domain}.", "dismissable_banner.dismiss": "o weka", "domain_block_modal.block": "o weka e ma", + "domain_block_modal.they_wont_know": "ona li sona ala e ni: sina weka e ona.", + "domain_block_modal.you_will_lose_num_followers": "{followersCount, plural, other {jan {followersCountDisplay}}} li kute e sina la, ona kama kute ala e sina. sina kute e {followingCount, plural,other {jan {followingCountDisplay}}} la, sina kama kute ala e ona.", + "domain_block_modal.you_will_lose_relationships": "jan li lon kulupu ni la ona kute e sina la, ona li kama kute ala e sina. jan li lon kulupu ni la sina kute e ona la, sina kama kute ala e ona.", "domain_block_modal.you_wont_see_posts": "sina ken ala lukin e toki tan jan pi ma ni", "domain_pill.server": "ma", + "domain_pill.their_handle": "nimi pi ona taso li ni:", "domain_pill.username": "nimi jan", + "domain_pill.your_username": "ni li nimi sina. ma sina la, sina taso li jo e ona. jan mute li lon ma ante la, ona li ken jo e nimi sama.", "embed.preview": "ni li jo e sitelen ni:", "emoji_button.activity": "musi", + "emoji_button.clear": "o weka", "emoji_button.flags": "len ma", "emoji_button.food": "moku", "emoji_button.label": "o pana e sitelen pilin", @@ -238,6 +257,7 @@ "firehose.remote": "kulupu ante", "follow_request.authorize": "o ken", "follow_request.reject": "o ala", + "follow_suggestions.dismiss": "mi wile lukin sin ala e ni", "follow_suggestions.hints.friends_of_friends": "jan kute sina li lukin mute e toki pi jan ni.", "follow_suggestions.hints.most_followed": "jan mute lon ma {domain} li kute e jan ni.", "follow_suggestions.hints.most_interactions": "tenpo poka la jan mute pi ma {domain} li lukin mute e toki pi jan ni.", @@ -257,10 +277,12 @@ "hashtag.column_settings.tag_mode.all": "ale ni", "hashtag.column_settings.tag_mode.any": "wan ni", "hashtag.column_settings.tag_mode.none": "ala ni", + "hashtag.counter_by_uses": "{count, plural, other {toki {counter}}}", "home.pending_critical_update.link": "o lukin e ijo ilo sin", "interaction_modal.login.action": "o lon tomo", "interaction_modal.on_another_server": "lon ma ante", "interaction_modal.on_this_server": "lon ma ni", + "interaction_modal.sign_in_hint": "ni li ma pi ilo nanpa ni: ona li pali e jan sina lon ona. sona sina ni li weka la, o lukin e lipu. kin la, sina ken pana e nimi jan suli sina a! (ni li ken ni: @Mastodon@mastodon.social)", "interaction_modal.title.favourite": "o suli e toki {name}", "interaction_modal.title.follow": "o kute e {name}", "interaction_modal.title.reblog": "o wawa e toki {name}", diff --git a/app/javascript/mastodon/locales/tr.json b/app/javascript/mastodon/locales/tr.json index 49116eeaad..fa5c91cc78 100644 --- a/app/javascript/mastodon/locales/tr.json +++ b/app/javascript/mastodon/locales/tr.json @@ -782,8 +782,11 @@ "search_results.accounts": "Profiller", "search_results.all": "Tümü", "search_results.hashtags": "Etiketler", + "search_results.no_results": "Sonuç yok.", + "search_results.no_search_yet": "Gönderiler, profiller veya etiketler için aramayı deneyin.", "search_results.see_all": "Tümünü gör", "search_results.statuses": "Gönderiler", + "search_results.title": "\"{q}\" için arama", "server_banner.about_active_users": "Bu sunucuyu son 30 günde kullanan insanlar (Aylık Etkin Kullanıcılar)", "server_banner.active_users": "etkin kullanıcılar", "server_banner.administered_by": "Yönetici:", diff --git a/app/javascript/mastodon/locales/vi.json b/app/javascript/mastodon/locales/vi.json index 9346b83e8c..48c9ab8fbb 100644 --- a/app/javascript/mastodon/locales/vi.json +++ b/app/javascript/mastodon/locales/vi.json @@ -782,8 +782,11 @@ "search_results.accounts": "Mọi người", "search_results.all": "Toàn bộ", "search_results.hashtags": "Hashtag", + "search_results.no_results": "Không có kết quả.", + "search_results.no_search_yet": "Thử tìm tút, người dùng hoặc hashtag.", "search_results.see_all": "Xem tất cả", "search_results.statuses": "Tút", + "search_results.title": "Tìm kiếm \"{q}\"", "server_banner.about_active_users": "Những người ở máy chủ này trong 30 ngày qua (MAU)", "server_banner.active_users": "người hoạt động", "server_banner.administered_by": "Vận hành:", diff --git a/config/locales/eo.yml b/config/locales/eo.yml index 912de854c6..9bc416ef3e 100644 --- a/config/locales/eo.yml +++ b/config/locales/eo.yml @@ -279,6 +279,7 @@ eo: 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}" + publish_terms_of_service_html: "%{name} publikigis ĝisdatigojn de la kondiĉoj de la servo" reject_appeal_html: "%{name} malakceptis apelacion kontraŭ moderiga decido de %{target}" reject_user_html: "%{name} malakceptis registriĝon de %{target}" remove_avatar_user_html: "%{name} forigis la profilbildon de %{target}" @@ -934,7 +935,10 @@ eo: draft: Malneto generate: Uzi ŝablonon generates: + action: Generi title: Agordo de kondiĉoj de uzado + no_history: Ankoraŭ ne estas registritaj ŝanĝoj de la kondiĉoj de la servo. + no_terms_of_service_html: Vi nuntempe ne havas iujn ajn kondiĉojn de la servo agordita. La kondiĉoj de la servo celas doni klarecon kaj protekti vin kontraŭ eblaj respondecoj en disputoj kun viaj uzantoj. preview: send_to_all: one: Sendi %{display_count} retpoŝton @@ -1174,6 +1178,7 @@ eo: set_new_password: Elekti novan pasvorton setup: email_below_hint_html: Kontrolu vian spam-dosierujon aŭ petu novan. Se necese, vi povas korekti vian retadreson. + email_settings_hint_html: Alklaku la ligilon, kiun ni sendis al %{email} por komenci uzi Mastodon. Ni atendos ĝuste ĉi tie. link_not_received: Ĉu vi ne ricevis ligilon? new_confirmation_instructions_sent: Vi ricevos novan retpoŝton kun la konfirma ligilo post kelkaj minutoj! title: Kontrolu vian retpoŝta enirkesto @@ -1920,6 +1925,9 @@ eo: subject: Via konto estas alirita de nova IP-adreso title: Nova saluto terms_of_service_changed: + sign_off: La teamo de %{domain} + subject: Ĝisdatigoj al niaj kondiĉoj de servo + subtitle: La kondiĉoj de la servo de %{domain} ŝanĝiĝas title: Grava ĝisdatigo warning: appeal: Sendi apelacion diff --git a/config/locales/es-AR.yml b/config/locales/es-AR.yml index d9fa28a3a1..e02926963f 100644 --- a/config/locales/es-AR.yml +++ b/config/locales/es-AR.yml @@ -828,10 +828,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}' + add_to_report: Agregar a la denuncia N°%{id} remove_from_report: Quitar de la denuncia report: Denunciar - contents: Contenidos + contents: Contenido deleted: Eliminado favourites: Favoritos history: Historial de versiones @@ -840,15 +840,15 @@ es-AR: media: title: Medios metadata: Metadatos - no_history: Esta publicación no ha sido editada + no_history: Este mensaje no ha sido editado 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} + replied_to_html: Respondido a %{acct_link} status_changed: Mensaje cambiado - status_title: Publicación de @%{name} - title: Publicaciones de la cuenta - @%{name} + status_title: Mensaje por @%{name} + title: Mensajes de cuenta - @%{name} trending: En tendencia view_publicly: Ver públicamente visibility: Visibilidad diff --git a/config/locales/ga.yml b/config/locales/ga.yml index 1da40dc1c3..56f66609c3 100644 --- a/config/locales/ga.yml +++ b/config/locales/ga.yml @@ -223,6 +223,7 @@ ga: enable_user: Cumasaigh Úsáideoir memorialize_account: Cuntas Cuimhneacháin promote_user: Úsáideoir a chur chun cinn + publish_terms_of_service: Foilsigh Téarmaí Seirbhíse reject_appeal: Diúltaigh Achomharc reject_user: Diúltaigh Úsáideoir remove_avatar_user: Bain Abhatár @@ -287,6 +288,7 @@ ga: 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 promote_user_html: Chuir %{name} úsáideoir %{target} chun cinn + publish_terms_of_service_html: D'fhoilsigh %{name} nuashonruithe ar na téarmaí seirbhíse reject_appeal_html: Dhiúltaigh %{name} achomharc ar chinneadh modhnóireachta ó %{target} reject_user_html: Dhiúltaigh %{name} síniú suas ó %{target} remove_avatar_user_html: Bhain %{name} avatar %{target} @@ -967,6 +969,38 @@ ga: search: Cuardach title: Haischlibeanna updated_msg: D'éirigh le socruithe hashtag a nuashonrú + terms_of_service: + back: Ar ais go téarmaí seirbhíse + changelog: Cad atá athraithe + create: Bain úsáid as do chuid féin + current: Reatha + draft: Dréacht + generate: Úsáid teimpléad + generates: + action: Gin + chance_to_review_html: "Ní fhoilseofar na téarmaí seirbhíse ginte go huathoibríoch. Beidh deis agat na torthaí a athbhreithniú. Líon isteach na sonraí riachtanacha le leanúint ar aghaidh." + explanation_html: Is chun críocha faisnéise amháin atá an teimpléad téarmaí seirbhíse a chuirtear ar fáil, agus níor cheart é a fhorléiriú mar chomhairle dlí ar aon ábhar. Téigh i gcomhairle le do chomhairle dlí féin maidir le do chás agus ceisteanna dlí ar leith atá agat. + title: Téarmaí Socrú Seirbhíse + history: Stair + live: Beo + no_history: Níl aon athruithe taifeadta ar théarmaí seirbhíse fós. + no_terms_of_service_html: Níl aon téarmaí seirbhíse cumraithe agat faoi láthair. Tá téarmaí seirbhíse i gceist le soiléireacht a sholáthar agus tú a chosaint ó dhliteanais ionchasacha i ndíospóidí le d’úsáideoirí. + notified_on_html: Cuireadh úsáideoirí ar an eolas ar %{date} + notify_users: Cuir úsáideoirí ar an eolas + preview: + explanation_html: 'Seolfar an ríomhphost chuig %{display_count} úsáideoir a chláraigh roimh %{date}. Beidh an téacs seo a leanas san áireamh sa ríomhphost:' + send_preview: Seol réamhamharc chuig %{email} + send_to_all: + few: Seol %{display_count} ríomhphost + many: Seol %{display_count} ríomhphost + one: Seol %{display_count} ríomhphost + other: Seol %{display_count} ríomhphost + two: Seol %{display_count} ríomhphost + title: Réamhamharc ar théarmaí an fhógra seirbhíse + publish: Foilsigh + published_on_html: Foilsithe ar %{date} + save_draft: Sábháil dréacht + title: Téarmaí Seirbhíse title: Riar trends: allow: Ceadaigh @@ -1210,6 +1244,7 @@ ga: set_new_password: Socraigh pasfhocal nua setup: email_below_hint_html: Seiceáil d'fhillteán turscair, nó iarr ceann eile. Is féidir leat do sheoladh ríomhphoist a cheartú má tá sé mícheart. + email_settings_hint_html: Cliceáil ar an nasc a sheolamar chuig %{email} chun tús a chur le Mastodon a úsáid. Beidh muid ag fanacht ar dheis anseo. link_not_received: Nach bhfuair tú nasc? new_confirmation_instructions_sent: Gheobhaidh tú ríomhphost nua leis an nasc deimhnithe i gceann cúpla bomaite! title: Seiceáil do bhosca isteach @@ -1218,6 +1253,7 @@ ga: title: Logáil isteach go %{domain} sign_up: manual_review: Téann clárúcháin ar %{domain} trí athbhreithniú láimhe ag ár modhnóirí. Chun cabhrú linn do chlárúchán a phróiseáil, scríobh beagán fút féin agus cén fáth a bhfuil cuntas uait ar %{domain}. + preamble: Agus cuntas agat ar an bhfreastalaí Mastodon seo, beidh tú in ann aon duine eile ar an bhfealsúnacht a leanúint, is cuma cá bhfuil a gcuntas á óstáil. title: Déanaimis tú a shocrú ar %{domain}. status: account_status: Stádas cuntais @@ -1229,6 +1265,7 @@ ga: view_strikes: Féach ar stailceanna san am atá caite i gcoinne do chuntais too_fast: Cuireadh an fhoirm isteach róthapa, triail arís. use_security_key: Úsáid eochair shlándála + user_agreement_html: Léigh mé agus aontaím leis na téarmaí seirbhíse agus polasaí príobháideachais 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. @@ -1962,6 +1999,8 @@ ga: too_late: Tá sé ró-dhéanach achomharc a dhéanamh faoin stailc seo tags: does_not_match_previous_name: nach meaitseálann an t-ainm roimhe seo + terms_of_service: + title: Téarmaí Seirbhíse themes: contrast: Mastodon (Codarsnacht ard) default: Mastodon (Dorcha) @@ -2022,6 +2061,15 @@ ga: further_actions_html: Mura tusa a bhí ann, molaimid duit %{action} a dhéanamh láithreach agus fíordheimhniú dhá fhachtóir a chumasú chun do chuntas a choinneáil slán. subject: Fuarthas rochtain ar do chuntas ó sheoladh IP nua title: Síniú isteach nua + terms_of_service_changed: + agreement: Má leanann tú ar aghaidh ag úsáid %{domain}, tá tú ag aontú leis na téarmaí seo. Mura n-aontaíonn tú leis na téarmaí nuashonraithe, is féidir leat do chomhaontú le %{domain} a fhoirceannadh am ar bith trí do chuntas a scriosadh. + changelog: 'Sracfhéachaint, seo é a chiallaíonn an nuashonrú seo duit:' + description: 'Tá an ríomhphost seo á fháil agat toisc go bhfuil roinnt athruithe á ndéanamh againn ar ár dtéarmaí seirbhíse ag %{domain}. Molaimid duit athbhreithniú iomlán a dhéanamh ar na téarmaí nuashonraithe anseo:' + description_html: Tá an ríomhphost seo á fháil agat toisc go bhfuil roinnt athruithe á ndéanamh againn ar ár dtéarmaí seirbhíse ag %{domain}. Molaimid duit athbhreithniú a dhéanamh ar na téarmaí nuashonraithe ina n-iomláine anseo. + sign_off: Foireann %{domain} + subject: Nuashonruithe ar ár dtéarmaí seirbhíse + subtitle: Tá téarmaí seirbhíse %{domain} ag athrú + title: Nuashonrú tábhachtach warning: appeal: Cuir achomharc isteach appeal_description: Má chreideann tú gur earráid é seo, is féidir leat achomharc a chur isteach chuig foireann %{instance}. diff --git a/config/locales/ia.yml b/config/locales/ia.yml index 2f8c3ee982..e534362182 100644 --- a/config/locales/ia.yml +++ b/config/locales/ia.yml @@ -214,6 +214,7 @@ ia: enable_user: Activar le usator memorialize_account: Converter conto in memorial promote_user: Promover usator + publish_terms_of_service: Publicar le conditiones de servicio reject_appeal: Rejectar appello reject_user: Rejectar usator remove_avatar_user: Remover avatar @@ -278,6 +279,7 @@ ia: 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" promote_user_html: "%{name} promoveva le usator %{target}" + publish_terms_of_service_html: "%{name} ha actualisate le conditiones de servicio" reject_appeal_html: "%{name} refusava le appello del decision de moderation de %{target}" reject_user_html: "%{name} refusava le inscription de %{target}" remove_avatar_user_html: "%{name} removeva le avatar de %{target}" @@ -925,6 +927,35 @@ ia: search: Cercar title: Hashtags updated_msg: Parametros de hashtag actualisate con successo + terms_of_service: + back: Retornar al conditiones de servicio + changelog: Lo que ha cambiate + create: Usar tu proprie + current: Actual + draft: Provisori + generate: Usar modello + generates: + action: Generar + chance_to_review_html: "Le conditiones de servicio generate non essera publicate automaticamente. Tu habera le opportunitate de revider le resultatos. Per favor completa le detalios necessari pro continuar." + explanation_html: Le modello de conditiones de servicio es fornite solmente pro fines informative e non debe esser interpretate como consilio juridic sur alcun subjecto. Per favor consulta tu proprie consiliero juridic pro omne questiones juridic concrete concernente tu situation. + title: Configuration del conditiones de servicio + history: Historia + live: In uso + no_history: Il non ha ancora modificationes registrate del conditiones de servicio. + no_terms_of_service_html: Tu non ha actualmente configurate alcun conditiones de servicio. Le conditiones de servicio es visate a fornir claritiate e a proteger te contra possibile responsabilitates in caso de litigios con tu usatores. + notified_on_html: Usatores notificate le %{date} + notify_users: Notificar usatores + preview: + explanation_html: 'Le message de e-mail essera inviate a %{display_count} usatores qui se ha inscribite ante le %{date}. Illo includera le sequente texto:' + send_preview: Inviar previsualisation a %{email} + send_to_all: + one: Inviar %{display_count} message de e-mail + other: Inviar %{display_count} messages de e-mail + title: Previsualisar le notification sur le conditiones de servicio + publish: Publicar + published_on_html: Publicate le %{date} + save_draft: Salvar version provisori + title: Conditiones de servicio title: Administration trends: allow: Permitter @@ -1156,6 +1187,7 @@ ia: set_new_password: Definir un nove contrasigno setup: email_below_hint_html: Consulta tu dossier de spam, o requesta un altere ligamine de confirmation. Tu pote corriger tu adresse de e-mail si illo es errate. + email_settings_hint_html: Clicca sur le ligamine que nos te ha inviate a %{email} pro comenciar a usar Mastodon. Nos te attendera hic. link_not_received: Necun ligamine recipite? new_confirmation_instructions_sent: Tu recipera un nove e-mail con le ligamine de confirmation in poc minutas! title: Consulta tu cassa de entrata @@ -1164,6 +1196,7 @@ ia: title: Aperir session sur %{domain} sign_up: manual_review: Le inscriptiones sur %{domain} passa per un revision manual de nostre moderatores. Pro adjutar nos a processar tu inscription, per favor scribe un poco sur te e explica proque tu vole un conto sur %{domain}. + preamble: Con un conto sur iste servitor de Mastodon, tu potera sequer qualcunque altere persona sur le Fediverso, independentemente de ubi su conto es albergate. title: Lassa nos installar tu conto sur %{domain}. status: account_status: Stato del conto @@ -1175,6 +1208,7 @@ ia: view_strikes: Examinar le sanctiones passate contra tu conto too_fast: Formulario inviate troppo rapidemente. Tenta lo de novo. use_security_key: Usar clave de securitate + user_agreement_html: Io ha legite e accepta le conditiones de servicio e le politica de confidentialitate 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. @@ -1673,6 +1707,7 @@ ia: scheduled_statuses: over_daily_limit: Tu ha excedite le limite de %{limit} messages programmate pro hodie over_total_limit: Tu ha excedite le limite de %{limit} messages programmate + too_soon: le data debe esser in le futuro self_destruct: lead_html: Infortunatemente, %{domain} tosto claudera permanentemente. Si tu habeva un conto illac, tu non potera continuar a usar lo, ma tu pote ancora requestar un copia de tu datos. title: Iste servitor va clauder @@ -1835,6 +1870,8 @@ ia: too_late: Es troppo tarde pro appellar contra iste sanction tags: does_not_match_previous_name: non corresponde al nomine precedente + terms_of_service: + title: Conditiones de servicio themes: contrast: Mastodon (Alte contrasto) default: Mastodon (Obscur) @@ -1895,6 +1932,15 @@ ia: further_actions_html: Si non se tractava de te, nos recommenda %{action} immediatemente e activar le authentication bifactorial pro mantener tu conto secur. subject: Alcuno ha accedite a tu conto desde un nove adresse IP title: Un nove apertura de session + terms_of_service_changed: + agreement: Si tu continua a usar %{domain}, tu accepta iste conditiones. Si tu non es de accordo con le conditiones actualisate, tu pote sempre eliminar tu conto pro terminar tu accordo con %{domain}. + changelog: 'In summario, ecce lo que iste actualisation significa pro te:' + description: 'Tu recipe iste message perque nos ha apportate alcun modificationes a nostre conditiones de servicio sur %{domain}. Nos te incoragia a revider le conditiones actualisate complete al sequente adresse:' + description_html: Tu recipe iste message perque nos ha apportate alcun modificationes a nostre conditiones de servicio sur %{domain}. Nos te incoragia a revider le conditiones actualisate complete. + sign_off: Le equipa de %{domain} + subject: Actualisationes de nostre conditiones de servicio + subtitle: Le conditiones de servicio de %{domain} ha cambiate + title: Actualisation importante warning: appeal: Submitter un appello appeal_description: Si tu crede que se tracta de un error, tu pote presentar un appello al personal de %{instance}. diff --git a/config/locales/ja.yml b/config/locales/ja.yml index 1e0270b811..201bdc1a08 100644 --- a/config/locales/ja.yml +++ b/config/locales/ja.yml @@ -211,6 +211,7 @@ ja: enable_user: ユーザーを有効化 memorialize_account: 追悼アカウント化 promote_user: ユーザーを昇格 + publish_terms_of_service: サービス利用規約を公開 reject_appeal: 抗議を却下 reject_user: ユーザーを拒否 remove_avatar_user: アイコンを削除 @@ -275,6 +276,7 @@ ja: enable_user_html: "%{name}さんが%{target}さんのログインを有効化しました" memorialize_account_html: "%{name}さんが%{target}さんを追悼アカウントページに登録しました" promote_user_html: "%{name}さんが%{target}さんを昇格しました" + publish_terms_of_service_html: "%{name} がサービス利用規約の更新を公開しました" reject_appeal_html: "%{name}さんが%{target}からの抗議を却下しました" reject_user_html: "%{name}さんが%{target}さんからの登録を拒否しました" remove_avatar_user_html: "%{name}さんが%{target}さんのアイコンを削除しました" @@ -911,6 +913,34 @@ ja: search: 検索 title: ハッシュタグ updated_msg: ハッシュタグ設定が更新されました + terms_of_service: + back: 利用規約に戻る + changelog: 変更箇所 + create: 自分のものを使う + current: 現在 + draft: 下書き + generate: テンプレートを使用 + generates: + action: 作成 + chance_to_review_html: "生成された利用規約は自動的には公開されません。結果を確認する機会があります。手続きに必要な詳細を記入してください。" + explanation_html: 提供された利用規約のテンプレートは情報提供のみを目的としており、いかなる主題に関しても法的助言と見なされるべきではありません。ご自身の状況や具体的な法的質問については、必ずご自身の弁護士に相談してください。 + title: 利用規約の設定 + history: 履歴 + live: 公開中 + no_history: 利用規約の変更はまだ記録されていません。 + no_terms_of_service_html: 現在、利用規約が設定されていません。利用規約は、明確さを提供し、ユーザーとのトラブルにおける潜在的な責任からあなたを保護するためのものです。 + notified_on_html: "%{date}に通知されたユーザー" + notify_users: ユーザに通知 + preview: + explanation_html: メールは、%{date} より前に登録した%{display_count}人のユーザーに送信されます。以下のテキストがメールに含まれます: + send_preview: "%{email} にプレビューを送信" + send_to_all: + other: "%{display_count}件のメールを送信" + title: サービス利用規約の通知をプレビュー + publish: 公開 + published_on_html: "%{date} に公開" + save_draft: 下書きを保存 + title: サービス利用規約 title: 管理 trends: allow: 許可 @@ -1138,6 +1168,7 @@ ja: set_new_password: 新しいパスワード setup: email_below_hint_html: 確認メールが迷惑メールフォルダに振り分けられていないか確認してください。メールアドレスを間違えた場合は、ここでメールアドレスの変更と確認メールの再送ができます。 + email_settings_hint_html: "%{email} に送信したリンクをクリックして Mastodon の使用を開始します。ここでお待ちしています。" link_not_received: 確認メールを受信できない場合は new_confirmation_instructions_sent: 確認用のリンクを記載した新しいメールを送信しました title: 確認メールを送信しました @@ -1146,6 +1177,7 @@ ja: title: "%{domain}にログイン" sign_up: manual_review: "%{domain} への登録にはモデレーターによる承認が必要です。審査の参考になるように、簡単な自己紹介や %{domain} に登録したい理由などを記入してください。" + preamble: この Mastodon サーバーのアカウントがあれば、fediverse上の他の人のアカウントがどこでホストされているかに関係なく、その人をフォローすることができます。 title: さあ %{domain} でセットアップしましょう. status: account_status: アカウントの状態 @@ -1157,6 +1189,7 @@ ja: view_strikes: 過去のストライクを表示 too_fast: フォームの送信が速すぎます。もう一度やり直してください。 use_security_key: セキュリティキーを使用 + user_agreement_html: 利用規約 および プライバシーポリシーを読み、同意します。 author_attribution: example_title: サンプルテキスト hint_html: Mastodonの外でニュースやブログなどを執筆しているユーザーは、Mastodonで自分の記事が共有されたときに著者情報を表示させることができます。 @@ -1794,6 +1827,8 @@ ja: too_late: このストライクに抗議するには遅すぎます tags: does_not_match_previous_name: 以前の名前と一致しません + terms_of_service: + title: サービス利用規約 themes: contrast: Mastodon (ハイコントラスト) default: Mastodon (ダーク) @@ -1854,6 +1889,15 @@ ja: further_actions_html: あなたがログインしていない場合は、すぐに%{action}し、アカウントを安全に保つために二要素認証を有効にすることをお勧めします。 subject: 新しいIPアドレスからのアクセスがありました title: 新しいサインイン + terms_of_service_changed: + agreement: "%{domain} を引き続き使用することで、これらの条件に同意したことになります。更新された条件に同意しない場合は、アカウントを削除することでいつでも %{domain} との契約を終了することができます。" + changelog: 一目で分かる、この更新があなたにとって意味することは次の通りです: + description: このメールを受け取っているのは、%{domain} の利用規約にいくつかの変更を加えているためです。更新された利用規約をこちらで全てご確認いただくことをお勧めします: + description_html: このメールを受け取っているのは、%{domain} の利用規約にいくつかの変更を加えているためです。こちらで更新された利用規約を全てご確認いただくことをお勧めします。 + sign_off: "%{domain} チーム" + subject: 利用規約の更新 + subtitle: "%{domain} の利用規約が変更されています" + title: 重要な更新 warning: appeal: 抗議を送信 appeal_description: これが間違いだと思われる場合は、%{instance}のスタッフに申し立てすることができます。 diff --git a/config/locales/ru.yml b/config/locales/ru.yml index 486d87f003..064b4ad911 100644 --- a/config/locales/ru.yml +++ b/config/locales/ru.yml @@ -220,6 +220,7 @@ ru: enable_user: Разморозка пользователей memorialize_account: Присвоение пользователям статуса «мемориала» promote_user: Повышение пользователей + publish_terms_of_service: Публиковать условия использования reject_appeal: Отклонение обжалований reject_user: Отклонение регистраций remove_avatar_user: Удаление аватаров @@ -953,6 +954,14 @@ ru: search: Поиск title: Хэштеги updated_msg: Настройки хэштега обновлены + terms_of_service: + changelog: Что изменилось + current: Текущий + draft: Черновик + generate: Использовать шаблон + generates: + action: Генерировать + history: История title: Администрирование trends: allow: Разрешить diff --git a/config/locales/simple_form.es-AR.yml b/config/locales/simple_form.es-AR.yml index 1dfac9d043..7b56cbac46 100644 --- a/config/locales/simple_form.es-AR.yml +++ b/config/locales/simple_form.es-AR.yml @@ -134,6 +134,7 @@ es-AR: changelog: Se puede estructurar con sintaxis Markdown. text: Se puede estructurar con sintaxis Markdown. terms_of_service_generator: + admin_email: Los avisos legales incluyen devoluciones, órdenes judiciales, solicitudes de retiro y solicitudes de cumplimiento de la ley. arbitration_address: Puede ser la misma que la dirección física anterior, o "N/A" si utiliza correo electrónico arbitration_website: Puede ser un formulario web, o “N/A” si utiliza correo electrónico dmca_address: Para operadores estadounidenses, utilice la dirección registrada en el DMCA Designated Agent Directory. Un listado P.O. Box está disponible bajo petición directa, use la DMCA Designated Agent Post Office Box Waiver Request para enviar un correo electrónico a la Oficina de Derechos de Autor y describir que usted es un moderador de contenido basado en el hogar que teme venganza o represalia por sus acciones y que necesita usar un P.O. Box para eliminar su dirección postal de la vista pública. diff --git a/config/locales/simple_form.es.yml b/config/locales/simple_form.es.yml index 269fdb7091..77cd04cfd0 100644 --- a/config/locales/simple_form.es.yml +++ b/config/locales/simple_form.es.yml @@ -134,6 +134,7 @@ es: changelog: Se puede estructurar con sintaxis Markdown. text: Se puede estructurar con sintaxis Markdown. terms_of_service_generator: + admin_email: Los avisos legales incluyen devoluciones, órdenes judiciales, solicitudes de retiro y solicitudes de cumplimiento de la ley. arbitration_address: Puede ser la misma que la dirección física anterior, o "N/A" si utiliza correo electrónico arbitration_website: Puede ser un formulario web, o “N/A” si utiliza correo electrónico dmca_address: Para operadores estadounidenses, utilice la dirección registrada en el DMCA Designated Agent Directory. Un listado P.O. Box está disponible bajo petición directa, use la DMCA Designated Agent Post Office Box Waiver Request para enviar un correo electrónico a la Oficina de Derechos de Autor y describir que usted es un moderador de contenido basado en el hogar que teme venganza o represalia por sus acciones y que necesita usar un P.O. Box para eliminar su dirección postal de la vista pública. diff --git a/config/locales/simple_form.ga.yml b/config/locales/simple_form.ga.yml index 749efcb5b4..02b2942b5d 100644 --- a/config/locales/simple_form.ga.yml +++ b/config/locales/simple_form.ga.yml @@ -130,6 +130,17 @@ ga: show_application: Beidh tú in ann a fheiceáil i gcónaí cén aip a d’fhoilsigh do phostáil beag beann ar. tag: name: Ní féidir leat ach cásáil na litreacha a athrú, mar shampla, chun é a dhéanamh níos inléite + terms_of_service: + changelog: Is féidir é a struchtúrú le comhréir Markdown. + text: Is féidir é a struchtúrú le comhréir Markdown. + terms_of_service_generator: + admin_email: Áirítear le fógraí dlí frithfhógraí, orduithe cúirte, iarratais éirí anuas, agus iarratais forghníomhaithe dlí. + arbitration_address: D’fhéadfadh sé a bheith mar an gcéanna leis an seoladh fisiceach thuas, nó “N/B” má tá ríomhphost in úsáid agat + arbitration_website: D’fhéadfadh gur foirm ghréasáin í, nó “N/A” má tá ríomhphost in úsáid agat + dmca_address: Maidir le hoibreoirí SAM, bain úsáid as an seoladh atá cláraithe in Eolaire Gníomhairí Ainmnithe DMCA. A P.O. Tá liostú boscaí ar fáil ach é a iarraidh go díreach, bain úsáid as Iarratas Tarscaoilte Bosca Gníomhaire Ainmnithe DMCA chun ríomhphost a chur chuig an Oifig Cóipchirt agus déan cur síos gur modhnóir ábhar baile thú a bhfuil eagla ort díoltas nó aisíocaíocht a fháil mar gheall ar do ghníomhartha agus a dteastaíonn uait úsáid a bhaint as P.O. Bosca chun do sheoladh baile a bhaint den radharc poiblí. + dmca_email: Is féidir gurb é an ríomhphost céanna é a úsáidtear le haghaidh “Seoladh ríomhphoist le haghaidh fógraí dlí” thuas + domain: Aitheantas uathúil na seirbhíse ar líne atá á cur ar fáil agat. + jurisdiction: Liostaigh an tír ina bhfuil cónaí ar an té a íocann na billí. Más cuideachta nó aonán eile é, liostaigh an tír ina bhfuil sé corpraithe, agus an chathair, an réigiún, an chríoch nó an stát mar is cuí. user: chosen_languages: Nuair a dhéantar iad a sheiceáil, ní thaispeánfar ach postálacha i dteangacha roghnaithe in amlínte poiblí role: Rialaíonn an ról na ceadanna atá ag an úsáideoir. @@ -319,6 +330,17 @@ ga: name: Haischlib trendable: Lig don haischlib seo a bheith le feiceáil faoi threochtaí usable: Lig do phostálacha an hashchlib seo a úsáid go háitiúil + terms_of_service: + changelog: Cad atá athraithe? + text: Téarmaí Seirbhíse + terms_of_service_generator: + admin_email: Seoladh ríomhphoist le haghaidh fógraí dlí + arbitration_address: Seoladh fisiciúil le haghaidh fógraí eadrána + arbitration_website: An láithreán gréasáin chun fógraí eadrána a chur isteach + dmca_address: Seoladh fisiciúil le haghaidh fógraí DMCA/cóipchirt + dmca_email: Seoladh ríomhphoist le haghaidh fógraí DMCA/cóipchirt + domain: Fearann + jurisdiction: Dlínse dhlíthiúil user: role: Ról time_zone: Crios ama diff --git a/config/locales/simple_form.ia.yml b/config/locales/simple_form.ia.yml index 113f55a2ba..585e84f490 100644 --- a/config/locales/simple_form.ia.yml +++ b/config/locales/simple_form.ia.yml @@ -60,6 +60,7 @@ ia: setting_display_media_default: Celar le medios marcate como sensibile setting_display_media_hide_all: Sempre celar le medios setting_display_media_show_all: Sempre monstrar le medios + setting_system_scrollbars_ui: Se applica solmente al navigatores de scriptorio basate sur Safari e Chrome setting_use_blurhash: Le imagines degradate se basa sur le colores del visuales celate, ma illos offusca tote le detalios setting_use_pending_items: Requirer un clic pro monstrar nove messages in vice de rolar automaticamente le fluxo username: Tu pote usar litteras, numeros e tractos de sublineamento @@ -129,6 +130,17 @@ ia: show_application: In omne caso, tu potera sempre vider qual app ha publicate tu message. tag: name: Tu pote solmente cambiar le litteras inter majusculas e minusculas, per exemplo, pro render lo plus legibile + terms_of_service: + changelog: Pote esser structurate con le syntaxe Markdown. + text: Pote esser structurate con le syntaxe Markdown. + terms_of_service_generator: + admin_email: Le avisos juridic include le contra-avisos, ordinantias judiciari, demandas de retiro e demandas de application del lege. + arbitration_address: Pote esser le mesme que le adresse physic supra, o “N/A” si se usa e-mail + arbitration_website: Pote esser un formulario web, o “N/A” si se usa e-mail + dmca_address: Pro operatores in le SUA, usa le adresse registrate in le Directorio de Agentes Designate pro le DMCA (DMCA Designated Agent Directory). Un adresse de cassa postal es disponibile per requesta directe; usa le Requesta de Exemption de Cassa Postal pro Agentes Designate del DMCA (DMCA Designated Agent Post Office Box Waiver Request) pro inviar un message electronic al Officio del Derecto de Autor (Copyright Office) e describer que tu es un moderator de contento que travalia de casa e qui time vengiantias o represalias pro tu actiones, necessitante le uso un cassa postal pro remover tu adresse personal del vista public. + dmca_email: Pote esser le mesme adresse de e-mail usate pro “Adresse de e-mail pro avisos juridic” supra + domain: Identification unic del servicio in linea que tu forni. + jurisdiction: Vermeldt het land waar de persoon woont die de rekeningen betaalt. Als het een bedrijf of een andere entiteit is, vermeldt het land waar het is opgenomen en de stad, regio, grondgebied of staat, voor zover van toepassing. 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. @@ -223,6 +235,7 @@ ia: setting_hide_network: Cela tu rete social setting_reduce_motion: Reducer movimento in animationes setting_system_font_ui: Usar typo de litteras predefinite del systema + setting_system_scrollbars_ui: Usar le barra de rolamento predefinite del systema setting_theme: Thema de sito setting_trends: Monstrar le tendentias de hodie setting_unfollow_modal: Monstrar dialogo de confirmation ante cessar de sequer alcuno @@ -317,6 +330,17 @@ ia: name: Hashtag trendable: Permitter a iste hashtag de sub tendentias usable: Permitter al messages usar iste hashtag localmente + terms_of_service: + changelog: Que ha cambiate? + text: Conditiones de servicio + terms_of_service_generator: + admin_email: Adresse de e-mail pro avisos juridic + arbitration_address: Adresse physic pro avisos de arbitration + arbitration_website: Sito web pro submitter avisos de arbitration + dmca_address: Adresse physic pro avisos DCMA/de derectos de autor + dmca_email: Adresse de e-mail pro avisos DCMA/de derectos de autor + domain: Dominio + jurisdiction: Jurisdiction user: role: Rolo time_zone: Fuso horari diff --git a/config/locales/simple_form.ja.yml b/config/locales/simple_form.ja.yml index 27e98341cb..4d1b504a1c 100644 --- a/config/locales/simple_form.ja.yml +++ b/config/locales/simple_form.ja.yml @@ -129,6 +129,9 @@ ja: show_application: 自分で自分の投稿の送信元アプリを確認することは、ここのチェック状態にかかわらず可能です。 tag: name: 視認性向上などのためにアルファベット大文字小文字の変更のみ行うことができます + terms_of_service: + changelog: Markdown 記法を利用できます。 + text: Markdown 記法を利用できます。 user: chosen_languages: 選択すると、選択した言語の投稿のみが公開タイムラインに表示されるようになります role: そのロールは、ユーザーが持つ権限を制御します。 @@ -317,6 +320,11 @@ ja: name: ハッシュタグ trendable: トレンドへの表示を許可する usable: このサーバーのユーザーがタグをつけて投稿することを許可する + terms_of_service: + changelog: 変更箇所 + text: サービス利用規約 + terms_of_service_generator: + domain: ドメイン user: role: ロール time_zone: タイムゾーン diff --git a/config/locales/simple_form.nl.yml b/config/locales/simple_form.nl.yml index d272ebef0d..94b60ff1a6 100644 --- a/config/locales/simple_form.nl.yml +++ b/config/locales/simple_form.nl.yml @@ -140,7 +140,7 @@ nl: dmca_address: 'Gebruik voor beheerders in de VS: het adres dat is geregistreerd in de DMCA Designated Agent Directory. Op verzoek is er een postbuslijst beschikbaar. Gebruik het DMCA Designated Agent Post Office Box Waiver Request om het Copyright Office te e-mailen en te beschrijven dat u een thuisgebaseerde inhoudsmoderator bent die wraak of vergelding vreest voor uw daden en een postbus moet gebruiken om uw huisadres uit het publieke domein te houden.' dmca_email: Kan dezelfde e-mail worden gebruikt voor "E-mailadres voor juridische berichten" hierboven domain: Een unieke identificatie van de online dienst die wordt verleend. - jurisdiction: Vermeldt het land waar de persoon woont die de rekeningen betaalt. Als het een bedrijf of een andere entiteit is, vermeldt het land waar het is opgenomen en de stad, regio, grondgebied of staat, voor zover van toepassing. + jurisdiction: Vermeld het land waar de persoon woont die de rekeningen betaalt. Is het een bedrijf of iets dergelijks, vermeld dan het land waar het ingeschreven staat en de stad, de regio, het grondgebied of de staat, voor zover van toepassing. user: chosen_languages: Alleen berichten in de aangevinkte talen worden op de openbare tijdlijnen getoond role: De rol bepaalt welke rechten de gebruiker heeft. diff --git a/config/locales/simple_form.pt-BR.yml b/config/locales/simple_form.pt-BR.yml index 917b85a0bb..417d69d88e 100644 --- a/config/locales/simple_form.pt-BR.yml +++ b/config/locales/simple_form.pt-BR.yml @@ -130,6 +130,8 @@ pt-BR: show_application: Você sempre conseguirá ver qual aplicativo realizou sua publicação independentemente disso. tag: name: Você pode mudar a capitalização das letras, por exemplo, para torná-la mais legível + terms_of_service_generator: + dmca_email: Pode ser o mesmo e-mail utilizado para "Endereço de e-mail para avisos legais" acima user: chosen_languages: Apenas as publicações dos idiomas selecionados serão exibidas nas linhas públicas role: A função controla quais permissões o usuário tem. diff --git a/config/locales/simple_form.th.yml b/config/locales/simple_form.th.yml index f8f4d3f119..f644294092 100644 --- a/config/locales/simple_form.th.yml +++ b/config/locales/simple_form.th.yml @@ -223,6 +223,7 @@ th: setting_hide_network: ซ่อนกราฟทางสังคมของคุณ setting_reduce_motion: ลดการเคลื่อนไหวในภาพเคลื่อนไหว setting_system_font_ui: ใช้แบบอักษรเริ่มต้นของระบบ + setting_system_scrollbars_ui: ใช้แถบเลื่อนเริ่มต้นของระบบ setting_theme: ชุดรูปแบบไซต์ setting_trends: แสดงแนวโน้มของวันนี้ setting_unfollow_modal: แสดงกล่องโต้ตอบการยืนยันก่อนเลิกติดตามใครสักคน @@ -317,6 +318,10 @@ th: name: แฮชแท็ก trendable: อนุญาตให้แฮชแท็กนี้ปรากฏภายใต้แนวโน้ม usable: อนุญาตให้โพสต์ใช้แฮชแท็กนี้ในเซิร์ฟเวอร์ + terms_of_service: + text: เงื่อนไขการให้บริการ + terms_of_service_generator: + domain: โดเมน user: role: บทบาท time_zone: โซนเวลา diff --git a/config/locales/th.yml b/config/locales/th.yml index 4f0a6e98bd..b945ee8650 100644 --- a/config/locales/th.yml +++ b/config/locales/th.yml @@ -211,6 +211,7 @@ th: enable_user: เปิดใช้งานผู้ใช้ memorialize_account: ทำให้บัญชีเป็นอนุสรณ์ promote_user: เลื่อนขั้นผู้ใช้ + publish_terms_of_service: เผยแพร่เงื่อนไขการให้บริการ reject_appeal: ปฏิเสธการอุทธรณ์ reject_user: ปฏิเสธผู้ใช้ remove_avatar_user: เอาภาพประจำตัวออก @@ -911,6 +912,25 @@ th: search: ค้นหา title: แฮชแท็ก updated_msg: อัปเดตการตั้งค่าแฮชแท็กสำเร็จ + terms_of_service: + back: กลับไปที่เงื่อนไขการให้บริการ + create: ใช้ของคุณเอง + current: ปัจจุบัน + draft: แบบร่าง + generate: ใช้แม่แบบ + generates: + action: สร้าง + history: ประวัติ + live: สด + notify_users: แจ้งเตือนผู้ใช้ + preview: + send_preview: ส่งตัวอย่างไปยัง %{email} + send_to_all: + other: ส่ง %{display_count} อีเมล + publish: เผยแพร่ + published_on_html: เผยแพร่เมื่อ %{date} + save_draft: บันทึกแบบร่าง + title: เงื่อนไขการให้บริการ title: การดูแล trends: allow: อนุญาต @@ -1635,6 +1655,7 @@ th: scheduled_statuses: over_daily_limit: คุณมีโพสต์ที่จัดกำหนดการไว้เกินขีดจำกัดที่ %{limit} สำหรับวันนี้แล้ว over_total_limit: คุณมีโพสต์ที่จัดกำหนดการไว้เกินขีดจำกัดที่ %{limit} แล้ว + too_soon: วันที่ต้องอยู่ในอนาคต self_destruct: lead_html: น่าเสียดาย %{domain} กำลังปิดตัวลงอย่างถาวร หากคุณมีบัญชีที่นั่น คุณจะไม่สามารถใช้บัญชีต่อไปได้ แต่คุณยังคงสามารถขอข้อมูลสำรองของข้อมูลของคุณ title: เซิร์ฟเวอร์นี้กำลังปิดตัวลง @@ -1793,6 +1814,8 @@ th: too_late: สายเกินไปที่จะอุทธรณ์การดำเนินการนี้ tags: does_not_match_previous_name: ไม่ตรงกับชื่อก่อนหน้านี้ + terms_of_service: + title: เงื่อนไขการให้บริการ themes: contrast: Mastodon (ความคมชัดสูง) default: Mastodon (มืด) @@ -1853,6 +1876,8 @@ th: further_actions_html: หากนี่ไม่ใช่คุณ เราแนะนำให้คุณ %{action} ทันทีและเปิดใช้งานการรับรองความถูกต้องด้วยสองปัจจัยเพื่อรักษาบัญชีของคุณให้ปลอดภัย subject: มีการเข้าถึงบัญชีของคุณจากที่อยู่ IP ใหม่ title: การลงชื่อเข้าใหม่ + terms_of_service_changed: + sign_off: ทีม %{domain} warning: appeal: ส่งการอุทธรณ์ appeal_description: หากคุณเชื่อว่านี่เป็นข้อผิดพลาด คุณสามารถส่งการอุทธรณ์ไปยังพนักงานของ %{instance} diff --git a/config/locales/tr.yml b/config/locales/tr.yml index 7c4840be60..65ec6ef58a 100644 --- a/config/locales/tr.yml +++ b/config/locales/tr.yml @@ -948,6 +948,9 @@ tr: preview: explanation_html: 'E-posta, %{date} tarihinden önce kaydolan %{display_count} kullanıcıya gönderilecektir. E-posta içerisinde aşağıdaki metin yer alacaktır:' send_preview: Ön izlemeyi %{email} adresine gönder + send_to_all: + one: "%{display_count} e-posta gönder" + other: "%{display_count} e-posta gönder" title: Hizmet şartları bildirimini öz izle publish: Yayınla published_on_html: "%{date} tarihinde yayınlandı" From 3d00b9535996ec48eea1d0b0df40cfa60d55bc01 Mon Sep 17 00:00:00 2001 From: Matt Jankowski Date: Mon, 16 Dec 2024 03:11:48 -0500 Subject: [PATCH 08/60] Convert `settings/profiles` controller spec to system spec (#33305) --- .../settings/profiles_controller_spec.rb | 51 ------------------- spec/system/settings/profiles_spec.rb | 37 ++++++++++++++ 2 files changed, 37 insertions(+), 51 deletions(-) delete mode 100644 spec/controllers/settings/profiles_controller_spec.rb create mode 100644 spec/system/settings/profiles_spec.rb diff --git a/spec/controllers/settings/profiles_controller_spec.rb b/spec/controllers/settings/profiles_controller_spec.rb deleted file mode 100644 index e3197f0a6d..0000000000 --- a/spec/controllers/settings/profiles_controller_spec.rb +++ /dev/null @@ -1,51 +0,0 @@ -# frozen_string_literal: true - -require 'rails_helper' - -RSpec.describe Settings::ProfilesController do - render_views - - let!(:user) { Fabricate(:user) } - let(:account) { user.account } - - before do - sign_in user, scope: :user - end - - describe 'GET #show' do - before do - get :show - end - - it 'returns http success with private cache control headers', :aggregate_failures do - expect(response).to have_http_status(200) - expect(response.headers['Cache-Control']).to include('private, no-store') - end - end - - describe 'PUT #update' do - before do - user.account.update(display_name: 'Old name') - end - - it 'updates the user profile' do - allow(ActivityPub::UpdateDistributionWorker).to receive(:perform_async) - put :update, params: { account: { display_name: 'New name' } } - expect(account.reload.display_name).to eq 'New name' - expect(response).to redirect_to(settings_profile_path) - expect(ActivityPub::UpdateDistributionWorker).to have_received(:perform_async).with(account.id) - end - end - - describe 'PUT #update with new profile image' do - it 'updates profile image' do - allow(ActivityPub::UpdateDistributionWorker).to receive(:perform_async) - expect(account.avatar.instance.avatar_file_name).to be_nil - - put :update, params: { account: { avatar: fixture_file_upload('avatar.gif', 'image/gif') } } - expect(response).to redirect_to(settings_profile_path) - expect(account.reload.avatar.instance.avatar_file_name).to_not be_nil - expect(ActivityPub::UpdateDistributionWorker).to have_received(:perform_async).with(account.id) - end - end -end diff --git a/spec/system/settings/profiles_spec.rb b/spec/system/settings/profiles_spec.rb new file mode 100644 index 0000000000..73a5751141 --- /dev/null +++ b/spec/system/settings/profiles_spec.rb @@ -0,0 +1,37 @@ +# frozen_string_literal: true + +require 'rails_helper' + +RSpec.describe 'Settings profile page' do + let(:user) { Fabricate :user } + let(:account) { user.account } + + before do + allow(ActivityPub::UpdateDistributionWorker).to receive(:perform_async) + sign_in user + end + + it 'Views and updates profile information' do + visit settings_profile_path + + expect(page) + .to have_private_cache_control + + fill_in display_name_field, with: 'New name' + attach_file avatar_field, Rails.root.join('spec', 'fixtures', 'files', 'avatar.gif') + + expect { click_on submit_button } + .to change { account.reload.display_name }.to('New name') + .and(change { account.reload.avatar.instance.avatar_file_name }.from(nil).to(be_present)) + expect(ActivityPub::UpdateDistributionWorker) + .to have_received(:perform_async).with(account.id) + end + + def display_name_field + I18n.t('simple_form.labels.defaults.display_name') + end + + def avatar_field + I18n.t('simple_form.labels.defaults.avatar') + end +end From a596f3479b01e7be88f9730c5ec6f7a6206acb87 Mon Sep 17 00:00:00 2001 From: Matt Jankowski Date: Mon, 16 Dec 2024 03:12:36 -0500 Subject: [PATCH 09/60] Convert `settings/login_activities` controller spec to system spec (#33306) --- .../login_activities_controller_spec.rb | 29 ---------------- spec/system/settings/login_activities_spec.rb | 34 +++++++++++++++++++ 2 files changed, 34 insertions(+), 29 deletions(-) delete mode 100644 spec/controllers/settings/login_activities_controller_spec.rb create mode 100644 spec/system/settings/login_activities_spec.rb diff --git a/spec/controllers/settings/login_activities_controller_spec.rb b/spec/controllers/settings/login_activities_controller_spec.rb deleted file mode 100644 index 3447620abb..0000000000 --- a/spec/controllers/settings/login_activities_controller_spec.rb +++ /dev/null @@ -1,29 +0,0 @@ -# frozen_string_literal: true - -require 'rails_helper' - -RSpec.describe Settings::LoginActivitiesController do - render_views - - let!(:user) { Fabricate(:user) } - let!(:login_activity) { Fabricate :login_activity, user: user } - - before do - sign_in user, scope: :user - end - - describe 'GET #index' do - before do - get :index - end - - it 'returns http success with private cache control headers', :aggregate_failures do - expect(response).to have_http_status(200) - expect(response.headers['Cache-Control']).to include('private, no-store') - expect(response.body) - .to include(login_activity.user_agent) - .and include(login_activity.authentication_method) - .and include(login_activity.ip.to_s) - end - end -end diff --git a/spec/system/settings/login_activities_spec.rb b/spec/system/settings/login_activities_spec.rb new file mode 100644 index 0000000000..ff89c3f37e --- /dev/null +++ b/spec/system/settings/login_activities_spec.rb @@ -0,0 +1,34 @@ +# frozen_string_literal: true + +require 'rails_helper' + +RSpec.describe 'Login activities page' do + let!(:user) { Fabricate :user } + let!(:login_activity) { Fabricate :login_activity, user: user } + + context 'when signed in' do + before { sign_in user } + + describe 'Viewing the login activities page' do + it 'shows the login activity history' do + visit edit_user_registration_path + + click_on I18n.t('sessions.view_authentication_history') + + expect(page) + .to have_content(browser_description) + .and have_content(login_activity.authentication_method) + .and have_content(login_activity.ip) + .and have_private_cache_control + end + + def browser_description + I18n.t( + 'sessions.description', + browser: I18n.t("sessions.browsers.#{login_activity.browser}", default: login_activity.browser), + platform: I18n.t("sessions.platforms.#{login_activity.platform}", default: login_activity.platform) + ) + end + end + end +end From cf4595967b1167491bca31cedc21213b458fbe1b Mon Sep 17 00:00:00 2001 From: Matt Jankowski Date: Mon, 16 Dec 2024 03:20:08 -0500 Subject: [PATCH 10/60] Add `NOT NULL` requirement to columns on `account_conversations` (#33308) --- app/models/account_conversation.rb | 8 ++++---- ..._to_account_conversation_account_column.rb | 7 +++++++ ..._to_account_conversation_account_column.rb | 19 +++++++++++++++++++ ...ccount_conversation_conversation_column.rb | 7 +++++++ ...ccount_conversation_conversation_column.rb | 19 +++++++++++++++++++ db/schema.rb | 6 +++--- 6 files changed, 59 insertions(+), 7 deletions(-) create mode 100644 db/migrate/20241213170027_add_not_null_to_account_conversation_account_column.rb create mode 100644 db/migrate/20241213170036_validate_not_null_to_account_conversation_account_column.rb create mode 100644 db/migrate/20241213170043_add_not_null_to_account_conversation_conversation_column.rb create mode 100644 db/migrate/20241213170053_validate_not_null_to_account_conversation_conversation_column.rb diff --git a/app/models/account_conversation.rb b/app/models/account_conversation.rb index 25a75d8a61..ccf8f36966 100644 --- a/app/models/account_conversation.rb +++ b/app/models/account_conversation.rb @@ -5,13 +5,13 @@ # Table name: account_conversations # # id :bigint(8) not null, primary key -# account_id :bigint(8) -# conversation_id :bigint(8) +# lock_version :integer default(0), not null # participant_account_ids :bigint(8) default([]), not null, is an Array # status_ids :bigint(8) default([]), not null, is an Array -# last_status_id :bigint(8) -# lock_version :integer default(0), not null # unread :boolean default(FALSE), not null +# account_id :bigint(8) not null +# conversation_id :bigint(8) not null +# last_status_id :bigint(8) # class AccountConversation < ApplicationRecord diff --git a/db/migrate/20241213170027_add_not_null_to_account_conversation_account_column.rb b/db/migrate/20241213170027_add_not_null_to_account_conversation_account_column.rb new file mode 100644 index 0000000000..5bfa55bcc6 --- /dev/null +++ b/db/migrate/20241213170027_add_not_null_to_account_conversation_account_column.rb @@ -0,0 +1,7 @@ +# frozen_string_literal: true + +class AddNotNullToAccountConversationAccountColumn < ActiveRecord::Migration[7.2] + def change + add_check_constraint :account_conversations, 'account_id IS NOT NULL', name: 'account_conversations_account_id_null', validate: false + end +end diff --git a/db/migrate/20241213170036_validate_not_null_to_account_conversation_account_column.rb b/db/migrate/20241213170036_validate_not_null_to_account_conversation_account_column.rb new file mode 100644 index 0000000000..0186559dc3 --- /dev/null +++ b/db/migrate/20241213170036_validate_not_null_to_account_conversation_account_column.rb @@ -0,0 +1,19 @@ +# frozen_string_literal: true + +class ValidateNotNullToAccountConversationAccountColumn < ActiveRecord::Migration[7.2] + def up + connection.execute(<<~SQL.squish) + DELETE FROM account_conversations + WHERE account_id IS NULL + SQL + + validate_check_constraint :account_conversations, name: 'account_conversations_account_id_null' + change_column_null :account_conversations, :account_id, false + remove_check_constraint :account_conversations, name: 'account_conversations_account_id_null' + end + + def down + add_check_constraint :account_conversations, 'account_id IS NOT NULL', name: 'account_conversations_account_id_null', validate: false + change_column_null :account_conversations, :account_id, true + end +end diff --git a/db/migrate/20241213170043_add_not_null_to_account_conversation_conversation_column.rb b/db/migrate/20241213170043_add_not_null_to_account_conversation_conversation_column.rb new file mode 100644 index 0000000000..e253a1b3e1 --- /dev/null +++ b/db/migrate/20241213170043_add_not_null_to_account_conversation_conversation_column.rb @@ -0,0 +1,7 @@ +# frozen_string_literal: true + +class AddNotNullToAccountConversationConversationColumn < ActiveRecord::Migration[7.2] + def change + add_check_constraint :account_conversations, 'conversation_id IS NOT NULL', name: 'account_conversations_conversation_id_null', validate: false + end +end diff --git a/db/migrate/20241213170053_validate_not_null_to_account_conversation_conversation_column.rb b/db/migrate/20241213170053_validate_not_null_to_account_conversation_conversation_column.rb new file mode 100644 index 0000000000..324e9180e2 --- /dev/null +++ b/db/migrate/20241213170053_validate_not_null_to_account_conversation_conversation_column.rb @@ -0,0 +1,19 @@ +# frozen_string_literal: true + +class ValidateNotNullToAccountConversationConversationColumn < ActiveRecord::Migration[7.2] + def up + connection.execute(<<~SQL.squish) + DELETE FROM account_conversations + WHERE conversation_id IS NULL + SQL + + validate_check_constraint :account_conversations, name: 'account_conversations_conversation_id_null' + change_column_null :account_conversations, :conversation_id, false + remove_check_constraint :account_conversations, name: 'account_conversations_conversation_id_null' + end + + def down + add_check_constraint :account_conversations, 'conversation_id IS NOT NULL', name: 'account_conversations_conversation_id_null', validate: false + change_column_null :account_conversations, :conversation_id, true + end +end diff --git a/db/schema.rb b/db/schema.rb index 2a7684d5df..eb203039d5 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.2].define(version: 2024_12_12_154346) do +ActiveRecord::Schema[7.2].define(version: 2024_12_13_170053) do # These are extensions that must be enabled in order to support this database enable_extension "plpgsql" @@ -24,8 +24,8 @@ ActiveRecord::Schema[7.2].define(version: 2024_12_12_154346) do end create_table "account_conversations", force: :cascade do |t| - t.bigint "account_id" - t.bigint "conversation_id" + t.bigint "account_id", null: false + t.bigint "conversation_id", null: false t.bigint "participant_account_ids", default: [], null: false, array: true t.bigint "status_ids", default: [], null: false, array: true t.bigint "last_status_id" From 6305b6e747e9cfbe991df06c19a64cec304f91d6 Mon Sep 17 00:00:00 2001 From: Claire Date: Mon, 16 Dec 2024 13:33:55 +0100 Subject: [PATCH 11/60] Fix error decrementing status count when `FeaturedTags#last_status_at` is `nil` (#33320) --- app/models/featured_tag.rb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/app/models/featured_tag.rb b/app/models/featured_tag.rb index 529056f9c6..dfc700649c 100644 --- a/app/models/featured_tag.rb +++ b/app/models/featured_tag.rb @@ -47,7 +47,7 @@ class FeaturedTag < ApplicationRecord def decrement(deleted_status) if statuses_count <= 1 update(statuses_count: 0, last_status_at: nil) - elsif last_status_at > deleted_status.created_at + elsif last_status_at.present? && 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 From ecdf4ea0625027d59e1a50a87c3e45d34b8b5230 Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Mon, 16 Dec 2024 13:36:36 +0100 Subject: [PATCH 12/60] Update codecov/codecov-action action to v5 (#33317) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> --- .github/workflows/test-ruby.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/test-ruby.yml b/.github/workflows/test-ruby.yml index 770cd72a1b..08b50e2680 100644 --- a/.github/workflows/test-ruby.yml +++ b/.github/workflows/test-ruby.yml @@ -166,7 +166,7 @@ jobs: - name: Upload coverage reports to Codecov if: matrix.ruby-version == '.ruby-version' - uses: codecov/codecov-action@v4 + uses: codecov/codecov-action@v5 with: files: coverage/lcov/*.lcov env: @@ -252,7 +252,7 @@ jobs: - name: Upload coverage reports to Codecov if: matrix.ruby-version == '.ruby-version' - uses: codecov/codecov-action@v4 + uses: codecov/codecov-action@v5 with: files: coverage/lcov/mastodon.lcov env: From c68eb82ffacc28ca083c21824daf3c6b8be02b90 Mon Sep 17 00:00:00 2001 From: Matt Jankowski Date: Mon, 16 Dec 2024 08:50:58 -0500 Subject: [PATCH 13/60] Use explicit config loading from `bin/rubocop` (#33256) --- .github/workflows/lint-ruby.yml | 2 ++ bin/rubocop | 3 +++ db/migrate/.rubocop.yml | 16 ---------------- db/migrate/20170112154826_migrate_settings.rb | 2 +- spec/controllers/.rubocop.yml | 6 ------ .../concerns/account_controller_concern_spec.rb | 2 +- .../concerns/api/rate_limit_headers_spec.rb | 2 +- .../concerns/challengable_concern_spec.rb | 2 +- spec/controllers/concerns/localized_spec.rb | 2 +- .../concerns/preloading_concern_spec.rb | 2 +- .../settings/export_controller_concern_spec.rb | 2 +- .../concerns/user_tracking_concern_spec.rb | 2 +- 12 files changed, 13 insertions(+), 30 deletions(-) delete mode 100644 db/migrate/.rubocop.yml delete mode 100644 spec/controllers/.rubocop.yml diff --git a/.github/workflows/lint-ruby.yml b/.github/workflows/lint-ruby.yml index 277e456146..87f8aee24e 100644 --- a/.github/workflows/lint-ruby.yml +++ b/.github/workflows/lint-ruby.yml @@ -9,6 +9,7 @@ on: - 'Gemfile*' - '.rubocop*.yml' - '.ruby-version' + - 'bin/rubocop' - 'config/brakeman.ignore' - '**/*.rb' - '**/*.rake' @@ -19,6 +20,7 @@ on: - 'Gemfile*' - '.rubocop*.yml' - '.ruby-version' + - 'bin/rubocop' - 'config/brakeman.ignore' - '**/*.rb' - '**/*.rake' diff --git a/bin/rubocop b/bin/rubocop index 369a05bedb..b3801537d4 100755 --- a/bin/rubocop +++ b/bin/rubocop @@ -24,4 +24,7 @@ end require "rubygems" require "bundler/setup" +# explicit rubocop config increases performance slightly while avoiding config confusion. +ARGV.unshift("--config", File.expand_path("../.rubocop.yml", __dir__)) + load Gem.bin_path("rubocop", "rubocop") diff --git a/db/migrate/.rubocop.yml b/db/migrate/.rubocop.yml deleted file mode 100644 index f594b8799a..0000000000 --- a/db/migrate/.rubocop.yml +++ /dev/null @@ -1,16 +0,0 @@ -inherit_from: ../../.rubocop.yml - -# Below are all enabled as workaround for https://docs.rubocop.org/rubocop/configuration.html#path-relativity -# TODO: Delete this file and move above config to base naming config - -Rails/CreateTableWithTimestamps: - Include: - - '*.rb' - -Rails/ThreeStateBooleanColumn: - Include: - - '*.rb' - -Rails/ReversibleMigration: - Include: - - '*.rb' diff --git a/db/migrate/20170112154826_migrate_settings.rb b/db/migrate/20170112154826_migrate_settings.rb index d1faa81f5d..166d90eab7 100644 --- a/db/migrate/20170112154826_migrate_settings.rb +++ b/db/migrate/20170112154826_migrate_settings.rb @@ -17,7 +17,7 @@ class MigrateSettings < ActiveRecord::Migration[4.2] t.remove_index [:thing_type, :thing_id, :var] t.rename :thing_id, :target_id t.rename :thing_type, :target_type - t.column :target_id, :integer, null: false + t.column :target_id, :integer, null: false # rubocop:disable Rails/NotNullColumn t.column :target_type, :string, null: false, default: '' t.index [:target_type, :target_id, :var], unique: true end diff --git a/spec/controllers/.rubocop.yml b/spec/controllers/.rubocop.yml deleted file mode 100644 index 51d7c23de1..0000000000 --- a/spec/controllers/.rubocop.yml +++ /dev/null @@ -1,6 +0,0 @@ -inherit_from: ../../.rubocop.yml - -# Anonymous controllers in specs cannot access `described_class`, explanation: -# https://github.com/rubocop/rubocop-rspec/blob/v2.26.1/lib/rubocop/cop/rspec/described_class.rb#L36-L56 -RSpec/DescribedClass: - SkipBlocks: true diff --git a/spec/controllers/concerns/account_controller_concern_spec.rb b/spec/controllers/concerns/account_controller_concern_spec.rb index 384406a0ea..4a44fd3498 100644 --- a/spec/controllers/concerns/account_controller_concern_spec.rb +++ b/spec/controllers/concerns/account_controller_concern_spec.rb @@ -4,7 +4,7 @@ require 'rails_helper' RSpec.describe AccountControllerConcern do controller(ApplicationController) do - include AccountControllerConcern + include AccountControllerConcern # rubocop:disable RSpec/DescribedClass def success render plain: @account.username # rubocop:disable RSpec/InstanceVariable diff --git a/spec/controllers/concerns/api/rate_limit_headers_spec.rb b/spec/controllers/concerns/api/rate_limit_headers_spec.rb index 6372c94e6c..74ed81f5da 100644 --- a/spec/controllers/concerns/api/rate_limit_headers_spec.rb +++ b/spec/controllers/concerns/api/rate_limit_headers_spec.rb @@ -4,7 +4,7 @@ require 'rails_helper' RSpec.describe Api::RateLimitHeaders do controller(ApplicationController) do - include Api::RateLimitHeaders + include Api::RateLimitHeaders # rubocop:disable RSpec/DescribedClass def show head 200 diff --git a/spec/controllers/concerns/challengable_concern_spec.rb b/spec/controllers/concerns/challengable_concern_spec.rb index 169e2122f8..01f979ff4c 100644 --- a/spec/controllers/concerns/challengable_concern_spec.rb +++ b/spec/controllers/concerns/challengable_concern_spec.rb @@ -4,7 +4,7 @@ require 'rails_helper' RSpec.describe ChallengableConcern do controller(ApplicationController) do - include ChallengableConcern + include ChallengableConcern # rubocop:disable RSpec/DescribedClass before_action :require_challenge! diff --git a/spec/controllers/concerns/localized_spec.rb b/spec/controllers/concerns/localized_spec.rb index b1f805ae50..4798e8270c 100644 --- a/spec/controllers/concerns/localized_spec.rb +++ b/spec/controllers/concerns/localized_spec.rb @@ -4,7 +4,7 @@ require 'rails_helper' RSpec.describe Localized do controller(ApplicationController) do - include Localized + include Localized # rubocop:disable RSpec/DescribedClass def success render plain: I18n.locale, status: 200 diff --git a/spec/controllers/concerns/preloading_concern_spec.rb b/spec/controllers/concerns/preloading_concern_spec.rb index 795afbc45e..2cbccb411e 100644 --- a/spec/controllers/concerns/preloading_concern_spec.rb +++ b/spec/controllers/concerns/preloading_concern_spec.rb @@ -4,7 +4,7 @@ require 'rails_helper' RSpec.describe PreloadingConcern do controller(ApplicationController) do - include PreloadingConcern + include PreloadingConcern # rubocop:disable RSpec/DescribedClass def empty_array render plain: preload_collection([], Status).size diff --git a/spec/controllers/concerns/settings/export_controller_concern_spec.rb b/spec/controllers/concerns/settings/export_controller_concern_spec.rb index 2c67991e3a..6c1a06114c 100644 --- a/spec/controllers/concerns/settings/export_controller_concern_spec.rb +++ b/spec/controllers/concerns/settings/export_controller_concern_spec.rb @@ -4,7 +4,7 @@ require 'rails_helper' RSpec.describe Settings::ExportControllerConcern do controller(ApplicationController) do - include Settings::ExportControllerConcern + include Settings::ExportControllerConcern # rubocop:disable RSpec/DescribedClass def index send_export_file diff --git a/spec/controllers/concerns/user_tracking_concern_spec.rb b/spec/controllers/concerns/user_tracking_concern_spec.rb index cc61e285cc..d67b0ef5e7 100644 --- a/spec/controllers/concerns/user_tracking_concern_spec.rb +++ b/spec/controllers/concerns/user_tracking_concern_spec.rb @@ -4,7 +4,7 @@ require 'rails_helper' RSpec.describe UserTrackingConcern do controller(ApplicationController) do - include UserTrackingConcern + include UserTrackingConcern # rubocop:disable RSpec/DescribedClass def show render plain: 'show' From bfef66276ab813abf5a1ee8354f3ccd7e34f7fa7 Mon Sep 17 00:00:00 2001 From: Matt Jankowski Date: Mon, 16 Dec 2024 11:23:26 -0500 Subject: [PATCH 14/60] Convert `settings/preferences/other` controller spec to system (#33321) --- .../preferences/other_controller_spec.rb | 54 ------------------- .../system/settings/preferences/other_spec.rb | 38 +++++++++++++ 2 files changed, 38 insertions(+), 54 deletions(-) delete mode 100644 spec/controllers/settings/preferences/other_controller_spec.rb create mode 100644 spec/system/settings/preferences/other_spec.rb diff --git a/spec/controllers/settings/preferences/other_controller_spec.rb b/spec/controllers/settings/preferences/other_controller_spec.rb deleted file mode 100644 index 117fdeea7c..0000000000 --- a/spec/controllers/settings/preferences/other_controller_spec.rb +++ /dev/null @@ -1,54 +0,0 @@ -# frozen_string_literal: true - -require 'rails_helper' - -RSpec.describe Settings::Preferences::OtherController do - render_views - - let(:user) { Fabricate(:user, chosen_languages: []) } - - before do - sign_in user, scope: :user - end - - describe 'GET #show' do - before do - get :show - end - - it 'returns http success with private cache control headers', :aggregate_failures do - expect(response).to have_http_status(200) - expect(response.headers['Cache-Control']).to include('private, no-store') - end - end - - describe 'PUT #update' do - it 'updates the user record' do - put :update, params: { user: { locale: 'en', chosen_languages: ['es', 'fr', ''] } } - - expect(response).to redirect_to(settings_preferences_other_path) - user.reload - expect(user.locale).to eq 'en' - expect(user.chosen_languages).to eq %w(es fr) - end - - it 'updates user settings' do - user.settings.update('web.reblog_modal': false, 'web.delete_modal': true) - user.save - - put :update, params: { - user: { - settings_attributes: { - 'web.reblog_modal': '1', - 'web.delete_modal': '0', - }, - }, - } - - expect(response).to redirect_to(settings_preferences_other_path) - user.reload - expect(user.settings['web.reblog_modal']).to be true - expect(user.settings['web.delete_modal']).to be false - end - end -end diff --git a/spec/system/settings/preferences/other_spec.rb b/spec/system/settings/preferences/other_spec.rb new file mode 100644 index 0000000000..7cc15f87a4 --- /dev/null +++ b/spec/system/settings/preferences/other_spec.rb @@ -0,0 +1,38 @@ +# frozen_string_literal: true + +require 'rails_helper' + +RSpec.describe 'Settings preferences other page' do + let(:user) { Fabricate :user } + + before { sign_in user } + + it 'Views and updates user prefs' do + visit settings_preferences_other_path + + expect(page) + .to have_private_cache_control + + check language_field(:es) + check language_field(:fr) + check mark_sensitive_field + + expect { save_changes } + .to change { user.reload.chosen_languages }.to(%w(es fr)) + .and(change { user.reload.settings.default_sensitive }.to(true)) + expect(page) + .to have_title(I18n.t('settings.preferences')) + end + + def save_changes + within('form') { click_on submit_button } + end + + def mark_sensitive_field + I18n.t('simple_form.labels.defaults.setting_default_sensitive') + end + + def language_field(key) + LanguagesHelper::SUPPORTED_LOCALES[key].last + end +end From 9067a7f69664caf259a0ceef421a3f1ae111673f Mon Sep 17 00:00:00 2001 From: Matt Jankowski Date: Mon, 16 Dec 2024 11:24:05 -0500 Subject: [PATCH 15/60] Convert `settings/preferences/notifications` controller spec to system (#33322) --- .../notifications_controller_spec.rb | 43 ------------------- .../preferences/notifications_spec.rb | 27 ++++++++++++ 2 files changed, 27 insertions(+), 43 deletions(-) delete mode 100644 spec/controllers/settings/preferences/notifications_controller_spec.rb create mode 100644 spec/system/settings/preferences/notifications_spec.rb diff --git a/spec/controllers/settings/preferences/notifications_controller_spec.rb b/spec/controllers/settings/preferences/notifications_controller_spec.rb deleted file mode 100644 index edfdea50e0..0000000000 --- a/spec/controllers/settings/preferences/notifications_controller_spec.rb +++ /dev/null @@ -1,43 +0,0 @@ -# frozen_string_literal: true - -require 'rails_helper' - -RSpec.describe Settings::Preferences::NotificationsController do - render_views - - let(:user) { Fabricate(:user) } - - before do - sign_in user, scope: :user - end - - describe 'GET #show' do - before do - get :show - end - - it 'returns http success with private cache control headers', :aggregate_failures do - expect(response).to have_http_status(200) - expect(response.headers['Cache-Control']).to include('private, no-store') - end - end - - describe 'PUT #update' do - it 'updates notifications settings' do - user.settings.update('notification_emails.follow': false) - user.save - - put :update, params: { - user: { - settings_attributes: { - 'notification_emails.follow': '1', - }, - }, - } - - expect(response).to redirect_to(settings_preferences_notifications_path) - user.reload - expect(user.settings['notification_emails.follow']).to be true - end - end -end diff --git a/spec/system/settings/preferences/notifications_spec.rb b/spec/system/settings/preferences/notifications_spec.rb new file mode 100644 index 0000000000..20ff549222 --- /dev/null +++ b/spec/system/settings/preferences/notifications_spec.rb @@ -0,0 +1,27 @@ +# frozen_string_literal: true + +require 'rails_helper' + +RSpec.describe 'Settings preferences notifications page' do + let(:user) { Fabricate :user } + + before { sign_in user } + + it 'Views and updates user prefs' do + visit settings_preferences_notifications_path + + expect(page) + .to have_private_cache_control + + uncheck notifications_follow_field + + expect { click_on submit_button } + .to change { user.reload.settings['notification_emails.follow'] }.to(false) + expect(page) + .to have_title(I18n.t('settings.notifications')) + end + + def notifications_follow_field + I18n.t('simple_form.labels.notification_emails.follow') + end +end From efe4e72f934581749ced193672df04cd2d891508 Mon Sep 17 00:00:00 2001 From: Matt Jankowski Date: Mon, 16 Dec 2024 12:08:19 -0500 Subject: [PATCH 16/60] Convert `settings/preferences/appearance` controller spec to system (#33323) --- .../preferences/appearance_controller_spec.rb | 35 --------------- .../settings/preferences/appearance_spec.rb | 43 +++++++++++++++++++ 2 files changed, 43 insertions(+), 35 deletions(-) delete mode 100644 spec/controllers/settings/preferences/appearance_controller_spec.rb create mode 100644 spec/system/settings/preferences/appearance_spec.rb diff --git a/spec/controllers/settings/preferences/appearance_controller_spec.rb b/spec/controllers/settings/preferences/appearance_controller_spec.rb deleted file mode 100644 index 14f9b244ab..0000000000 --- a/spec/controllers/settings/preferences/appearance_controller_spec.rb +++ /dev/null @@ -1,35 +0,0 @@ -# frozen_string_literal: true - -require 'rails_helper' - -RSpec.describe Settings::Preferences::AppearanceController do - render_views - - let!(:user) { Fabricate(:user) } - - before do - sign_in user, scope: :user - end - - describe 'GET #show' do - before do - get :show - end - - it 'returns http success with private cache control headers', :aggregate_failures do - expect(response).to have_http_status(200) - expect(response.headers['Cache-Control']).to include('private, no-store') - end - end - - describe 'PUT #update' do - subject { put :update, params: { user: { settings_attributes: { theme: 'contrast' } } } } - - it 'redirects correctly' do - expect { subject } - .to change { user.reload.settings.theme }.to('contrast') - - expect(response).to redirect_to(settings_preferences_appearance_path) - end - end -end diff --git a/spec/system/settings/preferences/appearance_spec.rb b/spec/system/settings/preferences/appearance_spec.rb new file mode 100644 index 0000000000..0b6f1e4b15 --- /dev/null +++ b/spec/system/settings/preferences/appearance_spec.rb @@ -0,0 +1,43 @@ +# frozen_string_literal: true + +require 'rails_helper' + +RSpec.describe 'Settings preferences appearance page' do + let(:user) { Fabricate :user } + + before { sign_in user } + + it 'Views and updates user prefs' do + visit settings_preferences_appearance_path + + expect(page) + .to have_private_cache_control + + select 'contrast', from: theme_selection_field + check confirm_reblog_field + uncheck confirm_delete_field + + expect { save_changes } + .to change { user.reload.settings.theme }.to('contrast') + .and change { user.reload.settings['web.reblog_modal'] }.to(true) + .and(change { user.reload.settings['web.delete_modal'] }.to(false)) + expect(page) + .to have_title(I18n.t('settings.appearance')) + end + + def save_changes + within('form') { click_on submit_button } + end + + def confirm_delete_field + I18n.t('simple_form.labels.defaults.setting_delete_modal') + end + + def confirm_reblog_field + I18n.t('simple_form.labels.defaults.setting_boost_modal') + end + + def theme_selection_field + I18n.t('simple_form.labels.defaults.setting_theme') + end +end From a837f7d693a170772b5a414a703fde58f970500e Mon Sep 17 00:00:00 2001 From: Claire Date: Mon, 16 Dec 2024 20:29:51 +0100 Subject: [PATCH 17/60] Fix clicking on a profile mention while logged out potentially leading to incorrect account (#33324) --- app/javascript/mastodon/actions/search.ts | 11 ++++------- 1 file changed, 4 insertions(+), 7 deletions(-) diff --git a/app/javascript/mastodon/actions/search.ts b/app/javascript/mastodon/actions/search.ts index 7ee432f782..7dd174e202 100644 --- a/app/javascript/mastodon/actions/search.ts +++ b/app/javascript/mastodon/actions/search.ts @@ -79,15 +79,12 @@ export const expandSearch = createDataLoadingThunk( export const openURL = createDataLoadingThunk( 'search/openURL', - ({ url }: { url: string }, { getState }) => { - const signedIn = !!getState().meta.get('me'); - - return apiGetSearch({ + ({ url }: { url: string }) => + apiGetSearch({ q: url, - resolve: signedIn, + resolve: true, limit: 1, - }); - }, + }), (data, { dispatch }) => { if (data.accounts.length > 0) { dispatch(importFetchedAccounts(data.accounts)); From 3ac478472e9e6ce089246819b2718f5f9f470613 Mon Sep 17 00:00:00 2001 From: Matt Jankowski Date: Tue, 17 Dec 2024 03:51:45 -0500 Subject: [PATCH 18/60] Remove reference to removed `Capfile` in lint-staged config (#33329) --- lint-staged.config.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lint-staged.config.js b/lint-staged.config.js index 1ee6962c2a..63f5258a94 100644 --- a/lint-staged.config.js +++ b/lint-staged.config.js @@ -1,6 +1,6 @@ const config = { '*': 'prettier --ignore-unknown --write', - 'Capfile|Gemfile|*.{rb,ruby,ru,rake}': 'bin/rubocop --force-exclusion -a', + 'Gemfile|*.{rb,ruby,ru,rake}': 'bin/rubocop --force-exclusion -a', '*.{js,jsx,ts,tsx}': 'eslint --fix', '*.{css,scss}': 'stylelint --fix', '*.haml': 'bin/haml-lint -a', From a7673d361d6af5613119470a90c95a15b51a575d Mon Sep 17 00:00:00 2001 From: Matt Jankowski Date: Tue, 17 Dec 2024 03:54:07 -0500 Subject: [PATCH 19/60] Fix `application_id` erroneous inclusion in `ScheduledStatusSerializer` (#33159) --- app/serializers/rest/scheduled_status_serializer.rb | 2 +- .../rest/scheduled_status_serializer_spec.rb | 13 ++++++++++--- 2 files changed, 11 insertions(+), 4 deletions(-) diff --git a/app/serializers/rest/scheduled_status_serializer.rb b/app/serializers/rest/scheduled_status_serializer.rb index 5d6311b872..8aa0d89386 100644 --- a/app/serializers/rest/scheduled_status_serializer.rb +++ b/app/serializers/rest/scheduled_status_serializer.rb @@ -10,6 +10,6 @@ class REST::ScheduledStatusSerializer < ActiveModel::Serializer end def params - object.params.without(:application_id) + object.params.without('application_id') end end diff --git a/spec/serializers/rest/scheduled_status_serializer_spec.rb b/spec/serializers/rest/scheduled_status_serializer_spec.rb index 7d0d7c96bb..2fe689766f 100644 --- a/spec/serializers/rest/scheduled_status_serializer_spec.rb +++ b/spec/serializers/rest/scheduled_status_serializer_spec.rb @@ -11,11 +11,18 @@ RSpec.describe REST::ScheduledStatusSerializer do end let(:account) { Fabricate(:account) } - let(:scheduled_status) { Fabricate.build(:scheduled_status, scheduled_at: 4.minutes.from_now, account: account) } + let(:scheduled_status) { Fabricate.build(:scheduled_status, scheduled_at: 4.minutes.from_now, account: account, params: { application_id: 123 }) } - context 'with scheduled_at' do + describe 'serialization' do it 'is serialized as RFC 3339 datetime' do - expect { DateTime.rfc3339(subject['scheduled_at']) }.to_not raise_error + expect { DateTime.rfc3339(subject['scheduled_at']) } + .to_not raise_error + end + + it 'returns expected values and removes application_id from params' do + expect(subject.deep_symbolize_keys) + .to include(scheduled_at: be_a(String)) + .and include(params: not_include(:application_id)) end end end From 60bb51eef826c20097cf25c196e602b7c02b1df9 Mon Sep 17 00:00:00 2001 From: Matt Jankowski Date: Tue, 17 Dec 2024 04:20:01 -0500 Subject: [PATCH 20/60] Convert `filters` spec controller->system (#33326) --- spec/controllers/filters_controller_spec.rb | 34 ------------------- spec/requests/filters_spec.rb | 16 +++++++++ spec/system/filters_spec.rb | 36 ++++++++++++++++++++- 3 files changed, 51 insertions(+), 35 deletions(-) delete mode 100644 spec/controllers/filters_controller_spec.rb create mode 100644 spec/requests/filters_spec.rb diff --git a/spec/controllers/filters_controller_spec.rb b/spec/controllers/filters_controller_spec.rb deleted file mode 100644 index de043e8ae3..0000000000 --- a/spec/controllers/filters_controller_spec.rb +++ /dev/null @@ -1,34 +0,0 @@ -# frozen_string_literal: true - -require 'rails_helper' - -RSpec.describe FiltersController do - render_views - - describe 'GET #index' do - context 'with signed out user' do - before do - get :index - end - - it 'redirects' do - expect(response).to be_redirect - end - end - - context 'with a signed in user' do - before do - sign_in(Fabricate(:user)) - get :index - end - - it 'returns http success' do - expect(response).to have_http_status(200) - end - - it 'returns private cache control headers' do - expect(response.headers['Cache-Control']).to include('private, no-store') - end - end - end -end diff --git a/spec/requests/filters_spec.rb b/spec/requests/filters_spec.rb new file mode 100644 index 0000000000..a7b2eddc1b --- /dev/null +++ b/spec/requests/filters_spec.rb @@ -0,0 +1,16 @@ +# frozen_string_literal: true + +require 'rails_helper' + +RSpec.describe 'Filters' do + describe 'GET /filters' do + context 'with signed out user' do + it 'redirects to sign in page' do + get filters_path + + expect(response) + .to redirect_to(new_user_session_path) + end + end + end +end diff --git a/spec/system/filters_spec.rb b/spec/system/filters_spec.rb index 64de384c00..e681c6940e 100644 --- a/spec/system/filters_spec.rb +++ b/spec/system/filters_spec.rb @@ -8,6 +8,18 @@ RSpec.describe 'Filters' do before { sign_in(user) } + describe 'Viewing existing filters' do + before { Fabricate :custom_filter, account: user.account, phrase: 'Photography' } + + it 'shows a list of user filters' do + visit filters_path + + expect(page) + .to have_content('Photography') + .and have_private_cache_control + end + end + describe 'Creating a filter' do it 'Populates a new filter from form' do navigate_to_filters @@ -16,12 +28,22 @@ RSpec.describe 'Filters' do fill_in_filter_form expect(page).to have_content(filter_title) end + + it 'Does not save with invalid values' do + navigate_to_filters + click_on I18n.t('filters.new.title') + + expect { click_on I18n.t('filters.new.save') } + .to_not change(CustomFilter, :count) + expect(page) + .to have_content("can't be blank") + end end describe 'Editing an existing filter' do let(:new_title) { 'Change title value' } - before { Fabricate :custom_filter, account: user.account, title: filter_title } + let!(:custom_filter) { Fabricate :custom_filter, account: user.account, title: filter_title } it 'Updates the saved filter' do navigate_to_filters @@ -33,6 +55,18 @@ RSpec.describe 'Filters' do expect(page).to have_content(new_title) end + + it 'Does not save with invalid values' do + navigate_to_filters + click_on filter_title + + fill_in filter_title_field, with: '' + + expect { click_on submit_button } + .to_not(change { custom_filter.reload.updated_at }) + expect(page) + .to have_content("can't be blank") + end end describe 'Destroying an existing filter' do From 02748f172dde400baeafebc47ccc958ccbfe441c Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" <41898282+github-actions[bot]@users.noreply.github.com> Date: Tue, 17 Dec 2024 10:33:42 +0100 Subject: [PATCH 21/60] New Crowdin Translations (automated) (#33332) Co-authored-by: GitHub Actions --- app/javascript/mastodon/locales/af.json | 1 - app/javascript/mastodon/locales/an.json | 2 - app/javascript/mastodon/locales/ar.json | 2 - app/javascript/mastodon/locales/ast.json | 1 - app/javascript/mastodon/locales/be.json | 6 +- app/javascript/mastodon/locales/bg.json | 2 - app/javascript/mastodon/locales/bn.json | 2 - app/javascript/mastodon/locales/br.json | 2 - app/javascript/mastodon/locales/ca.json | 4 +- app/javascript/mastodon/locales/ckb.json | 2 - app/javascript/mastodon/locales/co.json | 2 - app/javascript/mastodon/locales/cs.json | 2 - app/javascript/mastodon/locales/cy.json | 7 +- app/javascript/mastodon/locales/da.json | 4 +- app/javascript/mastodon/locales/de.json | 4 +- app/javascript/mastodon/locales/el.json | 2 - app/javascript/mastodon/locales/en-GB.json | 2 - app/javascript/mastodon/locales/eo.json | 4 +- app/javascript/mastodon/locales/es-AR.json | 32 +-- app/javascript/mastodon/locales/es-MX.json | 4 +- app/javascript/mastodon/locales/es.json | 4 +- app/javascript/mastodon/locales/et.json | 7 +- app/javascript/mastodon/locales/eu.json | 3 +- app/javascript/mastodon/locales/fa.json | 2 - app/javascript/mastodon/locales/fi.json | 6 +- app/javascript/mastodon/locales/fil.json | 1 - app/javascript/mastodon/locales/fo.json | 4 +- app/javascript/mastodon/locales/fr-CA.json | 4 +- app/javascript/mastodon/locales/fr.json | 4 +- app/javascript/mastodon/locales/fy.json | 2 - app/javascript/mastodon/locales/ga.json | 2 - app/javascript/mastodon/locales/gd.json | 2 - app/javascript/mastodon/locales/gl.json | 4 +- app/javascript/mastodon/locales/he.json | 4 +- app/javascript/mastodon/locales/hi.json | 1 - app/javascript/mastodon/locales/hr.json | 2 - app/javascript/mastodon/locales/hu.json | 4 +- app/javascript/mastodon/locales/hy.json | 2 - app/javascript/mastodon/locales/ia.json | 12 +- app/javascript/mastodon/locales/id.json | 2 - app/javascript/mastodon/locales/ie.json | 2 - app/javascript/mastodon/locales/io.json | 2 - app/javascript/mastodon/locales/is.json | 2 - app/javascript/mastodon/locales/it.json | 2 - app/javascript/mastodon/locales/ja.json | 4 +- app/javascript/mastodon/locales/ka.json | 2 - app/javascript/mastodon/locales/kab.json | 2 - app/javascript/mastodon/locales/kk.json | 2 - app/javascript/mastodon/locales/ko.json | 4 +- app/javascript/mastodon/locales/ku.json | 2 - app/javascript/mastodon/locales/kw.json | 2 - app/javascript/mastodon/locales/la.json | 1 - app/javascript/mastodon/locales/lad.json | 2 - app/javascript/mastodon/locales/lt.json | 2 - app/javascript/mastodon/locales/lv.json | 2 - app/javascript/mastodon/locales/mk.json | 2 - app/javascript/mastodon/locales/ml.json | 2 - app/javascript/mastodon/locales/ms.json | 2 - app/javascript/mastodon/locales/my.json | 2 - app/javascript/mastodon/locales/nan.json | 25 +++ app/javascript/mastodon/locales/nl.json | 4 +- app/javascript/mastodon/locales/nn.json | 2 - app/javascript/mastodon/locales/no.json | 2 - app/javascript/mastodon/locales/oc.json | 2 - app/javascript/mastodon/locales/pa.json | 1 - app/javascript/mastodon/locales/pl.json | 5 +- app/javascript/mastodon/locales/pt-BR.json | 2 - app/javascript/mastodon/locales/pt-PT.json | 136 +++++++++--- app/javascript/mastodon/locales/ro.json | 2 - app/javascript/mastodon/locales/ru.json | 13 +- app/javascript/mastodon/locales/sa.json | 2 - app/javascript/mastodon/locales/sc.json | 2 - app/javascript/mastodon/locales/sco.json | 2 - app/javascript/mastodon/locales/si.json | 1 - app/javascript/mastodon/locales/sk.json | 12 +- app/javascript/mastodon/locales/sl.json | 2 - app/javascript/mastodon/locales/sq.json | 4 +- app/javascript/mastodon/locales/sr-Latn.json | 2 - app/javascript/mastodon/locales/sr.json | 2 - app/javascript/mastodon/locales/sv.json | 6 +- app/javascript/mastodon/locales/ta.json | 2 - app/javascript/mastodon/locales/te.json | 2 - app/javascript/mastodon/locales/th.json | 2 - app/javascript/mastodon/locales/tok.json | 1 - app/javascript/mastodon/locales/tr.json | 4 +- app/javascript/mastodon/locales/tt.json | 1 - app/javascript/mastodon/locales/uk.json | 3 +- app/javascript/mastodon/locales/vi.json | 4 +- app/javascript/mastodon/locales/zgh.json | 1 - app/javascript/mastodon/locales/zh-CN.json | 4 +- app/javascript/mastodon/locales/zh-HK.json | 2 - app/javascript/mastodon/locales/zh-TW.json | 4 +- config/locales/activerecord.ja.yml | 3 + config/locales/activerecord.pt-PT.yml | 11 + config/locales/devise.pt-PT.yml | 8 +- config/locales/doorkeeper.pt-PT.yml | 1 + config/locales/pl.yml | 6 + config/locales/pt-PT.yml | 217 +++++++++++++++---- config/locales/ru.yml | 39 +++- config/locales/simple_form.ja.yml | 16 ++ config/locales/simple_form.pt-PT.yml | 47 +++- config/locales/simple_form.ru.yml | 14 ++ 102 files changed, 534 insertions(+), 287 deletions(-) diff --git a/app/javascript/mastodon/locales/af.json b/app/javascript/mastodon/locales/af.json index 1871befb66..196185f39f 100644 --- a/app/javascript/mastodon/locales/af.json +++ b/app/javascript/mastodon/locales/af.json @@ -247,7 +247,6 @@ "privacy.public.short": "Publiek", "privacy_policy.last_updated": "Laaste bywerking op {date}", "privacy_policy.title": "Privaatheidsbeleid", - "regeneration_indicator.sublabel": "Jou tuis-voer word voorberei!", "reply_indicator.cancel": "Kanselleer", "report.placeholder": "Type or paste additional comments", "report.submit": "Submit report", diff --git a/app/javascript/mastodon/locales/an.json b/app/javascript/mastodon/locales/an.json index 3901f5f008..9fb6284305 100644 --- a/app/javascript/mastodon/locales/an.json +++ b/app/javascript/mastodon/locales/an.json @@ -369,8 +369,6 @@ "privacy_policy.last_updated": "Ultima vegada actualizau {date}", "privacy_policy.title": "Politica de Privacidat", "refresh": "Actualizar", - "regeneration_indicator.label": "Cargando…", - "regeneration_indicator.sublabel": "La tuya historia d'inicio se ye preparando!", "relative_time.days": "{number} d", "relative_time.full.days": "fa {number, plural, one {# día} other {# días}}", "relative_time.full.hours": "fa {number, plural, one {# hora} other {# horas}}", diff --git a/app/javascript/mastodon/locales/ar.json b/app/javascript/mastodon/locales/ar.json index 4b46ed6117..5a9b177d3e 100644 --- a/app/javascript/mastodon/locales/ar.json +++ b/app/javascript/mastodon/locales/ar.json @@ -594,8 +594,6 @@ "privacy_policy.title": "سياسة الخصوصية", "recommended": "موصى به", "refresh": "أنعِش", - "regeneration_indicator.label": "جارٍ التحميل…", - "regeneration_indicator.sublabel": "جارٍ تجهيز موجزات خيطك الرئيس!", "relative_time.days": "{number}ي", "relative_time.full.days": "منذ {number, plural, zero {} one {# يوم} two {# يومين} few {# أيام} many {# أيام} other {# يوم}}", "relative_time.full.hours": "منذ {number, plural, zero {} one {ساعة واحدة} two {ساعتَيْن} few {# ساعات} many {# ساعة} other {# ساعة}}", diff --git a/app/javascript/mastodon/locales/ast.json b/app/javascript/mastodon/locales/ast.json index af0a0b88ca..f297ddd9cd 100644 --- a/app/javascript/mastodon/locales/ast.json +++ b/app/javascript/mastodon/locales/ast.json @@ -321,7 +321,6 @@ "privacy_policy.last_updated": "Data del últimu anovamientu: {date}", "privacy_policy.title": "Política de privacidá", "refresh": "Anovar", - "regeneration_indicator.label": "Cargando…", "relative_time.days": "{number} d", "relative_time.full.days": "hai {number, plural, one {# día} other {# díes}}", "relative_time.full.hours": "hai {number, plural, one {# hora} other {# hores}}", diff --git a/app/javascript/mastodon/locales/be.json b/app/javascript/mastodon/locales/be.json index 1adbe147db..ef2303c917 100644 --- a/app/javascript/mastodon/locales/be.json +++ b/app/javascript/mastodon/locales/be.json @@ -85,7 +85,7 @@ "alert.rate_limited.title": "Ліміт перавышаны", "alert.unexpected.message": "Узнікла нечаканая памылка.", "alert.unexpected.title": "Вой!", - "alt_text_badge.title": "Альтернативный текст", + "alt_text_badge.title": "Альтэрнатыўны тэкст", "announcement.announcement": "Аб'ява", "attachments_list.unprocessed": "(неапрацаваны)", "audio.hide": "Схаваць аўдыя", @@ -219,7 +219,7 @@ "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_will_lose_relationships": "Вы страціце ўсіх падпісчыкаў і людзей на якіх падпісаны на гэтым серверы.", "domain_block_modal.you_wont_see_posts": "Вы не ўбачыце допісаў і апавяшчэнняў ад карыстальнікаў з гэтага сервера.", "domain_pill.activitypub_lets_connect": "Ён дазваляе вам узаемадзейнічаць не толькі з карыстальнікамі Mastodon, але і розных іншых сацыяльных платформ.", "domain_pill.activitypub_like_language": "ActivityPub — гэта мова, на якой Mastodon размаўляе з іншымі сацыяльнымі сеткамі.", @@ -599,8 +599,6 @@ "privacy_policy.title": "Палітыка канфідэнцыйнасці", "recommended": "Рэкамендуем", "refresh": "Абнавiць", - "regeneration_indicator.label": "Загрузка…", - "regeneration_indicator.sublabel": "Пачакайце, рыхтуем вашу стужку!", "relative_time.days": "{number} д", "relative_time.full.days": "{number, plural, one {# дзень} few {# дні} many {# дзён} other {# дня}} таму", "relative_time.full.hours": "{number, plural, one {# гадзіна} few {# гадзіны} many {# гадзін} other {# гадзіны}} таму", diff --git a/app/javascript/mastodon/locales/bg.json b/app/javascript/mastodon/locales/bg.json index 6cadc8cdab..0599f9e193 100644 --- a/app/javascript/mastodon/locales/bg.json +++ b/app/javascript/mastodon/locales/bg.json @@ -697,8 +697,6 @@ "privacy_policy.title": "Политика за поверителност", "recommended": "Препоръчано", "refresh": "Опресняване", - "regeneration_indicator.label": "Зареждане…", - "regeneration_indicator.sublabel": "Подготовка на началния ви инфоканал!", "relative_time.days": "{number} д.", "relative_time.full.days": "преди {number, plural, one {# ден} other {# дни}}", "relative_time.full.hours": "преди {number, plural, one {# час} other {# часа}}", diff --git a/app/javascript/mastodon/locales/bn.json b/app/javascript/mastodon/locales/bn.json index 768a4dbf71..9f0c968dab 100644 --- a/app/javascript/mastodon/locales/bn.json +++ b/app/javascript/mastodon/locales/bn.json @@ -337,8 +337,6 @@ "privacy.change": "লেখার গোপনীয়তা অবস্থা ঠিক করতে", "privacy.public.short": "সর্বজনীন প্রকাশ্য", "refresh": "সতেজ করা", - "regeneration_indicator.label": "আসছে…", - "regeneration_indicator.sublabel": "আপনার বাড়ির-সময়রেখা প্রস্তূত করা হচ্ছে!", "relative_time.days": "{number} দিন", "relative_time.full.just_now": "এইমাত্র", "relative_time.hours": "{number} ঘন্টা", diff --git a/app/javascript/mastodon/locales/br.json b/app/javascript/mastodon/locales/br.json index eb4394aa79..c95f5a0423 100644 --- a/app/javascript/mastodon/locales/br.json +++ b/app/javascript/mastodon/locales/br.json @@ -447,8 +447,6 @@ "privacy_policy.title": "Reolennoù Prevezded", "recommended": "Erbedet", "refresh": "Freskaat", - "regeneration_indicator.label": "O kargañ…", - "regeneration_indicator.sublabel": "War brientiñ emañ ho red degemer!", "relative_time.days": "{number}d", "relative_time.full.days": "{number, plural, one {# devezh} two {# zevezh} few {# devezh} many {# a devezh} other {# devezh}} zo", "relative_time.full.hours": "{number, plural, one {# eurvezh} two {# eurvezh} few {# eurvezh} many {# eur} other {# eurvezh}} zo", diff --git a/app/javascript/mastodon/locales/ca.json b/app/javascript/mastodon/locales/ca.json index ef4f9e3a93..4193d915d0 100644 --- a/app/javascript/mastodon/locales/ca.json +++ b/app/javascript/mastodon/locales/ca.json @@ -697,8 +697,8 @@ "privacy_policy.title": "Política de Privacitat", "recommended": "Recomanat", "refresh": "Actualitza", - "regeneration_indicator.label": "Es carrega…", - "regeneration_indicator.sublabel": "Es prepara la vostra pantalla d'Inici!", + "regeneration_indicator.please_stand_by": "Espereu.", + "regeneration_indicator.preparing_your_home_feed": "Pantalla d'inici en preparació…", "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/ckb.json b/app/javascript/mastodon/locales/ckb.json index f4fee13cdb..9f833041c1 100644 --- a/app/javascript/mastodon/locales/ckb.json +++ b/app/javascript/mastodon/locales/ckb.json @@ -416,8 +416,6 @@ "privacy_policy.last_updated": "دوایین نوێکردنەوە {date}", "privacy_policy.title": "سیاسەتی تایبەتێتی", "refresh": "نوێکردنەوە", - "regeneration_indicator.label": "بارکردن…", - "regeneration_indicator.sublabel": "ڕاگەیەنەری ماڵەوەت ئامادە دەکرێت!", "relative_time.days": "{number}ڕۆژ", "relative_time.full.days": "{number, plural, one {# ڕۆژ} other {# ڕۆژ}} ماوە", "relative_time.full.hours": "{number, plural, one {# کاتژمێر} other {# کاتژمێر}} ماوە", diff --git a/app/javascript/mastodon/locales/co.json b/app/javascript/mastodon/locales/co.json index 5d81889b62..666ea797f0 100644 --- a/app/javascript/mastodon/locales/co.json +++ b/app/javascript/mastodon/locales/co.json @@ -263,8 +263,6 @@ "privacy.change": "Mudificà a cunfidenzialità di u statutu", "privacy.public.short": "Pubblicu", "refresh": "Attualizà", - "regeneration_indicator.label": "Caricamentu…", - "regeneration_indicator.sublabel": "Priparazione di a vostra pagina d'accolta!", "relative_time.days": "{number}ghj", "relative_time.hours": "{number}o", "relative_time.just_now": "avà", diff --git a/app/javascript/mastodon/locales/cs.json b/app/javascript/mastodon/locales/cs.json index 5cd324953a..0bf50cf13a 100644 --- a/app/javascript/mastodon/locales/cs.json +++ b/app/javascript/mastodon/locales/cs.json @@ -565,8 +565,6 @@ "privacy_policy.title": "Zásady ochrany osobních údajů", "recommended": "Doporučeno", "refresh": "Obnovit", - "regeneration_indicator.label": "Načítání…", - "regeneration_indicator.sublabel": "Váš domovský kanál se připravuje!", "relative_time.days": "{number} d", "relative_time.full.days": "před {number, plural, one {# dnem} few {# dny} many {# dny} other {# dny}}", "relative_time.full.hours": "před {number, plural, one {# hodinou} few {# hodinami} many {# hodinami} other {# hodinami}}", diff --git a/app/javascript/mastodon/locales/cy.json b/app/javascript/mastodon/locales/cy.json index 73d2e615b2..29719dcc72 100644 --- a/app/javascript/mastodon/locales/cy.json +++ b/app/javascript/mastodon/locales/cy.json @@ -696,8 +696,8 @@ "privacy_policy.title": "Polisi Preifatrwydd", "recommended": "Argymhellwyd", "refresh": "Adnewyddu", - "regeneration_indicator.label": "Yn llwytho…", - "regeneration_indicator.sublabel": "Mae eich ffrwd cartref yn cael ei pharatoi!", + "regeneration_indicator.please_stand_by": "Arhoswch am dipyn.", + "regeneration_indicator.preparing_your_home_feed": "Paratoi eich llif cartref…", "relative_time.days": "{number}d", "relative_time.full.days": "{number, plural, one {# diwrnod} other {# diwrnod}} yn ôl", "relative_time.full.hours": "{number, plural, one {# awr} other {# awr}} yn ôl", @@ -781,8 +781,11 @@ "search_results.accounts": "Proffilau", "search_results.all": "Popeth", "search_results.hashtags": "Hashnodau", + "search_results.no_results": "Dim canlyniadau.", + "search_results.no_search_yet": "Ceisiwch chwilio am bostiadau, proffiliau neu hashnodau.", "search_results.see_all": "Gweld y cyfan", "search_results.statuses": "Postiadau", + "search_results.title": "Chwilio am {q}", "server_banner.about_active_users": "Pobl sy'n defnyddio'r gweinydd hwn yn ystod y 30 diwrnod diwethaf (Defnyddwyr Gweithredol Misol)", "server_banner.active_users": "defnyddwyr gweithredol", "server_banner.administered_by": "Gweinyddir gan:", diff --git a/app/javascript/mastodon/locales/da.json b/app/javascript/mastodon/locales/da.json index 59d5123e78..ccc8a653a4 100644 --- a/app/javascript/mastodon/locales/da.json +++ b/app/javascript/mastodon/locales/da.json @@ -696,8 +696,8 @@ "privacy_policy.title": "Privatlivspolitik", "recommended": "Anbefalet", "refresh": "Genindlæs", - "regeneration_indicator.label": "Indlæser…", - "regeneration_indicator.sublabel": "Din hjemmetidslinje klargøres!", + "regeneration_indicator.please_stand_by": "Vent venligst.", + "regeneration_indicator.preparing_your_home_feed": "Forbereder hjemme-feed'et…", "relative_time.days": "{number}d", "relative_time.full.days": "{number, plural, one {# dag} other {# dage}} siden", "relative_time.full.hours": "{number, plural, one {# time} other {# timer}} siden", diff --git a/app/javascript/mastodon/locales/de.json b/app/javascript/mastodon/locales/de.json index 2e3c0d2d19..9a5b2f6b6e 100644 --- a/app/javascript/mastodon/locales/de.json +++ b/app/javascript/mastodon/locales/de.json @@ -697,8 +697,8 @@ "privacy_policy.title": "Datenschutzerklärung", "recommended": "Empfohlen", "refresh": "Aktualisieren", - "regeneration_indicator.label": "Wird geladen …", - "regeneration_indicator.sublabel": "Deine Startseite wird gerade vorbereitet!", + "regeneration_indicator.please_stand_by": "Bitte warten.", + "regeneration_indicator.preparing_your_home_feed": "Startseite wird vorbereitet …", "relative_time.days": "{number} T.", "relative_time.full.days": "vor {number, plural, one {# Tag} other {# Tagen}}", "relative_time.full.hours": "vor {number, plural, one {# Stunde} other {# Stunden}}", diff --git a/app/javascript/mastodon/locales/el.json b/app/javascript/mastodon/locales/el.json index 8beda3388e..8102a588e9 100644 --- a/app/javascript/mastodon/locales/el.json +++ b/app/javascript/mastodon/locales/el.json @@ -694,8 +694,6 @@ "privacy_policy.title": "Πολιτική Απορρήτου", "recommended": "Προτεινόμενα", "refresh": "Ανανέωση", - "regeneration_indicator.label": "Φορτώνει…", - "regeneration_indicator.sublabel": "Η αρχική σου ροή ετοιμάζεται!", "relative_time.days": "{number}η", "relative_time.full.days": "πριν από {number, plural, one {# μέρα} other {# μέρες}}", "relative_time.full.hours": "πριν από {number, plural, one {# ώρα} other {# ώρες}}", diff --git a/app/javascript/mastodon/locales/en-GB.json b/app/javascript/mastodon/locales/en-GB.json index ef2ab61c17..1812540261 100644 --- a/app/javascript/mastodon/locales/en-GB.json +++ b/app/javascript/mastodon/locales/en-GB.json @@ -683,8 +683,6 @@ "privacy_policy.title": "Privacy Policy", "recommended": "Recommended", "refresh": "Refresh", - "regeneration_indicator.label": "Loading…", - "regeneration_indicator.sublabel": "Your home feed is being prepared!", "relative_time.days": "{number}d", "relative_time.full.days": "{number, plural, one {# day} other {# days}} ago", "relative_time.full.hours": "{number, plural, one {# hour} other {# hours}} ago", diff --git a/app/javascript/mastodon/locales/eo.json b/app/javascript/mastodon/locales/eo.json index 646f43d314..7f095776d9 100644 --- a/app/javascript/mastodon/locales/eo.json +++ b/app/javascript/mastodon/locales/eo.json @@ -697,8 +697,8 @@ "privacy_policy.title": "Politiko de privateco", "recommended": "Rekomendita", "refresh": "Refreŝigu", - "regeneration_indicator.label": "Ŝargado…", - "regeneration_indicator.sublabel": "Via abonfluo estas preparata!", + "regeneration_indicator.please_stand_by": "Bonvolu atendi.", + "regeneration_indicator.preparing_your_home_feed": "Preparante vian hejmpaĝon…", "relative_time.days": "{number}t", "relative_time.full.days": "antaŭ {number, plural, one {# tago} other {# tagoj}}", "relative_time.full.hours": "antaŭ {number, plural, one {# horo} other {# horoj}}", diff --git a/app/javascript/mastodon/locales/es-AR.json b/app/javascript/mastodon/locales/es-AR.json index 1da851413b..cdcef2eff5 100644 --- a/app/javascript/mastodon/locales/es-AR.json +++ b/app/javascript/mastodon/locales/es-AR.json @@ -471,26 +471,26 @@ "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.add_member": "Agregar", + "lists.add_to_list": "Agregar a lista", + "lists.add_to_lists": "Agregar a {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.create_a_list_to_organize": "Creá una nueva lista para organizar tu línea temporal principal", + "lists.create_list": "Crear lista", "lists.delete": "Eliminar lista", - "lists.done": "Hecho", + "lists.done": "Listo", "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.exclusive": "Ocultar miembros en la línea temporal principal", + "lists.exclusive_hint": "Si alguien está en esta lista, ocultalo en tu línea temporal principal para evitar que aparezcan sus mensajes dos veces.", + "lists.find_users_to_add": "Buscar usuarios para agregar", + "lists.list_members": "Miembros de 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.remove_member": "Quitar", "lists.replies_policy.followed": "Cualquier cuenta seguida", "lists.replies_policy.list": "Miembros de la lista", "lists.replies_policy.none": "Nadie", @@ -655,11 +655,11 @@ "notifications_permission_banner.enable": "Habilitar notificaciones de escritorio", "notifications_permission_banner.how_to_control": "Para recibir notificaciones cuando Mastodon no está abierto, habilitá las notificaciones de escritorio. Podés controlar con precisión qué tipos de interacciones generan notificaciones de escritorio a través del botón {icon} de arriba, una vez que estén habilitadas.", "notifications_permission_banner.title": "No te pierdas nada", - "onboarding.follows.back": "Atrás", - "onboarding.follows.done": "Hecho", + "onboarding.follows.back": "Volver", + "onboarding.follows.done": "Listo", "onboarding.follows.empty": "Desafortunadamente, no se pueden mostrar resultados en este momento. Podés intentar usar la búsqueda o navegar por la página de exploración para encontrar cuentas a las que seguir, o intentarlo de nuevo más tarde.", "onboarding.follows.search": "Buscar", - "onboarding.follows.title": "Sigue personas para comenzar", + "onboarding.follows.title": "Para comenzar, empezá a seguir cuentas", "onboarding.profile.discoverable": "Hacer que mi perfil sea detectable", "onboarding.profile.discoverable_hint": "Cuando optás por ser detectable en Mastodon, tus mensajes pueden aparecer en los resultados de búsqueda y de tendencia, y tu perfil puede ser sugerido a personas con intereses similares a los tuyos.", "onboarding.profile.display_name": "Nombre para mostrar", @@ -697,8 +697,8 @@ "privacy_policy.title": "Política de privacidad", "recommended": "Opción recomendada", "refresh": "Refrescar", - "regeneration_indicator.label": "Cargando…", - "regeneration_indicator.sublabel": "¡Se está preparando tu línea temporal principal!", + "regeneration_indicator.please_stand_by": "Espera, por favor.", + "regeneration_indicator.preparing_your_home_feed": "Preparando tu página de inicio…", "relative_time.days": "{number}d", "relative_time.full.days": "{number, plural,one {hace # día} other {hace # días}}", "relative_time.full.hours": "{number, plural,one {hace # hora} other {hace # horas}}", diff --git a/app/javascript/mastodon/locales/es-MX.json b/app/javascript/mastodon/locales/es-MX.json index 22375d2d26..326abd3514 100644 --- a/app/javascript/mastodon/locales/es-MX.json +++ b/app/javascript/mastodon/locales/es-MX.json @@ -697,8 +697,8 @@ "privacy_policy.title": "Política de Privacidad", "recommended": "Recomendado", "refresh": "Actualizar", - "regeneration_indicator.label": "Cargando…", - "regeneration_indicator.sublabel": "¡Tu historia de inicio se está preparando!", + "regeneration_indicator.please_stand_by": "Por favor, espera.", + "regeneration_indicator.preparing_your_home_feed": "Preparando tu página de inicio…", "relative_time.days": "{number} d", "relative_time.full.days": "{number, plural, one {# día} other {# días hace}}", "relative_time.full.hours": "{number, plural, one {# hora} other {# horas}} hace", diff --git a/app/javascript/mastodon/locales/es.json b/app/javascript/mastodon/locales/es.json index e011902f6b..e0856d3ab3 100644 --- a/app/javascript/mastodon/locales/es.json +++ b/app/javascript/mastodon/locales/es.json @@ -697,8 +697,8 @@ "privacy_policy.title": "Política de Privacidad", "recommended": "Recomendado", "refresh": "Actualizar", - "regeneration_indicator.label": "Cargando…", - "regeneration_indicator.sublabel": "¡Tu página de inicio se está preparando!", + "regeneration_indicator.please_stand_by": "Espera, por favor.", + "regeneration_indicator.preparing_your_home_feed": "Preparando tu página de inicio…", "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}}", diff --git a/app/javascript/mastodon/locales/et.json b/app/javascript/mastodon/locales/et.json index 460c354d04..1733d43ff7 100644 --- a/app/javascript/mastodon/locales/et.json +++ b/app/javascript/mastodon/locales/et.json @@ -52,7 +52,7 @@ "account.mute_notifications_short": "Vaigista teavitused", "account.mute_short": "Vaigista", "account.muted": "Vaigistatud", - "account.mutual": "Ühine", + "account.mutual": "Jälgite", "account.no_bio": "Kirjeldust pole lisatud.", "account.open_original_page": "Ava algne leht", "account.posts": "Postitused", @@ -168,7 +168,7 @@ "community.column_settings.remote_only": "Ainult kaug", "compose.language.change": "Muuda keelt", "compose.language.search": "Otsi keeli...", - "compose.published.body": "Postitus avaldatud.", + "compose.published.body": "Postitus tehtud.", "compose.published.open": "Ava", "compose.saved.body": "Postitus salvestatud.", "compose_form.direct_message_warning_learn_more": "Vaata lisa", @@ -358,6 +358,7 @@ "footer.privacy_policy": "Isikuandmete kaitse", "footer.source_code": "Lähtekood", "footer.status": "Olek", + "footer.terms_of_service": "Kasutustingimused", "generic.saved": "Salvestatud", "getting_started.heading": "Alustamine", "hashtag.admin_moderation": "Ava modereerimisliides #{name} jaoks", @@ -665,8 +666,6 @@ "privacy_policy.title": "Isikuandmete kaitse", "recommended": "Soovitatud", "refresh": "Värskenda", - "regeneration_indicator.label": "Laeb…", - "regeneration_indicator.sublabel": "Su koduvoog on ettevalmistamisel!", "relative_time.days": "{number}p", "relative_time.full.days": "{number, plural, one {# päev} other {# päeva}} tagasi", "relative_time.full.hours": "{number, plural, one {# tund} other {# tundi}} tagasi", diff --git a/app/javascript/mastodon/locales/eu.json b/app/javascript/mastodon/locales/eu.json index d93f6e62cd..d733351bd1 100644 --- a/app/javascript/mastodon/locales/eu.json +++ b/app/javascript/mastodon/locales/eu.json @@ -623,8 +623,7 @@ "privacy_policy.title": "Pribatutasun politika", "recommended": "Gomendatua", "refresh": "Berritu", - "regeneration_indicator.label": "Kargatzen…", - "regeneration_indicator.sublabel": "Zure hasiera-jarioa prestatzen ari da!", + "regeneration_indicator.please_stand_by": "Itxaron, mesedez.", "relative_time.days": "{number}e", "relative_time.full.days": "Duela {number, plural, one {egun #} other {# egun}}", "relative_time.full.hours": "Duela {number, plural, one {ordu #} other {# ordu}}", diff --git a/app/javascript/mastodon/locales/fa.json b/app/javascript/mastodon/locales/fa.json index cd682f563b..d602a96d39 100644 --- a/app/javascript/mastodon/locales/fa.json +++ b/app/javascript/mastodon/locales/fa.json @@ -677,8 +677,6 @@ "privacy_policy.title": "سیاست محرمانگی", "recommended": "پیشنهادشده", "refresh": "نوسازی", - "regeneration_indicator.label": "در حال بار شدن…", - "regeneration_indicator.sublabel": "خوراک خانگیتان دارد آماده می‌شود!", "relative_time.days": "{number} روز", "relative_time.full.days": "{number, plural, one {# روز} other {# روز}} پیش", "relative_time.full.hours": "{number, plural, one {# ساعت} other {# ساعت}} پیش", diff --git a/app/javascript/mastodon/locales/fi.json b/app/javascript/mastodon/locales/fi.json index 299da014a0..f23ded342d 100644 --- a/app/javascript/mastodon/locales/fi.json +++ b/app/javascript/mastodon/locales/fi.json @@ -696,8 +696,8 @@ "privacy_policy.title": "Tietosuojakäytäntö", "recommended": "Suositellaan", "refresh": "Päivitä", - "regeneration_indicator.label": "Ladataan…", - "regeneration_indicator.sublabel": "Kotisyötettäsi valmistellaan!", + "regeneration_indicator.please_stand_by": "Ole valmiina.", + "regeneration_indicator.preparing_your_home_feed": "Valmistellaan kotisyötettäsi…", "relative_time.days": "{number} pv", "relative_time.full.days": "{number, plural, one {# päivä} other {# päivää}} sitten", "relative_time.full.hours": "{number, plural, one {# tunti} other {# tuntia}} sitten", @@ -785,7 +785,7 @@ "search_results.no_search_yet": "Kokeile hakea julkaisuja, profiileja tai aihetunnisteita.", "search_results.see_all": "Näytä kaikki", "search_results.statuses": "Julkaisut", - "search_results.title": "Hae ”{q}”", + "search_results.title": "Haku ”{q}”", "server_banner.about_active_users": "Palvelimen käyttäjät viimeisten 30 päivän ajalta (kuukauden aktiiviset käyttäjät)", "server_banner.active_users": "aktiivista käyttäjää", "server_banner.administered_by": "Ylläpitäjä:", diff --git a/app/javascript/mastodon/locales/fil.json b/app/javascript/mastodon/locales/fil.json index 666c493646..b467dc56d9 100644 --- a/app/javascript/mastodon/locales/fil.json +++ b/app/javascript/mastodon/locales/fil.json @@ -287,7 +287,6 @@ "privacy.unlisted.short": "Hindi nakalista", "privacy_policy.last_updated": "Huling nabago noong {date}", "recommended": "Inirekomenda", - "regeneration_indicator.label": "Kumakarga…", "relative_time.days": "{number}a", "relative_time.full.days": "{number, plural, one {# araw} other {# na araw}} ang nakalipas", "relative_time.full.hours": "{number, plural, one {# oras} other {# na oras}} ang nakalipas", diff --git a/app/javascript/mastodon/locales/fo.json b/app/javascript/mastodon/locales/fo.json index fc174b5cdc..9d5635a85d 100644 --- a/app/javascript/mastodon/locales/fo.json +++ b/app/javascript/mastodon/locales/fo.json @@ -696,8 +696,8 @@ "privacy_policy.title": "Privatlívspolitikkur", "recommended": "Viðmælt", "refresh": "Endurles", - "regeneration_indicator.label": "Innlesur…", - "regeneration_indicator.sublabel": "Tín heimarás verður gjørd klár!", + "regeneration_indicator.please_stand_by": "Bíða við.", + "regeneration_indicator.preparing_your_home_feed": "Fyrireiki heimarásina hjá tær…", "relative_time.days": "{number}d", "relative_time.full.days": "{number, plural, one {# dagur} other {# dagar}} síðani", "relative_time.full.hours": "{number, plural, one {# tími} other {# tímar}} síðani", diff --git a/app/javascript/mastodon/locales/fr-CA.json b/app/javascript/mastodon/locales/fr-CA.json index bf4baf3cb1..7cbd970b63 100644 --- a/app/javascript/mastodon/locales/fr-CA.json +++ b/app/javascript/mastodon/locales/fr-CA.json @@ -697,8 +697,8 @@ "privacy_policy.title": "Politique de confidentialité", "recommended": "Recommandé", "refresh": "Actualiser", - "regeneration_indicator.label": "Chargement…", - "regeneration_indicator.sublabel": "Votre fil d'accueil est en cours de préparation!", + "regeneration_indicator.please_stand_by": "Veuillez patienter.", + "regeneration_indicator.preparing_your_home_feed": "Préparation de votre flux principal…", "relative_time.days": "{number} j", "relative_time.full.days": "il y a {number, plural, one {# jour} other {# jours}}", "relative_time.full.hours": "il y a {number, plural, one {# heure} other {# heures}}", diff --git a/app/javascript/mastodon/locales/fr.json b/app/javascript/mastodon/locales/fr.json index 0e9b698ac8..944700617d 100644 --- a/app/javascript/mastodon/locales/fr.json +++ b/app/javascript/mastodon/locales/fr.json @@ -697,8 +697,8 @@ "privacy_policy.title": "Politique de confidentialité", "recommended": "Recommandé", "refresh": "Actualiser", - "regeneration_indicator.label": "Chargement…", - "regeneration_indicator.sublabel": "Votre fil principal est en cours de préparation !", + "regeneration_indicator.please_stand_by": "Veuillez patienter.", + "regeneration_indicator.preparing_your_home_feed": "Préparation de votre flux principal…", "relative_time.days": "{number} j", "relative_time.full.days": "il y a {number, plural, one {# jour} other {# jours}}", "relative_time.full.hours": "il y a {number, plural, one {# heure} other {# heures}}", diff --git a/app/javascript/mastodon/locales/fy.json b/app/javascript/mastodon/locales/fy.json index 8c5fd273e4..1554d57d7e 100644 --- a/app/javascript/mastodon/locales/fy.json +++ b/app/javascript/mastodon/locales/fy.json @@ -642,8 +642,6 @@ "privacy_policy.title": "Privacybelied", "recommended": "Oanrekommandearre", "refresh": "Ferfarskje", - "regeneration_indicator.label": "Lade…", - "regeneration_indicator.sublabel": "Jo starttiidline wurdt oanmakke!", "relative_time.days": "{number}d", "relative_time.full.days": "{number, plural, one {# dei} other {# dagen}} lyn", "relative_time.full.hours": "{number, plural, one {# oere} other {# oeren}} lyn", diff --git a/app/javascript/mastodon/locales/ga.json b/app/javascript/mastodon/locales/ga.json index e95bfd273d..1a6ae2f39b 100644 --- a/app/javascript/mastodon/locales/ga.json +++ b/app/javascript/mastodon/locales/ga.json @@ -697,8 +697,6 @@ "privacy_policy.title": "Polasaí príobháideachais", "recommended": "Molta", "refresh": "Athnuaigh", - "regeneration_indicator.label": "Ag lódáil…", - "regeneration_indicator.sublabel": "Tá do bheathú baile á ullmhú!", "relative_time.days": "{number}l", "relative_time.full.days": "{number, plural, one {# lá} other {# lá}} ó shin", "relative_time.full.hours": "{number, plural, one {# uair} other {# uair}} ó shin", diff --git a/app/javascript/mastodon/locales/gd.json b/app/javascript/mastodon/locales/gd.json index d6893ccfff..bf24d58099 100644 --- a/app/javascript/mastodon/locales/gd.json +++ b/app/javascript/mastodon/locales/gd.json @@ -655,8 +655,6 @@ "privacy_policy.title": "Poileasaidh prìobhaideachd", "recommended": "Molta", "refresh": "Ath-nuadhaich", - "regeneration_indicator.label": "’Ga luchdadh…", - "regeneration_indicator.sublabel": "Tha do dhachaigh ’ga ullachadh!", "relative_time.days": "{number}l", "relative_time.full.days": "{number, plural, one {# latha} two {# latha} few {# làithean} other {# latha}} air ais", "relative_time.full.hours": "{number, plural, one {# uair a thìde} two {# uair a thìde} few {# uairean a thìde} other {# uair a thìde}} air ais", diff --git a/app/javascript/mastodon/locales/gl.json b/app/javascript/mastodon/locales/gl.json index fbf377be5d..3fa6a312fe 100644 --- a/app/javascript/mastodon/locales/gl.json +++ b/app/javascript/mastodon/locales/gl.json @@ -697,8 +697,8 @@ "privacy_policy.title": "Política de Privacidade", "recommended": "Aconsellable", "refresh": "Actualizar", - "regeneration_indicator.label": "Estase a cargar…", - "regeneration_indicator.sublabel": "Estase a preparar a túa cronoloxía de inicio!", + "regeneration_indicator.please_stand_by": "Por favor, agarda.", + "regeneration_indicator.preparing_your_home_feed": "Creando a túa cronoloxía…", "relative_time.days": "{number}d", "relative_time.full.days": "hai {number, plural, one {# día} other {# días}}", "relative_time.full.hours": "hai {number, plural, one {# hora} other {# horas}}", diff --git a/app/javascript/mastodon/locales/he.json b/app/javascript/mastodon/locales/he.json index bf429c0c56..380e3f420a 100644 --- a/app/javascript/mastodon/locales/he.json +++ b/app/javascript/mastodon/locales/he.json @@ -697,8 +697,8 @@ "privacy_policy.title": "מדיניות פרטיות", "recommended": "מומלץ", "refresh": "רענון", - "regeneration_indicator.label": "טוען…", - "regeneration_indicator.sublabel": "פיד הבית שלך בהכנה!", + "regeneration_indicator.please_stand_by": "נא להמתין.", + "regeneration_indicator.preparing_your_home_feed": "מכין לך את פיד הבית…", "relative_time.days": "{number} ימים", "relative_time.full.days": "לפני {number, plural, one {# יום} other {# ימים}}", "relative_time.full.hours": "לפני {number, plural, one {# שעה} other {# שעות}}", diff --git a/app/javascript/mastodon/locales/hi.json b/app/javascript/mastodon/locales/hi.json index b2e00e14b0..d24092b5a4 100644 --- a/app/javascript/mastodon/locales/hi.json +++ b/app/javascript/mastodon/locales/hi.json @@ -408,7 +408,6 @@ "privacy.public.short": "सार्वजनिक", "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 {# घंटे}} पहले", diff --git a/app/javascript/mastodon/locales/hr.json b/app/javascript/mastodon/locales/hr.json index 6e8a86989c..f545c95233 100644 --- a/app/javascript/mastodon/locales/hr.json +++ b/app/javascript/mastodon/locales/hr.json @@ -360,8 +360,6 @@ "privacy_policy.title": "Pravila o zaštiti privatnosti", "recommended": "Preporučeno", "refresh": "Osvježi", - "regeneration_indicator.label": "Učitavanje…", - "regeneration_indicator.sublabel": "Priprema se Vaša početna stranica!", "relative_time.days": "{number}d", "relative_time.full.just_now": "upravo sad", "relative_time.just_now": "sada", diff --git a/app/javascript/mastodon/locales/hu.json b/app/javascript/mastodon/locales/hu.json index 99bb4bfb01..d3b5a912e7 100644 --- a/app/javascript/mastodon/locales/hu.json +++ b/app/javascript/mastodon/locales/hu.json @@ -697,8 +697,8 @@ "privacy_policy.title": "Adatvédelmi szabályzat", "recommended": "Ajánlott", "refresh": "Frissítés", - "regeneration_indicator.label": "Betöltés…", - "regeneration_indicator.sublabel": "A kezdőlapod hírfolyama épp készül!", + "regeneration_indicator.please_stand_by": "Kis türelmet.", + "regeneration_indicator.preparing_your_home_feed": "Kezdőlapi hírfolyam előkészítése…", "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}}", diff --git a/app/javascript/mastodon/locales/hy.json b/app/javascript/mastodon/locales/hy.json index 235969ad6c..664c6dd31f 100644 --- a/app/javascript/mastodon/locales/hy.json +++ b/app/javascript/mastodon/locales/hy.json @@ -352,8 +352,6 @@ "privacy_policy.last_updated": "Վերջին անգամ թարմացուել է՝ {date}", "privacy_policy.title": "Գաղտնիութեան քաղաքականութիւն", "refresh": "Թարմացնել", - "regeneration_indicator.label": "Բեռնւում է…", - "regeneration_indicator.sublabel": "պատրաստւում է հիմնական հոսքդ", "relative_time.days": "{number}օր", "relative_time.full.days": "{number, plural, one {# օր} other {# օր}} առաջ", "relative_time.full.hours": "{number, plural, one {# ժամ} other {# ժամ}} առաջ", diff --git a/app/javascript/mastodon/locales/ia.json b/app/javascript/mastodon/locales/ia.json index b2b1949280..50f334ec81 100644 --- a/app/javascript/mastodon/locales/ia.json +++ b/app/javascript/mastodon/locales/ia.json @@ -596,7 +596,7 @@ "notification_requests.explainer_for_limited_account": "Le notificationes de iste conto ha essite filtrate perque le conto ha essite limitate per un moderator.", "notification_requests.explainer_for_limited_remote_account": "Le notificationes de iste conto ha essite filtrate perque le conto o su servitor ha essite limitate per un moderator.", "notification_requests.maximize": "Maximisar", - "notification_requests.minimize_banner": "Minimisar le bandiera del avisos filtrate", + "notification_requests.minimize_banner": "Minimisar le bandiera de notificationes filtrate", "notification_requests.notifications_from": "Notificationes de {name}", "notification_requests.title": "Notificationes filtrate", "notification_requests.view": "Vider notificationes", @@ -638,10 +638,10 @@ "notifications.policy.accept": "Acceptar", "notifications.policy.accept_hint": "Monstrar in le notificationes", "notifications.policy.drop": "Ignorar", - "notifications.policy.drop_hint": "Inviar al nihil, pro jammais esser vidite ancora", + "notifications.policy.drop_hint": "Inviar al vacuo, pro non esser jammais plus vidite", "notifications.policy.filter": "Filtrar", "notifications.policy.filter_hint": "Inviar al cassa de notificationes filtrate", - "notifications.policy.filter_limited_accounts_hint": "Limitate per moderatores de servitor", + "notifications.policy.filter_limited_accounts_hint": "Limitate per le moderatores del servitor", "notifications.policy.filter_limited_accounts_title": "Contos moderate", "notifications.policy.filter_new_accounts.hint": "Create in le ultime {days, plural, one {die} other {# dies}}", "notifications.policy.filter_new_accounts_title": "Nove contos", @@ -697,8 +697,8 @@ "privacy_policy.title": "Politica de confidentialitate", "recommended": "Recommendate", "refresh": "Refrescar", - "regeneration_indicator.label": "Cargamento…", - "regeneration_indicator.sublabel": "Tu fluxo de initio es in preparation!", + "regeneration_indicator.please_stand_by": "Un momento, per favor.", + "regeneration_indicator.preparing_your_home_feed": "Fluxo de initio in preparation…", "relative_time.days": "{number}d", "relative_time.full.days": "{number, plural, one {# die} other {# dies}} retro", "relative_time.full.hours": "{number, plural, one {# hora} other {# horas}} retro", @@ -813,7 +813,7 @@ "status.edit": "Modificar", "status.edited": "Ultime modification le {date}", "status.edited_x_times": "Modificate {count, plural, one {{count} vice} other {{count} vices}}", - "status.embed": "Obtener codice incorporate", + "status.embed": "Obtener codice de incorporation", "status.favourite": "Adder al favorites", "status.favourites": "{count, plural, one {favorite} other {favorites}}", "status.filter": "Filtrar iste message", diff --git a/app/javascript/mastodon/locales/id.json b/app/javascript/mastodon/locales/id.json index dda0a8e43b..cb11502a43 100644 --- a/app/javascript/mastodon/locales/id.json +++ b/app/javascript/mastodon/locales/id.json @@ -473,8 +473,6 @@ "privacy_policy.last_updated": "Terakhir diperbarui {date}", "privacy_policy.title": "Kebijakan Privasi", "refresh": "Segarkan", - "regeneration_indicator.label": "Memuat…", - "regeneration_indicator.sublabel": "Beranda Anda sedang disiapkan!", "relative_time.days": "{number}h", "relative_time.full.days": "{number, plural, other {# hari}} yang lalu", "relative_time.full.hours": "{number, plural, other {# jam}} yang lalu", diff --git a/app/javascript/mastodon/locales/ie.json b/app/javascript/mastodon/locales/ie.json index aae8337d05..9af086496e 100644 --- a/app/javascript/mastodon/locales/ie.json +++ b/app/javascript/mastodon/locales/ie.json @@ -543,8 +543,6 @@ "privacy_policy.title": "Politica pri Privatie", "recommended": "Recomandat", "refresh": "Recargar", - "regeneration_indicator.label": "Cargant…", - "regeneration_indicator.sublabel": "On es preparant tui hemal témpor-linea!", "relative_time.days": "{number}d", "relative_time.full.days": "Ante {number, plural, one {# die} other {# dies}}", "relative_time.full.hours": "Ante {number, plural, one {# hor} other {# hores}}", diff --git a/app/javascript/mastodon/locales/io.json b/app/javascript/mastodon/locales/io.json index 560e01ecaf..7739eb069b 100644 --- a/app/javascript/mastodon/locales/io.json +++ b/app/javascript/mastodon/locales/io.json @@ -627,8 +627,6 @@ "privacy_policy.title": "Privatesguidilo", "recommended": "Rekomendata", "refresh": "Rifreshez", - "regeneration_indicator.label": "Chargas…", - "regeneration_indicator.sublabel": "Vua hemniuzeto preparesas!", "relative_time.days": "{number}d", "relative_time.full.days": "{number, plural, one {# dio} other {# dii}} ante nun", "relative_time.full.hours": "{number, plural, one {# horo} other {# hori}} ante nun", diff --git a/app/javascript/mastodon/locales/is.json b/app/javascript/mastodon/locales/is.json index 20bf53a456..5d05da9e99 100644 --- a/app/javascript/mastodon/locales/is.json +++ b/app/javascript/mastodon/locales/is.json @@ -695,8 +695,6 @@ "privacy_policy.title": "Persónuverndarstefna", "recommended": "Mælt með", "refresh": "Endurlesa", - "regeneration_indicator.label": "Hleð inn…", - "regeneration_indicator.sublabel": "Verið er að útbúa heimastreymið þitt!", "relative_time.days": "{number}d", "relative_time.full.days": "Fyrir {number, plural, one {# degi} other {# dögum}} síðan", "relative_time.full.hours": "Fyrir {number, plural, one {# klukkustund} other {# klukkustundum}} síðan", diff --git a/app/javascript/mastodon/locales/it.json b/app/javascript/mastodon/locales/it.json index 1b82399a50..0076117253 100644 --- a/app/javascript/mastodon/locales/it.json +++ b/app/javascript/mastodon/locales/it.json @@ -697,8 +697,6 @@ "privacy_policy.title": "Politica sulla Privacy", "recommended": "Consigliato", "refresh": "Ricarica", - "regeneration_indicator.label": "Caricamento…", - "regeneration_indicator.sublabel": "Il feed della tua home è in preparazione!", "relative_time.days": "{number}g", "relative_time.full.days": "{number, plural, one {# giorno} other {# giorni}} fa", "relative_time.full.hours": "{number, plural, one {# ora} other {# ore}} fa", diff --git a/app/javascript/mastodon/locales/ja.json b/app/javascript/mastodon/locales/ja.json index 7631bc7c69..01bd97d6cb 100644 --- a/app/javascript/mastodon/locales/ja.json +++ b/app/javascript/mastodon/locales/ja.json @@ -697,8 +697,8 @@ "privacy_policy.title": "プライバシーポリシー", "recommended": "おすすめ", "refresh": "更新", - "regeneration_indicator.label": "読み込み中…", - "regeneration_indicator.sublabel": "ホームタイムラインは準備中です!", + "regeneration_indicator.please_stand_by": "しばらくお待ちください。", + "regeneration_indicator.preparing_your_home_feed": "ホームタイムライン準備中…", "relative_time.days": "{number}日前", "relative_time.full.days": "{number}日前", "relative_time.full.hours": "{number}時間前", diff --git a/app/javascript/mastodon/locales/ka.json b/app/javascript/mastodon/locales/ka.json index 1b35b81384..b1832888c5 100644 --- a/app/javascript/mastodon/locales/ka.json +++ b/app/javascript/mastodon/locales/ka.json @@ -175,8 +175,6 @@ "notifications.group": "{count} შეტყობინება", "privacy.change": "სტატუსის კონფიდენციალურობის მითითება", "privacy.public.short": "საჯარო", - "regeneration_indicator.label": "იტვირთება…", - "regeneration_indicator.sublabel": "თქვენი სახლის ლენტა მზადდება!", "relative_time.days": "{number}დღ", "relative_time.hours": "{number}სთ", "relative_time.just_now": "ახლა", diff --git a/app/javascript/mastodon/locales/kab.json b/app/javascript/mastodon/locales/kab.json index 723ea01cb0..42f96babb7 100644 --- a/app/javascript/mastodon/locales/kab.json +++ b/app/javascript/mastodon/locales/kab.json @@ -469,8 +469,6 @@ "privacy_policy.title": "Tasertit tabaḍnit", "recommended": "Yettuwelleh", "refresh": "Smiren", - "regeneration_indicator.label": "Yessalay-d…", - "regeneration_indicator.sublabel": "Tasuddemt tagejdant ara d-tettwaheggay!", "relative_time.days": "{number}u", "relative_time.full.just_now": "tura kan", "relative_time.hours": "{number}isr", diff --git a/app/javascript/mastodon/locales/kk.json b/app/javascript/mastodon/locales/kk.json index 74199fcf4b..b3678806b3 100644 --- a/app/javascript/mastodon/locales/kk.json +++ b/app/javascript/mastodon/locales/kk.json @@ -262,8 +262,6 @@ "privacy.change": "Құпиялылықты реттеу", "privacy.public.short": "Ашық", "refresh": "Жаңарту", - "regeneration_indicator.label": "Жүктеу…", - "regeneration_indicator.sublabel": "Жергілікті желі құрылуда!", "relative_time.days": "{number}күн", "relative_time.hours": "{number}сағ", "relative_time.just_now": "жаңа", diff --git a/app/javascript/mastodon/locales/ko.json b/app/javascript/mastodon/locales/ko.json index 7aa24b0efa..01e44d6813 100644 --- a/app/javascript/mastodon/locales/ko.json +++ b/app/javascript/mastodon/locales/ko.json @@ -697,8 +697,8 @@ "privacy_policy.title": "개인정보처리방침", "recommended": "추천함", "refresh": "새로고침", - "regeneration_indicator.label": "불러오는 중…", - "regeneration_indicator.sublabel": "홈 피드를 준비하고 있습니다!", + "regeneration_indicator.please_stand_by": "잠시 기다려주세요.", + "regeneration_indicator.preparing_your_home_feed": "홈 피드를 준비 중입니다…", "relative_time.days": "{number}일 전", "relative_time.full.days": "{number} 일 전", "relative_time.full.hours": "{number} 시간 전", diff --git a/app/javascript/mastodon/locales/ku.json b/app/javascript/mastodon/locales/ku.json index f69cc488c7..38045199af 100644 --- a/app/javascript/mastodon/locales/ku.json +++ b/app/javascript/mastodon/locales/ku.json @@ -376,8 +376,6 @@ "privacy_policy.last_updated": "Rojanekirina dawî {date}", "privacy_policy.title": "Politîka taybetiyê", "refresh": "Nû bike", - "regeneration_indicator.label": "Tê barkirin…", - "regeneration_indicator.sublabel": "Naveroka rûpela sereke ya te tê amedekirin!", "relative_time.days": "{number}r", "relative_time.full.days": "{number, plural, one {# roj} other {# roj}} berê", "relative_time.full.hours": "{number, plural, one {# demjimêr} other {# demjimêr}} berê", diff --git a/app/javascript/mastodon/locales/kw.json b/app/javascript/mastodon/locales/kw.json index 476038e978..8f2c911502 100644 --- a/app/javascript/mastodon/locales/kw.json +++ b/app/javascript/mastodon/locales/kw.json @@ -261,8 +261,6 @@ "privacy.change": "Chanjya privetter an post", "privacy.public.short": "Poblek", "refresh": "Daskarga", - "regeneration_indicator.label": "Ow karga…", - "regeneration_indicator.sublabel": "Yma agas lin dre ow pos pareusys!", "relative_time.days": "{number}d", "relative_time.hours": "{number}o", "relative_time.just_now": "lemmyn", diff --git a/app/javascript/mastodon/locales/la.json b/app/javascript/mastodon/locales/la.json index d0d7c574a0..0235bec22d 100644 --- a/app/javascript/mastodon/locales/la.json +++ b/app/javascript/mastodon/locales/la.json @@ -177,7 +177,6 @@ "poll_button.remove_poll": "Auferre electionem", "privacy.change": "Adjust status privacy", "privacy.public.short": "Coram publico", - "regeneration_indicator.sublabel": "Tua domus feed praeparātur!", "relative_time.full.days": "{number, plural, one {# ante die} other {# ante dies}}", "relative_time.full.hours": "{number, plural, one {# ante horam} other {# ante horas}}", "relative_time.full.just_now": "nunc", diff --git a/app/javascript/mastodon/locales/lad.json b/app/javascript/mastodon/locales/lad.json index 1371720676..c1cac71305 100644 --- a/app/javascript/mastodon/locales/lad.json +++ b/app/javascript/mastodon/locales/lad.json @@ -592,8 +592,6 @@ "privacy_policy.title": "Politika de privasita", "recommended": "Rekomendado", "refresh": "Arefreska", - "regeneration_indicator.label": "Eskargando…", - "regeneration_indicator.sublabel": "Tu linya de tiempo prinsipala esta preparando!", "relative_time.days": "{number} d", "relative_time.full.days": "antes {number, plural, one {# diya} other {# diyas}}", "relative_time.full.hours": "antes {number, plural, one {# ora} other {# oras}}", diff --git a/app/javascript/mastodon/locales/lt.json b/app/javascript/mastodon/locales/lt.json index 107667f056..fa0f9ea970 100644 --- a/app/javascript/mastodon/locales/lt.json +++ b/app/javascript/mastodon/locales/lt.json @@ -684,8 +684,6 @@ "privacy_policy.title": "Privatumo politika", "recommended": "Rekomenduojama", "refresh": "Atnaujinti", - "regeneration_indicator.label": "Kraunama…", - "regeneration_indicator.sublabel": "Ruošiamas tavo pagrindinis srautas!", "relative_time.days": "{number} d.", "relative_time.full.days": "prieš {number, plural, one {# dieną} few {# dienas} many {# dienos} other {# dienų}}", "relative_time.full.hours": "prieš {number, plural, one {# valandą} few {# valandas} many {# valandos} other {# valandų}}", diff --git a/app/javascript/mastodon/locales/lv.json b/app/javascript/mastodon/locales/lv.json index e1a0bfbfac..17615be977 100644 --- a/app/javascript/mastodon/locales/lv.json +++ b/app/javascript/mastodon/locales/lv.json @@ -553,8 +553,6 @@ "privacy_policy.title": "Privātuma politika", "recommended": "Ieteicams", "refresh": "Atsvaidzināt", - "regeneration_indicator.label": "Ielādē…", - "regeneration_indicator.sublabel": "Tiek gatavota tava plūsma!", "relative_time.days": "{number}d", "relative_time.full.days": "Pirms {number, plural, one {# dienas} other {# dienām}}", "relative_time.full.hours": "Pirms {number, plural, one {# stundas} other {# stundām}}", diff --git a/app/javascript/mastodon/locales/mk.json b/app/javascript/mastodon/locales/mk.json index b30e70b097..3dffd8b816 100644 --- a/app/javascript/mastodon/locales/mk.json +++ b/app/javascript/mastodon/locales/mk.json @@ -198,8 +198,6 @@ "privacy.change": "Штеловај статус на приватност", "privacy.public.short": "Јавно", "refresh": "Освежи", - "regeneration_indicator.label": "Вчитување…", - "regeneration_indicator.sublabel": "Вашиот новости се подготвуваат!", "relative_time.days": "{number}д", "relative_time.hours": "{number}ч", "relative_time.just_now": "сега", diff --git a/app/javascript/mastodon/locales/ml.json b/app/javascript/mastodon/locales/ml.json index a067dc95ba..4f722c65ec 100644 --- a/app/javascript/mastodon/locales/ml.json +++ b/app/javascript/mastodon/locales/ml.json @@ -343,8 +343,6 @@ "privacy.public.short": "എല്ലാവര്‍ക്കും", "privacy_policy.title": "സ്വകാര്യത്തനയം", "refresh": "പുതുക്കുക", - "regeneration_indicator.label": "ലഭ്യമാക്കുന്നു…", - "regeneration_indicator.sublabel": "നിങ്ങളുടെ താങ്ങളുടെ ആമുഖത്താളിന് തയാറാക്കുന്നു!", "relative_time.days": "{number}ദിവസം", "relative_time.full.just_now": "ഇപ്പോൾതന്നെ", "relative_time.hours": "{number}മണി", diff --git a/app/javascript/mastodon/locales/ms.json b/app/javascript/mastodon/locales/ms.json index fe8a724918..0bb81f2994 100644 --- a/app/javascript/mastodon/locales/ms.json +++ b/app/javascript/mastodon/locales/ms.json @@ -464,8 +464,6 @@ "privacy_policy.title": "Dasar Privasi", "recommended": "Disyorkan", "refresh": "Muat semula", - "regeneration_indicator.label": "Memuatkan…", - "regeneration_indicator.sublabel": "Suapan rumah anda sedang disediakan!", "relative_time.days": "{number}h", "relative_time.full.days": "{number, plural, other {# hari}} yang lalu", "relative_time.full.hours": "{number, plural, other {# jam}} yang lalu", diff --git a/app/javascript/mastodon/locales/my.json b/app/javascript/mastodon/locales/my.json index ade740e17f..75939478c5 100644 --- a/app/javascript/mastodon/locales/my.json +++ b/app/javascript/mastodon/locales/my.json @@ -440,8 +440,6 @@ "privacy_policy.title": "ကိုယ်ရေးအချက်အလက်မူဝါဒ", "recommended": "အကြံပြုသည်", "refresh": "ပြန်လည်စတင်ပါ", - "regeneration_indicator.label": "လုပ်ဆောင်နေသည်…", - "regeneration_indicator.sublabel": "သင့်ပင်မစာမျက်နှာကို ပြင်ဆင်နေပါသည်။", "relative_time.days": "{number}d", "relative_time.full.days": "{number, plural, one {# day} other {# days}} ago", "relative_time.full.hours": "{number, plural, one {# hour} other {# hours}} ago", diff --git a/app/javascript/mastodon/locales/nan.json b/app/javascript/mastodon/locales/nan.json index e260328c46..ff73385b52 100644 --- a/app/javascript/mastodon/locales/nan.json +++ b/app/javascript/mastodon/locales/nan.json @@ -71,10 +71,31 @@ "account.unmute": "取消消音 @{name}", "account.unmute_notifications_short": "Kā通知取消消音", "account.unmute_short": "取消消音", + "account_note.placeholder": "Tshi̍h tse加註kha", + "admin.dashboard.monthly_retention": "註冊以後ê用者維持率", + "admin.dashboard.retention.average": "平均", + "admin.dashboard.retention.cohort": "註冊ê月", + "admin.dashboard.retention.cohort_size": "新用者", + "admin.impact_report.instance_accounts": "個人資料ē hőng thâi掉ê用者數", + "admin.impact_report.instance_followers": "本站ê跟tuè者ē流失ê數", + "admin.impact_report.instance_follows": "In ê跟tuè者ē流失ê數", + "admin.impact_report.title": "影響ê摘要", + "alert.rate_limited.message": "請tī {retry_time, time, medium} 以後koh試。", + "alert.rate_limited.title": "限速ah", + "alert.unexpected.message": "發生意外ê錯誤。.", "alert.unexpected.title": "Ai-ioh!", "alt_text_badge.title": "替代文字", "announcement.announcement": "公告", "annual_report.summary.archetype.booster": "追求趣味ê", + "annual_report.summary.archetype.lurker": "有讀無PO ê", + "annual_report.summary.archetype.oracle": "先知", + "annual_report.summary.archetype.pollster": "愛發動投票ê", + "annual_report.summary.archetype.replier": "社交ê蝴蝶", + "annual_report.summary.followers.followers": "跟tuè lí ê", + "annual_report.summary.followers.total": "Lóng總有 {count} ê", + "annual_report.summary.here_it_is": "下kha是lí {year} 年ê回顧:", + "annual_report.summary.highlighted_post.by_favourites": "Hōo足tsē lâng收藏ê PO文", + "annual_report.summary.highlighted_post.by_reblogs": "Hōo足tsē lâng轉ê PO文", "annual_report.summary.percentile.text": "Tse 予lí變做 {domain} ê用戶ê ", "block_modal.show_less": "看khah少", "block_modal.show_more": "顯示其他ê內容", @@ -82,6 +103,10 @@ "block_modal.they_cant_see_posts": "Lín buē-tàng互相看著對方ê PO文。", "block_modal.they_will_know": "In通看見in hőng封鎖。", "block_modal.title": "Kám beh封鎖用者?", + "boost_modal.reblog": "Kám beh轉PO?", + "bundle_column_error.error.title": "害ah!", + "bundle_column_error.routing.title": "404", + "bundle_modal_error.close": "關", "compose.language.change": "換語言", "confirmations.follow_to_list.confirm": "跟tuè,加入kàu列單", "notification.favourite_pm": "{name} kah意lí ê私人提起", diff --git a/app/javascript/mastodon/locales/nl.json b/app/javascript/mastodon/locales/nl.json index c76c134bec..70f54a4b9a 100644 --- a/app/javascript/mastodon/locales/nl.json +++ b/app/javascript/mastodon/locales/nl.json @@ -697,8 +697,8 @@ "privacy_policy.title": "Privacybeleid", "recommended": "Aanbevolen", "refresh": "Vernieuwen", - "regeneration_indicator.label": "Aan het laden…", - "regeneration_indicator.sublabel": "Jouw starttijdlijn wordt aangemaakt!", + "regeneration_indicator.please_stand_by": "Even geduld, alsjeblieft.", + "regeneration_indicator.preparing_your_home_feed": "Voorbereiden van jouw tijdlijn…", "relative_time.days": "{number}d", "relative_time.full.days": "{number, plural, one {# dag} other {# dagen}} geleden", "relative_time.full.hours": "{number, plural, one {# uur} other {# uur}} geleden", diff --git a/app/javascript/mastodon/locales/nn.json b/app/javascript/mastodon/locales/nn.json index 21eafffe76..6f9834a0d3 100644 --- a/app/javascript/mastodon/locales/nn.json +++ b/app/javascript/mastodon/locales/nn.json @@ -664,8 +664,6 @@ "privacy_policy.title": "Personvernsreglar", "recommended": "Tilrådd", "refresh": "Oppdater", - "regeneration_indicator.label": "Lastar…", - "regeneration_indicator.sublabel": "Heimetidslina di vert førebudd!", "relative_time.days": "{number}dg", "relative_time.full.days": "{number, plural, one {# dag} other {# dagar}} sidan", "relative_time.full.hours": "{number, plural, one {# time} other {# timar}} sidan", diff --git a/app/javascript/mastodon/locales/no.json b/app/javascript/mastodon/locales/no.json index 5ada8c6fe6..f0df14bdb1 100644 --- a/app/javascript/mastodon/locales/no.json +++ b/app/javascript/mastodon/locales/no.json @@ -574,8 +574,6 @@ "privacy_policy.title": "Personvernregler", "recommended": "Anbefalt", "refresh": "Oppfrisk", - "regeneration_indicator.label": "Laster…", - "regeneration_indicator.sublabel": "Dine tidslinje blir gjort klar!", "relative_time.days": "{number}d", "relative_time.full.days": "{number, plural, one {# dag} other {# dager}} siden", "relative_time.full.hours": "{number, plural, one {# time} other {# timer}} siden", diff --git a/app/javascript/mastodon/locales/oc.json b/app/javascript/mastodon/locales/oc.json index 5173fe4e7e..8761fd0e2e 100644 --- a/app/javascript/mastodon/locales/oc.json +++ b/app/javascript/mastodon/locales/oc.json @@ -398,8 +398,6 @@ "privacy_policy.last_updated": "Darrièra actualizacion {date}", "privacy_policy.title": "Politica de confidencialitat", "refresh": "Actualizar", - "regeneration_indicator.label": "Cargament…", - "regeneration_indicator.sublabel": "Sèm a preparar vòstre flux d’acuèlh !", "relative_time.days": "fa {number}d", "relative_time.full.days": "{number, plural, one {# jorn} other {# jorns}} ago", "relative_time.full.hours": "fa {number, plural, one {# ora} other {# oras}}", diff --git a/app/javascript/mastodon/locales/pa.json b/app/javascript/mastodon/locales/pa.json index 6cc90059a1..c7a2f8777f 100644 --- a/app/javascript/mastodon/locales/pa.json +++ b/app/javascript/mastodon/locales/pa.json @@ -410,7 +410,6 @@ "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 {# ਘੰਟੇ}} ਪਹਿਲਾਂ", diff --git a/app/javascript/mastodon/locales/pl.json b/app/javascript/mastodon/locales/pl.json index 5c1ef9d604..ad22024306 100644 --- a/app/javascript/mastodon/locales/pl.json +++ b/app/javascript/mastodon/locales/pl.json @@ -31,7 +31,7 @@ "account.featured_tags.last_status_never": "Brak postów", "account.featured_tags.title": "Polecane hasztagi {name}", "account.follow": "Obserwuj", - "account.follow_back": "Obserwuj wzajemnie", + "account.follow_back": "Również obserwuj", "account.followers": "Obserwujący", "account.followers.empty": "Nikt jeszcze nie obserwuje tego użytkownika.", "account.followers_counter": "{count, plural, one {{counter} obserwujący} few {{counter} obserwujących} many {{counter} obserwujących} other {{counter} obserwujących}}", @@ -544,6 +544,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.message": "Twój {year} #Wrapstodon jest już dostępny! Zobacz swoje podsumowanie roku i niezapomniane chwile na Mastodon!", "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}}", @@ -695,8 +696,6 @@ "privacy_policy.title": "Polityka prywatności", "recommended": "Zalecane", "refresh": "Odśwież", - "regeneration_indicator.label": "Ładuję…", - "regeneration_indicator.sublabel": "Twoja oś czasu jest przygotowywana!", "relative_time.days": "{number} dni", "relative_time.full.days": "{number, plural, one {# dzień} few {# dni} many {# dni} other {# dni}} temu", "relative_time.full.hours": "{number, plural, one {# godzinę} few {# godziny} many {# godzin} other {# godzin}} temu", diff --git a/app/javascript/mastodon/locales/pt-BR.json b/app/javascript/mastodon/locales/pt-BR.json index b7221f5417..d0d4bf00e9 100644 --- a/app/javascript/mastodon/locales/pt-BR.json +++ b/app/javascript/mastodon/locales/pt-BR.json @@ -694,8 +694,6 @@ "privacy_policy.title": "Política de privacidade", "recommended": "Recomendado", "refresh": "Atualizar", - "regeneration_indicator.label": "Carregando…", - "regeneration_indicator.sublabel": "Sua página inicial está sendo preparada!", "relative_time.days": "{number}d", "relative_time.full.days": "{number, plural, one {# dia} other {# dias}} atrás", "relative_time.full.hours": "{number, plural, one {# hora} other {# horas}} atrás", diff --git a/app/javascript/mastodon/locales/pt-PT.json b/app/javascript/mastodon/locales/pt-PT.json index 04aec252b7..878db11856 100644 --- a/app/javascript/mastodon/locales/pt-PT.json +++ b/app/javascript/mastodon/locales/pt-PT.json @@ -39,7 +39,7 @@ "account.following_counter": "{count, plural, one {A seguir {counter}} other {A seguir {counter}}}", "account.follows.empty": "Este utilizador ainda não segue ninguém.", "account.go_to_profile": "Ir para o perfil", - "account.hide_reblogs": "Esconder partilhas de @{name}", + "account.hide_reblogs": "Esconder partilhas impulsionadas de @{name}", "account.in_memoriam": "Em Memória.", "account.joined_short": "Juntou-se a", "account.languages": "Alterar línguas subscritas", @@ -61,7 +61,7 @@ "account.requested": "A aguardar aprovação. Clique para cancelar o pedido para seguir", "account.requested_follow": "{name} pediu para segui-lo", "account.share": "Partilhar o perfil @{name}", - "account.show_reblogs": "Mostrar partilhas de @{name}", + "account.show_reblogs": "Mostrar partilhas impulsionadas de @{name}", "account.statuses_counter": "{count, plural, one {{counter} publicação} other {{counter} publicações}}", "account.unblock": "Desbloquear @{name}", "account.unblock_domain": "Desbloquear o domínio {domain}", @@ -87,9 +87,25 @@ "alert.unexpected.title": "Bolas!", "alt_text_badge.title": "Texto alternativo", "announcement.announcement": "Anúncio", + "annual_report.summary.archetype.booster": "O caçador de frescura", + "annual_report.summary.archetype.lurker": "O espreitador", + "annual_report.summary.archetype.oracle": "O oráculo", + "annual_report.summary.archetype.pollster": "O sondagens", + "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á o seu {year} em revisão:", + "annual_report.summary.highlighted_post.by_favourites": "publicação mais favorita", + "annual_report.summary.highlighted_post.by_reblogs": "publicação mais impulsionada", + "annual_report.summary.highlighted_post.by_replies": "publicação com o maior número de respostas", + "annual_report.summary.highlighted_post.possessive": "{name}", + "annual_report.summary.most_used_app.most_used_app": "aplicação mais utilizada", + "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 coloca-o no topodos utilizadores de {domain}.", + "annual_report.summary.percentile.we_wont_tell_bernie": "Não vamos contar ao Bernie.", + "annual_report.summary.thanks": "Obrigado por fazer parte do Mastodon!", "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.", @@ -100,9 +116,9 @@ "block_modal.they_will_know": "Eles podem ver que estão bloqueados.", "block_modal.title": "Bloquear utilizador?", "block_modal.you_wont_see_mentions": "Não verá publicações que os mencionem.", - "boost_modal.combo": "Pode clicar {combo} para não voltar a ver", + "boost_modal.combo": "Pode premir {combo} para saltar isto da próxima vez", "boost_modal.reblog": "Impulsionar a publicação?", - "boost_modal.undo_reblog": "Retirar post?", + "boost_modal.undo_reblog": "Não impulsionar a publicação?", "bundle_column_error.copy_stacktrace": "Copiar relatório de erros", "bundle_column_error.error.body": "A página solicitada não pôde ser sintetizada. Isto pode ser devido a uma falha no nosso código ou a um problema de compatibilidade com o navegador.", "bundle_column_error.error.title": "Ó, não!", @@ -113,6 +129,7 @@ "bundle_column_error.routing.body": "A página solicitada não foi encontrada. Tem a certeza que o URL na barra de endereços está correto?", "bundle_column_error.routing.title": "404", "bundle_modal_error.close": "Fechar", + "bundle_modal_error.message": "Algo correu mal ao carregar este ecrã.", "bundle_modal_error.retry": "Tente de novo", "closed_registrations.other_server_instructions": "Visto que o Mastodon é descentralizado, pode criar uma conta noutro servidor e interagir com este na mesma.", "closed_registrations_modal.description": "Neste momento não é possível criar uma conta em {domain}, mas lembramos que não é preciso ter uma conta especificamente em {domain} para usar o Mastodon.", @@ -123,13 +140,16 @@ "column.blocks": "Utilizadores Bloqueados", "column.bookmarks": "Marcadores", "column.community": "Cronologia 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": "Cronologias", "column.follow_requests": "Seguidores pendentes", "column.home": "Início", + "column.list_members": "Gerir membros da lista", "column.lists": "Listas", "column.mutes": "Utilizadores silenciados", "column.notifications": "Notificações", @@ -142,6 +162,7 @@ "column_header.pin": "Afixar", "column_header.show_settings": "Mostrar configurações", "column_header.unpin": "Desafixar", + "column_search.cancel": "Cancelar", "column_subheading.settings": "Configurações", "community.column_settings.local_only": "Apenas local", "community.column_settings.media_only": "Apenas média", @@ -151,7 +172,7 @@ "compose.published.body": "Publicado.", "compose.published.open": "Abrir", "compose.saved.body": "Publicação guardada.", - "compose_form.direct_message_warning_learn_more": "Conhecer mais", + "compose_form.direct_message_warning_learn_more": "Saber mais", "compose_form.encryption_warning": "As publicações no Mastodon não são criptografadas de ponta a ponta. Não partilhe nenhuma informação sensível através do Mastodon.", "compose_form.hashtag_warning": "Esta publicação não será listada em qualquer etiqueta, pois não é pública. Apenas as publicações públicas podem ser pesquisadas por etiquetas.", "compose_form.lock_disclaimer": "A sua conta não é {locked}. Qualquer pessoa pode segui-lo e ver as publicações direcionadas apenas a seguidores.", @@ -160,6 +181,7 @@ "compose_form.poll.duration": "Duração da sondagem", "compose_form.poll.multiple": "Escolha múltipla", "compose_form.poll.option_placeholder": "Opção {number}", + "compose_form.poll.single": "Uma opção", "compose_form.poll.switch_to_multiple": "Alterar a sondagem para permitir várias respostas", "compose_form.poll.switch_to_single": "Alterar a sondagem para permitir uma única resposta", "compose_form.poll.type": "Estilo", @@ -183,12 +205,15 @@ "confirmations.edit.confirm": "Editar", "confirmations.edit.message": "Editar agora irá sobrescrever a mensagem que está a compor. Tem a certeza de que deseja continuar?", "confirmations.edit.title": "Sobrescrever publicação?", + "confirmations.follow_to_list.confirm": "Seguir e adicionar à lista", + "confirmations.follow_to_list.message": "Tem de seguir {name} para o adicionar a uma lista.", + "confirmations.follow_to_list.title": "Seguir utilizador?", "confirmations.logout.confirm": "Terminar sessão", "confirmations.logout.message": "Tem a certeza de que quer terminar a sessão?", "confirmations.logout.title": "Terminar sessão?", "confirmations.mute.confirm": "Silenciar", "confirmations.redraft.confirm": "Eliminar & reescrever", - "confirmations.redraft.message": "Tem a certeza de que quer eliminar e reescrever esta publicação? Os favoritos e partilhas perder-se-ão e as respostas à publicação original ficarão órfãs.", + "confirmations.redraft.message": "Tem a certeza de que quer eliminar e reescrever esta publicação? Os favoritos e as publicações impulsionadas perder-se-ão e as respostas à publicação original ficarão órfãs.", "confirmations.redraft.title": "Eliminar e reescrever publicação?", "confirmations.reply.confirm": "Responder", "confirmations.reply.message": "Se responder agora, a mensagem que está a escrever será substituída. Tem a certeza que pretende continuar?", @@ -198,6 +223,7 @@ "confirmations.unfollow.title": "Deixar de seguir utilizador?", "content_warning.hide": "Ocultar publicação", "content_warning.show": "Mostrar mesmo assim", + "content_warning.show_more": "Mostrar mais", "conversation.delete": "Eliminar conversa", "conversation.mark_as_read": "Marcar como lida", "conversation.open": "Ver conversa", @@ -207,18 +233,24 @@ "copypaste.copy_to_clipboard": "Copiar para a área de transferência", "directory.federated": "Do fediverso conhecido", "directory.local": "Apenas de {domain}", - "directory.new_arrivals": "Recém chegados", + "directory.new_arrivals": "Recém-chegados", "directory.recently_active": "Recentemente ativo", "disabled_account_banner.account_settings": "Definições da conta", "disabled_account_banner.text": "A sua conta {disabledAccount} está presentemente desativada.", "dismissable_banner.community_timeline": "Estas são as publicações públicas mais recentes de pessoas cujas contas são hospedadas por {domain}.", "dismissable_banner.dismiss": "Descartar", + "dismissable_banner.explore_links": "Estas notícias estão a ser mais partilhadas no fediverso hoje. As notícias mais recentes publicadas por mais pessoas diferentes têm uma classificação mais elevada.", + "dismissable_banner.explore_statuses": "Estas mensagens de todo o fediverso estão a ganhar força hoje. As mensagens mais recentes com mais impulsos e favoritos têm uma classificação mais elevada.", + "dismissable_banner.explore_tags": "Estas hashtags estão a ganhar força no fediverso atualmente. As hashtags que são utilizadas por mais pessoas diferentes são classificadas numa posição mais elevada.", + "dismissable_banner.public_timeline": "Estas são as mensagens públicas mais recentes de pessoas no fediverso que as pessoas em {domain} seguem.", "domain_block_modal.block": "Bloquear servidor", "domain_block_modal.block_account_instead": "Bloquear @{name} em alternativa", "domain_block_modal.they_can_interact_with_old_posts": "As pessoas deste servidor podem interagir com as suas publicações antigas.", "domain_block_modal.they_cant_follow": "Ninguém deste servidor pode segui-lo.", "domain_block_modal.they_wont_know": "Eles não saberão que foram bloqueados.", "domain_block_modal.title": "Bloquear domínio?", + "domain_block_modal.you_will_lose_num_followers": "Irá perder {followersCount, plural, one {{followersCountDisplay} seguidor} other {{followersCountDisplay} seguidores}} e {followingCount, plural, one {{followingCountDisplay} pessoa que segue} other {{followingCountDisplay} pessoas que segue}}.", + "domain_block_modal.you_will_lose_relationships": "Perderá todos os seguidores e pessoas que segue deste servidor.", "domain_block_modal.you_wont_see_posts": "Não verá publicações ou notificações de utilizadores neste servidor.", "domain_pill.activitypub_lets_connect": "Permite-lhe conectar e interagir com pessoas não só no Mastodon, mas também em diferentes aplicações sociais.", "domain_pill.activitypub_like_language": "O ActivityPub é como a linguagem que o Mastodon fala com outras redes sociais.", @@ -269,13 +301,13 @@ "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.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.", + "empty_column.notifications": "Não tem notificações. Interaja com outros utilizadores para iniciar uma conversa.", "empty_column.public": "Não há nada aqui! Escreve algo publicamente ou segue outros utilizadores para veres aqui os conteúdos públicos", - "error.unexpected_crash.explanation": "Devido a um erro no nosso código ou a um problema de compatibilidade do navegador, esta página não pôde ser apresentada corretamente.", - "error.unexpected_crash.explanation_addons": "Esta página não pôde ser exibida corretamente. Este erro provavelmente é causado por um complemento do navegador ou ferramentas de tradução automática.", + "error.unexpected_crash.explanation": "Devido a um erro no nosso código ou a um problema de compatibilidade do navegador, esta página não pode ser apresentada corretamente.", + "error.unexpected_crash.explanation_addons": "Esta página não pode ser mostrada corretamente. Este erro provavelmente é causado por um complemento do navegador ou ferramentas de tradução automática.", "error.unexpected_crash.next_steps": "Tente atualizar a página. Se isso não ajudar, pode usar o Mastodon através de um navegador diferente ou uma aplicação nativa.", "error.unexpected_crash.next_steps_addons": "Tente desativá-los e atualizar a página. Se isso não ajudar, poderá ainda ser possível utilizar o Mastodon através de um navegador diferente ou de uma aplicação nativa.", - "errors.unexpected_crash.copy_stacktrace": "Copiar a stacktrace para o clipboard", + "errors.unexpected_crash.copy_stacktrace": "Copiar o stacktrace para a área de transferência", "errors.unexpected_crash.report_issue": "Reportar problema", "explore.suggested_follows": "Pessoas", "explore.title": "Explorar", @@ -298,6 +330,7 @@ "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", @@ -324,13 +357,15 @@ "followed_tags": "Hashtags seguidas", "footer.about": "Sobre", "footer.directory": "Diretório de perfis", - "footer.get_app": "Obtém a aplicação", + "footer.get_app": "Obter a aplicação", "footer.keyboard_shortcuts": "Atalhos do teclado", "footer.privacy_policy": "Política de privacidade", "footer.source_code": "Ver código-fonte", "footer.status": "Estado", + "footer.terms_of_service": "Termos de serviço", "generic.saved": "Guardado", "getting_started.heading": "Primeiros passos", + "hashtag.admin_moderation": "Abrir interface de moderação para #{name}", "hashtag.column_header.tag_mode.all": "e {additional}", "hashtag.column_header.tag_mode.any": "ou {additional}", "hashtag.column_header.tag_mode.none": "sem {additional}", @@ -363,7 +398,7 @@ "home.show_announcements": "Exibir comunicações", "ignore_notifications_modal.disclaimer": "O Mastodon não pode informar utilizadores que ignoraste as notificações deles. Ignorar notificações não irá parar as mensagens serem enviadas.", "ignore_notifications_modal.filter_instead": "Filtrar em vez disso", - "ignore_notifications_modal.filter_to_act_users": "Ainda poderá aceitar, rejeitar, ou reportar utilizadores", + "ignore_notifications_modal.filter_to_act_users": "Ainda poderá aceitar, rejeitar ou reportar utilizadores", "ignore_notifications_modal.filter_to_avoid_confusion": "A filtragem ajuda a evitar potenciais equívocos", "ignore_notifications_modal.filter_to_review_separately": "Pode rever as notificações filtradas separadamente", "ignore_notifications_modal.ignore": "Ignorar notificações", @@ -374,8 +409,9 @@ "ignore_notifications_modal.private_mentions_title": "Ignorar notificações de Menções Privadas não solicitadas?", "interaction_modal.description.favourite": "Com uma conta no Mastodon, pode adicionar assinalar esta publicação como favorita para que o autor saiba que gostou e guardá-la para mais tarde.", "interaction_modal.description.follow": "Com uma conta no Mastodon, pode seguir {name} para receber as suas publicações na sua página inicial.", - "interaction_modal.description.reblog": "Com uma conta no Mastodon, pode impulsionar esta publicação para compartilhá-lo com os seus seguidores.", + "interaction_modal.description.reblog": "Com uma conta no Mastodon, pode impulsionar esta publicação para partilhá-la com os seus seguidores.", "interaction_modal.description.reply": "Com uma conta no Mastodon, pode responder a esta publicação.", + "interaction_modal.description.vote": "Com uma conta no Mastodon, pode votar nesta sondagem.", "interaction_modal.login.action": "Leve-me a casa", "interaction_modal.login.prompt": "Domínio do seu servidor, por exemplo, mastodon.social", "interaction_modal.no_account_yet": "Não está no Mastodon?", @@ -387,6 +423,7 @@ "interaction_modal.title.follow": "Seguir {name}", "interaction_modal.title.reblog": "Impulsionar a publicação de {name}", "interaction_modal.title.reply": "Responder à publicação de {name}", + "interaction_modal.title.vote": "Votar na sondagem 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}}", @@ -427,16 +464,39 @@ "lightbox.close": "Fechar", "lightbox.next": "Próximo", "lightbox.previous": "Anterior", + "lightbox.zoom_in": "Ampliar para o tamanho real", + "lightbox.zoom_out": "Ajustar para caber", "limited_account_hint.action": "Exibir perfil mesmo assim", "limited_account_hint.title": "Este perfil foi ocultado pelos moderadores de {domain}.", "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.add_member": "Adicionar", + "lists.add_to_list": "Adicionar à lista", + "lists.add_to_lists": "Adicionar {name} às listas", + "lists.create": "Criar", + "lists.create_a_list_to_organize": "Criar uma nova lista para organizar a página inicial", + "lists.create_list": "Criar lista", "lists.delete": "Eliminar lista", + "lists.done": "Concluído", "lists.edit": "Editar lista", + "lists.exclusive": "Ocultar membros na página inicial", + "lists.exclusive_hint": "Se alguém estiver nesta lista, oculte-o na sua página inicial para evitar ver as mensagens deles duas vezes.", + "lists.find_users_to_add": "Encontrar utilizadores 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 da nova lista", + "lists.no_lists_yet": "Ainda não existem listas.", + "lists.no_members_yet": "Ainda não existem membros.", + "lists.no_results_found": "Nenhuns resultados encontrados.", + "lists.remove_member": "Remover", "lists.replies_policy.followed": "Qualquer utilizador seguido", "lists.replies_policy.list": "Membros da lista", "lists.replies_policy.none": "Ninguém", + "lists.save": "Guardar", + "lists.search": "Pesquisar", + "lists.show_replies_to": "Incluir respostas da lista de membros para", "load_pending": "{count, plural, one {# novo item} other {# novos itens}}", "loading_indicator.label": "A carregar…", "media_gallery.hide": "Esconder", @@ -485,9 +545,14 @@ "notification.admin.report_statuses_other": "{name} denunciou {target}", "notification.admin.sign_up": "{name} inscreveu-se", "notification.admin.sign_up.name_and_others": "{name} e {count, plural, one {# outro} other {# outros}} inscreveram-se", + "notification.annual_report.message": "O seu #Wrapstodon {year} está à espera! Revela os destaques e os momentos memoráveis do seu ano no Mastodon!", + "notification.annual_report.view": "Ver #Wrapstodon", "notification.favourite": "{name} assinalou a sua publicação como favorita", "notification.favourite.name_and_others_with_link": "{name} e {count, plural, one {# outro} other {# outros}} assinalou a sua publicação como favorita", + "notification.favourite_pm": "{name} favoritou a sua menção privada", + "notification.favourite_pm.name_and_others_with_link": "{name} e {count, plural, one {# outro favoritou} other {# outros favoritaram}} a sua menção privada", "notification.follow": "{name} começou a seguir-te", + "notification.follow.name_and_others": "{name} e {count, plural, one {# outro seguiu-o} other {# outros seguiram-no}}", "notification.follow_request": "{name} pediu para segui-lo", "notification.follow_request.name_and_others": "{name} e {count, plural, one {# outro} other {# outros}} pediram para segui-lo", "notification.label.mention": "Menção", @@ -495,6 +560,7 @@ "notification.label.private_reply": "Resposta privada", "notification.label.reply": "Resposta", "notification.mention": "Menção", + "notification.mentioned_you": "{name} mencionou-o", "notification.moderation-warning.learn_more": "Saber mais", "notification.moderation_warning": "Recebeu um aviso de moderação", "notification.moderation_warning.action_delete_statuses": "Algumas das suas publicações foram removidas.", @@ -506,8 +572,8 @@ "notification.moderation_warning.action_suspend": "A sua conta foi suspensa.", "notification.own_poll": "A sua sondagem terminou", "notification.poll": "Terminou uma sondagem em que votou", - "notification.reblog": "{name} reforçou a tua publicação", - "notification.reblog.name_and_others_with_link": "{name} e {count, plural, one {# outro} other {# outros}} reforçaram a sua publicação", + "notification.reblog": "{name} impulsionou a tua publicação", + "notification.reblog.name_and_others_with_link": "{name} e {count, plural, one {# outro} other {# outros}} impulsionaram a sua publicação", "notification.relationships_severance_event": "Perdeu as ligações com {name}", "notification.relationships_severance_event.account_suspension": "Um administrador de {from} suspendeu {target}, o que significa que já não pode receber atualizações dele ou interagir com ele.", "notification.relationships_severance_event.domain_block": "Um administrador de {from} bloqueou {target}, incluindo {followersCount} dos seus seguidores e {followingCount, plural, one {# conta} other {# contas}} que segue.", @@ -545,10 +611,11 @@ "notifications.column_settings.filter_bar.category": "Barra de filtros rápidos", "notifications.column_settings.follow": "Novos seguidores:", "notifications.column_settings.follow_request": "Novos pedidos de seguidor:", + "notifications.column_settings.group": "Agrupar", "notifications.column_settings.mention": "Menções:", "notifications.column_settings.poll": "Resultados da sondagem:", "notifications.column_settings.push": "Notificações Push", - "notifications.column_settings.reblog": "Reforços:", + "notifications.column_settings.reblog": "Impulsos:", "notifications.column_settings.show": "Mostrar na coluna", "notifications.column_settings.sound": "Reproduzir som", "notifications.column_settings.status": "Novas publicações:", @@ -556,7 +623,7 @@ "notifications.column_settings.unread_notifications.highlight": "Destacar notificações por ler", "notifications.column_settings.update": "Edições:", "notifications.filter.all": "Todas", - "notifications.filter.boosts": "Reforços", + "notifications.filter.boosts": "Impulsos", "notifications.filter.favourites": "Favoritos", "notifications.filter.follows": "Seguidores", "notifications.filter.mentions": "Menções", @@ -588,7 +655,11 @@ "notifications_permission_banner.enable": "Ativar notificações no ambiente de trabalho", "notifications_permission_banner.how_to_control": "Para receber notificações quando o Mastodon não estiver aberto, ative as notificações no ambiente de trabalho. Depois da sua ativação, pode controlar precisamente quais tipos de interações geram notificações, através do botão {icon} acima.", "notifications_permission_banner.title": "Nunca perca nada", + "onboarding.follows.back": "Voltar", + "onboarding.follows.done": "Concluído", "onboarding.follows.empty": "Infelizmente, não é possível mostrar resultados neste momento. Pode tentar utilizar a pesquisa ou navegar na página \"Explorar\" para encontrar pessoas para seguir ou tentar novamente mais tarde.", + "onboarding.follows.search": "Pesquisar", + "onboarding.follows.title": "Siga pessoas para começar", "onboarding.profile.discoverable": "Permitir que o meu perfil seja descoberto", "onboarding.profile.discoverable_hint": "Quando opta pela possibilidade de ser descoberto no Mastodon, as suas mensagens podem aparecer nos resultados de pesquisa e nas tendências, e o seu perfil pode ser sugerido a pessoas com interesses semelhantes aos seus.", "onboarding.profile.display_name": "Nome a apresentar", @@ -626,8 +697,8 @@ "privacy_policy.title": "Política de privacidade", "recommended": "Recomendado", "refresh": "Atualizar", - "regeneration_indicator.label": "A carregar…", - "regeneration_indicator.sublabel": "A tua página inicial está a ser preparada!", + "regeneration_indicator.please_stand_by": "Por favor, aguarde.", + "regeneration_indicator.preparing_your_home_feed": "A preparar a sua página inicial…", "relative_time.days": "{number}d", "relative_time.full.days": "{number, plural,one {# dia} other {# dias}} atrás", "relative_time.full.hours": "{number, plural,one {# hora}other {# horas}} atrás", @@ -711,15 +782,18 @@ "search_results.accounts": "Perfis", "search_results.all": "Tudo", "search_results.hashtags": "Etiquetas", + "search_results.no_results": "Sem resultados.", + "search_results.no_search_yet": "Tente procurar por publicações, perfis ou hashtags.", "search_results.see_all": "Ver todos", "search_results.statuses": "Publicações", + "search_results.title": "Pesquisar por \"{q}\"", "server_banner.about_active_users": "Pessoas que utilizaram este servidor nos últimos 30 dias (Utilizadores Ativos Mensais)", "server_banner.active_users": "utilizadores ativos", "server_banner.administered_by": "Administrado por:", "server_banner.is_one_of_many": "{domain} é um dos muitos servidores Mastodon independentes que pode utilizar para participar no fediverso.", "server_banner.server_stats": "Estatísticas do servidor:", "sign_in_banner.create_account": "Criar conta", - "sign_in_banner.follow_anyone": "Siga alguém no fediverso e veja tudo em ordem cronológica. Sem algoritmos, anúncios ou clickbait à vista.", + "sign_in_banner.follow_anyone": "Siga qualquer pessoa no fediverso e veja tudo por ordem cronológica. Sem algoritmos, anúncios ou caça-cliques à vista.", "sign_in_banner.mastodon_is": "O Mastodon é a melhor maneira de acompanhar o que está a acontecer.", "sign_in_banner.sign_in": "Iniciar sessão", "sign_in_banner.sso_redirect": "Inicie sessão ou registe-se", @@ -728,8 +802,8 @@ "status.admin_status": "Abrir esta publicação na interface de moderação", "status.block": "Bloquear @{name}", "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.cancel_reblog_private": "Retirar impulso", + "status.cannot_reblog": "Esta publicação não pode ser impulsionada", "status.continued_thread": "Continuação da conversa", "status.copy": "Copiar hiperligação para a publicação", "status.delete": "Eliminar", @@ -757,11 +831,11 @@ "status.pin": "Afixar no perfil", "status.pinned": "Publicação afixada", "status.read_more": "Ler mais", - "status.reblog": "Partilhar", - "status.reblog_private": "Partilhar com a visibilidade original", - "status.reblogged_by": "{name} reforçou", - "status.reblogs": "{count, plural, one {partilha} other {partilhas}}", - "status.reblogs.empty": "Ainda ninguém reforçou esta publicação. Quando alguém o fizer, ele irá aparecer aqui.", + "status.reblog": "Impulsionar", + "status.reblog_private": "Impulsionar com a visibilidade original", + "status.reblogged_by": "{name} impulsionou", + "status.reblogs": "{count, plural, one {impulso} other {impulsos}}", + "status.reblogs.empty": "Ainda ninguém impulsionou esta publicação. Quando alguém o fizer, aparecerá aqui.", "status.redraft": "Apagar & reescrever", "status.remove_bookmark": "Retirar dos marcadores", "status.replied_in_thread": "Responder na conversa", @@ -785,6 +859,7 @@ "subscribed_languages.target": "Alterar idiomas subscritos para {target}", "tabs_bar.home": "Início", "tabs_bar.notifications": "Notificações", + "terms_of_service.title": "Termos do serviço", "time_remaining.days": "{número, plural, um {# day} outro {# days}} faltam", "time_remaining.hours": "{número, plural, um {# hour} outro {# hours}} faltam", "time_remaining.minutes": "{número, plural, um {# minute} outro {# minutes}} faltam", @@ -802,6 +877,11 @@ "upload_error.poll": "Não é permitido o envio de ficheiros em sondagens.", "upload_form.audio_description": "Descreva para pessoas com diminuição da acuidade auditiva", "upload_form.description": "Descreva para pessoas com diminuição da acuidade visual", + "upload_form.drag_and_drop.instructions": "Para escolher um anexo multimédia, prima espaço ou enter. Enquanto arrasta, utilize as teclas de setas para mover o anexo multimédia em qualquer direção. Prima espaço ou enter novamente para largar o anexo multimédia na sua nova posição ou prima escape para cancelar.", + "upload_form.drag_and_drop.on_drag_cancel": "O arrastamento foi cancelado. O anexo multimédia {item} foi descartado.", + "upload_form.drag_and_drop.on_drag_end": "O anexo multimédia {item} foi descartado.", + "upload_form.drag_and_drop.on_drag_over": "O anexo multimédia {item} foi movido.", + "upload_form.drag_and_drop.on_drag_start": "O anexo multimédia {item} foi escolhido.", "upload_form.edit": "Editar", "upload_form.thumbnail": "Alterar miniatura", "upload_form.video_description": "Descreva para pessoas com diminuição da acuidade auditiva ou visual", diff --git a/app/javascript/mastodon/locales/ro.json b/app/javascript/mastodon/locales/ro.json index 81057871dd..7e9d52a2ad 100644 --- a/app/javascript/mastodon/locales/ro.json +++ b/app/javascript/mastodon/locales/ro.json @@ -421,8 +421,6 @@ "privacy_policy.last_updated": "Ultima actualizare în data de {date}", "privacy_policy.title": "Politică de confidențialitate", "refresh": "Reîncarcă", - "regeneration_indicator.label": "Se încarcă…", - "regeneration_indicator.sublabel": "Cronologia ta principală este în curs de pregătire!", "relative_time.days": "{number}z", "relative_time.full.days": "acum {number, plural, one {o zi} few {# zile} other {# de zile}}", "relative_time.full.hours": "acum {number, plural, one {o oră} few {# ore} other {# de ore}}", diff --git a/app/javascript/mastodon/locales/ru.json b/app/javascript/mastodon/locales/ru.json index 9600a655d1..6507227dad 100644 --- a/app/javascript/mastodon/locales/ru.json +++ b/app/javascript/mastodon/locales/ru.json @@ -362,7 +362,7 @@ "footer.privacy_policy": "Политика конфиденциальности", "footer.source_code": "Исходный код", "footer.status": "Статус", - "footer.terms_of_service": "Условия использования", + "footer.terms_of_service": "Пользовательское соглашение", "generic.saved": "Сохранено", "getting_started.heading": "Начать", "hashtag.admin_moderation": "Открыть интерфейс модератора для #{name}", @@ -549,6 +549,8 @@ "notification.annual_report.view": "Перейти к #Wrapstodon", "notification.favourite": "{name} добавил(а) ваш пост в избранное", "notification.favourite.name_and_others_with_link": "{name} и ещё {count, plural, one {# пользователь} few {# пользователя} other {# пользователей}} добавили ваш пост в избранное", + "notification.favourite_pm": "{name} добавил(а) ваше личное сообщение в избранное", + "notification.favourite_pm.name_and_others_with_link": "{name} и ещё {count, plural, one {# пользователь} few {# пользователя} other {# пользователей}} добавили ваше личное сообщение в избранное", "notification.follow": "{name} подписался (-лась) на вас", "notification.follow.name_and_others": "{name} и ещё {count, plural, one {# пользователь} few {# пользователя} other {# пользователей}} подписались на вас", "notification.follow_request": "{name} отправил запрос на подписку", @@ -695,8 +697,8 @@ "privacy_policy.title": "Политика конфиденциальности", "recommended": "Рекомендуется", "refresh": "Обновить", - "regeneration_indicator.label": "Загрузка…", - "regeneration_indicator.sublabel": "Один момент, мы подготавливаем вашу ленту!", + "regeneration_indicator.please_stand_by": "Пожалуйста, подождите.", + "regeneration_indicator.preparing_your_home_feed": "Готовим вашу ленту…", "relative_time.days": "{number} д", "relative_time.full.days": "{number, plural, one {# день} many {# дней} other {# дня}} назад", "relative_time.full.hours": "{number, plural, one {# час} many {# часов} other {# часа}} назад", @@ -780,8 +782,11 @@ "search_results.accounts": "Профили", "search_results.all": "Все", "search_results.hashtags": "Хэштеги", + "search_results.no_results": "Ничего не найдено.", + "search_results.no_search_yet": "Попробуйте поискать посты, профили или хэштеги.", "search_results.see_all": "Показать все", "search_results.statuses": "Посты", + "search_results.title": "Поиск \"{q}\"", "server_banner.about_active_users": "Люди, заходившие на этот сервер за последние 30 дней (ежемесячные активные пользователи)", "server_banner.active_users": "активные пользователи", "server_banner.administered_by": "Управляется:", @@ -854,7 +859,7 @@ "subscribed_languages.target": "Изменить языки подписки для {target}", "tabs_bar.home": "Главная", "tabs_bar.notifications": "Уведомления", - "terms_of_service.title": "Условия использования", + "terms_of_service.title": "Пользовательское соглашение", "time_remaining.days": "{number, plural, one {остался # день} few {осталось # дня} many {осталось # дней} other {осталось # дней}}", "time_remaining.hours": "{number, plural, one {остался # час} few {осталось # часа} many {осталось # часов} other {осталось # часов}}", "time_remaining.minutes": "{number, plural, one {осталась # минута} few {осталось # минуты} many {осталось # минут} other {осталось # минут}}", diff --git a/app/javascript/mastodon/locales/sa.json b/app/javascript/mastodon/locales/sa.json index 1d0d91fc60..5529d68c89 100644 --- a/app/javascript/mastodon/locales/sa.json +++ b/app/javascript/mastodon/locales/sa.json @@ -383,8 +383,6 @@ "privacy_policy.last_updated": "अन्तिमवारं परिवर्तितम् {date}", "privacy_policy.title": "गोपनीयतानीतिः", "refresh": "नवीकुरु", - "regeneration_indicator.label": "आरोपयति…", - "regeneration_indicator.sublabel": "तव गृहनिरासः सज्जीकृतोऽस्ति!", "relative_time.days": "{number}दि", "relative_time.full.days": "{number, plural, one {# दिनं} other {# दिनानि}} पूर्वम्", "relative_time.full.hours": "{number, plural, one {# होरा} other {# होराः}} पूर्वम्", diff --git a/app/javascript/mastodon/locales/sc.json b/app/javascript/mastodon/locales/sc.json index 0c26ab4046..8fc51d3015 100644 --- a/app/javascript/mastodon/locales/sc.json +++ b/app/javascript/mastodon/locales/sc.json @@ -551,8 +551,6 @@ "privacy_policy.title": "Polìtica de riservadesa", "recommended": "Cussigiadu", "refresh": "Atualiza", - "regeneration_indicator.label": "Carrighende…", - "regeneration_indicator.sublabel": "Preparende sa lìnia de tempus printzipale tua.", "relative_time.days": "{number} dies a oe", "relative_time.full.days": "{number, plural, one {# die} other {# dies}} a oe", "relative_time.full.hours": "{number, plural, one {# ora} other {# oras}} a immoe", diff --git a/app/javascript/mastodon/locales/sco.json b/app/javascript/mastodon/locales/sco.json index 8b442d1ac8..d2f7672945 100644 --- a/app/javascript/mastodon/locales/sco.json +++ b/app/javascript/mastodon/locales/sco.json @@ -365,8 +365,6 @@ "privacy_policy.last_updated": "Last updatit {date}", "privacy_policy.title": "Privacy Policy", "refresh": "Refresh", - "regeneration_indicator.label": "Loadin…", - "regeneration_indicator.sublabel": "Yer hame feed is gettin sortit fir ye!", "relative_time.days": "{number}t", "relative_time.full.days": "{number, plural, one {# day} other {# days}} syne", "relative_time.full.hours": "{number, plural, one {# oor} other {# oors}} syne", diff --git a/app/javascript/mastodon/locales/si.json b/app/javascript/mastodon/locales/si.json index f2e290f040..69f247e138 100644 --- a/app/javascript/mastodon/locales/si.json +++ b/app/javascript/mastodon/locales/si.json @@ -314,7 +314,6 @@ "privacy.public.short": "ප්‍රසිද්ධ", "privacy_policy.title": "රහස්‍යතා ප්‍රතිපත්තිය", "refresh": "නැවුම් කරන්න", - "regeneration_indicator.label": "පූරණය වෙමින්…", "relative_time.days": "ද. {number}", "relative_time.full.days": "{number, plural, one {දවස් #} other {දවස් #}} කට පෙර", "relative_time.full.hours": "{number, plural, one {පැය #} other {පැය #}} කට පෙර", diff --git a/app/javascript/mastodon/locales/sk.json b/app/javascript/mastodon/locales/sk.json index 3f4ad4dc03..c7fdb79dc1 100644 --- a/app/javascript/mastodon/locales/sk.json +++ b/app/javascript/mastodon/locales/sk.json @@ -334,8 +334,10 @@ "footer.privacy_policy": "Pravidlá ochrany súkromia", "footer.source_code": "Zobraziť zdrojový kód", "footer.status": "Stav", + "footer.terms_of_service": "Podmienky prevozu", "generic.saved": "Uložené", "getting_started.heading": "Začíname", + "hashtag.admin_moderation": "Otvor moderovacie rozhranie pre #{name}", "hashtag.column_header.tag_mode.all": "a {additional}", "hashtag.column_header.tag_mode.any": "alebo {additional}", "hashtag.column_header.tag_mode.none": "bez {additional}", @@ -351,7 +353,9 @@ "hashtag.follow": "Sledovať hashtag", "hashtag.unfollow": "Prestať sledovať hashtag", "hashtags.and_other": "…a {count, plural, other {# ďalších}}", + "hints.profiles.posts_may_be_missing": "Niektoré príspevky z tohto profilu môžu chýbať.", "hints.profiles.see_more_followers": "Pozri viac nasledovateľov na {domain}", + "hints.profiles.see_more_follows": "Pozri viac nasledovateľov na {domain}", "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}", @@ -500,6 +504,7 @@ "notification.admin.report_statuses_other": "{name} nahlásil/a {target}", "notification.admin.sign_up": "Nová registráciu účtu {name}", "notification.favourite": "{name} hviezdičkuje váš príspevok", + "notification.favourite_pm": "{name} obľúbil/a tvoje súkromné spomenutie", "notification.follow": "{name} vás sleduje", "notification.follow_request": "{name} vás žiada sledovať", "notification.label.mention": "Zmienka", @@ -512,6 +517,8 @@ "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_none": "Tvoj účet dostal upozornenie od moderátora.", + "notification.moderation_warning.action_sensitive": "Tvoje príspevky budú odteraz označované ako chúlostivé.", "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", @@ -617,8 +624,6 @@ "privacy_policy.title": "Pravidlá ochrany súkromia", "recommended": "Odporúčané", "refresh": "Obnoviť", - "regeneration_indicator.label": "Načítavanie…", - "regeneration_indicator.sublabel": "Váš domovský kanál sa pripravuje.", "relative_time.days": "{number} dní", "relative_time.full.days": "Pred {number, plural, one {# dňom} other {# dňami}}", "relative_time.full.hours": "Pred {number, plural, one {# hodinou} other {# hodinami}}", @@ -705,6 +710,7 @@ "search_results.no_search_yet": "Skús vyhľadávať príspevky, profily, alebo hashtagy.", "search_results.see_all": "Zobraziť všetky", "search_results.statuses": "Príspevky", + "search_results.title": "Hľadaj \"{q}\"", "server_banner.about_active_users": "Ľudia používajúci tento server za posledných 30 dní (aktívni používatelia za mesiac)", "server_banner.active_users": "Aktívne účty", "server_banner.administered_by": "Správa servera:", @@ -750,6 +756,7 @@ "status.reblogs.empty": "Nikto ešte tento príspevok nezdieľal. Keď tak niekto urobí, zobrazí sa to tu.", "status.redraft": "Vymazať a prepísať", "status.remove_bookmark": "Odstrániť záložku", + "status.replied_in_thread": "Odpovedal/a vo vlákne", "status.replied_to": "Odpoveď na {name}", "status.reply": "Odpovedať", "status.replyAll": "Odpovedať vo vlákne", @@ -770,6 +777,7 @@ "subscribed_languages.target": "Zmeniť prihlásené jazyky pre {target}", "tabs_bar.home": "Domov", "tabs_bar.notifications": "Upozornenia", + "terms_of_service.title": "Podmienky prevozu", "time_remaining.days": "Ostáva{number, plural, one { # deň} few {jú # dni} many { # dní} other { # dní}}", "time_remaining.hours": "Ostáva{number, plural, one { # hodina} few {jú # hodiny} many { # hodín} other { # hodín}}", "time_remaining.minutes": "Ostáva{number, plural, one { # minúta} few {jú # minúty} many { # minút} other { # minút}}", diff --git a/app/javascript/mastodon/locales/sl.json b/app/javascript/mastodon/locales/sl.json index a297dd4a83..d5f75ac37f 100644 --- a/app/javascript/mastodon/locales/sl.json +++ b/app/javascript/mastodon/locales/sl.json @@ -620,8 +620,6 @@ "privacy_policy.title": "Pravilnik o zasebnosti", "recommended": "Priporočeno", "refresh": "Osveži", - "regeneration_indicator.label": "Nalaganje …", - "regeneration_indicator.sublabel": "Vaš domači vir se pripravlja!", "relative_time.days": "{number} d", "relative_time.full.days": "{number, plural, one {pred # dnem} two {pred # dnevoma} few {pred # dnevi} other {pred # dnevi}}", "relative_time.full.hours": "{number, plural, one {pred # uro} two {pred # urama} few {pred # urami} other {pred # urami}}", diff --git a/app/javascript/mastodon/locales/sq.json b/app/javascript/mastodon/locales/sq.json index 2e5caa5415..22e49f2442 100644 --- a/app/javascript/mastodon/locales/sq.json +++ b/app/javascript/mastodon/locales/sq.json @@ -692,8 +692,8 @@ "privacy_policy.title": "Rregulla Privatësie", "recommended": "E rekomanduar", "refresh": "Rifreskoje", - "regeneration_indicator.label": "Po ngarkohet…", - "regeneration_indicator.sublabel": "Prurja juaj vetjake po përgatitet!", + "regeneration_indicator.please_stand_by": "Ju lutemi, mos u largoni.", + "regeneration_indicator.preparing_your_home_feed": "Po përgatitet prurja juaj e kreut…", "relative_time.days": "{number}d", "relative_time.full.days": "{number, plural, one {# ditë} other {# ditë}} më parë", "relative_time.full.hours": "{number, plural, one {# orë} other {# orë}} më parë", diff --git a/app/javascript/mastodon/locales/sr-Latn.json b/app/javascript/mastodon/locales/sr-Latn.json index 77d3ef7156..4b90d243c2 100644 --- a/app/javascript/mastodon/locales/sr-Latn.json +++ b/app/javascript/mastodon/locales/sr-Latn.json @@ -548,8 +548,6 @@ "privacy_policy.title": "Politika privatnosti", "recommended": "Preporučeno", "refresh": "Osveži", - "regeneration_indicator.label": "Učitavanje…", - "regeneration_indicator.sublabel": "Vaša početna stranica se priprema!", "relative_time.days": "{number} dan.", "relative_time.full.days": "Pre {number, plural, one {# dan} few {# dana} other {# dana}}", "relative_time.full.hours": "pre {number, plural, one {# sat} few {# sata} other {# sati}}", diff --git a/app/javascript/mastodon/locales/sr.json b/app/javascript/mastodon/locales/sr.json index 06290cfcd7..30a4d39810 100644 --- a/app/javascript/mastodon/locales/sr.json +++ b/app/javascript/mastodon/locales/sr.json @@ -548,8 +548,6 @@ "privacy_policy.title": "Политика приватности", "recommended": "Препоручено", "refresh": "Освежи", - "regeneration_indicator.label": "Учитавање…", - "regeneration_indicator.sublabel": "Ваша почетна страница се припрема!", "relative_time.days": "{number} дан.", "relative_time.full.days": "Пре {number, plural, one {# дан} few {# дана} other {# дана}}", "relative_time.full.hours": "пре {number, plural, one {# сат} few {# сата} other {# сати}}", diff --git a/app/javascript/mastodon/locales/sv.json b/app/javascript/mastodon/locales/sv.json index 2cd10bdb1f..cc5e6e47d3 100644 --- a/app/javascript/mastodon/locales/sv.json +++ b/app/javascript/mastodon/locales/sv.json @@ -487,6 +487,8 @@ "lists.replies_policy.followed": "Alla användare som följs", "lists.replies_policy.list": "Medlemmar i listan", "lists.replies_policy.none": "Ingen", + "lists.save": "Spara", + "lists.search": "Sök", "load_pending": "{count, plural, one {# nytt objekt} other {# nya objekt}}", "loading_indicator.label": "Laddar…", "media_gallery.hide": "Dölj", @@ -643,7 +645,9 @@ "notifications_permission_banner.enable": "Aktivera skrivbordsaviseringar", "notifications_permission_banner.how_to_control": "För att ta emot aviseringar när Mastodon inte är öppet, aktivera skrivbordsaviseringar. När de är aktiverade kan du styra exakt vilka typer av interaktioner som aviseras via {icon} -knappen ovan.", "notifications_permission_banner.title": "Missa aldrig något", + "onboarding.follows.back": "Tillbaka", "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.search": "Sök", "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", @@ -681,8 +685,6 @@ "privacy_policy.title": "Integritetspolicy", "recommended": "Rekommenderas", "refresh": "Läs om", - "regeneration_indicator.label": "Laddar…", - "regeneration_indicator.sublabel": "Ditt hemmaflöde förbereds!", "relative_time.days": "{number}d", "relative_time.full.days": "{number, plural, one {# dag} other {# dagar}} sedan", "relative_time.full.hours": "{number, plural, one {# timme} other {# timmar}} sedan", diff --git a/app/javascript/mastodon/locales/ta.json b/app/javascript/mastodon/locales/ta.json index 92fa6b2ebe..afe2627cac 100644 --- a/app/javascript/mastodon/locales/ta.json +++ b/app/javascript/mastodon/locales/ta.json @@ -292,8 +292,6 @@ "privacy.change": "நிலை தனியுரிமை", "privacy.public.short": "பொது", "refresh": "புதுப்பி", - "regeneration_indicator.label": "சுமையேற்றம்…", - "regeneration_indicator.sublabel": "உங்கள் வீட்டு ஊட்டம் தயார் செய்யப்படுகிறது!", "relative_time.days": "{number}நா", "relative_time.hours": "{number}ம", "relative_time.just_now": "இப்பொழுது", diff --git a/app/javascript/mastodon/locales/te.json b/app/javascript/mastodon/locales/te.json index 7a5e1f00fe..94b9f0e6a4 100644 --- a/app/javascript/mastodon/locales/te.json +++ b/app/javascript/mastodon/locales/te.json @@ -198,8 +198,6 @@ "poll_button.remove_poll": "ఎన్నికను తొలగించు", "privacy.change": "స్టేటస్ గోప్యతను సర్దుబాటు చేయండి", "privacy.public.short": "ప్రజా", - "regeneration_indicator.label": "లోడ్ అవుతోంది…", - "regeneration_indicator.sublabel": "మీ హోమ్ ఫీడ్ సిద్ధమవుతోంది!", "relative_time.just_now": "ఇప్పుడు", "reply_indicator.cancel": "రద్దు చెయ్యి", "report.forward": "{target}కి ఫార్వార్డ్ చేయండి", diff --git a/app/javascript/mastodon/locales/th.json b/app/javascript/mastodon/locales/th.json index 4eeb2f853f..a22f3a5fee 100644 --- a/app/javascript/mastodon/locales/th.json +++ b/app/javascript/mastodon/locales/th.json @@ -689,8 +689,6 @@ "privacy_policy.title": "นโยบายความเป็นส่วนตัว", "recommended": "แนะนำ", "refresh": "รีเฟรช", - "regeneration_indicator.label": "กำลังโหลด…", - "regeneration_indicator.sublabel": "กำลังเตรียมฟีดหน้าแรกของคุณ!", "relative_time.days": "{number} วัน", "relative_time.full.days": "{number, plural, other {# วัน}}ที่แล้ว", "relative_time.full.hours": "{number, plural, other {# ชั่วโมง}}ที่แล้ว", diff --git a/app/javascript/mastodon/locales/tok.json b/app/javascript/mastodon/locales/tok.json index 600966596a..b082694fd8 100644 --- a/app/javascript/mastodon/locales/tok.json +++ b/app/javascript/mastodon/locales/tok.json @@ -355,7 +355,6 @@ "poll.votes": "{votes, plural, other {pana #}}", "privacy.direct.long": "jan ale lon toki", "privacy.public.short": "tawa ale", - "regeneration_indicator.label": "ni li kama…", "relative_time.days": "{number}d", "relative_time.full.just_now": "tenpo ni", "relative_time.hours": "{number}h", diff --git a/app/javascript/mastodon/locales/tr.json b/app/javascript/mastodon/locales/tr.json index fa5c91cc78..94d5d78268 100644 --- a/app/javascript/mastodon/locales/tr.json +++ b/app/javascript/mastodon/locales/tr.json @@ -697,8 +697,8 @@ "privacy_policy.title": "Gizlilik Politikası", "recommended": "Önerilen", "refresh": "Yenile", - "regeneration_indicator.label": "Yükleniyor…", - "regeneration_indicator.sublabel": "Ana akışın hazırlanıyor!", + "regeneration_indicator.please_stand_by": "Lütfen bekleyin.", + "regeneration_indicator.preparing_your_home_feed": "Ana akışınız hazırlanıyor…", "relative_time.days": "{number}d", "relative_time.full.days": "{number, plural, one {# gün} other {# gün}} önce", "relative_time.full.hours": "{number, plural, one {# saat} other {# saat}} önce", diff --git a/app/javascript/mastodon/locales/tt.json b/app/javascript/mastodon/locales/tt.json index 8c89e1ad00..ae19e1f376 100644 --- a/app/javascript/mastodon/locales/tt.json +++ b/app/javascript/mastodon/locales/tt.json @@ -327,7 +327,6 @@ "privacy_policy.last_updated": "Соңгы яңарту {date}", "privacy_policy.title": "Хосусыйлык Сәясәте", "refresh": "Яңарту", - "regeneration_indicator.label": "Йөкләү...", "relative_time.days": "{number}к", "relative_time.full.days": "{number, plural, one {# көн} other {# көн}} элек", "relative_time.full.hours": "{number, plural, one {# сәгать} other {# сәгать}} элек", diff --git a/app/javascript/mastodon/locales/uk.json b/app/javascript/mastodon/locales/uk.json index 624de8cd69..922dcc5de6 100644 --- a/app/javascript/mastodon/locales/uk.json +++ b/app/javascript/mastodon/locales/uk.json @@ -669,8 +669,7 @@ "privacy_policy.title": "Політика приватності", "recommended": "Рекомендовано", "refresh": "Оновити", - "regeneration_indicator.label": "Завантаження…", - "regeneration_indicator.sublabel": "Хвилинку, ми готуємо вашу стрічку!", + "regeneration_indicator.please_stand_by": "Будь ласка, очікуйте.", "relative_time.days": "{number}д", "relative_time.full.days": "{number, plural, one {# день} few {# дні} other {# днів}} тому", "relative_time.full.hours": "{number, plural, one {# година} few {# години} other {# годин}} тому", diff --git a/app/javascript/mastodon/locales/vi.json b/app/javascript/mastodon/locales/vi.json index 48c9ab8fbb..2e7943e8b3 100644 --- a/app/javascript/mastodon/locales/vi.json +++ b/app/javascript/mastodon/locales/vi.json @@ -697,8 +697,8 @@ "privacy_policy.title": "Chính sách bảo mật", "recommended": "Đề xuất", "refresh": "Làm mới", - "regeneration_indicator.label": "Đang tải…", - "regeneration_indicator.sublabel": "Trang chủ của bạn đang được cập nhật!", + "regeneration_indicator.please_stand_by": "Hãy chờ đã.", + "regeneration_indicator.preparing_your_home_feed": "Đang chuẩn bị bảng tin…", "relative_time.days": "{number} ngày", "relative_time.full.days": "{number, plural, other {# ngày}}", "relative_time.full.hours": "{number, plural, other {# giờ}}", diff --git a/app/javascript/mastodon/locales/zgh.json b/app/javascript/mastodon/locales/zgh.json index 80ac679405..f71e1a6c41 100644 --- a/app/javascript/mastodon/locales/zgh.json +++ b/app/javascript/mastodon/locales/zgh.json @@ -130,7 +130,6 @@ "poll_button.remove_poll": "ⵙⵙⵉⵜⵢ ⵉⴷⵣ", "privacy.change": "Adjust status privacy", "privacy.public.short": "ⵜⴰⴳⴷⵓⴷⴰⵏⵜ", - "regeneration_indicator.label": "ⴰⵣⴷⴰⵎ…", "relative_time.days": "{number}ⴰⵙ", "relative_time.hours": "{number}ⵙⵔⴳ", "relative_time.just_now": "ⴷⵖⵉ", diff --git a/app/javascript/mastodon/locales/zh-CN.json b/app/javascript/mastodon/locales/zh-CN.json index 666bb54e0b..b8857de6c9 100644 --- a/app/javascript/mastodon/locales/zh-CN.json +++ b/app/javascript/mastodon/locales/zh-CN.json @@ -697,8 +697,8 @@ "privacy_policy.title": "隐私政策", "recommended": "推荐", "refresh": "刷新", - "regeneration_indicator.label": "加载中…", - "regeneration_indicator.sublabel": "你的主页动态正在准备中!", + "regeneration_indicator.please_stand_by": "请稍候。", + "regeneration_indicator.preparing_your_home_feed": "正在为你准备主页时间线...", "relative_time.days": "{number} 天前", "relative_time.full.days": "{number, plural, other {# 天}}前", "relative_time.full.hours": "{number, plural, other {# 小时}}前", diff --git a/app/javascript/mastodon/locales/zh-HK.json b/app/javascript/mastodon/locales/zh-HK.json index 224bc88f26..61c5389aed 100644 --- a/app/javascript/mastodon/locales/zh-HK.json +++ b/app/javascript/mastodon/locales/zh-HK.json @@ -554,8 +554,6 @@ "privacy_policy.title": "私隱政策", "recommended": "推薦", "refresh": "重新整理", - "regeneration_indicator.label": "載入中……", - "regeneration_indicator.sublabel": "你的主頁時間軸正在準備中!", "relative_time.days": "{number}日前", "relative_time.full.days": "{number, plural, one {# 天} other {# 天}}前", "relative_time.full.hours": "{number, plural, one {# 小時} other {# 小時}}前", diff --git a/app/javascript/mastodon/locales/zh-TW.json b/app/javascript/mastodon/locales/zh-TW.json index dbbfb51abf..3917da7197 100644 --- a/app/javascript/mastodon/locales/zh-TW.json +++ b/app/javascript/mastodon/locales/zh-TW.json @@ -697,8 +697,8 @@ "privacy_policy.title": "隱私權政策", "recommended": "推薦設定", "refresh": "重新整理", - "regeneration_indicator.label": "載入中…", - "regeneration_indicator.sublabel": "您的首頁時間軸正在準備中!", + "regeneration_indicator.please_stand_by": "請稍候。", + "regeneration_indicator.preparing_your_home_feed": "正在準備您的首頁時間軸……", "relative_time.days": "{number} 天", "relative_time.full.days": "{number, plural, other {# 天}}前", "relative_time.full.hours": "{number, plural, other {# 小時}}前", diff --git a/config/locales/activerecord.ja.yml b/config/locales/activerecord.ja.yml index 646da1ce9e..90bbd795a1 100644 --- a/config/locales/activerecord.ja.yml +++ b/config/locales/activerecord.ja.yml @@ -40,6 +40,9 @@ ja: data: malformed: は不正です list_account: + attributes: + account_id: + taken: はすでにリストに存在します must_be_following: フォローされているアカウントでなければなりません status: attributes: diff --git a/config/locales/activerecord.pt-PT.yml b/config/locales/activerecord.pt-PT.yml index 60f3def5d3..592e7871f7 100644 --- a/config/locales/activerecord.pt-PT.yml +++ b/config/locales/activerecord.pt-PT.yml @@ -15,6 +15,12 @@ pt-PT: user/invite_request: text: Motivo errors: + attributes: + domain: + invalid: não é um nome de domínio válido + messages: + invalid_domain_on_line: "%{value} não é um nome de domínio válido" + too_many_lines: está acima do limite de %{limit} linhas models: account: attributes: @@ -33,6 +39,11 @@ pt-PT: attributes: data: malformed: está malformado + list_account: + attributes: + account_id: + taken: já está na lista + must_be_following: tem de ser uma conta seguida status: attributes: reblog: diff --git a/config/locales/devise.pt-PT.yml b/config/locales/devise.pt-PT.yml index 1469e7403d..c6e181a2cf 100644 --- a/config/locales/devise.pt-PT.yml +++ b/config/locales/devise.pt-PT.yml @@ -49,17 +49,17 @@ pt-PT: title: Solicitar nova palavra-passe two_factor_disabled: explanation: O início de sessão é agora possível utilizando apenas o endereço de e-mail e a palavra-passe. - subject: 'Mastodon: autenticação de duas etapas desativada' + subject: 'Mastodon: autenticação de dois fatores desativada' subtitle: A autenticação de dois fatores foi desativada para a sua conta. - title: 2FA desativado + title: 2FA desativada two_factor_enabled: explanation: Para iniciar sessão, será necessário um token gerado pela aplicação TOTP emparelhada. - subject: 'Mastodon: autenticação em duas etapas ativada' + subject: 'Mastodon: autenticação de dois fatores ativada' subtitle: A autenticação de dois fatores foi ativada para a sua conta. title: 2FA ativado two_factor_recovery_codes_changed: explanation: Os códigos de recuperação anteriores foram invalidados e foram gerados novos códigos. - subject: 'Mastodon: gerados novos códigos de recuperação em duas etapas' + subject: 'Mastodon: foram gerados novos códigos de recuperação de dois fatores' subtitle: Os códigos de recuperação anteriores foram invalidados e foram gerados novos códigos. title: Códigos de recuperação 2FA alterados unlock_instructions: diff --git a/config/locales/doorkeeper.pt-PT.yml b/config/locales/doorkeeper.pt-PT.yml index e2ac275335..ab536627bd 100644 --- a/config/locales/doorkeeper.pt-PT.yml +++ b/config/locales/doorkeeper.pt-PT.yml @@ -60,6 +60,7 @@ pt-PT: error: title: Ocorreu um erro new: + prompt_html: "%{client_name} gostaria de obter autorização para aceder à sua conta. Só deve aprovar este pedido se reconhecer e confiar nesta fonte." review_permissions: Rever permissões title: Autorização necessária show: diff --git a/config/locales/pl.yml b/config/locales/pl.yml index f1dfbe4f7d..0110fe540d 100644 --- a/config/locales/pl.yml +++ b/config/locales/pl.yml @@ -220,6 +220,7 @@ pl: enable_user: Włącz użytkownika memorialize_account: Upamiętnij konto promote_user: Podnieś uprawnienia + publish_terms_of_service: Opublikuj Regulamin reject_appeal: Odrzuć odwołanie reject_user: Odrzuć użytkownika remove_avatar_user: Usuń awatar @@ -953,6 +954,8 @@ pl: search: Szukaj title: Hashtagi updated_msg: Pomyślnie uaktualniono ustawienia hashtagów + terms_of_service: + draft: Szkic title: Administracja trends: allow: Zezwól @@ -1687,6 +1690,7 @@ pl: scheduled_statuses: over_daily_limit: Przekroczyłeś(-aś) limit %{limit} zaplanowanych wpisów na ten dzień over_total_limit: Przekroczyłeś(-aś) limit %{limit} zaplanowanych wpisów + too_soon: musi to być przyszła data self_destruct: lead_html: Niestety, %{domain} jest permanentnie zamykane. Konta z tego serwera nie będą dostępne, ale można jeszcze odzyskać kopię zapasową danych. title: Ten serwer jest zamykany @@ -1857,6 +1861,8 @@ pl: too_late: Jest za późno na odwołanie się od tego ostrzeżenia tags: does_not_match_previous_name: nie pasuje do poprzedniej nazwy + terms_of_service: + title: Regulamin themes: contrast: Mastodon (Wysoki kontrast) default: Mastodon (Ciemny) diff --git a/config/locales/pt-PT.yml b/config/locales/pt-PT.yml index f739c93394..eefafa90e7 100644 --- a/config/locales/pt-PT.yml +++ b/config/locales/pt-PT.yml @@ -21,6 +21,7 @@ pt-PT: one: Publicação other: Publicações posts_tab_heading: Publicações + self_follow_error: Não é permitido seguir a sua própria conta admin: account_actions: action: Executar acção @@ -186,6 +187,7 @@ pt-PT: create_domain_block: Criar bloqueio de domínio create_email_domain_block: Criar bloqueio de domínio de e-mail create_ip_block: Criar regra de IP + create_relay: Criar retransmissor create_unavailable_domain: Criar domínio indisponível create_user_role: Criar função demote_user: Despromover utilizador @@ -197,18 +199,22 @@ pt-PT: destroy_email_domain_block: Eliminar bloqueio de domínio de e-mail destroy_instance: Purgar domínio destroy_ip_block: Eliminar regra de IP + destroy_relay: Eliminar retransmissor destroy_status: Eliminar publicação destroy_unavailable_domain: Eliminar domínio indisponível destroy_user_role: Eliminar função disable_2fa_user: Desativar 2FA disable_custom_emoji: Desativar emoji personalizado + disable_relay: Desativar retransmissor disable_sign_in_token_auth_user: Desativar token de autenticação por e-mail para o utilizador disable_user: Desativar utilizador enable_custom_emoji: Ativar emoji personalizado + enable_relay: Ativar retransmissor enable_sign_in_token_auth_user: Ativar token de autenticação por e-mail para o utilizador enable_user: Ativar utilizador memorialize_account: Transformar conta num memorial promote_user: Promover utilizador + publish_terms_of_service: Publicar Termos de Serviço reject_appeal: Rejeitar recurso reject_user: Rejeitar utilizador remove_avatar_user: Remover imagem de perfil @@ -246,6 +252,7 @@ pt-PT: 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 uma regra para o IP %{target}" + create_relay_html: "%{name} criou o retransmissor %{target}" create_unavailable_domain_html: "%{name} parou as entregas ao domínio %{target}" create_user_role_html: "%{name} criou a função %{target}" demote_user_html: "%{name} despromoveu o utilizador %{target}" @@ -257,18 +264,22 @@ pt-PT: destroy_email_domain_block_html: "%{name} desbloqueou o domínio de e-mail %{target}" destroy_instance_html: "%{name} purgou o domínio %{target}" destroy_ip_block_html: "%{name} eliminou a regra para o IP %{target}" + destroy_relay_html: "%{name} eliminou o retransmissor %{target}" destroy_status_html: "%{name} removeu a publicação de %{target}" destroy_unavailable_domain_html: "%{name} retomou as entregas ao domínio %{target}" destroy_user_role_html: "%{name} eliminou a função %{target}" disable_2fa_user_html: "%{name} desativou o requerimento de autenticação em dois passos para o utilizador %{target}" disable_custom_emoji_html: "%{name} desativou o emoji %{target}" + disable_relay_html: "%{name} desativou o retransmissor %{target}" disable_sign_in_token_auth_user_html: "%{name} desativou o token de autenticação por e-mail para %{target}" disable_user_html: "%{name} desativou o início de sessão para o utilizador %{target}" enable_custom_emoji_html: "%{name} ativou o emoji %{target}" + enable_relay_html: "%{name} ativou o retransmissor %{target}" enable_sign_in_token_auth_user_html: "%{name} ativou o token de autenticação por e-mail para %{target}" enable_user_html: "%{name} ativou o início de sessão para o utilizador %{target}" memorialize_account_html: "%{name} transformou a conta de %{target} em um memorial" promote_user_html: "%{name} promoveu o utilizador %{target}" + publish_terms_of_service_html: "%{name} publicou atualizações dos termos de serviço" reject_appeal_html: "%{name} rejeitou recurso da decisão de moderação de %{target}" reject_user_html: "%{name} rejeitou a inscrição de %{target}" remove_avatar_user_html: "%{name} removeu a imagem de perfil de %{target}" @@ -291,7 +302,7 @@ pt-PT: update_report_html: "%{name} atualizou a denúncia %{target}" update_status_html: "%{name} atualizou o estado de %{target}" update_user_role_html: "%{name} alterou a função %{target}" - deleted_account: conta apagada + deleted_account: conta eliminada empty: Não foram encontrados registos. filter_by_action: Filtrar por ação filter_by_user: Filtrar por utilizador @@ -726,7 +737,7 @@ pt-PT: manage_taxonomies: Gerir taxonomias manage_taxonomies_description: Permite aos utilizadores rever o conteúdo em tendência e atualizar as configurações de hashtag manage_user_access: Gerir acesso de utilizador - manage_user_access_description: Permite aos utilizadores desativar a autenticação de dois factores de outros utilizadores, alterar o seu e-mail e reiniciar a sua palavra-passe + manage_user_access_description: Permite aos utilizadores desativarem a autenticação de dois fatores de outros utilizadores, alterarem os seus endereços de correio eletrónico e redefinirem as suas palavras-passe manage_users: Gerir utilizadores manage_users_description: Permite aos utilizadores ver os detalhes de outros utilizadores e executar ações de moderação contra eles manage_webhooks: Gerir webhooks @@ -801,7 +812,7 @@ pt-PT: destroyed_msg: Envio do site eliminado com sucesso! software_updates: critical_update: Crítico — por favor, atualize rapidamente - description: Recomenda-se que mantenha a sua instalação do Mastodon atualizada para beneficiar das últimas correções e funcionalidades. Além disso, é por vezes crítico atualizar o Mastodon de forma atempada para evitar problemas de segurança. Por estas razões, o Mastodon verifica se há actualizações a cada 30 minutos e notifica-o de acordo com as suas preferências de notificação por e-mail. + description: Recomenda-se que mantenha a sua instalação do Mastodon atualizada para beneficiar das últimas correções e funcionalidades. Além disso, é por vezes crítico atualizar o Mastodon de forma atempada para evitar problemas de segurança. Por estas razões, o Mastodon verifica as atualizações a cada 30 minutos e irá notificá-lo de acordo com as suas preferências de notificação por e-mail. documentation_link: Saber mais release_notes: Notas de lançamento title: Atualizações disponíveis @@ -817,8 +828,10 @@ pt-PT: back_to_account: Voltar para página da conta back_to_report: Voltar à página da denúncia batch: + add_to_report: 'Adicionar ao relatório #%{id}' remove_from_report: Remover da denúncia report: Denúncia + contents: Conteúdo deleted: Eliminado favourites: Marcadores history: Histórico de versões @@ -827,12 +840,17 @@ pt-PT: media: title: Media metadata: Metadados + no_history: Esta publicação não foi editada no_status_selected: Nenhum estado foi alterado porque nenhum foi selecionado open: Abrir publicação original_status: Publicação original - reblogs: Re-publicacões + reblogs: Reblogues + replied_to_html: Respondeu a %{acct_link} status_changed: Publicação alterada + status_title: Publicado por @%{name} + title: Publicações da conta - @%{name} trending: Em tendência + view_publicly: Visualizar publicamente visibility: Visibilidade with_media: Com media strikes: @@ -849,7 +867,7 @@ pt-PT: appeal_rejected: Recurso rejeitado system_checks: database_schema_check: - message_html: Há migrações de base de dados pendentes. Queira executá-las, para garantir que a aplicação se comporta como o esperado + message_html: Existem migrações de bases de dados pendentes. Execute-as para garantir que a aplicação se comporta como esperado elasticsearch_health_red: message_html: O cluster elasticsearch não está de boa saúde (estado vermelho), as funcionalidades de pesquisa não estão disponíveis elasticsearch_health_yellow: @@ -874,6 +892,9 @@ pt-PT: message_html: Não definiu nenhuma regra para a instância. sidekiq_process_check: message_html: Nenhum processo Sidekiq em execução para a(s) fila(s) %{value}. Reveja a configuração do seu Sidekiq + software_version_check: + action: Ver atualizações disponíveis + message_html: Está disponível uma atualização do Mastodon. software_version_critical_check: action: Ver atualizações disponíveis message_html: Está disponível uma atualização crítica do Mastodon. Por favor, atualize assim que possível. @@ -906,6 +927,35 @@ pt-PT: search: Pesquisar title: Hashtags updated_msg: 'Definições de #etiquetas atualizadas com sucesso' + terms_of_service: + back: Voltar aos Termos do Serviço + changelog: O que mudou + create: Use o seu próprio + current: Atual + draft: Rascunho + generate: Utilizar modelo + generates: + action: Gerar + chance_to_review_html: "Os termos de serviço gerados não serão publicados automaticamente. Terá a possibilidade de rever os resultados. Por favor, preencha os detalhes necessários para prosseguir." + explanation_html: O modelo de termos de serviço fornecido destina-se apenas a fins informativos e não deve ser interpretado como aconselhamento jurídico sobre qualquer assunto. Consulte o seu próprio consultor jurídico sobre a sua situação e questões jurídicas específicas que tenha. + title: Configuração dos Termos de Serviço + history: Histórico + live: Diretamente + no_history: Ainda não há nenhuma alteração registada nos termos de serviço. + no_terms_of_service_html: Atualmente, não tem quaisquer termos de serviço configurados. Os termos de serviço destinam-se a proporcionar clareza e a protegê-lo de potenciais responsabilidades em litígios com os seus utilizadores. + notified_on_html: Utilizadores notificados em %{date} + notify_users: Notificar utilizadores + preview: + explanation_html: 'O e-mail será enviado para %{display_count} utilizadores que se inscreveram antes de %{date}. O texto seguinte será incluído na mensagem de e-mail:' + send_preview: Enviar pré-visualização para %{email} + send_to_all: + one: Enviar %{display_count} e-mail + other: Enviar %{display_count} e-mails + title: Pré-visualizar termos de notificação de serviço + publish: Publicar + published_on_html: Publicado em %{date} + save_draft: Guardar rascunho + title: Termos de Serviço title: Administração trends: allow: Permitir @@ -1096,7 +1146,7 @@ pt-PT: welcome_title: Bem-vindo(a), %{name}! wrong_email_hint: Se este endereço de correio eletrónico não estiver correto, pode alterá-lo nas definições de conta. delete_account: Eliminar conta - delete_account_html: Se deseja eliminar a sua conta, pode continuar aqui. Uma confirmação será solicitada. + delete_account_html: Se pretender eliminar a sua conta, pode fazê-lo aqui. Ser-lhe-á pedida uma confirmação. description: prefix_invited_by_user: "@%{name} convidou-o a juntar-se a esta instância do Mastodon!" prefix_sign_up: Inscreva-se hoje no Mastodon! @@ -1105,7 +1155,7 @@ pt-PT: dont_have_your_security_key: Não tem a sua chave de segurança? forgot_password: Esqueceu-se da palavra-passe? invalid_reset_password_token: Token de modificação da palavra-passe é inválido ou expirou. Por favor, solicita um novo. - link_to_otp: Insira um código de autenticação em duas etapas do seu telemóvel, ou um código de recuperação + link_to_otp: Introduza um código de dois fatores do seu telemóvel ou um código de recuperação link_to_webauth: Usa o teu dispositivo de chave de segurança log_in_with: Iniciar sessão com login: Entrar @@ -1137,6 +1187,7 @@ pt-PT: set_new_password: Editar palavra-passe setup: email_below_hint_html: Verifique a sua pasta de spam ou solicite outra. Pode corrigir o seu endereço de e-mail se estiver errado. + email_settings_hint_html: Clique na hiperligação que enviámos para %{email} para começar a utilizar o Mastodon. Estaremos à espera aqui mesmo. link_not_received: Não recebeu um link? new_confirmation_instructions_sent: Irá receber uma nova mensagem de e-mail com a ligação de confirmação dentro de alguns minutos! title: Verifique a caixa de entrada do seu e-mail @@ -1145,6 +1196,7 @@ pt-PT: title: Iniciar sessão em %{domain} sign_up: manual_review: Inscrições no %{domain} passam por uma revisão manual pelos nossos moderadores. Para nos ajudar a processar o seu pedido de inscrição, escreva um pouco sobre si e o porquê de quer uma conta no %{domain}. + preamble: Com uma conta neste servidor Mastodon, poderá seguir qualquer outra pessoa no fediverso, independentemente do local onde a sua conta está alojada. title: Vamos lá inscrevê-lo em %{domain}. status: account_status: Estado da conta @@ -1156,10 +1208,14 @@ pt-PT: view_strikes: Veja as reprimendas anteriores sobre a sua conta too_fast: Formulário enviado demasiado rapidamente, tente novamente. use_security_key: Usar chave de segurança + user_agreement_html: Eu li e concordo com os termos do serviço e política de privacidade author_attribution: example_title: Texto de exemplo + hint_html: Está a escrever notícias ou artigos de blogue fora do Mastodon? Controle a forma como é creditado quando estes são partilhados no Mastodon. + instructions: 'Certifique-se de que este código está no HTML do seu artigo:' more_from_html: Mais de %{name} - s_blog: Blog de %{name} + s_blog: Blogue de %{name} + then_instructions: Em seguida, adicione o nome de domínio da publicação no campo abaixo. title: Atribuição de autor challenge: confirm: Continuar @@ -1262,7 +1318,7 @@ pt-PT: download: Descarregar o seu arquivo hint_html: Pode pedir um arquivo das suas publicações e ficheiros de media carregados. Os dados no ficheiro exportado estarão no formato ActivityPub, que pode ser lido com qualquer programa compatível. Pode solicitar um arquivo a cada 7 dias. in_progress: A compilar o seu arquivo... - request: Peça o seu arquivo + request: Pedir o seu arquivo size: Tamanho blocks: Bloqueaste bookmarks: Marcadores @@ -1275,7 +1331,7 @@ pt-PT: add_new: Adicionar nova errors: limit: Já destacou o número máximo de hashtags permitido - hint_html: "O que são etiquetas em destaque? Exibidas de forma bem visível no seu perfil público, permitem que as pessoas consultem as suas publicações públicas especificamente sob essas etiquetas. São uma óptima ferramenta para dar seguimento a trabalhos criativos ou projectos de longo prazo." + hint_html: "Coloque as etiquetas mais importantes no seu perfil. Uma excelente ferramenta para acompanhar os seus trabalhos criativos e projetos a longo prazo, as etiquetas em destaque são apresentadas de forma proeminente no seu perfil e permitem um acesso rápido às suas próprias publicações." filters: contexts: account: Perfis @@ -1341,7 +1397,7 @@ pt-PT: today: hoje validation_errors: one: Algo não está correcto. Por favor analise o erro abaixo - other: Algo não está bem. Queira analisar os %{count} erros abaixo + other: Algo ainda não está correto! Reveja os %{count} erros abaixo imports: errors: empty: Ficheiro CSV vazio @@ -1357,6 +1413,44 @@ pt-PT: merge_long: Manter os registos existentes e adicionar novos registos overwrite: Escrever por cima overwrite_long: Substituir os registos atuais pelos novos + overwrite_preambles: + blocking_html: + one: Está prestes a substituir a sua lista de bloqueios com até conta%{count} de %{filename}. + other: Está prestes a substituir a sua lista de bloqueios com até %{count} contas de %{filename}. + bookmarks_html: + one: Está prestes a substituir os seus marcadores com até %{count} publicações de %{filename}. + other: Está prestes a substituir os seus marcadores com até %{count} publicação de %{filename}. + domain_blocking_html: + one: Está prestes a substituir a sua lista de bloqueios de domínio com até %{count} domínio de %{filename}. + other: Está prestes a substituir a sua lista de bloqueios de domínio com até %{count} domínios de %{filename}. + following_html: + one: Está prestes a seguir até %{count} conta de %{filename} e parar de seguir quaisquer outras contas. + other: Está prestes a seguir até %{count} contas de %{filename} e parar de seguir quaisquer outras contas. + lists_html: + one: Está prestes a substituir as suas listas pelo conteúdo de %{filename}. Até %{count} conta serão adicionadas a novas listas. + other: Está prestes a substituir as suas listas pelo conteúdo de %{filename}. Até %{count} contas serão adicionadas a novas listas. + muting_html: + one: Está prestes a substituir a sua lista de conta silenciada com até %{count} conta de %{filename}. + other: Está prestes a substituir a sua lista de contas silenciadas com até %{count} contas de %{filename}. + preambles: + blocking_html: + one: Está prestes a bloquear até %{count} conta de %{filename}. + other: Está prestes a bloquear até %{count} contas de %{filename}. + bookmarks_html: + one: Está prestes a adicionar até %{count} publicação de %{filename} aos seus marcadores. + other: Está prestes a adicionar até %{count} publicações de %{filename} aos seus marcadores. + domain_blocking_html: + one: Está prestes a bloquear até %{count} domínio de %{filename}. + other: Está prestes a bloquear até %{count} domínios de %{filename}. + following_html: + one: Está prestes a seguir até %{count} conta de %{filename}. + other: Está prestes a seguir até %{count} contas de %{filename}. + lists_html: + one: Está prestes a adicionar até %{count} conta do ficheiro %{filename} para as suas listas. Novas listas serão criadas se não existir uma lista onde as adicionar. + other: Está prestes a adicionar até %{count} contas do ficheiro %{filename} para as suas listas. Novas listas serão criadas se não existir uma lista onde as adicionar. + muting_html: + one: Está prestes a silenciar até %{count} conta de %{filename}. + other: Está prestes a silenciar até %{count} contas de %{filename}. preface: Podes importar dados que tenhas exportado de outra instância, como a lista de pessoas que segues ou bloqueadas. recent_imports: Importações recentes states: @@ -1402,23 +1496,23 @@ pt-PT: invited_by: 'Foi convidado por:' max_uses: one: 1 uso - other: "%{count} usos" + other: "%{count} utilizações" max_uses_prompt: Sem limite - prompt: Gerar e partilhar ligações com outras pessoas para permitir acesso a essa instância + prompt: Gerar e partilhar hiperligações com outras pessoas para permitir acesso a essa instância table: expires_at: Expira - uses: Usos + uses: Utilizações title: Convidar pessoas lists: errors: limit: Atingiu o número máximo de listas permitido login_activities: authentication_methods: - otp: aplicação de autenticação em duas etapas + otp: aplicação de autenticação de dois fatores password: palavra-passe sign_in_token: código de segurança de e-mail webauthn: chaves de segurança - description_html: Se vê atividade que não reconhece, considere alterar a sua palavra-passe e ativar a autenticação em duas etapas. + description_html: Se vir atividade que não reconhece, considere alterar a sua palavra-passe e ativar a autenticação de dois fatores. empty: Sem histórico de autenticação disponível failed_sign_in_html: Tentativa falhada de início de sessão com %{method} de %{ip} (%{browser}) successful_sign_in_html: Sessão correctamente iniciada com %{method} de %{ip} (%{browser}) @@ -1427,10 +1521,21 @@ pt-PT: unsubscribe: action: Sim, cancelar subscrição complete: Subscrição Cancelada + confirmation_html: Tem a certeza que deseja cancelar a subscrição para receber %{type} pelo Mastodon em %{domain} no seu e-mail em %{email}? Pode sempre subscrever novamente nas suas definições de notificação por e-mail. + emails: + notification_emails: + favourite: e-mails de notificação de favoritos + follow: e-mails de notificação de seguidor + follow_request: e-mails de pedido de seguidor + mention: e-mails de notificação de menção + reblog: notificações por e-mail de impulsos + resubscribe_html: Se tiver anulado a subscrição por engano, pode voltar a subscrevê-la nas definições de notificação por e-mail. + success_html: Não receberá novamente %{type} do Mastodon em %{domain} para o seu e-mail em %{email}. title: Cancelar subscrição media_attachments: validations: images_and_video: Não é possível anexar um vídeo a uma publicação que já contém imagens + not_found: Media %{ids} não encontrada ou já anexada a outra publicação not_ready: Não é possível anexar ficheiros que ainda não acabaram de ser processados. Tente outra vez daqui a pouco! too_many: Não é possível anexar mais de 4 ficheiros migrations: @@ -1446,7 +1551,7 @@ pt-PT: on_cooldown: Você está no período de espera followers_count: Seguidores no momento da migração incoming_migrations: A migrar de uma conta diferente - incoming_migrations_html: Para migrar de outra conta para esta, primeiro você precisa criar um pseudónimo. + incoming_migrations_html: Para passar de outra conta para esta, primeiro é necessário criar um pseudónimo de conta. moved_msg: A sua conta está agora a ser redirecionada para %{acct} e os seus seguidores estão a ser transferidos. not_redirecting: A sua conta não está atualmente a ser redirecionada para nenhuma outra conta. on_cooldown: Migrou recentemente a sua conta. Esta função ficará disponível novamente em %{count} dias. @@ -1499,14 +1604,16 @@ pt-PT: poll: subject: A sondagem de %{name} encerrou reblog: - body: 'A sua publicação foi reforçada por %{name}:' - subject: "%{name} reforçou a sua publicação" - title: Novo reforço + body: 'A sua publicação foi impulsionada por %{name}:' + subject: "%{name} impulsionou a sua publicação" + title: Novo impulso status: subject: "%{name} acabou de publicar" update: subject: "%{name} editou uma publicação" notifications: + administration_emails: Notificações por e-mail do administrador + email_events: Eventos para notificações por e-mail email_events_hint: 'Selecione os casos para os quais deseja receber notificações:' number: human: @@ -1520,7 +1627,7 @@ pt-PT: trillion: T otp_authentication: code_hint: Introduz o código gerado pela tua aplicação de autenticação para confirmar - description_html: Se ativar a autenticação em duas etapas, para entrar na sua conta terá de ter consigo o seu telefone, que vai gerar os tokens necessários à validação do seu acesso. + description_html: Se ativar a autenticação de dois fatores utilizando uma aplicação de autenticação, para iniciar sessão terá de estar na posse do seu telemóvel, que gerará tokens para introduzir. enable: Ativar instructions_html: "Digitalize este código QR no Google Authenticator ou numa aplicação TOTP semelhante a partir do seu telemóvel. A partir desse momento, essa aplicação irá gerar tokens que terá que inserir para aceder à sua conta." manual_instructions: 'Se não conseguir digitalizar o código QR e precisar de o inserir manualmente, eis o código por extenso:' @@ -1600,6 +1707,7 @@ pt-PT: scheduled_statuses: over_daily_limit: Excedeste o limite de %{limit} publicações agendadas para esse dia over_total_limit: Tu excedeste o limite de %{limit} publicações agendadas + too_soon: a data tem de ser no futuro self_destruct: lead_html: Infelizmente, %{domain} vai fechar definitivamente. Se lá tinha conta, não pode continuar a usá-la, mas ainda pode pedir uma cópia dos seus dados. title: Este servidor vai fechar @@ -1653,23 +1761,25 @@ pt-PT: account: Conta account_settings: Definições da conta aliases: Pseudónimos da conta - appearance: Aspecto + appearance: Aparência authorized_apps: Aplicações autorizadas back: Voltar ao Mastodon delete: Eliminação da conta development: Desenvolvimento edit_profile: Editar perfil + export: Exportar featured_tags: Etiquetas destacadas import: Importar import_and_export: Importar e exportar migrate: Migração de conta + notifications: Notificações por e-mail preferences: Preferências profile: Perfil relationships: Seguindo e seguidores - severed_relationships: Relações cessadas + severed_relationships: Relações cortadas statuses_cleanup: Remoção automática da publicação strikes: Punições de moderação - two_factor_authentication: Autenticação em duas etapas + two_factor_authentication: Autenticação de dois fatores webauthn_authentication: Chaves de segurança severed_relationships: download: Transferir (%{count}) @@ -1694,7 +1804,7 @@ pt-PT: video: one: "%{count} vídeo" other: "%{count} vídeos" - boosted_from_html: Reforçado por %{acct_link} + boosted_from_html: Impulsionado por %{acct_link} content_warning: 'Aviso de conteúdo: %{warning}' default_language: Igual ao idioma da interface disallowed_hashtags: @@ -1708,7 +1818,7 @@ pt-PT: direct: Publicações visíveis apenas para utilizadores mencionados não podem ser afixadas limit: Já afixaste a quantidade máxima de publicações ownership: Não podem ser afixadas publicações doutras pessoas - reblog: Não pode afixar um reforço + reblog: Não é possível fixar um impulso title: '%{name}: "%{quote}"' visibilities: direct: Direto @@ -1724,9 +1834,9 @@ pt-PT: exceptions: Exceções explanation: Como apagar publicações é uma operação custosa, isto é feito lentamente ao longo do tempo, quando o servidor não está ocupado. Por esta razão, as suas publicações podem ser apagadas um pouco depois de atingirem o limite de idade definido. ignore_favs: Ignorar marcadores - ignore_reblogs: Ignorar reforços + ignore_reblogs: Ignorar os impulsos interaction_exceptions: Exceções baseadas em interações - interaction_exceptions_explanation: Note que não há garantia de que as publicações sejam excluídas se ficarem abaixo do limite de favoritos ou partilhas após as ter verificado uma vez. + interaction_exceptions_explanation: Tenha em atenção que não há garantia de que as mensagens sejam eliminadas se ficarem abaixo do limite de favoritos ou de impulsionamento depois de os terem ultrapassado. keep_direct: Manter mensagens diretas keep_direct_hint: Não apaga nenhuma das suas mensagens diretas keep_media: Manter publicações com anexos de multimédia @@ -1751,8 +1861,8 @@ pt-PT: min_age_label: Limite de idade min_favs: Manter pelo menos as publicações dos marcadores min_favs_hint: Não elimina nenhuma das suas publicações que tenha recebido pelo menos este número de favoritos. Deixe em branco para eliminar publicações, independentemente do seu número de favoritos - min_reblogs: Manter as publicações reforçadas mais de - min_reblogs_hint: Não apaga nenhuma das suas publicações que tenha sido partilhada mais do que este número de vezes. Deixe em branco para apagar as publicações, independentemente do número de partilhas + min_reblogs: Manter as publicações impulsionadas, pelo menos + min_reblogs_hint: Não elimina nenhuma das suas mensagens que tenha sido impulsionada pelo menos este número de vezes. Deixe em branco para apagar as mensagens independentemente do número de impulsionamentos stream_entries: sensitive_content: Conteúdo problemático strikes: @@ -1760,10 +1870,12 @@ pt-PT: too_late: É tarde demais para recorrer desta reprimenda tags: does_not_match_previous_name: não coincide com o nome anterior + terms_of_service: + title: Termos de Serviço themes: - contrast: Mastodon (Elevado contraste) - default: Mastodon (Escuro) - mastodon-light: Mastodon (Claro) + contrast: Mastodon (alto contraste) + default: Mastodon (escuro) + mastodon-light: Mastodon (claro) system: Automático (usar tema do sistema) time: formats: @@ -1778,16 +1890,16 @@ pt-PT: two_factor_authentication: add: Adicionar disable: Desactivar autenticação por dois factores (2FA) - disabled_success: Autenticação em duas etapas correctamente desactivada + disabled_success: Autenticação de dois fatores desativada com sucesso edit: Editar - enabled: A autenticação em duas etapas está ativada - enabled_success: Autenticação em duas etapas correctamente activada + enabled: A autenticação de dois fatores está ativada + enabled_success: Autenticação de dois fatores ativada com sucesso generate_recovery_codes: Gerar códigos para recuperar conta lost_recovery_codes: Os códigos de recuperação permitem que recupere o acesso à sua conta caso perca o seu telemóvel. Se perder os códigos de recuperação, pode criar uns novos aqui. Os seus códigos antigos serão revogados. - methods: Métodos de autenticação em duas etapas + methods: Métodos de autenticação de dois fatores otp: Aplicação de autenticação recovery_codes: Cópia de segurança dos códigos de recuperação - recovery_codes_regenerated: Códigos de recuperação foram correctamente gerados + recovery_codes_regenerated: Os códigos de recuperação foram corretamente gerados recovery_instructions_html: Se perder o seu telemóvel, poderá usar um dos códigos de recuperação para voltar a ter acesso à sua conta. Guarde os códigos de recuperação em lugar seguro. Por exemplo, pode imprimi-los e guardá-los junto doutros documentos importantes. webauthn: Chaves de segurança user_mailer: @@ -1809,7 +1921,7 @@ pt-PT: title: Arquivo de ficheiros failed_2fa: details: 'Aqui estão os detalhes da tentativa de entrada:' - explanation: Alguém tentou entrar em sua conta mas forneceu um segundo fator de autenticação inválido. + explanation: Alguém tentou iniciar sessão na sua conta, mas forneceu um segundo fator de autenticação inválido. further_actions_html: Se não foi você, recomendamos que %{action} imediatamente, pois pode ter sido comprometido. subject: Falha na autenticação do segundo fator title: Falha na autenticação do segundo fator @@ -1820,6 +1932,15 @@ pt-PT: further_actions_html: Se não foi você, recomendamos que %{action} imediatamente e ative a autenticação de dois fatores para manter a sua conta segura. subject: A sua conta foi acedida a partir dum endereço IP novo title: Um início de sessão novo + terms_of_service_changed: + agreement: Ao continuar a utilizar %{domain}, concorda com estes termos. Se discordar dos termos atualizados, poderá rescindir o seu acordo com %{domain} a qualquer momento, eliminando a sua conta. + changelog: 'Em resumo, eis o que esta atualização significa para si:' + description: 'Está a receber esta mensagem de correio eletrónico porque estamos a fazer algumas alterações aos nossos termos de serviço em %{domain}. Recomendamos que reveja os termos atualizados na íntegra aqui:' + description_html: Está a receber esta mensagem de correio eletrónico porque estamos a fazer algumas alterações aos nossos termos de serviço em %{domain}. Recomendamos que reveja os termos atualizados na íntegra aqui. + sign_off: A equipa de %{domain} + subject: Atualizações dos nossos termos de serviço + subtitle: Os termos de serviço de %{domain} estão a mudar + title: Atualização importante warning: appeal: Submeter um recurso appeal_description: Se acha que isso é um erro, pode submeter um recurso para a equipa de %{instance}. @@ -1827,8 +1948,8 @@ pt-PT: spam: Spam violation: O conteúdo infringe as seguintes diretrizes da comunidade explanation: - delete_statuses: Algumas das suas publicações foram consideradas como infractoras duma ou mais diretrizes da comunidade, e subsequentemente removidas pelos moderadores de %{instance}. - disable: Já não pode utilizar a sua conta, mas o seu perfil e outros dados permanecem intactos. Pode solicitar uma cópia dos seus dados, alterar as definições da conta, ou que a sua conta seja apagada. + delete_statuses: Algumas das suas mensagens foram consideradas como violando uma ou mais diretrizes da comunidade e foram subsequentemente removidas pelos moderadores do %{instance}. + disable: Já não pode utilizar a sua conta, mas o seu perfil e outros dados permanecem intactos. Pode solicitar uma cópia de segurança dos seus dados, alterar as definições da conta ou eliminar a sua conta. mark_statuses_as_sensitive: Algumas das suas publicações foram marcadas como problemáticos pelos moderadores de %{instance}. Isto significa que as pessoas terão de tocar nas publicações para que possa ser apresentada uma pré-visualização. No futuro, quando publicar, lembre-se que pode você próprio marcar os media como problemáticos. sensitive: A partir de agora, todos os ficheiros de media que carregue serão marcados como problemáticos e escondidos sob um aviso pedido para tocar para os ver. silence: Pode ainda utilizar a sua conta mas apenas as pessoas que já o seguem poderão ver as suas mensagens neste servidor, e poderá ser excluído de várias funcionalidades de divulgação. No entanto, outros poderão ainda segui-lo manualmente. @@ -1859,7 +1980,7 @@ pt-PT: checklist_subtitle: 'Vamos começar nesta nova fronteira social:' checklist_title: Checklist de Boas-vindas edit_profile_action: Personalizar - edit_profile_step: Aumente suas interações tendo um perfil completo. + edit_profile_step: Aumente as suas interações com um perfil completo. edit_profile_title: Personalize seu perfil explanation: Aqui estão algumas dicas para começar feature_action: Mais informações @@ -1886,7 +2007,7 @@ pt-PT: post_action: Compor post_step: Diga olá para o mundo com texto, fotos, vídeos ou sondagens. post_title: Faça a sua primeira publicação - share_action: Compartilhar + share_action: Partilhar share_step: Diga aos seus amigos como te encontrar no Mastodon. share_title: Compartilhe seu perfil de Mastodon sign_in_action: Iniciar sessão @@ -1895,17 +2016,19 @@ pt-PT: users: follow_limit_reached: Não pode seguir mais do que %{limit} pessoas go_to_sso_account_settings: Ir para as definições de conta do seu fornecedor de identidade - invalid_otp_token: Código de autenticação inválido + invalid_otp_token: Código de dois fatores inválido otp_lost_help_html: Se perdeu o acesso a ambos, pode entrar em contacto com %{email} rate_limited: Demasiadas tentativas de autenticação, tente novamente mais tarde. + seamless_external_login: A sessão foi iniciada através de um serviço externo, pelo que as definições de palavra-passe e e-mail não estão disponíveis. signed_in_as: 'Registado como:' verification: - extra_instructions_html: Dica: A ligação no seu site pode ser invisível. A parte importante é rel="me" que impede a personificação em sites com conteúdo gerado pelo utilizador. Pode até utilizar uma etiqueta link no cabeçalho da página ao invés de a, mas o HTML deve ser acessível sem executar JavaScript. + extra_instructions_html: Dica: a hiperligação no seu site pode ser invisível. A parte importante é rel="me" que impede a falsificação de identidade em sítios na web com conteúdos gerados pelos utilizadores. Pode até utilizar uma etiqueta link no cabeçalho da página ao invés de a, mas o HTML deve ser acessível sem executar JavaScript. here_is_how: Veja como - hint_html: "Verificar a sua identidade no Mastodon é para todos. Baseado em normas públicas da web, agora e para sempre gratuitas. Tudo o que precisa é de um site pessoal pelo qual as pessoas o reconheçam. Quando coloca no seu perfil uma ligação para esse site, vamos verificar que o site tem uma ligação de volta para o seu perfil e mostrar um indicador visual." + hint_html: "Verificar a sua identidade no Mastodon é para todos. Baseado em normas públicas da web, agora e para sempre gratuitas. Tudo o que precisa é de um site pessoal pelo qual as pessoas o reconheçam. Quando coloca no seu perfil uma hiperligação para esse site, vamos verificar que o site tem uma hiperligação de volta para o seu perfil e mostrar um indicador visual." instructions_html: Copie e cole o código abaixo no HTML do seu site. Em seguida, adicione o endereço do seu site num dos campos extras no seu perfil, na aba "Editar perfil" e guarde as alterações. verification: Verificação verified_links: As suas ligações verificadas + website_verification: Verificação do sítio web webauthn_credentials: add: Adicionar nova chave de segurança create: @@ -1921,5 +2044,5 @@ pt-PT: nickname_hint: Introduza a alcunha da sua nova chave de segurança not_enabled: Ainda não ativou o WebAuthn not_supported: Este navegador não funciona com chaves de segurança - otp_required: Para usar chaves de segurança, por favor ative primeiro a autenticação em duas etapas. + otp_required: Para utilizar chaves de segurança, ative primeiro a autenticação de dois fatores. registered_on: Registado em %{date} diff --git a/config/locales/ru.yml b/config/locales/ru.yml index 064b4ad911..d0e851c110 100644 --- a/config/locales/ru.yml +++ b/config/locales/ru.yml @@ -220,7 +220,7 @@ ru: enable_user: Разморозка пользователей memorialize_account: Присвоение пользователям статуса «мемориала» promote_user: Повышение пользователей - publish_terms_of_service: Публиковать условия использования + publish_terms_of_service: Опубликование пользовательского соглашения reject_appeal: Отклонение обжалований reject_user: Отклонение регистраций remove_avatar_user: Удаление аватаров @@ -285,6 +285,7 @@ ru: enable_user_html: "%{name} разморозил(а) пользователя %{target}" memorialize_account_html: "%{name} перевел(а) учётную запись пользователя %{target} в статус памятника" promote_user_html: "%{name} повысил(а) пользователя %{target}" + publish_terms_of_service_html: "%{name} опубликовал(а) обновление пользовательского соглашения" reject_appeal_html: "%{name} отклонил(а) обжалование действий модерации от %{target}" reject_user_html: "%{name} отклонил(а) регистрацию %{target}" remove_avatar_user_html: "%{name} убрал(а) аватарку пользователя %{target}" @@ -955,13 +956,33 @@ ru: title: Хэштеги updated_msg: Настройки хэштега обновлены terms_of_service: + back: Назад к пользовательскому соглашению changelog: Что изменилось - current: Текущий + create: Использовать свой текст + current: Действующее draft: Черновик generate: Использовать шаблон generates: action: Генерировать + chance_to_review_html: "Сгенерированное пользовательское соглашение не будет опубликовано автоматически. У вас будет возможность просмотреть результат. Введите все необходимые сведения, чтобы продолжить." + title: Создание пользовательского соглашения history: История + live: Действует + notified_on_html: 'Дата уведомления пользователей: %{date}' + notify_users: Уведомить пользователей + preview: + explanation_html: 'Сообщение будет отравлено %{display_count} пользователям, которые зарегистрировались до %{date}. В теле письма будет указан следующий текст:' + send_preview: Отправить предпросмотр на %{email} + send_to_all: + few: Отправить %{display_count} сообщения + many: Отправить %{display_count} сообщений + one: Отправить %{display_count} сообщение + other: Отправить %{display_count} сообщений + title: Предпросмотр уведомления об изменении пользовательского соглашения + publish: Опубликовать + published_on_html: 'Дата публикации: %{date}' + save_draft: Сохранить черновик + title: Пользовательское соглашение title: Администрирование trends: allow: Разрешить @@ -1201,6 +1222,7 @@ ru: set_new_password: Задать новый пароль setup: email_below_hint_html: Проверьте папку "Спам" или запросите другую. Вы можете исправить свой адрес электронной почты, если он неправильный. + email_settings_hint_html: Чтобы начать пользоваться Mastodon, пройдите по ссылке, которую мы отправили на %{email}. А мы пока подождём тут. link_not_received: Не получили ссылку? new_confirmation_instructions_sent: Через несколько минут вы получите новое письмо со ссылкой для подтверждения! title: Проверьте свой почтовый ящик @@ -1209,6 +1231,7 @@ ru: title: Войти в %{domain} sign_up: manual_review: Регистрация на %{domain} проходит через ручную проверку нашими модераторами. Чтобы помочь нам обработать вашу регистрацию, напишите немного о себе и о том, почему вы хотите получить аккаунт на %{domain}. + preamble: С учётной записью на этом сервере Mastodon вы сможете подписываться на всех других людей в федиверсе вне зависимости от того, где находятся их учётные записи. title: Зарегистрируйтесь в %{domain}. status: account_status: Статус учётной записи @@ -1220,6 +1243,7 @@ ru: view_strikes: Просмотр предыдущих замечаний в адрес вашей учетной записи too_fast: Форма отправлена слишком быстро, попробуйте еще раз. use_security_key: Использовать ключ безопасности + user_agreement_html: Мной прочитаны и принятыпользовательское соглашение и политика конфиденциальности author_attribution: example_title: Образец текста hint_html: Публикуете ли вы свои статьи где-либо ещё кроме Mastodon? Если да, то ваше авторство может быть упомянуто, когда ими делятся в Mastodon. @@ -1929,6 +1953,8 @@ ru: too_late: Слишком поздно обжаловать это замечание tags: does_not_match_previous_name: не совпадает с предыдущим именем + terms_of_service: + title: Пользовательское соглашение themes: contrast: Mastodon (высококонтрастная) default: Mastodon (тёмная) @@ -1989,6 +2015,15 @@ ru: further_actions_html: Если это были не вы, рекомендуем вам немедленно %{action} и включить двухфакторную авторизацию, чтобы обезопасить свою учётную запись. subject: В вашу учётную запись был выполнен вход с нового IP-адреса title: Выполнен вход + terms_of_service_changed: + agreement: Продолжая использовать %{domain}, вы соглашаетесь с этими условиями. Если вы не согласны с новыми условиями, вы в любой момент можете удалить вашу учётную запись на %{domain}. + changelog: 'Вот что обновление условий будет значит для вас в общих чертах:' + description: 'Вы получили это сообщение, потому что мы внесли некоторые изменения в пользовательское соглашение %{domain}. Рекомендуем вам ознакомиться с обновлёнными условиями по ссылке:' + description_html: Вы получили это сообщение, потому что мы внесли некоторые изменения в пользовательское соглашение %{domain}. Рекомендуем вам ознакомиться с обновлёнными условиями. + sign_off: Ваш %{domain} + subject: Обновления наших условий использования + subtitle: На %{domain} изменилось пользовательское соглашение + title: Важное обновление warning: appeal: Обжаловать appeal_description: Если вы считаете, что это ошибка, вы можете обратиться к поддержке %{instance}. diff --git a/config/locales/simple_form.ja.yml b/config/locales/simple_form.ja.yml index 4d1b504a1c..ba619dd37b 100644 --- a/config/locales/simple_form.ja.yml +++ b/config/locales/simple_form.ja.yml @@ -60,6 +60,7 @@ ja: setting_display_media_default: 閲覧注意としてマークされたメディアは隠す setting_display_media_hide_all: メディアを常に隠す setting_display_media_show_all: メディアを常に表示する + setting_system_scrollbars_ui: Safari/Chromeベースのデスクトップブラウザーでのみ有効です setting_use_blurhash: ぼかしはメディアの色を元に生成されますが、細部は見えにくくなっています setting_use_pending_items: 新着があってもタイムラインを自動的にスクロールしないようにします username: アルファベット大文字と小文字、数字、アンダーバー「_」が使えます @@ -132,6 +133,14 @@ ja: terms_of_service: changelog: Markdown 記法を利用できます。 text: Markdown 記法を利用できます。 + terms_of_service_generator: + admin_email: 法的通知とは、異議申し立て通知、裁判所命令、削除要請、法執行機関による要請などをいいます。 + arbitration_address: 上記住所と同じでもかまいません。電子メールを使用する場合は「N/A」とすることができます。 + arbitration_website: ウェブフォームでもかまいません。電子メールを使用する場合は「N/A」とすることができます。 + dmca_address: 米国の運営者の場合は、DMCA Designated Agent Directory(DMCA指定代理人ディレクトリ)に登録のある住所を使用してください。申請を行えば記載を私書箱とすることも可能で、その場合はDMCA Designated Agent Post Office Box Waiver Request(DMCA指定代理人の郵便私書箱による免除申請)によって著作権局にメールを送信し、あなたが個人のコンテンツ管理者であって、行った措置に対して報復を受けるおそれがあり、住所を非公開とするために私書箱を使用する必要がある旨を伝えてください。 + dmca_email: 上記「法的通知を受け取るメールアドレス」と同じものでもかまいません。 + domain: あなたの提供するこのオンラインサービスの識別名です。 + jurisdiction: 運営責任者が居住する国を記載します。企業や他の団体である場合は、その組織の所在国に加えて、市・区・州などの地域を記載します。 user: chosen_languages: 選択すると、選択した言語の投稿のみが公開タイムラインに表示されるようになります role: そのロールは、ユーザーが持つ権限を制御します。 @@ -226,6 +235,7 @@ ja: setting_hide_network: 繋がりを隠す setting_reduce_motion: アニメーションの動きを減らす setting_system_font_ui: システムのデフォルトフォントを使う + setting_system_scrollbars_ui: システムのデフォルトのスクロールバーを使う setting_theme: サイトテーマ setting_trends: 本日のトレンドタグを表示する setting_unfollow_modal: フォローを解除する前に確認ダイアログを表示する @@ -324,7 +334,13 @@ ja: changelog: 変更箇所 text: サービス利用規約 terms_of_service_generator: + admin_email: 法的通知を受け取るメールアドレス + arbitration_address: 仲裁通知の送付先住所 + arbitration_website: 仲裁通知の送信用ウェブサイト + dmca_address: DMCA/著作権通知の送付先住所 + dmca_email: DMCA/著作権通知の送付先メールアドレス domain: ドメイン + jurisdiction: 裁判管轄 user: role: ロール time_zone: タイムゾーン diff --git a/config/locales/simple_form.pt-PT.yml b/config/locales/simple_form.pt-PT.yml index a172ed2752..8b6bc7c078 100644 --- a/config/locales/simple_form.pt-PT.yml +++ b/config/locales/simple_form.pt-PT.yml @@ -3,12 +3,14 @@ pt-PT: simple_form: hints: account: + attribution_domains_as_text: Um por linha. Protege contra falsas atribuições. discoverable: As suas publicações e perfil públicos podem ser destacados ou recomendados em várias áreas do Mastodon e o seu perfil pode ser sugerido a outros utilizadores. display_name: O seu nome completo ou o seu nome divertido. fields: A sua página inicial, os seus pronomes, idade e tudo o que quiser. 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 poderão segui-lo sem pedir aprovação. Desmarque se pretender rever os pedidos de seguimento e escolha se pretende aceitar ou rejeitar novos seguidores. account_alias: acct: Especifique o utilizador@domínio da conta de onde você deseja migrar account_migration: @@ -52,12 +54,13 @@ pt-PT: password: Use pelo menos 8 caracteres phrase: Será correspondido independentemente da capitalização ou do aviso de conteúdo duma publicação scopes: Quais as API a que a aplicação terá permissão para aceder. Se selecionar um âmbito de nível superior, não precisa de selecionar âmbitos individuais. - setting_aggregate_reblogs: Não mostrar novos reforços de publicações recentemente reforçadas (só afecta publicações acabadas de reforçar) + setting_aggregate_reblogs: Não mostrar os novos impulsos para publicações que tenham sido recentemente impulsionadas (apenas afeta os impulsos recentemente recebidos) setting_always_send_emails: Normalmente as notificações por e-mail não serão enviadas quando estiver a utilizar ativamente o Mastodon setting_default_sensitive: Media problemática oculta por padrão, pode ser revelada com um clique setting_display_media_default: Esconder media marcada como problemática setting_display_media_hide_all: Esconder sempre toda a media setting_display_media_show_all: Mostrar sempre a media + setting_system_scrollbars_ui: Aplica-se apenas a navegadores de desktop baseados no Safari e Chrome setting_use_blurhash: Os gradientes são baseados nas cores das imagens escondidas, mas ofuscam quaisquer pormenores setting_use_pending_items: Ocultar atualizações da cronologia por detrás dum clique, em vez de rolar automaticamente o fluxo username: Pode utilizar letras, números e sublinhados @@ -80,7 +83,7 @@ pt-PT: backups_retention_period: Os utilizadores têm a possibilidade de gerar arquivos das suas mensagens para descarregar mais tarde. Quando definido para um valor positivo, estes arquivos serão automaticamente eliminados do seu armazenamento após o número de dias especificado. bootstrap_timeline_accounts: Estas contas serão destacadas no topo das recomendações aos novos utilizadores. closed_registrations_message: Apresentado quando as inscrições estiverem encerradas - content_cache_retention_period: Todas as publicações de outros servidores (incluindo boosts e respostas) serão eliminadas após o número de dias especificado, independentemente de qualquer interação do utilizador local com essas publicações. Isto inclui publicações em que um utilizador local as tenha marcado ou favoritado. As menções privadas entre utilizadores de instâncias diferentes também se perderão e serão impossíveis de restaurar. A utilização desta definição destina-se a instâncias para fins especiais e quebra muitas expectativas dos utilizadores quando implementada para utilização geral. + content_cache_retention_period: Todas as mensagens de outros servidores (incluindo impulsos e respostas) serão eliminadas após o número de dias especificado, independentemente de qualquer interação do utilizador local com essas mensagens. Isto inclui mensagens em que um utilizador local as tenha marcado ou favoritos. As menções privadas entre utilizadores de instâncias diferentes também se perderão e serão impossíveis de restaurar. A utilização desta definição destina-se a instâncias para fins especiais e quebra muitas expectativas dos utilizadores quando implementada para utilização geral. custom_css: Pode aplicar estilos personalizados na versão web do Mastodon. favicon: WEBP, PNG, GIF ou JPG. Substitui o ícone de favorito padrão do Mastodon por um ícone personalizado. mascot: Sobrepõe-se à ilustração na interface web avançada. @@ -120,13 +123,24 @@ pt-PT: hint: Opcional. Forneça mais detalhes sobre a regra text: Descreva uma regra ou requisito para os utilizadores nesta instância. Tente mantê-la curta e simples sessions: - otp: 'Insira o código de autenticação em duas etapas gerado pelo seu telemóvel ou use um dos seus códigos de recuperação:' + otp: 'Insira o código de autenticação de dois fatores gerado pelo seu telemóvel ou use um dos seus códigos de recuperação:' webauthn: Se for uma chave USB tenha certeza de inseri-la e, se necessário, toque nela. settings: indexable: A sua página de perfil pode aparecer nos resultados de pesquisa no Google, Bing e outros. show_application: Independentemente disso será sempre capaz de ver em que aplicação publicou a sua mensagem. tag: name: Só pode alterar a capitalização das letras, por exemplo, para torná-las mais legíveis + terms_of_service: + changelog: Pode ser estruturado com sintaxe Markdown. + text: Pode ser estruturado com sintaxe Markdown. + terms_of_service_generator: + admin_email: Os avisos legais incluem contra-avisos, ordens judiciais, pedidos de remoção e pedidos de aplicação da lei. + arbitration_address: Pode ser o mesmo que o endereço físico acima ou “N/A” se utilizar e-mail + arbitration_website: Pode ser um formulário web ou “N/A” se for utilizado o e-mail + dmca_address: Para operadores dos EUA, utilize o endereço registado no Diretório de Agentes Designados DMCA. A listagem de uma caixa postal está disponível mediante pedido direto. Utilize o DMCA Designated Agent Post Office Box Waiver Request para enviar uma mensagem de correio eletrónico ao Copyright Office e descreva que é um moderador de conteúdos baseado em casa que receia vingança ou represálias pelas suas acções e que necessita de utilizar uma caixa postal para retirar o seu endereço de casa da vista do público. + dmca_email: Pode ser o mesmo e-mail utilizado para “Endereço de e-mail para avisos legais” acima + domain: Identificação única do serviço online que está a prestar. + jurisdiction: Indique o país de residência de quem paga as contas. Se se tratar de uma empresa ou outra entidade, indique o país onde está constituída, bem como a cidade, região, território ou estado, consoante o caso. user: chosen_languages: Quando selecionado, só serão mostradas nas cronologias públicas as publicações nos idiomas escolhidos role: A função controla as permissões que o utilizador tem. @@ -142,6 +156,7 @@ pt-PT: url: Para onde os eventos serão enviados labels: account: + attribution_domains_as_text: Sites autorizados a atribuir-lhe crédito discoverable: Destacar perfil e publicações nos algoritmos de descoberta fields: name: Rótulo @@ -177,7 +192,7 @@ pt-PT: appeal: text: Explique porque esta decisão deve ser revertida defaults: - autofollow: Convidar para seguir a tua conta + autofollow: Convidar para seguir a sua conta avatar: Imagem de perfil bot: Esta é uma conta robô chosen_languages: Filtrar idiomas @@ -198,14 +213,14 @@ pt-PT: max_uses: Número máximo de utilizações new_password: Nova palavra-passe note: Biografia - otp_attempt: Código de autenticação em duas etapas + otp_attempt: Código de autenticação de dois fatores password: Palavra-passe phrase: Palavra-chave ou frase setting_advanced_layout: Ativar interface web avançada - setting_aggregate_reblogs: Agrupar reforços em cronologias - setting_always_send_emails: Enviar sempre notificações de email + setting_aggregate_reblogs: Agrupar impulsos em linhas de tempo + setting_always_send_emails: Enviar sempre notificações por e-mail setting_auto_play_gif: Reproduzir GIF automaticamente - setting_boost_modal: Solicitar confirmação antes de partilhar uma publicação + setting_boost_modal: Mostrar caixa de diálogo de confirmação antes de impulsionar setting_default_language: Idioma de publicação setting_default_privacy: Privacidade da publicação setting_default_sensitive: Marcar sempre os media como problemáticos @@ -218,8 +233,9 @@ pt-PT: setting_display_media_show_all: Mostrar todos setting_expand_spoilers: Expandir sempre as publicações marcadas com avisos de conteúdo setting_hide_network: Esconder a tua rede - setting_reduce_motion: Reduz movimento em animações + setting_reduce_motion: Reduzir movimento em animações setting_system_font_ui: Usar o tipo de letra padrão do sistema + setting_system_scrollbars_ui: Utilizar a barra de deslocação predefinida do sistema setting_theme: Tema do sítio setting_trends: Mostrar as tendências de hoje setting_unfollow_modal: Solicitar confirmação antes de deixar de seguir alguém @@ -294,7 +310,7 @@ pt-PT: follow_request: Alguém pediu para ser seu seguidor mention: Alguém o mencionou pending_account: Uma nova conta aguarda aprovação - reblog: Alguém reforçou uma publicação sua + reblog: Alguém impulsionou uma publicação sua report: Uma nova denúncia foi submetida software_updates: all: Notificar todas as atualizações @@ -314,6 +330,17 @@ pt-PT: name: Etiqueta trendable: Permitir que esta etiqueta apareça nas tendências usable: Permitir que as publicações usem esta hashtag localmente + terms_of_service: + changelog: O que mudou? + text: Termos do serviço + terms_of_service_generator: + admin_email: Endereço de e-mail para avisos legais + arbitration_address: Endereço físico para avisos de arbitragem + arbitration_website: Website para enviar avisos de arbitragem + dmca_address: Endereço físico para avisos DMCA / direitos autorais + dmca_email: Endereço de e-mail para avisos DMCA/direitos autorais + domain: Domínio + jurisdiction: Jurisdição legal user: role: Função time_zone: Fuso horário diff --git a/config/locales/simple_form.ru.yml b/config/locales/simple_form.ru.yml index ae142826f4..29068fb6cf 100644 --- a/config/locales/simple_form.ru.yml +++ b/config/locales/simple_form.ru.yml @@ -130,6 +130,9 @@ ru: show_application: Вы всегда сможете увидеть, какое приложение опубликовало ваше сообщение. tag: name: Вы можете изменить только регистр букв чтобы, например, сделать тег более читаемым + terms_of_service: + changelog: Можно использовать синтаксис языка разметки Markdown. + text: Можно использовать синтаксис языка разметки Markdown. user: chosen_languages: Если выбрано, то в публичных лентах будут показаны только посты на выбранных языках. role: Роль определяет, какими правами обладает пользователь. @@ -319,6 +322,17 @@ ru: name: Хэштег trendable: Разрешить показ хэштега в трендах usable: Позволить этот хэштег в локальных сообщениях + terms_of_service: + changelog: Что изменилось? + text: Пользовательское соглашение + terms_of_service_generator: + admin_email: Адрес электронной почты для юридических уведомлений + arbitration_address: Почтовый адрес для уведомлений об арбитраже + arbitration_website: Вебсайт для подачи уведомления об арбитраже + dmca_address: Почтовый адрес для обращений правообладателей + dmca_email: Адрес электронной почты для обращений правообладателей + domain: Доменное имя + jurisdiction: Юрисдикция user: role: Роль time_zone: Часовой пояс From 1712543c685eba1ead1a080258c54430ea874368 Mon Sep 17 00:00:00 2001 From: Claire Date: Tue, 17 Dec 2024 11:52:59 +0100 Subject: [PATCH 22/60] Revert "Support animated PNGs in media attachments (#28516)" (#33334) --- app/models/media_attachment.rb | 20 +--- config/application.rb | 2 +- lib/paperclip/blurhash_transcoder.rb | 2 +- lib/paperclip/gif_transcoder.rb | 126 +++++++++++++++++++++ lib/paperclip/gifv_transcoder.rb | 20 ---- spec/fixtures/files/600x400-animated.gif | Bin 11085 -> 0 bytes spec/fixtures/files/600x400-animated.png | Bin 35766 -> 0 bytes spec/fixtures/files/600x400.gif | Bin 5848 -> 0 bytes spec/fixtures/files/attachment.gif | Bin 0 -> 30184 bytes spec/models/media_attachment_spec.rb | 134 +++++++++-------------- spec/requests/api/v1/media_spec.rb | 2 +- 11 files changed, 183 insertions(+), 123 deletions(-) create mode 100644 lib/paperclip/gif_transcoder.rb delete mode 100644 lib/paperclip/gifv_transcoder.rb delete mode 100644 spec/fixtures/files/600x400-animated.gif delete mode 100644 spec/fixtures/files/600x400-animated.png delete mode 100644 spec/fixtures/files/600x400.gif create mode 100644 spec/fixtures/files/attachment.gif diff --git a/app/models/media_attachment.rb b/app/models/media_attachment.rb index 76815dede5..6708cd7793 100644 --- a/app/models/media_attachment.rb +++ b/app/models/media_attachment.rb @@ -58,7 +58,6 @@ class MediaAttachment < ApplicationRecord ).freeze IMAGE_MIME_TYPES = %w(image/jpeg image/png image/gif image/heic image/heif image/webp image/avif).freeze - IMAGE_ANIMATED_MIME_TYPES = %w(image/png image/gif).freeze IMAGE_CONVERTIBLE_MIME_TYPES = %w(image/heic image/heif image/avif).freeze VIDEO_MIME_TYPES = %w(video/webm video/mp4 video/quicktime video/ogg).freeze VIDEO_CONVERTIBLE_MIME_TYPES = %w(video/webm video/quicktime).freeze @@ -103,7 +102,7 @@ class MediaAttachment < ApplicationRecord 'preset' => 'veryfast', 'movflags' => 'faststart', # Move metadata to start of file so playback can begin before download finishes 'pix_fmt' => 'yuv420p', # Ensure color space for cross-browser compatibility - 'filter_complex' => 'drawbox=t=fill:c=white[bg];[bg][0]overlay,crop=trunc(iw/2)*2:trunc(ih/2)*2', # Remove transparency. h264 requires width and height to be even; crop instead of scale to avoid blurring + 'vf' => 'crop=floor(iw/2)*2:floor(ih/2)*2', # h264 requires width and height to be even. Crop instead of scale to avoid blurring 'c:v' => 'h264', 'c:a' => 'aac', 'b:a' => '192k', @@ -297,7 +296,7 @@ class MediaAttachment < ApplicationRecord private def file_styles(attachment) - if attachment.instance.animated_image? || VIDEO_CONVERTIBLE_MIME_TYPES.include?(attachment.instance.file_content_type) + if attachment.instance.file_content_type == 'image/gif' || VIDEO_CONVERTIBLE_MIME_TYPES.include?(attachment.instance.file_content_type) VIDEO_CONVERTED_STYLES elsif IMAGE_CONVERTIBLE_MIME_TYPES.include?(attachment.instance.file_content_type) IMAGE_CONVERTED_STYLES @@ -311,8 +310,8 @@ class MediaAttachment < ApplicationRecord end def file_processors(instance) - if instance.animated_image? - [:gifv_transcoder, :blurhash_transcoder] + if instance.file_content_type == 'image/gif' + [:gif_transcoder, :blurhash_transcoder] elsif VIDEO_MIME_TYPES.include?(instance.file_content_type) [:transcoder, :blurhash_transcoder, :type_corrector] elsif AUDIO_MIME_TYPES.include?(instance.file_content_type) @@ -323,17 +322,6 @@ class MediaAttachment < ApplicationRecord end end - def animated_image? - if processing_complete? - gifv? - elsif IMAGE_ANIMATED_MIME_TYPES.include?(file_content_type) - @animated_image = FastImage.animated?(file.queued_for_write[:original].path) unless defined?(@animated_image) - @animated_image - else - false - end - end - private def set_unknown_type diff --git a/config/application.rb b/config/application.rb index 59afafd5be..e4e9680e66 100644 --- a/config/application.rb +++ b/config/application.rb @@ -28,7 +28,7 @@ require_relative '../lib/redis/namespace_extensions' require_relative '../lib/paperclip/url_generator_extensions' require_relative '../lib/paperclip/attachment_extensions' -require_relative '../lib/paperclip/gifv_transcoder' +require_relative '../lib/paperclip/gif_transcoder' require_relative '../lib/paperclip/media_type_spoof_detector_extensions' require_relative '../lib/paperclip/transcoder' require_relative '../lib/paperclip/type_corrector' diff --git a/lib/paperclip/blurhash_transcoder.rb b/lib/paperclip/blurhash_transcoder.rb index fe58d1bce1..b4ff4a12a0 100644 --- a/lib/paperclip/blurhash_transcoder.rb +++ b/lib/paperclip/blurhash_transcoder.rb @@ -23,7 +23,7 @@ module Paperclip image = Vips::Image.thumbnail(@file.path, 100) [image.width, image.height, image.colourspace(:srgb).extract_band(0, n: 3).to_a.flatten] else - pixels = convert(':source -flatten -depth 8 -compress none RGB:-', source: File.expand_path(@file.path)).unpack('C*') + pixels = convert(':source -depth 8 RGB:-', source: File.expand_path(@file.path)).unpack('C*') geometry = options.fetch(:file_geometry_parser).from_file(@file) [geometry.width, geometry.height, pixels] end diff --git a/lib/paperclip/gif_transcoder.rb b/lib/paperclip/gif_transcoder.rb new file mode 100644 index 0000000000..32bdb8a863 --- /dev/null +++ b/lib/paperclip/gif_transcoder.rb @@ -0,0 +1,126 @@ +# frozen_string_literal: true + +class GifReader + attr_reader :animated + + EXTENSION_LABELS = [0xf9, 0x01, 0xff].freeze + GIF_HEADERS = %w(GIF87a GIF89a).freeze + + class GifReaderException < StandardError; end + + class UnknownImageType < GifReaderException; end + + class CannotParseImage < GifReaderException; end + + def self.animated?(path) + new(path).animated + rescue GifReaderException + false + end + + def initialize(path, max_frames = 2) + @path = path + @nb_frames = 0 + + File.open(path, 'rb') do |s| + raise UnknownImageType unless GIF_HEADERS.include?(s.read(6)) + + # Skip to "packed byte" + s.seek(4, IO::SEEK_CUR) + + # "Packed byte" gives us the size of the GIF color table + packed_byte, = s.read(1).unpack('C') + + # Skip background color and aspect ratio + s.seek(2, IO::SEEK_CUR) + + if packed_byte & 0x80 != 0 + # GIF uses a global color table, skip it + s.seek(3 * (1 << ((packed_byte & 0x07) + 1)), IO::SEEK_CUR) + end + + # Now read data + while @nb_frames < max_frames + separator = s.read(1) + + case separator + when ',' # Image block + @nb_frames += 1 + + # Skip to "packed byte" + s.seek(8, IO::SEEK_CUR) + packed_byte, = s.read(1).unpack('C') + + if packed_byte & 0x80 != 0 + # Image uses a local color table, skip it + s.seek(3 * (1 << ((packed_byte & 0x07) + 1)), IO::SEEK_CUR) + end + + # Skip lzw min code size + raise InvalidValue unless s.read(1).unpack1('C') >= 2 + + # Skip image data sub-blocks + skip_sub_blocks!(s) + when '!' # Extension block + skip_extension_block!(s) + when ';' # Trailer + break + else + raise CannotParseImage + end + end + end + + @animated = @nb_frames > 1 + end + + private + + def skip_extension_block!(file) + if EXTENSION_LABELS.include?(file.read(1).unpack1('C')) + block_size, = file.read(1).unpack('C') + file.seek(block_size, IO::SEEK_CUR) + end + + # Read until extension block end marker + skip_sub_blocks!(file) + end + + # Skip sub-blocks up until block end marker + def skip_sub_blocks!(file) + loop do + size, = file.read(1).unpack('C') + + break if size.zero? + + file.seek(size, IO::SEEK_CUR) + end + end +end + +module Paperclip + # This transcoder is only to be used for the MediaAttachment model + # to convert animated GIFs to videos + + class GifTranscoder < Paperclip::Processor + def make + return File.open(@file.path) unless needs_convert? + + final_file = Paperclip::Transcoder.make(file, options, attachment) + + if options[:style] == :original + attachment.instance.file_file_name = "#{File.basename(attachment.instance.file_file_name, '.*')}.mp4" + attachment.instance.file_content_type = 'video/mp4' + attachment.instance.type = MediaAttachment.types[:gifv] + end + + final_file + end + + private + + def needs_convert? + GifReader.animated?(file.path) + end + end +end diff --git a/lib/paperclip/gifv_transcoder.rb b/lib/paperclip/gifv_transcoder.rb deleted file mode 100644 index 4bb27e3b75..0000000000 --- a/lib/paperclip/gifv_transcoder.rb +++ /dev/null @@ -1,20 +0,0 @@ -# frozen_string_literal: true - -module Paperclip - # This transcoder is only to be used for the MediaAttachment model - # to convert animated GIFs and PNGs to videos - - class GifvTranscoder < Paperclip::Processor - def make - final_file = Paperclip::Transcoder.make(file, options, attachment) - - if options[:style] == :original - attachment.instance.file_file_name = "#{File.basename(attachment.instance.file_file_name, '.*')}.mp4" - attachment.instance.file_content_type = 'video/mp4' - attachment.instance.type = MediaAttachment.types[:gifv] - end - - final_file - end - end -end diff --git a/spec/fixtures/files/600x400-animated.gif b/spec/fixtures/files/600x400-animated.gif deleted file mode 100644 index 1a773c0af1d1aab72f789db9b662a6980110865a..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 11085 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 LZb1Nn0M-8kh=sL6 diff --git a/spec/fixtures/files/attachment.gif b/spec/fixtures/files/attachment.gif new file mode 100644 index 0000000000000000000000000000000000000000..89dd73ad3e9fb61eaf4467b9d44c1c9cc9dff16a GIT binary patch literal 30184 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 Dt->n% literal 0 HcmV?d00001 diff --git a/spec/models/media_attachment_spec.rb b/spec/models/media_attachment_spec.rb index cce4b30479..5f91ae0967 100644 --- a/spec/models/media_attachment_spec.rb +++ b/spec/models/media_attachment_spec.rb @@ -90,7 +90,7 @@ RSpec.describe MediaAttachment, :attachment_processing do media.destroy end - it 'saves metadata and generates styles' do + it 'saves media attachment with correct file and size metadata' do expect(media) .to be_persisted .and be_processing_complete @@ -98,28 +98,18 @@ RSpec.describe MediaAttachment, :attachment_processing do file: be_present, type: eq('image'), file_content_type: eq(content_type), - file_file_name: end_with(extension), - blurhash: have_attributes(size: eq(36)) + file_file_name: end_with(extension) ) + # Rack::Mime (used by PublicFileServerMiddleware) recognizes file extension + expect(Rack::Mime.mime_type(extension, nil)).to eq content_type + # Strip original file name expect(media.file_file_name) .to_not start_with '600x400' - # Generate styles - expect(FastImage.size(media.file.path(:original))) - .to eq [600, 400] - expect(FastImage.size(media.file.path(:small))) - .to eq [588, 392] - - # Use extension recognized by Rack::Mime (used by PublicFileServerMiddleware) - expect(media.file.path(:original)) - .to end_with(extension) - expect(media.file.path(:small)) - .to end_with(extension) - # Set meta for original and thumbnail - expect(media_metadata) + expect(media.file.meta.deep_symbolize_keys) .to include( original: include( width: eq(600), @@ -132,60 +122,6 @@ RSpec.describe MediaAttachment, :attachment_processing do aspect: eq(1.5) ) ) - - # Rack::Mime (used by PublicFileServerMiddleware) recognizes file extension - expect(Rack::Mime.mime_type(extension, nil)).to eq content_type - end - end - - shared_examples 'animated 600x400 image' do - after do - media.destroy - end - - it 'saves metadata and generates styles' do - expect(media) - .to be_persisted - .and be_processing_complete - .and have_attributes( - file: be_present, - type: eq('gifv'), - file_content_type: eq('video/mp4'), - file_file_name: end_with('.mp4'), - blurhash: have_attributes(size: eq(36)) - ) - - # Strip original file name - expect(media.file_file_name) - .to_not start_with '600x400' - - # Transcode to MP4 - expect(media.file.path(:original)) - .to end_with('.mp4') - - # Generate static thumbnail - expect(FastImage.size(media.file.path(:small))) - .to eq [600, 400] - expect(FastImage.animated?(media.file.path(:small))) - .to be false - expect(media.file.path(:small)) - .to end_with('.png') - - # Set meta for styles - expect(media_metadata) - .to include( - original: include( - width: eq(600), - height: eq(400), - duration: eq(3), - frame_rate: '1/1' - ), - small: include( - width: eq(600), - height: eq(400), - aspect: eq(1.5) - ) - ) end end @@ -201,10 +137,10 @@ RSpec.describe MediaAttachment, :attachment_processing do it_behaves_like 'static 600x400 image', 'image/png', '.png' end - describe 'gif' do - let(:media) { Fabricate(:media_attachment, file: attachment_fixture('600x400.gif')) } + describe 'monochrome jpg' do + let(:media) { Fabricate(:media_attachment, file: attachment_fixture('monochrome.png')) } - it_behaves_like 'static 600x400 image', 'image/gif', '.gif' + it_behaves_like 'static 600x400 image', 'image/png', '.png' end describe 'webp' do @@ -225,12 +161,6 @@ RSpec.describe MediaAttachment, :attachment_processing do it_behaves_like 'static 600x400 image', 'image/jpeg', '.jpeg' end - describe 'monochrome jpg' do - let(:media) { Fabricate(:media_attachment, file: attachment_fixture('monochrome.png')) } - - it_behaves_like 'static 600x400 image', 'image/png', '.png' - end - describe 'base64-encoded image' do let(:base64_attachment) { "data:image/jpeg;base64,#{Base64.encode64(attachment_fixture('600x400.jpeg').read)}" } let(:media) { Fabricate(:media_attachment, file: base64_attachment) } @@ -239,15 +169,51 @@ RSpec.describe MediaAttachment, :attachment_processing do end describe 'animated gif' do - let(:media) { Fabricate(:media_attachment, file: attachment_fixture('600x400-animated.gif')) } + let(:media) { Fabricate(:media_attachment, file: attachment_fixture('avatar.gif')) } - it_behaves_like 'animated 600x400 image' + it 'sets correct file metadata' do + expect(media) + .to have_attributes( + type: eq('gifv'), + file_content_type: eq('video/mp4') + ) + expect(media_metadata) + .to include( + original: include( + width: eq(128), + height: eq(128) + ) + ) + end end - describe 'animated png' do - let(:media) { Fabricate(:media_attachment, file: attachment_fixture('600x400-animated.png')) } + describe 'static gif' do + fixtures = [ + { filename: 'attachment.gif', width: 600, height: 400, aspect: 1.5 }, + { filename: 'mini-static.gif', width: 32, height: 32, aspect: 1.0 }, + ] - it_behaves_like 'animated 600x400 image' + fixtures.each do |fixture| + context fixture[:filename] do + let(:media) { Fabricate(:media_attachment, file: attachment_fixture(fixture[:filename])) } + + it 'sets correct file metadata' do + expect(media) + .to have_attributes( + type: eq('image'), + file_content_type: eq('image/gif') + ) + expect(media_metadata) + .to include( + original: include( + width: eq(fixture[:width]), + height: eq(fixture[:height]), + aspect: eq(fixture[:aspect]) + ) + ) + end + end + end end describe 'ogg with cover art' do diff --git a/spec/requests/api/v1/media_spec.rb b/spec/requests/api/v1/media_spec.rb index 3340e26b98..d7d0b92f11 100644 --- a/spec/requests/api/v1/media_spec.rb +++ b/spec/requests/api/v1/media_spec.rb @@ -137,7 +137,7 @@ RSpec.describe 'Media' do end context 'with image/gif', :attachment_processing do - let(:params) { { file: fixture_file_upload('600x400.gif', 'image/gif') } } + let(:params) { { file: fixture_file_upload('attachment.gif', 'image/gif') } } it_behaves_like 'a successful media upload', 'image' end From f19fd0b88991f9728a74fcfe05e22f01ca62d6bc Mon Sep 17 00:00:00 2001 From: Eugen Rochko Date: Tue, 17 Dec 2024 13:36:32 +0100 Subject: [PATCH 23/60] Change design of interaction modal in web UI (#33278) Co-authored-by: Claire --- .../features/interaction_modal/index.jsx | 427 ------------- .../features/interaction_modal/index.tsx | 581 ++++++++++++++++++ app/javascript/mastodon/locales/en.json | 18 +- .../styles/mastodon/components.scss | 6 +- 4 files changed, 590 insertions(+), 442 deletions(-) delete mode 100644 app/javascript/mastodon/features/interaction_modal/index.jsx create mode 100644 app/javascript/mastodon/features/interaction_modal/index.tsx diff --git a/app/javascript/mastodon/features/interaction_modal/index.jsx b/app/javascript/mastodon/features/interaction_modal/index.jsx deleted file mode 100644 index 446cc2586a..0000000000 --- a/app/javascript/mastodon/features/interaction_modal/index.jsx +++ /dev/null @@ -1,427 +0,0 @@ -import PropTypes from 'prop-types'; -import React from 'react'; - -import { FormattedMessage, defineMessages, injectIntl } from 'react-intl'; - -import classNames from 'classnames'; - -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'; -import StarIcon from '@/material-icons/400-24px/star.svg?react'; -import { openModal, closeModal } from 'mastodon/actions/modal'; -import api from 'mastodon/api'; -import { Button } from 'mastodon/components/button'; -import { Icon } from 'mastodon/components/icon'; -import { registrationsOpen, sso_redirect } from 'mastodon/initial_state'; - -const messages = defineMessages({ - loginPrompt: { id: 'interaction_modal.login.prompt', defaultMessage: 'Domain of your home server, e.g. mastodon.social' }, -}); - -const mapStateToProps = (state, { accountId }) => ({ - displayNameHtml: state.getIn(['accounts', accountId, 'display_name_html']), - signupUrl: state.getIn(['server', 'server', 'registrations', 'url'], null) || '/auth/sign_up', -}); - -const mapDispatchToProps = (dispatch) => ({ - onSignupClick() { - dispatch(closeModal({ - modalType: undefined, - ignoreFocus: false, - })); - dispatch(openModal({ modalType: 'CLOSED_REGISTRATIONS' })); - }, -}); - -const PERSISTENCE_KEY = 'mastodon_home'; - -const isValidDomain = value => { - const url = new URL('https:///path'); - url.hostname = value; - return url.hostname === value; -}; - -const valueToDomain = value => { - // If the user starts typing an URL - if (/^https?:\/\//.test(value)) { - try { - const url = new URL(value); - - // Consider that if there is a path, the URL is more meaningful than a bare domain - if (url.pathname.length > 1) { - return ''; - } - - return url.host; - } catch { - return undefined; - } - // If the user writes their full handle including username - } else if (value.includes('@')) { - if (value.replace(/^@/, '').split('@').length > 2) { - return undefined; - } - return ''; - } - - return value; -}; - -const addInputToOptions = (value, options) => { - value = value.trim(); - - if (value.includes('.') && isValidDomain(value)) { - return [value].concat(options.filter((x) => x !== value)); - } - - return options; -}; - -class LoginForm extends React.PureComponent { - - static propTypes = { - resourceUrl: PropTypes.string, - intl: PropTypes.object.isRequired, - }; - - state = { - value: localStorage ? (localStorage.getItem(PERSISTENCE_KEY) || '') : '', - expanded: false, - selectedOption: -1, - isLoading: false, - isSubmitting: false, - error: false, - options: [], - networkOptions: [], - }; - - setRef = c => { - this.input = c; - }; - - isValueValid = (value) => { - let likelyAcct = false; - let url = null; - - if (value.startsWith('/')) { - return false; - } - - if (value.startsWith('@')) { - value = value.slice(1); - likelyAcct = true; - } - - // The user is in the middle of typing something, do not error out - if (value === '') { - return true; - } - - if (/^https?:\/\//.test(value) && !likelyAcct) { - url = value; - } else { - url = `https://${value}`; - } - - try { - new URL(url); - return true; - } catch { - return false; - } - }; - - handleChange = ({ target }) => { - const error = !this.isValueValid(target.value); - this.setState(state => ({ error, value: target.value, isLoading: true, options: addInputToOptions(target.value, state.networkOptions) }), () => this._loadOptions()); - }; - - handleMessage = (event) => { - const { resourceUrl } = this.props; - - if (event.origin !== window.origin || event.source !== this.iframeRef.contentWindow) { - return; - } - - if (event.data?.type === 'fetchInteractionURL-failure') { - this.setState({ isSubmitting: false, error: true }); - } else if (event.data?.type === 'fetchInteractionURL-success') { - if (/^https?:\/\//.test(event.data.template)) { - try { - const url = new URL(event.data.template.replace('{uri}', encodeURIComponent(resourceUrl))); - - if (localStorage) { - localStorage.setItem(PERSISTENCE_KEY, event.data.uri_or_domain); - } - - window.location.href = url; - } catch (e) { - console.error(e); - this.setState({ isSubmitting: false, error: true }); - } - } else { - this.setState({ isSubmitting: false, error: true }); - } - } - }; - - componentDidMount () { - window.addEventListener('message', this.handleMessage); - } - - componentWillUnmount () { - window.removeEventListener('message', this.handleMessage); - } - - handleSubmit = () => { - const { value } = this.state; - - this.setState({ isSubmitting: true }); - - this.iframeRef.contentWindow.postMessage({ - type: 'fetchInteractionURL', - uri_or_domain: value.trim(), - }, window.origin); - }; - - setIFrameRef = (iframe) => { - this.iframeRef = iframe; - }; - - handleFocus = () => { - this.setState({ expanded: true }); - }; - - handleBlur = () => { - this.setState({ expanded: false }); - }; - - handleKeyDown = (e) => { - const { options, selectedOption } = this.state; - - switch(e.key) { - case 'ArrowDown': - e.preventDefault(); - - if (options.length > 0) { - this.setState({ selectedOption: Math.min(selectedOption + 1, options.length - 1) }); - } - - break; - case 'ArrowUp': - e.preventDefault(); - - if (options.length > 0) { - this.setState({ selectedOption: Math.max(selectedOption - 1, -1) }); - } - - break; - case 'Enter': - e.preventDefault(); - - if (selectedOption === -1) { - this.handleSubmit(); - } else if (options.length > 0) { - this.setState({ value: options[selectedOption], error: false }, () => this.handleSubmit()); - } - - break; - } - }; - - handleOptionClick = e => { - const index = Number(e.currentTarget.getAttribute('data-index')); - const option = this.state.options[index]; - - e.preventDefault(); - this.setState({ selectedOption: index, value: option, error: false }, () => this.handleSubmit()); - }; - - _loadOptions = throttle(() => { - const { value } = this.state; - - const domain = valueToDomain(value.trim()); - - if (typeof domain === 'undefined') { - this.setState({ options: [], networkOptions: [], isLoading: false, error: true }); - return; - } - - if (domain.length === 0) { - this.setState({ options: [], networkOptions: [], isLoading: false }); - return; - } - - api().get('/api/v1/peers/search', { params: { q: domain } }).then(({ data }) => { - if (!data) { - data = []; - } - - this.setState((state) => ({ networkOptions: data, options: addInputToOptions(state.value, data), isLoading: false })); - }).catch(() => { - this.setState({ isLoading: false }); - }); - }, 200, { leading: true, trailing: true }); - - render () { - const { intl } = this.props; - const { value, expanded, options, selectedOption, error, isSubmitting } = this.state; - const domain = (valueToDomain(value) || '').trim(); - const domainRegExp = new RegExp(`(${escapeRegExp(domain)})`, 'gi'); - const hasPopOut = domain.length > 0 && options.length > 0; - - return ( -

- -