Merge tag 'v2.7.0' into instance_only_statuses

This commit is contained in:
Renato "Lond" Cerqueira 2019-01-22 11:56:24 +01:00
commit 20ad8165a0
115 changed files with 2913 additions and 803 deletions

View File

@ -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

View File

@ -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))

View File

@ -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"

12
Gemfile
View File

@ -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

View File

@ -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

View File

@ -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]

View File

@ -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

View File

@ -3,6 +3,8 @@
class TagsController < ApplicationController
PAGE_SIZE = 20
layout 'public'
before_action :set_body_classes
before_action :set_instance_presenter

View File

@ -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

View File

@ -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
}
};

View File

@ -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 = <span className='display-name__account'>@{account.get('acct')}</span>;
let acct = account.get('acct');
if (acct.indexOf('@') === -1 && localDomain) {
acct = `${acct}@${localDomain}`;
}
suffix = <span className='display-name__account'>@{acct}</span>;
}
return (

View File

@ -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 }) => (
<div className='trends__item'>
<div className='trends__item__name'>
<Link to={`/timelines/tag/${hashtag.get('name')}`}>
<Permalink href={hashtag.get('url')} to={`/timelines/tag/${hashtag.get('name')}`}>
#<span>{hashtag.get('name')}</span>
</Link>
</Permalink>
<FormattedMessage id='trends.count_by_accounts' defaultMessage='{count} {rawCount, plural, one {person} other {people}} talking' values={{ rawCount: hashtag.getIn(['history', 0, 'accounts']), count: <strong>{shortNumberFormat(hashtag.getIn(['history', 0, 'accounts']))}</strong> }} />
</div>

View File

@ -77,7 +77,7 @@ class Status extends ImmutablePureComponent {
'account',
'muted',
'hidden',
]
];
handleClick = () => {
if (this.props.onClick) {

View File

@ -1,28 +1,32 @@
import React from 'react';
import { connect } from 'react-redux';
import PropTypes from 'prop-types';
import StatusListContainer from '../../ui/containers/status_list_container';
import ImmutablePropTypes from 'react-immutable-proptypes';
import { expandHashtagTimeline } from '../../../actions/timelines';
import Column from '../../../components/column';
import ColumnHeader from '../../../components/column_header';
import { connectHashtagStream } from '../../../actions/streaming';
import Masonry from 'react-masonry-infinite';
import { List as ImmutableList } from 'immutable';
import DetailedStatusContainer from '../../status/containers/detailed_status_container';
import { debounce } from 'lodash';
import LoadingIndicator from '../../../components/loading_indicator';
export default @connect()
const mapStateToProps = (state, { hashtag }) => ({
statusIds: state.getIn(['timelines', `hashtag:${hashtag}`, 'items'], ImmutableList()),
isLoading: state.getIn(['timelines', `hashtag:${hashtag}`, 'isLoading'], false),
hasMore: state.getIn(['timelines', `hashtag:${hashtag}`, 'hasMore'], false),
});
export default @connect(mapStateToProps)
class HashtagTimeline extends React.PureComponent {
static propTypes = {
dispatch: PropTypes.func.isRequired,
statusIds: ImmutablePropTypes.list.isRequired,
isLoading: PropTypes.bool.isRequired,
hasMore: PropTypes.bool.isRequired,
hashtag: PropTypes.string.isRequired,
};
handleHeaderClick = () => {
this.column.scrollTop();
}
setRef = c => {
this.column = c;
}
componentDidMount () {
const { dispatch, hashtag } = this.props;
@ -37,28 +41,52 @@ class HashtagTimeline extends React.PureComponent {
}
}
handleLoadMore = maxId => {
this.props.dispatch(expandHashtagTimeline(this.props.hashtag, { maxId }));
handleLoadMore = () => {
const maxId = this.props.statusIds.last();
if (maxId) {
this.props.dispatch(expandHashtagTimeline(this.props.hashtag, { maxId }));
}
}
setRef = c => {
this.masonry = c;
}
handleHeightChange = debounce(() => {
if (!this.masonry) {
return;
}
this.masonry.forcePack();
}, 50)
render () {
const { hashtag } = this.props;
const { statusIds, hasMore, isLoading } = this.props;
const sizes = [
{ columns: 1, gutter: 0 },
{ mq: '415px', columns: 1, gutter: 10 },
{ mq: '640px', columns: 2, gutter: 10 },
{ mq: '960px', columns: 3, gutter: 10 },
{ mq: '1255px', columns: 3, gutter: 10 },
];
const loader = (isLoading && statusIds.isEmpty()) ? <LoadingIndicator key={0} /> : undefined;
return (
<Column ref={this.setRef}>
<ColumnHeader
icon='hashtag'
title={hashtag}
onClick={this.handleHeaderClick}
/>
<StatusListContainer
trackScroll={false}
scrollKey='standalone_hashtag_timeline'
timelineId={`hashtag:${hashtag}`}
onLoadMore={this.handleLoadMore}
/>
</Column>
<Masonry ref={this.setRef} className='statuses-grid' hasMore={hasMore} loadMore={this.handleLoadMore} sizes={sizes} loader={loader}>
{statusIds.map(statusId => (
<div className='statuses-grid__item' key={statusId}>
<DetailedStatusContainer
id={statusId}
compact
measureHeight
onHeightChange={this.handleHeightChange}
/>
</div>
)).toArray()}
</Masonry>
);
}

View File

@ -11,6 +11,8 @@ import { defineMessages, injectIntl, FormattedDate, FormattedNumber } from 'reac
import Card from './card';
import ImmutablePureComponent from 'react-immutable-pure-component';
import Video from '../../video';
import scheduleIdleTask from '../../ui/util/schedule_idle_task';
import classNames from 'classnames';
const messages = defineMessages({
local_only: { id: 'status.local_only', defaultMessage: 'This post is only visible by other users of your instance' },
@ -28,10 +30,18 @@ export default class DetailedStatus extends ImmutablePureComponent {
onOpenMedia: PropTypes.func.isRequired,
onOpenVideo: PropTypes.func.isRequired,
onToggleHidden: PropTypes.func.isRequired,
measureHeight: PropTypes.bool,
onHeightChange: PropTypes.func,
domain: PropTypes.string.isRequired,
compact: PropTypes.bool,
};
state = {
height: null,
};
handleAccountClick = (e) => {
if (e.button === 0 && !(e.ctrlKey || e.metaKey)) {
if (e.button === 0 && !(e.ctrlKey || e.metaKey) && this.context.router) {
e.preventDefault();
this.context.router.history.push(`/accounts/${this.props.status.getIn(['account', 'id'])}`);
}
@ -47,15 +57,59 @@ export default class DetailedStatus extends ImmutablePureComponent {
this.props.onToggleHidden(this.props.status);
}
_measureHeight (heightJustChanged) {
if (this.props.measureHeight && this.node) {
scheduleIdleTask(() => this.node && this.setState({ height: Math.ceil(this.node.scrollHeight) + 1 }));
if (this.props.onHeightChange && heightJustChanged) {
this.props.onHeightChange();
}
}
}
setRef = c => {
this.node = c;
this._measureHeight();
}
componentDidUpdate (prevProps, prevState) {
this._measureHeight(prevState.height !== this.state.height);
}
handleModalLink = e => {
e.preventDefault();
let href;
if (e.target.nodeName !== 'A') {
href = e.target.parentNode.href;
} else {
href = e.target.href;
}
window.open(href, 'mastodon-intent', 'width=445,height=600,resizable=no,menubar=no,status=no,scrollbars=yes');
}
render () {
const status = this.props.status.get('reblog') ? this.props.status.get('reblog') : this.props.status;
const intl = this.props.intl;
const outerStyle = { boxSizing: 'border-box' };
const { compact } = this.props;
if (!status) {
return null;
}
let media = '';
let applicationLink = '';
let reblogLink = '';
let localOnly = '';
let reblogIcon = 'retweet';
let favouriteLink = '';
if (this.props.measureHeight) {
outerStyle.height = `${this.state.height}px`;
}
if (status.get('media_attachments').size > 0) {
if (status.get('media_attachments').some(item => item.get('type') === 'unknown')) {
@ -102,39 +156,67 @@ export default class DetailedStatus extends ImmutablePureComponent {
if (status.get('visibility') === 'private') {
reblogLink = <i className={`fa fa-${reblogIcon}`} />;
} else if (this.context.router) {
reblogLink = (
<Link to={`/statuses/${status.get('id')}/reblogs`} className='detailed-status__link'>
<i className={`fa fa-${reblogIcon}`} />
<span className='detailed-status__reblogs'>
<FormattedNumber value={status.get('reblogs_count')} />
</span>
</Link>
);
} else {
reblogLink = (<Link to={`/statuses/${status.get('id')}/reblogs`} className='detailed-status__link'>
<i className={`fa fa-${reblogIcon}`} />
<span className='detailed-status__reblogs'>
<FormattedNumber value={status.get('reblogs_count')} />
</span>
</Link>);
reblogLink = (
<a href={`/interact/${status.get('id')}?type=reblog`} className='detailed-status__link' onClick={this.handleModalLink}>
<i className={`fa fa-${reblogIcon}`} />
<span className='detailed-status__reblogs'>
<FormattedNumber value={status.get('reblogs_count')} />
</span>
</a>
);
}
if(status.get('local_only')) {
localOnly = <span> · <i className='fa fa-chain-broken' title={intl.formatMessage(messages.local_only)} /></span>;
}
return (
<div className='detailed-status'>
<a href={status.getIn(['account', 'url'])} onClick={this.handleAccountClick} className='detailed-status__display-name'>
<div className='detailed-status__display-avatar'><Avatar account={status.get('account')} size={48} /></div>
<DisplayName account={status.get('account')} />
if (this.context.router) {
favouriteLink = (
<Link to={`/statuses/${status.get('id')}/favourites`} className='detailed-status__link'>
<i className='fa fa-star' />
<span className='detailed-status__favorites'>
<FormattedNumber value={status.get('favourites_count')} />
</span>
</Link>
);
} else {
favouriteLink = (
<a href={`/interact/${status.get('id')}?type=favourite`} className='detailed-status__link' onClick={this.handleModalLink}>
<i className='fa fa-star' />
<span className='detailed-status__favorites'>
<FormattedNumber value={status.get('favourites_count')} />
</span>
</a>
);
}
<StatusContent status={status} expanded={!status.get('hidden')} onExpandedToggle={this.handleExpandedToggle} />
return (
<div style={outerStyle}>
<div ref={this.setRef} className={classNames('detailed-status', { compact })}>
<a href={status.getIn(['account', 'url'])} onClick={this.handleAccountClick} className='detailed-status__display-name'>
<div className='detailed-status__display-avatar'><Avatar account={status.get('account')} size={48} /></div>
<DisplayName account={status.get('account')} localDomain={this.props.domain} />
</a>
{media}
<StatusContent status={status} expanded={!status.get('hidden')} onExpandedToggle={this.handleExpandedToggle} />
<div className='detailed-status__meta'>
<a className='detailed-status__datetime' href={status.get('url')} target='_blank' rel='noopener'>
<FormattedDate value={new Date(status.get('created_at'))} hour12={false} year='numeric' month='short' day='2-digit' hour='2-digit' minute='2-digit' />
</a>{applicationLink} · {reblogLink} · <Link to={`/statuses/${status.get('id')}/favourites`} className='detailed-status__link'>
<i className='fa fa-star' />
<span className='detailed-status__favorites'>
<FormattedNumber value={status.get('favourites_count')} />
</span>
</Link>{localOnly}
{media}
<div className='detailed-status__meta'>
<a className='detailed-status__datetime' href={status.get('url')} target='_blank' rel='noopener'>
<FormattedDate value={new Date(status.get('created_at'))} hour12={false} year='numeric' month='short' day='2-digit' hour='2-digit' minute='2-digit' />
</a>{applicationLink} · {reblogLink} · {favouriteLink}{localOnly}
</div>
</div>
</div>
);

View File

@ -0,0 +1,172 @@
import React from 'react';
import { connect } from 'react-redux';
import DetailedStatus from '../components/detailed_status';
import { makeGetStatus } from '../../../selectors';
import {
replyCompose,
mentionCompose,
directCompose,
} from '../../../actions/compose';
import {
reblog,
favourite,
unreblog,
unfavourite,
pin,
unpin,
} from '../../../actions/interactions';
import { blockAccount } from '../../../actions/accounts';
import {
muteStatus,
unmuteStatus,
deleteStatus,
hideStatus,
revealStatus,
} from '../../../actions/statuses';
import { initMuteModal } from '../../../actions/mutes';
import { initReport } from '../../../actions/reports';
import { openModal } from '../../../actions/modal';
import { defineMessages, injectIntl, FormattedMessage } from 'react-intl';
import { boostModal, deleteModal } from '../../../initial_state';
import { showAlertForError } from '../../../actions/alerts';
const messages = defineMessages({
deleteConfirm: { id: 'confirmations.delete.confirm', defaultMessage: 'Delete' },
deleteMessage: { id: 'confirmations.delete.message', defaultMessage: 'Are you sure you want to delete this status?' },
redraftConfirm: { id: 'confirmations.redraft.confirm', defaultMessage: 'Delete & redraft' },
redraftMessage: { id: 'confirmations.redraft.message', defaultMessage: 'Are you sure you want to delete this status and re-draft it? Favourites and boosts will be lost, and replies to the original post will be orphaned.' },
blockConfirm: { id: 'confirmations.block.confirm', defaultMessage: 'Block' },
replyConfirm: { id: 'confirmations.reply.confirm', defaultMessage: 'Reply' },
replyMessage: { id: 'confirmations.reply.message', defaultMessage: 'Replying now will overwrite the message you are currently composing. Are you sure you want to proceed?' },
});
const makeMapStateToProps = () => {
const getStatus = makeGetStatus();
const mapStateToProps = (state, props) => ({
status: getStatus(state, props),
domain: state.getIn(['meta', 'domain']),
});
return mapStateToProps;
};
const mapDispatchToProps = (dispatch, { intl }) => ({
onReply (status, router) {
dispatch((_, getState) => {
let state = getState();
if (state.getIn(['compose', 'text']).trim().length !== 0) {
dispatch(openModal('CONFIRM', {
message: intl.formatMessage(messages.replyMessage),
confirm: intl.formatMessage(messages.replyConfirm),
onConfirm: () => dispatch(replyCompose(status, router)),
}));
} else {
dispatch(replyCompose(status, router));
}
});
},
onModalReblog (status) {
dispatch(reblog(status));
},
onReblog (status, e) {
if (status.get('reblogged')) {
dispatch(unreblog(status));
} else {
if (e.shiftKey || !boostModal) {
this.onModalReblog(status);
} else {
dispatch(openModal('BOOST', { status, onReblog: this.onModalReblog }));
}
}
},
onFavourite (status) {
if (status.get('favourited')) {
dispatch(unfavourite(status));
} else {
dispatch(favourite(status));
}
},
onPin (status) {
if (status.get('pinned')) {
dispatch(unpin(status));
} else {
dispatch(pin(status));
}
},
onEmbed (status) {
dispatch(openModal('EMBED', {
url: status.get('url'),
onError: error => dispatch(showAlertForError(error)),
}));
},
onDelete (status, history, withRedraft = false) {
if (!deleteModal) {
dispatch(deleteStatus(status.get('id'), history, withRedraft));
} else {
dispatch(openModal('CONFIRM', {
message: intl.formatMessage(withRedraft ? messages.redraftMessage : messages.deleteMessage),
confirm: intl.formatMessage(withRedraft ? messages.redraftConfirm : messages.deleteConfirm),
onConfirm: () => dispatch(deleteStatus(status.get('id'), history, withRedraft)),
}));
}
},
onDirect (account, router) {
dispatch(directCompose(account, router));
},
onMention (account, router) {
dispatch(mentionCompose(account, router));
},
onOpenMedia (media, index) {
dispatch(openModal('MEDIA', { media, index }));
},
onOpenVideo (media, time) {
dispatch(openModal('VIDEO', { media, time }));
},
onBlock (account) {
dispatch(openModal('CONFIRM', {
message: <FormattedMessage id='confirmations.block.message' defaultMessage='Are you sure you want to block {name}?' values={{ name: <strong>@{account.get('acct')}</strong> }} />,
confirm: intl.formatMessage(messages.blockConfirm),
onConfirm: () => dispatch(blockAccount(account.get('id'))),
}));
},
onReport (status) {
dispatch(initReport(status.get('account'), status));
},
onMute (account) {
dispatch(initMuteModal(account));
},
onMuteConversation (status) {
if (status.get('muted')) {
dispatch(unmuteStatus(status.get('id')));
} else {
dispatch(muteStatus(status.get('id')));
}
},
onToggleHidden (status) {
if (status.get('hidden')) {
dispatch(revealStatus(status.get('id')));
} else {
dispatch(hideStatus(status.get('id')));
}
},
});
export default injectIntl(connect(makeMapStateToProps, mapDispatchToProps)(DetailedStatus));

View File

@ -101,6 +101,7 @@ const makeMapStateToProps = () => {
ancestorsIds,
descendantsIds,
askReplyConfirmation: state.getIn(['compose', 'text']).trim().length !== 0,
domain: state.getIn(['meta', 'domain']),
};
};
@ -123,6 +124,7 @@ class Status extends ImmutablePureComponent {
descendantsIds: ImmutablePropTypes.list,
intl: PropTypes.object.isRequired,
askReplyConfirmation: PropTypes.bool,
domain: PropTypes.string.isRequired,
};
state = {
@ -387,7 +389,7 @@ class Status extends ImmutablePureComponent {
render () {
let ancestors, descendants;
const { shouldUpdateScroll, status, ancestorsIds, descendantsIds, intl } = this.props;
const { shouldUpdateScroll, status, ancestorsIds, descendantsIds, intl, domain } = this.props;
const { fullscreen } = this.state;
if (status === null) {
@ -438,6 +440,7 @@ class Status extends ImmutablePureComponent {
onOpenVideo={this.handleOpenVideo}
onOpenMedia={this.handleOpenMedia}
onToggleHidden={this.handleToggleHidden}
domain={domain}
/>
<ActionBar

View File

@ -33,7 +33,7 @@ const messages = defineMessages({
publish: { id: 'compose_form.publish', defaultMessage: 'Toot' },
});
const shouldHideFAB = path => path.match(/^\/statuses\//);
const shouldHideFAB = path => path.match(/^\/statuses\/|^\/search|^\/getting-started/);
export default @(component => injectIntl(component, { withRef: true }))
class ColumnsArea extends ImmutablePureComponent {

View File

@ -243,6 +243,7 @@ class UI extends React.PureComponent {
}
handleDragOver = (e) => {
if (this.dataTransferIsText(e.dataTransfer)) return false;
e.preventDefault();
e.stopPropagation();
@ -256,9 +257,11 @@ class UI extends React.PureComponent {
}
handleDrop = (e) => {
if (this.dataTransferIsText(e.dataTransfer)) return;
e.preventDefault();
this.setState({ draggingOver: false });
this.dragTargets = [];
if (e.dataTransfer && e.dataTransfer.files.length === 1) {
this.props.dispatch(uploadCompose(e.dataTransfer.files));
@ -278,6 +281,10 @@ class UI extends React.PureComponent {
this.setState({ draggingOver: false });
}
dataTransferIsText = (dataTransfer) => {
return (dataTransfer && Array.from(dataTransfer.types).includes('text/plain') && dataTransfer.items.length === 1);
}
closeUploadModal = () => {
this.setState({ draggingOver: false });
}

View File

@ -17,7 +17,7 @@
"account.follows_you": "يتابعك",
"account.hide_reblogs": "إخفاء ترقيات @{name}",
"account.link_verified_on": "تم التحقق مِن مالك هذا الرابط بتاريخ {date}",
"account.locked_info": "This account privacy status is set to locked. The owner manually reviews who can follow them.",
"account.locked_info": "تم تأمين خصوصية هذا الحساب عبر قُفل. فصاحب الحساب يُراجِع يدويا طلبات المتابَعة و الاشتراك بحسابه.",
"account.media": "وسائط",
"account.mention": "أُذكُر @{name}",
"account.moved_to": "{name} إنتقل إلى :",
@ -137,8 +137,8 @@
"follow_request.authorize": "ترخيص",
"follow_request.reject": "رفض",
"getting_started.developers": "المُطوِّرون",
"getting_started.directory": "Profile directory",
"getting_started.documentation": "Documentation",
"getting_started.directory": "دليل المستخدِمين والمستخدِمات",
"getting_started.documentation": "الدليل",
"getting_started.heading": "إستعدّ للبدء",
"getting_started.invite": "دعوة أشخاص",
"getting_started.open_source_notice": "ماستدون برنامج مفتوح المصدر. يمكنك المساهمة، أو الإبلاغ عن تقارير الأخطاء، على جيت هب {github}.",
@ -160,17 +160,17 @@
"introduction.federation.home.headline": "Home",
"introduction.federation.home.text": "سوف تُعرَض منشورات الأشخاص الذين تُتابِعهم على الخيط الرئيسي. بإمكانك متابعة أي حساب أيا كان الخادم الذي هو عليه!",
"introduction.federation.local.headline": "Local",
"introduction.federation.local.text": "Public posts from people on the same server as you will appear in the local timeline.",
"introduction.interactions.action": "Finish tutorial!",
"introduction.federation.local.text": "المنشورات المُوجّهة للعامة على نفس الخادم الذي أنتم عليه ستظهر على الخيط الزمني المحلي.",
"introduction.interactions.action": "إنهاء العرض التوضيحي!",
"introduction.interactions.favourite.headline": "الإضافة إلى المفضلة",
"introduction.interactions.favourite.text": "يمكِنك إضافة أي تبويق إلى المفضلة و إعلام صاحبه أنك أعجِبت بذاك التبويق.",
"introduction.interactions.reblog.headline": "الترقية",
"introduction.interactions.reblog.text": "يمكنكم مشاركة تبويقات الأشخاص الآخرين مع متابِعيكم عن طريق ترقيتها.",
"introduction.interactions.reply.headline": "الرد",
"introduction.interactions.reply.text": "You can reply to other people's and your own toots, which will chain them together in a conversation.",
"introduction.interactions.reply.text": "يمكنكم الرد على تبويقاتكم و تبويقات الآخرين على شكل سلسلة محادثة.",
"introduction.welcome.action": "هيا بنا!",
"introduction.welcome.headline": "الخطوات الأولى",
"introduction.welcome.text": "Welcome to the fediverse! In a few moments, you'll be able to broadcast messages and talk to your friends across a wide variety of servers. But this server, {domain}, is special—it hosts your profile, so remember its name.",
"introduction.welcome.text": "مرحبا بكم على الفيديفيرس! بعد لحظات قليلة ، سيكون بمقدوركم بث رسائل والتحدث إلى أصدقائكم عبر تشكيلة واسعة من الخوادم المختلفة. هذا الخادم ، {domain} ، يستضيف ملفكم الشخصي ، لذا يجب تذكر اسمه جيدا.",
"keyboard_shortcuts.back": "للعودة",
"keyboard_shortcuts.blocked": "لفتح قائمة المستخدمين المحظورين",
"keyboard_shortcuts.boost": "للترقية",
@ -297,8 +297,8 @@
"search_results.statuses": "التبويقات",
"search_results.total": "{count, number} {count, plural, one {result} و {results}}",
"standalone.public_title": "نظرة على ...",
"status.admin_account": "Open moderation interface for @{name}",
"status.admin_status": "Open this status in the moderation interface",
"status.admin_account": "افتح الواجهة الإدارية لـ @{name}",
"status.admin_status": "افتح هذا المنشور على واجهة الإشراف",
"status.block": "Block @{name}",
"status.cancel_reblog_private": "إلغاء الترقية",
"status.cannot_reblog": "تعذرت ترقية هذا المنشور",

View File

@ -8,7 +8,7 @@
"account.disclaimer_full": "La informació següent pot reflectir incompleta el perfil de l'usuari.",
"account.domain_blocked": "Domini ocult",
"account.edit_profile": "Editar el perfil",
"account.endorse": "Característica del perfil",
"account.endorse": "Recomanar en el teu perfil",
"account.follow": "Segueix",
"account.followers": "Seguidors",
"account.followers.empty": "Encara ningú no segueix aquest usuari.",
@ -155,9 +155,9 @@
"home.column_settings.show_reblogs": "Mostrar impulsos",
"home.column_settings.show_replies": "Mostrar respostes",
"introduction.federation.action": "Següent",
"introduction.federation.federated.headline": "Federated",
"introduction.federation.federated.headline": "Federada",
"introduction.federation.federated.text": "Les publicacions públiques d'altres servidors del fedivers apareixeran a la línia de temps federada.",
"introduction.federation.home.headline": "Home",
"introduction.federation.home.headline": "Inici",
"introduction.federation.home.text": "Les publicacions de les persones que segueixes apareixeran a la línia de temps Inici. Pots seguir qualsevol persona de qualsevol servidor!",
"introduction.federation.local.headline": "Local",
"introduction.federation.local.text": "Les publicacions públiques de les persones del teu mateix servidor apareixeran a la línia de temps local.",
@ -297,8 +297,8 @@
"search_results.statuses": "Toots",
"search_results.total": "{count, number} {count, plural, un {result} altres {results}}",
"standalone.public_title": "Una mirada a l'interior ...",
"status.admin_account": "Open moderation interface for @{name}",
"status.admin_status": "Open this status in the moderation interface",
"status.admin_account": "Obre l'interfície de moderació per a @{name}",
"status.admin_status": "Obre aquest estat a la interfície de moderació",
"status.block": "Block @{name}",
"status.cancel_reblog_private": "Desfer l'impuls",
"status.cannot_reblog": "Aquesta publicació no pot ser retootejada",

View File

@ -297,8 +297,8 @@
"search_results.statuses": "Statuti",
"search_results.total": "{count, number} {count, plural, one {risultatu} other {risultati}}",
"standalone.public_title": "Una vista à l'internu...",
"status.admin_account": "Open moderation interface for @{name}",
"status.admin_status": "Open this status in the moderation interface",
"status.admin_account": "Apre l'interfaccia di muderazione per @{name}",
"status.admin_status": "Apre stu statutu in l'interfaccia di muderazione",
"status.block": "Bluccà @{name}",
"status.cancel_reblog_private": "Ùn sparte più",
"status.cannot_reblog": "Stu statutu ùn pò micca esse spartutu",

View File

@ -150,7 +150,7 @@
"hashtag.column_settings.tag_mode.all": "Všechny z těchto",
"hashtag.column_settings.tag_mode.any": "Jakékoliv z těchto",
"hashtag.column_settings.tag_mode.none": "Žádné z těchto",
"hashtag.column_settings.tag_toggle": "Zahrnout v tomto sloupci dodatečné hashtagy",
"hashtag.column_settings.tag_toggle": "Zahrnout v tomto sloupci dodatečné tagy",
"home.column_settings.basic": "Základní",
"home.column_settings.show_reblogs": "Zobrazit boosty",
"home.column_settings.show_replies": "Zobrazit odpovědi",
@ -297,8 +297,8 @@
"search_results.statuses": "Tooty",
"search_results.total": "{count, number} {count, plural, one {výsledek} few {výsledky} many {výsledku} other {výsledků}}",
"standalone.public_title": "Nahlédněte dovnitř...",
"status.admin_account": "Open moderation interface for @{name}",
"status.admin_status": "Open this status in the moderation interface",
"status.admin_account": "Otevřít moderační rozhraní pro uživatele @{name}",
"status.admin_status": "Otevřít tento příspěvek v moderačním rozhraní",
"status.block": "Zablokovat uživatele @{name}",
"status.cancel_reblog_private": "Zrušit boost",
"status.cannot_reblog": "Tento příspěvek nemůže být boostnutý",

View File

@ -84,7 +84,7 @@
"confirmations.block.confirm": "Blocio",
"confirmations.block.message": "Ydych chi'n sicr eich bod eisiau blocio {name}?",
"confirmations.delete.confirm": "Dileu",
"confirmations.delete.message": "Ydych chi'n sicr eich bod eisiau dileu y statws hwn?",
"confirmations.delete.message": "Ydych chi'n sicr eich bod eisiau dileu y tŵt hwn?",
"confirmations.delete_list.confirm": "Dileu",
"confirmations.delete_list.message": "Ydych chi'n sicr eich bod eisiau dileu y rhestr hwn am byth?",
"confirmations.domain_block.confirm": "Cuddio parth cyfan",
@ -92,12 +92,12 @@
"confirmations.mute.confirm": "Tawelu",
"confirmations.mute.message": "Ydych chi'n sicr eich bod am ddistewi {name}?",
"confirmations.redraft.confirm": "Dileu & ailddrafftio",
"confirmations.redraft.message": "Ydych chi'n siwr eich bod eisiau dileu y statws hwn a'i ailddrafftio? Bydd ffefrynnau a bwstiau'n cael ei colli, a bydd ymatebion i'r statws gwreiddiol yn cael eu hamddifadu.",
"confirmations.redraft.message": "Ydych chi'n siwr eich bod eisiau dileu y tŵt hwn a'i ailddrafftio? Bydd ffefrynnau a bwstiau'n cael ei colli, a bydd ymatebion i'r tŵt gwreiddiol yn cael eu hamddifadu.",
"confirmations.reply.confirm": "Ateb",
"confirmations.reply.message": "Bydd ateb nawr yn cymryd lle y neges yr ydych yn cyfansoddi ar hyn o bryd. Ydych chi'n sicr yr ydych am barhau?",
"confirmations.unfollow.confirm": "Dad-ddilynwch",
"confirmations.unfollow.message": "Ydych chi'n sicr eich bod am ddad-ddilyn {name}?",
"embed.instructions": "Mewnblannwch y statws hwn ar eich gwefan drwy gopïo'r côd isod.",
"embed.instructions": "Mewnblannwch y tŵt hwn ar eich gwefan drwy gopïo'r côd isod.",
"embed.preview": "Dyma sut olwg fydd arno:",
"emoji_button.activity": "Gweithgarwch",
"emoji_button.custom": "Unigryw",
@ -144,29 +144,29 @@
"getting_started.open_source_notice": "Mae Mastodon yn feddalwedd côd agored. Mae modd cyfrannu neu adrodd materion ar GitHUb ar {github}.",
"getting_started.security": "Diogelwch",
"getting_started.terms": "Telerau Gwasanaeth",
"hashtag.column_header.tag_mode.all": "and {additional}",
"hashtag.column_header.tag_mode.any": "or {additional}",
"hashtag.column_header.tag_mode.none": "without {additional}",
"hashtag.column_settings.tag_mode.all": "All of these",
"hashtag.column_settings.tag_mode.any": "Any of these",
"hashtag.column_settings.tag_mode.none": "None of these",
"hashtag.column_header.tag_mode.all": "a {additional}",
"hashtag.column_header.tag_mode.any": "neu {additional}",
"hashtag.column_header.tag_mode.none": "heb {additional}",
"hashtag.column_settings.tag_mode.all": "Pob un o'r rhain",
"hashtag.column_settings.tag_mode.any": "Unrhyw un o'r rhain",
"hashtag.column_settings.tag_mode.none": "Dim o'r rhain",
"hashtag.column_settings.tag_toggle": "Include additional tags in this column",
"home.column_settings.basic": "Syml",
"home.column_settings.show_reblogs": "Dangos bŵstiau",
"home.column_settings.show_replies": "Dangos ymatebion",
"introduction.federation.action": "Next",
"introduction.federation.federated.headline": "Federated",
"introduction.federation.action": "Nesaf",
"introduction.federation.federated.headline": "Ffederasiwn",
"introduction.federation.federated.text": "Public posts from other servers of the fediverse will appear in the federated timeline.",
"introduction.federation.home.headline": "Home",
"introduction.federation.home.text": "Posts from people you follow will appear in your home feed. You can follow anyone on any server!",
"introduction.federation.local.headline": "Local",
"introduction.federation.local.text": "Public posts from people on the same server as you will appear in the local timeline.",
"introduction.interactions.action": "Finish tutorial!",
"introduction.interactions.favourite.headline": "Favourite",
"introduction.interactions.favourite.headline": "Ffefryn",
"introduction.interactions.favourite.text": "You can save a toot for later, and let the author know that you liked it, by favouriting it.",
"introduction.interactions.reblog.headline": "Boost",
"introduction.interactions.reblog.headline": "Hwb",
"introduction.interactions.reblog.text": "You can share other people's toots with your followers by boosting them.",
"introduction.interactions.reply.headline": "Reply",
"introduction.interactions.reply.headline": "Ateb",
"introduction.interactions.reply.text": "You can reply to other people's and your own toots, which will chain them together in a conversation.",
"introduction.welcome.action": "Let's go!",
"introduction.welcome.headline": "First steps",
@ -174,12 +174,12 @@
"keyboard_shortcuts.back": "i lywio nôl",
"keyboard_shortcuts.blocked": "i agor rhestr defnyddwyr a flociwyd",
"keyboard_shortcuts.boost": "i fŵstio",
"keyboard_shortcuts.column": "i ffocysu statws yn un o'r colofnau",
"keyboard_shortcuts.column": "i ffocysu tŵt yn un o'r colofnau",
"keyboard_shortcuts.compose": "i ffocysu yr ardal cyfansoddi testun",
"keyboard_shortcuts.description": "Disgrifiad",
"keyboard_shortcuts.direct": "i agor colofn negeseuon preifat",
"keyboard_shortcuts.down": "i symud lawr yn y rhestr",
"keyboard_shortcuts.enter": "i agor statws",
"keyboard_shortcuts.enter": "i agor tŵt",
"keyboard_shortcuts.favourite": "i hoffi",
"keyboard_shortcuts.favourites": "i agor rhestr hoffi",
"keyboard_shortcuts.federated": "i agor ffrwd y ffederasiwn",
@ -239,30 +239,30 @@
"navigation_bar.preferences": "Dewisiadau",
"navigation_bar.public_timeline": "Ffrwd y ffederasiwn",
"navigation_bar.security": "Diogelwch",
"notification.favourite": "hoffodd {name} eich statws",
"notification.favourite": "hoffodd {name} eich tŵt",
"notification.follow": "dilynodd {name} chi",
"notification.mention": "Soniodd {name} amdanoch chi",
"notification.reblog": "{name} boosted your status",
"notification.reblog": "Hysbysebodd {name} eich tŵt",
"notifications.clear": "Clirio hysbysiadau",
"notifications.clear_confirmation": "Ydych chi'n sicr eich bod am glirio'ch holl hysbysiadau am byth?",
"notifications.column_settings.alert": "Hysbysiadau bwrdd gwaith",
"notifications.column_settings.favourite": "Ffefrynnau:",
"notifications.column_settings.filter_bar.advanced": "Display all categories",
"notifications.column_settings.filter_bar.category": "Quick filter bar",
"notifications.column_settings.filter_bar.show": "Show",
"notifications.column_settings.filter_bar.show": "Dangos",
"notifications.column_settings.follow": "Dilynwyr newydd:",
"notifications.column_settings.mention": "Crybwylliadau:",
"notifications.column_settings.push": "Hysbysiadau push",
"notifications.column_settings.reblog": "Boosts:",
"notifications.column_settings.reblog": "Hybiadau:",
"notifications.column_settings.show": "Dangos yn y golofn",
"notifications.column_settings.sound": "Chwarae sain",
"notifications.filter.all": "All",
"notifications.filter.boosts": "Boosts",
"notifications.filter.favourites": "Favourites",
"notifications.filter.follows": "Follows",
"notifications.filter.all": "Pob",
"notifications.filter.boosts": "Hybiadau",
"notifications.filter.favourites": "Ffefrynnau",
"notifications.filter.follows": "Yn dilyn",
"notifications.filter.mentions": "Mentions",
"notifications.group": "{count} o hysbysiadau",
"privacy.change": "Addasu preifatrwdd y statws",
"privacy.change": "Addasu preifatrwdd y tŵt",
"privacy.direct.long": "Cyhoeddi i'r defnyddwyr sy'n cael eu crybwyll yn unig",
"privacy.direct.short": "Uniongyrchol",
"privacy.private.long": "Cyhoeddi i ddilynwyr yn unig",
@ -289,7 +289,7 @@
"search_popout.search_format": "Fformat chwilio uwch",
"search_popout.tips.full_text": "Mae testun syml yn dychwelyd tŵtiau yr ydych wedi ysgrifennu, hoffi, wedi'u bŵstio, neu wedi'ch crybwyll ynddynt, ynghyd a chyfateb a enwau defnyddwyr, enwau arddangos ac hashnodau.",
"search_popout.tips.hashtag": "hashnod",
"search_popout.tips.status": "statws",
"search_popout.tips.status": "tŵt",
"search_popout.tips.text": "Mae testun syml yn dychwelyd enwau arddangos, enwau defnyddwyr a hashnodau sy'n cyfateb",
"search_popout.tips.user": "defnyddiwr",
"search_results.accounts": "Pobl",
@ -298,7 +298,7 @@
"search_results.total": "{count, number} {count, plural, one {result} other {results}}",
"standalone.public_title": "Golwg tu fewn...",
"status.admin_account": "Open moderation interface for @{name}",
"status.admin_status": "Open this status in the moderation interface",
"status.admin_status": "Open this tŵt in the moderation interface",
"status.block": "Blocio @{name}",
"status.cancel_reblog_private": "Dadfŵstio",
"status.cannot_reblog": "Ni ellir sbarduno'r tŵt hwn",
@ -307,7 +307,7 @@
"status.direct": "Neges breifat @{name}",
"status.embed": "Plannu",
"status.favourite": "Hoffi",
"status.filtered": "Filtered",
"status.filtered": "Wedi'i hidlo",
"status.load_more": "Llwythwch mwy",
"status.local_only": "This post is only visible by other users of your instance",
"status.media_hidden": "Cyfryngau wedi'u cuddio",
@ -315,7 +315,7 @@
"status.more": "Mwy",
"status.mute": "Tawelu @{name}",
"status.mute_conversation": "Tawelu sgwrs",
"status.open": "Ehangu'r statws hwn",
"status.open": "Ehangu'r tŵt hwn",
"status.pin": "Pinio ar y proffil",
"status.pinned": "Pinio tŵt",
"status.read_more": "Darllen mwy",
@ -334,12 +334,12 @@
"status.show_less_all": "Dangos llai i bawb",
"status.show_more": "Dangos mwy",
"status.show_more_all": "Dangos mwy i bawb",
"status.show_thread": "Show thread",
"status.show_thread": "Dangos edefyn",
"status.unmute_conversation": "Dad-dawelu sgwrs",
"status.unpin": "Dadbinio o'r proffil",
"suggestions.dismiss": "Dismiss suggestion",
"suggestions.header": "You might be interested in…",
"tabs_bar.federated_timeline": "Wedi'i ffedereiddio",
"tabs_bar.federated_timeline": "Ffederasiwn",
"tabs_bar.home": "Hafan",
"tabs_bar.local_timeline": "Lleol",
"tabs_bar.notifications": "Hysbysiadau",
@ -349,7 +349,7 @@
"upload_area.title": "Llusgwch & gollwing i uwchlwytho",
"upload_button.label": "Ychwanegwch gyfryngau (JPEG, PNG, GIF, WebM, MP4, MOV)",
"upload_form.description": "Disgrifio i'r rheini a nam ar ei golwg",
"upload_form.focus": "Cropio",
"upload_form.focus": "Newid rhagolwg",
"upload_form.undo": "Dileu",
"upload_progress.label": "Uwchlwytho...",
"video.close": "Cau fideo",

View File

@ -92,7 +92,7 @@
"confirmations.mute.confirm": "Stummschalten",
"confirmations.mute.message": "Bist du dir sicher, dass du {name} stummschalten möchtest?",
"confirmations.redraft.confirm": "Löschen und neu erstellen",
"confirmations.redraft.message": "Bist du dir sicher, dass du diesen Status löschen und neu machen möchtest? Favoriten und Boosts werden verloren gehen und Antworten zu diesem Post werden verwaist sein.",
"confirmations.redraft.message": "Bist du dir sicher, dass du diesen Beitrag löschen und neu machen möchtest? Favoriten und Boosts werden verloren gehen und Antworten zu diesem Beitrag werden verwaist sein.",
"confirmations.reply.confirm": "Antworten",
"confirmations.reply.message": "Wenn du jetzt antwortest wird es die gesamte Nachricht verwerfen, die du gerade schreibst. Möchtest du wirklich fortfahren?",
"confirmations.unfollow.confirm": "Entfolgen",
@ -165,7 +165,7 @@
"introduction.interactions.favourite.headline": "Favorisieren",
"introduction.interactions.favourite.text": "Du kannst einen Beitrag für später speichern und dem Autor wissen lassen, dass du ihn magst, indem du ihn favorisierst.",
"introduction.interactions.reblog.headline": "Teilen",
"introduction.interactions.reblog.text": "Du kannst Beiträge von anderen Leuten an deine Follower teilen (oder auch \"boosten\").",
"introduction.interactions.reblog.text": "Du kannst Beiträge von anderen Leuten an deine Follower teilen.",
"introduction.interactions.reply.headline": "Antworten",
"introduction.interactions.reply.text": "Du kannst auf die Beiträge von anderen Leuten antworten und die Beiträge werden dann in eine Konversation zusammengebunden.",
"introduction.welcome.action": "Lasst uns loslegen!",
@ -173,7 +173,7 @@
"introduction.welcome.text": "Willkommen im Fediverse! In wenigen Momenten wirst du in der Lage sein Nachrichten zu versenden und mit deinen Freunden über Server hinweg in Kontakt zu treten. Aber dieser Server, {domain}, ist sehr speziell — er hostet dein Profil, also merke dir den Namen.",
"keyboard_shortcuts.back": "zurück navigieren",
"keyboard_shortcuts.blocked": "Liste blockierter Profile öffnen",
"keyboard_shortcuts.boost": "boosten",
"keyboard_shortcuts.boost": "teilen",
"keyboard_shortcuts.column": "einen Status in einer der Spalten fokussieren",
"keyboard_shortcuts.compose": "fokussiere das Eingabefeld",
"keyboard_shortcuts.description": "Beschreibung",
@ -257,9 +257,9 @@
"notifications.column_settings.show": "In der Spalte anzeigen",
"notifications.column_settings.sound": "Ton abspielen",
"notifications.filter.all": "Alle",
"notifications.filter.boosts": "Boosts",
"notifications.filter.boosts": "Erneut geteilte Beiträge",
"notifications.filter.favourites": "Favoriten",
"notifications.filter.follows": "Follows",
"notifications.filter.follows": "Folgende",
"notifications.filter.mentions": "Erwähnungen",
"notifications.group": "{count} Benachrichtigungen",
"privacy.change": "Sichtbarkeit des Beitrags anpassen",
@ -297,8 +297,8 @@
"search_results.statuses": "Beiträge",
"search_results.total": "{count, number} {count, plural, one {Ergebnis} other {Ergebnisse}}",
"standalone.public_title": "Ein kleiner Einblick …",
"status.admin_account": "Open moderation interface for @{name}",
"status.admin_status": "Open this status in the moderation interface",
"status.admin_account": "Öffne Moderationsoberfläche für @{name}",
"status.admin_status": "Öffne diesen Status in der Moderationsoberfläche",
"status.block": "Blockiere @{name}",
"status.cancel_reblog_private": "Nicht mehr teilen",
"status.cannot_reblog": "Dieser Beitrag kann nicht geteilt werden",
@ -322,7 +322,7 @@
"status.reblog": "Teilen",
"status.reblog_private": "An das eigentliche Publikum teilen",
"status.reblogged_by": "{name} teilte",
"status.reblogs.empty": "Diesen Beitrag hat noch niemand geboostet. Sobald es jemand tun, wird er hier angezeigt.",
"status.reblogs.empty": "Diesen Beitrag hat noch niemand geteilt. Sobald es jemand tut, wird die Person hier angezeigt.",
"status.redraft": "Löschen und neu erstellen",
"status.reply": "Antworten",
"status.replyAll": "Auf Thread antworten",

View File

@ -1988,6 +1988,43 @@
],
"path": "app/javascript/mastodon/features/status/components/detailed_status.json"
},
{
"descriptors": [
{
"defaultMessage": "Delete",
"id": "confirmations.delete.confirm"
},
{
"defaultMessage": "Are you sure you want to delete this status?",
"id": "confirmations.delete.message"
},
{
"defaultMessage": "Delete & redraft",
"id": "confirmations.redraft.confirm"
},
{
"defaultMessage": "Are you sure you want to delete this status and re-draft it? Favourites and boosts will be lost, and replies to the original post will be orphaned.",
"id": "confirmations.redraft.message"
},
{
"defaultMessage": "Block",
"id": "confirmations.block.confirm"
},
{
"defaultMessage": "Reply",
"id": "confirmations.reply.confirm"
},
{
"defaultMessage": "Replying now will overwrite the message you are currently composing. Are you sure you want to proceed?",
"id": "confirmations.reply.message"
},
{
"defaultMessage": "Are you sure you want to block {name}?",
"id": "confirmations.block.message"
}
],
"path": "app/javascript/mastodon/features/status/containers/detailed_status_container.json"
},
{
"descriptors": [
{

View File

@ -297,8 +297,8 @@
"search_results.statuses": "Pouets",
"search_results.total": "{count, number} {count, plural, one {résultat} other {résultats}}",
"standalone.public_title": "Un aperçu …",
"status.admin_account": "Open moderation interface for @{name}",
"status.admin_status": "Open this status in the moderation interface",
"status.admin_account": "Ouvrir l'interface de modération pour @{name}",
"status.admin_status": "Ouvrir ce statut dans l'interface de modération",
"status.block": "Block @{name}",
"status.cancel_reblog_private": "Dé-booster",
"status.cannot_reblog": "Cette publication ne peut être boostée",

View File

@ -137,7 +137,7 @@
"follow_request.authorize": "Autorizar",
"follow_request.reject": "Rexeitar",
"getting_started.developers": "Desenvolvedoras",
"getting_started.directory": "Profile directory",
"getting_started.directory": "Directorio do perfil",
"getting_started.documentation": "Documentation",
"getting_started.heading": "Comezando",
"getting_started.invite": "Convide a xente",
@ -297,8 +297,8 @@
"search_results.statuses": "Toots",
"search_results.total": "{count, number} {count,plural,one {result} outros {results}}",
"standalone.public_title": "Ollada dentro...",
"status.admin_account": "Open moderation interface for @{name}",
"status.admin_status": "Open this status in the moderation interface",
"status.admin_account": "Abrir interface de moderación para @{name}",
"status.admin_status": "Abrir este estado na interface de moderación",
"status.block": "Block @{name}",
"status.cancel_reblog_private": "Non promover",
"status.cannot_reblog": "Esta mensaxe non pode ser promovida",

View File

@ -137,7 +137,7 @@
"follow_request.authorize": "許可",
"follow_request.reject": "拒否",
"getting_started.developers": "開発",
"getting_started.directory": "Profile directory",
"getting_started.directory": "ディレクトリ",
"getting_started.documentation": "ドキュメント",
"getting_started.heading": "スタート",
"getting_started.invite": "招待",
@ -262,7 +262,7 @@
"notifications.filter.follows": "フォロー",
"notifications.filter.mentions": "返信",
"notifications.group": "{count} 件の通知",
"privacy.change": "投稿のプライバシーを変更",
"privacy.change": "公開範囲を変更",
"privacy.direct.long": "メンションしたユーザーだけに公開",
"privacy.direct.short": "ダイレクト",
"privacy.private.long": "フォロワーだけに公開",
@ -297,8 +297,8 @@
"search_results.statuses": "トゥート",
"search_results.total": "{count, number}件の結果",
"standalone.public_title": "今こんな話をしています...",
"status.admin_account": "Open moderation interface for @{name}",
"status.admin_status": "Open this status in the moderation interface",
"status.admin_account": "@{name} のモデレーション画面を開く",
"status.admin_status": "このトゥートをモデレーション画面で開く",
"status.block": "@{name}さんをブロック",
"status.cancel_reblog_private": "ブースト解除",
"status.cannot_reblog": "この投稿はブーストできません",

View File

@ -297,8 +297,8 @@
"search_results.statuses": "툿",
"search_results.total": "{count, number}건의 결과",
"standalone.public_title": "지금 이런 이야기를 하고 있습니다…",
"status.admin_account": "Open moderation interface for @{name}",
"status.admin_status": "Open this status in the moderation interface",
"status.admin_account": "@{name}에 대한 모더레이션 인터페이스 열기",
"status.admin_status": "모더레이션 인터페이스에서 이 게시물 열기",
"status.block": "@{name} 차단",
"status.cancel_reblog_private": "부스트 취소",
"status.cannot_reblog": "이 포스트는 부스트 할 수 없습니다",

View File

@ -118,8 +118,8 @@
"empty_column.community": "De lokale tijdlijn is nog leeg. Toot iets in het openbaar om de bal aan het rollen te krijgen!",
"empty_column.direct": "Je hebt nog geen directe berichten. Wanneer je er een verzend of ontvangt, zijn deze hier te zien.",
"empty_column.domain_blocks": "Er zijn nog geen genegeerde domeinen.",
"empty_column.favourited_statuses": "Jij hebt nog geen favoriete toots. Wanneer je er een als favoriet markeert, valt deze hier te zien.",
"empty_column.favourites": "Niemand heeft nog deze toot als favoriet gemarkeerd. Wanneer iemand dit doet, valt dat hier te zien.",
"empty_column.favourited_statuses": "Jij hebt nog geen favoriete toots. Wanneer je er een aan jouw favorieten toevoegt, valt deze hier te zien.",
"empty_column.favourites": "Niemand heeft deze toot nog aan hun favorieten toegevoegd. Wanneer iemand dit doet, valt dat hier te zien.",
"empty_column.follow_requests": "Jij hebt nog enkel volgverzoek ontvangen. Wanneer je er eentje ontvangt, valt dat hier te zien.",
"empty_column.hashtag": "Er is nog niks te vinden onder deze hashtag.",
"empty_column.home": "Jij volgt nog niemand. Bezoek {public} of gebruik het zoekvenster om andere mensen te ontmoeten.",
@ -163,7 +163,7 @@
"introduction.federation.local.text": "Openbare toots van mensen die ook op jouw server zitten verschijnen op de lokale tijdlijn.",
"introduction.interactions.action": "Introductie beëindigen!",
"introduction.interactions.favourite.headline": "Favorieten",
"introduction.interactions.favourite.text": "Je kunt door een toot als favoriet te markeren, deze voor later bewaren en de auteur laten weten dat je het leuk vond.",
"introduction.interactions.favourite.text": "Je kunt door een toot aan jouw favorieten toe te voegen, deze voor later bewaren en de auteur laten weten dat je de toot leuk vind.",
"introduction.interactions.reblog.headline": "Boost",
"introduction.interactions.reblog.text": "Je kunt toots van andere mensen met jouw volgers delen door deze te boosten.",
"introduction.interactions.reply.headline": "Reageren",
@ -180,7 +180,7 @@
"keyboard_shortcuts.direct": "om jouw directe berichten te tonen",
"keyboard_shortcuts.down": "om naar beneden door de lijst te bewegen",
"keyboard_shortcuts.enter": "om toot volledig te tonen",
"keyboard_shortcuts.favourite": "om als favoriet te markeren",
"keyboard_shortcuts.favourite": "om aan jouw favorieten toe te voegen",
"keyboard_shortcuts.favourites": "om jouw lijst met favorieten te tonen",
"keyboard_shortcuts.federated": "om de globale tijdlijn te tonen",
"keyboard_shortcuts.heading": "Sneltoetsen",
@ -239,7 +239,7 @@
"navigation_bar.preferences": "Instellingen",
"navigation_bar.public_timeline": "Globale tijdlijn",
"navigation_bar.security": "Beveiliging",
"notification.favourite": "{name} markeerde jouw toot als favoriet",
"notification.favourite": "{name} voegde jouw toot als favoriet toe",
"notification.follow": "{name} volgt jou nu",
"notification.mention": "{name} vermeldde jou",
"notification.reblog": "{name} boostte jouw toot",
@ -297,8 +297,8 @@
"search_results.statuses": "Toots",
"search_results.total": "{count, number} {count, plural, one {resultaat} other {resultaten}}",
"standalone.public_title": "Een kijkje binnenin...",
"status.admin_account": "Open moderation interface for @{name}",
"status.admin_status": "Open this status in the moderation interface",
"status.admin_account": "Moderatie-omgeving van @{name} openen",
"status.admin_status": "Deze toot in de moderatie-omgeving openen",
"status.block": "Blokkeer @{name}",
"status.cancel_reblog_private": "Niet langer boosten",
"status.cannot_reblog": "Deze toot kan niet geboost worden",
@ -337,7 +337,7 @@
"status.show_thread": "Gesprek tonen",
"status.unmute_conversation": "Gesprek niet langer negeren",
"status.unpin": "Van profielpagina losmaken",
"suggestions.dismiss": "Suggestie verwerpen",
"suggestions.dismiss": "Voorstel verwerpen",
"suggestions.header": "Je bent waarschijnlijk ook geïnteresseerd in…",
"tabs_bar.federated_timeline": "Globaal",
"tabs_bar.home": "Start",

View File

@ -297,8 +297,8 @@
"search_results.statuses": "Tuts",
"search_results.total": "{count, number} {count, plural, one {resultat} other {resultats}}",
"standalone.public_title": "Una ulhada dedins…",
"status.admin_account": "Open moderation interface for @{name}",
"status.admin_status": "Open this status in the moderation interface",
"status.admin_account": "Dobrir linterfàcia de moderacion per @{name}",
"status.admin_status": "Dobrir aqueste estatut dins linterfàcia de moderacion",
"status.block": "Blocar @{name}",
"status.cancel_reblog_private": "Quitar de partejar",
"status.cannot_reblog": "Aqueste estatut pòt pas èsser partejat",

View File

@ -1,5 +1,5 @@
{
"account.add_or_remove_from_list": "Add or Remove from lists",
"account.add_or_remove_from_list": "Dodaj lub usuń z list",
"account.badges.bot": "Bot",
"account.block": "Blokuj @{name}",
"account.block_domain": "Blokuj wszystko z {domain}",
@ -113,7 +113,7 @@
"emoji_button.search_results": "Wyniki wyszukiwania",
"emoji_button.symbols": "Symbole",
"emoji_button.travel": "Podróże i miejsca",
"empty_column.account_timeline": "No toots here!",
"empty_column.account_timeline": "Brak wpisów tutaj!",
"empty_column.blocks": "Nie zablokowałeś(-aś) jeszcze żadnego użytkownika.",
"empty_column.community": "Lokalna oś czasu jest pusta. Napisz coś publicznie, aby zagaić!",
"empty_column.direct": "Nie masz żadnych wiadomości bezpośrednich. Kiedy dostaniesz lub wyślesz jakąś, pojawi się ona tutaj.",
@ -137,19 +137,19 @@
"follow_request.authorize": "Autoryzuj",
"follow_request.reject": "Odrzuć",
"getting_started.developers": "Dla programistów",
"getting_started.directory": "Profile directory",
"getting_started.directory": "Katalog profilów",
"getting_started.documentation": "Dokumentacja",
"getting_started.heading": "Rozpocznij",
"getting_started.invite": "Zaproś znajomych",
"getting_started.open_source_notice": "Mastodon jest oprogramowaniem o otwartym źródle. Możesz pomóc w rozwoju lub zgłaszać błędy na GitHubie tutaj: {github}.",
"getting_started.security": "Bezpieczeństwo",
"getting_started.terms": "Zasady użytkowania",
"hashtag.column_header.tag_mode.all": "and {additional}",
"hashtag.column_header.tag_mode.any": "or {additional}",
"hashtag.column_header.tag_mode.none": "without {additional}",
"hashtag.column_settings.tag_mode.all": "All of these",
"hashtag.column_settings.tag_mode.any": "Any of these",
"hashtag.column_settings.tag_mode.none": "None of these",
"hashtag.column_header.tag_mode.all": "i {additional}",
"hashtag.column_header.tag_mode.any": "lub {additional}",
"hashtag.column_header.tag_mode.none": "bez {additional}",
"hashtag.column_settings.tag_mode.all": "Wszystkie",
"hashtag.column_settings.tag_mode.any": "Dowolne",
"hashtag.column_settings.tag_mode.none": "Żadne",
"hashtag.column_settings.tag_toggle": "Include additional tags in this column",
"home.column_settings.basic": "Podstawowe",
"home.column_settings.show_reblogs": "Pokazuj podbicia",
@ -297,8 +297,8 @@
"search_results.statuses": "Wpisy",
"search_results.total": "{count, number} {count, plural, one {wynik} few {wyniki} many {wyników} more {wyników}}",
"standalone.public_title": "Spojrzenie w głąb…",
"status.admin_account": "Open moderation interface for @{name}",
"status.admin_status": "Open this status in the moderation interface",
"status.admin_account": "Otwórz interfejs moderacyjny dla @{name}",
"status.admin_status": "Otwórz ten wpis w interfejsie moderacyjnym",
"status.block": "Zablokuj @{name}",
"status.cancel_reblog_private": "Cofnij podbicie",
"status.cannot_reblog": "Ten wpis nie może zostać podbity",
@ -334,11 +334,11 @@
"status.show_less_all": "Zwiń wszystkie",
"status.show_more": "Rozwiń",
"status.show_more_all": "Rozwiń wszystkie",
"status.show_thread": "Show thread",
"status.show_thread": "Pokaż wątek",
"status.unmute_conversation": "Cofnij wyciszenie konwersacji",
"status.unpin": "Odepnij z profilu",
"suggestions.dismiss": "Dismiss suggestion",
"suggestions.header": "You might be interested in…",
"suggestions.dismiss": "Odrzuć sugestię",
"suggestions.header": "Może Cię zainteresować…",
"tabs_bar.federated_timeline": "Globalne",
"tabs_bar.home": "Strona główna",
"tabs_bar.local_timeline": "Lokalne",
@ -349,7 +349,7 @@
"upload_area.title": "Przeciągnij i upuść aby wysłać",
"upload_button.label": "Dodaj zawartość multimedialną (JPEG, PNG, GIF, WebM, MP4, MOV)",
"upload_form.description": "Wprowadź opis dla niewidomych i niedowidzących",
"upload_form.focus": "Przytnij",
"upload_form.focus": "Dopasuj podgląd",
"upload_form.undo": "Usuń",
"upload_progress.label": "Wysyłanie...",
"video.close": "Zamknij film",

View File

@ -297,8 +297,8 @@
"search_results.statuses": "Toots",
"search_results.total": "{count, number} {count, plural, one {resultado} other {resultados}}",
"standalone.public_title": "Dê uma espiada...",
"status.admin_account": "Open moderation interface for @{name}",
"status.admin_status": "Open this status in the moderation interface",
"status.admin_account": "Abrir interface de moderação para @{name}",
"status.admin_status": "Abrir esse status na interface de moderação",
"status.block": "Block @{name}",
"status.cancel_reblog_private": "Desfazer compartilhamento",
"status.cannot_reblog": "Esta postagem não pode ser compartilhada",

View File

@ -137,7 +137,7 @@
"follow_request.authorize": "Autorizează",
"follow_request.reject": "Respinge",
"getting_started.developers": "Dezvoltatori",
"getting_started.directory": "Directorul profilului",
"getting_started.directory": "Explorează",
"getting_started.documentation": "Documentație",
"getting_started.heading": "Începe",
"getting_started.invite": "Invită prieteni",

View File

@ -24,8 +24,8 @@
"account.mute": "Ignorovať @{name}",
"account.mute_notifications": "Stĺmiť oboznámenia od @{name}",
"account.muted": "Utíšený/á",
"account.posts": "Hlášky",
"account.posts_with_replies": "Hlášky s odpoveďami",
"account.posts": "Príspevky",
"account.posts_with_replies": "Príspevky aj s odpoveďami",
"account.report": "Nahlás @{name}",
"account.requested": "Čaká na schválenie. Kliknite pre zrušenie žiadosti",
"account.share": "Zdieľať @{name} profil",
@ -56,7 +56,7 @@
"column.lists": "Zoznamy",
"column.mutes": "Ignorovaní užívatelia",
"column.notifications": "Oboznámenia",
"column.pins": "Pripnuté hlášky",
"column.pins": "Pripnuté príspevky",
"column.public": "Federovaná časová os",
"column_back_button.label": "Späť",
"column_header.hide_settings": "Skryť nastavenia",
@ -70,7 +70,7 @@
"compose_form.direct_message_warning": "Tento príspevok bude videný výhradne iba spomenutými užívateľmi. Ber ale na vedomie že správci tvojej a všetkých iných zahrnutých instancií majú možnosť skontrolovať túto správu.",
"compose_form.direct_message_warning_learn_more": "Zistiť viac",
"compose_form.hashtag_warning": "Tento toot nebude zobrazený pod žiadným haštagom lebo nieje listovaný. Iba verejné tooty môžu byť nájdené podľa haštagu.",
"compose_form.lock_disclaimer": "Váš účet nie je zamknutý. Ktokoľvek ťa môže nasledovať a vidieť tvoje správy pre sledujúcich.",
"compose_form.lock_disclaimer": "Váš účet nie je {locked}. Ktokoľvek ťa môže nasledovať a vidieť tvoje správy pre sledujúcich.",
"compose_form.lock_disclaimer.lock": "zamknutý",
"compose_form.placeholder": "Čo máš na mysli?",
"compose_form.publish": "Pošli",
@ -208,8 +208,8 @@
"lists.account.add": "Pridať do zoznamu",
"lists.account.remove": "Odobrať zo zoznamu",
"lists.delete": "Vymazať list",
"lists.edit": "Uprav zoznam",
"lists.new.create": "Pridať zoznam",
"lists.edit": "Uprav zoznam",
"lists.new.create": "Pridaj zoznam",
"lists.new.title_placeholder": "Názov nového zoznamu",
"lists.search": "Vyhľadávajte medzi užívateľmi ktorých sledujete",
"lists.subheading": "Tvoje zoznamy",
@ -225,7 +225,7 @@
"navigation_bar.direct": "Súkromné správy",
"navigation_bar.discover": "Objavuj",
"navigation_bar.domain_blocks": "Skryté domény",
"navigation_bar.edit_profile": "Uprav profil",
"navigation_bar.edit_profile": "Uprav profil",
"navigation_bar.favourites": "Obľúbené",
"navigation_bar.filters": "Utĺmené slová",
"navigation_bar.follow_requests": "Žiadosti o sledovanie",
@ -294,11 +294,11 @@
"search_popout.tips.user": "používateľ",
"search_results.accounts": "Ľudia",
"search_results.hashtags": "Haštagy",
"search_results.statuses": "Hlášky",
"search_results.statuses": "Príspevky",
"search_results.total": "{count, number} {count, plural, one {výsledok} many {výsledkov} other {výsledky}}",
"standalone.public_title": "Náhľad dovnútra...",
"status.admin_account": "Open moderation interface for @{name}",
"status.admin_status": "Open this status in the moderation interface",
"status.admin_account": "Otvor moderovacie rozhranie užívateľa @{name}",
"status.admin_status": "Otvor tento príspevok v moderovacom rozhraní",
"status.block": "Blokovať @{name}",
"status.cancel_reblog_private": "Nezdieľaj",
"status.cannot_reblog": "Tento príspevok nemôže byť re-tootnutý",

View File

@ -92,11 +92,14 @@ const handlePush = (event) => {
options.image = notification.status && notification.status.media_attachments.length > 0 && notification.status.media_attachments[0].preview_url || undefined;
options.data = { access_token, preferred_locale, id: notification.status ? notification.status.id : notification.account.id, url: notification.status ? `/web/statuses/${notification.status.id}` : `/web/accounts/${notification.account.id}` };
if (notification.status && notification.status.sensitive) {
if (notification.status && notification.status.spoiler_text || notification.status.sensitive) {
options.data.hiddenBody = htmlToPlainText(notification.status.content);
options.data.hiddenImage = notification.status.media_attachments.length > 0 && notification.status.media_attachments[0].preview_url;
options.body = notification.status.spoiler_text;
if (notification.status.spoiler_text) {
options.body = notification.status.spoiler_text;
}
options.image = undefined;
options.actions = [actionExpand(preferred_locale)];
} else if (notification.type === 'mention') {

View File

@ -33,6 +33,17 @@ function main() {
const Rellax = require('rellax');
const createHistory = require('history').createBrowserHistory;
const scrollToDetailedStatus = () => {
const history = createHistory();
const detailedStatuses = document.querySelectorAll('.public-layout .detailed-status');
const location = history.location;
if (detailedStatuses.length === 1 && (!location.state || !location.state.scrolledToDetailedStatus)) {
detailedStatuses[0].scrollIntoView();
history.replace(location.pathname, { ...location.state, scrolledToDetailedStatus: true });
}
};
ready(() => {
const locale = document.documentElement.lang;
@ -72,12 +83,24 @@ function main() {
if (reactComponents.length > 0) {
import(/* webpackChunkName: "containers/media_container" */ '../mastodon/containers/media_container')
.then(({ default: MediaContainer }) => {
[].forEach.call(reactComponents, (component) => {
[].forEach.call(component.children, (child) => {
component.removeChild(child);
});
});
const content = document.createElement('div');
ReactDOM.render(<MediaContainer locale={locale} components={reactComponents} />, content);
document.body.appendChild(content);
scrollToDetailedStatus();
})
.catch(error => console.error(error));
.catch(error => {
console.error(error);
scrollToDetailedStatus();
});
} else {
scrollToDetailedStatus();
}
const parallaxComponents = document.querySelectorAll('.parallax');
@ -86,13 +109,12 @@ function main() {
new Rellax('.parallax', { speed: -1 });
}
const history = createHistory();
const detailedStatuses = document.querySelectorAll('.public-layout .detailed-status');
const location = history.location;
if (detailedStatuses.length === 1 && (!location.state || !location.state.scrolledToDetailedStatus)) {
detailedStatuses[0].scrollIntoView();
history.replace(location.pathname, { ...location.state, scrolledToDetailedStatus: true });
if (document.body.classList.contains('with-modals')) {
const scrollbarWidth = window.innerWidth - document.documentElement.clientWidth;
const scrollbarWidthStyle = document.createElement('style');
scrollbarWidthStyle.id = 'scrollbar-width';
document.head.appendChild(scrollbarWidthStyle);
scrollbarWidthStyle.sheet.insertRule(`body.with-modals--active { margin-right: ${scrollbarWidth}px; }`, 0);
}
});

View File

@ -364,7 +364,7 @@ $small-breakpoint: 960px;
@media screen and (max-width: $column-breakpoint) {
.grid {
grid-template-columns: auto;
grid-template-columns: 100%;
.column-0 {
display: block;
@ -1267,8 +1267,7 @@ $small-breakpoint: 960px;
}
#mastodon-timeline {
display: block;
width: 100vw;
display: flex;
height: 100vh;
border-radius: 0;
}

View File

@ -1,4 +1,6 @@
$no-columns-breakpoint: 600px;
$sidebar-width: 240px;
$content-width: 840px;
.admin-wrapper {
display: flex;
@ -6,7 +8,7 @@ $no-columns-breakpoint: 600px;
height: 100%;
.sidebar-wrapper {
flex: 1;
flex: 1 1 $sidebar-width;
height: 100%;
background: $ui-base-color;
display: flex;
@ -14,7 +16,7 @@ $no-columns-breakpoint: 600px;
}
.sidebar {
width: 240px;
width: $sidebar-width;
height: 100%;
padding: 0;
overflow-y: auto;
@ -95,12 +97,12 @@ $no-columns-breakpoint: 600px;
}
.content-wrapper {
flex: 2;
flex: 2 1 $content-width;
overflow: auto;
}
.content {
max-width: 700px;
max-width: $content-width;
padding: 20px 15px;
padding-top: 60px;
padding-left: 25px;

View File

@ -295,7 +295,7 @@
color: $primary-text-color;
}
@media screen and (max-width: $no-gap-breakpoint) {
@media screen and (max-width: 550px) {
&.optional {
display: none;
}

View File

@ -419,7 +419,7 @@ code {
background: darken($ui-base-color, 10%) url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 14.933 18.467' height='19.698' width='15.929'><path d='M3.467 14.967l-3.393-3.5H14.86l-3.392 3.5c-1.866 1.925-3.666 3.5-4 3.5-.335 0-2.135-1.575-4-3.5zm.266-11.234L7.467 0 11.2 3.733l3.733 3.734H0l3.733-3.734z' fill='#{hex-color(lighten($ui-base-color, 12%))}'/></svg>") no-repeat right 8px center / auto 16px;
border: 1px solid darken($ui-base-color, 14%);
border-radius: 4px;
padding: 10px;
padding-left: 10px;
padding-right: 30px;
height: 41px;
}

View File

@ -425,3 +425,93 @@
border-radius: 0;
}
}
$maximum-width: 1235px;
$fluid-breakpoint: $maximum-width + 20px;
.statuses-grid {
min-height: 600px;
@media screen and (max-width: 640px) {
width: 100% !important; // Masonry layout is unnecessary at this width
}
&__item {
width: (960px - 20px) / 3;
@media screen and (max-width: $fluid-breakpoint) {
width: (940px - 20px) / 3;
}
@media screen and (max-width: 640px) {
width: 100%;
}
@media screen and (max-width: $no-gap-breakpoint) {
width: 100vw;
}
}
.detailed-status {
border-radius: 4px;
@media screen and (max-width: $no-gap-breakpoint) {
border-top: 1px solid lighten($ui-base-color, 16%);
}
&.compact {
.detailed-status__meta {
margin-top: 15px;
}
.status__content {
font-size: 15px;
line-height: 20px;
.emojione {
width: 20px;
height: 20px;
margin: -3px 0 0;
}
.status__content__spoiler-link {
line-height: 20px;
margin: 0;
}
}
.media-gallery,
.status-card,
.video-player {
margin-top: 15px;
}
}
}
}
.notice-widget {
margin-bottom: 10px;
color: $darker-text-color;
p {
margin-bottom: 10px;
&:last-child {
margin-bottom: 0;
}
}
a {
font-size: 14px;
line-height: 20px;
text-decoration: none;
font-weight: 500;
color: $ui-highlight-color;
&:hover,
&:focus,
&:active {
text-decoration: underline;
}
}
}

View File

@ -17,7 +17,7 @@ class ActivityPub::Activity::Announce < ActivityPub::Activity
uri: @json['id'],
created_at: @json['published'],
override_timestamps: @options[:override_timestamps],
visibility: original_status.visibility
visibility: visibility_from_audience
)
distribute(status)
@ -26,6 +26,18 @@ class ActivityPub::Activity::Announce < ActivityPub::Activity
private
def visibility_from_audience
if equals_or_includes?(@json['to'], ActivityPub::TagManager::COLLECTIONS[:public])
:public
elsif equals_or_includes?(@json['cc'], ActivityPub::TagManager::COLLECTIONS[:public])
:unlisted
elsif equals_or_includes?(@json['to'], @account.followers_url)
:private
else
:direct
end
end
def announceable?(status)
status.account_id == @account.id || status.public_visibility? || status.unlisted_visibility?
end

View File

@ -5,10 +5,13 @@ class ActivityPub::Activity::Create < ActivityPub::Activity
CONVERTED_TYPES = %w(Image Video Article Page).freeze
def perform
return if delete_arrived_first?(object_uri) || unsupported_object_type? || invalid_origin?(@object['id'])
return if unsupported_object_type? || invalid_origin?(@object['id'])
return if Tombstone.exists?(uri: @object['id'])
RedisLock.acquire(lock_options) do |lock|
if lock.acquired?
return if delete_arrived_first?(object_uri)
@status = find_existing_status
if @status.nil?
@ -59,7 +62,7 @@ class ActivityPub::Activity::Create < ActivityPub::Activity
account: @account,
text: text_from_content || '',
language: detected_language,
spoiler_text: text_from_summary || '',
spoiler_text: converted_object_type? ? '' : (text_from_summary || ''),
created_at: @object['published'],
override_timestamps: @options[:override_timestamps],
reply: @object['inReplyTo'].present?,
@ -254,7 +257,7 @@ class ActivityPub::Activity::Create < ActivityPub::Activity
end
def text_from_content
return Formatter.instance.linkify([text_from_name, object_url || @object['id']].join(' ')) if converted_object_type?
return Formatter.instance.linkify([[text_from_name, text_from_summary.presence].compact.join("\n\n"), object_url || @object['id']].join(' ')) if converted_object_type?
if @object['content'].present?
@object['content']

View File

@ -21,11 +21,14 @@ class ActivityPub::Activity::Delete < ActivityPub::Activity
def delete_note
return if object_uri.nil?
unless invalid_origin?(object_uri)
RedisLock.acquire(lock_options) { |_lock| delete_later!(object_uri) }
Tombstone.find_or_create_by(uri: object_uri, account: @account)
end
@status = Status.find_by(uri: object_uri, account: @account)
@status ||= Status.find_by(uri: @object['atomUri'], account: @account) if @object.is_a?(Hash) && @object['atomUri'].present?
delete_later!(object_uri)
return if @status.nil?
if @status.public_visibility? || @status.unlisted_visibility?
@ -68,4 +71,17 @@ class ActivityPub::Activity::Delete < ActivityPub::Activity
def payload
@payload ||= Oj.dump(@json)
end
def lock_options
{ redis: Redis.current, key: "create:#{object_uri}" }
end
def invalid_origin?(url)
return true if unsupported_uri_scheme?(url)
needle = Addressable::URI.parse(url).host
haystack = Addressable::URI.parse(@account.uri).host
!haystack.casecmp(needle).zero?
end
end

View File

@ -490,7 +490,7 @@ class Status < ApplicationRecord
return if direct_visibility?
account&.increment_count!(:statuses_count)
reblog&.increment_count!(:reblogs_count) if reblog?
reblog&.increment_count!(:reblogs_count) if reblog? && (public_visibility? || unlisted_visibility?)
thread&.increment_count!(:replies_count) if in_reply_to_id.present? && (public_visibility? || unlisted_visibility?)
end
@ -498,7 +498,7 @@ class Status < ApplicationRecord
return if direct_visibility? || marked_for_mass_destruction?
account&.decrement_count!(:statuses_count)
reblog&.decrement_count!(:reblogs_count) if reblog?
reblog&.decrement_count!(:reblogs_count) if reblog? && (public_visibility? || unlisted_visibility?)
thread&.decrement_count!(:replies_count) if in_reply_to_id.present? && (public_visibility? || unlisted_visibility?)
end

16
app/models/tombstone.rb Normal file
View File

@ -0,0 +1,16 @@
# frozen_string_literal: true
# == Schema Information
#
# Table name: tombstones
#
# id :bigint(8) not null, primary key
# account_id :bigint(8)
# uri :string not null
# created_at :datetime not null
# updated_at :datetime not null
#
class Tombstone < ApplicationRecord
belongs_to :account
end

View File

@ -362,7 +362,8 @@ class User < ApplicationRecord
end
def regenerate_feed!
Redis.current.setnx("account:#{account_id}:regeneration", true) && Redis.current.expire("account:#{account_id}:regeneration", 1.day.seconds)
return unless Redis.current.setnx("account:#{account_id}:regeneration", true)
Redis.current.expire("account:#{account_id}:regeneration", 1.day.seconds)
RegenerationWorker.perform_async(account_id)
end

View File

@ -33,6 +33,8 @@ class ActivityPub::ProcessAccountService < BaseService
after_protocol_change! if protocol_changed?
after_key_change! if key_changed? && !@options[:signed_with_known_key]
clear_tombstones! if key_changed?
unless @options[:only_key]
check_featured_collection! if @account.featured_collection_url.present?
check_links! unless @account.fields.empty?
@ -209,6 +211,10 @@ class ActivityPub::ProcessAccountService < BaseService
!@old_public_key.nil? && @old_public_key != @account.public_key
end
def clear_tombstones!
Tombstone.delete_all(account_id: @account.id)
end
def protocol_changed?
!@old_protocol.nil? && @old_protocol != @account.protocol
end

View File

@ -43,7 +43,7 @@ class FetchOEmbedService
res.code != 200 ? nil : res.body_with_limit
end
validate(parse_for_format(body)) unless body.nil?
validate(parse_for_format(body)) if body.present?
rescue Oj::ParseError, Ox::ParseError
nil
end

View File

@ -49,6 +49,8 @@ class PostStatusService < BaseService
@visibility = :unlisted if @visibility == :public && @account.silenced
@scheduled_at = @options[:scheduled_at]&.to_datetime
@scheduled_at = nil if scheduled_in_the_past?
rescue ArgumentError
raise ActiveRecord::RecordInvalid
end
def process_status!

View File

@ -3,6 +3,7 @@
class PrecomputeFeedService < BaseService
def call(account)
FeedManager.instance.populate_feed(account)
ensure
Redis.current.del("account:#{account.id}:regeneration")
end
end

View File

@ -20,6 +20,7 @@ class UnfollowService < BaseService
follow.destroy!
create_notification(follow) unless @target_account.local?
create_reject_notification(follow) if @target_account.local? && !@source_account.local?
UnmergeWorker.perform_async(@target_account.id, @source_account.id)
follow
end
@ -42,6 +43,12 @@ class UnfollowService < BaseService
end
end
def create_reject_notification(follow)
# Rejecting an already-existing follow request
return unless follow.account.activitypub?
ActivityPub::DeliveryWorker.perform_async(build_reject_json(follow), follow.target_account_id, follow.account.inbox_url)
end
def build_json(follow)
ActiveModelSerializers::SerializableResource.new(
follow,
@ -50,6 +57,14 @@ class UnfollowService < BaseService
).to_json
end
def build_reject_json(follow)
ActiveModelSerializers::SerializableResource.new(
follow,
serializer: ActivityPub::RejectFollowSerializer,
adapter: ActivityPub::Adapter
).to_json
end
def build_xml(follow)
OStatus::AtomSerializer.render(OStatus::AtomSerializer.new.unfollow_salmon(follow))
end

View File

@ -41,8 +41,22 @@
= paginate @accounts
.column-1
- if @tags.empty?
.nothing-here.nothing-here--flexible
- if user_signed_in?
.box-widget.notice-widget
- if current_account.discoverable?
- if current_account.followers_count < Account::MIN_FOLLOWERS_DISCOVERY
%p= t('directories.enabled_but_waiting', min_followers: Account::MIN_FOLLOWERS_DISCOVERY)
- else
%p= t('directories.enabled')
- else
%p= t('directories.how_to_enable')
= link_to settings_profile_path do
= t('settings.edit_profile')
= fa_icon 'chevron-right fw'
- if @tags.empty? && !user_signed_in?
.nothing-here
- else
- @tags.each do |tag|
.directory__tag{ class: tag.id == @tag&.id ? 'active' : nil }

View File

@ -0,0 +1,8 @@
.attachment-list
.attachment-list__icon
= fa_icon 'link'
%ul.attachment-list__list
- attachments.each do |media|
%li
- url = media.remote_url.presence || media.file.url
= link_to File.basename(url), url, title: media.description

View File

@ -25,9 +25,11 @@
- if !status.media_attachments.empty?
- if status.media_attachments.first.video?
- video = status.media_attachments.first
= react_component :video, src: video.file.url(:original), preview: video.file.url(:small), sensitive: !current_account&.user&.show_all_media? && status.sensitive? || current_account&.user&.hide_all_media?, width: 670, height: 380, detailed: true, inline: true, alt: video.description
= react_component :video, src: video.file.url(:original), preview: video.file.url(:small), sensitive: !current_account&.user&.show_all_media? && status.sensitive? || current_account&.user&.hide_all_media?, width: 670, height: 380, detailed: true, inline: true, alt: video.description do
= render partial: 'stream_entries/attachment_list', locals: { attachments: status.media_attachments }
- else
= react_component :media_gallery, height: 380, sensitive: !current_account&.user&.show_all_media? && status.sensitive? || current_account&.user&.hide_all_media?, standalone: true, 'autoPlayGif': current_account&.user&.setting_auto_play_gif || autoplay, 'reduceMotion': current_account&.user&.setting_reduce_motion, media: status.media_attachments.map { |a| ActiveModelSerializers::SerializableResource.new(a, serializer: REST::MediaAttachmentSerializer).as_json }
= react_component :media_gallery, height: 380, sensitive: !current_account&.user&.show_all_media? && status.sensitive? || current_account&.user&.hide_all_media?, standalone: true, 'autoPlayGif': current_account&.user&.setting_auto_play_gif || autoplay, 'reduceMotion': current_account&.user&.setting_reduce_motion, media: status.media_attachments.map { |a| ActiveModelSerializers::SerializableResource.new(a, serializer: REST::MediaAttachmentSerializer).as_json } do
= render partial: 'stream_entries/attachment_list', locals: { attachments: status.media_attachments }
- elsif status.preview_card
= react_component :card, 'maxDescription': 160, card: ActiveModelSerializers::SerializableResource.new(status.preview_card, serializer: REST::PreviewCardSerializer).as_json
@ -44,7 +46,10 @@
= link_to status.application.name, status.application.website, class: 'detailed-status__application', target: '_blank', rel: 'noopener'
·
= link_to remote_interaction_path(status, type: :reply), class: 'modal-button detailed-status__link' do
= fa_icon('reply')
- if status.in_reply_to_id.nil?
= fa_icon('reply')
- else
= fa_icon('reply-all')
%span.detailed-status__reblogs>= number_to_human status.replies_count, strip_insignificant_zeros: true
= " "
·

View File

@ -29,16 +29,21 @@
- if !status.media_attachments.empty?
- if status.media_attachments.first.video?
- video = status.media_attachments.first
= react_component :video, src: video.file.url(:original), preview: video.file.url(:small), sensitive: !current_account&.user&.show_all_media? && status.sensitive? || current_account&.user&.hide_all_media?, width: 610, height: 343, inline: true, alt: video.description
= react_component :video, src: video.file.url(:original), preview: video.file.url(:small), sensitive: !current_account&.user&.show_all_media? && status.sensitive? || current_account&.user&.hide_all_media?, width: 610, height: 343, inline: true, alt: video.description do
= render partial: 'stream_entries/attachment_list', locals: { attachments: status.media_attachments }
- else
= react_component :media_gallery, height: 343, sensitive: !current_account&.user&.show_all_media? && status.sensitive? || current_account&.user&.hide_all_media?, 'autoPlayGif': current_account&.user&.setting_auto_play_gif || autoplay, media: status.media_attachments.map { |a| ActiveModelSerializers::SerializableResource.new(a, serializer: REST::MediaAttachmentSerializer).as_json }
= react_component :media_gallery, height: 343, sensitive: !current_account&.user&.show_all_media? && status.sensitive? || current_account&.user&.hide_all_media?, 'autoPlayGif': current_account&.user&.setting_auto_play_gif || autoplay, media: status.media_attachments.map { |a| ActiveModelSerializers::SerializableResource.new(a, serializer: REST::MediaAttachmentSerializer).as_json } do
= render partial: 'stream_entries/attachment_list', locals: { attachments: status.media_attachments }
- elsif status.preview_card
= react_component :card, 'maxDescription': 160, card: ActiveModelSerializers::SerializableResource.new(status.preview_card, serializer: REST::PreviewCardSerializer).as_json
.status__action-bar
.status__action-bar__counter
= link_to remote_interaction_path(status, type: :reply), class: 'status__action-bar-button icon-button modal-button', style: 'font-size: 18px; width: 23.1429px; height: 23.1429px; line-height: 23.15px;' do
= fa_icon 'reply fw'
- if status.in_reply_to_id.nil?
= fa_icon 'reply fw'
- else
= fa_icon 'reply-all fw'
.status__action-bar__counter__label= obscured_counter status.replies_count
= link_to remote_interaction_path(status, type: :reblog), class: 'status__action-bar-button icon-button modal-button', style: 'font-size: 18px; width: 23.1429px; height: 23.1429px; line-height: 23.15px;' do
- if status.public_visibility? || status.unlisted_visibility?

View File

@ -1,25 +0,0 @@
.features-list
.features-list__row
.text
%h6= t 'about.features.real_conversation_title'
= t 'about.features.real_conversation_body'
.visual
= fa_icon 'fw comments'
.features-list__row
.text
%h6= t 'about.features.not_a_product_title'
= t 'about.features.not_a_product_body'
.visual
= fa_icon 'fw users'
.features-list__row
.text
%h6= t 'about.features.within_reach_title'
= t 'about.features.within_reach_body'
.visual
= fa_icon 'fw mobile'
.features-list__row
.text
%h6= t 'about.features.humane_approach_title'
= t 'about.features.humane_approach_body'
.visual
= fa_icon 'fw leaf'

View File

@ -8,33 +8,9 @@
= javascript_pack_tag 'about', integrity: true, crossorigin: 'anonymous'
= render 'og'
.landing-page.tag-page.alternative
.features
.container
.grid
.column-1
#mastodon-timeline{ data: { props: Oj.dump(default_props.merge(hashtag: @tag.name)) } }
.column-2
.about-mastodon
.about-hashtag.landing-page__information
.brand
= link_to root_url do
= image_tag asset_pack_path('logo_full.svg'), alt: 'Mastodon'
%p= t 'about.about_hashtag_html', hashtag: @tag.name
.cta
- if user_signed_in?
= link_to t('settings.back'), root_path, class: 'button button-secondary'
- else
= link_to t('auth.login'), new_user_session_path, class: 'button button-secondary'
= link_to t('about.learn_more'), about_path, class: 'button button-alternative'
.landing-page__features.landing-page__information
%h3= t 'about.what_is_mastodon'
%p= t 'about.about_mastodon_html'
= render 'features'
.page-header
%h1= "##{@tag.name}"
%p= t('about.about_hashtag_html', hashtag: @tag.name)
#mastodon-timeline{ data: { props: Oj.dump(default_props.merge(hashtag: @tag.name)) }}
#modal-container

View File

@ -3,6 +3,8 @@
class PublishScheduledStatusWorker
include Sidekiq::Worker
sidekiq_options unique: :until_executed
def perform(scheduled_status_id)
scheduled_status = ScheduledStatus.find(scheduled_status_id)
scheduled_status.destroy!

View File

@ -1,6 +1,6 @@
# frozen_string_literal: true
lock '3.10.2'
lock '3.11.0'
set :repo_url, ENV.fetch('REPO', 'https://github.com/tootsuite/mastodon.git')
set :branch, ENV.fetch('BRANCH', 'master')

View File

@ -10,7 +10,6 @@ Warden::Manager.after_set_user except: :fetch do |user, warden|
expires: 1.year.from_now,
httponly: true,
secure: (Rails.env.production? || ENV['LOCAL_HTTPS'] == 'true'),
same_site: :lax,
}
end
@ -21,7 +20,6 @@ Warden::Manager.after_fetch do |user, warden|
expires: 1.year.from_now,
httponly: true,
secure: (Rails.env.production? || ENV['LOCAL_HTTPS'] == 'true'),
same_site: :lax,
}
else
warden.logout

View File

@ -36,6 +36,9 @@ if ENV['S3_ENABLED'] == 'true'
},
s3_options: {
signature_version: ENV.fetch('S3_SIGNATURE_VERSION') { 'v4' },
http_open_timeout: 5,
http_read_timeout: 5,
http_idle_timeout: 5,
}
)

View File

@ -1,3 +1,3 @@
# Be sure to restart your server when you modify this file.
Rails.application.config.session_store :cookie_store, key: '_mastodon_session', secure: (Rails.env.production? || ENV['LOCAL_HTTPS'] == 'true'), same_site: :lax
Rails.application.config.session_store :cookie_store, key: '_mastodon_session', secure: (Rails.env.production? || ENV['LOCAL_HTTPS'] == 'true')

View File

@ -88,6 +88,7 @@ ar:
admin:
account_actions:
action: تنفيذ الاجراء
title: اتخاذ إجراء إشراف على %{acct}
account_moderation_notes:
create: إترك ملاحظة
created_msg: تم إنشاء ملاحظة الإشراف بنجاح !
@ -107,6 +108,7 @@ ar:
confirm: تأكيد
confirmed: مؤكَّد
confirming: التأكد
deleted: تمت إزالته
demote: إنزال الرُتبة الوظيفية
disable: تعطيل
disable_two_factor_authentication: تعطيل المصادقة بخطوتين
@ -124,7 +126,9 @@ ar:
follows: يتابع
header: الرأسية
inbox_url: رابط صندوق الوارد
invited_by: تمت دعوته مِن طرف
ip: عنوان الإيبي
joined: انضم
location:
all: الكل
local: المحلي
@ -151,7 +155,7 @@ ar:
protocol: البروتوكول
public: عمومي
push_subscription_expires: انتهاء الاشتراك ”PuSH“
redownload: تحديث الصورة الرمزية
redownload: تحديث الصفحة الشخصية
remove_avatar: حذف الصورة الرمزية
remove_header: حذف الرأسية
resend_confirmation:
@ -172,18 +176,19 @@ ar:
shared_inbox_url: رابط الصندوق المُشترَك للبريد الوارد
show:
created_reports: البلاغات التي أنشأها هذا الحساب
targeted_reports: الشكاوي التي أُنشِأت ضد هذا الحساب
targeted_reports: الشكاوي التي أُنشِأت مِن طرف الآخَرين
silence: كتم
silenced: تم كتمه
statuses: المنشورات
subscribe: اشترك
suspended: تم تعليقه
title: الحسابات
unconfirmed_email: البريد الإلكتروني غير المؤكد
unconfirmed_email: البريد الإلكتروني غير مؤكد
undo_silenced: رفع الصمت
undo_suspension: إلغاء تعليق الحساب
unsubscribe: إلغاء الاشتراك
username: إسم المستخدم
warn: تحذير
web: الويب
action_logs:
actions:
@ -266,7 +271,7 @@ ar:
week_users_active: نشط هذا الأسبوع
week_users_new: مستخدِمين هذا الأسبوع
domain_blocks:
add_new: إضافة نطاق جديد
add_new: إضافة حجب جديد لنطاق
created_msg: إنّ حجب النطاق حيز التشغيل
destroyed_msg: تم إلغاء الحجب المفروض على النطاق
domain: النطاق
@ -282,6 +287,9 @@ ar:
reject_media: رفض ملفات الوسائط
reject_media_hint: يزيل ملفات الوسائط المخزنة محليًا ويرفض تنزيل أي ملفات في المستقبل. غير ذي صلة للتعليق
reject_reports: رفض التقارير
severity:
silence: تم كتمه
suspend: تم تعليقه
show:
affected_accounts:
few: "%{count} حسابات معنية في قاعدة البيانات"
@ -295,7 +303,7 @@ ar:
suspend: إلغاء التعليق المفروض على كافة حسابات هذا النطاق
title: رفع حظر النطاق عن %{domain}
undo: إلغاء
undo: إلغاء
undo: إلغاء حجب النطاق
email_domain_blocks:
add_new: إضافة
created_msg: لقد دخل حظر نطاق البريد الإلكتروني حيّز الخدمة
@ -308,8 +316,24 @@ ar:
title: القائمة السوداء للبريد الإلكتروني
followers:
back_to_account: العودة إلى الحساب
title: "%{acct} مُتابِعون"
instances:
title: مثيلات الخوادم المعروفة
known_accounts:
few: "%{count} حسابات معروفة"
many: "%{count} حسابات معروفة"
one: حساب معروف %{count}
other: "%{count} حسابات معروفة"
two: "%{count} حسابات معروفة"
zero: "%{count} حسابات معروفة"
moderation:
all: كافتها
title: الإشراف
title: الفديرالية
total_blocked_by_us: المحجوبة مِن طرفنا
total_followed_by_them: يُتابِعونها
total_followed_by_us: التي نُتابِعها
total_reported: تقارير عنهم
total_storage: الوسائط المُرفَقة
invites:
deactivate_all: تعطيلها كافة
filter:
@ -541,6 +565,7 @@ ar:
warning_title: توافر المحتوى المنشور و المبعثَر
directories:
directory: سِجلّ الحسابات
enabled: إنّ حسابك الآن ضمن فهرس المستخدِمين.
explanation: استكشف مستخدِمين آخرين حسب المواضيع التي تهمهم
explore_mastodon: استكشف %{title}
people:
@ -573,6 +598,7 @@ ar:
blocks: قمت بحظر
csv: CSV
follows: أنت تتبع
lists: القوائم
mutes: قُمتَ بكتم
storage: ذاكرة التخزين
filters:
@ -669,11 +695,17 @@ ar:
action: معاينة كافة الإشعارات
body: هذا هو مُلَخَّص الرسائل التي فاتتك وذلك منذ آخر زيارة لك في %{since}
mention: "%{name} أشار إليك في :"
new_followers_summary: رائع، لقد قام بمتابعتك %{count} مُتابِعون جُدد أثناء فترة غيابك عن ماستدون !
new_followers_summary:
few: رائع، لقد قام بمتابَعتك %{count} مُتابِعون جُدد أثناء فترة غيابك عن ماستدون!
many: رائع، لقد قام بمتابَعتك %{count} مُتابِعون جُدد أثناء فترة غيابك عن ماستدون!
one: و لقد تحصّلتَ كذلك على مُتابِع آخَر بينما كنتَ غائبًا! هذا شيء رائع!
other: رائع، لقد قام بمتابَعتك %{count} مُتابِعون جُدد أثناء فترة غيابك عن ماستدون!
two: رائع، لقد قام بمتابَعتك %{count} مُتابِعون جُدد أثناء فترة غيابك عن ماستدون!
zero: رائع، لقد قام بمتابَعتك %{count} مُتابِعون جُدد أثناء فترة غيابك عن ماستدون!
subject:
few: "%{count} إشعارات جديدة منذ آخر زيارة لك إلى \U0001F418"
many: "%{count} إشعارات جديدة منذ آخر زيارة لك إلى \U0001F418"
one: "إشعار واحد منذ آخر زيارة لك لـ \U0001F418"
one: "إشعار واحد 1 منذ آخر زيارة لك لـ \U0001F418"
other: "%{count} إشعارات جديدة منذ آخر زيارة لك إلى \U0001F418"
two: "إشعارات جديدة منذ آخر زيارة لك إلى \U0001F418"
zero: "إشعارات جديدة منذ آخر زيارة لك إلى \U0001F418"

View File

@ -86,12 +86,13 @@ ca:
changed_msg: El correu electrònic del compte s'ha canviat correctament!
current_email: Correu electrònic actual
label: Canviar l'adreça de correu
new_email: Nou correu
new_email: Nova adreça de correu
submit: Canviar adreça de correu
title: Canviar adreça de correu de %{username}
confirm: Confirma
confirmed: Confirmat
confirming: Confirmant
deleted: Esborrats
demote: Degrada
disable: Inhabilita
disable_two_factor_authentication: Desactiva 2FA
@ -105,12 +106,13 @@ ca:
enabled: Habilitat
feed_url: URL del canal
followers: Seguidors
followers_local: "(%{local} locals)"
followers_url: URL dels seguidors
follows: Segueix
header: Capçalera
inbox_url: URL de la safata d'entrada
invited_by: Convidat per
ip: IP
joined: Unit
location:
all: Tot
local: Local
@ -137,7 +139,7 @@ ca:
protocol: Protocol
public: Públic
push_subscription_expires: La subscripció PuSH expira
redownload: Actualitza l'avatar
redownload: Actualitza el perfil
remove_avatar: Eliminar avatar
remove_header: Treu la capçalera
resend_confirmation:
@ -157,8 +159,8 @@ ca:
search: Cerca
shared_inbox_url: URL de la safata d'entrada compartida
show:
created_reports: Informes creats per aquest compte
targeted_reports: Informes realitzats sobre aquest compte
created_reports: Informes creats
targeted_reports: Informes realitzats per altres
silence: Silenci
silenced: Silenciat
statuses: Estats
@ -170,6 +172,7 @@ ca:
undo_suspension: Desfés la suspensió
unsubscribe: Cancel·la la subscripció
username: Nom d'usuari
warn: Avís
web: Web
action_logs:
actions:
@ -253,7 +256,7 @@ ca:
week_users_active: usuaris actius aquesta setmana
week_users_new: nous usuaris aquest setmana
domain_blocks:
add_new: Afegeix
add_new: Afegir nou bloqueig de domini
created_msg: El bloqueig de domini ara s'està processant
destroyed_msg: El bloqueig de domini s'ha desfet
domain: Domini
@ -270,6 +273,11 @@ ca:
reject_media_hint: Elimina els fitxers multimèdia emmagatzemats localment i impedeix baixar-ne cap en el futur. Irrellevant en les suspensions
reject_reports: Rebutja informes
reject_reports_hint: Ignora tots els informes procedents d'aquest domini. No és rellevant per a les suspensions
rejecting_media: rebutjant els fitxers multimèdia
rejecting_reports: rebutjant els informes
severity:
silence: silenciat
suspend: suspès
show:
affected_accounts:
one: Un compte afectat en la base de dades
@ -279,7 +287,7 @@ ca:
suspend: Desfés la suspensió de tots els comptes d'aquest domini
title: Desfés el bloqueig de domini de %{domain}
undo: Desfés
undo: Desfés
undo: Desfés el bloqueig del domini
email_domain_blocks:
add_new: Afegeix
created_msg: S'ha creat el bloc de domini de correu electrònic
@ -294,7 +302,20 @@ ca:
back_to_account: Tornar al compte
title: Seguidors de %{acct}
instances:
title: Instàncies conegudes
delivery_available: El lliurament està disponible
known_accounts:
one: "%{count} compte conegut"
other: "%{count} comptes coneguts"
moderation:
all: Totes
limited: Limitades
title: Moderació
title: Federació
total_blocked_by_us: Bloquejades per nosaltres
total_followed_by_them: Seguides per ells
total_followed_by_us: Seguides per nosaltres
total_reported: Informes sobre elles
total_storage: Adjunts multimèdia
invites:
deactivate_all: Desactiva-ho tot
filter:
@ -532,8 +553,11 @@ ca:
warning_title: Disponibilitat de contingut disseminat
directories:
directory: Directori de perfils
enabled: Actualment estàs inclòs al directori.
enabled_but_waiting: Has optat per aparèixer al directori però encara no tens el nombre mínim de seguidors (%{min_followers}) per ser-hi.
explanation: Descobreix usuaris segons els seus interessos
explore_mastodon: Explora %{title}
how_to_enable: Actualment no tens activat ser al directori. Pots optar-hi a continuació. Utilitza etiquetes en el teu text bio per incloure't sota etiquetes especifiques!
people:
one: "%{count} persona"
other: "%{count} gent"
@ -559,7 +583,9 @@ ca:
size: Tamany
blocks: Persones que has blocat
csv: CSV
domain_blocks: Bloquejos de dominis
follows: Persones que segueixes
lists: Llistes
mutes: Persones silenciades
storage: Emmagatzematge
filters:
@ -708,10 +734,25 @@ ca:
no_account_html: No tens cap compte? Pots <a href='%{sign_up_path}' target='_blank'>registrar-te aquí</a>
proceed: Comença a seguir
prompt: 'Seguiràs a:'
reason_html: "<strong>Per què és necessari aquest pas?</strong> <code>%{instance}</code> 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

View File

@ -84,14 +84,15 @@ co:
by_domain: Duminiu
change_email:
changed_msg: Email di u contu cambiatu!
current_email: Email attuale
label: Mudificà lEmail
new_email: Novu Email
submit: Cambià Email
title: Mudificà lEmail di %{username}
current_email: E-mail attuale
label: Mudificà le-mail
new_email: Novu e-mail
submit: Cambià l'e-mail
title: Mudificà le-mail di %{username}
confirm: Cunfirmà
confirmed: Cunfirmata
confirming: Cunfirmazione
deleted: Sguassatu
demote: Ritrugradà
disable: Disattivà
disable_two_factor_authentication: Disattivà lidentificazione à 2 fattori
@ -100,17 +101,18 @@ co:
domain: Duminiu
edit: Mudificà
email: E-mail
email_status: Statu di le-mail
email_status: Statutu di le-mail
enable: Attivà
enabled: Attivatu
feed_url: URL di u flussu
followers: Abbunati
followers_local: "(%{local} lucali)"
followers_url: URL di labbunati
follows: Abbunamenti
header: Intistatura
inbox_url: URL di linbox
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 labbunamentu PuSH
redownload: Mette à ghjornu i ritratti
redownload: Mette à ghjornu u prufile
remove_avatar: Toglie lavatar
remove_header: Toglie l'intistatura
resend_confirmation:
@ -157,8 +159,8 @@ co:
search: Cercà
shared_inbox_url: URL di linbox 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 de-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 <a href='%{sign_up_path}' target='_blank'>arregistravi quì</a>
proceed: Cuntinuà per siguità
prompt: 'Avete da siguità:'
reason_html: "<strong>Perchè hè necessaria sta tappa?</strong> <code>%{instance}</code> ù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

View File

@ -2,7 +2,7 @@
cs:
about:
about_hashtag_html: Tohle jsou veřejné tooty označené hashtagem <strong>#%{hashtag}</strong>. 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 <a href='%{sign_up_path}' target='_blank'>registrovat zde</a>
proceed: Pokračovat ke sledování
prompt: 'Budete sledovat:'
reason_html: "<strong>Proč je tento krok nutný?</strong> <code>%{instance}</code> 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č

View File

@ -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.

View File

@ -1,7 +1,7 @@
---
de:
about:
about_hashtag_html: Dies sind öffentliche Beiträge, die mit <strong>#%{hashtag}</strong> 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 <strong>#%{hashtag}</strong> 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 <a href="%{path}">es hier einstellen</a>.
migrate_account: Ziehe zu einem anderen Konto um
migrate_account_html: Wenn du wünschst, dieses Konto zu einem anderen umzuziehen, kannst du <a href="%{path}">dies hier einstellen</a>.
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 <a href='%{sign_up_path}' target='_blank'>hier anmelden</a>
no_account_html: Noch kein Konto? Du kannst dich <a href='%{sign_up_path}' target='_blank'>hier anmelden</a>
proceed: Weiter
prompt: 'Du wirst dieser Person folgen:'
reason_html: "<strong>Warum ist dieser Schritt erforderlich?</strong><code>%{instance}</code> 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: |
<h2>Datenschutzerklärung</h2>
@ -910,33 +951,33 @@ de:
manual_instructions: 'Wenn du den QR-Code nicht einlesen kannst und ihn manuell eingeben musst, ist hier das Klartext-Geheimnis:'
recovery_codes: Wiederherstellungs-Codes sichern
recovery_codes_regenerated: Wiederherstellungscodes erfolgreich neu generiert
recovery_instructions_html: Wenn du den Zugang zu deinem Telefon verlieren solltest, kannst du einen untenstehenden Wiederherstellungscodes benutzen, um wieder auf dein Konto zugreifen zu können. <strong>Bewahre die Wiederherstellungscodes gut auf.</strong> Du könntest sie beispielsweise ausdrucken und bei deinen restlichen wichtigen Dokumenten aufbewahren.
recovery_instructions_html: Wenn du den Zugang zu deinem Telefon verlieren solltest, kannst du einen untenstehenden Wiederherstellungscode benutzen, um wieder auf dein Konto zugreifen zu können. <strong>Bewahre die Wiederherstellungscodes gut auf.</strong> Du könntest sie beispielsweise ausdrucken und bei deinen restlichen wichtigen Dokumenten aufbewahren.
setup: Einrichten
wrong_code: Der eingegebene Code war ungültig! Stimmen Serverzeit und Gerätezeit?
user_mailer:
backup_ready:
explanation: Du hast ein vollständiges Backup von deinem Mastodon-Account angefragt. Es kann jetzt heruntergeladen werden!
explanation: Du hast ein vollständiges Backup von deinem Mastodon-Konto angefragt. Es kann jetzt heruntergeladen werden!
subject: Dein Archiv ist bereit zum Download
title: Archiv-Download
warning:
explanation:
disable: Solange dein Account eingefroren ist sind deine Benutzerdaten intakt, aber du kannst nichts tun bis dein Account entsperrt wurde.
silence: Solange dein Account limitiert ist können nur Leute, die dir bereits folgen deine Beiträge auf dem Server sehen und es könnte sein, dass du von verschiedenen öffentlichen Listungen ausgeschlossen wirst. Andererseits können andere dir manuell folgen.
suspend: Dein Account wurde gesperrt und alle deine Beiträge und hochgeladenen Medien wurden unwiderruflich vom Server und anderen Servern wo du Follower hattest gelöscht.
disable: Solange dein Konto eingefroren ist, sind deine Benutzerdaten intakt; aber du kannst nichts tun, bis dein Konto entsperrt wurde.
silence: Solange dein Konto limitiert ist, können nur die Leute, die dir bereits folgen, deine Beiträge auf dem Server sehen und es könnte sein, dass du von verschiedenen öffentlichen Listungen ausgeschlossen wirst. Andererseits können andere dir manuell folgen.
suspend: Dein Konto wurde gesperrt und alle deine Beiträge und hochgeladenen Medien wurden unwiderruflich vom Server und anderen Servern, bei denen du Folgende hattest, gelöscht.
review_server_policies: Serverrichtlinien ansehen
subject:
disable: Dein Account %{acct} wurde eingefroren
disable: Dein Konto %{acct} wurde eingefroren
none: Warnung für %{acct}
silence: Dein Account %{acct} wurde limitiert
suspend: Dein Account %{acct} wurde gesperrt
silence: Dein Konto %{acct} wurde limitiert
suspend: Dein Konto %{acct} wurde gesperrt
title:
disable: Account eingefroren
disable: Konto eingefroren
none: Warnung
silence: Account limitiert
suspend: Account gesperrt
silence: Konto limitiert
suspend: Konto gesperrt
welcome:
edit_profile_action: Profil einstellen
edit_profile_step: Du kannst dein Profil anpassen, indem du einen Avatar oder ein Titelbild hochlädst oder deinen Anzeigenamen änderst und mehr. Wenn du deine Follower vorher überprüfen möchtest, bevor sie dir folgen können, dann kannst du dein Profil sperren.
edit_profile_step: Du kannst dein Profil anpassen, indem du einen Avatar oder ein Titelbild hochlädst oder deinen Anzeigenamen änderst und mehr. Wenn du deine Folgenden vorher überprüfen möchtest, bevor sie dir folgen können, dann kannst du dein Profil sperren.
explanation: Hier sind ein paar Tipps, um loszulegen
final_action: Fang an zu posten
final_step: 'Fang an zu posten! Selbst ohne Follower werden deine öffentlichen Beitrage von anderen gesehen, zum Beispiel auf der lokalen Zeitleiste oder in Hashtags. Vielleicht möchtest du dich vorstellen mit dem #introductions-Hashtag.'
@ -959,5 +1000,5 @@ de:
seamless_external_login: Du bist angemeldet über einen Drittanbieter-Dienst, weswegen Passwort- und E-Maileinstellungen nicht verfügbar sind.
signed_in_as: 'Angemeldet als:'
verification:
explanation_html: 'Du kannst <strong>bestätigen, dass die Links in deinen Profil-Metadaten dir gehören</strong>. Dafür muss die verlinkte Website einen Link zurück auf dein Mastodon-Profil enthalten. Dieser Link <strong>muss</strong> ein <code>rel="me"</code>-Attribut enthalten. Der Linktext is dabei egal. Hier ist ein Beispiel:'
explanation_html: 'Du kannst <strong>bestätigen, dass die Links in deinen Profil-Metadaten dir gehören</strong>. Dafür muss die verlinkte Website einen Link zurück auf dein Mastodon-Profil enthalten. Dieser Link <strong>muss</strong> ein <code>rel="me"</code>-Attribut enthalten. Der Linktext ist dabei egal. Hier ist ein Beispiel:'
verification: Verifizierung

View File

@ -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ż <a href="%{terms_path}">regulamin instancji</a> i <a href="%{policy_path}">nasze zasady użytkowania</a>.
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}:'

View File

@ -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:

View File

@ -17,11 +17,33 @@ sr:
unconfirmed: Пре наставка морате потврдити свој налог.
mailer:
confirmation_instructions:
action: Потврдите адресу е-поште
action_with_app: Потврди и врати се на %{app}
explanation: Направили сте налог на %{host} са адресом ове е-поште. На један клик сте удаљени од активирања. Ако ово нисте ви, молимо игноришите ову е-пошту.
extra_html: Молимо да такође проверите <a href="%{terms_path}"> правила ове инстанце и <a href="%{policy_path}"> наше услове коришћења.
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:

View File

@ -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:

View File

@ -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: Δεν έχεις λογαριασμό; Μπορείς <a href='%{sign_up_path}' target='_blank'>να γραφτείς εδώ</a>
proceed: Συνέχισε για να ακολουθήσεις
prompt: 'Θα ακολουθήσεις:'
prompt: 'Ετοιμάζεσαι να ακολουθήσεις:'
reason_html: "<strong>Γιατί χρειάζεται αυτό το βήμα;</strong> Το <code>%{instance}</code> πορεία να μην είναι ο κόμβος που είσαι γραμμένος, έτσι πρέπει να σε ανακατευθύνουμε στο δικό σου."
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)

View File

@ -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"

View File

@ -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

View File

@ -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 lauthentification à 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 dentré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 labonnement PuSH
redownload: Rafraîchir les avatars
redownload: Rafraîchir le profil
remove_avatar: Supprimer lavatar
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 den 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 navez pas de compte? Vous pouvez <a href='%{sign_up_path}' target='_blank'>vous inscrire ici</a>
proceed: Confirmer labonnement
prompt: 'Vous allez suivre:'
reason_html: "<strong>Pourquoi cette étape est-elle nécessaire?</strong> <code>%{instance}</code> 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

View File

@ -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 <a href='%{sign_up_path}' target='_blank'>rexistrarse aquí</a>
proceed: Proceda para seguir
prompt: 'Vostede vai seguir:'
reason_html: "<strong>Por que é necesario este paso?</strong><code>%{instance}</code> 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

View File

@ -1,28 +1,75 @@
---
id:
about:
about_hashtag_html: Ini adalah toot public yang ditandai dengan <strong>#%{hashtag}</strong>. Anda bisa berinteraksi dengan mereka jika anda memiliki akun dimanapun di fediverse.
about_mastodon_html: Mastodon adalah sebuah jejaring sosial <em>terbuka, open-source</em. Sebuah alternatif <em>desentralisasi</em> dari platform komersial, menjauhkan anda resiko dari sebuah perusahaan yang memonopoli komunikasi anda. Pilih server yang anda percayai &mdash; apapun yang anda pilih, anda tetap dapat berinteraksi dengan semua orang. Semua orang dapat menjalankan server Mastodon sendiri dan berpartisipasi dalam <em>jejaring sosial</em> 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: |
<h3>Tempat yang baik untuk peraturan</h3>
<p>Deskripsi lainnya belum diset.</p>
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

View File

@ -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: アカウントをお持ちではないですか?<a href='%{sign_up_path}' target='_blank'>こちら</a>からサインアップできます
proceed: フォローする
prompt: 'フォローしようとしています:'
reason_html: "<strong>なぜこの手順が必要でしょうか?</strong><code>%{instance}</code>はあなたが登録されているサーバーではないかもしれないので、まずあなたのサーバーに転送する必要があります。"
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: ブラウザ

View File

@ -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: 계정이 없나요? <a href='%{sign_up_path}' target='_blank'>여기에서 가입 할 수 있습니다</a>
proceed: 팔로우 하기
prompt: '팔로우 하려 하고 있습니다:'
reason_html: "<strong>왜 이 과정이 필요하죠?</strong><code>%{instance}</code>는 당신이 가입한 서버가 아닐 것입니다, 당신의 홈 서버로 먼저 가야 합니다."
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: 브라우저

View File

@ -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 <a href='%{sign_up_path}' target='_blank'>hier een registreren</a>
proceed: Ga verder om te volgen
prompt: 'Jij gaat volgen:'
reason_html: "<strong> Waarom is deze extra stap nodig? </strong> <code>%{instance}</code> 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

View File

@ -87,11 +87,12 @@ oc:
current_email: Adreça actuala
label: Cambiar dadreça
new_email: Novèla adreça
submit: Cambiar
submit: Cambiar ladreça
title: Cambiar ladreç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 labonament PuSH
redownload: Actualizar los avatars
redownload: Actualizar lo perfil
remove_avatar: Supriir lavatar
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 dutilizaire
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 daqueste 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 deles
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 dutilizaires segon lor interèsses
explore_mastodon: Explorar %{title}
how_to_enable: Sètz pas actualament listat dins lannuari. Podètz cambiar aquò çai-jos. Utilizatz d'etiquetas dins vòstre tèxt de bio per èsser listat amb detiquetas 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 <a href='%{sign_up_path}' target='_blank'>vos marcar aquí</a>
proceed: Clicatz per sègre
prompt: 'Sètz per sègre:'
reason_html: "<strong>Perque aquesta etapa es necessària?</strong><code>%{instance}</code> 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

View File

@ -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ć.

View File

@ -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 <a href='%{sign_up_path}' target='_blank'>cadastrar-se aqui</a>
proceed: Prosseguir para seguir
prompt: 'Você irá seguir:'
reason_html: "<strong>Por que esse passo é necessário?</strong> <code>%{instance}</code> 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

View File

@ -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ă"

View File

@ -6,6 +6,8 @@ ar:
text: بإمكانك استخدام نفس القواعد التي نجدها في التبويقات كعناوين الروابط والوسوم والإشارات
admin_account_action:
send_email_notification: سوف يتلقى المستخدم رسالة تُفسِّر ما حدث على حسابه
type_html: اختر ما تود إجراؤه على <strong>%{acct}</strong>
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: الصورة الرمزية

View File

@ -10,14 +10,14 @@ de:
type_html: Wähle aus, was du mit <strong>%{acct}</strong> 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 <a href="%{path}" target="_blank">Verzeichnis</a> 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 <a href="%{path}" target="_blank">Verzeichnis</a> 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

View File

@ -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 <a href="%{path}">ajouter des présélections d'attention</a> pour économiser du temps
type_html: Choisir que faire avec <strong>%{acct}</strong>
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 sinscrivent grâce à linvitation 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

View File

@ -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 <a href="%{path}">voorinstellingen van waarschuwingen toevoegen</a>
type_html: Kies wat er met <strong>%{acct}</strong> 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

View File

@ -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 <a href="%{path}">dodać szablon ostrzeżenia</a> aby zaoszczędzić czas
type_html: Wybierz co chcesz zrobić z <strong>%{acct}</strong>
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: <a href="%{path}" target="_blank">Katalog</a> 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

View File

@ -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á

View File

@ -2,12 +2,21 @@
sr:
simple_form:
hints:
account_warning_preset:
text: Можете користити синтаксу труба, као што су нпр. УРЛ-ова, тарабе и помињања
admin_account_action:
send_email_notification: Корисник ће добити објашњење тога шта му се десило са налога
text_html: Опционално. Можете користити синтаксу труба. Можете <a href="%{path}">додати упозоравајућа преподешавање</a> да сачувате време
type_html: Изаберите шта да радите са <strong>%{acct}</strong>
warning_preset_id: Опционално. Можете и даље додати прилагођени текст на крај пресета
defaults:
autofollow: Особе које се пријаве кроз позивнице ће вас аутоматски запратити
avatar: PNG, GIF или JPG. Највише %{size}. Биће смањена на %{dimensions}px
bot: Овај налог углавном врши аутоматизоване радње и можда се не надгледа
context: Један или више контекста у којима треба да се примени филтер
digest: Послато после дужег периода неактивности са прегледом свих битних ствари које сте добили док сте били одсутни
discoverable_html: <a href="%{path}" target="_blank">Директоријум</a> омогућава људима да пронађу налоге засноване на интересима и активности. Захтева бар %{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: Смањи покрете у анимацијама

View File

@ -1,16 +1,16 @@
---
sk:
about:
about_hashtag_html: Toto sú verejné hlášky otagované <strong>#%{hashtag}</strong>. 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 <strong>#%{hashtag}</strong>. 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: |
<h3>Pravidlá</h3>
@ -50,8 +50,8 @@ sk:
one: Sledujúci
other: Sledovatelia
following: Sledovaní
joined: Pridal/a sa %{date}
last_active: poslednýkrát aktívny
joined: Pridal/a sa v %{date}
last_active: naposledy aktívny
link_verified_on: Vlastníctvo tohto odkazu bolo skontrolované %{date}
media: Médiá
moved_html: "%{name} účet bol presunutý na %{new_profile_link}:"
@ -89,13 +89,14 @@ sk:
change_email:
changed_msg: Email k tomuto účtu bol úspešne zmenený!
current_email: Súčastný email
label: Zmeniť email
label: Zmeň email
new_email: Nový email
submit: Zmeniť email
submit: Zmeň email
title: Zmeň email pre %{username}
confirm: Potvrdiť
confirmed: Potvrdený
confirming: Potvrdzujúci
deleted: Zmazané
demote: Degradovať
disable: Zablokovať
disable_two_factor_authentication: Zakázať 2FA
@ -103,18 +104,19 @@ sk:
display_name: Zobraziť meno
domain: Doména
edit: Uprav
email: Emailová adresa
email: Email
email_status: Stav emailu
enable: Povoliť
enabled: Povolený
feed_url: URL časovej osi
followers: Sledujúci
followers_local: "(%{local} local)"
followers_url: URL sledujúcich
follows: Sledovania
header: Hlavička
inbox_url: URL prijatých správ
invited_by: Pozvaný/á užívateľom
ip: IP
joined: Pridal/a sa
location:
all: Všetko
local: Miestne
@ -127,7 +129,7 @@ sk:
active: Aktívny/a
all: Všetko
silenced: Umlčané
suspended: Suspendované
suspended: Vylúčený/á
title: Moderácia
moderation_notes: Moderátorské poznámky
most_recent_activity: Posledná aktivita
@ -141,7 +143,7 @@ sk:
protocol: Protokol
public: Verejná os
push_subscription_expires: PuSH odoberanie expiruje
redownload: Obnoviť avatar
redownload: Obnov profil
remove_avatar: Odstrániť avatár
remove_header: Odstráň hlavičku
resend_confirmation:
@ -161,8 +163,8 @@ sk:
search: Hľadať
shared_inbox_url: URL zdieľanej schránky
show:
created_reports: Reportované týmto používateľom
targeted_reports: Nahlásenia pre tento účet
created_reports: Vytvorené hlásenia
targeted_reports: Nahlásenia od ostatných
silence: Stíšiť
silenced: Utíšení
statuses: Príspevky
@ -174,6 +176,7 @@ sk:
undo_suspension: Zrušiť suspendáciu
unsubscribe: Prestaň odoberať
username: Prezývka
warn: Varovať
web: Web
action_logs:
actions:
@ -257,7 +260,7 @@ sk:
week_users_active: aktívni tento týždeň
week_users_new: užívateľov počas tohto týždňa
domain_blocks:
add_new: Pridať nový
add_new: Pridaj nové doménové blokovanie
created_msg: Doména je v procese blokovania
destroyed_msg: Blokovanie domény bolo zrušené
domain: Doména
@ -274,17 +277,22 @@ sk:
reject_media_hint: Zmaže lokálne uložené súbory médií a odmietne ich sťahovanie v budúcnosti. Irelevantné pre suspendáciu
reject_reports: Zamietni hlásenia
reject_reports_hint: Ignoruj všetky hlásenia prichádzajúce z tejto domény. Nevplýva na blokovania
rejecting_media: odmietanie médiálnych súborov
rejecting_reports: odmietané hlásenia
severity:
silence: utíšené
suspend: vylúčený
show:
affected_accounts:
few: "%{count} účty v databáze ovplyvnených"
one: Jeden účet v databáze ovplyvnený
other: "%{count} účtov v databáze ovplyvnených"
one: Jeden účet v databáze bol ovplyvnený
other: "%{count} účtov v databáze bolo ovplyvnených"
retroactive:
silence: Zruš stíšenie všetkých existujúcich účtov z tejto domény
suspend: Zruš suspendáciu všetkých existujúcich účtov z tejto domény
title: Zruš blokovanie domény pre %{domain}
silence: Zruš stíšenie všetkých existujúcich účtov z tejto domény
suspend: Zruš suspendáciu všetkých existujúcich účtov z tejto domény
title: Zruš blokovanie domény %{domain}
undo: Vrátiť späť
undo: Späť
undo: Odvolaj blokovanie domény
email_domain_blocks:
add_new: Pridaj nový
created_msg: Emailová doména bola úspešne pridaná do zoznamu zakázaných
@ -299,7 +307,21 @@ sk:
back_to_account: Späť na účet
title: Následovatielia užívateľa %{acct}
instances:
title: Známe instancie
delivery_available: Je v dosahu doručovania
known_accounts:
few: "%{count} známe účty"
one: "%{count} známy účet"
other: "%{count} známe účty"
moderation:
all: Všetky
limited: Obmedzené
title: Moderácia
title: Federácia
total_blocked_by_us: Nami blokované
total_followed_by_them: Nimi sledované
total_followed_by_us: Nami sledované
total_reported: Nahlásenia o nich
total_storage: Mediálne prílohy
invites:
deactivate_all: Pozastaviť všetky
filter:
@ -398,13 +420,13 @@ sk:
desc_html: Povoliť každému aby si mohli vytvoriť účet
title: Verejná registrácia
show_known_fediverse_at_about_page:
desc_html: Pokiaľ je zapnuté, bude v ukážke osi možné nahliadnúť príspevky z celého známeho fediversa. Inak budú ukázané iba hlášky z miestnej osi.
title: Ukázať celé známe fediversum na náhľade osi
desc_html: Pokiaľ je zapnuté, bude v ukážke osi možné nahliadnúť príspevky z celého známeho fediversa. Inak budú ukázané iba príspevky z miestnej osi.
title: Ukáž celé známe fediverse na náhľade osi
show_staff_badge:
desc_html: Zobraz moderátorsku značku na užívateľovej stránke
title: Zobraz značku moderátora
desc_html: Zobraz moderátorsky odznak na užívateľovom profile
title: Zobraz značku moderátora
site_description:
desc_html: Oboznamujúci paragraf na hlavnej stránke a pri meta tagoch. Môžete použiť HTML kód, presnejšie <code>&lt; a&gt;</code> a <code>&lt; em&gt; </code>.
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 <code>&lt; a &gt;</code>, ale tiež <code>&lt;&gt;</code>.
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 <a href='%{sign_up_path}' target='_blank'>zaregistrovať tu</a>
proceed: Začni následovať
prompt: 'Budeš sledovať:'
reason_html: "<strong>Načo je tento krok potrebný?</strong> <code>%{instance}</code> 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:
<li><em>Základné informácie o účte</em>: Ak sa na tomto serveri zaregistruješ, budeš môcť byť požiadaný/á zadať prezývku, emailovú adresu a heslo. Budeš tiež môcť zadať aj ďalšie profilové údaje, ako napríklad meno a životopis, a nahrať profilovú fotku aj obrázok v záhlaví. Tvoja prezývka, meno, životopis, profilová fotka a obrázok v záhlaví sú vždy zobrazené verejne.</li><li><em>Príspevky, sledovania a iné verejné informácie</em>:
Zoznam ľudí, ktorých sleduješ je zobrazený verejne, a to isté platí aj pre zoznam tvojích následovateľov. Keď pošleš správu, ukladá sa jej dátum a čas, ale aj z akej aplikácie bola poslaná. Správy môžu obsahovať mediálne prílohy, ako obrázky a videá. Verejné, a nezaradené príspevky sú verejne prístupné. Keď si pripneš príspevok na svoj profil, toto je tiež verejne dostupnou informáciou. Tvoje príspevky sú takisto doručené tvojím sledovateľom, a to aj v rámci iných serverov, kde je potom uložená kópia tvojho príspevku. Ak vymažeš príspevok, táto akcia bude takisto doručená tvojím sledovateľom. Vyzdvihnutie, alebo obľúbenie iného príspevku je vždy verejne viditeľné.</li>
<li><em>Priame príspevky, a príspevky iba pre sledovateľov</em>: Všetky príspevky sú uložené a spracované na serveri. Príspevky iba pre sledovateľov sú doručené tvojím sledovateľom a užívateľom ktorí sú v nich spomenutí, pričom priame príspevky sú doručené iba tím užívateľom ktorí sú v nich spomenutí. V niektorých prípadoch to môže znamenať, že tieto príspevkz sú doručené aj vrámci iných serverov, a kópie príspevkov sú tam uložené.
<li><em>Priame príspevky, a príspevky iba pre sledovateľov</em>: Všetky príspevky sú uložené a spracované na serveri. Príspevky iba pre sledovateľov sú doručené tvojím sledovateľom a užívateľom ktorí sú v nich spomenutí, pričom priame príspevky sú doručené iba tím užívateľom ktorí sú v nich spomenutí. V niektorých prípadoch to môže znamenať, že tieto príspevkz sú doručené aj v rámci iných serverov, a kópie príspevkov sú na nich uložené.
V dobrej viere robíme všetko preto, aby bol prístup k tímto príspevkom vymedzený iba pre oprávnených používateľov, ale môže sa stať, že iné servery v tomto ohľade zlyhajú. Preto je dôležité prezrieť si a zhodnotiť, na aké servery patria tvoji následovatelia. V nastaveniach si môžeš zapnúť voľbu ručne povoľovať a odmietať nových následovateľov.
<em>Prosím maj na pamäti, že správcovia tvojho, aj vzdialeného obdŕžiavajúceho servera majú možnosť vidieť dané príspevky a správy, ale aj že obdŕžitelia týchto správ si ich môzu odfotiť, skopírovať, alebo ich inak zdieľať. <em>Nezdieľaj žiadne nebezpečné, alebo ohrozujúce správy pomocou Mastodonu!</em></li>
@ -870,8 +912,8 @@ sk:
warning:
explanation:
disable: Pokiaľ je tvoj účet zamrazený, tvoje dáta zostávajú nedoknuté, ale nemôžeš v rámci neho nič robiť, až kým nebude odomknutý.
silence: Kým je tvoj účet obmedzený, tvoje hlášky na tomto serveri uvidia iba tí ľudia, ktorí ťa už následujú, a môžeš byť vylúčený/á z rôznych verejných záznamov. Ostatní ťa však stále budú môcť následovať manuálne.
suspend: Tvoj účet bol vylúčený, a všetky tvoje hlášky a nahraté médiálné súbory boli nenávratne zmazané z tohto serveru, a zo serverov na ktorých si mal následovateľov.
silence: Kým je účet obmedzený, tvoje príspevky na tomto serveri uvidia iba tí ľudia, ktorí ťa už následujú, a môžeš byť vylúčený/á z rôznych verejných záznamov. Ostatní ťa však stále budú môcť následovať manuálne.
suspend: Tvoj účet bol vylúčený, a všetky tvoje príspevky a nahraté médiálné súbory boli nenávratne zmazané z tohto serveru, a zo serverov na ktorých si mal následovateľov.
review_server_policies: Prehodnoť pravidlá servera
subject:
disable: Tvoj účet %{acct} bol zamrazený

View File

@ -54,6 +54,7 @@ sr:
other: Пратиоци
following: Пратим
joined: Придружио/ла се %{date}
last_active: последњи активни
link_verified_on: Власништво над овом везом је проверено %{date}
media: Медији
moved_html: "%{name} је прешао на %{new_profile_link}:"
@ -77,6 +78,9 @@ sr:
moderator: Модератор
unfollow: Отпрати
admin:
account_actions:
action: Извршите радњу
title: Извршите модераторске радње на %{acct}
account_moderation_notes:
create: Оставите белешку
created_msg: Модераторска белешка успешно направљена!
@ -88,14 +92,15 @@ sr:
by_domain: Домен
change_email:
changed_msg: Е-пошта налога успешно промењена!
current_email: Тренутна Е-пошта
label: Промените Е-пошту
new_email: Нова Е-пошта
submit: Промените Е-пошту
title: Промените Е-пошту за %{username}
current_email: Тренутна е-пошта
label: Промените е-пошту
new_email: Нова e-пошта
submit: Промените e-пошту
title: Промените e-пошту за %{username}
confirm: Потврди
confirmed: Потврђено
confirming: Потврдување
deleted: Избрисано
demote: Ражалуј
disable: Искључи
disable_two_factor_authentication: Искључи 2FA
@ -104,15 +109,18 @@ sr:
domain: Домен
edit: Измени
email: Е-пошта
email_status: Е-пошта статус
email_status: Статус е-поште
enable: Омогући
enabled: Укључено
feed_url: Адреса довода
followers: Пратиоци
followers_url: Адреса пратиоца
follows: Праћени
header: Заглавље
inbox_url: Адреса сандучета
invited_by: Позван од стране
ip: IP
joined: Придружио се
location:
all: Све
local: Локалне
@ -122,6 +130,7 @@ sr:
media_attachments: Мултимедијални прилози
memorialize: Пребаци у in memoriam
moderation:
active: Активан
all: Сви
silenced: Ућуткани
suspended: Суспендовани
@ -138,8 +147,9 @@ sr:
protocol: Протокол
public: Јавно
push_subscription_expires: PuSH претплата истиче
redownload: Освежи аватар
redownload: Освежи профил
remove_avatar: Уклони аватар
remove_header: Одстрани заглавље
resend_confirmation:
already_confirmed: Овој корисник е веќе потврден
send: Препрати го е-мајлот за потврда
@ -157,25 +167,27 @@ sr:
search: Претрага
shared_inbox_url: Адреса дељеног сандучета
show:
created_reports: Пријаве које је направио овај налог
targeted_reports: Пријаве направљене о овом налогу
created_reports: Направљени извештаји
targeted_reports: Пријаве од стране других
silence: Ућуткај
silenced: Ућуткан
statuses: Статуси
subscribe: Претплати се
suspended: Суспендовани
title: Налози
unconfirmed_email: Непотврђена Е-пошта
unconfirmed_email: Непотврђена е-пошта
undo_silenced: Укини ћутање
undo_suspension: Укини суспензију
unsubscribe: Укини претплату
username: Корисничко име
warn: Упозори
web: Веб
action_logs:
actions:
assigned_to_self_report: "%{name} је доделио/ла извештај %{target} себи"
change_email_user: "%{name} је променио/ла адресу Е-поште коисника/це %{target}"
confirm_user: "%{name} је потврдио адресу е-поште корисника %{target}"
create_account_warning: "%{name} је послао пријаву %{target}"
create_custom_emoji: "%{name} је отпремио нови емоџи %{target}"
create_domain_block: "%{name} је блокирао домен %{target}"
create_email_domain_block: "%{name} је ставио на црну листу домен е-поште %{target}"
@ -234,6 +246,7 @@ sr:
config: Конфигурација
feature_deletions: Брисање налога
feature_invites: Позивнице
feature_profile_directory: Фасцикла профила
feature_registrations: Регистрација
feature_relay: Федеративни релеј
features: Карактеристике
@ -251,7 +264,7 @@ sr:
week_users_active: активно ове недеље
week_users_new: корисника ове недеље
domain_blocks:
add_new: Додај нови
add_new: Додај нови блок домена
created_msg: Блокирање домена се обрађује
destroyed_msg: Блокирање домена је опозвано
domain: Домен
@ -268,6 +281,11 @@ sr:
reject_media_hint: Уклања локално ускладиштене мултимедијске фајлове и одбија да их скида убудуће. Небитно је за суспензију
reject_reports: Одбаци извештај
reject_reports_hint: Игнориши све извештаје који долазе са овог домена. Небитно је за суспензије
rejecting_media: одбацивање медијских датотека
rejecting_reports: одбацивање пријава
severity:
silence: ућуткани
suspend: суспендовани
show:
affected_accounts:
few: Утиче на %{count} налога у бази
@ -279,7 +297,7 @@ sr:
suspend: Уклони суспензије за све постојеће налоге са овог домена
title: Поништи блокаду домена за %{domain}
undo: Поништи
undo: Поништи
undo: Поништи блок домена
email_domain_blocks:
add_new: Додај нови
created_msg: Успешно додао домен Е-поште на црну листу
@ -290,8 +308,25 @@ sr:
create: Додај домен
title: Нова ставка е-поштe у црној листи
title: Црна листа E-поште
followers:
back_to_account: Назад на налог
title: "%{acct} Пратиоци"
instances:
title: Познате инстанце
delivery_available: Достава је доступна
known_accounts:
few: "%{count} знаних налога"
many: "%{count} знаних налога"
one: "%{count} знан налог"
other: "%{count} знаних налога"
moderation:
all: Све
limited: Ограничено
title: Модерација
title: Федерација
total_blocked_by_us: Блокирано од стране нас
total_followed_by_them: Праћени од стране њих
total_followed_by_us: Праћени од стране нас
total_reported: Пријаве везане за њих
invites:
deactivate_all: Деактивирај све
filter:
@ -373,6 +408,9 @@ sr:
preview_sensitive_media:
desc_html: Преглед веза на другим веб страницама ће приказати иконицу чак и ако је медиј означен као осетљиво
title: Покажи осетљив медиј у ОпенГраф прегледу
profile_directory:
desc_html: Дозволи корисницима да буду откривени
title: Омогући профил фасцикле
registrations:
closed_message:
desc_html: Приказује се на главној страни када је инстанца затворена за регистрације. Можете користити HTML тагове
@ -432,7 +470,21 @@ sr:
last_delivery: Последња достава
title: WebSub
topic: Topic
tags:
accounts: Налози
hidden: Скривено
hide: Сакриј од фасцикле
name: Тараба
title: Тараба
unhide: Прикажи у фасцикли
visible: Видљиво
title: Администрација
warning_presets:
add_new: Додај нови
delete: Избриши
edit: Уреди
edit_preset: Уреди пресет упозорења
title: Управљај пресетима упозорења
admin_mailer:
new_report:
body: "%{reporter} је пријавио %{target}"
@ -510,6 +562,16 @@ sr:
success_msg: Ваш налог је успешно обрисан
warning_html: Гарантовано је само брисање садржаја са ове инстанце. Садржај који је дељен даље ће вероватно да остави неке трагове. Недоступни и угашени сервери, као и сервери који су одјављени од примања статуса од Вас, неће ажурирати своје базе.
warning_title: Доступност расејаног садржаја
directories:
directory: Профил фасцикле
enabled: Ви сте тренутно видљиви у фасцикли.
explanation: Откријте кориснике на основу њихових интереса
explore_mastodon: Истражи %{title}
people:
few: "%{count} људе"
many: "%{count} људе"
one: "%{count} особу"
other: "%{count} људе"
errors:
'403': Немате дозвола да видите ову страну.
'404': Страна коју сте тражили не постоји.
@ -532,7 +594,9 @@ sr:
size: Величина
blocks: Блокирали сте
csv: CSV
domain_blocks: Блокови домена
follows: Пратите
lists: Листе
mutes: Ућуткали сте
storage: Мултимедијално складиште
filters:
@ -691,10 +755,22 @@ sr:
no_account_html: Немате налог? Можете се <a href='%{sign_up_path}' target='_blank'>пријавити овде</a>
proceed: Наставите да би сте запратили
prompt: 'Запратићете:'
reason_html: "<strong>Зашто је овај корак неопходан?</strong><code>%{instance}</code> можда није сервер на којем сте регистровани, тако да прво морамо да вас преусмеримо на ваш сервер."
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: Профил можете прилагодити постављањем аватара, заглавља, променом имена и још много тога. Ако желите да прегледате нове пратиоце пре него што буду дозвољени да вас прате, можете закључати свој налог.

View File

@ -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

View File

@ -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

View File

@ -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

Some files were not shown because too many files have changed in this diff Show More