diff --git a/AUTHORS.md b/AUTHORS.md index dfbd2cdcd..1bcf455b1 100644 --- a/AUTHORS.md +++ b/AUTHORS.md @@ -1,3 +1,6 @@ +Authors +======= + Mastodon is available on [GitHub](https://github.com/tootsuite/mastodon) and provided thanks to the work of the following contributors: @@ -581,3 +584,248 @@ and provided thanks to the work of the following contributors: * [雨宮美羽](mailto:k737566@gmail.com) This document is provided for informational purposes only. Since it is only updated once per release, the version you are looking at may be currently out of date. To see the full list of contributors, consider looking at the [git history](https://github.com/tootsuite/mastodon/graphs/contributors) instead. + +## Translators + +Following people have contributed to translation of Mastodon: + +- **Arabic** + - ButterflyOfFire +- **Asturian** + - ButterflyOfFire + - Enol P. +- **Basque** + - Aitzol + - ButterflyOfFire + - Gorka Azkarate + - Osoitz + - Peru Iparragirre +- **Bulgarian** + - ButterflyOfFire +- **Catalan** + - ButterflyOfFire + - Joan Montané + - Jose Luis + - spla +- **Chinese (Hong Kong)** + - ButterflyOfFire + - Luzi Leung +- **Chinese (Simplified)** + - Allen Zhong + - ButterflyOfFire + - SerCom_KC +- **Chinese (Traditional)** + - ButterflyOfFire + - James58899 + - Jeff Huang + - S1ttidoe477 + - SHA265 +- **Corsican** + - Alix D. R. + - ButterflyOfFire +- **Croatian** + - ButterflyOfFire +- **Czech** + - ButterflyOfFire + - Lorem Ipsum + - Marek Ľach +- **Danish** + - ButterflyOfFire + - Rasmus Sæderup +- **Dutch** + - ButterflyOfFire + - Jelv + - jeroenpraat + - rscmbbng +- **English** + - ButterflyOfFire + - Renato "Lond" Cerqueira +- **Esperanto** + - ButterflyOfFire + - Jeong Arm + - Martin Bodin + - Mélanie Chauvel + - Vanege + - tuxayo/Victor Grousset +- **Finnish** + - ButterflyOfFire + - Jonne Arjoranta + - S Heija + - Taru Luojola +- **French** + - Alda Marteau-Hardi + - Alix D. R. + - Baptiste Jonglez + - ButterflyOfFire + - Franck Paul + - Jean-Baptiste Holcroft + - Jonathan Chan + - Letiteuf55 + - Martin Bodin + - Mélanie Chauvel + - Olivier Humbert + - Paul Marques Mota + - Sylvhem + - Technowix + - Thibaut Girka + - Théodore + - azenet + - codl +- **Galician** + - ButterflyOfFire + - Xose M. + - manequim +- **Georgian** + - ButterflyOfFire +- **German** + - Benedikt Geißler + - ButterflyOfFire + - Daniel + - Eugen Rochko + - Koyu Berteon + - Patrick Figel + - Weblate Admin + - averageunicorn + - ePirat + - koyu + - larsreineke + - lilo +- **Greek** + - Antonis + - ButterflyOfFire + - Dimitris Maroulidis + - Konstantinos Grevenitis +- **Hebrew** + - ButterflyOfFire + - Ira + - Yaron Shahrabani +- **Hungarian** + - Adam Paszternak + - ButterflyOfFire + - Tibike Miklós +- **Ido** + - ButterflyOfFire +- **Indonesian** + - Alfiana Sibuea + - ButterflyOfFire + - Dito Kurnia Pratama + - Eirworks + - afachri + - se7entime +- **Italian** + - Alessandro Levati + - ButterflyOfFire + - Giuseppe Pignataro + - Stefano +- **Japanese** + - ButterflyOfFire + - Kumasun Morino + - Yamagishi Kazutoshi + - mayaeh + - osapon + - unarist + - 小鳥遊まりあ + - 森の子リスのミーコの大冒険 +- **Korean** + - ButterflyOfFire + - Jeong Arm + - Minori Hiraoka + - Yamagishi Kazutoshi +- **Malay** + - ButterflyOfFire + - Muhammad Nur Hidayat (MNH48) +- **Norwegian (old code)** + - ButterflyOfFire + - Espen Rønnevik + - Tale +- **Occitan** + - ButterflyOfFire + - Maxenç + - Quenti2 + - Quentí +- **Persian** + - ButterflyOfFire + - Masoud Abkenar +- **Polish** + - ButterflyOfFire + - Jakub Mendyk + - Marcin Mikołajczak + - Marek Ľach + - Stasiek Michalski + - krkk +- **Portuguese** + - ButterflyOfFire + - Hugo Gameiro + - manequim +- **Portuguese (Brazil)** + - André Andrade + - Anna e só + - ButterflyOfFire + - Renato "Lond" Cerqueira +- **Romanian** + - ButterflyOfFire + - adrianbblk +- **Russian** + - Andrew Zyabin + - ButterflyOfFire + - Evgeny Petrov + - Yaron Shahrabani +- **Serbian** + - Branko Kokanovic + - Burekz Finezt + - ButterflyOfFire +- **Serbian (latin)** + - ButterflyOfFire +- **Slovak** + - ButterflyOfFire + - Ivan Pleva + - Lorem Ipsum + - Marek Ľach + - Peter +- **Slovenian** + - ButterflyOfFire + - Kristijan Tkalec +- **Spanish** + - Angeles Broullón + - Antón López + - ButterflyOfFire + - Carlos Mondragon + - David Charte + - Emmanuel + - Lothar Wolf + - Pablo de la Concepción Sanz +- **Swedish** + - ButterflyOfFire + - Elias Mårtenson + - Isak Holmström + - Shellkr + - Stefan Midjich + - Tim Stahel +- **Telugu** + - ButterflyOfFire + - Joseph Nuthalapati + - Ranjith Tellakula + - avndp +- **Thai** + - ButterflyOfFire +- **Turkish** + - ButterflyOfFire +- **Ukrainian** + - ButterflyOfFire + - Ivan Verchenko + - alexcleac +- **Welsh** + - ButterflyOfFire + - Jaz-Michael King + - Kevin Beynon + - Owain Rhys Lewis + - Renato "Lond" Cerqueira + - Rhoslyn Prys + - carl morris +- **Armenian** + - ButterflyOfFire +- **Latvian** + - ButterflyOfFire +- **Tamil** + - ButterflyOfFire + - Prasanna Venkadesh diff --git a/CHANGELOG.md b/CHANGELOG.md index 0ce92ec00..3bafbe1e9 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -3,304 +3,328 @@ Changelog All notable changes to this project will be documented in this file. -## [Unreleased] +## [2.7.0] - 2019-01-20 ### Added -- Add link for adding a user to a list from their profile (#9062) -- Add joining several hashtags in a single column (#8904) -- Add volume sliders for videos (#9366) -- Add a tooltip explaining what a locked account is (#9403) -- Add preloaded cache for common JSON-LD contexts (#9412) -- Add profile directory (#9427) -- Add setting to not group reblogs in home feed (#9248) -- Add admin ability to remove a user's header image (#9495) -- Add account hashtags to ActivityPub actor JSON (#9450) -- Add error message for avatar image that's too large (#9518) -- Add notification quick-filter bar (#9399) -- Add new first-time tutorial (#9531) -- Add moderation warnings (#9519) -- Add emoji codepoint mappings for v11.0 (#9618) -- Add REST API for creating an account (#9572) -- Add support for Malayalam in language filter (#9624) -- Add exclude_reblogs option to account statuses API (#9640) -- Add local followers page to admin account UI (#9610) -- Add healthcheck commands to docker-compose.yml (#9143) -- Add handler for Move activity to migrate followers (#9629) -- Add CSV export for lists and domain blocks (#9677) -- Add `tootctl accounts follow ACCT` (#9414) -- Add scheduled statuses (#9706) -- Add immutable caching for S3 objects (#9722) -- Add cache to custom emojis API (#9732) -- Add preview cards to non-detailed statuses on public pages (#9714) -- Add `mod` and `moderator` to list of default reserved usernames (#9713) -- Add quick links to the admin interface in the web UI (#8545) +- Add link for adding a user to a list from their profile ([namelessGonbai](https://github.com/tootsuite/mastodon/pull/9062)) +- Add joining several hashtags in a single column ([gdpelican](https://github.com/tootsuite/mastodon/pull/8904)) +- Add volume sliders for videos ([sumdog](https://github.com/tootsuite/mastodon/pull/9366)) +- Add a tooltip explaining what a locked account is ([pawelngei](https://github.com/tootsuite/mastodon/pull/9403)) +- Add preloaded cache for common JSON-LD contexts ([ThibG](https://github.com/tootsuite/mastodon/pull/9412)) +- Add profile directory ([Gargron](https://github.com/tootsuite/mastodon/pull/9427)) +- Add setting to not group reblogs in home feed ([ThibG](https://github.com/tootsuite/mastodon/pull/9248)) +- Add admin ability to remove a user's header image ([ThibG](https://github.com/tootsuite/mastodon/pull/9495)) +- Add account hashtags to ActivityPub actor JSON ([Gargron](https://github.com/tootsuite/mastodon/pull/9450)) +- Add error message for avatar image that's too large ([sumdog](https://github.com/tootsuite/mastodon/pull/9518)) +- Add notification quick-filter bar ([pawelngei](https://github.com/tootsuite/mastodon/pull/9399)) +- Add new first-time tutorial ([Gargron](https://github.com/tootsuite/mastodon/pull/9531)) +- Add moderation warnings ([Gargron](https://github.com/tootsuite/mastodon/pull/9519)) +- Add emoji codepoint mappings for v11.0 ([Gargron](https://github.com/tootsuite/mastodon/pull/9618)) +- Add REST API for creating an account ([Gargron](https://github.com/tootsuite/mastodon/pull/9572)) +- Add support for Malayalam in language filter ([tachyons](https://github.com/tootsuite/mastodon/pull/9624)) +- Add exclude_reblogs option to account statuses API ([Gargron](https://github.com/tootsuite/mastodon/pull/9640)) +- Add local followers page to admin account UI ([chr-1x](https://github.com/tootsuite/mastodon/pull/9610)) +- Add healthcheck commands to docker-compose.yml ([BenLubar](https://github.com/tootsuite/mastodon/pull/9143)) +- Add handler for Move activity to migrate followers ([Gargron](https://github.com/tootsuite/mastodon/pull/9629)) +- Add CSV export for lists and domain blocks ([Gargron](https://github.com/tootsuite/mastodon/pull/9677)) +- Add `tootctl accounts follow ACCT` ([Gargron](https://github.com/tootsuite/mastodon/pull/9414)) +- Add scheduled statuses ([Gargron](https://github.com/tootsuite/mastodon/pull/9706)) +- Add immutable caching for S3 objects ([nolanlawson](https://github.com/tootsuite/mastodon/pull/9722)) +- Add cache to custom emojis API ([Gargron](https://github.com/tootsuite/mastodon/pull/9732)) +- Add preview cards to non-detailed statuses on public pages ([Gargron](https://github.com/tootsuite/mastodon/pull/9714)) +- Add `mod` and `moderator` to list of default reserved usernames ([Gargron](https://github.com/tootsuite/mastodon/pull/9713)) +- Add quick links to the admin interface in the web UI ([ThibG](https://github.com/tootsuite/mastodon/pull/8545)) +- Add `tootctl domains crawl` ([Gargron](https://github.com/tootsuite/mastodon/pull/9809)) +- Add attachment list fallback to public pages ([ThibG](https://github.com/tootsuite/mastodon/pull/9780)) +- Add `tootctl --version` ([Gargron](https://github.com/tootsuite/mastodon/pull/9835)) +- Add information about how to opt-in to the directory on the directory ([Gargron](https://github.com/tootsuite/mastodon/pull/9834)) +- Add timeouts for S3 ([Gargron](https://github.com/tootsuite/mastodon/pull/9842)) +- Add support for non-public reblogs from ActivityPub ([Gargron](https://github.com/tootsuite/mastodon/pull/9841)) +- Add sending of `Reject` activity when sending a `Block` activity ([ThibG](https://github.com/tootsuite/mastodon/pull/9811)) ### Changed -- Temporarily pause timeline if mouse moved recently (#9200) -- Change the password form order (#9267) -- Redesign admin UI for accounts (#9340, #9643) -- Redesign admin UI for instances/domain blocks (#9645) -- Swap avatar and header input fields in profile page (#9271) -- When posting in mobile mode, go back to previous history location (#9502) -- Split out is_changing_upload from is_submitting (#9536) -- Back to the getting-started when pins the timeline. (#9561) -- Allow unauthenticated REST API access to GET /api/v1/accounts/:id/statuses (#9573) -- Limit maximum visibility of local silenced users to unlisted (#9583) -- Change API error message for unconfirmed accounts (#9625) -- Change the icon to "reply-all" when it's a reply to other accounts (#9378) -- Do not ignore federated reports targetting already-reported accounts (#9534) -- Upgrade default Ruby version to 2.6.0 (#9688) -- Change e-mail digest frequency (#9689) -- Change Docker images for Tor support in docker-compose.yml (#9438) -- Display fallback link card thumbnail when none is given (#9715) -- Change account bio length validation to ignore mention domains and URLs (#9717) -- Use configured contact user for "anonymous" federation activities (#9661) -- Change remote interaction dialog to use specific actions instead of generic "interact" (#9743) -- Always re-fetch public key when signature verification fails to support blind key rotation (#9667) -- Make replies to boosts impossible, connect reply to original status instead (#9129) -- Change e-mail MX validation to check both A and MX records against blacklist (#9489) +- Temporarily pause timeline if mouse moved recently ([lmorchard](https://github.com/tootsuite/mastodon/pull/9200)) +- Change the password form order ([mayaeh](https://github.com/tootsuite/mastodon/pull/9267)) +- Redesign admin UI for accounts ([Gargron](https://github.com/tootsuite/mastodon/pull/9340), [Gargron](https://github.com/tootsuite/mastodon/pull/9643)) +- Redesign admin UI for instances/domain blocks ([Gargron](https://github.com/tootsuite/mastodon/pull/9645)) +- Swap avatar and header input fields in profile page ([ThibG](https://github.com/tootsuite/mastodon/pull/9271)) +- When posting in mobile mode, go back to previous history location ([ThibG](https://github.com/tootsuite/mastodon/pull/9502)) +- Split out is_changing_upload from is_submitting ([ThibG](https://github.com/tootsuite/mastodon/pull/9536)) +- Back to the getting-started when pins the timeline. ([kedamaDQ](https://github.com/tootsuite/mastodon/pull/9561)) +- Allow unauthenticated REST API access to GET /api/v1/accounts/:id/statuses ([Gargron](https://github.com/tootsuite/mastodon/pull/9573)) +- Limit maximum visibility of local silenced users to unlisted ([ThibG](https://github.com/tootsuite/mastodon/pull/9583)) +- Change API error message for unconfirmed accounts ([noellabo](https://github.com/tootsuite/mastodon/pull/9625)) +- Change the icon to "reply-all" when it's a reply to other accounts ([mayaeh](https://github.com/tootsuite/mastodon/pull/9378)) +- Do not ignore federated reports targetting already-reported accounts ([ThibG](https://github.com/tootsuite/mastodon/pull/9534)) +- Upgrade default Ruby version to 2.6.0 ([Gargron](https://github.com/tootsuite/mastodon/pull/9688)) +- Change e-mail digest frequency ([Gargron](https://github.com/tootsuite/mastodon/pull/9689)) +- Change Docker images for Tor support in docker-compose.yml ([Sir-Boops](https://github.com/tootsuite/mastodon/pull/9438)) +- Display fallback link card thumbnail when none is given ([Gargron](https://github.com/tootsuite/mastodon/pull/9715)) +- Change account bio length validation to ignore mention domains and URLs ([Gargron](https://github.com/tootsuite/mastodon/pull/9717)) +- Use configured contact user for "anonymous" federation activities ([yukimochi](https://github.com/tootsuite/mastodon/pull/9661)) +- Change remote interaction dialog to use specific actions instead of generic "interact" ([Gargron](https://github.com/tootsuite/mastodon/pull/9743)) +- Always re-fetch public key when signature verification fails to support blind key rotation ([ThibG](https://github.com/tootsuite/mastodon/pull/9667)) +- Make replies to boosts impossible, connect reply to original status instead ([valerauko](https://github.com/tootsuite/mastodon/pull/9129)) +- Change e-mail MX validation to check both A and MX records against blacklist ([Gargron](https://github.com/tootsuite/mastodon/pull/9489)) +- Hide floating action button on search and getting started pages ([tmm576](https://github.com/tootsuite/mastodon/pull/9826)) +- Redesign public hashtag page to use a masonry layout ([Gargron](https://github.com/tootsuite/mastodon/pull/9822)) +- Use `summary` as summary instead of content warning for converted ActivityPub objects ([Gargron](https://github.com/tootsuite/mastodon/pull/9823)) +- Display a double reply arrow on public pages for toots that are replies ([ThibG](https://github.com/tootsuite/mastodon/pull/9808)) +- Change admin UI right panel size to be wider ([Kjwon15](https://github.com/tootsuite/mastodon/pull/9768)) ### Removed -- Remove links to bridge.joinmastodon.org (non-functional) (#9608) -- Remove LD-Signatures from activities that do not need them (#9659) +- Remove links to bridge.joinmastodon.org (non-functional) ([Gargron](https://github.com/tootsuite/mastodon/pull/9608)) +- Remove LD-Signatures from activities that do not need them ([ThibG](https://github.com/tootsuite/mastodon/pull/9659)) ### Fixed -- Remove unused computation of reblog references from updateTimeline (#9244) -- Fix loaded embeds resetting if a status arrives from API again (#9270) -- Fix race condition causing shallow status with only a "favourited" attribute (#9272) -- Remove intermediary arrays when creating hash maps from results (#9291) -- Extract counters from accounts table to account_stats table to improve performance (#9295) -- Change identities id column to a bigint (#9371) -- Fix conversations API pagination (#9407) -- Improve account suspension speed and completeness (#9290) -- Fix thread depth computation in statuses_controller (#9426) -- Fix database deadlocks by moving account stats update outside transaction (#9437) -- Escape HTML in profile name preview in profile settings (#9446) -- Use same CORS policy for /@:username and /users/:username (#9485) -- Make custom emoji domains case insensitive (#9474) -- Various fixes to scrollable lists and media gallery (#9501) -- Fix bootsnap cache directory being declared relatively (#9511) -- Fix timeline pagination in the web UI (#9516) -- Fix padding on dropdown elements in preferences (#9517) -- Make avatar and headers respect GIF autoplay settings (#9515) -- Do no retry Web Push workers if the server returns a 4xx response (#9434) -- Minor scrollable list fixes (#9551) -- Ignore low-confidence CharlockHolmes guesses when parsing link cards (#9510) -- Fix `tootctl accounts rotate` not updating public keys (#9556) -- Fix CSP / X-Frame-Options for media players (#9558) -- Fix unnecessary loadMore calls when the end of a timeline has been reached (#9581) -- Skip mailer job retries when a record no longer exists (#9590) -- Fix composer not getting focus after reply confirmation dialog (#9602) -- Fix signature verification stoplight triggering on non-timeout errors (#9617) -- Fix ThreadResolveWorker getting queued with invalid URLs (#9628) -- Fix crash when clearing uninitialized timeline (#9662) -- Avoid duplicate work by merging ReplyDistributionWorker into DistributionWorker (#9660) -- Skip full text search if it fails, instead of erroring out completely (#9654) -- Fix profile metadata links not verifying correctly sometimes (#9673) -- Ensure blocked user unfollows blocker if Block/Undo-Block activities are processed out of order (#9687) -- Fix unreadable text color in report modal for some statuses (#9716) -- Stop GIFV timeline preview explicitly when it's opened in modal (#9749) +- Remove unused computation of reblog references from updateTimeline ([ThibG](https://github.com/tootsuite/mastodon/pull/9244)) +- Fix loaded embeds resetting if a status arrives from API again ([ThibG](https://github.com/tootsuite/mastodon/pull/9270)) +- Fix race condition causing shallow status with only a "favourited" attribute ([ThibG](https://github.com/tootsuite/mastodon/pull/9272)) +- Remove intermediary arrays when creating hash maps from results ([Gargron](https://github.com/tootsuite/mastodon/pull/9291)) +- Extract counters from accounts table to account_stats table to improve performance ([Gargron](https://github.com/tootsuite/mastodon/pull/9295)) +- Change identities id column to a bigint ([Gargron](https://github.com/tootsuite/mastodon/pull/9371)) +- Fix conversations API pagination ([ThibG](https://github.com/tootsuite/mastodon/pull/9407)) +- Improve account suspension speed and completeness ([Gargron](https://github.com/tootsuite/mastodon/pull/9290)) +- Fix thread depth computation in statuses_controller ([ThibG](https://github.com/tootsuite/mastodon/pull/9426)) +- Fix database deadlocks by moving account stats update outside transaction ([ThibG](https://github.com/tootsuite/mastodon/pull/9437)) +- Escape HTML in profile name preview in profile settings ([pawelngei](https://github.com/tootsuite/mastodon/pull/9446)) +- Use same CORS policy for /@:username and /users/:username ([ThibG](https://github.com/tootsuite/mastodon/pull/9485)) +- Make custom emoji domains case insensitive ([Esteth](https://github.com/tootsuite/mastodon/pull/9474)) +- Various fixes to scrollable lists and media gallery ([ThibG](https://github.com/tootsuite/mastodon/pull/9501)) +- Fix bootsnap cache directory being declared relatively ([Gargron](https://github.com/tootsuite/mastodon/pull/9511)) +- Fix timeline pagination in the web UI ([ThibG](https://github.com/tootsuite/mastodon/pull/9516)) +- Fix padding on dropdown elements in preferences ([ThibG](https://github.com/tootsuite/mastodon/pull/9517)) +- Make avatar and headers respect GIF autoplay settings ([ThibG](https://github.com/tootsuite/mastodon/pull/9515)) +- Do no retry Web Push workers if the server returns a 4xx response ([Gargron](https://github.com/tootsuite/mastodon/pull/9434)) +- Minor scrollable list fixes ([ThibG](https://github.com/tootsuite/mastodon/pull/9551)) +- Ignore low-confidence CharlockHolmes guesses when parsing link cards ([ThibG](https://github.com/tootsuite/mastodon/pull/9510)) +- Fix `tootctl accounts rotate` not updating public keys ([Gargron](https://github.com/tootsuite/mastodon/pull/9556)) +- Fix CSP / X-Frame-Options for media players ([jomo](https://github.com/tootsuite/mastodon/pull/9558)) +- Fix unnecessary loadMore calls when the end of a timeline has been reached ([ThibG](https://github.com/tootsuite/mastodon/pull/9581)) +- Skip mailer job retries when a record no longer exists ([Gargron](https://github.com/tootsuite/mastodon/pull/9590)) +- Fix composer not getting focus after reply confirmation dialog ([ThibG](https://github.com/tootsuite/mastodon/pull/9602)) +- Fix signature verification stoplight triggering on non-timeout errors ([Gargron](https://github.com/tootsuite/mastodon/pull/9617)) +- Fix ThreadResolveWorker getting queued with invalid URLs ([Gargron](https://github.com/tootsuite/mastodon/pull/9628)) +- Fix crash when clearing uninitialized timeline ([ThibG](https://github.com/tootsuite/mastodon/pull/9662)) +- Avoid duplicate work by merging ReplyDistributionWorker into DistributionWorker ([ThibG](https://github.com/tootsuite/mastodon/pull/9660)) +- Skip full text search if it fails, instead of erroring out completely ([Kjwon15](https://github.com/tootsuite/mastodon/pull/9654)) +- Fix profile metadata links not verifying correctly sometimes ([shrft](https://github.com/tootsuite/mastodon/pull/9673)) +- Ensure blocked user unfollows blocker if Block/Undo-Block activities are processed out of order ([ThibG](https://github.com/tootsuite/mastodon/pull/9687)) +- Fix unreadable text color in report modal for some statuses ([Gargron](https://github.com/tootsuite/mastodon/pull/9716)) +- Stop GIFV timeline preview explicitly when it's opened in modal ([kedamaDQ](https://github.com/tootsuite/mastodon/pull/9749)) +- Fix scrollbar width compensation ([ThibG](https://github.com/tootsuite/mastodon/pull/9824)) +- Fix race conditions when processing deleted toots ([ThibG](https://github.com/tootsuite/mastodon/pull/9815)) +- Fix SSO issues on WebKit browsers by disabling Same-Site cookie again ([moritzheiber](https://github.com/tootsuite/mastodon/pull/9819)) +- Fix empty OEmbed error ([renatolond](https://github.com/tootsuite/mastodon/pull/9807)) +- Fix drag & drop modal not disappearing sometimes ([hinaloe](https://github.com/tootsuite/mastodon/pull/9797)) +- Fix statuses with content warnings being displayed in web push notifications sometimes ([ThibG](https://github.com/tootsuite/mastodon/pull/9778)) +- Fix scroll-to-detailed status not working on public pages ([ThibG](https://github.com/tootsuite/mastodon/pull/9773)) +- Fix media modal loading indicator ([ThibG](https://github.com/tootsuite/mastodon/pull/9771)) +- Fix hashtag search results not having a permalink fallback in web UI ([ThibG](https://github.com/tootsuite/mastodon/pull/9810)) +- Fix slightly cropped font on settings page dropdowns when using system font ([ariasuni](https://github.com/tootsuite/mastodon/pull/9839)) +- Fix not being able to drag & drop text into forms ([tmm576](https://github.com/tootsuite/mastodon/pull/9840)) ### Security -- Sanitize and sandbox toot embeds in web UI (#9552) +- Sanitize and sandbox toot embeds in web UI ([ThibG](https://github.com/tootsuite/mastodon/pull/9552)) +- Add tombstones for remote statuses to prevent replay attacks ([ThibG](https://github.com/tootsuite/mastodon/pull/9830)) ## [2.6.5] - 2018-12-01 ### Changed -- Change lists to display replies to others on the list and list owner (#9324) +- Change lists to display replies to others on the list and list owner ([ThibG](https://github.com/tootsuite/mastodon/pull/9324)) ### Fixed -- Fix failures caused by commonly-used JSON-LD contexts being unavailable (#9412) +- Fix failures caused by commonly-used JSON-LD contexts being unavailable ([ThibG](https://github.com/tootsuite/mastodon/pull/9412)) ## [2.6.4] - 2018-11-30 ### Fixed -- Fix yarn dependencies not installing due to yanked event-stream package (#9401) +- Fix yarn dependencies not installing due to yanked event-stream package ([Gargron](https://github.com/tootsuite/mastodon/pull/9401)) ## [2.6.3] - 2018-11-30 ### Added -- Add hyphen to characters allowed in remote usernames (#9345) +- Add hyphen to characters allowed in remote usernames ([ThibG](https://github.com/tootsuite/mastodon/pull/9345)) ### Changed -- Change server user count to exclude suspended accounts (#9380) +- Change server user count to exclude suspended accounts ([Gargron](https://github.com/tootsuite/mastodon/pull/9380)) ### Fixed -- Fix ffmpeg processing sometimes stalling due to overfilled stdout buffer (#9368) -- Fix missing DNS records raising the wrong kind of exception (#9379) -- Fix already queued deliveries still trying to reach inboxes marked as unavailable (#9358) +- Fix ffmpeg processing sometimes stalling due to overfilled stdout buffer ([hugogameiro](https://github.com/tootsuite/mastodon/pull/9368)) +- Fix missing DNS records raising the wrong kind of exception ([Gargron](https://github.com/tootsuite/mastodon/pull/9379)) +- Fix already queued deliveries still trying to reach inboxes marked as unavailable ([Gargron](https://github.com/tootsuite/mastodon/pull/9358)) ### Security -- Fix TLS handshake timeout not being enforced (#9381) +- Fix TLS handshake timeout not being enforced ([Gargron](https://github.com/tootsuite/mastodon/pull/9381)) ## [2.6.2] - 2018-11-23 ### Added -- Add Page to whitelisted ActivityPub types (#9188) -- Add 20px to column width in web UI (#9227) -- Add amount of freed disk space in `tootctl media remove` (#9229, #9239, #9288) -- Add "Show thread" link to self-replies (#9228) +- Add Page to whitelisted ActivityPub types ([mbajur](https://github.com/tootsuite/mastodon/pull/9188)) +- Add 20px to column width in web UI ([Gargron](https://github.com/tootsuite/mastodon/pull/9227)) +- Add amount of freed disk space in `tootctl media remove` ([Gargron](https://github.com/tootsuite/mastodon/pull/9229), [Gargron](https://github.com/tootsuite/mastodon/pull/9239), [mayaeh](https://github.com/tootsuite/mastodon/pull/9288)) +- Add "Show thread" link to self-replies ([Gargron](https://github.com/tootsuite/mastodon/pull/9228)) ### Changed -- Change order of Atom and RSS links so Atom is first (#9302) -- Change Nginx configuration for Nanobox apps (#9310) -- Change the follow action to appear instant in web UI (#9220) -- Change how the ActiveRecord connection is instantiated in on_worker_boot (#9238) -- Change `tootctl accounts cull` to always touch accounts so they can be skipped (#9293) -- Change mime type comparison to ignore JSON-LD profile (#9179) +- Change order of Atom and RSS links so Atom is first ([Alkarex](https://github.com/tootsuite/mastodon/pull/9302)) +- Change Nginx configuration for Nanobox apps ([danhunsaker](https://github.com/tootsuite/mastodon/pull/9310)) +- Change the follow action to appear instant in web UI ([Gargron](https://github.com/tootsuite/mastodon/pull/9220)) +- Change how the ActiveRecord connection is instantiated in on_worker_boot ([Gargron](https://github.com/tootsuite/mastodon/pull/9238)) +- Change `tootctl accounts cull` to always touch accounts so they can be skipped ([renatolond](https://github.com/tootsuite/mastodon/pull/9293)) +- Change mime type comparison to ignore JSON-LD profile ([valerauko](https://github.com/tootsuite/mastodon/pull/9179)) ### Fixed -- Fix web UI crash when conversation has no last status (#9207) -- Fix follow limit validator reporting lower number past threshold (#9230) -- Fix form validation flash message color and input borders (#9235) -- Fix invalid twitter:player cards being displayed (#9254) -- Fix emoji update date being processed incorrectly (#9255) -- Fix playing embed resetting if status is reloaded in web UI (#9270, #9275) -- Fix web UI crash when favouriting a deleted status (#9272) -- Fix intermediary arrays being created for hash maps (#9291) -- Fix filter ID not being a string in REST API (#9303) +- Fix web UI crash when conversation has no last status ([sammy8806](https://github.com/tootsuite/mastodon/pull/9207)) +- Fix follow limit validator reporting lower number past threshold ([Gargron](https://github.com/tootsuite/mastodon/pull/9230)) +- Fix form validation flash message color and input borders ([Gargron](https://github.com/tootsuite/mastodon/pull/9235)) +- Fix invalid twitter:player cards being displayed ([ThibG](https://github.com/tootsuite/mastodon/pull/9254)) +- Fix emoji update date being processed incorrectly ([ThibG](https://github.com/tootsuite/mastodon/pull/9255)) +- Fix playing embed resetting if status is reloaded in web UI ([ThibG](https://github.com/tootsuite/mastodon/pull/9270), [Gargron](https://github.com/tootsuite/mastodon/pull/9275)) +- Fix web UI crash when favouriting a deleted status ([ThibG](https://github.com/tootsuite/mastodon/pull/9272)) +- Fix intermediary arrays being created for hash maps ([Gargron](https://github.com/tootsuite/mastodon/pull/9291)) +- Fix filter ID not being a string in REST API ([Gargron](https://github.com/tootsuite/mastodon/pull/9303)) ### Security -- Fix multiple remote account deletions being able to deadlock the database (#9292) -- Fix HTTP connection timeout of 10s not being enforced (#9329) +- Fix multiple remote account deletions being able to deadlock the database ([Gargron](https://github.com/tootsuite/mastodon/pull/9292)) +- Fix HTTP connection timeout of 10s not being enforced ([Gargron](https://github.com/tootsuite/mastodon/pull/9329)) ## [2.6.1] - 2018-10-30 ### Fixed -- Fix resolving resources by URL not working due to a regression in #9132 (#9171) -- Fix reducer error in web UI when a conversation has no last status (#9173) +- Fix resolving resources by URL not working due to a regression in [valerauko](https://github.com/tootsuite/mastodon/pull/9132) ([Gargron](https://github.com/tootsuite/mastodon/pull/9171)) +- Fix reducer error in web UI when a conversation has no last status ([Gargron](https://github.com/tootsuite/mastodon/pull/9173)) ## [2.6.0] - 2018-10-30 ### Added -- Add link ownership verification (#8703) -- Add conversations API (#8832) -- Add limit for the number of people that can be followed from one account (#8807) -- Add admin setting to customize mascot (#8766) -- Add support for more granular ActivityPub audiences from other software, i.e. circles (#8950, #9093, #9150) -- Add option to block all reports from a domain (#8830) -- Add user preference to always expand toots marked with content warnings (#8762) -- Add user preference to always hide all media (#8569) -- Add `force_login` param to OAuth authorize page (#8655) -- Add `tootctl accounts backup` (#8642, #8811) -- Add `tootctl accounts create` (#8642, #8811) -- Add `tootctl accounts cull` (#8642, #8811) -- Add `tootctl accounts delete` (#8642, #8811) -- Add `tootctl accounts modify` (#8642, #8811) -- Add `tootctl accounts refresh` (#8642, #8811) -- Add `tootctl feeds build` (#8642, #8811) -- Add `tootctl feeds clear` (#8642, #8811) -- Add `tootctl settings registrations open` (#8642, #8811) -- Add `tootctl settings registrations close` (#8642, #8811) -- Add `min_id` param to REST API to support backwards pagination (#8736) -- Add a confirmation dialog when hitting reply and the compose box isn't empty (#8893) -- Add PostgreSQL disk space growth tracking in PGHero (#8906) -- Add button for disabling local account to report quick actions bar (#9024) -- Add Czech language (#8594) -- Add `same-site` (`lax`) attribute to cookies (#8626) -- Add support for styled scrollbars in Firefox Nightly (#8653) -- Add highlight to the active tab in web UI profiles (#8673) -- Add auto-focus for comment textarea in report modal (#8689) -- Add auto-focus for emoji picker's search field (#8688) -- Add nginx and systemd templates to `dist/` directory (#8770) -- Add support for `/.well-known/change-password` (#8828) -- Add option to override FFMPEG binary path (#8855) -- Add `dns-prefetch` tag when using different host for assets or uploads (#8942) -- Add `description` meta tag (#8941) -- Add `Content-Security-Policy` header (#8957) -- Add cache for the instance info API (#8765) -- Add suggested follows to search screen in mobile layout (#9010) -- Add CORS header to `/.well-known/*` routes (#9083) -- Add `card` attribute to statuses returned from REST API (#9120) -- Add in-stream link preview (#9120) -- Add support for ActivityPub `Page` objects (#9121) +- Add link ownership verification ([Gargron](https://github.com/tootsuite/mastodon/pull/8703)) +- Add conversations API ([Gargron](https://github.com/tootsuite/mastodon/pull/8832)) +- Add limit for the number of people that can be followed from one account ([Gargron](https://github.com/tootsuite/mastodon/pull/8807)) +- Add admin setting to customize mascot ([ashleyhull-versent](https://github.com/tootsuite/mastodon/pull/8766)) +- Add support for more granular ActivityPub audiences from other software, i.e. circles ([Gargron](https://github.com/tootsuite/mastodon/pull/8950), [Gargron](https://github.com/tootsuite/mastodon/pull/9093), [Gargron](https://github.com/tootsuite/mastodon/pull/9150)) +- Add option to block all reports from a domain ([Gargron](https://github.com/tootsuite/mastodon/pull/8830)) +- Add user preference to always expand toots marked with content warnings ([webroo](https://github.com/tootsuite/mastodon/pull/8762)) +- Add user preference to always hide all media ([fvh-P](https://github.com/tootsuite/mastodon/pull/8569)) +- Add `force_login` param to OAuth authorize page ([Gargron](https://github.com/tootsuite/mastodon/pull/8655)) +- Add `tootctl accounts backup` ([Gargron](https://github.com/tootsuite/mastodon/pull/8642), [Gargron](https://github.com/tootsuite/mastodon/pull/8811)) +- Add `tootctl accounts create` ([Gargron](https://github.com/tootsuite/mastodon/pull/8642), [Gargron](https://github.com/tootsuite/mastodon/pull/8811)) +- Add `tootctl accounts cull` ([Gargron](https://github.com/tootsuite/mastodon/pull/8642), [Gargron](https://github.com/tootsuite/mastodon/pull/8811)) +- Add `tootctl accounts delete` ([Gargron](https://github.com/tootsuite/mastodon/pull/8642), [Gargron](https://github.com/tootsuite/mastodon/pull/8811)) +- Add `tootctl accounts modify` ([Gargron](https://github.com/tootsuite/mastodon/pull/8642), [Gargron](https://github.com/tootsuite/mastodon/pull/8811)) +- Add `tootctl accounts refresh` ([Gargron](https://github.com/tootsuite/mastodon/pull/8642), [Gargron](https://github.com/tootsuite/mastodon/pull/8811)) +- Add `tootctl feeds build` ([Gargron](https://github.com/tootsuite/mastodon/pull/8642), [Gargron](https://github.com/tootsuite/mastodon/pull/8811)) +- Add `tootctl feeds clear` ([Gargron](https://github.com/tootsuite/mastodon/pull/8642), [Gargron](https://github.com/tootsuite/mastodon/pull/8811)) +- Add `tootctl settings registrations open` ([Gargron](https://github.com/tootsuite/mastodon/pull/8642), [Gargron](https://github.com/tootsuite/mastodon/pull/8811)) +- Add `tootctl settings registrations close` ([Gargron](https://github.com/tootsuite/mastodon/pull/8642), [Gargron](https://github.com/tootsuite/mastodon/pull/8811)) +- Add `min_id` param to REST API to support backwards pagination ([Gargron](https://github.com/tootsuite/mastodon/pull/8736)) +- Add a confirmation dialog when hitting reply and the compose box isn't empty ([ThibG](https://github.com/tootsuite/mastodon/pull/8893)) +- Add PostgreSQL disk space growth tracking in PGHero ([Gargron](https://github.com/tootsuite/mastodon/pull/8906)) +- Add button for disabling local account to report quick actions bar ([Gargron](https://github.com/tootsuite/mastodon/pull/9024)) +- Add Czech language ([Aditoo17](https://github.com/tootsuite/mastodon/pull/8594)) +- Add `same-site` (`lax`) attribute to cookies ([sorin-davidoi](https://github.com/tootsuite/mastodon/pull/8626)) +- Add support for styled scrollbars in Firefox Nightly ([sorin-davidoi](https://github.com/tootsuite/mastodon/pull/8653)) +- Add highlight to the active tab in web UI profiles ([rhoio](https://github.com/tootsuite/mastodon/pull/8673)) +- Add auto-focus for comment textarea in report modal ([ThibG](https://github.com/tootsuite/mastodon/pull/8689)) +- Add auto-focus for emoji picker's search field ([ThibG](https://github.com/tootsuite/mastodon/pull/8688)) +- Add nginx and systemd templates to `dist/` directory ([Gargron](https://github.com/tootsuite/mastodon/pull/8770)) +- Add support for `/.well-known/change-password` ([Gargron](https://github.com/tootsuite/mastodon/pull/8828)) +- Add option to override FFMPEG binary path ([sascha-sl](https://github.com/tootsuite/mastodon/pull/8855)) +- Add `dns-prefetch` tag when using different host for assets or uploads ([Gargron](https://github.com/tootsuite/mastodon/pull/8942)) +- Add `description` meta tag ([Gargron](https://github.com/tootsuite/mastodon/pull/8941)) +- Add `Content-Security-Policy` header ([ThibG](https://github.com/tootsuite/mastodon/pull/8957)) +- Add cache for the instance info API ([ykzts](https://github.com/tootsuite/mastodon/pull/8765)) +- Add suggested follows to search screen in mobile layout ([Gargron](https://github.com/tootsuite/mastodon/pull/9010)) +- Add CORS header to `/.well-known/*` routes ([BenLubar](https://github.com/tootsuite/mastodon/pull/9083)) +- Add `card` attribute to statuses returned from REST API ([Gargron](https://github.com/tootsuite/mastodon/pull/9120)) +- Add in-stream link preview ([Gargron](https://github.com/tootsuite/mastodon/pull/9120)) +- Add support for ActivityPub `Page` objects ([mbajur](https://github.com/tootsuite/mastodon/pull/9121)) ### Changed -- Change forms design (#8703) -- Change reports overview to group by target account (#8674) -- Change web UI to show "read more" link on overly long in-stream statuses (#8205) -- Change design of direct messages column (#8832, #9022) -- Change home timelines to exclude DMs (#8940) -- Change list timelines to exclude all replies (#8683) -- Change admin accounts UI default sort to most recent (#8813) -- Change documentation URL in the UI (#8898) -- Change style of success and failure messages (#8973) -- Change DM filtering to always allow DMs from staff (#8993) -- Change recommended Ruby version to 2.5.3 (#9003) -- Change docker-compose default to persist volumes in current directory (#9055) -- Change character counters on edit profile page to input length limit (#9100) -- Change notification filtering to always let through messages from staff (#9152) -- Change "hide boosts from user" function also hiding notifications about boosts (#9147) -- Change CSS `detailed-status__wrapper` class actually wrap the detailed status (#8547) +- Change forms design ([Gargron](https://github.com/tootsuite/mastodon/pull/8703)) +- Change reports overview to group by target account ([Gargron](https://github.com/tootsuite/mastodon/pull/8674)) +- Change web UI to show "read more" link on overly long in-stream statuses ([lanodan](https://github.com/tootsuite/mastodon/pull/8205)) +- Change design of direct messages column ([Gargron](https://github.com/tootsuite/mastodon/pull/8832), [Gargron](https://github.com/tootsuite/mastodon/pull/9022)) +- Change home timelines to exclude DMs ([Gargron](https://github.com/tootsuite/mastodon/pull/8940)) +- Change list timelines to exclude all replies ([cbayerlein](https://github.com/tootsuite/mastodon/pull/8683)) +- Change admin accounts UI default sort to most recent ([Gargron](https://github.com/tootsuite/mastodon/pull/8813)) +- Change documentation URL in the UI ([Gargron](https://github.com/tootsuite/mastodon/pull/8898)) +- Change style of success and failure messages ([Gargron](https://github.com/tootsuite/mastodon/pull/8973)) +- Change DM filtering to always allow DMs from staff ([qguv](https://github.com/tootsuite/mastodon/pull/8993)) +- Change recommended Ruby version to 2.5.3 ([zunda](https://github.com/tootsuite/mastodon/pull/9003)) +- Change docker-compose default to persist volumes in current directory ([Gargron](https://github.com/tootsuite/mastodon/pull/9055)) +- Change character counters on edit profile page to input length limit ([Gargron](https://github.com/tootsuite/mastodon/pull/9100)) +- Change notification filtering to always let through messages from staff ([Gargron](https://github.com/tootsuite/mastodon/pull/9152)) +- Change "hide boosts from user" function also hiding notifications about boosts ([ThibG](https://github.com/tootsuite/mastodon/pull/9147)) +- Change CSS `detailed-status__wrapper` class actually wrap the detailed status ([trwnh](https://github.com/tootsuite/mastodon/pull/8547)) ### Deprecated -- `GET /api/v1/timelines/direct` → `GET /api/v1/conversations` (#8832) -- `POST /api/v1/notifications/dismiss` → `POST /api/v1/notifications/:id/dismiss` (#8905) -- `GET /api/v1/statuses/:id/card` → `card` attributed included in status (#9120) +- `GET /api/v1/timelines/direct` → `GET /api/v1/conversations` ([Gargron](https://github.com/tootsuite/mastodon/pull/8832)) +- `POST /api/v1/notifications/dismiss` → `POST /api/v1/notifications/:id/dismiss` ([Gargron](https://github.com/tootsuite/mastodon/pull/8905)) +- `GET /api/v1/statuses/:id/card` → `card` attributed included in status ([Gargron](https://github.com/tootsuite/mastodon/pull/9120)) ### Removed -- Remove "on this device" label in column push settings (#8704) -- Remove rake tasks in favour of tootctl commands (#8675) +- Remove "on this device" label in column push settings ([rhoio](https://github.com/tootsuite/mastodon/pull/8704)) +- Remove rake tasks in favour of tootctl commands ([Gargron](https://github.com/tootsuite/mastodon/pull/8675)) ### Fixed -- Fix remote statuses using instance's default locale if no language given (#8861) -- Fix streaming API not exiting when port or socket is unavailable (#9023) -- Fix network calls being performed in database transaction in ActivityPub handler (#8951) -- Fix dropdown arrow position (#8637) -- Fix first element of dropdowns being focused even if not using keyboard (#8679) -- Fix tootctl requiring `bundle exec` invocation (#8619) -- Fix public pages not using animation preference for avatars (#8614) -- Fix OEmbed/OpenGraph cards not understanding relative URLs (#8669) -- Fix some dark emojis not having a white outline (#8597) -- Fix media description not being displayed in various media modals (#8678) -- Fix generated URLs of desktop notifications missing base URL (#8758) -- Fix RTL styles (#8764, #8767, #8823, #8897, #9005, #9007, #9018, #9021, #9145, #9146) -- Fix crash in streaming API when tag param missing (#8955) -- Fix hotkeys not working when no element is focused (#8998) -- Fix some hotkeys not working on detailed status view (#9006) -- Fix og:url on status pages (#9047) -- Fix upload option buttons only being visible on hover (#9074) -- Fix tootctl not returning exit code 1 on wrong arguments (#9094) -- Fix preview cards for appearing for profiles mentioned in toot (#6934, #9158) -- Fix local accounts sometimes being duplicated as faux-remote (#9109) -- Fix emoji search when the shortcode has multiple separators (#9124) -- Fix dropdowns sometimes being partially obscured by other elements (#9126) -- Fix cache not updating when reply/boost/favourite counters or media sensitivity update (#9119) -- Fix empty display name precedence over username in web UI (#9163) -- Fix td instead of th in sessions table header (#9162) -- Fix handling of content types with profile (#9132) +- Fix remote statuses using instance's default locale if no language given ([Kjwon15](https://github.com/tootsuite/mastodon/pull/8861)) +- Fix streaming API not exiting when port or socket is unavailable ([Gargron](https://github.com/tootsuite/mastodon/pull/9023)) +- Fix network calls being performed in database transaction in ActivityPub handler ([Gargron](https://github.com/tootsuite/mastodon/pull/8951)) +- Fix dropdown arrow position ([ThibG](https://github.com/tootsuite/mastodon/pull/8637)) +- Fix first element of dropdowns being focused even if not using keyboard ([ThibG](https://github.com/tootsuite/mastodon/pull/8679)) +- Fix tootctl requiring `bundle exec` invocation ([abcang](https://github.com/tootsuite/mastodon/pull/8619)) +- Fix public pages not using animation preference for avatars ([renatolond](https://github.com/tootsuite/mastodon/pull/8614)) +- Fix OEmbed/OpenGraph cards not understanding relative URLs ([ThibG](https://github.com/tootsuite/mastodon/pull/8669)) +- Fix some dark emojis not having a white outline ([ThibG](https://github.com/tootsuite/mastodon/pull/8597)) +- Fix media description not being displayed in various media modals ([ThibG](https://github.com/tootsuite/mastodon/pull/8678)) +- Fix generated URLs of desktop notifications missing base URL ([GenbuHase](https://github.com/tootsuite/mastodon/pull/8758)) +- Fix RTL styles ([mabkenar](https://github.com/tootsuite/mastodon/pull/8764), [mabkenar](https://github.com/tootsuite/mastodon/pull/8767), [mabkenar](https://github.com/tootsuite/mastodon/pull/8823), [mabkenar](https://github.com/tootsuite/mastodon/pull/8897), [mabkenar](https://github.com/tootsuite/mastodon/pull/9005), [mabkenar](https://github.com/tootsuite/mastodon/pull/9007), [mabkenar](https://github.com/tootsuite/mastodon/pull/9018), [mabkenar](https://github.com/tootsuite/mastodon/pull/9021), [mabkenar](https://github.com/tootsuite/mastodon/pull/9145), [mabkenar](https://github.com/tootsuite/mastodon/pull/9146)) +- Fix crash in streaming API when tag param missing ([Gargron](https://github.com/tootsuite/mastodon/pull/8955)) +- Fix hotkeys not working when no element is focused ([ThibG](https://github.com/tootsuite/mastodon/pull/8998)) +- Fix some hotkeys not working on detailed status view ([ThibG](https://github.com/tootsuite/mastodon/pull/9006)) +- Fix og:url on status pages ([ThibG](https://github.com/tootsuite/mastodon/pull/9047)) +- Fix upload option buttons only being visible on hover ([Gargron](https://github.com/tootsuite/mastodon/pull/9074)) +- Fix tootctl not returning exit code 1 on wrong arguments ([sascha-sl](https://github.com/tootsuite/mastodon/pull/9094)) +- Fix preview cards for appearing for profiles mentioned in toot ([ThibG](https://github.com/tootsuite/mastodon/pull/6934), [ThibG](https://github.com/tootsuite/mastodon/pull/9158)) +- Fix local accounts sometimes being duplicated as faux-remote ([Gargron](https://github.com/tootsuite/mastodon/pull/9109)) +- Fix emoji search when the shortcode has multiple separators ([ThibG](https://github.com/tootsuite/mastodon/pull/9124)) +- Fix dropdowns sometimes being partially obscured by other elements ([kedamaDQ](https://github.com/tootsuite/mastodon/pull/9126)) +- Fix cache not updating when reply/boost/favourite counters or media sensitivity update ([Gargron](https://github.com/tootsuite/mastodon/pull/9119)) +- Fix empty display name precedence over username in web UI ([Gargron](https://github.com/tootsuite/mastodon/pull/9163)) +- Fix td instead of th in sessions table header ([Gargron](https://github.com/tootsuite/mastodon/pull/9162)) +- Fix handling of content types with profile ([valerauko](https://github.com/tootsuite/mastodon/pull/9132)) ## [2.5.2] - 2018-10-12 ### Security -- Fix XSS vulnerability (#8959) +- Fix XSS vulnerability ([Gargron](https://github.com/tootsuite/mastodon/pull/8959)) ## [2.5.1] - 2018-10-07 ### Fixed -- Fix database migrations for PostgreSQL below 9.5 (#8903) -- Fix class autoloading issue in ActivityPub Create handler (#8820) -- Fix cache statistics not being sent via statsd when statsd enabled (#8831) -- Bump puma from 3.11.4 to 3.12.0 (#8883) +- Fix database migrations for PostgreSQL below 9.5 ([Gargron](https://github.com/tootsuite/mastodon/pull/8903)) +- Fix class autoloading issue in ActivityPub Create handler ([Gargron](https://github.com/tootsuite/mastodon/pull/8820)) +- Fix cache statistics not being sent via statsd when statsd enabled ([ykzts](https://github.com/tootsuite/mastodon/pull/8831)) +- Bump puma from 3.11.4 to 3.12.0 ([dependabot[bot]](https://github.com/tootsuite/mastodon/pull/8883)) ### Security -- Fix some local images not having their EXIF metadata stripped on upload (#8714) -- Fix being able to enable a disabled relay via ActivityPub Accept handler (#8864) -- Bump nokogiri from 1.8.4 to 1.8.5 (#8881) -- Fix being able to report statuses not belonging to the reported account (#8916) +- Fix some local images not having their EXIF metadata stripped on upload ([ThibG](https://github.com/tootsuite/mastodon/pull/8714)) +- Fix being able to enable a disabled relay via ActivityPub Accept handler ([ThibG](https://github.com/tootsuite/mastodon/pull/8864)) +- Bump nokogiri from 1.8.4 to 1.8.5 ([dependabot[bot]](https://github.com/tootsuite/mastodon/pull/8881)) +- Fix being able to report statuses not belonging to the reported account ([ThibG](https://github.com/tootsuite/mastodon/pull/8916)) diff --git a/Dockerfile b/Dockerfile index 6ced07455..190905337 100644 --- a/Dockerfile +++ b/Dockerfile @@ -1,5 +1,5 @@ -FROM node:8.14.0-alpine as node -FROM ruby:2.4.5-alpine3.8 +FROM node:8.15-alpine as node +FROM ruby:2.6-alpine3.8 LABEL maintainer="https://github.com/tootsuite/mastodon" \ description="Your self-hosted, globally interconnected microblogging community" diff --git a/Gemfile b/Gemfile index ec51950ca..d17ff1a51 100644 --- a/Gemfile +++ b/Gemfile @@ -13,7 +13,7 @@ gem 'hamlit-rails', '~> 0.2' gem 'pg', '~> 1.1' gem 'makara', '~> 0.4' gem 'pghero', '~> 2.2' -gem 'dotenv-rails', '~> 2.5' +gem 'dotenv-rails', '~> 2.6' gem 'aws-sdk-s3', '~> 1.30', require: false gem 'fog-core', '<= 2.1.0' @@ -75,7 +75,7 @@ gem 'rqrcode', '~> 0.10' gem 'sanitize', '~> 5.0' gem 'sidekiq', '~> 5.2' gem 'sidekiq-scheduler', '~> 3.0' -gem 'sidekiq-unique-jobs', '~> 5.0' +gem 'sidekiq-unique-jobs', '~> 6.0' gem 'sidekiq-bulk', '~>0.2.0' gem 'simple-navigation', '~> 4.0' gem 'simple_form', '~> 4.1' @@ -89,7 +89,7 @@ gem 'tzinfo-data', '~> 1.2018' gem 'webpacker', '~> 3.5' gem 'webpush' -gem 'json-ld', '~> 2.2' +gem 'json-ld', '~> 3.0' gem 'json-ld-preloaded', '~> 3.0' gem 'rdf-normalize', '~> 0.3' @@ -127,8 +127,8 @@ group :development do gem 'letter_opener', '~> 1.7' gem 'letter_opener_web', '~> 1.3' gem 'memory_profiler' - gem 'rubocop', '~> 0.62', require: false - gem 'brakeman', '~> 4.3', require: false + gem 'rubocop', '~> 0.63', require: false + gem 'brakeman', '~> 4.4', require: false gem 'bundler-audit', '~> 0.6', require: false gem 'scss_lint', '~> 0.57', require: false @@ -145,3 +145,5 @@ group :production do gem 'lograge', '~> 0.10' gem 'redis-rails', '~> 5.0' end + +gem 'concurrent-ruby', require: false diff --git a/Gemfile.lock b/Gemfile.lock index 8718bc89b..acb4b8dda 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -76,8 +76,8 @@ GEM av (0.9.0) cocaine (~> 0.5.3) aws-eventstream (1.0.1) - aws-partitions (1.122.0) - aws-sdk-core (3.43.0) + aws-partitions (1.131.0) + aws-sdk-core (3.45.0) aws-eventstream (~> 1.0) aws-partitions (~> 1.0) aws-sigv4 (~> 1.0) @@ -85,7 +85,7 @@ GEM aws-sdk-kms (1.13.0) aws-sdk-core (~> 3, >= 3.39.0) aws-sigv4 (~> 1.0) - aws-sdk-s3 (1.30.0) + aws-sdk-s3 (1.30.1) aws-sdk-core (~> 3, >= 3.39.0) aws-sdk-kms (~> 1) aws-sigv4 (~> 1.0) @@ -100,14 +100,14 @@ GEM debug_inspector (>= 0.0.1) bootsnap (1.3.2) msgpack (~> 1.0) - brakeman (4.3.1) + brakeman (4.4.0) browser (2.5.3) builder (3.2.3) bullet (5.9.0) activesupport (>= 3.0.0) uniform_notifier (~> 1.11) - bundler-audit (0.6.0) - bundler (~> 1.2) + bundler-audit (0.6.1) + bundler (>= 1.2.0, < 3) thor (~> 0.18) byebug (10.0.2) capistrano (3.11.0) @@ -148,7 +148,7 @@ GEM cocaine (0.5.8) climate_control (>= 0.0.3, < 1.0) coderay (1.1.2) - concurrent-ruby (1.0.5) + concurrent-ruby (1.1.4) connection_pool (2.2.2) crack (0.4.3) safe_yaml (~> 1.0.0) @@ -185,9 +185,9 @@ GEM unf (>= 0.0.5, < 1.0.0) doorkeeper (5.0.2) railties (>= 4.2) - dotenv (2.5.0) - dotenv-rails (2.5.0) - dotenv (= 2.5.0) + dotenv (2.6.0) + dotenv-rails (2.6.0) + dotenv (= 2.6.0) railties (>= 3.2, < 6.0) elasticsearch (6.0.2) elasticsearch-api (= 6.0.2) @@ -200,7 +200,7 @@ GEM multi_json encryptor (3.0.0) equatable (0.5.0) - erubi (1.7.1) + erubi (1.8.0) et-orbi (1.1.6) tzinfo excon (0.62.0) @@ -231,7 +231,7 @@ GEM fuubar (2.3.2) rspec-core (~> 3.0) ruby-progressbar (~> 1.4) - get_process_mem (0.2.2) + get_process_mem (0.2.3) globalid (0.4.1) activesupport (>= 4.2.0) goldfinger (2.1.0) @@ -269,7 +269,7 @@ GEM httplog (1.2.0) rack (>= 1.0) rainbow (>= 2.0.0) - i18n (1.1.1) + i18n (1.5.2) concurrent-ruby (~> 1.0) i18n-tasks (0.9.28) activesupport (>= 4.0.2) @@ -284,10 +284,10 @@ GEM idn-ruby (0.1.0) ipaddress (0.8.3) iso-639 (0.2.8) - jaro_winkler (1.5.1) + jaro_winkler (1.5.2) jmespath (1.4.0) json (2.1.0) - json-ld (2.2.1) + json-ld (3.0.2) multi_json (~> 1.12) rdf (>= 2.2.8, < 4.0) json-ld-preloaded (3.0.0) @@ -354,16 +354,16 @@ GEM net-ssh (>= 2.6.5) net-ssh (5.0.2) nio4r (2.3.1) - nokogiri (1.10.0) + nokogiri (1.10.1) mini_portile2 (~> 2.4.0) nokogumbo (2.0.0) nokogiri (~> 1.8, >= 1.8.4) - nsa (0.2.4) + nsa (0.2.7) activesupport (>= 4.2, < 6) - concurrent-ruby (~> 1.0.0) - sidekiq (>= 3.5.0) - statsd-ruby (~> 1.2.0) - oj (3.7.6) + concurrent-ruby (~> 1.0, >= 1.0.2) + sidekiq (>= 3.5) + statsd-ruby (~> 1.4, >= 1.4.0) + oj (3.7.7) omniauth (1.9.0) hashie (>= 3.4.6, < 3.7.0) rack (>= 1.6.2, < 3) @@ -392,12 +392,12 @@ GEM parallel (1.12.1) parallel_tests (2.27.1) parallel - parser (2.5.3.0) + parser (2.6.0.0) ast (~> 2.4.0) pastel (0.7.2) equatable (~> 0.5.0) tty-color (~> 0.4.0) - pg (1.1.3) + pg (1.1.4) pghero (2.2.0) activerecord pkg-config (1.3.2) @@ -427,7 +427,7 @@ GEM rack-attack (5.4.2) rack (>= 1.0, < 3) rack-cors (1.0.2) - rack-protection (2.0.4) + rack-protection (2.0.5) rack rack-proxy (0.6.4) rack @@ -467,11 +467,11 @@ GEM rake (>= 0.8.7) thor (>= 0.19.0, < 2.0) rainbow (3.0.0) - rake (12.3.1) + rake (12.3.2) rb-fsevent (0.10.3) rb-inotify (0.9.10) ffi (>= 0.5.0, < 2) - rdf (3.0.7) + rdf (3.0.9) hamster (~> 3.0) link_header (~> 0.0, >= 0.0.8) rdf-normalize (0.3.3) @@ -525,7 +525,7 @@ GEM rspec-core (~> 3.0, >= 3.0.0) sidekiq (>= 2.4.0) rspec-support (3.8.0) - rubocop (0.62.0) + rubocop (0.63.0) jaro_winkler (~> 1.5.1) parallel (~> 1.10) parser (>= 2.5, != 2.5.1.1) @@ -551,8 +551,9 @@ GEM scss_lint (0.57.1) rake (>= 0.9, < 13) sass (~> 3.5, >= 3.5.5) - sidekiq (5.2.3) + sidekiq (5.2.5) connection_pool (~> 2.2, >= 2.2.2) + rack (>= 1.5.0) rack-protection (>= 1.5.0) redis (>= 3.3.5, < 5) sidekiq-bulk (0.2.0) @@ -562,8 +563,9 @@ GEM rufus-scheduler (~> 3.2) sidekiq (>= 3) tilt (>= 1.4.0) - sidekiq-unique-jobs (5.0.10) - sidekiq (>= 4.0, <= 6.0) + sidekiq-unique-jobs (6.0.8) + concurrent-ruby (~> 1.0, >= 1.0.5) + sidekiq (>= 4.0, < 6.0) thor (~> 0) simple-navigation (4.0.5) activesupport (>= 2.3.2) @@ -586,7 +588,7 @@ GEM net-scp (>= 1.1.2) net-ssh (>= 2.8.0) stackprof (0.2.12) - statsd-ruby (1.2.1) + statsd-ruby (1.4.0) stoplight (2.1.3) streamio-ffmpeg (3.0.2) multi_json (~> 1.8) @@ -637,7 +639,7 @@ GEM activesupport (>= 4.2) rack-proxy (>= 0.6.1) railties (>= 4.2) - webpush (0.3.5) + webpush (0.3.6) hkdf (~> 0.2) jwt (~> 2.0) websocket-driver (0.7.0) @@ -659,7 +661,7 @@ DEPENDENCIES better_errors (~> 2.5) binding_of_caller (~> 0.7) bootsnap (~> 1.3) - brakeman (~> 4.3) + brakeman (~> 4.4) browser bullet (~> 5.9) bundler-audit (~> 0.6) @@ -672,12 +674,13 @@ DEPENDENCIES chewy (~> 5.0) cld3 (~> 3.2.3) climate_control (~> 0.2) + concurrent-ruby derailed_benchmarks devise (~> 4.5) devise-two-factor (~> 3.0) devise_pam_authenticatable2 (~> 9.2) doorkeeper (~> 5.0) - dotenv-rails (~> 2.5) + dotenv-rails (~> 2.6) fabrication (~> 2.20) faker (~> 1.9) fast_blank (~> 1.0) @@ -696,7 +699,7 @@ DEPENDENCIES i18n-tasks (~> 0.9) idn-ruby iso-639 - json-ld (~> 2.2) + json-ld (~> 3.0) json-ld-preloaded (~> 3.0) kaminari (~> 1.1) letter_opener (~> 1.7) @@ -743,13 +746,13 @@ DEPENDENCIES rqrcode (~> 0.10) rspec-rails (~> 3.8) rspec-sidekiq (~> 3.0) - rubocop (~> 0.62) + rubocop (~> 0.63) sanitize (~> 5.0) scss_lint (~> 0.57) sidekiq (~> 5.2) sidekiq-bulk (~> 0.2.0) sidekiq-scheduler (~> 3.0) - sidekiq-unique-jobs (~> 5.0) + sidekiq-unique-jobs (~> 6.0) simple-navigation (~> 4.0) simple_form (~> 4.1) simplecov (~> 0.16) @@ -768,7 +771,7 @@ DEPENDENCIES webpush RUBY VERSION - ruby 2.5.3p105 + ruby 2.6.0p0 BUNDLED WITH - 1.16.6 + 1.17.3 diff --git a/app/controllers/api/v1/statuses/reblogged_by_accounts_controller.rb b/app/controllers/api/v1/statuses/reblogged_by_accounts_controller.rb index 4315b0283..6851099f6 100644 --- a/app/controllers/api/v1/statuses/reblogged_by_accounts_controller.rb +++ b/app/controllers/api/v1/statuses/reblogged_by_accounts_controller.rb @@ -25,7 +25,7 @@ class Api::V1::Statuses::RebloggedByAccountsController < Api::BaseController end def paginated_statuses - Status.where(reblog_of_id: @status.id).paginate_by_max_id( + Status.where(reblog_of_id: @status.id).where(visibility: [:public, :unlisted]).paginate_by_max_id( limit_param(DEFAULT_ACCOUNTS_LIMIT), params[:max_id], params[:since_id] diff --git a/app/controllers/directories_controller.rb b/app/controllers/directories_controller.rb index 96fe4c1c6..ff7ff4a42 100644 --- a/app/controllers/directories_controller.rb +++ b/app/controllers/directories_controller.rb @@ -28,7 +28,7 @@ class DirectoriesController < ApplicationController end def set_tags - @tags = Tag.discoverable.limit(30) + @tags = Tag.discoverable.limit(30).reject { |tag| tag.cached_sample_accounts.empty? } end def set_accounts diff --git a/app/controllers/tags_controller.rb b/app/controllers/tags_controller.rb index 8e4051834..4694c823a 100644 --- a/app/controllers/tags_controller.rb +++ b/app/controllers/tags_controller.rb @@ -3,6 +3,8 @@ class TagsController < ApplicationController PAGE_SIZE = 20 + layout 'public' + before_action :set_body_classes before_action :set_instance_presenter diff --git a/app/helpers/application_helper.rb b/app/helpers/application_helper.rb index c33975cac..5097a0953 100644 --- a/app/helpers/application_helper.rb +++ b/app/helpers/application_helper.rb @@ -69,8 +69,12 @@ module ApplicationHelper tag(:meta, content: content, property: property) end - def react_component(name, props = {}) - content_tag(:div, nil, data: { component: name.to_s.camelcase, props: Oj.dump(props) }) + def react_component(name, props = {}, &block) + if block.nil? + content_tag(:div, nil, data: { component: name.to_s.camelcase, props: Oj.dump(props) }) + else + content_tag(:div, data: { component: name.to_s.camelcase, props: Oj.dump(props) }, &block) + end end def body_classes diff --git a/app/javascript/mastodon/common.js b/app/javascript/mastodon/common.js index 2b10b8c30..fba21316a 100644 --- a/app/javascript/mastodon/common.js +++ b/app/javascript/mastodon/common.js @@ -4,5 +4,9 @@ export function start() { require('font-awesome/css/font-awesome.css'); require.context('../images/', true); - Rails.start(); + try { + Rails.start(); + } catch (e) { + // If called twice + } }; diff --git a/app/javascript/mastodon/components/display_name.js b/app/javascript/mastodon/components/display_name.js index c2c40cb3f..acddf77c5 100644 --- a/app/javascript/mastodon/components/display_name.js +++ b/app/javascript/mastodon/components/display_name.js @@ -1,15 +1,17 @@ import React from 'react'; import ImmutablePropTypes from 'react-immutable-proptypes'; +import PropTypes from 'prop-types'; export default class DisplayName extends React.PureComponent { static propTypes = { account: ImmutablePropTypes.map.isRequired, others: ImmutablePropTypes.list, + localDomain: PropTypes.string, }; render () { - const { account, others } = this.props; + const { account, others, localDomain } = this.props; const displayNameHtml = { __html: account.get('display_name_html') }; let suffix; @@ -17,7 +19,13 @@ export default class DisplayName extends React.PureComponent { if (others && others.size > 1) { suffix = `+${others.size}`; } else { - suffix = @{account.get('acct')}; + let acct = account.get('acct'); + + if (acct.indexOf('@') === -1 && localDomain) { + acct = `${acct}@${localDomain}`; + } + + suffix = @{acct}; } return ( diff --git a/app/javascript/mastodon/components/hashtag.js b/app/javascript/mastodon/components/hashtag.js index a407df31e..f091d7893 100644 --- a/app/javascript/mastodon/components/hashtag.js +++ b/app/javascript/mastodon/components/hashtag.js @@ -1,16 +1,16 @@ import React from 'react'; import { Sparklines, SparklinesCurve } from 'react-sparklines'; -import { Link } from 'react-router-dom'; import { FormattedMessage } from 'react-intl'; import ImmutablePropTypes from 'react-immutable-proptypes'; +import Permalink from './permalink'; import { shortNumberFormat } from '../utils/numbers'; const Hashtag = ({ hashtag }) => (
%{instance}
pot ser que no sigui el servidor on estàs registrat per tant primer hem de redirigir-te al teu servidor."
+ remote_interaction:
+ favourite:
+ proceed: Procedir a afavorir
+ prompt: 'Vols marcar com a favorit aquest toot:'
+ reblog:
+ proceed: Procedir a impulsar
+ prompt: 'Vols impulsar aquest toot:'
+ reply:
+ proceed: Procedir a respondre
+ prompt: 'Vols respondre a aquest toot:'
remote_unfollow:
error: Error
title: Títol
unfollowed: Sense seguir
+ scheduled_statuses:
+ over_daily_limit: Has superat el límit de %{limit} toots programats per a aquell dia
+ over_total_limit: Has superat el limit de %{limit} toots programats
+ too_soon: La data programada ha de ser futura
sessions:
activity: Última activitat
browser: Navegador
diff --git a/config/locales/co.yml b/config/locales/co.yml
index c2de9e4c6..a7264e754 100644
--- a/config/locales/co.yml
+++ b/config/locales/co.yml
@@ -84,14 +84,15 @@ co:
by_domain: Duminiu
change_email:
changed_msg: Email di u contu cambiatu!
- current_email: Email attuale
- label: Mudificà l’Email
- new_email: Novu Email
- submit: Cambià Email
- title: Mudificà l’Email di %{username}
+ current_email: E-mail attuale
+ label: Mudificà l’e-mail
+ new_email: Novu e-mail
+ submit: Cambià l'e-mail
+ title: Mudificà l’e-mail di %{username}
confirm: Cunfirmà
confirmed: Cunfirmata
confirming: Cunfirmazione
+ deleted: Sguassatu
demote: Ritrugradà
disable: Disattivà
disable_two_factor_authentication: Disattivà l’identificazione à 2 fattori
@@ -100,17 +101,18 @@ co:
domain: Duminiu
edit: Mudificà
email: E-mail
- email_status: Statu di l’e-mail
+ email_status: Statutu di l’e-mail
enable: Attivà
enabled: Attivatu
feed_url: URL di u flussu
followers: Abbunati
- followers_local: "(%{local} lucali)"
followers_url: URL di l’abbunati
follows: Abbunamenti
header: Intistatura
inbox_url: URL di l’inbox
+ invited_by: Invitatu da
ip: IP
+ joined: Ghjuntu
location:
all: Tutti
local: Lucale
@@ -137,7 +139,7 @@ co:
protocol: Prutucollu
public: Pubblicu
push_subscription_expires: Spirata di l’abbunamentu PuSH
- redownload: Mette à ghjornu i ritratti
+ redownload: Mette à ghjornu u prufile
remove_avatar: Toglie l’avatar
remove_header: Toglie l'intistatura
resend_confirmation:
@@ -157,8 +159,8 @@ co:
search: Cercà
shared_inbox_url: URL di l’inbox spartuta
show:
- created_reports: Signalamenti creati da stu contu
- targeted_reports: Signalamenti creati contr’à stu contu
+ created_reports: Signalamenti fatti
+ targeted_reports: Signalatu da l'altri
silence: Silenzà
silenced: Silenzatu
statuses: Statuti
@@ -170,6 +172,7 @@ co:
undo_suspension: Ùn suspende più
unsubscribe: Disabbunassi
username: Cugnome
+ warn: Averte
web: Web
action_logs:
actions:
@@ -253,7 +256,7 @@ co:
week_users_active: attivi sta settimana
week_users_new: utilizatori sta settimana
domain_blocks:
- add_new: Aghjustà
+ add_new: Aghjustà novu blucchime di duminiu
created_msg: U blucchime di u duminiu hè attivu
destroyed_msg: U blucchime di u duminiu ùn hè più attivu
domain: Duminiu
@@ -270,6 +273,11 @@ co:
reject_media_hint: Sguassa tutti i media caricati è ricusa caricamenti futuri. Inutile per una suspensione
reject_reports: Righjittà i rapporti
reject_reports_hint: Ignurà tutti i signalamenti chì venenu d'issu duminiu. Senz'oghjettu pè e suspensione
+ rejecting_media: righjettu di i fugliali media
+ rejecting_reports: righjettu di i signalamenti
+ severity:
+ silence: silenzatu
+ suspend: suspesu
show:
affected_accounts:
one: Un contu tuccatu indè a database
@@ -279,7 +287,7 @@ co:
suspend: Ùn suspende più i conti nant’à stu duminiu
title: Ùn bluccà più u duminiu %{domain}
undo: Annullà
- undo: Annullà
+ undo: Annullà u blucchime di duminiu
email_domain_blocks:
add_new: Aghjustà
created_msg: U blucchime di u duminiu d’e-mail hè attivu
@@ -294,7 +302,20 @@ co:
back_to_account: Rivene à u Contu
title: Abbunati à %{acct}
instances:
- title: Istanze cunnisciute
+ delivery_available: Rimessa dispunibule
+ known_accounts:
+ one: "%{count} contu cunnisciutu"
+ other: "%{count} conti cunnisciuti"
+ moderation:
+ all: Tuttu
+ limited: Limitatu
+ title: Muderazione
+ title: Federazione
+ total_blocked_by_us: Bluccati da noi
+ total_followed_by_them: Siguitati da elli
+ total_followed_by_us: Siguitati da noi
+ total_reported: Rapporti nant'à elli
+ total_storage: Media aghjunti
invites:
deactivate_all: Disattivà tuttu
filter:
@@ -559,7 +580,9 @@ co:
size: Pesu
blocks: Bluccate
csv: CSV
+ domain_blocks: Blucchime di duminiu
follows: Seguitate
+ lists: Liste
mutes: Piattate
storage: I vostri media
filters:
@@ -708,10 +731,25 @@ co:
no_account_html: Ùn avete micca un contu? Pudete arregistravi quì
proceed: Cuntinuà per siguità
prompt: 'Avete da siguità:'
+ reason_html: "Perchè hè necessaria sta tappa? %{instance}
ùn hè forse micca u servore induve site arregistratu·a, allora primu duvemu riindirizzavi à u vostru servore."
+ remote_interaction:
+ favourite:
+ proceed: Cuntinuà per favurisce
+ prompt: 'Vulete aghjustà stu statutu à i vostri favuriti:'
+ reblog:
+ proceed: Cuntinuà per sparte
+ prompt: 'Vulete sparte stu statutu:'
+ reply:
+ proceed: Cuntinuà per risponde
+ prompt: 'Vulete risponde à stu statutu:'
remote_unfollow:
error: Errore
title: Titulu
unfollowed: Disabbunatu
+ scheduled_statuses:
+ over_daily_limit: Avete trapassatu a limita di %{limit} statuti planificati per stu ghjornu
+ over_total_limit: Avete trapassatu a limita di %{limit} statuti planificati
+ too_soon: A data deve esse indè u futuru
sessions:
activity: Ultima attività
browser: Navigatore
diff --git a/config/locales/cs.yml b/config/locales/cs.yml
index 8f3143fc6..424ec3dab 100644
--- a/config/locales/cs.yml
+++ b/config/locales/cs.yml
@@ -2,7 +2,7 @@
cs:
about:
about_hashtag_html: Tohle jsou veřejné tooty označené hashtagem #%{hashtag}. Pokud máte účet kdekoliv na fediverse, můžete s nimi interagovat.
- about_mastodon_html: Mastodon je sociální síť založená na otevřených webových protokolech a svobodném, otevřeném softwaru. Je decentrovalizovaná jako e-mail.
+ about_mastodon_html: Mastodon je sociální síť založená na otevřených webových protokolech a svobodném, otevřeném softwaru. Je decentralizovaná jako e-mail.
about_this: O této instanci
administered_by: 'Instanci spravuje:'
api: API
@@ -92,10 +92,11 @@ cs:
label: Změnit e-mail
new_email: Nový e-mail
submit: Změnit e-mail
- title: Změnit e-mail pro uživatele %{username}
+ title: Změnit e-mail uživateli %{username}
confirm: Potvrdit
confirmed: Potvrzeno
- confirming: Potvrzující
+ confirming: Potvrzuji
+ deleted: Smazáno
demote: Degradovat
disable: Zablokovat
disable_two_factor_authentication: Zakázat 2FA
@@ -109,12 +110,13 @@ cs:
enabled: Povoleno
feed_url: URL proudu
followers: Sledovatelé
- followers_local: "(%{local} místních)"
followers_url: URL sledovatelů
follows: Sledovaní
header: Hlavička
inbox_url: URL přijatých zpráv
+ invited_by: Pozván/a uživatelem
ip: IP
+ joined: Připojil/a se
location:
all: Vše
local: Místní
@@ -141,7 +143,7 @@ cs:
protocol: Protokol
public: Veřejný
push_subscription_expires: Odebírání PuSH expiruje
- redownload: Obnovit avatar
+ redownload: Obnovit profil
remove_avatar: Odstranit avatar
remove_header: Odstranit hlavičku
resend_confirmation:
@@ -159,10 +161,10 @@ cs:
user: Uživatel
salmon_url: URL Salmon
search: Hledat
- shared_inbox_url: URL sdílené schránky
+ shared_inbox_url: URL sdílených přijatých zpráv
show:
- created_reports: Nahlášení vytvořená z tohoto účtu
- targeted_reports: Nahlášení vytvořená o tomto účtu
+ created_reports: Vytvořená nahlášení
+ targeted_reports: Nahlášeni ostatními
silence: Utišit
silenced: Utišen/a
statuses: Příspěvky
@@ -174,6 +176,7 @@ cs:
undo_suspension: Zrušit pozastavení
unsubscribe: Přestat odebírat
username: Uživatelské jméno
+ warn: Varovat
web: Web
action_logs:
actions:
@@ -257,7 +260,7 @@ cs:
week_users_active: aktivních tento týden
week_users_new: uživatelů tento týden
domain_blocks:
- add_new: Přidat nové
+ add_new: Přidat novou blokaci domény
created_msg: Blokace domény se právě vyřizuje
destroyed_msg: Blokace domény byla zrušena
domain: Doména
@@ -272,8 +275,13 @@ cs:
title: Nová doménová blokace
reject_media: Odmítat mediální soubory
reject_media_hint: Odstraní lokálně uložené soubory a odmítne jejich stažení v budoucnosti. Nepodstatné pro pozastavení
- reject_reports: Odmítnout nahlášení
- reject_reports_hint: Ignorovat všechna nahlášení pocházející z této domény. Nepodstatné pro suspenzace
+ reject_reports: Odmítat nahlášení
+ reject_reports_hint: Ignorovat všechna nahlášení pocházející z této domény. Nepodstatné pro pozastavení
+ rejecting_media: odmítají se mediální soubory
+ rejecting_reports: odmítají se nahlášení
+ severity:
+ silence: utišené
+ suspend: pozastavené
show:
affected_accounts:
few: "%{count} účty v databázi byly ovlivněny"
@@ -284,7 +292,7 @@ cs:
suspend: Zrušit pozastavení všech existujících účtů z této domény
title: Zrušit blokaci domény %{domain}
undo: Odvolat
- undo: Odvolat
+ undo: Odvolat blokaci domény
email_domain_blocks:
add_new: Přidat nový
created_msg: E-mailová doména úspěšně přidána na černou listinu
@@ -299,7 +307,21 @@ cs:
back_to_account: Zpět na účet
title: Sledovatelé uživatele %{acct}
instances:
- title: Známé instance
+ delivery_available: Doručení je k dispozici
+ known_accounts:
+ few: "%{count} známé účty"
+ one: "%{count} známý účet"
+ other: "%{count} známých účtů"
+ moderation:
+ all: Vše
+ limited: Omezené
+ title: Moderace
+ title: Federace
+ total_blocked_by_us: Blokované námi
+ total_followed_by_them: Sledované jím
+ total_followed_by_us: Sledované námi
+ total_reported: Nahlášení o něm
+ total_storage: Mediální přílohy
invites:
deactivate_all: Deaktivovat vše
filter:
@@ -537,8 +559,11 @@ cs:
warning_title: Dostupnost rozšířeného obsahu
directories:
directory: Adresář profilů
+ enabled: Aktuálně jste v adresáři uveden/a.
+ enabled_but_waiting: Přihlásil/a jste se k uvedení v adresáři, ale ještě nemáte minimální počet sledovatelů (%{min_followers}) pro uvedení.
explanation: Objevujte uživatele podle jejich zájmů
explore_mastodon: Prozkoumejte %{title}
+ how_to_enable: Aktuálně nejste přihlášen/a do adresáře. Přihlásit se můžete níže. Použijte ve svém popisu profilu hashtagy, abyste mohl/a být uveden/a pod konkrétními hashtagy!
people:
few: "%{count} lidé"
one: "%{count} člověk"
@@ -565,7 +590,9 @@ cs:
size: Velikost
blocks: Blokujete
csv: CSV
+ domain_blocks: Blokace domén
follows: Sledujete
+ lists: Seznamy
mutes: Ignorujete
storage: Paměť médií
filters:
@@ -661,7 +688,7 @@ cs:
body: Zde najdete stručný souhrn zpráv, které jste zmeškal/a od vaší poslední návštěvy %{since}
mention: "%{name} vás zmínil/a v:"
new_followers_summary:
- few: Navíc jste získal/a %{count} nové sledovatele, zatímco jste byl/a pryč! Hurá!
+ few: Navíc jste získal/a %{count} nové sledovatele, zatímco jste byl/a pryč! Skvělé!
one: Navíc jste získal/a jednoho nového sledovatele, zatímco jste byl/a pryč! Hurá!
other: Navíc jste získal/a %{count} nových sledovatelů, zatímco jste byl/a pryč! Úžasné!
subject:
@@ -718,10 +745,25 @@ cs:
no_account_html: Ještě nemáte účet? Můžete se registrovat zde
proceed: Pokračovat ke sledování
prompt: 'Budete sledovat:'
+ reason_html: "Proč je tento krok nutný? %{instance}
nemusí být serverem, na kterém jste registrován/a, proto vás musíme nejdříve přesměrovat na váš domovský server."
+ remote_interaction:
+ favourite:
+ proceed: Pokračovat k oblíbení
+ prompt: 'Chcete si oblíbit tento toot:'
+ reblog:
+ proceed: Pokračovat k boostnutí
+ prompt: 'Chcete boostnout tento toot:'
+ reply:
+ proceed: Pokračovat k odpovězení
+ prompt: 'Chcete odpovědět na tento toot:'
remote_unfollow:
error: Chyba
title: Nadpis
unfollowed: Už nesledujete
+ scheduled_statuses:
+ over_daily_limit: Překročil/a jste limit %{limit} plánovaných tootů pro tento den
+ over_total_limit: Překročil/a jste limit %{limit} plánovaných tootů
+ too_soon: Plánované datum musí být v budoucnosti
sessions:
activity: Nejnovější aktivita
browser: Prohlížeč
diff --git a/config/locales/cy.yml b/config/locales/cy.yml
index 40cb1cac0..53b474c16 100644
--- a/config/locales/cy.yml
+++ b/config/locales/cy.yml
@@ -30,16 +30,34 @@ cy:
other_instances: Rhestr achosion
privacy_policy: Polisi preifatrwydd
source_code: Cod ffynhonnell
- status_count_after: statws
+ status_count_after:
+ few: statwsau
+ many: statwsau
+ one: statws
+ other: statwsau
+ two: statwsau
+ zero: statwsau
status_count_before: Ysgriffennwyd gan
terms: Telerau gwasanaeth
- user_count_after: defnyddwyr
+ user_count_after:
+ few: defnyddwyr
+ many: defnyddwyr
+ one: defnyddiwr
+ other: defnyddwyr
+ two: defnyddwyr
+ zero: defnyddwyr
user_count_before: Cartref i
what_is_mastodon: Beth yw Mastodon?
accounts:
choices_html: 'Dewisiadau %{name}:'
follow: Dilynwch
- followers: Dilynwyr
+ followers:
+ few: Dilynwyr
+ many: Dilynwyr
+ one: Dilynwr
+ other: Dilynwyr
+ two: Dilynwyr
+ zero: Dilynwyr
following: Yn dilyn
joined: Ymunodd %{date}
link_verified_on: Gwiriwyd perchnogaeth y ddolen yma ar %{date}
@@ -51,7 +69,13 @@ cy:
people_who_follow: Pobl sy'n dilyn %{name}
pin_errors:
following: Rhaid i ti fod yn dilyn y person yr ydych am ei gymeradwyo yn barod
- posts: Tŵtiau
+ posts:
+ few: Tŵtiau
+ many: Tŵtiau
+ one: Tŵt
+ other: Tŵtiau
+ two: Tŵtiau
+ zero: Tŵtiau
posts_tab_heading: Tŵtiau
posts_with_replies: Tŵtiau ac atebion
reserved_username: Mae'r enw defnyddiwr ar gadw
@@ -61,6 +85,8 @@ cy:
moderator: Safonwr
unfollow: Dad-ddilyn
admin:
+ account_actions:
+ action: Cyflawni gweithred
account_moderation_notes:
create: Gadael nodyn
created_msg: Crewyd nodyn cymedroli yn llwyddiannus!
@@ -80,6 +106,7 @@ cy:
confirm: Cadarnhau
confirmed: Cadarnhawyd
confirming: Cadarnhau
+ deleted: Wedi dileu
demote: Diraddio
disable: Diffodd
disable_two_factor_authentication: Diffodd 2FA
@@ -95,8 +122,11 @@ cy:
followers: Dilynwyr
followers_url: URL Dilynwyr
follows: Yn dilyn
+ header: Pennawd
inbox_url: URL Mewnflwch
+ invited_by: Gwahoddwyd gan
ip: IP
+ joined: Ymunodd
location:
all: Popeth
local: Lleol
@@ -106,6 +136,7 @@ cy:
media_attachments: Atodiadau
memorialize: Troi yn gofeb
moderation:
+ active: Yn weithredol
all: Popeth
silenced: Wedi ei dawelu
suspended: Wedi ei atal
@@ -122,7 +153,7 @@ cy:
protocol: Protocol
public: Cyhoeddus
push_subscription_expires: Tanysgrifiad PuSH yn dod i ben
- redownload: Adnewyddu afatar
+ redownload: Adnewyddu proffil
remove_avatar: Dileu afatar
resend_confirmation:
already_confirmed: Mae'r defnyddiwr hwn wedi ei gadarnhau yn barod
@@ -154,6 +185,7 @@ cy:
undo_suspension: Dadwneud ataliad
unsubscribe: Dad-danysgrifio
username: Enw defnyddiwr
+ warn: Rhybuddio
web: Gwe
action_logs:
actions:
@@ -271,7 +303,10 @@ cy:
title: Cofnod newydd yng nghosbrestr e-byst
title: Cosbrestr e-bost
instances:
- title: Achosion hysbys
+ moderation:
+ all: Pob
+ limited: Gyfyngedig
+ title: Ffederasiwn
invites:
deactivate_all: Diffodd pob un
filter:
@@ -412,7 +447,14 @@ cy:
last_delivery: Danfoniad diwethaf
title: WebSub
topic: Pwnc
+ tags:
+ accounts: Cyfrifon
+ hidden: Cudd
+ name: Hashnod
title: Gweinyddiaeth
+ warning_presets:
+ delete: Dileu
+ edit: Golygu
admin_mailer:
new_report:
body: Mae %{reporter} wedi cwyno am %{target}
@@ -497,7 +539,7 @@ cy:
'422':
content: Methwyd i ddilysu diogelwch. A ydych chi'n blocio cwcîs?
title: Methwyd i ddilysu diogelwch
- '429': Crogwyd
+ '429': Wedi'i arafu
'500':
content: Mae'n ddrwg gennym ni, ond fe aeth rhywbeth o'i le ar ein rhan ni.
title: Nid yw'r dudalen hon yn gywir
@@ -714,7 +756,13 @@ cy:
attached:
description: 'Ynghlwm: %{attached}'
image: "%{count} o luniau"
- video: "%{count} fideo"
+ video:
+ few: "%{count} fideo"
+ many: "%{count} fideo"
+ one: "%{count} fideo"
+ other: "%{count} fideo"
+ two: "%{count} fideo"
+ zero: "%{count} fideo"
boosted_from_html: Wedi ei fŵstio %{acct_link}
content_warning: 'Rhybudd cynnwys: %{warning}'
disallowed_hashtags: 'yn cynnwys yr hashnod gwaharddedig: %{tags}'
@@ -852,6 +900,12 @@ cy:
explanation: Fe wnaethoch chi gais am gopi wrth gefn llawn o'ch cyfrif Mastodon. Mae nawr yn barod i'w lawrlwytho!
subject: Mae eich archif yn barod i'w lawrlwytho
title: Allfudo archif
+ warning:
+ title:
+ disable: Cyfrif wedi'i rewi
+ none: Rhybudd
+ silence: Cyfrif cyfyngedig
+ suspend: Cyfrif wedi'i rewi
welcome:
edit_profile_action: Sefydlu proffil
edit_profile_step: Mae modd i chi addasu eich proffil drwy uwchlwytho afatar, pennawd, drwy newid eich enw arddangos a mwy. Os hoffech chi adolygu dilynwyr newydd cyn iddynt gael caniatad i'ch dilyn, mae modd i chi gloi eich cyfrif.
diff --git a/config/locales/de.yml b/config/locales/de.yml
index 12ff54aa8..f3276b4f7 100644
--- a/config/locales/de.yml
+++ b/config/locales/de.yml
@@ -1,7 +1,7 @@
---
de:
about:
- about_hashtag_html: Dies sind öffentliche Beiträge, die mit #%{hashtag} getaggt wurden. Wenn du ein Konto irgendwo im Fediversum besitzt, kannst du mit ihnen interagieren.
+ about_hashtag_html: Dies sind öffentliche Beiträge, die mit #%{hashtag} getaggt wurden. Wenn du irgendwo im Fediversum ein Konto besitzt, kannst du mit ihnen interagieren.
about_mastodon_html: Mastodon ist ein soziales Netzwerk. Es basiert auf offenen Web-Protokollen und freier, quelloffener Software. Es ist dezentral (so wie E-Mail!).
about_this: Über diese Instanz
administered_by: 'Administriert von:'
@@ -22,7 +22,7 @@ de:
not_a_product_title: Du bist ein Mensch und keine Ware
real_conversation_body: Mit 500 Zeichen pro Beitrag und Features wie Inhalts- und Bilderwarnungen kannst du dich so ausdrücken, wie du es möchtest.
real_conversation_title: Geschaffen für echte Gespräche
- within_reach_body: Verschiedene Apps für iOS, Android und andere Plattformen erlauben dir, dank unseres blühenden API-Ökosystems, dich von überall auf dem Laufenden zu halten.
+ within_reach_body: Verschiedene Apps für iOS, Android und andere Plattformen erlauben es dir, dank unseres blühenden API-Ökosystems, dich von überall auf dem Laufenden zu halten.
within_reach_title: Immer für dich da
generic_description: "%{domain} ist ein Server im Netzwerk"
hosted_on: Mastodon, beherbergt auf %{domain}
@@ -44,8 +44,8 @@ de:
choices_html: "%{name} empfiehlt:"
follow: Folgen
followers:
- one: Folgende
- other: Follower
+ one: Folgender
+ other: Folgende
following: Folgt
joined: Beigetreten am %{date}
last_active: zuletzt aktiv
@@ -81,7 +81,7 @@ de:
accounts:
are_you_sure: Bist du sicher?
avatar: Profilbild
- by_domain: Domäne
+ by_domain: Domain
change_email:
changed_msg: E-Mail-Adresse des Kontos erfolgreich geändert!
current_email: Aktuelle E-Mail-Adresse
@@ -92,6 +92,7 @@ de:
confirm: Bestätigen
confirmed: Bestätigt
confirming: Bestätigung
+ deleted: Gelöscht
demote: Degradieren
disable: Ausschalten
disable_two_factor_authentication: 2FA abschalten
@@ -104,13 +105,14 @@ de:
enable: Freischalten
enabled: Freigegeben
feed_url: Feed-URL
- followers: Folger
- followers_local: "(%{local} lokal)"
+ followers: Folgende
followers_url: URL des Folgenden
follows: Folgt
header: Header
inbox_url: Posteingangs-URL
+ invited_by: Eingeladen von
ip: IP-Adresse
+ joined: Beigetreten
location:
all: Alle
local: Lokal
@@ -137,7 +139,7 @@ de:
protocol: Protokoll
public: Öffentlich
push_subscription_expires: PuSH-Abonnement läuft aus
- redownload: Avatar neu laden
+ redownload: Profil neu laden
remove_avatar: Profilbild entfernen
remove_header: Header entfernen
resend_confirmation:
@@ -155,10 +157,10 @@ de:
user: Nutzer
salmon_url: Salmon-URL
search: Suche
- shared_inbox_url: Geteilter Posteingang URL
+ shared_inbox_url: Geteilte Posteingang-URL
show:
- created_reports: Meldungen durch dieses Konto
- targeted_reports: Meldungen über dieses Konto
+ created_reports: Erstellte Beschwerdemeldungen
+ targeted_reports: Beschwerdemeldungen von anderen
silence: Stummschalten
silenced: Stummgeschaltet
statuses: Beiträge
@@ -170,6 +172,7 @@ de:
undo_suspension: Sperre zurücknehmen
unsubscribe: Abbestellen
username: Profilname
+ warn: Warnen
web: Web
action_logs:
actions:
@@ -190,17 +193,17 @@ de:
disable_user: "%{name} hat den Login für Benutzer:in %{target} deaktiviert"
enable_custom_emoji: "%{name} hat das %{target} Emoji aktiviert"
enable_user: "%{name} hat die Anmeldung für di:en Benutzer:in %{target} aktiviert"
- memorialize_account: "%{name} hat %{target}s Profil in eine Gedenkseite umgewandelt"
+ memorialize_account: "%{name} hat %{target}s Konto in eine Gedenkseite umgewandelt"
promote_user: "%{name} hat %{target} befördert"
remove_avatar_user: "%{name} hat das Profilbild von %{target} entfernt"
reopen_report: "%{name} hat die Meldung %{target} wieder geöffnet"
reset_password_user: "%{name} hat das Passwort für di:en Benutzer:in %{target} zurückgesetzt"
resolve_report: "%{name} hat die Meldung %{target} bearbeitet"
- silence_account: "%{name} hat %{target}s Account stummgeschaltet"
- suspend_account: "%{name} hat %{target}s Account gesperrt"
+ silence_account: "%{name} hat %{target}s Konto stummgeschaltet"
+ suspend_account: "%{name} hat %{target}s Konto gesperrt"
unassigned_report: "%{name} hat die Zuweisung der Meldung %{target} entfernt"
- unsilence_account: "%{name} hat die Stummschaltung von %{target}s Account aufgehoben"
- unsuspend_account: "%{name} hat die Sperrung von %{target}s Account aufgehoben"
+ unsilence_account: "%{name} hat die Stummschaltung von %{target}s Konto aufgehoben"
+ unsuspend_account: "%{name} hat die Sperrung von %{target}s Konto aufgehoben"
update_custom_emoji: "%{name} hat das %{target} Emoji aktualisiert"
update_status: "%{name} hat den Status von %{target} aktualisiert"
deleted_status: "(gelöschter Beitrag)"
@@ -253,7 +256,7 @@ de:
week_users_active: Aktiv diese Woche
week_users_new: Benutzer:innen diese Woche
domain_blocks:
- add_new: Neu hinzufügen
+ add_new: Neue Domainblockade hinzufügen
created_msg: Die Domain-Blockade wird nun durchgeführt
destroyed_msg: Die Domain-Blockade wurde rückgängig gemacht
domain: Domain
@@ -270,6 +273,11 @@ de:
reject_media_hint: Entfernt lokal gespeicherte Mediendateien und verhindert deren künftiges Herunterladen. Für Sperren irrelevant
reject_reports: Meldungen ablehnen
reject_reports_hint: Ignoriere alle Meldungen von dieser Domain. Irrelevant für Sperrungen
+ rejecting_media: Mediendateien ablehnen
+ rejecting_reports: Beschwerdemeldungen ablehnen
+ severity:
+ silence: stummgeschaltet
+ suspend: gesperrt
show:
affected_accounts:
one: Ein Konto in der Datenbank betroffen
@@ -279,7 +287,7 @@ de:
suspend: Alle existierenden Konten dieser Domain entsperren
title: Domain-Blockade für %{domain} zurücknehmen
undo: Zurücknehmen
- undo: Zurücknehmen
+ undo: Domainblockade zurücknehmen
email_domain_blocks:
add_new: Neue hinzufügen
created_msg: E-Mail-Domain-Blockade erfolgreich erstellt
@@ -291,10 +299,23 @@ de:
title: Neue E-Mail-Domain-Blockade
title: E-Mail-Domain-Blockade
followers:
- back_to_account: Zurück zum Account
+ back_to_account: Zurück zum Konto
title: "%{acct}'s Follower"
instances:
- title: Bekannte Instanzen
+ delivery_available: Zustellung ist verfügbar
+ known_accounts:
+ one: "%{count} bekanntes Konto"
+ other: "%{count} bekannte Accounts"
+ moderation:
+ all: Alle
+ limited: Limitiert
+ title: Moderation
+ title: Föderation
+ total_blocked_by_us: Von uns gesperrt
+ total_followed_by_them: Gefolgt von denen
+ total_followed_by_us: Gefolgt von uns
+ total_reported: Beschwerdemeldungen über sie
+ total_storage: Medienanhänge
invites:
deactivate_all: Alle deaktivieren
filter:
@@ -484,8 +505,8 @@ de:
invalid_reset_password_token: Das Token zum Zurücksetzen des Passworts ist ungültig oder abgelaufen. Bitte fordere ein neues an.
login: Anmelden
logout: Abmelden
- migrate_account: Ziehe zu einem anderen Account um
- migrate_account_html: Wenn du es wünschst diesen Account zu einem anderen umzuziehen, dann kannst du es hier einstellen.
+ migrate_account: Ziehe zu einem anderen Konto um
+ migrate_account_html: Wenn du wünschst, dieses Konto zu einem anderen umzuziehen, kannst du dies hier einstellen.
or: oder
or_log_in_with: Oder anmelden mit
providers:
@@ -499,7 +520,7 @@ de:
set_new_password: Neues Passwort setzen
authorize_follow:
already_following: Du folgst diesem Konto bereits
- error: Das Profil konnte nicht geladen werden
+ error: Das Remote-Konto konnte nicht geladen werden
follow: Folgen
follow_request: 'Du hast eine Folgeanfrage gesendet an:'
following: 'Erfolg! Du folgst nun:'
@@ -532,8 +553,11 @@ de:
warning_title: Verfügbarkeit verstreuter Inhalte
directories:
directory: Profilverzeichnis
+ enabled: Du bist gerade in dem Verzeichnis gelistet.
+ enabled_but_waiting: Du bist damit einverstanden im Verzeichnis gelistet zu werden, aber du hast nicht die minimale Anzahl an Folgenden (%{min_followers}), damit es passiert.
explanation: Entdecke Benutzer basierend auf deren Interessen
explore_mastodon: Entdecke %{title}
+ how_to_enable: Du hast dich gerade nicht dazu entschieden im Verzeichnis gelistet zu werden. Du kannst dich unten dafür eintragen. Benutze Hashtags in deiner Profilbeschreibung, um unter spezifischen Hashtags gelistet zu werden!
people:
one: "%{count} Person"
other: "%{count} Leute"
@@ -559,7 +583,9 @@ de:
size: Größe
blocks: Du hast blockiert
csv: CSV
+ domain_blocks: Domainblockaden
follows: Du folgst
+ lists: Listen
mutes: Du hast stummgeschaltet
storage: Medienspeicher
filters:
@@ -631,7 +657,7 @@ de:
table:
expires_at: Läuft ab
uses: Verwendungen
- title: Leute Einladen
+ title: Leute einladen
lists:
errors:
limit: Du hast die maximale Anzahl an Listen erreicht
@@ -640,10 +666,10 @@ de:
images_and_video: Es kann kein Video an einen Beitrag, der bereits Bilder enthält, angehängt werden
too_many: Es können nicht mehr als 4 Bilder angehängt werden
migrations:
- acct: benutzername@domain des neuen Accounts
+ acct: benutzername@domain des neuen Kontos
currently_redirecting: 'Deine Profilweiterleitung wurde gesetzt auf:'
proceed: Speichern
- updated_msg: Deine Account-Migrationseinstellungen wurden erfolgreich aktualisiert!
+ updated_msg: Deine Konto-Migrationseinstellungen wurden erfolgreich aktualisiert!
moderation:
title: Moderation
notification_mailer:
@@ -705,13 +731,28 @@ de:
remote_follow:
acct: Profilname@Domain, von wo aus du dieser Person folgen möchtest
missing_resource: Die erforderliche Weiterleitungs-URL für dein Konto konnte nicht gefunden werden
- no_account_html: Noch keinen Account? Du kannst dich hier anmelden
+ no_account_html: Noch kein Konto? Du kannst dich hier anmelden
proceed: Weiter
prompt: 'Du wirst dieser Person folgen:'
+ reason_html: "Warum ist dieser Schritt erforderlich?%{instance}
ist möglicherweise nicht der Server auf dem du registriert bist, also müssen wir dich erst auf deinen Heimserver weiterleiten."
+ remote_interaction:
+ favourite:
+ proceed: Fortfahren zum Favorisieren
+ prompt: 'Du möchtest diesen Beitrag favorisieren:'
+ reblog:
+ proceed: Fortfahren zum Teilen
+ prompt: 'Du möchtest diesen Beitrag teilen:'
+ reply:
+ proceed: Fortfahren zum Antworten
+ prompt: 'Du möchtest auf diesen Beitrag antworten:'
remote_unfollow:
error: Fehler
title: Titel
unfollowed: Entfolgt
+ scheduled_statuses:
+ over_daily_limit: Du hast das Limit für geplante Beiträge, dass %{limit} beträgt, für heute erreicht
+ over_total_limit: Du hast das Limit für geplante Beiträge, dass %{limit} beträgt, erreicht
+ too_soon: Das geplante Datum muss in der Zukunft liegen
sessions:
activity: Letzte Aktivität
browser: Browser
@@ -735,7 +776,7 @@ de:
weibo: Weibo
current_session: Aktuelle Sitzung
description: "%{browser} auf %{platform}"
- explanation: Dies sind die Webbrowser, die derzeit in dein Mastodon-Konto eingeloggt sind.
+ explanation: Dies sind die Webbrowser, die derzeit in deinem Mastodon-Konto eingeloggt sind.
ip: IP-Adresse
platforms:
adobe_air: Adobe Air
@@ -762,7 +803,7 @@ de:
export: Datenexport
followers: Autorisierte Folgende
import: Datenimport
- migrate: Account-Umzug
+ migrate: Konto-Umzug
notifications: Benachrichtigungen
preferences: Einstellungen
settings: Einstellungen
@@ -803,7 +844,7 @@ de:
stream_entries:
pinned: Angehefteter Beitrag
reblogged: teilte
- sensitive_content: Heikle Inhalte
+ sensitive_content: Sensible Inhalte
terms:
body_html: |
rel="me"
-Attribut enthalten. Der Linktext is dabei egal. Hier ist ein Beispiel:'
+ explanation_html: 'Du kannst bestätigen, dass die Links in deinen Profil-Metadaten dir gehören. Dafür muss die verlinkte Website einen Link zurück auf dein Mastodon-Profil enthalten. Dieser Link muss ein rel="me"
-Attribut enthalten. Der Linktext ist dabei egal. Hier ist ein Beispiel:'
verification: Verifizierung
diff --git a/config/locales/devise.pl.yml b/config/locales/devise.pl.yml
index 54bae2925..57c21437b 100644
--- a/config/locales/devise.pl.yml
+++ b/config/locales/devise.pl.yml
@@ -18,6 +18,7 @@ pl:
mailer:
confirmation_instructions:
action: Zweryfikuj adres e-mail
+ action_with_app: Potwierdź i wróć do %{app}
explanation: Utworzyłeś(-aś) konto na %{host} podając ten adres e-mail. Jedno kliknięcie dzieli Cię od aktywacji tego konta. Jeżeli to nie Ty, zignoruj ten e-mail.
extra_html: Przeczytaj też regulamin instancji i nasze zasady użytkowania.
subject: 'Mastodon: Instrukcje weryfikacji adresu e-mail na %{instance}'
@@ -77,4 +78,8 @@ pl:
expired: wygasło, poproś o nowe
not_found: nie znaleziono
not_locked: było zablokowane
- not_saved: 'Błędy (%{count}) uniemożliwiły zapisanie zasobu %{resource}:'
+ not_saved:
+ few: 'Błędy (%{count}) uniemożliwiły zapisanie tego %{resource}:'
+ many: 'Błędy (%{count}) uniemożliwiły zapisanie tego %{resource}:'
+ one: '1 błąd nie uniemożliwił zapisanie %{resource}:'
+ other: 'Błędy (%{count}) uniemożliwiły zapisanie tego %{resource}:'
diff --git a/config/locales/devise.sk.yml b/config/locales/devise.sk.yml
index 73deb35b4..16cd9262e 100644
--- a/config/locales/devise.sk.yml
+++ b/config/locales/devise.sk.yml
@@ -60,22 +60,22 @@ sk:
signed_up: Vitaj! Tvoja registrácia bola úspešná.
signed_up_but_inactive: Registrácia bola úspešná. Avšak, účet ešte nebol aktivovaný, takže ťa nemôžeme prihlásiť.
signed_up_but_locked: Prihlasovanie úspešné. Avšak tvoj účet je zamknutý, takže ťa nieje možné prihlásiť.
- signed_up_but_unconfirmed: Správa s odkazom potvrdzujúcim registráciu bola poslaná na váš email. Pre aktváciu účtu, kliknite na daný odkaz.
- update_needs_confirmation: Účet bol úspešne zmenený ale ešte potrebujeme overiť vašu novú emailovú adresu. Pre overenie prosím kliknite na link v správe ktorú sme vám poslali na email.
- updated: Váš účet bol úspešne aktualizovaný.
+ signed_up_but_unconfirmed: Správa s odkazom na potvrdenie registrácie bola odoslaná na tvoj email. Pre aktváciu účtu, klikni prosím na daný odkaz. Takisto ale skontroluj aj svoju spam zložku, pokiaľ sa ti zdá, že si tento email nedostal/a.
+ update_needs_confirmation: Účet bol úspešne zmenený ale ešte potrebujeme overiť tvoju novú emailovú adresu. Pre overenie prosím klikni na link v správe ktorú si dostal/a na email. Takisto ale skontroluj aj svoju spam zložku, ak sa ti zdá, že si tento email nedostal/a.
+ updated: Tvoj účet bol úspešne aktualizovaný.
sessions:
- already_signed_out: Odhlásenie bolo úspešné.
- signed_in: Prihlásenie úspešné.
- signed_out: Odhlásenie úspešné.
+ already_signed_out: Odhlásil/a si sa úspešné.
+ signed_in: Prihlásil/a si sa úspešné.
+ signed_out: Odhlásil/a si sa úspešné.
unlocks:
- send_instructions: O niekoľko minút obdržíte email s inštrukciami ako nastaviť nové heslo.
- send_paranoid_instructions: Ak váš účet existuje, o niekoľko minút obdržíte email s inštrukciami ako ho odomknúť.
- unlocked: Váš účet bol úspešne odomknutý. Prosím prihláste sa.
+ send_instructions: O niekoľko minút obdržíš email s pokynmi, ako nastaviť nové heslo. Prosím, skontroluj ale aj svoju spam zložku, pokiaľ sa ti zdá, že si tento email nedostal/a.
+ send_paranoid_instructions: Ak tvoj účet existuje, o niekoľko minút obdržíš email s pokynmi ako si ho odomknúť. Prosím, skontroluj ale aj svoju spam zložku, pokiaľ sa ti zdá, že si tento email nedostal/a.
+ unlocked: Tvoj účet bol úspešne odomknutý. Pre pokračovanie sa prosím prihlás.
errors:
messages:
- already_confirmed: bol už potvrdený, skúste sa prihlásiť
- confirmation_period_expired: musí byť potvrdený do %{period}, prosím požiadajte o nový
- expired: expiroval, prosím, vyžiadajte si nový
+ already_confirmed: bol už potvrdený, skús sa prihlásiť
+ confirmation_period_expired: musí byť potvrdený do %{period}, prosím požiadaj o nový
+ expired: vypŕšal, prosím, vyžiadaj si nový
not_found: nenájdený
not_locked: nebol uzamknutý
not_saved:
diff --git a/config/locales/devise.sr.yml b/config/locales/devise.sr.yml
index 9d1359695..475d1e2a5 100644
--- a/config/locales/devise.sr.yml
+++ b/config/locales/devise.sr.yml
@@ -17,11 +17,33 @@ sr:
unconfirmed: Пре наставка морате потврдити свој налог.
mailer:
confirmation_instructions:
+ action: Потврдите адресу е-поште
+ action_with_app: Потврди и врати се на %{app}
+ explanation: Направили сте налог на %{host} са адресом ове е-поште. На један клик сте удаљени од активирања. Ако ово нисте ви, молимо игноришите ову е-пошту.
+ extra_html: Молимо да такође проверите правила ове инстанце и наше услове коришћења.
subject: 'Мастодонт: Упутство за потврду корисничког налога на инстанци %{instance}'
+ title: Потврдите адресу е-поште
+ email_changed:
+ explanation: 'Адреса ове е-поште за ваш налог ће бити промењена у:'
+ extra: Ако нисте променили вашу е-пошту, сасвим је могуће да је неко други добио приступ вашем налогу. Молимо промените лозинку одмах или контактирајте администратора инстанце ако сте закључани изван вашег налога.
+ subject: 'Мастодон: Е-пошта промењена'
+ title: Нова адреса е-поште
password_change:
+ explanation: Лозинка вашег налога је промењена.
+ extra: Ако нисте променили вашу е-пошту, сасвим је могуће да је неко други добио приступ вашем налогу. Молимо промените лозинку одмах или контактирајте администратора инстанце ако сте закључани изван вашег налога.
subject: 'Мастодонт: Лозинка промењена'
+ title: Лозинка промењена
+ reconfirmation_instructions:
+ explanation: Потврдите нову адресу да бисте променили е-пошту.
+ extra: Ако ова промена није иницирана са ваше стране, молимо игноришите ову е-пошту. Адреса е-пошта за овај Мастодон налог неће бити промењена док не приступите повезници/линку изнад.
+ subject: 'Мастодон: Потврдите е-пошту за %{instance}'
+ title: Потврдите адресу е-поште
reset_password_instructions:
+ action: Лозинка промењена
+ explanation: Затражили сте нову лозинку за ваш налог.
+ extra: Ако нисте затражили ово, молимо игноришите ову е-пошту. Ваша лозинка неће бити промењена док не приступите повезници/вези изнад и не направите нову.
subject: 'Мастодонт: Упутство за ресетовање лозинке'
+ title: Лозинка ресетована
unlock_instructions:
subject: 'Мастодонт: Упутство за откључавање корисничког налога'
omniauth_callbacks:
diff --git a/config/locales/doorkeeper.cs.yml b/config/locales/doorkeeper.cs.yml
index 352b31895..b9e9bc034 100644
--- a/config/locales/doorkeeper.cs.yml
+++ b/config/locales/doorkeeper.cs.yml
@@ -72,7 +72,7 @@ cs:
index:
application: Aplikace
created_at: Autorizováno
- date_format: "%d.%m.%Y %H:%M:%S"
+ date_format: "%d. %m. %Y %H:%M:%S"
scopes: Rozsahy
title: Vaše autorizované aplikace
errors:
diff --git a/config/locales/el.yml b/config/locales/el.yml
index 71acb47ea..c29b8301e 100644
--- a/config/locales/el.yml
+++ b/config/locales/el.yml
@@ -92,6 +92,7 @@ el:
confirm: Επιβεβαίωση
confirmed: Επιβεβαιώθηκε
confirming: Προς επιβεβαίωση
+ deleted: Διαγραμμένοι
demote: Υποβίβαση
disable: Απενεργοποίηση
disable_two_factor_authentication: Απενεργοποίηση 2FA
@@ -105,12 +106,13 @@ el:
enabled: Ενεργοποιημένο
feed_url: URL ροής
followers: Ακόλουθοι
- followers_local: "(%{local} τοπικοί)"
followers_url: URL ακολούθων
follows: Ακολουθεί
header: Επικεφαλίδα
inbox_url: URL εισερχομένων
+ invited_by: Προσκλήθηκε από
ip: IP
+ joined: Γράφτηκε
location:
all: Όλες
local: Τοπικά
@@ -170,6 +172,7 @@ el:
undo_suspension: Αναίρεση παύσης
unsubscribe: Κατάργηση εγγραφής
username: Όνομα χρήστη
+ warn: Προειδοποίηση
web: Διαδίκτυο
action_logs:
actions:
@@ -270,6 +273,11 @@ el:
reject_media_hint: Αφαιρεί τα τοπικά αποθηκευμένα αρχεία πολυμέσων και αποτρέπει τη λήψη άλλων στο μέλλον. Δεν έχει σημασία για τις αναστολές
reject_reports: Απόρριψη καταγγελιών
reject_reports_hint: Αγνόηση όσων καταγγελιών προέρχονται από αυτό τον τομέα. Δεν σχετίζεται με τις παύσεις
+ rejecting_media: απορρίπτουν αρχεία πολυμέσων
+ rejecting_reports: απορρίπτουν καταγγελίες
+ severity:
+ silence: αποσιωπημένοι
+ suspend: ανεσταλμένοι
show:
affected_accounts:
one: Επηρεάζεται ένας λογαριασμός στη βάση δεδομένων
@@ -294,7 +302,20 @@ el:
back_to_account: Επιστροφή στον λογαριασμό
title: Ακόλουθοι του/της %{acct}
instances:
+ delivery_available: Διαθέσιμη παράδοση
+ known_accounts:
+ one: "%{count} γνωστός λογαριασμός"
+ other: "%{count} γνωστοί λογαριασμοί"
+ moderation:
+ all: Όλα
+ limited: Περιορισμένα
+ title: Διαμεσολάβηση
title: Γνωστοί κόμβοι
+ total_blocked_by_us: Μπλοκάρονται από εμάς
+ total_followed_by_them: Ακολουθούνται από εκείνους
+ total_followed_by_us: Ακολουθούνται από εμάς
+ total_reported: Καταγγελίες προς εκείνους
+ total_storage: Συνημμένα πολυμέσα
invites:
deactivate_all: Απενεργοποίηση όλων
filter:
@@ -377,7 +398,7 @@ el:
desc_html: Οι προεπισκοπήσεις συνδέσμων σε τρίτους ιστότοπους θα είναι ορατές ακόμα κι όταν το πολυμέσο έχει σημειωθεί ως ευαίσθητο
title: Εμφάνιση ευαίσθητων πολυμέσων στις προεπισκοπήσεις OpenGraph
profile_directory:
- desc_html: Να επιτρέπεται ο εντοπισμός των χρηστών
+ desc_html: Να επιτρέπεται η ανακάλυψη χρηστών
title: Ενεργοποίηση του καταλόγου χρηστών
registrations:
closed_message:
@@ -532,8 +553,11 @@ el:
warning_title: Διαθεσιμότητα ήδη διανεμημένου περιεχομένου
directories:
directory: Κατάλογος λογαριασμών
+ enabled: Περιλαμβάνεσαι στον κατάλογο.
+ enabled_but_waiting: Έχεις επιλέξει να εμφανίζεσαι στον κατάλογο μεν, αλλά ακόμα δεν έχεις τον ελάχιστο αριθμό ακόλουθων (%{min_followers}) που απαιτείται για να συμπεριληφθείς.
explanation: Βρες χρήστες βάσει των ενδιαφερόντων τους
explore_mastodon: Εξερεύνησε %{title}
+ how_to_enable: Δεν έχεις επιλέξει να συμπεριληφθείς στον καταλογο. Μπορείς να επιλέξεις παρακάτω. Χρησιμοποίησε ταμπέλες στο κείμενο του βιογραφικού σου για να εμφανίζεσαι κάτω από συγκεκριμένες ταμπέλες!
people:
one: "%{count} άτομο"
other: "%{count} άτομα"
@@ -559,7 +583,9 @@ el:
size: Μέγεθος
blocks: Μπλοκάρεις
csv: CSV
+ domain_blocks: Μπλοκαρίσματα κόμβων
follows: Ακολουθείς
+ lists: Λίστες
mutes: Αποσιωπάς
storage: Αποθήκευση πολυμέσων
filters:
@@ -706,11 +732,26 @@ el:
missing_resource: Δεν βρέθηκε το απαιτούμενο URL ανακατεύθυνσης για το λογαριασμό σου
no_account_html: Δεν έχεις λογαριασμό; Μπορείς να γραφτείς εδώ
proceed: Συνέχισε για να ακολουθήσεις
- prompt: 'Θα ακολουθήσεις:'
+ prompt: 'Ετοιμάζεσαι να ακολουθήσεις:'
+ reason_html: "Γιατί χρειάζεται αυτό το βήμα; Το %{instance}
πορεία να μην είναι ο κόμβος που είσαι γραμμένος, έτσι πρέπει να σε ανακατευθύνουμε στο δικό σου."
+ remote_interaction:
+ favourite:
+ proceed: Συνέχισε για σημείωση ως αγαπημένου
+ prompt: 'Θέλεις να σημειώσεις ως αγαπημένο αυτό το τουτ:'
+ reblog:
+ proceed: Συνέχισε για προώθηση
+ prompt: 'Θέλεις να προωθήσεις αυτό το τουτ:'
+ reply:
+ proceed: Συνέχισε για να απαντήσεις
+ prompt: 'Θέλεις να απαντήσεις σε αυτό το τουτ:'
remote_unfollow:
error: Σφάλμα
title: Τίτλος
unfollowed: Σταμάτησες να ακολουθείς
+ scheduled_statuses:
+ over_daily_limit: Έχεις υπερβεί το όριο των %{limit} προγραμματισμένων τουτ για εκείνη τη μέρα
+ over_total_limit: Έχεις υπερβεί το όριο των %{limit} προγραμματισμένων τουτ
+ too_soon: Η προγραμματισμένη ημερομηνία πρέπει να είναι στο μέλλον
sessions:
activity: Τελευταία δραστηριότητα
browser: Φυλλομετρητής (Browser)
diff --git a/config/locales/en.yml b/config/locales/en.yml
index 9f57f8620..39d0dd6cf 100644
--- a/config/locales/en.yml
+++ b/config/locales/en.yml
@@ -553,8 +553,11 @@ en:
warning_title: Disseminated content availability
directories:
directory: Profile directory
+ enabled: You are currently listed in the directory.
+ enabled_but_waiting: You have opted-in to be listed in the directory, but you do not have the minimum number of followers (%{min_followers}) to be listed yet.
explanation: Discover users based on their interests
explore_mastodon: Explore %{title}
+ how_to_enable: You are not currently opted-in to the directory. You can opt-in below. Use hashtags in your bio text to be listed under specific hashtags!
people:
one: "%{count} person"
other: "%{count} people"
diff --git a/config/locales/eu.yml b/config/locales/eu.yml
index 73a60e771..6abf15201 100644
--- a/config/locales/eu.yml
+++ b/config/locales/eu.yml
@@ -105,7 +105,6 @@ eu:
enabled: Gaituta
feed_url: Jarioaren URL-a
followers: Jarraitzaileak
- followers_local: "(%{local} lokala)"
followers_url: Jarraitzaileen URL-a
follows: Jarraitzen du
header: Goiburua
diff --git a/config/locales/fr.yml b/config/locales/fr.yml
index d0c7289c8..7fa041872 100644
--- a/config/locales/fr.yml
+++ b/config/locales/fr.yml
@@ -92,6 +92,7 @@ fr:
confirm: Confirmer
confirmed: Confirmé
confirming: Confirmation
+ deleted: Effacé
demote: Rétrograder
disable: Désactiver
disable_two_factor_authentication: Désactiver l’authentification à deux facteurs
@@ -105,11 +106,11 @@ fr:
enabled: Activé
feed_url: URL du flux
followers: Abonné⋅e⋅s
- followers_local: "(%{local} local)"
followers_url: URL des abonné·e·s
follows: Abonnements
header: Entête
inbox_url: URL d’entrée
+ invited_by: Invité par
ip: Adresse IP
location:
all: Tous
@@ -137,7 +138,7 @@ fr:
protocol: Protocole
public: Publique
push_subscription_expires: Expiration de l’abonnement PuSH
- redownload: Rafraîchir les avatars
+ redownload: Rafraîchir le profil
remove_avatar: Supprimer l’avatar
remove_header: Supprimer l'entête
resend_confirmation:
@@ -157,8 +158,8 @@ fr:
search: Rechercher
shared_inbox_url: URL de la boite de réception partagée
show:
- created_reports: Signalements créés par ce compte
- targeted_reports: Signalements créés visant ce compte
+ created_reports: Signalements faits
+ targeted_reports: Signalés par d'autres
silence: Masquer
silenced: Silencié
statuses: Statuts
@@ -253,7 +254,7 @@ fr:
week_users_active: actif·ve·s cette semaine
week_users_new: utilisateur·rice·s cette semaine
domain_blocks:
- add_new: Ajouter
+ add_new: Ajouter un nouveau bloqueur de domaine
created_msg: Le blocage de domaine est désormais activé
destroyed_msg: Le blocage de domaine a été désactivé
domain: Domaine
@@ -270,6 +271,11 @@ fr:
reject_media_hint: Supprime localement les fichiers média stockés et refuse d’en télécharger ultérieurement. Ne concerne pas les suspensions
reject_reports: Rapports de rejet
reject_reports_hint: Ignorez tous les rapports provenant de ce domaine. Sans objet pour les suspensions
+ rejecting_media: rejet des fichiers multimédia
+ rejecting_reports: rejet de rapports
+ severity:
+ silence: silencié
+ suspend: suspendu
show:
affected_accounts:
one: Un compte affecté dans la base de données
@@ -279,7 +285,7 @@ fr:
suspend: Annuler la suspension sur tous les comptes existants pour ce domaine
title: Annuler le blocage de domaine pour %{domain}
undo: Annuler
- undo: Annuler
+ undo: Annuler le bloqueur de domaine
email_domain_blocks:
add_new: Ajouter
created_msg: Le blocage de domaine de courriel est désormais activé
@@ -294,7 +300,19 @@ fr:
back_to_account: Retour au compte
title: Abonné⋅e⋅s de %{acct}
instances:
- title: Instances connues
+ known_accounts:
+ one: "%{count} compte connu"
+ other: "%{count} comptes connus"
+ moderation:
+ all: Tout
+ limited: Limité
+ title: Modération
+ title: Fédération
+ total_blocked_by_us: Bloqués par nous
+ total_followed_by_them: Suivi par eux
+ total_followed_by_us: Suivi par nous
+ total_reported: Signalements à leurs propos
+ total_storage: Attachements de média
invites:
deactivate_all: Tout désactiver
filter:
@@ -532,8 +550,11 @@ fr:
warning_title: Disponibilité du contenu disséminé
directories:
directory: Annuaire des profils
+ enabled: Vous êtes actuellement listé dans l'annuaire.
+ enabled_but_waiting: Vous avez choisi d'être listé dans l'annuaire, mais vous n'avez pas encore le nombre minimum de suiveurs (%{min_followers}) pour y être inscrit.
explanation: Découvrir des utilisateurs en se basant sur leurs centres d'intérêt
explore_mastodon: Explorer %{title}
+ how_to_enable: Vous n'êtes pas encore inscrit dans l'annuaire. Vous pouvez vous inscrire ci-dessous. Utilisez des hashtags dans votre texte biographique pour être listé sous des hashtags spécifiques !
people:
one: "%{count} personne"
other: "%{count} personne"
@@ -559,7 +580,9 @@ fr:
size: Taille
blocks: Vous bloquez
csv: CSV
+ domain_blocks: Bloqueurs de domaine
follows: Vous suivez
+ lists: Listes
mutes: Vous masquez
storage: Médias stockés
filters:
@@ -708,10 +731,22 @@ fr:
no_account_html: Vous n’avez pas de compte ? Vous pouvez vous inscrire ici
proceed: Confirmer l’abonnement
prompt: 'Vous allez suivre :'
+ reason_html: "Pourquoi cette étape est-elle nécessaire? %{instance}
pourrait ne pas être le serveur où vous vous êtes inscrit, et nous devons donc vous rediriger vers votre serveur de base en premier."
+ remote_interaction:
+ favourite:
+ prompt: 'Vous souhaitez mettre ce pouet en favori :'
+ reblog:
+ prompt: 'Vous souhaitez repartager ce pouet :'
+ reply:
+ prompt: 'Vous souhaitez répondre à ce pouet :'
remote_unfollow:
error: Erreur
title: Titre
unfollowed: Non-suivi
+ scheduled_statuses:
+ over_daily_limit: Vous avez dépassé la limite de %{limit} pouets planifiés pour ce jour
+ over_total_limit: Vous avez dépassé la limite de %{limit} pouets planifiés
+ too_soon: La date planifiée doit être dans le futur
sessions:
activity: Dernière activité
browser: Navigateur
diff --git a/config/locales/gl.yml b/config/locales/gl.yml
index df5f04bae..57e150d49 100644
--- a/config/locales/gl.yml
+++ b/config/locales/gl.yml
@@ -84,14 +84,15 @@ gl:
by_domain: Dominio
change_email:
changed_msg: Cambiouse correctamente o correo-e da conta!
- current_email: Correo-e actual
- label: Cambiar correo-e
- new_email: Novo correo-e
- submit: Cambiar correo-e
- title: Cambiar o correo-e de %{username}
+ current_email: Correo actual
+ label: Cambiar correo
+ new_email: Novo correo
+ submit: Cambiar correo
+ title: Cambiar o correo de %{username}
confirm: Confirmar
confirmed: Confirmado
confirming: Confirmar
+ deleted: Eliminado
demote: Degradar
disable: Deshabilitar
disable_two_factor_authentication: Deshabilitar 2FA
@@ -99,18 +100,19 @@ gl:
display_name: Mostrar nome
domain: Dominio
edit: Editar
- email: E-mail
- email_status: Estado del correo electrónico
+ email: Email
+ email_status: Estado do correo
enable: Habilitar
enabled: Habilitado
feed_url: URL fonte
followers: Seguidoras
- followers_local: "(local %{local})"
followers_url: URL das seguidoras
follows: Segue
header: Cabeceira
inbox_url: URL da Caixa de entrada
+ invited_by: Convidada por
ip: IP
+ joined: Uniuse
location:
all: Todo
local: Local
@@ -137,7 +139,7 @@ gl:
protocol: Protocolo
public: Público
push_subscription_expires: A suscrición PuSH caduca
- redownload: Actualizar avatar
+ redownload: Actualizar perfil
remove_avatar: Eliminar avatar
remove_header: Eliminar cabeceira
resend_confirmation:
@@ -157,19 +159,20 @@ gl:
search: Busca
shared_inbox_url: URL da caixa de entrada compartida
show:
- created_reports: Informes creados por esta conta
- targeted_reports: Informes feitos sobre esta conta
+ created_reports: Informes creados
+ targeted_reports: Informes feitos por outros
silence: Acalar
silenced: Acalada
statuses: Estados
subscribe: Subscribir
suspended: Suspendida
title: Contas
- unconfirmed_email: Correo-e non confirmado
+ unconfirmed_email: Correo non confirmado
undo_silenced: Desfacer acalar
undo_suspension: Desfacer suspensión
unsubscribe: Non subscribir
username: Nome de usuaria
+ warn: Aviso
web: Web
action_logs:
actions:
@@ -253,7 +256,7 @@ gl:
week_users_active: activas estas semana
week_users_new: usuarias esta semana
domain_blocks:
- add_new: Engadir novo
+ add_new: Engadir novo bloqueo de dominio
created_msg: Estase a procesar o bloqueo do dominio
destroyed_msg: Desfixose a acción de bloqueo de dominio
domain: Dominio
@@ -270,6 +273,11 @@ gl:
reject_media_hint: Eliminar ficheiros de medios almacenados localmente e rexeita descargalos no futuro. Irrelevante para as suspensións
reject_reports: Rexeitar informes
reject_reports_hint: Ignorar todos os informes procedentes de este dominio. Irrelevante para as suspensións
+ rejecting_media: rexeitando ficheiros de medios
+ rejecting_reports: rexeitando informes
+ severity:
+ silence: acalado
+ suspend: suspendido
show:
affected_accounts:
one: Afectoulle a unha conta na base de datos
@@ -279,7 +287,7 @@ gl:
suspend: Non suspender todas as contas existentes de este dominio
title: Desfacer o bloqueo de dominio para %{domain}
undo: Desfacer
- undo: Desfacer
+ undo: Desfacer bloqueo de dominio
email_domain_blocks:
add_new: Engadir novo
created_msg: Engadeuse correctamente o dominio de email a lista negra
@@ -294,7 +302,20 @@ gl:
back_to_account: Voltar a Conta
title: Seguidoras de %{acct}
instances:
- title: Instancias coñecidas
+ delivery_available: A entrega está dispoñible
+ known_accounts:
+ one: "%{count} conta coñecida"
+ other: "%{count} contas coñecidas"
+ moderation:
+ all: Todo
+ limited: Limitado
+ title: Moderación
+ title: Federación
+ total_blocked_by_us: Bloqueado por nós
+ total_followed_by_them: Seguidas por eles
+ total_followed_by_us: Seguidas por nós
+ total_reported: Informes sobre elas
+ total_storage: Anexos de medios
invites:
deactivate_all: Desactivar todo
filter:
@@ -532,8 +553,11 @@ gl:
warning_title: Dispoñibilidade do contido espallado
directories:
directory: Directorio de perfil
+ enabled: Vostede está actualmente na lista do directorio.
+ enabled_but_waiting: Vostede optou por ser incluída no directorio, mais por agora non ten o número mínimo de seguidoras (%{min_followers}) para aparecer.
explanation: Descubra usuarias según o seu interese
explore_mastodon: Explorar %{title}
+ how_to_enable: Actualmente non solicitou ser incluída no directorio, pode facelo abaixo. Utilice etiquetas no texto de biografía para ser incluída baixo etiquetas específicas!
people:
one: "%{count} persoa"
other: "%{count} persoas"
@@ -559,7 +583,9 @@ gl:
size: Tamaño
blocks: A bloquear
csv: CSV
+ domain_blocks: Bloqueos de dominio
follows: A seguir
+ lists: Listas
mutes: Acalou
storage: Almacenamento de medios
filters:
@@ -708,10 +734,25 @@ gl:
no_account_html: Non ten unha conta? Pode rexistrarse aquí
proceed: Proceda para seguir
prompt: 'Vostede vai seguir:'
+ reason_html: "Por que é necesario este paso?%{instance}
podería non ser o servidor onde se rexistrou, así que precisamo redirixila primeiro ao seu servidor de orixe."
+ remote_interaction:
+ favourite:
+ proceed: Darlle a favorito
+ prompt: 'Vostede quere favorecer este toot:'
+ reblog:
+ proceed: Darlle a promocionar
+ prompt: 'Vostede quere promocionar este toot:'
+ reply:
+ proceed: Respostar
+ prompt: 'Vostede quere respostar a este toot:'
remote_unfollow:
error: Fallo
title: Título
unfollowed: Deixou de seguir
+ scheduled_statuses:
+ over_daily_limit: Excedeu o límite de %{limit} toots programados para ese día
+ over_total_limit: Excedeu o límite de %{limit} toots programados
+ too_soon: A data de programación debe estar no futuro
sessions:
activity: Última actividade
browser: Navegador
diff --git a/config/locales/id.yml b/config/locales/id.yml
index ae38b3f7d..fabf2746e 100644
--- a/config/locales/id.yml
+++ b/config/locales/id.yml
@@ -1,28 +1,75 @@
---
id:
about:
+ about_hashtag_html: Ini adalah toot public yang ditandai dengan #%{hashtag}. Anda bisa berinteraksi dengan mereka jika anda memiliki akun dimanapun di fediverse.
about_mastodon_html: Mastodon adalah sebuah jejaring sosial terbuka, open-sourcedesentralisasi dari platform komersial, menjauhkan anda resiko dari sebuah perusahaan yang memonopoli komunikasi anda. Pilih server yang anda percayai — apapun yang anda pilih, anda tetap dapat berinteraksi dengan semua orang. Semua orang dapat menjalankan server Mastodon sendiri dan berpartisipasi dalam jejaring sosial dengan mudah.
about_this: Tentang server ini
- closed_registrations: Pendaftaran untuk server ini sedang ditutup.
+ api: API
+ apps: Aplikasi hp
+ closed_registrations: Pendaftaran untuk server ini sedang ditutup. Tetapi, anda bisa mencari server lain untuk membuat akun dan mendapatkan akses dari jaringan yang sama di sana.
contact: Kontak
- other_instances: Server lain
+ contact_missing: Belum diset
+ contact_unavailable: Tidak Tersedia
+ documentation: Dokumentasi
+ extended_description_html: |
+ Deskripsi lainnya belum diset.
+ features: + humane_approach_body: Belajar dari kegagalan jaringan lain, Mastodon berupaya untuk membuat pilihan desain yang etis untuk melawan penyalahgunaan media sosial. + humane_approach_title: Pendekatan yang lebih manusiawi + not_a_product_body: Mastodon bukanlah jaringan komersil. Tidak ada iklan, tidak ada pengumpulan data, tidak ada batasan vendor. Tidak ada otoritas terpusat. + not_a_product_title: Anda adalah orang, bukanlah sebuah produk + real_conversation_body: Dengan 500 karakter dan dukungan konten granular dan peringatan media, anda dapat mengekspresikan diri anda sendiri sesuai yang anda mau. + real_conversation_title: Dibangun untuk percakapan yang sebenarnya + within_reach_body: Berbagai aplikasi untuk iOS, Android, dan platform lainnya berkat ekosistem API yang ramah pada pengembang untuk tetap terhubung dengan teman-teman anda dimanapun. + within_reach_title: Selalu dalam jangkauan + generic_description: "%{domain} adalah satu server dalam jaringan" + hosted_on: Mastodon dihosting di %{domain} + learn_more: Pelajari selengkapnya + other_instances: Daftar Server + privacy_policy: Kebijakan Privasi source_code: Kode sumber - status_count_after: status + status_count_after: + one: status + other: status status_count_before: Yang telah menulis - user_count_after: pengguna + terms: Kebijakan layanan + user_count_after: + one: pengguna + other: pengguna user_count_before: Tempat bernaung bagi + what_is_mastodon: Apa itu Mastodon? accounts: follow: Ikuti - followers: Pengikut - following: Mengikut + followers: + one: Pengikut + other: Pengikut + following: Mengikuti + joined: Bergabung pada %{date} + last_active: terakhir aktif + link_verified_on: Kepemilikan tautan ini telah dicek pada %{date} + media: Media + moved_html: "%{name} telah pindah ke %{new_profile_link}:" + network_hidden: Informasi ini tidak tersedia nothing_here: Tidak ada apapun disini! people_followed_by: Orang yang diikuti %{name} people_who_follow: Orang-orang yang mengikuti %{name} + pin_errors: + following: Anda harus mengikuti orang yang ingin anda endorse posts: one: Toot - other: Toots + other: Toot + posts_tab_heading: Toot + posts_with_replies: Toot dan balasan + reserved_username: Nama pengguna telah dipesan + roles: + admin: Admin + bot: Bot + moderator: Moderator unfollow: Berhenti mengikuti admin: + account_actions: + action: Lakukan aksi accounts: are_you_sure: Anda yakin? confirm: Konfirmasi diff --git a/config/locales/ja.yml b/config/locales/ja.yml index f8b249c08..7ccb2f21c 100644 --- a/config/locales/ja.yml +++ b/config/locales/ja.yml @@ -18,7 +18,7 @@ ja: features: humane_approach_body: 他の SNS の失敗から学び、Mastodon はソーシャルメディアが誤った使い方をされることの無いように倫理的な設計を目指しています。 humane_approach_title: より思いやりのある設計 - not_a_product_body: Mastodon は営利的な SNS ではありません。広告や、データの収集・解析は無く、またユーザーの囲い込みもありません。ここには中央権力はありません。 + not_a_product_body: Mastodon は営利的な SNS ではありません。広告や、データの収集・解析によるターゲティングは無く、またユーザーの囲い込みもありません。ここには中央権力はありません。 not_a_product_title: あなたは人間であり、商品ではありません real_conversation_body: 好きなように書ける500文字までの投稿や、文章やメディアの内容に警告をつけられる機能で、思い通りに自分自身を表現することができます。 real_conversation_title: 本当のコミュニケーションのために @@ -92,6 +92,7 @@ ja: confirm: 確認 confirmed: 確認済み confirming: 確認中 + deleted: 削除済み demote: 降格 disable: 無効化 disable_two_factor_authentication: 二段階認証を無効にする @@ -105,12 +106,13 @@ ja: enabled: 有効 feed_url: フィードURL followers: フォロワー数 - followers_local: "(%{local} ローカル)" followers_url: Followers URL follows: フォロー数 header: ヘッダー inbox_url: Inbox URL + invited_by: 招待した人 ip: IP + joined: 登録日 location: all: すべて local: ローカル @@ -155,7 +157,7 @@ ja: user: ユーザー salmon_url: Salmon URL search: 検索 - shared_inbox_url: Shared Inbox URL + shared_inbox_url: Shared inbox URL show: created_reports: このアカウントで作られたレポート targeted_reports: このアカウントについてのレポート @@ -170,6 +172,7 @@ ja: undo_suspension: 停止から戻す unsubscribe: 購読の解除 username: ユーザー名 + warn: 警告 web: Web action_logs: actions: @@ -253,7 +256,7 @@ ja: week_users_active: 今週活動した人数 week_users_new: 今週登録した人数 domain_blocks: - add_new: 新規追加 + add_new: ドメインブロックを追加 created_msg: ドメインブロック処理を完了しました destroyed_msg: ドメインブロックを外しました domain: ドメイン @@ -270,6 +273,11 @@ ja: reject_media_hint: ローカルに保存されたメディアファイルを削除し、今後のダウンロードを拒否します。停止とは無関係です reject_reports: レポートを拒否 reject_reports_hint: このドメインからのレポートをすべて無視します。停止とは無関係です + rejecting_media: メディアファイルを拒否中 + rejecting_reports: レポートを拒否中 + severity: + silence: サイレンス中 + suspend: 停止中 show: affected_accounts: one: データベース中の一つのアカウントに影響します @@ -294,7 +302,20 @@ ja: back_to_account: 戻る title: "%{acct}さんのフォロワー" instances: + delivery_available: 配送可能 + known_accounts: + one: 既知のアカウント数 %{count} + other: 既知のアカウント数 %{count} + moderation: + all: すべて + limited: 制限あり + title: モデレーション title: 既知のインスタンス + total_blocked_by_us: ブロック合計 + total_followed_by_them: 被フォロー合計 + total_followed_by_us: フォロー合計 + total_reported: レポート合計 + total_storage: 添付されたメディア invites: deactivate_all: すべて無効化 filter: @@ -365,7 +386,7 @@ ja: desc_html: 全ページに適用されるCSSの編集 title: カスタムCSS hero: - desc_html: フロントページに表示されます。サイズは600x100px以上推奨です。未設定の場合、インスタンスのサムネイルが使用されます + desc_html: フロントページに表示されます。サイズは600x100px以上推奨です。未設定の場合、標準のサムネイルが使用されます title: ヒーローイメージ mascot: desc_html: 複数のページに表示されます。サイズは293x205px以上推奨です。未設定の場合、標準のマスコットが使用されます @@ -532,8 +553,11 @@ ja: warning_title: 共有されたコンテンツについて directories: directory: ディレクトリ - explanation: 興味のある人を見つけよう + enabled: あなたはディレクトリに掲載されています。 + enabled_but_waiting: あなたはディレクトリへの掲載を選択しましたが、掲載に必要な最小フォロワー数 (%{min_followers} 人) を満たしていません。 + explanation: 関心を軸にユーザーを発見しよう explore_mastodon: "%{title}を探索" + how_to_enable: あなたはディレクトリへの掲載を選択していません。下記から選択できます。ハッシュタグカラムに掲載するにはプロフィール文にハッシュタグを使用してください。 people: one: "%{count} 人" other: "%{count} 人" @@ -559,7 +583,9 @@ ja: size: 容量 blocks: ブロック csv: CSV + domain_blocks: 非表示にしたドメイン follows: フォロー + lists: リスト mutes: ミュート storage: メディア filters: @@ -707,10 +733,25 @@ ja: no_account_html: アカウントをお持ちではないですか?こちらからサインアップできます proceed: フォローする prompt: 'フォローしようとしています:' + reason_html: "なぜこの手順が必要でしょうか?%{instance}
はあなたが登録されているサーバーではないかもしれないので、まずあなたのサーバーに転送する必要があります。"
+ remote_interaction:
+ favourite:
+ proceed: お気に入り登録する
+ prompt: 'お気に入り登録しようとしています:'
+ reblog:
+ proceed: ブーストする
+ prompt: 'ブーストしようとしています:'
+ reply:
+ proceed: 返信する
+ prompt: '返信しようとしています:'
remote_unfollow:
error: エラー
title: タイトル
unfollowed: フォロー解除しました
+ scheduled_statuses:
+ over_daily_limit: その日予約できる投稿数 %{limit} を超えています
+ over_total_limit: 予約できる投稿数 %{limit} を超えています
+ too_soon: より先の時間を指定してください
sessions:
activity: 最後のアクティビティ
browser: ブラウザ
diff --git a/config/locales/ko.yml b/config/locales/ko.yml
index a15066d19..bf6a8b770 100644
--- a/config/locales/ko.yml
+++ b/config/locales/ko.yml
@@ -92,6 +92,7 @@ ko:
confirm: 확인
confirmed: 확인됨
confirming: 확인 중
+ deleted: 삭제됨
demote: 모더레이터 강등
disable: 비활성화
disable_two_factor_authentication: 2단계 인증을 비활성화
@@ -99,18 +100,19 @@ ko:
display_name: 이름
domain: 도메인
edit: 편집
- email: E-mail
+ email: 이메일
email_status: 이메일 상태
enable: 활성화
- enabled: 활성화된
+ enabled: 활성
feed_url: 피드 URL
followers: 팔로워 수
- followers_local: "(%{local} 로컬)"
followers_url: 팔로워 URL
follows: 팔로잉 수
header: 헤더
inbox_url: 수신함 URL
+ invited_by: 초대자
ip: IP
+ joined: 가입
location:
all: 전체
local: 로컬
@@ -137,7 +139,7 @@ ko:
protocol: 프로토콜
public: 전체 공개
push_subscription_expires: PuSH 구독 기간 만료
- redownload: 아바타 업데이트
+ redownload: 프로필 업데이트
remove_avatar: 아바타 지우기
remove_header: 헤더 삭제
resend_confirmation:
@@ -170,6 +172,7 @@ ko:
undo_suspension: 정지 해제
unsubscribe: 구독 해제
username: 아이디
+ warn: 경고
web: 웹
action_logs:
actions:
@@ -253,7 +256,7 @@ ko:
week_users_active: 이번 주의 활성 사용자
week_users_new: 이번 주의 신규 유저
domain_blocks:
- add_new: 추가하기
+ add_new: 도메인 차단 추가하기
created_msg: 도메인 차단 처리를 완료했습니다
destroyed_msg: 도메인 차단이 해제되었습니다
domain: 도메인
@@ -272,6 +275,11 @@ ko:
reject_media_hint: 로컬에 저장된 미디어 파일을 삭제하고, 이후로도 다운로드를 거부합니다. 정지와는 관계 없습니다
reject_reports: 신고 거부
reject_reports_hint: 이 도메인으로부터의 모든 신고를 무시합니다. 정지와는 무관합니다
+ rejecting_media: 미디어 거부
+ rejecting_reports: 신고 거부
+ severity:
+ silence: 침묵
+ suspend: 정지
show:
affected_accounts:
one: 데이터베이스 중 1개의 계정에 영향을 끼칩니다
@@ -281,7 +289,7 @@ ko:
suspend: 이 도메인에 존재하는 모든 계정의 계정 정지를 해제
title: "%{domain}의 도메인 차단을 해제"
undo: 실행 취소
- undo: 실행 취소
+ undo: 도메인 차단 취소
email_domain_blocks:
add_new: 새로 추가
created_msg: 이메일 도메인 차단 규칙을 생성했습니다
@@ -296,7 +304,20 @@ ko:
back_to_account: 계정으로 돌아가기
title: "%{acct}의 팔로워"
instances:
- title: 알려진 인스턴스들
+ delivery_available: 전송 가능
+ known_accounts:
+ one: 알려진 계정 %{count}개
+ other: 알려진 계정 %{count}개
+ moderation:
+ all: 모두
+ limited: 제한됨
+ title: 모더레이션
+ title: 연합
+ total_blocked_by_us: 우리에게 차단 됨
+ total_followed_by_them: 우리를 팔로우
+ total_followed_by_us: 우리가 한 팔로우
+ total_reported: 이들에 대한 신고
+ total_storage: 미디어 첨부
invites:
deactivate_all: 전부 비활성화
filter:
@@ -534,8 +555,11 @@ ko:
warning_title: 공유된 컨텐츠에 대해서
directories:
directory: 프로필 디렉토리
+ enabled: 당신은 디렉터리에 표시 되고 있습니다.
+ enabled_but_waiting: 디렉터리에 표시 되기 위해서는 수동으로 참여해야 합니다, 하지만 디렉터리에 표시 되기 위한 최소 팔로워(%{min_followers})수에 미치지 못했습니다.
explanation: 관심사에 대한 유저들을 발견합니다
explore_mastodon: "%{title} 탐사하기"
+ how_to_enable: 아직 디렉터리에 참여하지 않았습니다. 아래에서 참여할 수 있습니다. 바이오 텍스트에 해시태그를 사용해 특정 해시태그 디렉터리에 표시 될 수 있습니다!
people:
one: "%{count}명"
other: "%{count}명"
@@ -561,7 +585,9 @@ ko:
size: 크기
blocks: 차단
csv: CSV
+ domain_blocks: 도메인 차단
follows: 팔로우
+ lists: 리스트
mutes: 뮤트
storage: 미디어
filters:
@@ -710,10 +736,25 @@ ko:
no_account_html: 계정이 없나요? 여기에서 가입 할 수 있습니다
proceed: 팔로우 하기
prompt: '팔로우 하려 하고 있습니다:'
+ reason_html: "왜 이 과정이 필요하죠?%{instance}
는 당신이 가입한 서버가 아닐 것입니다, 당신의 홈 서버로 먼저 가야 합니다."
+ remote_interaction:
+ favourite:
+ proceed: 즐겨찾기 진행
+ prompt: '이 툿을 즐겨찾기 하려고 합니다:'
+ reblog:
+ proceed: 부스트 진행
+ prompt: '이 툿을 부스트 하려 합니다:'
+ reply:
+ proceed: 답장 진행
+ prompt: '이 툿에 답장을 하려 합니다:'
remote_unfollow:
error: 에러
title: 타이틀
unfollowed: 언팔로우됨
+ scheduled_statuses:
+ over_daily_limit: 그 날짜에 대한 %{limit}개의 예약 툿 제한을 초과합니다
+ over_total_limit: 예약 툿 제한 %{limit}을 초과합니다
+ too_soon: 예약 날짜는 미래여야 합니다
sessions:
activity: 마지막 활동
browser: 브라우저
diff --git a/config/locales/nl.yml b/config/locales/nl.yml
index 776d01b45..e0d7a4a02 100644
--- a/config/locales/nl.yml
+++ b/config/locales/nl.yml
@@ -92,6 +92,7 @@ nl:
confirm: Bevestigen
confirmed: Bevestigd
confirming: Bevestiging
+ deleted: Verwijderd
demote: Degraderen
disable: Uitschakelen
disable_two_factor_authentication: 2FA uitschakelen
@@ -100,17 +101,18 @@ nl:
domain: Domein
edit: Bewerken
email: E-mail
- email_status: E-mail Status
+ email_status: E-mailstatus
enable: Inschakelen
enabled: Ingeschakeld
feed_url: Feed-URL
followers: Volgers
- followers_local: "(%{local} lokaal)"
followers_url: Volgers-URL
follows: Volgt
header: Omslagfoto
inbox_url: Inbox-URL
+ invited_by: Uitgenodigd door
ip: IP
+ joined: Geregistreerd in
location:
all: Alles
local: Lokaal
@@ -137,7 +139,7 @@ nl:
protocol: Protocol
public: Openbaar
push_subscription_expires: PuSH-abonnement verloopt op
- redownload: Avatar vernieuwen
+ redownload: Profiel vernieuwen
remove_avatar: Avatar verwijderen
remove_header: Omslagfoto verwijderen
resend_confirmation:
@@ -157,8 +159,8 @@ nl:
search: Zoeken
shared_inbox_url: Gedeelde inbox-URL
show:
- created_reports: Door dit account aangemaakte rapportages
- targeted_reports: Over dit account aangemaakte rapportages
+ created_reports: Aangemaakte rapportages
+ targeted_reports: Door anderen gerapporteerd
silence: Negeren
silenced: Genegeerd
statuses: Toots
@@ -170,6 +172,7 @@ nl:
undo_suspension: Niet langer opschorten
unsubscribe: Opzeggen
username: Gebruikersnaam
+ warn: Waarschuwen
web: Webapp
action_logs:
actions:
@@ -253,7 +256,7 @@ nl:
week_users_active: actieve gebruikers deze week
week_users_new: nieuwe gebruikers deze week
domain_blocks:
- add_new: Nieuwe toevoegen
+ add_new: Nieuwe domeinblokkade toevoegen
created_msg: Domeinblokkade wordt nu verwerkt
destroyed_msg: Domeinblokkade is ongedaan gemaakt
domain: Domein
@@ -266,10 +269,15 @@ nl:
silence: Negeren
suspend: Opschorten
title: Nieuwe domeinblokkade
- reject_media: Mediabestanden verwerpen
+ reject_media: Mediabestanden weigeren
reject_media_hint: Verwijderd lokaal opgeslagen mediabestanden en weigert deze in de toekomst te downloaden. Irrelevant voor opgeschorte domeinen
reject_reports: Rapportages weigeren
reject_reports_hint: Alle rapportages die vanaf dit domein komen negeren. Irrelevant voor opgeschorte domeinen
+ rejecting_media: mediabestanden worden geweigerd
+ rejecting_reports: rapportages worden geweigerd
+ severity:
+ silence: genegeerd
+ suspend: opgeschort
show:
affected_accounts:
one: Eén account in de database aangepast
@@ -279,7 +287,7 @@ nl:
suspend: Alle opgeschorte accounts van dit domein niet langer opschorten
title: Domeinblokkade voor %{domain} ongedaan maken
undo: Ongedaan maken
- undo: Ongedaan maken
+ undo: domeinblokkade ongedaan maken
email_domain_blocks:
add_new: Nieuwe toevoegen
created_msg: Blokkeren e-maildomein geslaagd
@@ -294,7 +302,20 @@ nl:
back_to_account: Terug naar account
title: Volgers van %{acct}
instances:
- title: Bekende servers
+ delivery_available: Bezorging is mogelijk
+ known_accounts:
+ one: "%{count} bekend account"
+ other: "%{count} bekende accounts"
+ moderation:
+ all: Alles
+ limited: Beperkt
+ title: Moderatie
+ title: Andere domeinen
+ total_blocked_by_us: Door ons geblokkeerd
+ total_followed_by_them: Door hun gevolgd
+ total_followed_by_us: Door ons gevolgd
+ total_reported: Rapportages over hun
+ total_storage: Mediabijlagen
invites:
deactivate_all: Alles deactiveren
filter:
@@ -532,8 +553,11 @@ nl:
warning_title: Verwijdering gegevens op andere servers
directories:
directory: Gebruikersgids
+ enabled: Je staat momenteel in de gebruikersgids vermeldt.
+ enabled_but_waiting: Je hebt er voor gekozen om in de gebruikersgids te worden vermeldt, maar je hebt daarvoor nog niet het minimaal aantal volgers (%{min_followers}).
explanation: Ontdek gebruikers aan de hand van hun interesses
explore_mastodon: "%{title} verkennen"
+ how_to_enable: Je geeft momenteel geen toestemming om in de gebruikersgids te worden vermeldt. Je kunt hieronder toestemming geven. Gebruik hashtags in de tekst van jouw bio, om onder bepaalde hashtags te worden vermeldt!
people:
one: "%{count} gebruikers"
other: "%{count} gebruikers"
@@ -559,7 +583,9 @@ nl:
size: Omvang
blocks: Jij blokkeert
csv: CSV
+ domain_blocks: Domeinblokkades
follows: Jij volgt
+ lists: Lijsten
mutes: Jij negeert
storage: Mediaopslag
filters:
@@ -659,8 +685,8 @@ nl:
other: "%{count} nieuwe meldingen sinds jouw laatste bezoek \U0001F418"
title: Tijdens jouw afwezigheid...
favourite:
- body: 'Jouw toot werd door %{name} als favoriet gemarkeerd:'
- subject: "%{name} markeerde jouw toot als favoriet"
+ body: 'Jouw toot werd door %{name} aan hun favorieten toegevoegd:'
+ subject: "%{name} voegde jouw toot als favoriet toe"
title: Nieuwe favoriet
follow:
body: "%{name} volgt jou nu!"
@@ -708,10 +734,25 @@ nl:
no_account_html: Heb je geen account? Je kunt er hier een registreren
proceed: Ga verder om te volgen
prompt: 'Jij gaat volgen:'
+ reason_html: " Waarom is deze extra stap nodig? %{instance}
is wellicht niet de server waarop jij je geregistreerd hebt. We verwijzen je eerst door naar jouw eigen server."
+ remote_interaction:
+ favourite:
+ proceed: Doorgaan met toevoegen aan jouw favorieten
+ prompt: 'Je wilt de volgende toot aan jouw favorieten toevoegen:'
+ reblog:
+ proceed: Doorgaan met boosten
+ prompt: 'Je wilt de volgende toot boosten:'
+ reply:
+ proceed: Doorgaan met reageren
+ prompt: 'Je wilt op de volgende toot reageren:'
remote_unfollow:
error: Fout
title: Titel
unfollowed: Ontvolgd
+ scheduled_statuses:
+ over_daily_limit: Je hebt de limiet van %{limit} in te plannen toots voor die dag overschreden
+ over_total_limit: Je hebt de limiet van %{limit} in te plannen toots overschreden
+ too_soon: De datum voor de ingeplande toot moet in de toekomst liggen
sessions:
activity: Laatst actief
browser: Webbrowser
@@ -917,6 +958,10 @@ nl:
subject: Jouw archief staat klaar om te worden gedownload
title: Archief ophalen
warning:
+ explanation:
+ disable: Zolang jouw account is bevroren blijven jouw accountgegevens intact, maar kun je geen handelingen uitvoeren totdat het account is vrijgegeven.
+ silence: Zolang jouw account wordt beperkt, kunnen alleen mensen die jou al volgen jouw toots op deze server zien. Tevens ben je niet zichtbaar in meldingen, gesprekken en op openbare tijdlijnen. Anderen kunnen je echter wel handmatig volgen.
+ suspend: Jouw account is opgeschort. Jouw toots en geüploade media zijn onomkeerbaar van deze server verwijderd, en ook o.a. van de servers waar jij volgers had.
review_server_policies: Serverbeleid bekijken
subject:
disable: Jouw account %{acct} is bevroren
diff --git a/config/locales/oc.yml b/config/locales/oc.yml
index 108f383b1..7bedded41 100644
--- a/config/locales/oc.yml
+++ b/config/locales/oc.yml
@@ -87,11 +87,12 @@ oc:
current_email: Adreça actuala
label: Cambiar d’adreça
new_email: Novèla adreça
- submit: Cambiar
+ submit: Cambiar l’adreça
title: Cambiar l’adreça a %{username}
confirm: Confirmar
confirmed: Confirmat
confirming: Confirmacion
+ deleted: Suprimits
demote: Retrogradar
disable: Desactivar
disable_two_factor_authentication: Desactivar 2FA
@@ -105,12 +106,13 @@ oc:
enabled: Activat
feed_url: Flux URL
followers: Seguidors
- followers_local: "(%{local} local)"
followers_url: URL dels seguidors
follows: Abonaments
header: Bandièra
inbox_url: URL de recepcion
+ invited_by: Convidat per
ip: IP
+ joined: Venguèt
location:
all: Totes
local: Locals
@@ -137,7 +139,7 @@ oc:
protocol: Protocòl
public: Public
push_subscription_expires: Fin de l’abonament PuSH
- redownload: Actualizar los avatars
+ redownload: Actualizar lo perfil
remove_avatar: Supriir l’avatar
remove_header: Levar la bandièra
resend_confirmation:
@@ -157,8 +159,8 @@ oc:
search: Cercar
shared_inbox_url: URL de recepcion partejada
show:
- created_reports: Rapòrts creat per aqueste compte
- targeted_reports: Rapòrts faches tocant aqueste compte
+ created_reports: Senhalaments creats
+ targeted_reports: Senhalaments dels autres
silence: Silenci
silenced: Rescondut
statuses: Estatuts
@@ -170,6 +172,7 @@ oc:
undo_suspension: Levar la suspension
unsubscribe: Se desabonar
username: Nom d’utilizaire
+ warn: Avisar
web: Web
action_logs:
actions:
@@ -253,7 +256,7 @@ oc:
week_users_active: actius aquesta setmana
week_users_new: utilizaires aquesta setmana
domain_blocks:
- add_new: Ajustar
+ add_new: Ajustar un novèl blocatge de domeni
created_msg: Domeni blocat es a èsser tractat
destroyed_msg: Lo blocatge del domeni es estat levat
domain: Domeni
@@ -270,6 +273,11 @@ oc:
reject_media_hint: Lèva los fichièrs gardats localament e regèta las demandas de telecargament dins lo futur. Servís pas a res per las suspensions
reject_reports: Regetar los senhalaments
reject_reports_hint: Ignorar totes los senhalaments que venon d’aqueste domeni. Pas pertiment per las suspensions
+ rejecting_media: regeta los fichièrs multimèdias
+ rejecting_reports: regeta los senhalements
+ severity:
+ silence: mes en silenci
+ suspend: suspendut
show:
affected_accounts:
one: Un compte de la basa de donadas tocat
@@ -294,7 +302,20 @@ oc:
back_to_account: Tornar al compte
title: Seguidors de %{acct}
instances:
- title: Instàncias conegudas
+ delivery_available: Liurason disponibla
+ known_accounts:
+ one: "%{count} compte conegut"
+ other: "%{count} comptes coneguts"
+ moderation:
+ all: Totas
+ limited: Limitat
+ title: Moderacion
+ title: Federacion
+ total_blocked_by_us: Avèm blocat
+ total_followed_by_them: Sègon
+ total_followed_by_us: Seguèm
+ total_reported: Senhalament a prepaus d’eles
+ total_storage: Fichièrs junts
invites:
deactivate_all: O desactivar tot
filter:
@@ -588,8 +609,11 @@ oc:
warning_title: Disponibilitat del contengut difusat
directories:
directory: Annuari de perfils
+ enabled: Sètz actualament listat dins l'annuari.
+ enabled_but_waiting: Avètz causit d'èsser listat dins l'annuari mas avètz pas encara lo nombre minimum de seguidors (%{min_followers}) per i èsser listat.
explanation: Trobar d’utilizaires segon lor interèsses
explore_mastodon: Explorar %{title}
+ how_to_enable: Sètz pas actualament listat dins l’annuari. Podètz cambiar aquò çai-jos. Utilizatz d'etiquetas dins vòstre tèxt de bio per èsser listat amb d’etiquetas especificas !
people:
one: "%{count} persona"
other: "%{count} personas"
@@ -615,7 +639,9 @@ oc:
size: Talha
blocks: Personas que blocatz
csv: CSV
+ domain_blocks: Blocatge de domenis
follows: Personas que seguètz
+ lists: Listas
mutes: Personas rescondudas
storage: Mèdias gardats
filters:
@@ -764,10 +790,25 @@ oc:
no_account_html: Avètz pas cap de compte ? Podètz vos marcar aquí
proceed: Clicatz per sègre
prompt: 'Sètz per sègre :'
+ reason_html: "Perque aquesta etapa es necessària ?%{instance}
es benlèu pas lo servidor ont vos marquèretz, doncas nos cal vos redirigir cap a vòstre prim servidor per començar."
+ remote_interaction:
+ favourite:
+ proceed: Contunhar per metre en favorit
+ prompt: 'Volètz metre en favorit aqueste tut :'
+ reblog:
+ proceed: Contunhar per repartejar
+ prompt: 'Volètz repartejar aqueste tut :'
+ reply:
+ proceed: Contunhar per respondre
+ prompt: 'Volètz respondre a aqueste tut :'
remote_unfollow:
error: Error
title: Títol
unfollowed: Pas mai seguit
+ scheduled_statuses:
+ over_daily_limit: Avètz passat la limita de %{limit} tuts programats per aquel jorn
+ over_total_limit: Avètz passat la limita de %{limit} tuts programats
+ too_soon: La data planificada deu èsser dins lo futur
sessions:
activity: Darrièra activitat
browser: Navigator
diff --git a/config/locales/pl.yml b/config/locales/pl.yml
index 7d9a05919..beadae14d 100644
--- a/config/locales/pl.yml
+++ b/config/locales/pl.yml
@@ -78,6 +78,9 @@ pl:
moderator: Moderator
unfollow: Przestań śledzić
admin:
+ account_actions:
+ action: Wykonaj działanie
+ title: Wykonaj działanie moderacyjne na %{acct}
account_moderation_notes:
create: Pozostaw notatkę
created_msg: Pomyślnie dodano notatkę moderacyjną!
@@ -97,6 +100,7 @@ pl:
confirm: Potwierdź
confirmed: Potwierdzono
confirming: Potwierdzanie
+ deleted: Usunięto
demote: Degraduj
disable: Dezaktywuj
disable_two_factor_authentication: Wyłącz uwierzytelnianie dwuetapowe
@@ -112,8 +116,11 @@ pl:
followers: Śledzący
followers_url: Adres śledzących
follows: Śledzeni
+ header: Nagłówek
inbox_url: Adres skrzynki
+ invited_by: Zaproszony(-a) przez
ip: Adres IP
+ joined: Dołączył(-a)
location:
all: Wszystkie
local: Lokalne
@@ -140,8 +147,9 @@ pl:
protocol: Protokół
public: Publiczne
push_subscription_expires: Subskrypcja PuSH wygasa
- redownload: Odśwież awatar
+ redownload: Odśwież profil
remove_avatar: Usun awatar
+ remove_header: Usuń nagłówek
resend_confirmation:
already_confirmed: To konto zostało już potwierdzone
send: Wyślij ponownie e-mail z potwierdzeniem
@@ -172,12 +180,14 @@ pl:
undo_suspension: Cofnij zawieszenie
unsubscribe: Przestań subskrybować
username: Nazwa użytkownika
+ warn: Ostrzeż
web: Sieć
action_logs:
actions:
assigned_to_self_report: "%{name} przypisał(a) sobie zgłoszenie %{target}"
change_email_user: "%{name} zmienił(a) adres e-mail użytkownika %{target}"
confirm_user: "%{name} potwierdził(a) adres e-mail użytkownika %{target}"
+ create_account_warning: "%{name} wysłał(a) ostrzeżenie do %{target}"
create_custom_emoji: "%{name} dodał(a) nowe emoji %{target}"
create_domain_block: "%{name} zablokował(a) domenę %{target}"
create_email_domain_block: "%{name} dodał(a) domenę e-mail %{target} na czarną listę"
@@ -271,8 +281,17 @@ pl:
reject_media_hint: Usuwa przechowywane lokalnie pliki multimedialne i nie pozwala na ich pobieranie. Nieprzydatne przy zawieszeniu
reject_reports: Odrzucaj zgłoszenia
reject_reports_hint: Zgłoszenia z tej instancji będą ignorowane. Nieprzydatne przy zawieszeniu
+ rejecting_media: pliki multimedialne są odrzucane
+ rejecting_reports: zgłoszenia są odrzucane
+ severity:
+ silence: wyciszono
+ suspend: zawieszono
show:
- affected_accounts: Dotyczy %{count} kont w bazie danych
+ affected_accounts:
+ few: Dotknęło %{count} kont w bazie danych
+ many: Dotknęło %{count} kont w bazie danych
+ one: Dotknęło jedno konto w bazie danych
+ other: Dotknęło %{count} kont w bazie danych
retroactive:
silence: Odwołaj wyciszenie wszystkich kont w tej domenie
suspend: Odwołaj zawieszenie wszystkich kont w tej domenie
@@ -289,8 +308,26 @@ pl:
create: Utwórz blokadę
title: Nowa blokada domeny e-mail
title: Blokowanie domen e-mail
+ followers:
+ back_to_account: Wróć do konta
+ title: Śledzący %{acct}
instances:
+ delivery_available: Doręczanie jest dostępne
+ known_accounts:
+ few: "%{count} znane konta"
+ many: "%{count} znane konta"
+ one: "%{count} znane konto"
+ other: "%{count} znane konta"
+ moderation:
+ all: Wszystkie
+ limited: Ograniczone
+ title: Moderacja
title: Znane instancje
+ total_blocked_by_us: Zablokowane przez nas
+ total_followed_by_them: Śledzeni przez nich
+ total_followed_by_us: Śledzeni przez nas
+ total_reported: Zgłoszenia dotyczące ich
+ total_storage: Załączniki multimedialne
invites:
deactivate_all: Unieważnij wszystkie
filter:
@@ -443,6 +480,12 @@ pl:
unhide: Pokazuj w katalogu
visible: Widoczne
title: Administracja
+ warning_presets:
+ add_new: Dodaj nowy
+ delete: Usuń
+ edit: Edytuj
+ edit_preset: Edytuj szablon ostrzeżenia
+ title: Zarządzaj szablonami ostrzeżeń
admin_mailer:
new_report:
body: Użytkownik %{reporter} zgłosił(a) %{target}
@@ -551,7 +594,9 @@ pl:
size: Rozmiar
blocks: Zablokowani
csv: CSV
+ domain_blocks: Blokady domen
follows: Śledzeni
+ lists: Listy
mutes: Wyciszeni
storage: Urządzenie przechowujące dane
filters:
@@ -915,6 +960,22 @@ pl:
explanation: Zażądałeś pełnej kopii zapasowej konta na Mastodonie. Jest ona dostępna do pobrania!
subject: Twoje archiwum jest gotowe do pobrania
title: Odbiór archiwum
+ warning:
+ explanation:
+ disable: Kiedy Twoje konto jest wyłączone, Twoje dane pozostają na serwerze, ale nie możesz wykonywać żadnych działań, zanim zostanie odblokowane.
+ silence: Kiedy Twoje konto jest ograniczone, tylko osoby które je śledzą będą widzieć Twoje wpisy. Może ono też przestać być widoczne na publicznych listach. Inni wciąż mogą zacząć Cię śledzić.
+ suspend: Twoje konto zostało zawieszone i wszystkie Twoje wpisy wraz z zawartością multimedialną zostały nieodwracalnie usunięte z tego serwera i serwerów, których użytkownicy śledzili Cię.
+ review_server_policies: Przejrzyj zasady serwera
+ subject:
+ disable: Twoje konto %{acct} zostało wyłączone
+ none: Ostrzeżenie dla %{acct}
+ silence: Twoje konto %{acct} zostało ograniczone
+ suspend: Twoje konto %{acct} zostało zawieszone
+ title:
+ disable: Konto wyłączone
+ none: Ostrzeżenie
+ silence: Konto ograniczone
+ suspend: Konto zawieszone
welcome:
edit_profile_action: Skonfiguruj profil
edit_profile_step: Możesz dostować profil wysyłając awatar, obraz nagłówka, zmieniając wyświetlaną nazwę i wiele więcej. Jeżeli chcesz, możesz zablokować konto, aby kontrolować, kto może Cię śledzić.
diff --git a/config/locales/pt-BR.yml b/config/locales/pt-BR.yml
index e0d833c1e..3dfc625aa 100644
--- a/config/locales/pt-BR.yml
+++ b/config/locales/pt-BR.yml
@@ -92,6 +92,7 @@ pt-BR:
confirm: Confirmar
confirmed: Confirmado
confirming: Confirmando
+ deleted: Excluído
demote: Rebaixar
disable: Desativar
disable_two_factor_authentication: Desativar 2FA
@@ -105,12 +106,13 @@ pt-BR:
enabled: Ativado
feed_url: URL do feed
followers: Seguidores
- followers_local: "(%{local} local)"
followers_url: URL de seguidores
follows: Segue
header: Cabeçalho
inbox_url: URL da caixa de entrada
+ invited_by: Convidado por
ip: IP
+ joined: Se cadastrou
location:
all: Todos
local: Local
@@ -137,7 +139,7 @@ pt-BR:
protocol: Protocolo
public: Público
push_subscription_expires: Inscrição PuSH expira
- redownload: Atualizar avatar
+ redownload: Atualizar perfil
remove_avatar: Remover avatar
remove_header: Remover cabeçalho
resend_confirmation:
@@ -170,6 +172,7 @@ pt-BR:
undo_suspension: Retirar suspensão
unsubscribe: Desinscrever-se
username: Nome de usuário
+ warn: Notificar
web: Web
action_logs:
actions:
@@ -253,7 +256,7 @@ pt-BR:
week_users_active: ativos essa semana
week_users_new: usuários essa semana
domain_blocks:
- add_new: Adicionar novo
+ add_new: Adicionar novo bloqueio de domínio
created_msg: Bloqueio de domínio está sendo processado
destroyed_msg: Bloqueio de domínio desfeito
domain: Domínio
@@ -270,6 +273,11 @@ pt-BR:
reject_media_hint: Remove arquivos de mídia armazenados localmente e recusa quaisquer outros no futuro. Irrelevante para suspensões
reject_reports: Rejeitar denúncias
reject_reports_hint: Ignorar todas as denúncias vindas deste domíno. Irrelevante para suspensões
+ rejecting_media: rejeitando arquivos de mídia
+ rejecting_reports: rejeitando denúncias
+ severity:
+ silence: silenciado
+ suspend: suspenso
show:
affected_accounts:
one: Uma conta no banco de dados foi afetada
@@ -279,7 +287,7 @@ pt-BR:
suspend: Retirar suspensão de todas as contas neste domínio
title: Retirar bloqueio de domínio de %{domain}
undo: Retirar
- undo: Retirar
+ undo: Retirar bloqueio de domínio
email_domain_blocks:
add_new: Adicionar novo
created_msg: Bloqueio de domínio de e-mail criado com sucesso
@@ -294,7 +302,20 @@ pt-BR:
back_to_account: Voltar para a conta
title: Pessoas que seguem %{acct}
instances:
- title: Instâncias conhecidas
+ delivery_available: Entrega está disponível
+ known_accounts:
+ one: "%{count} conta conhecida"
+ other: "%{count} contas conhecidas"
+ moderation:
+ all: Todas
+ limited: Limitado
+ title: Moderação
+ title: Federação
+ total_blocked_by_us: Bloqueado por nós
+ total_followed_by_them: Seguidos por eles
+ total_followed_by_us: Seguidos por nós
+ total_reported: Denúncias sobre eles
+ total_storage: Mídias anexadas
invites:
deactivate_all: Desativar todos
filter:
@@ -535,8 +556,8 @@ pt-BR:
explanation: Descobrir usuários baseado em seus interesses
explore_mastodon: Explorar %{title}
people:
- one: "%{count} pessoas"
- other: "%{count} pessoa"
+ one: "%{count} pessoa"
+ other: "%{count} pessoas"
errors:
'403': Você não tem permissão para ver esta página.
'404': A página pela qual você está procurando não existe.
@@ -559,7 +580,9 @@ pt-BR:
size: Tamanho
blocks: Você bloqueou
csv: CSV
+ domain_blocks: Bloqueios de domínio
follows: Você segue
+ lists: Listas
mutes: Você silenciou
storage: Armazenamento de mídia
filters:
@@ -708,10 +731,25 @@ pt-BR:
no_account_html: Não tem uma conta? Você pode cadastrar-se aqui
proceed: Prosseguir para seguir
prompt: 'Você irá seguir:'
+ reason_html: "Por que esse passo é necessário? %{instance}
pode não ser o servidor onde você se registrou, então precisamos redirecionar você para o seu servidor primeiro."
+ remote_interaction:
+ favourite:
+ proceed: Proceder para favoritar
+ prompt: 'Você quer favoritar este toot:'
+ reblog:
+ proceed: Proceder para compartilhar
+ prompt: 'Você quer compartilhar esse toot:'
+ reply:
+ proceed: Proceder para responder
+ prompt: 'Você quer responder à esse toot:'
remote_unfollow:
error: Erro
title: Título
unfollowed: Deixou de seguir
+ scheduled_statuses:
+ over_daily_limit: Você excedeu o limite de %{limit} toots planejados para esse dia
+ over_total_limit: Você excedeu o limite de %{limit} toots planejados
+ too_soon: A data planejada precisa ser no futuro
sessions:
activity: Última atividade
browser: Navegador
diff --git a/config/locales/ro.yml b/config/locales/ro.yml
index 60a38b7c6..aa4d3c967 100644
--- a/config/locales/ro.yml
+++ b/config/locales/ro.yml
@@ -1,6 +1,8 @@
---
ro:
about:
+ features:
+ not_a_product_title: Ești o persoană, nu un produs
hosted_on: Mastodon găzduit de %{domain}
accounts:
posts:
@@ -64,7 +66,7 @@ ro:
success_msg: Contul tău a fost șterg. Nu mai poate fi recuperat :D
warning_html: Doar ștergerea conținutului de pe acest server este garantată. Conținutul tău care a fost redistribuit în alte instațe e posibil să lase urme. Serverele deconecate sau care nu mai sunt abonate la actualizările contului tău nu își vor mai actualiza baza de date.
directories:
- explanation: Descoperă utilizatori în funcție de interesele lor
+ explanation: Descoperă oameni și companii în funcție de interesele lor
explore_mastodon: Explorează %{title}
people:
few: "%{count} persoană"
diff --git a/config/locales/simple_form.ar.yml b/config/locales/simple_form.ar.yml
index ad94a9d5d..ef1d269ee 100644
--- a/config/locales/simple_form.ar.yml
+++ b/config/locales/simple_form.ar.yml
@@ -6,6 +6,8 @@ ar:
text: بإمكانك استخدام نفس القواعد التي نجدها في التبويقات كعناوين الروابط والوسوم والإشارات
admin_account_action:
send_email_notification: سوف يتلقى المستخدم رسالة تُفسِّر ما حدث على حسابه
+ type_html: اختر ما تود إجراؤه على %{acct}
+ warning_preset_id: اختياري. يمكنك إضافة نص مخصص إلى نهاية النموذج
defaults:
autofollow: سوف يتابعك تلقائيًا الأشخاص الذين يقومون بالتسجيل من خلال الدعوة
avatar: ملف PNG أو GIF أو JPG. حجمه على أقصى تصدير %{size}. سيتم تصغيره إلى %{dimensions}px
@@ -22,6 +24,7 @@ ar:
password: يُنصح باستخدام 8 أحرف على الأقل
phrase: سوف يتم العثور عليه مهما كان نوع النص أو حتى و إن كان داخل الويب فيه تحذير عن المحتوى
scopes: ما هي المجالات المسموح بها في التطبيق ؟ إن قمت باختيار أعلى المجالات فيمكنك الإستغناء عن الخَيار اليدوي.
+ setting_aggregate_reblogs: لا تقم بعرض المشارَكات الجديدة لتبويقات قد قُمتَ بمشاركتها سابقا (هذا الإجراء يعني المشاركات الجديدة فقط التي تلقيتَها)
setting_default_language: يمكن الكشف التلقائي للّغة اللتي استخدمتها في تحرير تبويقاتك ، غيرَ أنّ العملية ليست دائما دقيقة
setting_display_media_default: إخفاء الوسائط المُعيَّنة كحساسة
setting_display_media_hide_all: إخفاء كافة الوسائط دائمًا
@@ -41,6 +44,8 @@ ar:
fields:
name: التسمية
value: المحتوى
+ account_warning_preset:
+ text: نموذج نصي
admin_account_action:
send_email_notification: إشعار المستخدِم عبر البريد الإلكتروني
text: تحذير مخصص
@@ -50,6 +55,7 @@ ar:
none: لا تفعل شيئا
silence: كتم
suspend: تعليق و حذف كافة بيانات الحساب
+ warning_preset_id: استخدم نموذج تنبيه
defaults:
autofollow: إرسال دعوة لمتابعة حسابك
avatar: الصورة الرمزية
diff --git a/config/locales/simple_form.de.yml b/config/locales/simple_form.de.yml
index 6d0a9196f..3958e315f 100644
--- a/config/locales/simple_form.de.yml
+++ b/config/locales/simple_form.de.yml
@@ -10,14 +10,14 @@ de:
type_html: Wähle aus, was du mit %{acct} machen möchtest
warning_preset_id: Optional. Du kannst immer noch eigenen Text an das Ende der Vorlage hinzufügen
defaults:
- autofollow: Leute die sich über deine Einladung registrieren werden dir automatisch folgen
+ autofollow: Leute, die sich über deine Einladung registrieren, werden dir automatisch folgen
avatar: PNG, GIF oder JPG. Maximal %{size}. Wird auf %{dimensions} px herunterskaliert
bot: Dieses Konto führt lediglich automatisierte Aktionen durch und wird möglicherweise nicht überwacht
context: Ein oder mehrere Aspekte, wo der Filter greifen soll
digest: Wenn du lange Zeit inaktiv bist, wird dir eine Zusammenfassung von Erwähnungen in deiner Abwesenheit zugeschickt
- discoverable_html: Das Verzeichnis lässt dich neue Benutzerkonten finden basierend auf Interessen und Aktivitäten. Dies benötigt mindestens %{min_followers} Follower
- email: Du wirst ein Bestätigungs-E-Mail erhalten
- fields: Du kannst bis zu 4 Elemente als Tabelle dargestellt auf deinem Profil anzeigen lassen
+ discoverable_html: Das Verzeichnis lässt dich basierend auf Interessen und Aktivitäten neue Benutzerkonten finden. Dies benötigt mindestens %{min_followers} Follower
+ email: Du wirst eine Bestätigungs-E-Mail erhalten
+ fields: Du kannst bis zu 4 Elemente auf deinem Profil anzeigen lassen, die als Tabelle dargestellt werden
header: PNG, GIF oder JPG. Maximal %{size}. Wird auf %{dimensions} px herunterskaliert
inbox_url: Kopiere die URL von der Startseite des gewünschten Relays
irreversible: Gefilterte Beiträge werden unwiderruflich gefiltert, selbst wenn der Filter später entfernt wurde
@@ -26,16 +26,16 @@ de:
password: Verwende mindestens 8 Zeichen
phrase: Wird unabhängig vom umgebenen Text oder Inhaltswarnung eines Beitrags verglichen
scopes: Welche Schnittstellen der Applikation erlaubt sind. Wenn du einen Top-Level-Scope auswählst, dann musst du nicht jeden einzelnen darunter auswählen.
- setting_aggregate_reblogs: Zeige keine neuen Boosts für Beiträge, die nicht kürzlich geboostet wurden (dies betrifft nur neulich erhaltene Boosts)
+ setting_aggregate_reblogs: Zeige denselben Beitrag nicht nochmal an, wenn er erneut geteilt wurde (dies betrifft nur neulich erhaltene erneut geteilte Beiträge)
setting_default_language: Die Sprache der Beiträge kann automatisch erkannt werden, aber dies ist nicht immer genau
setting_display_media_default: Verstecke Medien, die als sensibel markiert sind
setting_display_media_hide_all: Alle Medien immer verstecken
setting_display_media_show_all: Medien, die als sensibel markiert sind, immer anzeigen
- setting_hide_network: Wem du folgst und wer dir folgt wird in deinem Profil nicht angezeigt
+ setting_hide_network: Wem du folgst und wer dir folgt, wird in deinem Profil nicht angezeigt
setting_noindex: Betrifft dein öffentliches Profil und deine Beiträge
setting_theme: Wirkt sich darauf aus, wie Mastodon aussieht, egal auf welchem Gerät du eingeloggt bist.
username: Dein Benutzer:innen-Name wird auf %{domain} nur einmal vorkommen
- whole_word: Wenn das Schlüsselwort oder -phrase nur Buchstaben und Zahlen enthält, wird es nur angewendet werden, wenn es dem ganzen Wort entspricht
+ whole_word: Wenn das Schlagwort oder die Phrase nur Buchstaben und Zahlen enthält, wird es nur angewendet, wenn es dem ganzen Wort entspricht
imports:
data: CSV-Datei, die aus einer anderen Mastodon-Instanz exportiert wurde
sessions:
@@ -60,7 +60,7 @@ de:
suspend: Deaktivieren und unwiderruflich Benutzerdaten löschen
warning_preset_id: Benutze eine Warnungsvorlage
defaults:
- autofollow: Einladen, um deinen Account zu folgen
+ autofollow: Einladen, um deinem Account zu folgen
avatar: Profilbild
bot: Dieser Benutzer ist ein Bot
chosen_languages: Sprachen filtern
@@ -76,7 +76,7 @@ de:
fields: Profil-Metadaten
header: Kopfbild
inbox_url: Inbox-URL des Relays
- irreversible: Fallen lassen anstatt es zu verstecken
+ irreversible: Verwerfen statt verstecken
locale: Sprache der Benutzeroberfläche
locked: Gesperrtes Profil
max_uses: Maximale Verwendungen
@@ -85,33 +85,33 @@ de:
otp_attempt: Zwei-Faktor-Authentisierungs-Code
password: Passwort
phrase: Schlagwort oder Phrase
- setting_aggregate_reblogs: Gruppenboosts in Zeitleisten
+ setting_aggregate_reblogs: Gruppiere erneut geteilte Beiträge in Zeitleisten
setting_auto_play_gif: Animierte GIFs automatisch abspielen
setting_boost_modal: Bestätigungsdialog anzeigen, bevor ein Beitrag geteilt wird
setting_default_language: Beitragssprache
setting_default_privacy: Beitragssichtbarkeit
- setting_default_sensitive: Medien immer als heikel markieren
+ setting_default_sensitive: Medien immer als sensibel markieren
setting_delete_modal: Bestätigungsdialog anzeigen, bevor ein Beitrag gelöscht wird
setting_display_media: Medien-Anzeige
setting_display_media_default: Standard
setting_display_media_hide_all: Alle verstecken
setting_display_media_show_all: Alle anzeigen
- setting_expand_spoilers: Toots mit Inhaltswarnungen immer ausklappen
+ setting_expand_spoilers: Beiträge mit Inhaltswarnungen immer ausklappen
setting_hide_network: Blende dein Netzwerk aus
setting_noindex: Suchmaschinen-Indexierung verhindern
setting_reduce_motion: Bewegung in Animationen verringern
setting_system_font_ui: Standardschriftart des Systems verwenden
setting_theme: Theme der Website
- setting_unfollow_modal: Bestätigungsdialog anzeigen, bevor jemand entfolgt wird
+ setting_unfollow_modal: Bestätigungsdialog anzeigen, bevor jemandem entfolgt wird
severity: Schweregrad
type: Importtyp
username: Profilname
- username_or_email: Profilname oder Email
+ username_or_email: Profilname oder E-Mail
whole_word: Ganzes Wort
interactions:
must_be_follower: Benachrichtigungen von Nicht-Folgenden blockieren
must_be_following: Benachrichtigungen von Profilen blockieren, denen ich nicht folge
- must_be_following_dm: Private Nachrichten von Profilen denen ich nicht folge blockieren
+ must_be_following_dm: Private Nachrichten von Profilen, denen ich nicht folge, blockieren
notification_emails:
digest: Schicke Übersichts-E-Mails
favourite: E-Mail senden, wenn jemand meinen Beitrag favorisiert
diff --git a/config/locales/simple_form.fr.yml b/config/locales/simple_form.fr.yml
index 21f81ecc2..730a69522 100644
--- a/config/locales/simple_form.fr.yml
+++ b/config/locales/simple_form.fr.yml
@@ -8,7 +8,7 @@ fr:
send_email_notification: L'utilisateur recevra une explication de ce qu'il s'est passé avec son compte
text_html: Optionnel. Vous pouvez utilisez la syntaxe des pouets. Vous pouvez ajouter des présélections d'attention pour économiser du temps
type_html: Choisir que faire avec %{acct}
- warning_preset_id: Optionnel. Vous pouvez toujours ajouter un texte personnalisé à la fin de le présélection
+ warning_preset_id: Optionnel. Vous pouvez toujours ajouter un texte personnalisé à la fin de la présélection
defaults:
autofollow: Les personnes qui s’inscrivent grâce à l’invitation vous suivront automatiquement
avatar: Au format PNG, GIF ou JPG. %{size} maximum. Sera réduit à %{dimensions}px
@@ -58,7 +58,7 @@ fr:
none: Ne rien faire
silence: Silence
suspend: Suspendre et effacer les données du compte de manière irréversible
- warning_preset_id: Utiliser une présélection d'attention
+ warning_preset_id: Utiliser un modèle d'avertissement
defaults:
autofollow: Invitation à suivre votre compte
avatar: Image de profil
diff --git a/config/locales/simple_form.nl.yml b/config/locales/simple_form.nl.yml
index ce56f613a..6eb784c30 100644
--- a/config/locales/simple_form.nl.yml
+++ b/config/locales/simple_form.nl.yml
@@ -2,6 +2,13 @@
nl:
simple_form:
hints:
+ account_warning_preset:
+ text: Je kunt voor toots specifieke tekst gebruiken, zoals URL's, hashtags en vermeldingen
+ admin_account_action:
+ send_email_notification: De gebruiker ontvangt een uitleg over wat er met hun account is gebeurd
+ text_html: Optioneel. Je kunt voor toots specifieke tekst gebruiken. Om tijd te besparen kun je voorinstellingen van waarschuwingen toevoegen
+ type_html: Kies wat er met %{acct} moet gebeuren
+ warning_preset_id: Optioneel. Je kunt nog steeds handmatig tekst toevoegen aan het eind van de voorinstelling
defaults:
autofollow: Mensen die zich via de uitnodiging hebben geregistreerd, volgen jou automatisch
avatar: PNG, GIF of JPG. Maximaal %{size}. Wordt teruggeschaald naar %{dimensions}px
@@ -32,7 +39,7 @@ nl:
imports:
data: CSV-bestand dat op een andere Mastodonserver werd geëxporteerd
sessions:
- otp: Voer de tweestaps-aanmeldcode vanaf jouw mobiele telefoon in of gebruik een van jouw herstelcodes.
+ otp: 'Voer de tweestaps-aanmeldcode vanaf jouw mobiele telefoon in of gebruik een van jouw herstelcodes:'
user:
chosen_languages: Alleen toots in de aangevinkte talen worden op de openbare tijdlijnen getoond
labels:
@@ -50,6 +57,7 @@ nl:
disable: Uitschakelen
none: Niets doen
silence: Negeren
+ suspend: Opschorten en onomkeerbaar accountgegevens verwijderen
warning_preset_id: Gebruik een voorinstelling van een waarschuwing
defaults:
autofollow: Uitnodigen om jouw account te volgen
@@ -106,7 +114,7 @@ nl:
must_be_following_dm: Directe berichten van mensen die jij niet volgt blokkeren
notification_emails:
digest: Periodiek e-mails met een samenvatting versturen
- favourite: Een e-mail versturen wanneer iemand jouw toot als favoriet markeert
+ favourite: Een e-mail versturen wanneer iemand jouw toot aan hun favorieten heeft toegevoegd
follow: Een e-mail versturen wanneer iemand jou volgt
follow_request: Een e-mail versturen wanneer iemand jou wil volgen
mention: Een e-mail versturen wanneer iemand jou vermeld
diff --git a/config/locales/simple_form.pl.yml b/config/locales/simple_form.pl.yml
index b0bc564aa..bbc55e8a9 100644
--- a/config/locales/simple_form.pl.yml
+++ b/config/locales/simple_form.pl.yml
@@ -2,6 +2,13 @@
pl:
simple_form:
hints:
+ account_warning_preset:
+ text: Możesz korzystać ze składni której używasz we wpisach, takiej jak adresy URL, hashtagi i wspomnienia
+ admin_account_action:
+ send_email_notification: Użytkownik otrzyma informację, co stało się z jego kontem
+ text_html: Możesz używać składni której używasz we wpisach. Możesz dodać szablon ostrzeżenia aby zaoszczędzić czas
+ type_html: Wybierz co chcesz zrobić z %{acct}
+ warning_preset_id: Nieobowiązkowe. Możesz dodać niestandardowy tekst do końcowki szablonu
defaults:
autofollow: Osoby, które zarejestrują się z Twojego zaproszenia automatycznie zaczną Cię śledzić
avatar: PNG, GIF lub JPG. Maksymalnie %{size}. Zostanie zmniejszony do %{dimensions}px
@@ -9,6 +16,7 @@ pl:
context: Jedno lub wiele miejsc, w których filtr zostanie zastosowany
digest: Wysyłane tylko po długiej nieaktywności, jeżeli w tym czasie otrzymaleś jakąś wiadomość bezpośrednią
discoverable_html: Katalog pozwala znaleźć konta na podstawie zainteresowań i aktywności. Profil musi śledzić przynajmniej %{min_followers} osób
+ email: Otrzymasz e-mail potwierdzający
fields: Możesz ustawić maksymalnie 4 niestandardowe pola wyświetlane jako tabela na Twoim profilu
header: PNG, GIF lub JPG. Maksymalnie %{size}. Zostanie zmniejszony do %{dimensions}px
inbox_url: Skopiuj adres ze strony głównej przekaźnika, którego chcesz użyć
@@ -18,11 +26,15 @@ pl:
password: Użyj co najmniej 8 znaków
phrase: Zostanie wykryte nawet, gdy znajduje się za ostrzeżeniem o zawartości
scopes: Wybór API, do których aplikacja będzie miała dostęp. Jeżeli wybierzesz nadrzędny zakres, nie musisz wybierać jego elementów.
+ setting_aggregate_reblogs: Nie pokazuj nowych podbić dla wpisów, które zostały niedawno podbite (dotyczy tylko nowo otrzymanych podbić)
setting_default_language: Język Twoich wpisów może być wykrywany automatycznie, ale nie zawsze jest to dokładne
+ setting_display_media_default: Ukrywaj zawartość oznaczoną jako wrażliwa
+ setting_display_media_hide_all: Zawsze ukrywaj zawartość multimedialną
setting_display_media_show_all: Zawsze pokazuj zawartość multimedialną jako wrażliwą
setting_hide_network: Informacje o tym, kto Cię śledzi i kogo śledzisz nie będą widoczne
setting_noindex: Wpływa na widoczność strony profilu i Twoich wpisów
setting_theme: Zmienia wygląd Mastodona po zalogowaniu z dowolnego urządzenia.
+ username: Twoja nazwa użytkownika będzie niepowtarzalna na %{domain}
whole_word: Jeśli słowo lub fraza składa się jedynie z liter lub cyfr, filtr będzie zastosowany tylko do pełnych wystąpień
imports:
data: Plik CSV wyeksportowany z innej instancji Mastodona
@@ -35,6 +47,18 @@ pl:
fields:
name: Nazwa
value: Zawartość
+ account_warning_preset:
+ text: Tekst szablonu
+ admin_account_action:
+ send_email_notification: Powiadom użytkownika mailem
+ text: Niestandardowe ostrzeżenie
+ type: Działanie
+ types:
+ disable: Wyłącz
+ none: Nie rób niczego
+ silence: Wycisz
+ suspend: Zawieś i nieodwracalnie usuń dane konta
+ warning_preset_id: Użyj szablonu ostrzeżenia
defaults:
autofollow: Zapraszaj do śledzenia swojego konta
avatar: Awatar
@@ -62,14 +86,18 @@ pl:
password: Hasło
phrase: Słowo kluczowe lub fraza
scopes: Do których API aplikacja będzie miała dostęp. Jeżeli wybierzesz zakres wyższego poziomu, nie musisz zaznaczać bardziej szczegółowych.
+ setting_aggregate_reblogs: Grupuj podbicia na osiach czasu
setting_auto_play_gif: Automatycznie odtwarzaj animowane GIFy
setting_boost_modal: Pytaj o potwierdzenie przed podbiciem
setting_default_language: Język wpisów
setting_default_privacy: Widoczność wpisów
setting_default_sensitive: Zawsze oznaczaj zawartość multimedialną jako wrażliwą
setting_delete_modal: Pytaj o potwierdzenie przed usunięciem wpisu
+ setting_display_media: Wyświetlanie zawartości multimedialnej
+ setting_display_media_default: Domyślne
setting_display_media_hide_all: Ukryj wszystko
setting_display_media_show_all: Pokaż wszystko
+ setting_expand_spoilers: Zawsze rozwijaj wpisy oznaczone ostrzeżeniem o zawartości
setting_hide_network: Ukryj swoją sieć
setting_noindex: Nie indeksuj mojego profilu w wyszukiwarkach internetowych
setting_reduce_motion: Ogranicz ruch w animacjach
diff --git a/config/locales/simple_form.sk.yml b/config/locales/simple_form.sk.yml
index 48363ea19..f2d26cf02 100644
--- a/config/locales/simple_form.sk.yml
+++ b/config/locales/simple_form.sk.yml
@@ -20,13 +20,13 @@ sk:
fields: Až štyri položky môžeš mať na svojom profile zobrazené vo forme tabuľky
header: PNG, GIF, alebo JPG. Maximálne %{size}. Bude zmenšený na %{dimensions}px
inbox_url: Skopíruj adresu z hlavnej stránky mostíka, ktorý chceš používať
- irreversible: Vytriedené hlášky zmiznú nenávratne, aj keď triedenie neskôr zrušíš
- locale: Jazyk užívateľského rozhrania, emailových a nástenkových oboznámení
- locked: Vyžaduje manuálne schvalovať sledujúcich
+ irreversible: Vytriedené príspevky zmiznú nenávratne, aj keď triedenie neskôr zrušíš
+ locale: Jazyk užívateľského rozhrania, emailových, a nástenkových oboznámení
+ locked: Vyžaduje, aby si manuálne schvaľoval/a následovateľov
password: Zadaj aspoň osem znakov
phrase: Zhoda sa nájde nezávisle od toho, či je text napísaný, veľkými, alebo malými písmenami, či už v tele, alebo v hlavičke
scopes: Ktoré API budú povolené aplikácii pre prístup. Ak vyberieš vrcholný stupeň, nemusíš už potom vyberať po jednom.
- setting_aggregate_reblogs: Neukazuj nové vyzdvihnutia pre hlášky, ktoré už boli len nedávno povýšené (týka sa iba nanovo získaných vyzdvihnutí)
+ setting_aggregate_reblogs: Neukazuj nové vyzdvihnutia pre príspevky, ktoré už boli len nedávno povýšené (týka sa iba nanovo získaných vyzdvihnutí)
setting_default_language: Jazyk tvojích príspevkov môže byť zistený automaticky, ale nieje to vždy presné
setting_display_media_default: Skryť médiá označené ako citlivé
setting_display_media_hide_all: Vždy ukryť všetky médiá
diff --git a/config/locales/simple_form.sr.yml b/config/locales/simple_form.sr.yml
index c6294d4ba..7e3c6685e 100644
--- a/config/locales/simple_form.sr.yml
+++ b/config/locales/simple_form.sr.yml
@@ -2,12 +2,21 @@
sr:
simple_form:
hints:
+ account_warning_preset:
+ text: Можете користити синтаксу труба, као што су нпр. УРЛ-ова, тарабе и помињања
+ admin_account_action:
+ send_email_notification: Корисник ће добити објашњење тога шта му се десило са налога
+ text_html: Опционално. Можете користити синтаксу труба. Можете додати упозоравајућа преподешавање да сачувате време
+ type_html: Изаберите шта да радите са %{acct}
+ warning_preset_id: Опционално. Можете и даље додати прилагођени текст на крај пресета
defaults:
autofollow: Особе које се пријаве кроз позивнице ће вас аутоматски запратити
avatar: PNG, GIF или JPG. Највише %{size}. Биће смањена на %{dimensions}px
bot: Овај налог углавном врши аутоматизоване радње и можда се не надгледа
context: Један или више контекста у којима треба да се примени филтер
digest: Послато после дужег периода неактивности са прегледом свих битних ствари које сте добили док сте били одсутни
+ discoverable_html: Директоријум омогућава људима да пронађу налоге засноване на интересима и активности. Захтева бар %{min_followers} пратиоца
+ email: Биће вам послата е-пошта са потврдом
fields: Можете имати до 4 ставке приказане као табела на вашем профилу
header: PNG, GIF или JPG. Највише %{size}. Биће смањена на %{dimensions}px
inbox_url: Копирајте URL са насловне стране релеја који желите користити
@@ -17,10 +26,15 @@ sr:
password: Користите најмање 8 знакова
phrase: Биће упарена без обзира на велико или мало слово у тексту или упозорења о садржају трубе
scopes: Којим API-јима ће апликација дозволити приступ. Ако изаберете опсег највишег нивоа, не морате одабрати појединачне.
+ setting_aggregate_reblogs: Не показуј нова дељења за трубе које су недавно подељене (утиче само на недавно примљена дељења)
setting_default_language: Језик ваших труба може бити аутоматски откривен, али није увек прецизан
+ setting_display_media_default: Сакриј медије означене као осетљиве
+ setting_display_media_hide_all: Увек сакриј све медије
+ setting_display_media_show_all: Увек прикажи медије означене као осетљиве
setting_hide_network: Кога пратите и ко вас прати неће бити приказано на вашем профилу
setting_noindex: Утиче на Ваш јавни профил и статусне стране
setting_theme: Утиче како ће Мастодонт изгледати када сте пријављени са било ког уређаја.
+ username: Ваш надимак ће бити јединствен на %{domain}
whole_word: Када је кључна реч или фраза искључиво алфанумеричка, биће примењена само ако се подудара са целом речи
imports:
data: CSV фајл извезен са друге Мастодонт инстанце
@@ -33,6 +47,18 @@ sr:
fields:
name: Етикета
value: Садржај
+ account_warning_preset:
+ text: Текст пресета
+ admin_account_action:
+ send_email_notification: Обавести корисника преко е-поште
+ text: Прилагођено упозорење
+ type: Радња
+ types:
+ disable: Онемогући
+ none: Не ради ништа
+ silence: Утишај
+ suspend: Обуставите и неповратно избришите податке о налогу
+ warning_preset_id: Користи упозоравајући пресет
defaults:
autofollow: Позовите да прати ваш налог
avatar: Аватар
@@ -43,6 +69,7 @@ sr:
context: Филтрирај контексте
current_password: Тренутна лозинка
data: Подаци
+ discoverable: Наведите овај налог у фасцикли
display_name: Име за приказ
email: Адреса е-поште
expires_in: Истиче након
@@ -58,12 +85,18 @@ sr:
otp_attempt: Двофакторски код
password: Лозинка
phrase: Кључна реч или фраза
+ setting_aggregate_reblogs: Групиши дељења у временским линијама
setting_auto_play_gif: Аутоматски пуштај анимиране GIF-ове
setting_boost_modal: Прикажи дијалог за потврду пре давања подршке
setting_default_language: Језик објављивања
setting_default_privacy: Приватност објава
setting_default_sensitive: Увек означи мултимедију као осетљиву
setting_delete_modal: Прикажи дијалог за потврду пре брисања тута
+ setting_display_media: Приказ медија
+ setting_display_media_default: Подразумевано
+ setting_display_media_hide_all: Сакриј све
+ setting_display_media_show_all: Прикажи све
+ setting_expand_spoilers: Увек прошити трубе које су означене упозорењем садржаја
setting_hide_network: Сакриј своју мрежу
setting_noindex: Одјави се од индексирања search engine-а
setting_reduce_motion: Смањи покрете у анимацијама
diff --git a/config/locales/sk.yml b/config/locales/sk.yml
index 91d1fdb8f..d8a81bbbf 100644
--- a/config/locales/sk.yml
+++ b/config/locales/sk.yml
@@ -1,16 +1,16 @@
---
sk:
about:
- about_hashtag_html: Toto sú verejné hlášky otagované #%{hashtag}. Ak máš účet niekde vo fediverse, môžeš ich využívať.
- about_mastodon_html: Mastodon je sociálna sieť založená na otvorených webových protokoloch a na slobodnom, otvorenom softvéri. Je decentralizovaná podobne ako email.
+ about_hashtag_html: Toto sú verejné príspevky otagované pod #%{hashtag}. Ak máš účet hocikde v rámci fediversa, môžeš ich využívať.
+ about_mastodon_html: Mastodon je sociálna sieť založená na otvorených webových protokoloch a na slobodnom softvéri. Je decentralizovaná, podobne ako email.
about_this: O tejto instancii
administered_by: 'Správcom je:'
api: API
- apps: Mobilné aplikácie
- closed_registrations: Registrácie sú na tomto serveri momentálne uzatvorené. Avšak, môžeš nájsť nejaký iný Mastodon server kde si založ účet a získaj tak prístup do presne tej istej siete, odtiaľ.
+ apps: Aplikácie
+ closed_registrations: Registrácie sú na tomto serveri momentálne uzatvorené. Avšak, môžeš nájsť nejaký iný Mastodon server kde si založ účet a získaj tak prístup do presne tej istej siete odtiaľ.
contact: Kontakt
- contact_missing: Nezadané
- contact_unavailable: Neuvedené
+ contact_missing: Nezadaný
+ contact_unavailable: Neuvedený
documentation: Dokumentácia
extended_description_html: |
< a>
a < em>
.
+ desc_html: Oboznamujúci paragraf na hlavnej stránke a pri meta tagoch. Opíš, čo robí tento Mastodon server špecifickým, a ďalej hocičo iné, čo považuješ za dôležité. Môžeš použiť HTML kód, hlavne < a >
, ale tiež <>
.
title: Popis instancie
site_description_extended:
desc_html: Toto je vhodné miesto pre vaše pravidlá, oboznámenia a iné veci, ktorými je vaša instancia špecifická. Je možné tu používať HTML kód
@@ -537,8 +559,11 @@ sk:
warning_title: Dostupnosť rozšírovaného obsahu
directories:
directory: Katalóg profilov
+ enabled: Momentálne si uvedený/á na zozname profilov.
+ enabled_but_waiting: Vyjadril/a si záujem o uvedenie na zozname profilov, lenže ešte nemáš minimálny vyžadovaný počet následovateľov (%{min_followers}), aby si tam bol/a uveden/á.
explanation: Pátraj po užívateľoch podľa ich záujmov
explore_mastodon: Prebádaj %{title}
+ how_to_enable: Momentálne niesi zaradený/á do verejnej profilovej databázy. Prihlásiť sa môžeš nižšie. Použi haštagy vo svojom biografickom popise na profile, ak chceš byť uvedený/á aj pod konkrétnými haštagmi!
people:
few: "%{count} ľudia"
one: "%{count} človek"
@@ -565,7 +590,9 @@ sk:
size: Veľkosť
blocks: Blokujete
csv: CSV
+ domain_blocks: Blokované domény
follows: Následujete
+ lists: Zoznamy
mutes: Stíšil/a si
storage: Úložisko médií
filters:
@@ -718,10 +745,25 @@ sk:
no_account_html: Nemáš ešte účet? Môžeš sa zaregistrovať tu
proceed: Začni následovať
prompt: 'Budeš sledovať:'
+ reason_html: "Načo je tento krok potrebný? %{instance}
nemusí byť práve tým serverom na ktorom si zaregistrovaný/á, takže je ťa najprv potrebné presmerovať na tvoj domáci server."
+ remote_interaction:
+ favourite:
+ proceed: Pokračuj k obľúbeniu
+ prompt: 'Chceš si obľúbiť tento príspevok:'
+ reblog:
+ proceed: Pokračuj k vyzdvihnutiu
+ prompt: 'Chceš vyzdvihnúť tento príspevok:'
+ reply:
+ proceed: Pokračuj odpovedaním
+ prompt: 'Chceš odpovedať na tento príspevok:'
remote_unfollow:
error: Chyba
title: Názov
unfollowed: Už nesleduješ
+ scheduled_statuses:
+ over_daily_limit: Prekročil/a si denný limit %{limit} predplánovaných príspevkov
+ over_total_limit: Prekročil/a si limit %{limit} predplánovaných príspevkov
+ too_soon: Dátum musí byť stanovený do budúcnosti
sessions:
activity: Najnovšia aktivita
browser: Prehliadač
@@ -827,7 +869,7 @@ sk:
%{instance}
можда није сервер на којем сте регистровани, тако да прво морамо да вас преусмеримо на ваш сервер."
+ remote_interaction:
+ reblog:
+ proceed: Наставите да бисте поделили
+ prompt: 'Желите да делите ову трубу:'
+ reply:
+ proceed: Наставите да бисте одговорили
+ prompt: 'Желите да одговорите на ову трубу:'
remote_unfollow:
error: Грешка
title: Наслов
unfollowed: Отпраћени
+ scheduled_statuses:
+ over_daily_limit: Прекорачили сте границу од %{limit} планираних труба за тај дан
+ over_total_limit: Прекорачили сте границу од %{limit} планираних труба
+ too_soon: Планирани датум мора бити у будућности
sessions:
activity: Последња активност
browser: Веб читач
@@ -824,6 +900,22 @@ sr:
explanation: Тражили сте потпуну резервну копију вашег Мастодон рачуна. Спремна за преузимање!
subject: Ваша архива је спремна за преузимање
title: Извоз архиве
+ warning:
+ explanation:
+ disable: Док је ваш рачун замрзнут, подаци о вашем рачуну остају нетакнути, али не можете вршити никакве радње док се не откључа.
+ silence: Иако је ваш налог ограничен, само људи који вас већ прате ће видети ваше трубе на овом серверу, и можда ћете бити искључени из различитих јавних листа. Међутим, други вас могу и даље ручно пратити.
+ suspend: Ваш налог је суспендован, а све ваше трубе и учитане медијске датотеке неповратно су уклоњени са овог сервера и сервера на којима сте имали следбенике.
+ review_server_policies: Прегледај политику сервера
+ subject:
+ disable: Ваш налог %{acct} је замрзнут
+ none: Упозорење за %{acct}
+ silence: Ваш налог %{acct} је ограничен
+ suspend: Ваш налог %{acct} је суспендован
+ title:
+ disable: Налог замрзнут
+ none: Упозорење
+ silence: Налог ограничен
+ suspend: Налог суспендован
welcome:
edit_profile_action: Подеси профил
edit_profile_step: Профил можете прилагодити постављањем аватара, заглавља, променом имена и још много тога. Ако желите да прегледате нове пратиоце пре него што буду дозвољени да вас прате, можете закључати свој налог.
diff --git a/config/locales/te.yml b/config/locales/te.yml
index 39be5b687..f0f6942ab 100644
--- a/config/locales/te.yml
+++ b/config/locales/te.yml
@@ -19,7 +19,7 @@ te:
humane_approach_body: వేరే సామాజిక మాధ్యమాల వైఫల్యాల నుండి నేర్చుకుని, నైతిక రూపకల్పనలతో సామాజిక మాధ్యమాల దుర్వినియోగంపై మాస్టొడాన్ పోరాటం చేసే లక్ష్యంతో పనిచేస్తుంది.
humane_approach_title: మరింత మానవత్వంతో కూడిన విధానం
not_a_product_body: మాస్టొడాన్ వ్యాపార సంబంధిత మాధ్యమం కాదు. ఎటువంటి ప్రకటనలు, డేటా మైనింగ్, కంచెలు లేనిది. ఏ కేంద్ర అధికరమూ లేదు.
- not_a_product_title: మీరొక వ్యక్తి, వస్తువు కాదు.
+ not_a_product_title: మీరొక వ్యక్తి, వస్తువు కాదు
real_conversation_body: With 500 characters at your disposal and support for granular content and media warnings, you can express yourself the way you want to.
real_conversation_title: నిజమైన సంభాషణలకోసం నిర్మించబడింది
within_reach_body: ఆండ్రాయిడ్, iOS మరియు ఇతర ప్లాట్ఫాంలకు వివిధరకాల యాప్స్ వున్నాయి. డెవలపర్ సహిత API వ్యవస్థే ఇందుకు మూలకారణం. ఇవి మీ స్ణేహితులతో అన్నివేళలా అందుబాటులో వుండడానికి సహాయపడతాయి.
@@ -105,7 +105,6 @@ te:
enabled: చేతనం చేయబడింది
feed_url: ఫీడ్ URL
followers: అనుచరులు
- followers_local: "(%{local} local)"
followers_url: అనుచరుల URL
follows: అనుసరిస్తున్నారు
header: Header
diff --git a/db/migrate/20190117114553_create_tombstones.rb b/db/migrate/20190117114553_create_tombstones.rb
new file mode 100644
index 000000000..06d6d8c5a
--- /dev/null
+++ b/db/migrate/20190117114553_create_tombstones.rb
@@ -0,0 +1,12 @@
+class CreateTombstones < ActiveRecord::Migration[5.2]
+ def change
+ create_table :tombstones do |t|
+ t.belongs_to :account, foreign_key: { on_delete: :cascade }
+ t.string :uri, null: false
+
+ t.timestamps
+ end
+
+ add_index :tombstones, :uri
+ end
+end
diff --git a/db/schema.rb b/db/schema.rb
index ab28146a5..85f69d1d8 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.define(version: 2019_01_03_124754) do
+ActiveRecord::Schema.define(version: 2019_01_17_114553) do
# These are extensions that must be enabled in order to support this database
enable_extension "plpgsql"
@@ -616,6 +616,15 @@ ActiveRecord::Schema.define(version: 2019_01_03_124754) do
t.index ["name"], name: "index_tags_on_name", unique: true
end
+ create_table "tombstones", force: :cascade do |t|
+ t.bigint "account_id"
+ t.string "uri", null: false
+ t.datetime "created_at", null: false
+ t.datetime "updated_at", null: false
+ t.index ["account_id"], name: "index_tombstones_on_account_id"
+ t.index ["uri"], name: "index_tombstones_on_uri"
+ end
+
create_table "users", force: :cascade do |t|
t.string "email", default: "", null: false
t.datetime "created_at", null: false
@@ -744,6 +753,7 @@ ActiveRecord::Schema.define(version: 2019_01_03_124754) do
add_foreign_key "statuses_tags", "tags", name: "fk_3081861e21", on_delete: :cascade
add_foreign_key "stream_entries", "accounts", name: "fk_5659b17554", on_delete: :cascade
add_foreign_key "subscriptions", "accounts", name: "fk_9847d1cbb5", on_delete: :cascade
+ add_foreign_key "tombstones", "accounts", on_delete: :cascade
add_foreign_key "users", "accounts", name: "fk_50500f500d", on_delete: :cascade
add_foreign_key "users", "invites", on_delete: :nullify
add_foreign_key "users", "oauth_applications", column: "created_by_application_id", on_delete: :nullify
diff --git a/lib/cli.rb b/lib/cli.rb
index a810c632a..6036adfbe 100644
--- a/lib/cli.rb
+++ b/lib/cli.rb
@@ -7,6 +7,7 @@ require_relative 'mastodon/accounts_cli'
require_relative 'mastodon/feeds_cli'
require_relative 'mastodon/settings_cli'
require_relative 'mastodon/domains_cli'
+require_relative 'mastodon/version'
module Mastodon
class CLI < Thor
@@ -31,5 +32,12 @@ module Mastodon
desc 'domains SUBCOMMAND ...ARGS', 'Manage account domains'
subcommand 'domains', Mastodon::DomainsCLI
+
+ map %w(--version -v) => :version
+
+ desc 'version', 'Show version'
+ def version
+ say(Mastodon::Version.to_s)
+ end
end
end
diff --git a/lib/mastodon/accounts_cli.rb b/lib/mastodon/accounts_cli.rb
index 24fb67991..dca31cdca 100644
--- a/lib/mastodon/accounts_cli.rb
+++ b/lib/mastodon/accounts_cli.rb
@@ -176,7 +176,7 @@ module Mastodon
end
say("Deleting user with #{account.statuses_count} statuses, this might take a while...")
- SuspendAccountService.new.call(account, remove_user: true)
+ SuspendAccountService.new.call(account, including_user: true)
say('OK', :green)
end
diff --git a/lib/mastodon/domains_cli.rb b/lib/mastodon/domains_cli.rb
index 16e298584..303b8a94a 100644
--- a/lib/mastodon/domains_cli.rb
+++ b/lib/mastodon/domains_cli.rb
@@ -1,5 +1,6 @@
# frozen_string_literal: true
+require 'concurrent'
require_relative '../../config/boot'
require_relative '../../config/environment'
require_relative 'cli_helper'
@@ -32,5 +33,115 @@ module Mastodon
say
say("Removed #{removed} accounts#{dry_run}", :green)
end
+
+ option :concurrency, type: :numeric, default: 50, aliases: [:c]
+ option :silent, type: :boolean, default: false, aliases: [:s]
+ option :format, type: :string, default: 'summary', aliases: [:f]
+ desc 'crawl [START]', 'Crawl all known peers, optionally beginning at START'
+ long_desc <<-LONG_DESC
+ Crawl the fediverse by using the Mastodon REST API endpoints that expose
+ all known peers, and collect statistics from those peers, as long as those
+ peers support those API endpoints. When no START is given, the command uses
+ this server's own database of known peers to seed the crawl.
+
+ The --concurrency (-c) option controls the number of threads performing HTTP
+ requests at the same time. More threads means the crawl may complete faster.
+
+ The --silent (-s) option controls progress output.
+
+ The --format (-f) option controls how the data is displayed at the end. By
+ default (`summary`), a summary of the statistics is returned. The other options
+ are `domains`, which returns a newline-delimited list of all discovered peers,
+ and `json`, which dumps all the aggregated data raw.
+ LONG_DESC
+ def crawl(start = nil)
+ stats = Concurrent::Hash.new
+ processed = Concurrent::AtomicFixnum.new(0)
+ failed = Concurrent::AtomicFixnum.new(0)
+ start_at = Time.now.to_f
+ seed = start ? [start] : Account.remote.domains
+
+ pool = Concurrent::ThreadPoolExecutor.new(min_threads: 0, max_threads: options[:concurrency], idletime: 10, auto_terminate: true, max_queue: 0)
+
+ work_unit = ->(domain) do
+ next if stats.key?(domain)
+ stats[domain] = nil
+ processed.increment
+
+ begin
+ Request.new(:get, "https://#{domain}/api/v1/instance").perform do |res|
+ next unless res.code == 200
+ stats[domain] = Oj.load(res.to_s)
+ end
+
+ Request.new(:get, "https://#{domain}/api/v1/instance/peers").perform do |res|
+ next unless res.code == 200
+
+ Oj.load(res.to_s).reject { |peer| stats.key?(peer) }.each do |peer|
+ pool.post(peer, &work_unit)
+ end
+ end
+
+ Request.new(:get, "https://#{domain}/api/v1/instance/activity").perform do |res|
+ next unless res.code == 200
+ stats[domain]['activity'] = Oj.load(res.to_s)
+ end
+
+ say('.', :green, false) unless options[:silent]
+ rescue StandardError
+ failed.increment
+ say('.', :red, false) unless options[:silent]
+ end
+ end
+
+ seed.each do |domain|
+ pool.post(domain, &work_unit)
+ end
+
+ sleep 20
+ sleep 20 until pool.queue_length.zero?
+
+ pool.shutdown
+ pool.wait_for_termination(20)
+ ensure
+ pool.shutdown
+
+ say unless options[:silent]
+
+ case options[:format]
+ when 'summary'
+ stats_to_summary(stats, processed, failed, start_at)
+ when 'domains'
+ stats_to_domains(stats)
+ when 'json'
+ stats_to_json(stats)
+ end
+ end
+
+ private
+
+ def stats_to_summary(stats, processed, failed, start_at)
+ stats.compact!
+
+ total_domains = stats.size
+ total_users = stats.reduce(0) { |sum, (_key, val)| val.is_a?(Hash) && val['stats'].is_a?(Hash) ? sum + val['stats']['user_count'].to_i : sum }
+ total_active = stats.reduce(0) { |sum, (_key, val)| val.is_a?(Hash) && val['activity'].is_a?(Array) && val['activity'].size > 2 && val['activity'][1].is_a?(Hash) ? sum + val['activity'][1]['logins'].to_i : sum }
+ total_joined = stats.reduce(0) { |sum, (_key, val)| val.is_a?(Hash) && val['activity'].is_a?(Array) && val['activity'].size > 2 && val['activity'][1].is_a?(Hash) ? sum + val['activity'][1]['registrations'].to_i : sum }
+
+ say("Visited #{processed.value} domains, #{failed.value} failed (#{(Time.now.to_f - start_at).round}s elapsed)", :green)
+ say("Total servers: #{total_domains}", :green)
+ say("Total registered: #{total_users}", :green)
+ say("Total active last week: #{total_active}", :green)
+ say("Total joined last week: #{total_joined}", :green)
+ end
+
+ def stats_to_domains(stats)
+ say(stats.keys.join("\n"))
+ end
+
+ def stats_to_json(stats)
+ stats.compact!
+ say(Oj.dump(stats))
+ end
end
end
diff --git a/lib/mastodon/version.rb b/lib/mastodon/version.rb
index d0511eadb..abbc31178 100644
--- a/lib/mastodon/version.rb
+++ b/lib/mastodon/version.rb
@@ -21,7 +21,7 @@ module Mastodon
end
def flags
- 'rc1'
+ ''
end
def to_a
diff --git a/lib/tasks/repo.rake b/lib/tasks/repo.rake
index 367859e94..8ceec3085 100644
--- a/lib/tasks/repo.rake
+++ b/lib/tasks/repo.rake
@@ -1,10 +1,13 @@
# frozen_string_literal: true
namespace :repo do
- desc 'Generate the authors.md file'
+ desc 'Generate the AUTHORS.md file'
task :authors do
- file = File.open('AUTHORS.md', 'w')
+ file = File.open(Rails.root.join('AUTHORS.md'), 'w')
file << <<~HEADER
+ Authors
+ =======
+
Mastodon is available on [GitHub](https://github.com/tootsuite/mastodon)
and provided thanks to the work of the following contributors:
@@ -27,4 +30,50 @@ namespace :repo do
This document is provided for informational purposes only. Since it is only updated once per release, the version you are looking at may be currently out of date. To see the full list of contributors, consider looking at the [git history](https://github.com/tootsuite/mastodon/graphs/contributors) instead.
FOOTER
end
+
+ desc 'Replace pull requests with authors in the CHANGELOG.md file'
+ task :changelog do
+ path = Rails.root.join('CHANGELOG.md')
+ tmp = Tempfile.new
+
+ HttpLog.config.compact_log = true
+
+ begin
+ File.open(path, 'r') do |file|
+ file.each_line do |line|
+ if line.start_with?('-')
+ new_line = line.gsub(/#([[:digit:]]+)*/) do |pull_request_reference|
+ pull_request_number = pull_request_reference[1..-1]
+ response = nil
+
+ loop do
+ response = HTTP.headers('Authorization' => "token #{ENV['GITHUB_API_TOKEN']}").get("https://api.github.com/repos/tootsuite/mastodon/pulls/#{pull_request_number}")
+
+ if response.code == 403
+ sleep_for = (response.headers['X-RateLimit-Reset'].to_i - Time.now.to_i).abs
+ puts "Sleeping for #{sleep_for} seconds to get over rate limit"
+ sleep sleep_for
+ else
+ break
+ end
+ end
+
+ pull_request = Oj.load(response.to_s)
+ "[#{pull_request['user']['login']}](#{pull_request['html_url']})"
+ end
+
+ tmp.puts new_line
+ else
+ tmp.puts line
+ end
+ end
+ end
+
+ tmp.close
+ FileUtils.mv(tmp.path, path)
+ ensure
+ tmp.close
+ tmp.unlink
+ end
+ end
end
diff --git a/package.json b/package.json
index d5dbd19c3..5fa6fa8b7 100644
--- a/package.json
+++ b/package.json
@@ -98,11 +98,12 @@
"react-immutable-proptypes": "^2.1.0",
"react-immutable-pure-component": "^1.1.1",
"react-intl": "^2.7.2",
+ "react-masonry-infinite": "^1.2.2",
"react-motion": "^0.5.2",
"react-notification": "^6.8.4",
"react-overlays": "^0.8.3",
"react-redux": "^6.0.0",
- "react-redux-loading-bar": "^4.1.0",
+ "react-redux-loading-bar": "^4.0.8",
"react-router-dom": "^4.1.1",
"react-router-scroll-4": "^1.0.0-beta.1",
"react-select": "^2.2.0",
diff --git a/spec/controllers/api/v1/media_controller_spec.rb b/spec/controllers/api/v1/media_controller_spec.rb
index f01fcd942..4e3037208 100644
--- a/spec/controllers/api/v1/media_controller_spec.rb
+++ b/spec/controllers/api/v1/media_controller_spec.rb
@@ -84,19 +84,17 @@ RSpec.describe Api::V1::MediaController, type: :controller do
post :create, params: { file: fixture_file_upload('files/attachment.webm', 'video/webm') }
end
- xit 'returns http success' do
+ it do
+ # returns http success
expect(response).to have_http_status(200)
- end
- xit 'creates a media attachment' do
+ # creates a media attachment
expect(MediaAttachment.first).to_not be_nil
- end
- xit 'uploads a file' do
+ # uploads a file
expect(MediaAttachment.first).to have_attached_file(:file)
- end
- xit 'returns media ID in JSON' do
+ # returns media ID in JSON
expect(body_as_json[:id]).to eq MediaAttachment.first.id.to_s
end
end
diff --git a/spec/controllers/tags_controller_spec.rb b/spec/controllers/tags_controller_spec.rb
index 33ccaed61..69def90cf 100644
--- a/spec/controllers/tags_controller_spec.rb
+++ b/spec/controllers/tags_controller_spec.rb
@@ -17,7 +17,7 @@ RSpec.describe TagsController, type: :controller do
it 'renders application layout' do
get :show, params: { id: 'test', max_id: late.id }
- expect(response).to render_template layout: 'application'
+ expect(response).to render_template layout: 'public'
end
end
diff --git a/spec/fixtures/requests/oembed_json_empty.html b/spec/fixtures/requests/oembed_json_empty.html
new file mode 100644
index 000000000..4b02413aa
--- /dev/null
+++ b/spec/fixtures/requests/oembed_json_empty.html
@@ -0,0 +1,7 @@
+
+
+
+
+
+
+
diff --git a/spec/models/admin/account_action_spec.rb b/spec/models/admin/account_action_spec.rb
index 8c55cf4dd..a3db60cfc 100644
--- a/spec/models/admin/account_action_spec.rb
+++ b/spec/models/admin/account_action_spec.rb
@@ -1,4 +1,131 @@
require 'rails_helper'
RSpec.describe Admin::AccountAction, type: :model do
+ let(:account_action) { described_class.new }
+
+ describe '#save!' do
+ subject { account_action.save! }
+ let(:account) { Fabricate(:account, user: Fabricate(:user, admin: true)) }
+ let(:target_account) { Fabricate(:account, user: Fabricate(:user)) }
+ let(:type) { 'disable' }
+
+ before do
+ account_action.assign_attributes(
+ type: type,
+ current_account: account,
+ target_account: target_account
+ )
+ end
+
+ context 'type is "disable"' do
+ let(:type) { 'disable' }
+
+ it 'disable user' do
+ subject
+ expect(target_account.user).to be_disabled
+ end
+ end
+
+ context 'type is "silence"' do
+ let(:type) { 'silence' }
+
+ it 'silences account' do
+ subject
+ expect(target_account).to be_silenced
+ end
+ end
+
+ context 'type is "suspend"' do
+ let(:type) { 'suspend' }
+
+ it 'suspends account' do
+ subject
+ expect(target_account).to be_suspended
+ end
+
+ it 'queues Admin::SuspensionWorker by 1' do
+ Sidekiq::Testing.fake! do
+ expect do
+ subject
+ end.to change { Admin::SuspensionWorker.jobs.size }.by 1
+ end
+ end
+ end
+
+ it 'creates Admin::ActionLog' do
+ expect do
+ subject
+ end.to change { Admin::ActionLog.count }.by 1
+ end
+
+ it 'calls queue_email!' do
+ expect(account_action).to receive(:queue_email!)
+ subject
+ end
+
+ it 'calls process_reports!' do
+ expect(account_action).to receive(:process_reports!)
+ subject
+ end
+ end
+
+ describe '#report' do
+ subject { account_action.report }
+
+ context 'report_id.present?' do
+ before do
+ account_action.report_id = Fabricate(:report).id
+ end
+
+ it 'returns Report' do
+ expect(subject).to be_instance_of Report
+ end
+ end
+
+ context '!report_id.present?' do
+ it 'returns nil' do
+ expect(subject).to be_nil
+ end
+ end
+ end
+
+ describe '#with_report?' do
+ subject { account_action.with_report? }
+
+ context '!report.nil?' do
+ before do
+ account_action.report_id = Fabricate(:report).id
+ end
+
+ it 'returns true' do
+ expect(subject).to be true
+ end
+ end
+
+ context '!(!report.nil?)' do
+ it 'returns false' do
+ expect(subject).to be false
+ end
+ end
+ end
+
+ describe '.types_for_account' do
+ subject { described_class.types_for_account(account) }
+
+ context 'account.local?' do
+ let(:account) { Fabricate(:account, domain: nil) }
+
+ it 'returns ["none", "disable", "silence", "suspend"]' do
+ expect(subject).to eq %w(none disable silence suspend)
+ end
+ end
+
+ context '!account.local?' do
+ let(:account) { Fabricate(:account, domain: 'hoge.com') }
+
+ it 'returns ["silence", "suspend"]' do
+ expect(subject).to eq %w(silence suspend)
+ end
+ end
+ end
end
diff --git a/spec/models/admin/action_log_spec.rb b/spec/models/admin/action_log_spec.rb
index 81d7e1be3..3495cc514 100644
--- a/spec/models/admin/action_log_spec.rb
+++ b/spec/models/admin/action_log_spec.rb
@@ -1,4 +1,12 @@
+# frozen_string_literal: true
+
require 'rails_helper'
RSpec.describe Admin::ActionLog, type: :model do
+ describe '#action' do
+ it 'returns action' do
+ action_log = described_class.new(action: 'hoge')
+ expect(action_log.action).to be :hoge
+ end
+ end
end
diff --git a/spec/rails_helper.rb b/spec/rails_helper.rb
index 1ded751ab..3a5e7491e 100644
--- a/spec/rails_helper.rb
+++ b/spec/rails_helper.rb
@@ -29,7 +29,6 @@ Devise::Test::ControllerHelpers.module_eval do
value: resource.activate_session(warden.request),
expires: 1.year.from_now,
httponly: true,
- same_site: :lax,
}
end
end
diff --git a/spec/services/fetch_oembed_service_spec.rb b/spec/services/fetch_oembed_service_spec.rb
index 706eb3f2a..5789fb53b 100644
--- a/spec/services/fetch_oembed_service_spec.rb
+++ b/spec/services/fetch_oembed_service_spec.rb
@@ -8,6 +8,7 @@ describe FetchOEmbedService, type: :service do
before do
stub_request(:get, "https://host.test/provider.json").to_return(status: 404)
stub_request(:get, "https://host.test/provider.xml").to_return(status: 404)
+ stub_request(:get, "https://host.test/empty_provider.json").to_return(status: 200)
end
describe 'discover_provider' do
@@ -93,6 +94,23 @@ describe FetchOEmbedService, type: :service do
expect(subject.call('https://host.test/oembed.html')).to be_nil
end
end
+
+ context 'Empty JSON provider is discoverable' do
+ before do
+ stub_request(:get, 'https://host.test/oembed.html').to_return(
+ status: 200,
+ headers: { 'Content-Type': 'text/html' },
+ body: request_fixture('oembed_json_empty.html')
+ )
+ end
+
+ it 'returns new OEmbed::Provider for JSON provider' do
+ subject.call('https://host.test/oembed.html')
+ expect(subject.endpoint_url).to eq 'https://host.test/empty_provider.json'
+ expect(subject.format).to eq :json
+ end
+ end
+
end
context 'when status code is not 200' do
diff --git a/spec/services/unfollow_service_spec.rb b/spec/services/unfollow_service_spec.rb
index c5914c818..8a2881ab1 100644
--- a/spec/services/unfollow_service_spec.rb
+++ b/spec/services/unfollow_service_spec.rb
@@ -56,4 +56,22 @@ RSpec.describe UnfollowService, type: :service do
expect(a_request(:post, 'http://example.com/inbox')).to have_been_made.once
end
end
+
+ describe 'remote ActivityPub (reverse)' do
+ let(:bob) { Fabricate(:user, email: 'bob@example.com', account: Fabricate(:account, username: 'bob', protocol: :activitypub, domain: 'example.com', inbox_url: 'http://example.com/inbox')).account }
+
+ before do
+ bob.follow!(sender)
+ stub_request(:post, 'http://example.com/inbox').to_return(status: 200)
+ subject.call(bob, sender)
+ end
+
+ it 'destroys the following relation' do
+ expect(bob.following?(sender)).to be false
+ end
+
+ it 'sends a reject activity' do
+ expect(a_request(:post, 'http://example.com/inbox')).to have_been_made.once
+ end
+ end
end
diff --git a/yarn.lock b/yarn.lock
index 0fd1924fe..9ff12a712 100644
--- a/yarn.lock
+++ b/yarn.lock
@@ -1681,6 +1681,13 @@ braces@^2.3.0, braces@^2.3.1:
split-string "^3.0.2"
to-regex "^3.0.1"
+bricks.js@^1.7.0:
+ version "1.8.0"
+ resolved "https://registry.yarnpkg.com/bricks.js/-/bricks.js-1.8.0.tgz#8fdeb3c0226af251f4d5727a7df7f9ac0092b4b2"
+ integrity sha1-j96zwCJq8lH01XJ6fff5rACStLI=
+ dependencies:
+ knot.js "^1.1.5"
+
brorand@^1.0.1:
version "1.1.0"
resolved "https://registry.yarnpkg.com/brorand/-/brorand-1.1.0.tgz#12c25efe40a45e3c323eb8675a0a0ce57b22371f"
@@ -5528,6 +5535,11 @@ kleur@^2.0.1:
resolved "https://registry.yarnpkg.com/kleur/-/kleur-2.0.2.tgz#b704f4944d95e255d038f0cb05fb8a602c55a300"
integrity sha512-77XF9iTllATmG9lSlIv0qdQ2BQ/h9t0bJllHlbvsQ0zUWfU7Yi0S8L5JXzPZgkefIiajLmBJJ4BsMJmqcf7oxQ==
+knot.js@^1.1.5:
+ version "1.1.5"
+ resolved "https://registry.yarnpkg.com/knot.js/-/knot.js-1.1.5.tgz#28e72522f703f50fe98812fde224dd72728fef5d"
+ integrity sha1-KOclIvcD9Q/piBL94iTdcnKP710=
+
lcid@^1.0.0:
version "1.0.0"
resolved "https://registry.yarnpkg.com/lcid/-/lcid-1.0.0.tgz#308accafa0bc483a3867b4b6f2b9506251d1b835"
@@ -7558,6 +7570,13 @@ react-immutable-pure-component@^1.1.1:
optionalDependencies:
"@types/react" "16.4.6"
+react-infinite-scroller@^1.0.12:
+ version "1.2.4"
+ resolved "https://registry.yarnpkg.com/react-infinite-scroller/-/react-infinite-scroller-1.2.4.tgz#f67eaec4940a4ce6417bebdd6e3433bfc38826e9"
+ integrity sha512-/oOa0QhZjXPqaD6sictN2edFMsd3kkMiE19Vcz5JDgHpzEJVqYcmq+V3mkwO88087kvKGe1URNksHEOt839Ubw==
+ dependencies:
+ prop-types "^15.5.8"
+
react-input-autosize@^2.2.1:
version "2.2.1"
resolved "https://registry.yarnpkg.com/react-input-autosize/-/react-input-autosize-2.2.1.tgz#ec428fa15b1592994fb5f9aa15bb1eb6baf420f8"
@@ -7596,6 +7615,15 @@ react-lifecycles-compat@^3.0.2, react-lifecycles-compat@^3.0.4:
resolved "https://registry.yarnpkg.com/react-lifecycles-compat/-/react-lifecycles-compat-3.0.4.tgz#4f1a273afdfc8f3488a8c516bfda78f872352362"
integrity sha512-fBASbA6LnOU9dOU2eW7aQ8xmYBSXUIWr+UmF9b1efZBazGNO+rcXT/icdKnYm2pTwcRylVUYwW7H1PHfLekVzA==
+react-masonry-infinite@^1.2.2:
+ version "1.2.2"
+ resolved "https://registry.yarnpkg.com/react-masonry-infinite/-/react-masonry-infinite-1.2.2.tgz#20c1386f9ccdda9747527c8f42bc2c02dd2e7951"
+ integrity sha1-IME4b5zN2pdHUnyPQrwsAt0ueVE=
+ dependencies:
+ bricks.js "^1.7.0"
+ prop-types "^15.5.10"
+ react-infinite-scroller "^1.0.12"
+
react-motion@^0.5.2:
version "0.5.2"
resolved "https://registry.yarnpkg.com/react-motion/-/react-motion-0.5.2.tgz#0dd3a69e411316567927917c6626551ba0607316"
@@ -7624,10 +7652,10 @@ react-overlays@^0.8.3:
react-transition-group "^2.2.0"
warning "^3.0.0"
-react-redux-loading-bar@^4.1.0:
- version "4.1.0"
- resolved "https://registry.yarnpkg.com/react-redux-loading-bar/-/react-redux-loading-bar-4.1.0.tgz#3ca460569d979450d9d1dc992328efa449c10a7a"
- integrity sha512-9L51ZvPqnlPs97j44FZLio6maQ/2BMP8xXFPArDWxByyLyGYs2fXpSZw+Lby9qr8Px3SsH9dylfC8HfQrmc/Mw==
+react-redux-loading-bar@^4.0.8:
+ version "4.0.8"
+ resolved "https://registry.yarnpkg.com/react-redux-loading-bar/-/react-redux-loading-bar-4.0.8.tgz#e84d59d1517b79f53b0f39c8ddb40682af648c1b"
+ integrity sha512-BpR1tlYrYKFtGhxa7nAKc0dpcV33ZgXJ/jKNLpDDaxu2/cCxbkWQt9YlWT+VLw1x/7qyNYY4DH48bZdtmciSpg==
dependencies:
prop-types "^15.6.2"
react-lifecycles-compat "^3.0.2"