mirror of https://framagit.org/tykayn/mastodon.git
Merge branch 'master' of https://github.com/tootsuite/mastodon
This commit is contained in:
commit
7d0bde2763
|
@ -115,6 +115,20 @@ SMTP_FROM_ADDRESS=notifications@example.com
|
||||||
# S3_ENDPOINT=
|
# S3_ENDPOINT=
|
||||||
# S3_SIGNATURE_VERSION=
|
# S3_SIGNATURE_VERSION=
|
||||||
|
|
||||||
|
# Google Cloud Storage (optional)
|
||||||
|
# Use S3 compatible API. Since GCS does not support Multipart Upload,
|
||||||
|
# increase the value of S3_MULTIPART_THRESHOLD to disable Multipart Upload.
|
||||||
|
# The attachment host must allow cross origin request - see the description
|
||||||
|
# above.
|
||||||
|
# S3_ENABLED=true
|
||||||
|
# AWS_ACCESS_KEY_ID=
|
||||||
|
# AWS_SECRET_ACCESS_KEY=
|
||||||
|
# S3_REGION=
|
||||||
|
# S3_PROTOCOL=https
|
||||||
|
# S3_HOSTNAME=storage.googleapis.com
|
||||||
|
# S3_ENDPOINT=https://storage.googleapis.com
|
||||||
|
# S3_MULTIPART_THRESHOLD=52428801 # 50.megabytes
|
||||||
|
|
||||||
# Swift (optional)
|
# Swift (optional)
|
||||||
# The attachment host must allow cross origin request - see the description
|
# The attachment host must allow cross origin request - see the description
|
||||||
# above.
|
# above.
|
||||||
|
|
|
@ -1 +1 @@
|
||||||
2.6.1
|
2.6.4
|
||||||
|
|
168
CHANGELOG.md
168
CHANGELOG.md
|
@ -5,7 +5,173 @@ All notable changes to this project will be documented in this file.
|
||||||
|
|
||||||
## Unreleased
|
## Unreleased
|
||||||
|
|
||||||
TODO
|
### Added
|
||||||
|
|
||||||
|
- Add "not available" label to unloaded media attachments in web UI ([Gargron](https://github.com/tootsuite/mastodon/pull/11715), [Gargron](https://github.com/tootsuite/mastodon/pull/11745))
|
||||||
|
- **Add profile directory to web UI** ([Gargron](https://github.com/tootsuite/mastodon/pull/11688), [mayaeh](https://github.com/tootsuite/mastodon/pull/11872))
|
||||||
|
- Add profile directory opt-in federation
|
||||||
|
- Add profile directory REST API
|
||||||
|
- Add special alert for throttled requests in web UI ([ThibG](https://github.com/tootsuite/mastodon/pull/11677))
|
||||||
|
- Add confirmation modal when logging out from the web UI ([ThibG](https://github.com/tootsuite/mastodon/pull/11671))
|
||||||
|
- **Add audio player in web UI** ([Gargron](https://github.com/tootsuite/mastodon/pull/11644), [Gargron](https://github.com/tootsuite/mastodon/pull/11652), [Gargron](https://github.com/tootsuite/mastodon/pull/11654), [ThibG](https://github.com/tootsuite/mastodon/pull/11629))
|
||||||
|
- **Add autosuggestions for hashtags in web UI** ([Gargron](https://github.com/tootsuite/mastodon/pull/11422), [ThibG](https://github.com/tootsuite/mastodon/pull/11632), [Gargron](https://github.com/tootsuite/mastodon/pull/11764), [Gargron](https://github.com/tootsuite/mastodon/pull/11588), [Gargron](https://github.com/tootsuite/mastodon/pull/11442))
|
||||||
|
- **Add media editing modal with OCR tool in web UI** ([Gargron](https://github.com/tootsuite/mastodon/pull/11563), [Gargron](https://github.com/tootsuite/mastodon/pull/11566), [ThibG](https://github.com/tootsuite/mastodon/pull/11575), [ThibG](https://github.com/tootsuite/mastodon/pull/11576), [Gargron](https://github.com/tootsuite/mastodon/pull/11577), [Gargron](https://github.com/tootsuite/mastodon/pull/11573), [Gargron](https://github.com/tootsuite/mastodon/pull/11571))
|
||||||
|
- Add indicator of unread notifications to window title when web UI is out of focus ([Gargron](https://github.com/tootsuite/mastodon/pull/11560), [Gargron](https://github.com/tootsuite/mastodon/pull/11572))
|
||||||
|
- Add indicator for which options you voted for in a poll in web UI ([ThibG](https://github.com/tootsuite/mastodon/pull/11195))
|
||||||
|
- **Add search results pagination to web UI** ([Gargron](https://github.com/tootsuite/mastodon/pull/11409), [ThibG](https://github.com/tootsuite/mastodon/pull/11447))
|
||||||
|
- **Add option to disable real-time updates in web UI ("slow mode")** ([Gargron](https://github.com/tootsuite/mastodon/pull/9984), [ykzts](https://github.com/tootsuite/mastodon/pull/11880), [ThibG](https://github.com/tootsuite/mastodon/pull/11883), [Gargron](https://github.com/tootsuite/mastodon/pull/11898), [ThibG](https://github.com/tootsuite/mastodon/pull/11859))
|
||||||
|
- Add option to disable blurhash previews in web UI ([ThibG](https://github.com/tootsuite/mastodon/pull/11188))
|
||||||
|
- Add native smooth scrolling when supported in web UI ([ThibG](https://github.com/tootsuite/mastodon/pull/11207))
|
||||||
|
- Add search and sort functions to hashtag admin UI ([mayaeh](https://github.com/tootsuite/mastodon/pull/11829), [Gargron](https://github.com/tootsuite/mastodon/pull/11897), [mayaeh](https://github.com/tootsuite/mastodon/pull/11875))
|
||||||
|
- Add setting for default search engine indexing in admin UI ([brortao](https://github.com/tootsuite/mastodon/pull/11804))
|
||||||
|
- Add account bio to account view in admin UI ([ThibG](https://github.com/tootsuite/mastodon/pull/11473))
|
||||||
|
- **Add option to include reported statuses in warning e-mail from admin UI** ([Gargron](https://github.com/tootsuite/mastodon/pull/11639), [Gargron](https://github.com/tootsuite/mastodon/pull/11812), [Gargron](https://github.com/tootsuite/mastodon/pull/11741), [Gargron](https://github.com/tootsuite/mastodon/pull/11698), [mayaeh](https://github.com/tootsuite/mastodon/pull/11765))
|
||||||
|
- Add number of pending accounts and pending hashtags to dashboard in admin UI ([Gargron](https://github.com/tootsuite/mastodon/pull/11514))
|
||||||
|
- **Add account migration UI** ([Gargron](https://github.com/tootsuite/mastodon/pull/11846), [noellabo](https://github.com/tootsuite/mastodon/pull/11905), [noellabo](https://github.com/tootsuite/mastodon/pull/11907), [noellabo](https://github.com/tootsuite/mastodon/pull/11906), [noellabo](https://github.com/tootsuite/mastodon/pull/11902))
|
||||||
|
- **Add table of contents to about page** ([Gargron](https://github.com/tootsuite/mastodon/pull/11885), [ykzts](https://github.com/tootsuite/mastodon/pull/11941), [ykzts](https://github.com/tootsuite/mastodon/pull/11895), [Kjwon15](https://github.com/tootsuite/mastodon/pull/11916))
|
||||||
|
- **Add password challenge to 2FA settings, e-mail notifications** ([Gargron](https://github.com/tootsuite/mastodon/pull/11878))
|
||||||
|
- Add optional invite comments ([ThibG](https://github.com/tootsuite/mastodon/pull/10465))
|
||||||
|
- **Add optional public list of domain blocks with comments** ([ThibG](https://github.com/tootsuite/mastodon/pull/11298), [ThibG](https://github.com/tootsuite/mastodon/pull/11515), [Gargron](https://github.com/tootsuite/mastodon/pull/11908))
|
||||||
|
- Add an RSS feed for featured hashtags ([noellabo](https://github.com/tootsuite/mastodon/pull/10502))
|
||||||
|
- Add explanations to featured hashtags UI and profile ([Gargron](https://github.com/tootsuite/mastodon/pull/11586))
|
||||||
|
- **Add hashtag trends with admin and user settings** ([Gargron](https://github.com/tootsuite/mastodon/pull/11490), [Gargron](https://github.com/tootsuite/mastodon/pull/11502), [Gargron](https://github.com/tootsuite/mastodon/pull/11641), [Gargron](https://github.com/tootsuite/mastodon/pull/11594), [Gargron](https://github.com/tootsuite/mastodon/pull/11517), [mayaeh](https://github.com/tootsuite/mastodon/pull/11845), [Gargron](https://github.com/tootsuite/mastodon/pull/11774), [Gargron](https://github.com/tootsuite/mastodon/pull/11712), [Gargron](https://github.com/tootsuite/mastodon/pull/11791), [Gargron](https://github.com/tootsuite/mastodon/pull/11743), [Gargron](https://github.com/tootsuite/mastodon/pull/11740), [Gargron](https://github.com/tootsuite/mastodon/pull/11714), [ThibG](https://github.com/tootsuite/mastodon/pull/11631), [Sasha-Sorokin](https://github.com/tootsuite/mastodon/pull/11569), [Gargron](https://github.com/tootsuite/mastodon/pull/11524), [Gargron](https://github.com/tootsuite/mastodon/pull/11513))
|
||||||
|
- Add hashtag usage breakdown to admin UI
|
||||||
|
- Add batch actions for hashtags to admin UI
|
||||||
|
- Add trends to web UI
|
||||||
|
- Add trends to public pages
|
||||||
|
- Add user preference to hide trends
|
||||||
|
- Add admin setting to disable trends
|
||||||
|
- **Add categories for custom emojis** ([Gargron](https://github.com/tootsuite/mastodon/pull/11196), [Gargron](https://github.com/tootsuite/mastodon/pull/11793), [Gargron](https://github.com/tootsuite/mastodon/pull/11920), [highemerly](https://github.com/tootsuite/mastodon/pull/11876))
|
||||||
|
- Add custom emoji categories to emoji picker in web UI
|
||||||
|
- Add `category` to custom emojis in REST API
|
||||||
|
- Add batch actions for custom emojis in admin UI
|
||||||
|
- Add max image dimensions to error message ([raboof](https://github.com/tootsuite/mastodon/pull/11552))
|
||||||
|
- Add aac, m4a, 3gp, amr, wma to allowed audio formats ([Gargron](https://github.com/tootsuite/mastodon/pull/11342), [umonaca](https://github.com/tootsuite/mastodon/pull/11687))
|
||||||
|
- **Add search syntax for operators and phrases** ([Gargron](https://github.com/tootsuite/mastodon/pull/11411))
|
||||||
|
- **Add REST API for managing featured hashtags** ([noellabo](https://github.com/tootsuite/mastodon/pull/11778))
|
||||||
|
- **Add REST API for managing timeline read markers** ([Gargron](https://github.com/tootsuite/mastodon/pull/11762))
|
||||||
|
- **Add ActivityPub secure mode** ([Gargron](https://github.com/tootsuite/mastodon/pull/11269), [ThibG](https://github.com/tootsuite/mastodon/pull/11332), [ThibG](https://github.com/tootsuite/mastodon/pull/11295))
|
||||||
|
- Add HTTP signatures to all outgoing ActivityPub GET requests ([Gargron](https://github.com/tootsuite/mastodon/pull/11284), [ThibG](https://github.com/tootsuite/mastodon/pull/11300))
|
||||||
|
- Add support for ActivityPub Audio activities ([ThibG](https://github.com/tootsuite/mastodon/pull/11189))
|
||||||
|
- Add ActivityPub actor representing the entire server ([ThibG](https://github.com/tootsuite/mastodon/pull/11321), [rtucker](https://github.com/tootsuite/mastodon/pull/11400), [ThibG](https://github.com/tootsuite/mastodon/pull/11561), [Gargron](https://github.com/tootsuite/mastodon/pull/11798))
|
||||||
|
- **Add whitelist mode** ([Gargron](https://github.com/tootsuite/mastodon/pull/11291), [mayaeh](https://github.com/tootsuite/mastodon/pull/11634))
|
||||||
|
- Add config of multipart threshold for S3 ([ykzts](https://github.com/tootsuite/mastodon/pull/11924), [ykzts](https://github.com/tootsuite/mastodon/pull/11944))
|
||||||
|
- Add health check endpoint for web ([ykzts](https://github.com/tootsuite/mastodon/pull/11770), [ykzts](https://github.com/tootsuite/mastodon/pull/11947))
|
||||||
|
- Add HTTP signature keyId to request log ([Gargron](https://github.com/tootsuite/mastodon/pull/11591))
|
||||||
|
- Add `SMTP_REPLY_TO` environment variable ([hugogameiro](https://github.com/tootsuite/mastodon/pull/11718))
|
||||||
|
- Add `tootctl preview_cards remove` command ([mayaeh](https://github.com/tootsuite/mastodon/pull/11320))
|
||||||
|
- Add `tootctl media refresh` command ([Gargron](https://github.com/tootsuite/mastodon/pull/11775))
|
||||||
|
- Add `tootctl cache recount` command ([Gargron](https://github.com/tootsuite/mastodon/pull/11597))
|
||||||
|
- Add option to exclude suspended domains from `tootctl domains crawl` ([dariusk](https://github.com/tootsuite/mastodon/pull/11454))
|
||||||
|
- Add soft delete for statuses for instant deletes through API ([Gargron](https://github.com/tootsuite/mastodon/pull/11623), [Gargron](https://github.com/tootsuite/mastodon/pull/11648))
|
||||||
|
- Add rails-level JSON caching ([Gargron](https://github.com/tootsuite/mastodon/pull/11333), [Gargron](https://github.com/tootsuite/mastodon/pull/11271))
|
||||||
|
- **Add request pool to improve delivery performance** ([Gargron](https://github.com/tootsuite/mastodon/pull/10353), [ykzts](https://github.com/tootsuite/mastodon/pull/11756))
|
||||||
|
- Add concurrent connection attempts to resolved IP addresses ([ThibG](https://github.com/tootsuite/mastodon/pull/11757))
|
||||||
|
- Add index for remember_token to improve login performance ([abcang](https://github.com/tootsuite/mastodon/pull/11881))
|
||||||
|
- **Add more accurate hashtag search** ([Gargron](https://github.com/tootsuite/mastodon/pull/11579), [Gargron](https://github.com/tootsuite/mastodon/pull/11427), [Gargron](https://github.com/tootsuite/mastodon/pull/11448))
|
||||||
|
- **Add more accurate account search** ([Gargron](https://github.com/tootsuite/mastodon/pull/11537), [Gargron](https://github.com/tootsuite/mastodon/pull/11580))
|
||||||
|
- **Add a spam check** ([Gargron](https://github.com/tootsuite/mastodon/pull/11217), [Gargron](https://github.com/tootsuite/mastodon/pull/11806), [ThibG](https://github.com/tootsuite/mastodon/pull/11296))
|
||||||
|
|
||||||
|
### Changed
|
||||||
|
|
||||||
|
- **Change conversations UI** ([Gargron](https://github.com/tootsuite/mastodon/pull/11896))
|
||||||
|
- Change dashboard to short number notation ([noellabo](https://github.com/tootsuite/mastodon/pull/11847), [noellabo](https://github.com/tootsuite/mastodon/pull/11911))
|
||||||
|
- Change REST API `GET /api/v1/timelines/public` to require authentication when public preview is off ([ThibG](https://github.com/tootsuite/mastodon/pull/11802))
|
||||||
|
- Change REST API `POST /api/v1/follow_requests/:id/(approve|reject)` to return relationship ([ThibG](https://github.com/tootsuite/mastodon/pull/11800))
|
||||||
|
- Change rate limit for media proxy ([ykzts](https://github.com/tootsuite/mastodon/pull/11814))
|
||||||
|
- Change unlisted custom emoji to not appear in autosuggestions ([Gargron](https://github.com/tootsuite/mastodon/pull/11818))
|
||||||
|
- Change max length of media descriptions from 420 to 1500 characters ([Gargron](https://github.com/tootsuite/mastodon/pull/11819), [ThibG](https://github.com/tootsuite/mastodon/pull/11836))
|
||||||
|
- **Change deletes to preserve soft-deleted statuses in unresolved reports** ([Gargron](https://github.com/tootsuite/mastodon/pull/11805))
|
||||||
|
- **Change tootctl to use inline parallelization instead of Sidekiq** ([Gargron](https://github.com/tootsuite/mastodon/pull/11776))
|
||||||
|
- **Change account deletion page to have better explanations** ([Gargron](https://github.com/tootsuite/mastodon/pull/11753), [Gargron](https://github.com/tootsuite/mastodon/pull/11763))
|
||||||
|
- Change hashtag component in web UI to show numbers for 2 last days ([Gargron](https://github.com/tootsuite/mastodon/pull/11742), [Gargron](https://github.com/tootsuite/mastodon/pull/11755), [Gargron](https://github.com/tootsuite/mastodon/pull/11754))
|
||||||
|
- Change OpenGraph description on sign-up page to reflect invite ([Gargron](https://github.com/tootsuite/mastodon/pull/11744))
|
||||||
|
- Change layout of public profile directory to be the same as in web UI ([Gargron](https://github.com/tootsuite/mastodon/pull/11705))
|
||||||
|
- Change detailed status child ordering to sort self-replies on top ([ThibG](https://github.com/tootsuite/mastodon/pull/11686))
|
||||||
|
- Change window resize handler to switch to/from mobile layout as soon as needed ([ThibG](https://github.com/tootsuite/mastodon/pull/11656))
|
||||||
|
- Change icon button styles to make hover/focus states more obvious ([ThibG](https://github.com/tootsuite/mastodon/pull/11474))
|
||||||
|
- Change contrast of status links that are not mentions or hashtags ([ThibG](https://github.com/tootsuite/mastodon/pull/11406))
|
||||||
|
- **Change hashtags to preserve first-used casing** ([Gargron](https://github.com/tootsuite/mastodon/pull/11416), [Gargron](https://github.com/tootsuite/mastodon/pull/11508), [Gargron](https://github.com/tootsuite/mastodon/pull/11504), [Gargron](https://github.com/tootsuite/mastodon/pull/11507), [Gargron](https://github.com/tootsuite/mastodon/pull/11441))
|
||||||
|
- **Change unconfirmed user login behaviour** ([Gargron](https://github.com/tootsuite/mastodon/pull/11375), [ThibG](https://github.com/tootsuite/mastodon/pull/11394), [Gargron](https://github.com/tootsuite/mastodon/pull/11860))
|
||||||
|
- **Change single-column mode to scroll the whole page** ([Gargron](https://github.com/tootsuite/mastodon/pull/11359), [Gargron](https://github.com/tootsuite/mastodon/pull/11894), [Gargron](https://github.com/tootsuite/mastodon/pull/11891), [ThibG](https://github.com/tootsuite/mastodon/pull/11655), [Gargron](https://github.com/tootsuite/mastodon/pull/11463), [Gargron](https://github.com/tootsuite/mastodon/pull/11458), [ThibG](https://github.com/tootsuite/mastodon/pull/11395), [Gargron](https://github.com/tootsuite/mastodon/pull/11418))
|
||||||
|
- Change `tootctl accounts follow` to only work with local accounts ([angristan](https://github.com/tootsuite/mastodon/pull/11592))
|
||||||
|
- Change Dockerfile ([Shleeble](https://github.com/tootsuite/mastodon/pull/11710), [ykzts](https://github.com/tootsuite/mastodon/pull/11768), [Shleeble](https://github.com/tootsuite/mastodon/pull/11707))
|
||||||
|
- Change supported Node versions to include v12 ([abcang](https://github.com/tootsuite/mastodon/pull/11706))
|
||||||
|
- Change Portuguese language from `pt` to `pt-PT` ([Gargron](https://github.com/tootsuite/mastodon/pull/11820))
|
||||||
|
|
||||||
|
### Removed
|
||||||
|
|
||||||
|
- **Remove OStatus support** ([Gargron](https://github.com/tootsuite/mastodon/pull/11205), [Gargron](https://github.com/tootsuite/mastodon/pull/11303), [Gargron](https://github.com/tootsuite/mastodon/pull/11460), [ThibG](https://github.com/tootsuite/mastodon/pull/11280), [ThibG](https://github.com/tootsuite/mastodon/pull/11278))
|
||||||
|
- Remove Atom feeds and old URLs in the form of `GET /:username/updates/:id` ([Gargron](https://github.com/tootsuite/mastodon/pull/11247))
|
||||||
|
- Remove WebP support ([angristan](https://github.com/tootsuite/mastodon/pull/11589))
|
||||||
|
- Remove deprecated config options from Heroku and Scalingo ([ykzts](https://github.com/tootsuite/mastodon/pull/11925))
|
||||||
|
- Remove deprecated REST API `GET /api/v1/search` API ([Gargron](https://github.com/tootsuite/mastodon/pull/11823))
|
||||||
|
- Remove deprecated REST API `GET /api/v1/statuses/:id/card` ([Gargron](https://github.com/tootsuite/mastodon/pull/11213))
|
||||||
|
- Remove deprecated REST API `POST /api/v1/notifications/dismiss?id=:id` ([Gargron](https://github.com/tootsuite/mastodon/pull/11214))
|
||||||
|
- Remove deprecated REST API `GET /api/v1/timelines/direct` ([Gargron](https://github.com/tootsuite/mastodon/pull/11212))
|
||||||
|
|
||||||
|
### Fixed
|
||||||
|
|
||||||
|
- Fix manifest warning ([ykzts](https://github.com/tootsuite/mastodon/pull/11767))
|
||||||
|
- Fix admin UI for custom emoji not respecting GIF autoplay preference ([ThibG](https://github.com/tootsuite/mastodon/pull/11801))
|
||||||
|
- Fix page body not being scrollable in admin/settings layout ([Gargron](https://github.com/tootsuite/mastodon/pull/11893))
|
||||||
|
- Fix placeholder colors for inputs not being explicitly defined ([Gargron](https://github.com/tootsuite/mastodon/pull/11890))
|
||||||
|
- Fix incorrect enclosure length in RSS ([tsia](https://github.com/tootsuite/mastodon/pull/11889))
|
||||||
|
- Fix TOTP codes not being filtered from logs during enabling/disabling ([Gargron](https://github.com/tootsuite/mastodon/pull/11877))
|
||||||
|
- Fix webfinger response not returning 410 when account is suspended ([Gargron](https://github.com/tootsuite/mastodon/pull/11869))
|
||||||
|
- Fix ActivityPub Move handler queuing jobs that will fail if account is suspended ([Gargron](https://github.com/tootsuite/mastodon/pull/11864))
|
||||||
|
- Fix SSO login not using existing account when e-mail is verified ([Gargron](https://github.com/tootsuite/mastodon/pull/11862))
|
||||||
|
- Fix web UI allowing uploads past status limit via drag & drop ([Gargron](https://github.com/tootsuite/mastodon/pull/11863))
|
||||||
|
- Fix expiring polls not being displayed as such in web UI ([ThibG](https://github.com/tootsuite/mastodon/pull/11835))
|
||||||
|
- Fix 2FA challenge and password challenge for non-database users ([Gargron](https://github.com/tootsuite/mastodon/pull/11831), [Gargron](https://github.com/tootsuite/mastodon/pull/11943))
|
||||||
|
- Fix profile fields overflowing page width in web UI ([Gargron](https://github.com/tootsuite/mastodon/pull/11828))
|
||||||
|
- Fix web push subscriptions being deleted on rate limit or timeout ([Gargron](https://github.com/tootsuite/mastodon/pull/11826))
|
||||||
|
- Fix display of long poll options in web UI ([ThibG](https://github.com/tootsuite/mastodon/pull/11717), [ThibG](https://github.com/tootsuite/mastodon/pull/11833))
|
||||||
|
- Fix search API not resolving URL when `type` is given ([Gargron](https://github.com/tootsuite/mastodon/pull/11822))
|
||||||
|
- Fix hashtags being split by ZWNJ character ([Gargron](https://github.com/tootsuite/mastodon/pull/11821))
|
||||||
|
- Fix scroll position resetting when opening media modals in web UI ([Gargron](https://github.com/tootsuite/mastodon/pull/11815))
|
||||||
|
- Fix duplicate HTML IDs on about page ([ThibG](https://github.com/tootsuite/mastodon/pull/11803))
|
||||||
|
- Fix admin UI showing superfluous reject media/reports on suspended domain blocks ([ThibG](https://github.com/tootsuite/mastodon/pull/11749))
|
||||||
|
- Fix ActivityPub context not being dynamically computed ([ThibG](https://github.com/tootsuite/mastodon/pull/11746))
|
||||||
|
- Fix Mastodon logo style on hover on public pages' footer ([ThibG](https://github.com/tootsuite/mastodon/pull/11735))
|
||||||
|
- Fix height of dashboard counters ([ThibG](https://github.com/tootsuite/mastodon/pull/11736))
|
||||||
|
- Fix custom emoji animation on hover in web UI directory bios ([ThibG](https://github.com/tootsuite/mastodon/pull/11716))
|
||||||
|
- Fix non-numbers being passed to Redis and causing an error ([Gargron](https://github.com/tootsuite/mastodon/pull/11697))
|
||||||
|
- Fix error in REST API for an account's statuses ([Gargron](https://github.com/tootsuite/mastodon/pull/11700))
|
||||||
|
- Fix uncaught error when resource param is missing in Webfinger request ([Gargron](https://github.com/tootsuite/mastodon/pull/11701))
|
||||||
|
- Fix uncaught domain normalization error in remote follow ([Gargron](https://github.com/tootsuite/mastodon/pull/11703))
|
||||||
|
- Fix uncaught 422 and 500 errors ([Gargron](https://github.com/tootsuite/mastodon/pull/11590), [Gargron](https://github.com/tootsuite/mastodon/pull/11811))
|
||||||
|
- Fix uncaught parameter missing exceptions and missing error templates ([Gargron](https://github.com/tootsuite/mastodon/pull/11702))
|
||||||
|
- Fix encoding error when checking e-mail MX records ([Gargron](https://github.com/tootsuite/mastodon/pull/11696))
|
||||||
|
- Fix items in StatusContent render list not all having a key ([ThibG](https://github.com/tootsuite/mastodon/pull/11645))
|
||||||
|
- Fix remote and staff-removed statuses leaving media behind for a day ([Gargron](https://github.com/tootsuite/mastodon/pull/11638))
|
||||||
|
- Fix CSP needlessly allowing blob URLs in script-src ([ThibG](https://github.com/tootsuite/mastodon/pull/11620))
|
||||||
|
- Fix ignoring whole status because of one invalid hashtag ([Gargron](https://github.com/tootsuite/mastodon/pull/11621))
|
||||||
|
- Fix hidden statuses losing focus ([ThibG](https://github.com/tootsuite/mastodon/pull/11208))
|
||||||
|
- Fix loading bar being obscured by other elements in web UI ([Gargron](https://github.com/tootsuite/mastodon/pull/11598))
|
||||||
|
- Fix multiple issues with replies collection for pages further than self-replies ([ThibG](https://github.com/tootsuite/mastodon/pull/11582))
|
||||||
|
- Fix blurhash and autoplay not working on public pages ([Gargron](https://github.com/tootsuite/mastodon/pull/11585))
|
||||||
|
- Fix 422 being returned instead of 404 when POSTing to unmatched routes ([Gargron](https://github.com/tootsuite/mastodon/pull/11574), [Gargron](https://github.com/tootsuite/mastodon/pull/11704))
|
||||||
|
- Fix client-side resizing of image uploads ([ThibG](https://github.com/tootsuite/mastodon/pull/11570))
|
||||||
|
- Fix short number formatting for numbers above million in web UI ([Gargron](https://github.com/tootsuite/mastodon/pull/11559))
|
||||||
|
- Fix ActivityPub and REST API queries setting cookies and preventing caching ([ThibG](https://github.com/tootsuite/mastodon/pull/11539), [ThibG](https://github.com/tootsuite/mastodon/pull/11557), [ThibG](https://github.com/tootsuite/mastodon/pull/11336), [ThibG](https://github.com/tootsuite/mastodon/pull/11331))
|
||||||
|
- Fix some emojis in profile metadata labels are not emojified. ([kedamaDQ](https://github.com/tootsuite/mastodon/pull/11534))
|
||||||
|
- Fix account search always returning exact match on paginated results ([Gargron](https://github.com/tootsuite/mastodon/pull/11525))
|
||||||
|
- Fix acct URIs with IDN domains not being resolved ([Gargron](https://github.com/tootsuite/mastodon/pull/11520))
|
||||||
|
- Fix admin dashboard missing latest features ([Gargron](https://github.com/tootsuite/mastodon/pull/11505))
|
||||||
|
- Fix jumping of toot date when clicking spoiler button ([ariasuni](https://github.com/tootsuite/mastodon/pull/11449))
|
||||||
|
- Fix boost to original audience not working on mobile in web UI ([ThibG](https://github.com/tootsuite/mastodon/pull/11371))
|
||||||
|
- Fix handling of webfinger redirects in ResolveAccountService ([ThibG](https://github.com/tootsuite/mastodon/pull/11279))
|
||||||
|
- Fix URLs appearing twice in errors of ActivityPub::DeliveryWorker ([Gargron](https://github.com/tootsuite/mastodon/pull/11231))
|
||||||
|
- Fix support for HTTP proxies ([ThibG](https://github.com/tootsuite/mastodon/pull/11245))
|
||||||
|
- Fix HTTP requests to IPv6 hosts ([ThibG](https://github.com/tootsuite/mastodon/pull/11240))
|
||||||
|
- Fix error in ElasticSearch index import ([mayaeh](https://github.com/tootsuite/mastodon/pull/11192))
|
||||||
|
- Fix duplicate account error when seeding development database ([ysksn](https://github.com/tootsuite/mastodon/pull/11366))
|
||||||
|
- Fix performance of session clean-up scheduler ([abcang](https://github.com/tootsuite/mastodon/pull/11871))
|
||||||
|
- Fix older migrations not running ([zunda](https://github.com/tootsuite/mastodon/pull/11377))
|
||||||
|
- Fix URLs counting towards RTL detection ([ahangarha](https://github.com/tootsuite/mastodon/pull/11759))
|
||||||
|
- Fix unnecessary status re-rendering in web UI ([ThibG](https://github.com/tootsuite/mastodon/pull/11211))
|
||||||
|
- Fix http_parser.rb gem not being compiled when no network available ([petabyteboy](https://github.com/tootsuite/mastodon/pull/11444))
|
||||||
|
|
||||||
## [2.9.3] - 2019-08-10
|
## [2.9.3] - 2019-08-10
|
||||||
### Added
|
### Added
|
||||||
|
|
8
Gemfile
8
Gemfile
|
@ -5,7 +5,7 @@ ruby '>= 2.4.0', '< 2.7.0'
|
||||||
|
|
||||||
gem 'pkg-config', '~> 1.3'
|
gem 'pkg-config', '~> 1.3'
|
||||||
|
|
||||||
gem 'puma', '~> 4.1'
|
gem 'puma', '~> 4.2'
|
||||||
gem 'rails', '~> 5.2.3'
|
gem 'rails', '~> 5.2.3'
|
||||||
gem 'thor', '~> 0.20'
|
gem 'thor', '~> 0.20'
|
||||||
|
|
||||||
|
@ -29,7 +29,7 @@ gem 'bootsnap', '~> 1.4', require: false
|
||||||
gem 'browser'
|
gem 'browser'
|
||||||
gem 'charlock_holmes', '~> 0.7.6'
|
gem 'charlock_holmes', '~> 0.7.6'
|
||||||
gem 'iso-639'
|
gem 'iso-639'
|
||||||
gem 'chewy', '~> 5.0'
|
gem 'chewy', '~> 5.1'
|
||||||
gem 'cld3', '~> 3.2.4'
|
gem 'cld3', '~> 3.2.4'
|
||||||
gem 'devise', '~> 4.7'
|
gem 'devise', '~> 4.7'
|
||||||
gem 'devise-two-factor', '~> 3.1'
|
gem 'devise-two-factor', '~> 3.1'
|
||||||
|
@ -50,7 +50,7 @@ gem 'fastimage'
|
||||||
gem 'goldfinger', '~> 2.1'
|
gem 'goldfinger', '~> 2.1'
|
||||||
gem 'hiredis', '~> 0.6'
|
gem 'hiredis', '~> 0.6'
|
||||||
gem 'redis-namespace', '~> 1.5'
|
gem 'redis-namespace', '~> 1.5'
|
||||||
gem 'health_check', '~> 3.0'
|
gem 'health_check', git: 'https://github.com/ianheggie/health_check', ref: '0b799ead604f900ed50685e9b2d469cd2befba5b'
|
||||||
gem 'htmlentities', '~> 4.3'
|
gem 'htmlentities', '~> 4.3'
|
||||||
gem 'http', '~> 3.3'
|
gem 'http', '~> 3.3'
|
||||||
gem 'http_accept_language', '~> 2.1'
|
gem 'http_accept_language', '~> 2.1'
|
||||||
|
@ -115,7 +115,7 @@ end
|
||||||
group :test do
|
group :test do
|
||||||
gem 'capybara', '~> 3.29'
|
gem 'capybara', '~> 3.29'
|
||||||
gem 'climate_control', '~> 0.2'
|
gem 'climate_control', '~> 0.2'
|
||||||
gem 'faker', '~> 2.3'
|
gem 'faker', '~> 2.4'
|
||||||
gem 'microformats', '~> 4.1'
|
gem 'microformats', '~> 4.1'
|
||||||
gem 'rails-controller-testing', '~> 1.0'
|
gem 'rails-controller-testing', '~> 1.0'
|
||||||
gem 'rspec-sidekiq', '~> 3.0'
|
gem 'rspec-sidekiq', '~> 3.0'
|
||||||
|
|
52
Gemfile.lock
52
Gemfile.lock
|
@ -1,3 +1,11 @@
|
||||||
|
GIT
|
||||||
|
remote: https://github.com/ianheggie/health_check
|
||||||
|
revision: 0b799ead604f900ed50685e9b2d469cd2befba5b
|
||||||
|
ref: 0b799ead604f900ed50685e9b2d469cd2befba5b
|
||||||
|
specs:
|
||||||
|
health_check (4.0.0.pre)
|
||||||
|
rails (>= 4.0)
|
||||||
|
|
||||||
GIT
|
GIT
|
||||||
remote: https://github.com/rtomayko/posix-spawn
|
remote: https://github.com/rtomayko/posix-spawn
|
||||||
revision: 58465d2e213991f8afb13b984854a49fcdcc980c
|
revision: 58465d2e213991f8afb13b984854a49fcdcc980c
|
||||||
|
@ -161,7 +169,7 @@ GEM
|
||||||
case_transform (0.2)
|
case_transform (0.2)
|
||||||
activesupport
|
activesupport
|
||||||
charlock_holmes (0.7.6)
|
charlock_holmes (0.7.6)
|
||||||
chewy (5.0.0)
|
chewy (5.1.0)
|
||||||
activesupport (>= 4.0)
|
activesupport (>= 4.0)
|
||||||
elasticsearch (>= 2.0.0)
|
elasticsearch (>= 2.0.0)
|
||||||
elasticsearch-dsl
|
elasticsearch-dsl
|
||||||
|
@ -209,19 +217,19 @@ GEM
|
||||||
docile (1.3.2)
|
docile (1.3.2)
|
||||||
domain_name (0.5.20180417)
|
domain_name (0.5.20180417)
|
||||||
unf (>= 0.0.5, < 1.0.0)
|
unf (>= 0.0.5, < 1.0.0)
|
||||||
doorkeeper (5.2.0)
|
doorkeeper (5.2.1)
|
||||||
railties (>= 5)
|
railties (>= 5)
|
||||||
dotenv (2.7.5)
|
dotenv (2.7.5)
|
||||||
dotenv-rails (2.7.5)
|
dotenv-rails (2.7.5)
|
||||||
dotenv (= 2.7.5)
|
dotenv (= 2.7.5)
|
||||||
railties (>= 3.2, < 6.1)
|
railties (>= 3.2, < 6.1)
|
||||||
elasticsearch (6.0.2)
|
elasticsearch (7.3.0)
|
||||||
elasticsearch-api (= 6.0.2)
|
elasticsearch-api (= 7.3.0)
|
||||||
elasticsearch-transport (= 6.0.2)
|
elasticsearch-transport (= 7.3.0)
|
||||||
elasticsearch-api (6.0.2)
|
elasticsearch-api (7.3.0)
|
||||||
multi_json
|
multi_json
|
||||||
elasticsearch-dsl (0.1.5)
|
elasticsearch-dsl (0.1.8)
|
||||||
elasticsearch-transport (6.0.2)
|
elasticsearch-transport (7.3.0)
|
||||||
faraday
|
faraday
|
||||||
multi_json
|
multi_json
|
||||||
encryptor (3.0.0)
|
encryptor (3.0.0)
|
||||||
|
@ -231,9 +239,9 @@ GEM
|
||||||
tzinfo
|
tzinfo
|
||||||
excon (0.62.0)
|
excon (0.62.0)
|
||||||
fabrication (2.20.2)
|
fabrication (2.20.2)
|
||||||
faker (2.3.0)
|
faker (2.4.0)
|
||||||
i18n (~> 1.6.0)
|
i18n (~> 1.6.0)
|
||||||
faraday (0.15.0)
|
faraday (0.15.4)
|
||||||
multipart-post (>= 1.2, < 3)
|
multipart-post (>= 1.2, < 3)
|
||||||
fast_blank (1.0.0)
|
fast_blank (1.0.0)
|
||||||
fastimage (2.1.7)
|
fastimage (2.1.7)
|
||||||
|
@ -278,8 +286,6 @@ GEM
|
||||||
concurrent-ruby (~> 1.0)
|
concurrent-ruby (~> 1.0)
|
||||||
hashdiff (1.0.0)
|
hashdiff (1.0.0)
|
||||||
hashie (3.6.0)
|
hashie (3.6.0)
|
||||||
health_check (3.0.0)
|
|
||||||
railties (>= 5.0)
|
|
||||||
heapy (0.1.4)
|
heapy (0.1.4)
|
||||||
highline (2.0.1)
|
highline (2.0.1)
|
||||||
hiredis (0.6.3)
|
hiredis (0.6.3)
|
||||||
|
@ -370,10 +376,10 @@ GEM
|
||||||
mimemagic (0.3.3)
|
mimemagic (0.3.3)
|
||||||
mini_mime (1.0.2)
|
mini_mime (1.0.2)
|
||||||
mini_portile2 (2.4.0)
|
mini_portile2 (2.4.0)
|
||||||
minitest (5.11.3)
|
minitest (5.12.0)
|
||||||
msgpack (1.3.1)
|
msgpack (1.3.1)
|
||||||
multi_json (1.13.1)
|
multi_json (1.13.1)
|
||||||
multipart-post (2.0.0)
|
multipart-post (2.1.1)
|
||||||
necromancer (0.5.0)
|
necromancer (0.5.0)
|
||||||
net-ldap (0.16.1)
|
net-ldap (0.16.1)
|
||||||
net-scp (2.0.0)
|
net-scp (2.0.0)
|
||||||
|
@ -445,7 +451,7 @@ GEM
|
||||||
pry-rails (0.3.9)
|
pry-rails (0.3.9)
|
||||||
pry (>= 0.10.4)
|
pry (>= 0.10.4)
|
||||||
public_suffix (4.0.1)
|
public_suffix (4.0.1)
|
||||||
puma (4.1.1)
|
puma (4.2.0)
|
||||||
nio4r (~> 2.0)
|
nio4r (~> 2.0)
|
||||||
pundit (2.1.0)
|
pundit (2.1.0)
|
||||||
activesupport (>= 3.0.0)
|
activesupport (>= 3.0.0)
|
||||||
|
@ -500,7 +506,7 @@ GEM
|
||||||
link_header (~> 0.0, >= 0.0.8)
|
link_header (~> 0.0, >= 0.0.8)
|
||||||
rdf-normalize (0.3.3)
|
rdf-normalize (0.3.3)
|
||||||
rdf (>= 2.2, < 4.0)
|
rdf (>= 2.2, < 4.0)
|
||||||
redis (4.1.2)
|
redis (4.1.3)
|
||||||
redis-actionpack (5.0.2)
|
redis-actionpack (5.0.2)
|
||||||
actionpack (>= 4.0, < 6)
|
actionpack (>= 4.0, < 6)
|
||||||
redis-rack (>= 1, < 3)
|
redis-rack (>= 1, < 3)
|
||||||
|
@ -590,7 +596,7 @@ GEM
|
||||||
simple_form (4.1.0)
|
simple_form (4.1.0)
|
||||||
actionpack (>= 5.0)
|
actionpack (>= 5.0)
|
||||||
activemodel (>= 5.0)
|
activemodel (>= 5.0)
|
||||||
simplecov (0.17.0)
|
simplecov (0.17.1)
|
||||||
docile (~> 1.1)
|
docile (~> 1.1)
|
||||||
json (>= 1.8, < 3)
|
json (>= 1.8, < 3)
|
||||||
simplecov-html (~> 0.10.0)
|
simplecov-html (~> 0.10.0)
|
||||||
|
@ -646,7 +652,7 @@ GEM
|
||||||
uniform_notifier (1.12.1)
|
uniform_notifier (1.12.1)
|
||||||
warden (1.2.8)
|
warden (1.2.8)
|
||||||
rack (>= 2.0.6)
|
rack (>= 2.0.6)
|
||||||
webmock (3.7.3)
|
webmock (3.7.5)
|
||||||
addressable (>= 2.3.6)
|
addressable (>= 2.3.6)
|
||||||
crack (>= 0.3.2)
|
crack (>= 0.3.2)
|
||||||
hashdiff (>= 0.4.0, < 2.0.0)
|
hashdiff (>= 0.4.0, < 2.0.0)
|
||||||
|
@ -687,7 +693,7 @@ DEPENDENCIES
|
||||||
capistrano-yarn (~> 2.0)
|
capistrano-yarn (~> 2.0)
|
||||||
capybara (~> 3.29)
|
capybara (~> 3.29)
|
||||||
charlock_holmes (~> 0.7.6)
|
charlock_holmes (~> 0.7.6)
|
||||||
chewy (~> 5.0)
|
chewy (~> 5.1)
|
||||||
cld3 (~> 3.2.4)
|
cld3 (~> 3.2.4)
|
||||||
climate_control (~> 0.2)
|
climate_control (~> 0.2)
|
||||||
concurrent-ruby
|
concurrent-ruby
|
||||||
|
@ -700,7 +706,7 @@ DEPENDENCIES
|
||||||
doorkeeper (~> 5.2)
|
doorkeeper (~> 5.2)
|
||||||
dotenv-rails (~> 2.7)
|
dotenv-rails (~> 2.7)
|
||||||
fabrication (~> 2.20)
|
fabrication (~> 2.20)
|
||||||
faker (~> 2.3)
|
faker (~> 2.4)
|
||||||
fast_blank (~> 1.0)
|
fast_blank (~> 1.0)
|
||||||
fastimage
|
fastimage
|
||||||
fog-core (<= 2.1.0)
|
fog-core (<= 2.1.0)
|
||||||
|
@ -708,7 +714,7 @@ DEPENDENCIES
|
||||||
fuubar (~> 2.4)
|
fuubar (~> 2.4)
|
||||||
goldfinger (~> 2.1)
|
goldfinger (~> 2.1)
|
||||||
hamlit-rails (~> 0.2)
|
hamlit-rails (~> 0.2)
|
||||||
health_check (~> 3.0)
|
health_check!
|
||||||
hiredis (~> 0.6)
|
hiredis (~> 0.6)
|
||||||
htmlentities (~> 4.3)
|
htmlentities (~> 4.3)
|
||||||
http (~> 3.3)
|
http (~> 3.3)
|
||||||
|
@ -752,7 +758,7 @@ DEPENDENCIES
|
||||||
private_address_check (~> 0.5)
|
private_address_check (~> 0.5)
|
||||||
pry-byebug (~> 3.7)
|
pry-byebug (~> 3.7)
|
||||||
pry-rails (~> 0.3)
|
pry-rails (~> 0.3)
|
||||||
puma (~> 4.1)
|
puma (~> 4.2)
|
||||||
pundit (~> 2.1)
|
pundit (~> 2.1)
|
||||||
rack-attack (~> 6.1)
|
rack-attack (~> 6.1)
|
||||||
rack-cors (~> 1.0)
|
rack-cors (~> 1.0)
|
||||||
|
@ -793,7 +799,7 @@ DEPENDENCIES
|
||||||
webpush
|
webpush
|
||||||
|
|
||||||
RUBY VERSION
|
RUBY VERSION
|
||||||
ruby 2.6.1p33
|
ruby 2.6.4p104
|
||||||
|
|
||||||
BUNDLED WITH
|
BUNDLED WITH
|
||||||
1.17.3
|
1.17.3
|
||||||
|
|
9
app.json
9
app.json
|
@ -13,15 +13,6 @@
|
||||||
"description": "The domain that your Mastodon instance will run on (this can be appname.herokuapp.com or a custom domain)",
|
"description": "The domain that your Mastodon instance will run on (this can be appname.herokuapp.com or a custom domain)",
|
||||||
"required": true
|
"required": true
|
||||||
},
|
},
|
||||||
"LOCAL_HTTPS": {
|
|
||||||
"description": "Will your domain support HTTPS? (Automatic for herokuapp, requires manual configuration for custom domains)",
|
|
||||||
"value": "false",
|
|
||||||
"required": true
|
|
||||||
},
|
|
||||||
"PAPERCLIP_SECRET": {
|
|
||||||
"description": "The secret key for storing media files",
|
|
||||||
"generator": "secret"
|
|
||||||
},
|
|
||||||
"SECRET_KEY_BASE": {
|
"SECRET_KEY_BASE": {
|
||||||
"description": "The secret key base",
|
"description": "The secret key base",
|
||||||
"generator": "secret"
|
"generator": "secret"
|
||||||
|
|
|
@ -10,6 +10,7 @@ class AccountsController < ApplicationController
|
||||||
before_action :set_body_classes
|
before_action :set_body_classes
|
||||||
|
|
||||||
skip_around_action :set_locale, if: -> { request.format == :json }
|
skip_around_action :set_locale, if: -> { request.format == :json }
|
||||||
|
skip_before_action :require_functional!
|
||||||
|
|
||||||
def show
|
def show
|
||||||
respond_to do |format|
|
respond_to do |format|
|
||||||
|
|
|
@ -33,9 +33,9 @@ class ActivityPub::CollectionsController < ActivityPub::BaseController
|
||||||
def scope_for_collection
|
def scope_for_collection
|
||||||
case params[:id]
|
case params[:id]
|
||||||
when 'featured'
|
when 'featured'
|
||||||
@account.statuses.permitted_for(@account, signed_request_account).tap do |scope|
|
return Status.none if @account.blocking?(signed_request_account)
|
||||||
scope.merge!(@account.pinned_statuses)
|
|
||||||
end
|
@account.pinned_statuses
|
||||||
else
|
else
|
||||||
raise ActiveRecord::RecordNotFound
|
raise ActiveRecord::RecordNotFound
|
||||||
end
|
end
|
||||||
|
|
|
@ -3,6 +3,7 @@
|
||||||
module Admin
|
module Admin
|
||||||
class RelaysController < BaseController
|
class RelaysController < BaseController
|
||||||
before_action :set_relay, except: [:index, :new, :create]
|
before_action :set_relay, except: [:index, :new, :create]
|
||||||
|
before_action :require_signatures_enabled!, only: [:new, :create, :enable]
|
||||||
|
|
||||||
def index
|
def index
|
||||||
authorize :relay, :update?
|
authorize :relay, :update?
|
||||||
|
@ -11,7 +12,7 @@ module Admin
|
||||||
|
|
||||||
def new
|
def new
|
||||||
authorize :relay, :update?
|
authorize :relay, :update?
|
||||||
@relay = Relay.new(inbox_url: Relay::PRESET_RELAY)
|
@relay = Relay.new
|
||||||
end
|
end
|
||||||
|
|
||||||
def create
|
def create
|
||||||
|
@ -54,5 +55,9 @@ module Admin
|
||||||
def resource_params
|
def resource_params
|
||||||
params.require(:relay).permit(:inbox_url)
|
params.require(:relay).permit(:inbox_url)
|
||||||
end
|
end
|
||||||
|
|
||||||
|
def require_signatures_enabled!
|
||||||
|
redirect_to admin_relays_path, alert: I18n.t('admin.relays.signatures_not_enabled') if authorized_fetch_mode?
|
||||||
|
end
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
|
@ -57,6 +57,8 @@ class Api::V1::Accounts::StatusesController < Api::BaseController
|
||||||
end
|
end
|
||||||
|
|
||||||
def pinned_scope
|
def pinned_scope
|
||||||
|
return Status.none if @account.blocking?(current_account)
|
||||||
|
|
||||||
@account.pinned_statuses
|
@account.pinned_statuses
|
||||||
end
|
end
|
||||||
|
|
||||||
|
|
|
@ -33,7 +33,7 @@ class Api::V1::AccountsController < Api::BaseController
|
||||||
def follow
|
def follow
|
||||||
FollowService.new.call(current_user.account, @account, reblogs: truthy_param?(:reblogs))
|
FollowService.new.call(current_user.account, @account, reblogs: truthy_param?(:reblogs))
|
||||||
|
|
||||||
options = @account.locked? ? {} : { following_map: { @account.id => { reblogs: truthy_param?(:reblogs) } }, requested_map: { @account.id => false } }
|
options = @account.locked? || current_user.account.silenced? ? {} : { following_map: { @account.id => { reblogs: truthy_param?(:reblogs) } }, requested_map: { @account.id => false } }
|
||||||
|
|
||||||
render json: @account, serializer: REST::RelationshipSerializer, relationships: relationships(options)
|
render json: @account, serializer: REST::RelationshipSerializer, relationships: relationships(options)
|
||||||
end
|
end
|
||||||
|
|
|
@ -22,7 +22,7 @@ class Api::V2::SearchController < Api::BaseController
|
||||||
params[:q],
|
params[:q],
|
||||||
current_account,
|
current_account,
|
||||||
limit_param(RESULTS_LIMIT),
|
limit_param(RESULTS_LIMIT),
|
||||||
search_params.merge(resolve: truthy_param?(:resolve))
|
search_params.merge(resolve: truthy_param?(:resolve), exclude_unreviewed: truthy_param?(:exclude_unreviewed))
|
||||||
)
|
)
|
||||||
end
|
end
|
||||||
|
|
||||||
|
|
|
@ -8,6 +8,8 @@ class Auth::SessionsController < Devise::SessionsController
|
||||||
skip_before_action :require_no_authentication, only: [:create]
|
skip_before_action :require_no_authentication, only: [:create]
|
||||||
skip_before_action :require_functional!
|
skip_before_action :require_functional!
|
||||||
|
|
||||||
|
prepend_before_action :authenticate_with_two_factor, if: :two_factor_enabled?, only: [:create]
|
||||||
|
|
||||||
before_action :set_instance_presenter, only: [:new]
|
before_action :set_instance_presenter, only: [:new]
|
||||||
before_action :set_body_classes
|
before_action :set_body_classes
|
||||||
|
|
||||||
|
@ -20,22 +22,9 @@ class Auth::SessionsController < Devise::SessionsController
|
||||||
end
|
end
|
||||||
|
|
||||||
def create
|
def create
|
||||||
self.resource = begin
|
super do |resource|
|
||||||
if user_params[:email].blank? && session[:otp_user_id].present?
|
remember_me(resource)
|
||||||
User.find(session[:otp_user_id])
|
flash.delete(:notice)
|
||||||
else
|
|
||||||
warden.authenticate!(auth_options)
|
|
||||||
end
|
|
||||||
end
|
|
||||||
|
|
||||||
if resource.otp_required_for_login?
|
|
||||||
if user_params[:otp_attempt].present? && session[:otp_user_id].present?
|
|
||||||
authenticate_with_two_factor_via_otp(resource)
|
|
||||||
else
|
|
||||||
prompt_for_two_factor(resource)
|
|
||||||
end
|
|
||||||
else
|
|
||||||
authenticate_and_respond(resource)
|
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
|
@ -49,6 +38,16 @@ class Auth::SessionsController < Devise::SessionsController
|
||||||
|
|
||||||
protected
|
protected
|
||||||
|
|
||||||
|
def find_user
|
||||||
|
if session[:otp_user_id]
|
||||||
|
User.find(session[:otp_user_id])
|
||||||
|
else
|
||||||
|
user = User.authenticate_with_ldap(user_params) if Devise.ldap_authentication
|
||||||
|
user ||= User.authenticate_with_pam(user_params) if Devise.pam_authentication
|
||||||
|
user ||= User.find_for_authentication(email: user_params[:email])
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
def user_params
|
def user_params
|
||||||
params.require(:user).permit(:email, :password, :otp_attempt)
|
params.require(:user).permit(:email, :password, :otp_attempt)
|
||||||
end
|
end
|
||||||
|
@ -71,6 +70,10 @@ class Auth::SessionsController < Devise::SessionsController
|
||||||
super
|
super
|
||||||
end
|
end
|
||||||
|
|
||||||
|
def two_factor_enabled?
|
||||||
|
find_user&.otp_required_for_login?
|
||||||
|
end
|
||||||
|
|
||||||
def valid_otp_attempt?(user)
|
def valid_otp_attempt?(user)
|
||||||
user.validate_and_consume_otp!(user_params[:otp_attempt]) ||
|
user.validate_and_consume_otp!(user_params[:otp_attempt]) ||
|
||||||
user.invalidate_otp_backup_code!(user_params[:otp_attempt])
|
user.invalidate_otp_backup_code!(user_params[:otp_attempt])
|
||||||
|
@ -78,10 +81,24 @@ class Auth::SessionsController < Devise::SessionsController
|
||||||
false
|
false
|
||||||
end
|
end
|
||||||
|
|
||||||
|
def authenticate_with_two_factor
|
||||||
|
user = self.resource = find_user
|
||||||
|
|
||||||
|
if user_params[:otp_attempt].present? && session[:otp_user_id]
|
||||||
|
authenticate_with_two_factor_via_otp(user)
|
||||||
|
elsif user.present? && (user.encrypted_password.blank? || user.valid_password?(user_params[:password]))
|
||||||
|
# If encrypted_password is blank, we got the user from LDAP or PAM,
|
||||||
|
# so credentials are already valid
|
||||||
|
|
||||||
|
prompt_for_two_factor(user)
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
def authenticate_with_two_factor_via_otp(user)
|
def authenticate_with_two_factor_via_otp(user)
|
||||||
if valid_otp_attempt?(user)
|
if valid_otp_attempt?(user)
|
||||||
session.delete(:otp_user_id)
|
session.delete(:otp_user_id)
|
||||||
authenticate_and_respond(user)
|
remember_me(user)
|
||||||
|
sign_in(user)
|
||||||
else
|
else
|
||||||
flash.now[:alert] = I18n.t('users.invalid_otp_token')
|
flash.now[:alert] = I18n.t('users.invalid_otp_token')
|
||||||
prompt_for_two_factor(user)
|
prompt_for_two_factor(user)
|
||||||
|
@ -90,16 +107,10 @@ class Auth::SessionsController < Devise::SessionsController
|
||||||
|
|
||||||
def prompt_for_two_factor(user)
|
def prompt_for_two_factor(user)
|
||||||
session[:otp_user_id] = user.id
|
session[:otp_user_id] = user.id
|
||||||
|
@body_classes = 'lighter'
|
||||||
render :two_factor
|
render :two_factor
|
||||||
end
|
end
|
||||||
|
|
||||||
def authenticate_and_respond(user)
|
|
||||||
sign_in(user)
|
|
||||||
remember_me(user)
|
|
||||||
|
|
||||||
respond_with user, location: after_sign_in_path_for(user)
|
|
||||||
end
|
|
||||||
|
|
||||||
private
|
private
|
||||||
|
|
||||||
def set_instance_presenter
|
def set_instance_presenter
|
||||||
|
@ -112,11 +123,9 @@ class Auth::SessionsController < Devise::SessionsController
|
||||||
|
|
||||||
def home_paths(resource)
|
def home_paths(resource)
|
||||||
paths = [about_path]
|
paths = [about_path]
|
||||||
|
|
||||||
if single_user_mode? && resource.is_a?(User)
|
if single_user_mode? && resource.is_a?(User)
|
||||||
paths << short_account_path(username: resource.account)
|
paths << short_account_path(username: resource.account)
|
||||||
end
|
end
|
||||||
|
|
||||||
paths
|
paths
|
||||||
end
|
end
|
||||||
|
|
||||||
|
|
|
@ -2,6 +2,7 @@
|
||||||
|
|
||||||
class CustomCssController < ApplicationController
|
class CustomCssController < ApplicationController
|
||||||
skip_before_action :store_current_location
|
skip_before_action :store_current_location
|
||||||
|
skip_before_action :require_functional!
|
||||||
|
|
||||||
before_action :set_cache_headers
|
before_action :set_cache_headers
|
||||||
|
|
||||||
|
|
|
@ -9,6 +9,8 @@ class DirectoriesController < ApplicationController
|
||||||
before_action :set_tag, only: :show
|
before_action :set_tag, only: :show
|
||||||
before_action :set_accounts
|
before_action :set_accounts
|
||||||
|
|
||||||
|
skip_before_action :require_functional!
|
||||||
|
|
||||||
def index
|
def index
|
||||||
render :index
|
render :index
|
||||||
end
|
end
|
||||||
|
|
|
@ -8,6 +8,7 @@ class FollowerAccountsController < ApplicationController
|
||||||
before_action :set_cache_headers
|
before_action :set_cache_headers
|
||||||
|
|
||||||
skip_around_action :set_locale, if: -> { request.format == :json }
|
skip_around_action :set_locale, if: -> { request.format == :json }
|
||||||
|
skip_before_action :require_functional!
|
||||||
|
|
||||||
def index
|
def index
|
||||||
respond_to do |format|
|
respond_to do |format|
|
||||||
|
|
|
@ -8,6 +8,7 @@ class FollowingAccountsController < ApplicationController
|
||||||
before_action :set_cache_headers
|
before_action :set_cache_headers
|
||||||
|
|
||||||
skip_around_action :set_locale, if: -> { request.format == :json }
|
skip_around_action :set_locale, if: -> { request.format == :json }
|
||||||
|
skip_before_action :require_functional!
|
||||||
|
|
||||||
def index
|
def index
|
||||||
respond_to do |format|
|
respond_to do |format|
|
||||||
|
|
|
@ -2,6 +2,7 @@
|
||||||
|
|
||||||
class ManifestsController < ApplicationController
|
class ManifestsController < ApplicationController
|
||||||
skip_before_action :store_current_location
|
skip_before_action :store_current_location
|
||||||
|
skip_before_action :require_functional!
|
||||||
|
|
||||||
def show
|
def show
|
||||||
expires_in 3.minutes, public: true
|
expires_in 3.minutes, public: true
|
||||||
|
|
|
@ -4,6 +4,7 @@ class MediaController < ApplicationController
|
||||||
include Authorization
|
include Authorization
|
||||||
|
|
||||||
skip_before_action :store_current_location
|
skip_before_action :store_current_location
|
||||||
|
skip_before_action :require_functional!
|
||||||
|
|
||||||
before_action :authenticate_user!, if: :whitelist_mode?
|
before_action :authenticate_user!, if: :whitelist_mode?
|
||||||
before_action :set_media_attachment
|
before_action :set_media_attachment
|
||||||
|
|
|
@ -4,6 +4,7 @@ class MediaProxyController < ApplicationController
|
||||||
include RoutingHelper
|
include RoutingHelper
|
||||||
|
|
||||||
skip_before_action :store_current_location
|
skip_before_action :store_current_location
|
||||||
|
skip_before_action :require_functional!
|
||||||
|
|
||||||
before_action :authenticate_user!, if: :whitelist_mode?
|
before_action :authenticate_user!, if: :whitelist_mode?
|
||||||
|
|
||||||
|
|
|
@ -7,6 +7,8 @@ class RemoteFollowController < ApplicationController
|
||||||
|
|
||||||
before_action :set_body_classes
|
before_action :set_body_classes
|
||||||
|
|
||||||
|
skip_before_action :require_functional!
|
||||||
|
|
||||||
def new
|
def new
|
||||||
@remote_follow = RemoteFollow.new(session_params)
|
@remote_follow = RemoteFollow.new(session_params)
|
||||||
end
|
end
|
||||||
|
|
|
@ -10,6 +10,8 @@ class RemoteInteractionController < ApplicationController
|
||||||
before_action :set_status
|
before_action :set_status
|
||||||
before_action :set_body_classes
|
before_action :set_body_classes
|
||||||
|
|
||||||
|
skip_before_action :require_functional!
|
||||||
|
|
||||||
def new
|
def new
|
||||||
@remote_follow = RemoteFollow.new(session_params)
|
@remote_follow = RemoteFollow.new(session_params)
|
||||||
end
|
end
|
||||||
|
|
|
@ -0,0 +1,45 @@
|
||||||
|
# frozen_string_literal: true
|
||||||
|
|
||||||
|
class Settings::Migration::RedirectsController < Settings::BaseController
|
||||||
|
layout 'admin'
|
||||||
|
|
||||||
|
before_action :authenticate_user!
|
||||||
|
before_action :require_not_suspended!
|
||||||
|
|
||||||
|
skip_before_action :require_functional!
|
||||||
|
|
||||||
|
def new
|
||||||
|
@redirect = Form::Redirect.new
|
||||||
|
end
|
||||||
|
|
||||||
|
def create
|
||||||
|
@redirect = Form::Redirect.new(resource_params.merge(account: current_account))
|
||||||
|
|
||||||
|
if @redirect.valid_with_challenge?(current_user)
|
||||||
|
current_account.update!(moved_to_account: @redirect.target_account)
|
||||||
|
ActivityPub::UpdateDistributionWorker.perform_async(current_account.id)
|
||||||
|
redirect_to settings_migration_path, notice: I18n.t('migrations.moved_msg', acct: current_account.moved_to_account.acct)
|
||||||
|
else
|
||||||
|
render :new
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
|
def destroy
|
||||||
|
if current_account.moved_to_account_id.present?
|
||||||
|
current_account.update!(moved_to_account: nil)
|
||||||
|
ActivityPub::UpdateDistributionWorker.perform_async(current_account.id)
|
||||||
|
end
|
||||||
|
|
||||||
|
redirect_to settings_migration_path, notice: I18n.t('migrations.cancelled_msg')
|
||||||
|
end
|
||||||
|
|
||||||
|
private
|
||||||
|
|
||||||
|
def resource_params
|
||||||
|
params.require(:form_redirect).permit(:acct, :current_password, :current_username)
|
||||||
|
end
|
||||||
|
|
||||||
|
def require_not_suspended!
|
||||||
|
forbidden if current_account.suspended?
|
||||||
|
end
|
||||||
|
end
|
|
@ -27,15 +27,6 @@ class Settings::MigrationsController < Settings::BaseController
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
def cancel
|
|
||||||
if current_account.moved_to_account_id.present?
|
|
||||||
current_account.update!(moved_to_account: nil)
|
|
||||||
ActivityPub::UpdateDistributionWorker.perform_async(current_account.id)
|
|
||||||
end
|
|
||||||
|
|
||||||
redirect_to settings_migration_path, notice: I18n.t('migrations.cancelled_msg')
|
|
||||||
end
|
|
||||||
|
|
||||||
helper_method :on_cooldown?
|
helper_method :on_cooldown?
|
||||||
|
|
||||||
private
|
private
|
||||||
|
|
|
@ -19,6 +19,7 @@ class StatusesController < ApplicationController
|
||||||
before_action :set_autoplay, only: :embed
|
before_action :set_autoplay, only: :embed
|
||||||
|
|
||||||
skip_around_action :set_locale, if: -> { request.format == :json }
|
skip_around_action :set_locale, if: -> { request.format == :json }
|
||||||
|
skip_before_action :require_functional!, only: [:show, :embed]
|
||||||
|
|
||||||
content_security_policy only: :embed do |p|
|
content_security_policy only: :embed do |p|
|
||||||
p.frame_ancestors(false)
|
p.frame_ancestors(false)
|
||||||
|
|
|
@ -13,6 +13,8 @@ class TagsController < ApplicationController
|
||||||
before_action :set_body_classes
|
before_action :set_body_classes
|
||||||
before_action :set_instance_presenter
|
before_action :set_instance_presenter
|
||||||
|
|
||||||
|
skip_before_action :require_functional!
|
||||||
|
|
||||||
def show
|
def show
|
||||||
respond_to do |format|
|
respond_to do |format|
|
||||||
format.html do
|
format.html do
|
||||||
|
|
|
@ -234,7 +234,7 @@ export function uploadCompose(files) {
|
||||||
progress[i] = loaded;
|
progress[i] = loaded;
|
||||||
dispatch(uploadComposeProgress(progress.reduce((a, v) => a + v, 0), total));
|
dispatch(uploadComposeProgress(progress.reduce((a, v) => a + v, 0), total));
|
||||||
},
|
},
|
||||||
}).then(({ data }) => dispatch(uploadComposeSuccess(data)));
|
}).then(({ data }) => dispatch(uploadComposeSuccess(data, f)));
|
||||||
}).catch(error => dispatch(uploadComposeFail(error)));
|
}).catch(error => dispatch(uploadComposeFail(error)));
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
@ -289,10 +289,11 @@ export function uploadComposeProgress(loaded, total) {
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
export function uploadComposeSuccess(media) {
|
export function uploadComposeSuccess(media, file) {
|
||||||
return {
|
return {
|
||||||
type: COMPOSE_UPLOAD_SUCCESS,
|
type: COMPOSE_UPLOAD_SUCCESS,
|
||||||
media: media,
|
media: media,
|
||||||
|
file: file,
|
||||||
skipLoading: true,
|
skipLoading: true,
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
@ -368,6 +369,7 @@ const fetchComposeSuggestionsTags = throttle((dispatch, getState, token) => {
|
||||||
q: token.slice(1),
|
q: token.slice(1),
|
||||||
resolve: false,
|
resolve: false,
|
||||||
limit: 4,
|
limit: 4,
|
||||||
|
exclude_unreviewed: true,
|
||||||
},
|
},
|
||||||
}).then(({ data }) => {
|
}).then(({ data }) => {
|
||||||
dispatch(readyComposeSuggestionsTags(token, data.hashtags));
|
dispatch(readyComposeSuggestionsTags(token, data.hashtags));
|
||||||
|
|
|
@ -73,8 +73,9 @@ export function normalizePoll(poll) {
|
||||||
|
|
||||||
const emojiMap = makeEmojiMap(normalPoll);
|
const emojiMap = makeEmojiMap(normalPoll);
|
||||||
|
|
||||||
normalPoll.options = poll.options.map(option => ({
|
normalPoll.options = poll.options.map((option, index) => ({
|
||||||
...option,
|
...option,
|
||||||
|
voted: poll.own_votes && poll.own_votes.includes(index),
|
||||||
title_emojified: emojify(escapeTextContentForBrowser(option.title), emojiMap),
|
title_emojified: emojify(escapeTextContentForBrowser(option.title), emojiMap),
|
||||||
}));
|
}));
|
||||||
|
|
||||||
|
|
|
@ -10,9 +10,11 @@ import spring from 'react-motion/lib/spring';
|
||||||
import escapeTextContentForBrowser from 'escape-html';
|
import escapeTextContentForBrowser from 'escape-html';
|
||||||
import emojify from 'mastodon/features/emoji/emoji';
|
import emojify from 'mastodon/features/emoji/emoji';
|
||||||
import RelativeTimestamp from './relative_timestamp';
|
import RelativeTimestamp from './relative_timestamp';
|
||||||
|
import Icon from 'mastodon/components/icon';
|
||||||
|
|
||||||
const messages = defineMessages({
|
const messages = defineMessages({
|
||||||
closed: { id: 'poll.closed', defaultMessage: 'Closed' },
|
closed: { id: 'poll.closed', defaultMessage: 'Closed' },
|
||||||
|
voted: { id: 'poll.voted', defaultMessage: 'You voted for this answer', description: 'Tooltip of the "voted" checkmark in polls' },
|
||||||
});
|
});
|
||||||
|
|
||||||
const makeEmojiMap = record => record.get('emojis').reduce((obj, emoji) => {
|
const makeEmojiMap = record => record.get('emojis').reduce((obj, emoji) => {
|
||||||
|
@ -99,10 +101,11 @@ class Poll extends ImmutablePureComponent {
|
||||||
};
|
};
|
||||||
|
|
||||||
renderOption (option, optionIndex, showResults) {
|
renderOption (option, optionIndex, showResults) {
|
||||||
const { poll, disabled } = this.props;
|
const { poll, disabled, intl } = this.props;
|
||||||
const percent = poll.get('votes_count') === 0 ? 0 : (option.get('votes_count') / poll.get('votes_count')) * 100;
|
const percent = poll.get('votes_count') === 0 ? 0 : (option.get('votes_count') / poll.get('votes_count')) * 100;
|
||||||
const leading = poll.get('options').filterNot(other => other.get('title') === option.get('title')).every(other => option.get('votes_count') > other.get('votes_count'));
|
const leading = poll.get('options').filterNot(other => other.get('title') === option.get('title')).every(other => option.get('votes_count') > other.get('votes_count'));
|
||||||
const active = !!this.state.selected[`${optionIndex}`];
|
const active = !!this.state.selected[`${optionIndex}`];
|
||||||
|
const voted = option.get('voted') || (poll.get('own_votes') && poll.get('own_votes').includes(optionIndex));
|
||||||
|
|
||||||
let titleEmojified = option.get('title_emojified');
|
let titleEmojified = option.get('title_emojified');
|
||||||
if (!titleEmojified) {
|
if (!titleEmojified) {
|
||||||
|
@ -131,7 +134,10 @@ class Poll extends ImmutablePureComponent {
|
||||||
/>
|
/>
|
||||||
|
|
||||||
{!showResults && <span className={classNames('poll__input', { checkbox: poll.get('multiple'), active })} />}
|
{!showResults && <span className={classNames('poll__input', { checkbox: poll.get('multiple'), active })} />}
|
||||||
{showResults && <span className='poll__number'>{Math.round(percent)}%</span>}
|
{showResults && <span className='poll__number'>
|
||||||
|
{!!voted && <Icon id='check' className='poll__vote__mark' title={intl.formatMessage(messages.voted)} />}
|
||||||
|
{Math.round(percent)}%
|
||||||
|
</span>}
|
||||||
|
|
||||||
<span dangerouslySetInnerHTML={{ __html: titleEmojified }} />
|
<span dangerouslySetInnerHTML={{ __html: titleEmojified }} />
|
||||||
</label>
|
</label>
|
||||||
|
|
|
@ -201,10 +201,6 @@ export default class ScrollableList extends PureComponent {
|
||||||
this.detachIntersectionObserver();
|
this.detachIntersectionObserver();
|
||||||
|
|
||||||
detachFullscreenListener(this.onFullScreenChange);
|
detachFullscreenListener(this.onFullScreenChange);
|
||||||
|
|
||||||
if (this.props.onScrollToTop) {
|
|
||||||
this.props.onScrollToTop();
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
onFullScreenChange = () => {
|
onFullScreenChange = () => {
|
||||||
|
|
|
@ -99,4 +99,4 @@ export const buildCustomEmojis = (customEmojis) => {
|
||||||
return emojis;
|
return emojis;
|
||||||
};
|
};
|
||||||
|
|
||||||
export const categoriesFromEmojis = customEmojis => customEmojis.reduce((set, emoji) => set.add(emoji.get('category') ? `custom-${emoji.get('category')}` : 'custom'), new Set());
|
export const categoriesFromEmojis = customEmojis => customEmojis.reduce((set, emoji) => set.add(emoji.get('category') ? `custom-${emoji.get('category')}` : 'custom'), new Set(['custom']));
|
||||||
|
|
|
@ -77,16 +77,14 @@ class GettingStarted extends ImmutablePureComponent {
|
||||||
};
|
};
|
||||||
|
|
||||||
componentDidMount () {
|
componentDidMount () {
|
||||||
const { myAccount, fetchFollowRequests, multiColumn } = this.props;
|
const { fetchFollowRequests, multiColumn } = this.props;
|
||||||
|
|
||||||
if (!multiColumn && window.innerWidth >= NAVIGATION_PANEL_BREAKPOINT) {
|
if (!multiColumn && window.innerWidth >= NAVIGATION_PANEL_BREAKPOINT) {
|
||||||
this.context.router.history.replace('/timelines/home');
|
this.context.router.history.replace('/timelines/home');
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (myAccount.get('locked')) {
|
fetchFollowRequests();
|
||||||
fetchFollowRequests();
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
render () {
|
render () {
|
||||||
|
@ -134,7 +132,7 @@ class GettingStarted extends ImmutablePureComponent {
|
||||||
|
|
||||||
height += 48*3;
|
height += 48*3;
|
||||||
|
|
||||||
if (myAccount.get('locked')) {
|
if (myAccount.get('locked') || unreadFollowRequests > 0) {
|
||||||
navItems.push(<ColumnLink key={i++} icon='user-plus' text={intl.formatMessage(messages.follow_requests)} badge={badgeDisplay(unreadFollowRequests, 40)} to='/follow_requests' />);
|
navItems.push(<ColumnLink key={i++} icon='user-plus' text={intl.formatMessage(messages.follow_requests)} badge={badgeDisplay(unreadFollowRequests, 40)} to='/follow_requests' />);
|
||||||
height += 48;
|
height += 48;
|
||||||
}
|
}
|
||||||
|
|
|
@ -173,7 +173,17 @@ class FocalPointModal extends ImmutablePureComponent {
|
||||||
langPath: `${assetHost}/ocr/lang-data`,
|
langPath: `${assetHost}/ocr/lang-data`,
|
||||||
});
|
});
|
||||||
|
|
||||||
worker.recognize(media.get('url'))
|
let media_url = media.get('file');
|
||||||
|
|
||||||
|
if (window.URL && URL.createObjectURL) {
|
||||||
|
try {
|
||||||
|
media_url = URL.createObjectURL(media.get('file'));
|
||||||
|
} catch (error) {
|
||||||
|
console.error(error);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
worker.recognize(media_url)
|
||||||
.progress(({ progress }) => this.setState({ progress }))
|
.progress(({ progress }) => this.setState({ progress }))
|
||||||
.finally(() => worker.terminate())
|
.finally(() => worker.terminate())
|
||||||
.then(({ text }) => this.setState({ description: removeExtraLineBreaks(text), dirty: true, detecting: false }))
|
.then(({ text }) => this.setState({ description: removeExtraLineBreaks(text), dirty: true, detecting: false }))
|
||||||
|
|
|
@ -7,7 +7,7 @@
|
||||||
"account.cancel_follow_request": "إلغاء طلب المتابَعة",
|
"account.cancel_follow_request": "إلغاء طلب المتابَعة",
|
||||||
"account.direct": "رسالة خاصة إلى @{name}",
|
"account.direct": "رسالة خاصة إلى @{name}",
|
||||||
"account.domain_blocked": "النطاق مخفي",
|
"account.domain_blocked": "النطاق مخفي",
|
||||||
"account.edit_profile": "تعديل الملف الشخصي",
|
"account.edit_profile": "تعديل الملف التعريفي",
|
||||||
"account.endorse": "أوصِ به على صفحتك",
|
"account.endorse": "أوصِ به على صفحتك",
|
||||||
"account.follow": "تابِع",
|
"account.follow": "تابِع",
|
||||||
"account.followers": "متابعون",
|
"account.followers": "متابعون",
|
||||||
|
@ -30,11 +30,11 @@
|
||||||
"account.posts_with_replies": "التبويقات و الردود",
|
"account.posts_with_replies": "التبويقات و الردود",
|
||||||
"account.report": "ابلِغ عن @{name}",
|
"account.report": "ابلِغ عن @{name}",
|
||||||
"account.requested": "في انتظار الموافقة. اضْغَطْ/ي لإلغاء طلب المتابعة",
|
"account.requested": "في انتظار الموافقة. اضْغَطْ/ي لإلغاء طلب المتابعة",
|
||||||
"account.share": "مشاركة حساب @{name}",
|
"account.share": "شارك ملف تعريف @{name}",
|
||||||
"account.show_reblogs": "اعرض ترقيات @{name}",
|
"account.show_reblogs": "اعرض ترقيات @{name}",
|
||||||
"account.unblock": "إلغاء الحظر عن @{name}",
|
"account.unblock": "إلغاء الحظر عن @{name}",
|
||||||
"account.unblock_domain": "فك الخْفى عن {domain}",
|
"account.unblock_domain": "فك الخْفى عن {domain}",
|
||||||
"account.unendorse": "أزل ترويجه مِن الملف الشخصي",
|
"account.unendorse": "أزل ترويجه مِن الملف التعريفي",
|
||||||
"account.unfollow": "إلغاء المتابعة",
|
"account.unfollow": "إلغاء المتابعة",
|
||||||
"account.unmute": "إلغاء الكتم عن @{name}",
|
"account.unmute": "إلغاء الكتم عن @{name}",
|
||||||
"account.unmute_notifications": "إلغاء كتم إخطارات @{name}",
|
"account.unmute_notifications": "إلغاء كتم إخطارات @{name}",
|
||||||
|
@ -53,7 +53,7 @@
|
||||||
"column.blocks": "الحسابات المحجوبة",
|
"column.blocks": "الحسابات المحجوبة",
|
||||||
"column.community": "الخيط العام المحلي",
|
"column.community": "الخيط العام المحلي",
|
||||||
"column.direct": "الرسائل المباشرة",
|
"column.direct": "الرسائل المباشرة",
|
||||||
"column.directory": "Browse profiles",
|
"column.directory": "استعرض الملفات التعريفية",
|
||||||
"column.domain_blocks": "النطاقات المخفية",
|
"column.domain_blocks": "النطاقات المخفية",
|
||||||
"column.favourites": "المفضلة",
|
"column.favourites": "المفضلة",
|
||||||
"column.follow_requests": "طلبات المتابعة",
|
"column.follow_requests": "طلبات المتابعة",
|
||||||
|
@ -63,7 +63,7 @@
|
||||||
"column.notifications": "الإخطارات",
|
"column.notifications": "الإخطارات",
|
||||||
"column.pins": "التبويقات المثبتة",
|
"column.pins": "التبويقات المثبتة",
|
||||||
"column.public": "الخيط العام الموحد",
|
"column.public": "الخيط العام الموحد",
|
||||||
"column.status": "Toot",
|
"column.status": "تبويق",
|
||||||
"column_back_button.label": "العودة",
|
"column_back_button.label": "العودة",
|
||||||
"column_header.hide_settings": "إخفاء الإعدادات",
|
"column_header.hide_settings": "إخفاء الإعدادات",
|
||||||
"column_header.moveLeft_settings": "نقل القائمة إلى اليسار",
|
"column_header.moveLeft_settings": "نقل القائمة إلى اليسار",
|
||||||
|
@ -111,10 +111,10 @@
|
||||||
"confirmations.reply.message": "الرد في الحين سوف يُعيد كتابة الرسالة التي أنت بصدد كتابتها. متأكد من أنك تريد المواصلة؟",
|
"confirmations.reply.message": "الرد في الحين سوف يُعيد كتابة الرسالة التي أنت بصدد كتابتها. متأكد من أنك تريد المواصلة؟",
|
||||||
"confirmations.unfollow.confirm": "إلغاء المتابعة",
|
"confirmations.unfollow.confirm": "إلغاء المتابعة",
|
||||||
"confirmations.unfollow.message": "متأكد من أنك تريد إلغاء متابعة {name} ؟",
|
"confirmations.unfollow.message": "متأكد من أنك تريد إلغاء متابعة {name} ؟",
|
||||||
"conversation.delete": "Delete conversation",
|
"conversation.delete": "احذف المحادثة",
|
||||||
"conversation.mark_as_read": "Mark as read",
|
"conversation.mark_as_read": "اعتبرها كمقروءة",
|
||||||
"conversation.open": "View conversation",
|
"conversation.open": "اعرض المحادثة",
|
||||||
"conversation.with": "With {names}",
|
"conversation.with": "بـ {names}",
|
||||||
"directory.federated": "From known fediverse",
|
"directory.federated": "From known fediverse",
|
||||||
"directory.local": "From {domain} only",
|
"directory.local": "From {domain} only",
|
||||||
"directory.new_arrivals": "الوافدون الجُدد",
|
"directory.new_arrivals": "الوافدون الجُدد",
|
||||||
|
@ -136,7 +136,7 @@
|
||||||
"emoji_button.symbols": "رموز",
|
"emoji_button.symbols": "رموز",
|
||||||
"emoji_button.travel": "الأماكن والسفر",
|
"emoji_button.travel": "الأماكن والسفر",
|
||||||
"empty_column.account_timeline": "ليس هناك تبويقات!",
|
"empty_column.account_timeline": "ليس هناك تبويقات!",
|
||||||
"empty_column.account_unavailable": "الملف الشخصي غير متوفر",
|
"empty_column.account_unavailable": "الملف التعريفي غير متوفر",
|
||||||
"empty_column.blocks": "لم تقم بحظر أي مستخدِم بعد.",
|
"empty_column.blocks": "لم تقم بحظر أي مستخدِم بعد.",
|
||||||
"empty_column.community": "الخط العام المحلي فارغ. أكتب شيئا ما للعامة كبداية!",
|
"empty_column.community": "الخط العام المحلي فارغ. أكتب شيئا ما للعامة كبداية!",
|
||||||
"empty_column.direct": "لم تتلق أية رسالة خاصة مباشِرة بعد. سوف يتم عرض الرسائل المباشرة هنا إن قمت بإرسال واحدة أو تلقيت البعض منها.",
|
"empty_column.direct": "لم تتلق أية رسالة خاصة مباشِرة بعد. سوف يتم عرض الرسائل المباشرة هنا إن قمت بإرسال واحدة أو تلقيت البعض منها.",
|
||||||
|
@ -155,7 +155,7 @@
|
||||||
"follow_request.authorize": "ترخيص",
|
"follow_request.authorize": "ترخيص",
|
||||||
"follow_request.reject": "رفض",
|
"follow_request.reject": "رفض",
|
||||||
"getting_started.developers": "المُطوِّرون",
|
"getting_started.developers": "المُطوِّرون",
|
||||||
"getting_started.directory": "دليل المستخدِمين والمستخدِمات",
|
"getting_started.directory": "دليل الصفحات التعريفية",
|
||||||
"getting_started.documentation": "الدليل",
|
"getting_started.documentation": "الدليل",
|
||||||
"getting_started.heading": "استعدّ للبدء",
|
"getting_started.heading": "استعدّ للبدء",
|
||||||
"getting_started.invite": "دعوة أشخاص",
|
"getting_started.invite": "دعوة أشخاص",
|
||||||
|
@ -194,7 +194,7 @@
|
||||||
"introduction.interactions.reply.text": "يمكنكم الرد على تبويقاتكم و تبويقات الآخرين على شكل سلسلة محادثة.",
|
"introduction.interactions.reply.text": "يمكنكم الرد على تبويقاتكم و تبويقات الآخرين على شكل سلسلة محادثة.",
|
||||||
"introduction.welcome.action": "هيا بنا!",
|
"introduction.welcome.action": "هيا بنا!",
|
||||||
"introduction.welcome.headline": "الخطوات الأولى",
|
"introduction.welcome.headline": "الخطوات الأولى",
|
||||||
"introduction.welcome.text": "مرحبا بكم على الفديفرس! بعد لحظات قليلة ، سيكون بمقدوركم بث رسائل والتحدث إلى أصدقائكم عبر تشكيلة واسعة من الخوادم المختلفة. هذا الخادم ، {domain} ، يستضيف ملفكم الشخصي ، لذا يجب تذكر اسمه جيدا.",
|
"introduction.welcome.text": "مرحبا بكم على الفديفرس! بعد لحظات قليلة ، سيكون بمقدوركم بث رسائل والتحدث إلى أصدقائكم عبر تشكيلة واسعة من الخوادم المختلفة. هذا الخادم ، {domain} ، يستضيف صفحتكم التعريفية ، لذا يجب تذكر اسمه جيدا.",
|
||||||
"keyboard_shortcuts.back": "للعودة",
|
"keyboard_shortcuts.back": "للعودة",
|
||||||
"keyboard_shortcuts.blocked": "لفتح قائمة المستخدمين المحظورين",
|
"keyboard_shortcuts.blocked": "لفتح قائمة المستخدمين المحظورين",
|
||||||
"keyboard_shortcuts.boost": "للترقية",
|
"keyboard_shortcuts.boost": "للترقية",
|
||||||
|
@ -214,10 +214,10 @@
|
||||||
"keyboard_shortcuts.local": "لفتح الخيط العام المحلي",
|
"keyboard_shortcuts.local": "لفتح الخيط العام المحلي",
|
||||||
"keyboard_shortcuts.mention": "لذِكر الناشر",
|
"keyboard_shortcuts.mention": "لذِكر الناشر",
|
||||||
"keyboard_shortcuts.muted": "لفتح قائمة المستخدِمين المكتومين",
|
"keyboard_shortcuts.muted": "لفتح قائمة المستخدِمين المكتومين",
|
||||||
"keyboard_shortcuts.my_profile": "لفتح ملفك الشخصي",
|
"keyboard_shortcuts.my_profile": "لفتح ملفك التعريفي",
|
||||||
"keyboard_shortcuts.notifications": "لفتح عمود الإشعارات",
|
"keyboard_shortcuts.notifications": "لفتح عمود الإشعارات",
|
||||||
"keyboard_shortcuts.pinned": "لفتح قائمة التبويقات المدبسة",
|
"keyboard_shortcuts.pinned": "لفتح قائمة التبويقات المدبسة",
|
||||||
"keyboard_shortcuts.profile": "لفتح رابط الناشر",
|
"keyboard_shortcuts.profile": "لفتح الملف التعريفي للناشر",
|
||||||
"keyboard_shortcuts.reply": "للردّ",
|
"keyboard_shortcuts.reply": "للردّ",
|
||||||
"keyboard_shortcuts.requests": "لفتح قائمة طلبات المتابعة",
|
"keyboard_shortcuts.requests": "لفتح قائمة طلبات المتابعة",
|
||||||
"keyboard_shortcuts.search": "للتركيز على البحث",
|
"keyboard_shortcuts.search": "للتركيز على البحث",
|
||||||
|
@ -253,7 +253,7 @@
|
||||||
"navigation_bar.direct": "الرسائل المباشِرة",
|
"navigation_bar.direct": "الرسائل المباشِرة",
|
||||||
"navigation_bar.discover": "اكتشف",
|
"navigation_bar.discover": "اكتشف",
|
||||||
"navigation_bar.domain_blocks": "النطاقات المخفية",
|
"navigation_bar.domain_blocks": "النطاقات المخفية",
|
||||||
"navigation_bar.edit_profile": "تعديل الملف الشخصي",
|
"navigation_bar.edit_profile": "عدّل الملف التعريفي",
|
||||||
"navigation_bar.favourites": "المفضلة",
|
"navigation_bar.favourites": "المفضلة",
|
||||||
"navigation_bar.filters": "الكلمات المكتومة",
|
"navigation_bar.filters": "الكلمات المكتومة",
|
||||||
"navigation_bar.follow_requests": "طلبات المتابعة",
|
"navigation_bar.follow_requests": "طلبات المتابعة",
|
||||||
|
@ -355,7 +355,7 @@
|
||||||
"status.mute": "أكتم @{name}",
|
"status.mute": "أكتم @{name}",
|
||||||
"status.mute_conversation": "كتم المحادثة",
|
"status.mute_conversation": "كتم المحادثة",
|
||||||
"status.open": "وسع هذه المشاركة",
|
"status.open": "وسع هذه المشاركة",
|
||||||
"status.pin": "تدبيس على الملف الشخصي",
|
"status.pin": "دبّسه على الصفحة التعريفية",
|
||||||
"status.pinned": "تبويق مثبَّت",
|
"status.pinned": "تبويق مثبَّت",
|
||||||
"status.read_more": "اقرأ المزيد",
|
"status.read_more": "اقرأ المزيد",
|
||||||
"status.reblog": "رَقِّي",
|
"status.reblog": "رَقِّي",
|
||||||
|
@ -375,7 +375,7 @@
|
||||||
"status.show_thread": "الكشف عن المحادثة",
|
"status.show_thread": "الكشف عن المحادثة",
|
||||||
"status.uncached_media_warning": "غير متوفر",
|
"status.uncached_media_warning": "غير متوفر",
|
||||||
"status.unmute_conversation": "فك الكتم عن المحادثة",
|
"status.unmute_conversation": "فك الكتم عن المحادثة",
|
||||||
"status.unpin": "فك التدبيس من الملف الشخصي",
|
"status.unpin": "فك التدبيس من الصفحة التعريفية",
|
||||||
"suggestions.dismiss": "إلغاء الاقتراح",
|
"suggestions.dismiss": "إلغاء الاقتراح",
|
||||||
"suggestions.header": "يمكن أن يهمك…",
|
"suggestions.header": "يمكن أن يهمك…",
|
||||||
"tabs_bar.federated_timeline": "الموحَّد",
|
"tabs_bar.federated_timeline": "الموحَّد",
|
||||||
|
@ -404,7 +404,7 @@
|
||||||
"upload_modal.detect_text": "Detect text from picture",
|
"upload_modal.detect_text": "Detect text from picture",
|
||||||
"upload_modal.edit_media": "تعديل الوسائط",
|
"upload_modal.edit_media": "تعديل الوسائط",
|
||||||
"upload_modal.hint": "Click or drag the circle on the preview to choose the focal point which will always be in view on all thumbnails.",
|
"upload_modal.hint": "Click or drag the circle on the preview to choose the focal point which will always be in view on all thumbnails.",
|
||||||
"upload_modal.preview_label": "Preview ({ratio})",
|
"upload_modal.preview_label": "معاينة ({ratio})",
|
||||||
"upload_progress.label": "يرفع...",
|
"upload_progress.label": "يرفع...",
|
||||||
"video.close": "إغلاق الفيديو",
|
"video.close": "إغلاق الفيديو",
|
||||||
"video.exit_fullscreen": "الخروج من وضع الشاشة المليئة",
|
"video.exit_fullscreen": "الخروج من وضع الشاشة المليئة",
|
||||||
|
|
|
@ -111,10 +111,10 @@
|
||||||
"confirmations.reply.message": "Risponde avà sguasserà u missaghju chì scrivite. Site sicuru·a chì vulete cuntinuà?",
|
"confirmations.reply.message": "Risponde avà sguasserà u missaghju chì scrivite. Site sicuru·a chì vulete cuntinuà?",
|
||||||
"confirmations.unfollow.confirm": "Disabbunassi",
|
"confirmations.unfollow.confirm": "Disabbunassi",
|
||||||
"confirmations.unfollow.message": "Site sicuru·a ch'ùn vulete più siguità @{name}?",
|
"confirmations.unfollow.message": "Site sicuru·a ch'ùn vulete più siguità @{name}?",
|
||||||
"conversation.delete": "Delete conversation",
|
"conversation.delete": "Sguassà a cunversazione",
|
||||||
"conversation.mark_as_read": "Mark as read",
|
"conversation.mark_as_read": "Marcà cum'è lettu",
|
||||||
"conversation.open": "View conversation",
|
"conversation.open": "Vede a cunversazione",
|
||||||
"conversation.with": "With {names}",
|
"conversation.with": "Cù {names}",
|
||||||
"directory.federated": "Da u fediverse cunisciutu",
|
"directory.federated": "Da u fediverse cunisciutu",
|
||||||
"directory.local": "Solu da {domain}",
|
"directory.local": "Solu da {domain}",
|
||||||
"directory.new_arrivals": "Ultimi arrivi",
|
"directory.new_arrivals": "Ultimi arrivi",
|
||||||
|
|
|
@ -4,7 +4,7 @@
|
||||||
"account.block": "Blocio @{name}",
|
"account.block": "Blocio @{name}",
|
||||||
"account.block_domain": "Cuddio popeth rhag {domain}",
|
"account.block_domain": "Cuddio popeth rhag {domain}",
|
||||||
"account.blocked": "Blociwyd",
|
"account.blocked": "Blociwyd",
|
||||||
"account.cancel_follow_request": "Cancel follow request",
|
"account.cancel_follow_request": "Canslo cais dilyn",
|
||||||
"account.direct": "Neges breifat @{name}",
|
"account.direct": "Neges breifat @{name}",
|
||||||
"account.domain_blocked": "Parth wedi ei guddio",
|
"account.domain_blocked": "Parth wedi ei guddio",
|
||||||
"account.edit_profile": "Golygu proffil",
|
"account.edit_profile": "Golygu proffil",
|
||||||
|
@ -16,7 +16,7 @@
|
||||||
"account.follows.empty": "Nid yw'r defnyddiwr hwn yn dilyn unrhyw un eto.",
|
"account.follows.empty": "Nid yw'r defnyddiwr hwn yn dilyn unrhyw un eto.",
|
||||||
"account.follows_you": "Yn eich dilyn chi",
|
"account.follows_you": "Yn eich dilyn chi",
|
||||||
"account.hide_reblogs": "Cuddio bwstiau o @{name}",
|
"account.hide_reblogs": "Cuddio bwstiau o @{name}",
|
||||||
"account.last_status": "Last active",
|
"account.last_status": "Gweithredol olaf",
|
||||||
"account.link_verified_on": "Gwiriwyd perchnogaeth y ddolen yma ar {date}",
|
"account.link_verified_on": "Gwiriwyd perchnogaeth y ddolen yma ar {date}",
|
||||||
"account.locked_info": "Mae'r statws preifatrwydd cyfrif hwn wedi'i osod i gloi. Mae'r perchennog yn adolygu'r sawl sy'n gallu eu dilyn.",
|
"account.locked_info": "Mae'r statws preifatrwydd cyfrif hwn wedi'i osod i gloi. Mae'r perchennog yn adolygu'r sawl sy'n gallu eu dilyn.",
|
||||||
"account.media": "Cyfryngau",
|
"account.media": "Cyfryngau",
|
||||||
|
@ -38,11 +38,11 @@
|
||||||
"account.unfollow": "Dad-ddilyn",
|
"account.unfollow": "Dad-ddilyn",
|
||||||
"account.unmute": "Dad-dawelu @{name}",
|
"account.unmute": "Dad-dawelu @{name}",
|
||||||
"account.unmute_notifications": "Dad-dawelu hysbysiadau o @{name}",
|
"account.unmute_notifications": "Dad-dawelu hysbysiadau o @{name}",
|
||||||
"alert.rate_limited.message": "Please retry after {retry_time, time, medium}.",
|
"alert.rate_limited.message": "Ceisiwch eto ar ôl {retry_time, time, medium}.",
|
||||||
"alert.rate_limited.title": "Rate limited",
|
"alert.rate_limited.title": "Cyfradd gyfyngedig",
|
||||||
"alert.unexpected.message": "Digwyddodd gwall annisgwyl.",
|
"alert.unexpected.message": "Digwyddodd gwall annisgwyl.",
|
||||||
"alert.unexpected.title": "Wps!",
|
"alert.unexpected.title": "Wps!",
|
||||||
"autosuggest_hashtag.per_week": "{count} per week",
|
"autosuggest_hashtag.per_week": "{count} yr wythnos",
|
||||||
"boost_modal.combo": "Mae modd gwasgu {combo} er mwyn sgipio hyn tro nesa",
|
"boost_modal.combo": "Mae modd gwasgu {combo} er mwyn sgipio hyn tro nesa",
|
||||||
"bundle_column_error.body": "Aeth rhywbeth o'i le tra'n llwytho'r elfen hon.",
|
"bundle_column_error.body": "Aeth rhywbeth o'i le tra'n llwytho'r elfen hon.",
|
||||||
"bundle_column_error.retry": "Ceisiwch eto",
|
"bundle_column_error.retry": "Ceisiwch eto",
|
||||||
|
@ -53,7 +53,7 @@
|
||||||
"column.blocks": "Defnyddwyr a flociwyd",
|
"column.blocks": "Defnyddwyr a flociwyd",
|
||||||
"column.community": "Ffrwd lleol",
|
"column.community": "Ffrwd lleol",
|
||||||
"column.direct": "Negeseuon preifat",
|
"column.direct": "Negeseuon preifat",
|
||||||
"column.directory": "Browse profiles",
|
"column.directory": "Pori proffiliau",
|
||||||
"column.domain_blocks": "Parthau cuddiedig",
|
"column.domain_blocks": "Parthau cuddiedig",
|
||||||
"column.favourites": "Ffefrynnau",
|
"column.favourites": "Ffefrynnau",
|
||||||
"column.follow_requests": "Ceisiadau dilyn",
|
"column.follow_requests": "Ceisiadau dilyn",
|
||||||
|
@ -102,7 +102,7 @@
|
||||||
"confirmations.domain_block.confirm": "Cuddio parth cyfan",
|
"confirmations.domain_block.confirm": "Cuddio parth cyfan",
|
||||||
"confirmations.domain_block.message": "A ydych yn hollol, hollol sicr eich bod am flocio y {domain} cyfan? Yn y nifer helaeth o achosion mae blocio neu tawelu ambell gyfrif yn ddigonol ac yn well. Ni fyddwch yn gweld cynnwys o'r parth hwnnw mewn unrhyw ffrydiau cyhoeddus na chwaith yn eich hysbysiadau. Bydd hyn yn cael gwared o'ch dilynwyr o'r parth hwnnw.",
|
"confirmations.domain_block.message": "A ydych yn hollol, hollol sicr eich bod am flocio y {domain} cyfan? Yn y nifer helaeth o achosion mae blocio neu tawelu ambell gyfrif yn ddigonol ac yn well. Ni fyddwch yn gweld cynnwys o'r parth hwnnw mewn unrhyw ffrydiau cyhoeddus na chwaith yn eich hysbysiadau. Bydd hyn yn cael gwared o'ch dilynwyr o'r parth hwnnw.",
|
||||||
"confirmations.logout.confirm": "Allgofnodi",
|
"confirmations.logout.confirm": "Allgofnodi",
|
||||||
"confirmations.logout.message": "Are you sure you want to log out?",
|
"confirmations.logout.message": "Ydych chi'n siŵr eich bod am allgofnodi?",
|
||||||
"confirmations.mute.confirm": "Tawelu",
|
"confirmations.mute.confirm": "Tawelu",
|
||||||
"confirmations.mute.message": "Ydych chi'n sicr eich bod am ddistewi {name}?",
|
"confirmations.mute.message": "Ydych chi'n sicr eich bod am ddistewi {name}?",
|
||||||
"confirmations.redraft.confirm": "Dileu & ailddrafftio",
|
"confirmations.redraft.confirm": "Dileu & ailddrafftio",
|
||||||
|
@ -111,14 +111,14 @@
|
||||||
"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.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.confirm": "Dad-ddilynwch",
|
||||||
"confirmations.unfollow.message": "Ydych chi'n sicr eich bod am ddad-ddilyn {name}?",
|
"confirmations.unfollow.message": "Ydych chi'n sicr eich bod am ddad-ddilyn {name}?",
|
||||||
"conversation.delete": "Delete conversation",
|
"conversation.delete": "Dileu sgwrs",
|
||||||
"conversation.mark_as_read": "Nodi fel wedi'i ddarllen",
|
"conversation.mark_as_read": "Nodi fel wedi'i ddarllen",
|
||||||
"conversation.open": "View conversation",
|
"conversation.open": "Gweld sgwrs",
|
||||||
"conversation.with": "With {names}",
|
"conversation.with": "Gyda {names}",
|
||||||
"directory.federated": "From known fediverse",
|
"directory.federated": "O ffedysawd hysbys",
|
||||||
"directory.local": "From {domain} only",
|
"directory.local": "O {domain} yn unig",
|
||||||
"directory.new_arrivals": "New arrivals",
|
"directory.new_arrivals": "Newydd-ddyfodiaid",
|
||||||
"directory.recently_active": "Recently active",
|
"directory.recently_active": "Yn weithredol yn ddiweddar",
|
||||||
"embed.instructions": "Mewnblannwch y tŵt 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:",
|
"embed.preview": "Dyma sut olwg fydd arno:",
|
||||||
"emoji_button.activity": "Gweithgarwch",
|
"emoji_button.activity": "Gweithgarwch",
|
||||||
|
@ -174,7 +174,7 @@
|
||||||
"home.column_settings.basic": "Syml",
|
"home.column_settings.basic": "Syml",
|
||||||
"home.column_settings.show_reblogs": "Dangos bŵstiau",
|
"home.column_settings.show_reblogs": "Dangos bŵstiau",
|
||||||
"home.column_settings.show_replies": "Dangos ymatebion",
|
"home.column_settings.show_replies": "Dangos ymatebion",
|
||||||
"home.column_settings.update_live": "Update in real-time",
|
"home.column_settings.update_live": "Diweddariad mewn amser real",
|
||||||
"intervals.full.days": "{number, plural, one {# ddydd} other {# o ddyddiau}}",
|
"intervals.full.days": "{number, plural, one {# ddydd} other {# o ddyddiau}}",
|
||||||
"intervals.full.hours": "{number, plural, one {# awr} other {# o oriau}}",
|
"intervals.full.hours": "{number, plural, one {# awr} other {# o oriau}}",
|
||||||
"intervals.full.minutes": "{number, plural, one {# funud} other {# o funudau}}",
|
"intervals.full.minutes": "{number, plural, one {# funud} other {# o funudau}}",
|
||||||
|
@ -240,7 +240,7 @@
|
||||||
"lists.new.title_placeholder": "Teitl rhestr newydd",
|
"lists.new.title_placeholder": "Teitl rhestr newydd",
|
||||||
"lists.search": "Chwilio ymysg pobl yr ydych yn ei ddilyn",
|
"lists.search": "Chwilio ymysg pobl yr ydych yn ei ddilyn",
|
||||||
"lists.subheading": "Eich rhestrau",
|
"lists.subheading": "Eich rhestrau",
|
||||||
"load_pending": "{count, plural, one {# new item} other {# new items}}",
|
"load_pending": "{count, plural, one {# eitem newydd} other {# eitemau newydd}}",
|
||||||
"loading_indicator.label": "Llwytho...",
|
"loading_indicator.label": "Llwytho...",
|
||||||
"media_gallery.toggle_visible": "Toglo gwelededd",
|
"media_gallery.toggle_visible": "Toglo gwelededd",
|
||||||
"missing_indicator.label": "Heb ei ganfod",
|
"missing_indicator.label": "Heb ei ganfod",
|
||||||
|
@ -268,7 +268,7 @@
|
||||||
"navigation_bar.preferences": "Dewisiadau",
|
"navigation_bar.preferences": "Dewisiadau",
|
||||||
"navigation_bar.public_timeline": "Ffrwd y ffederasiwn",
|
"navigation_bar.public_timeline": "Ffrwd y ffederasiwn",
|
||||||
"navigation_bar.security": "Diogelwch",
|
"navigation_bar.security": "Diogelwch",
|
||||||
"notification.and_n_others": "and {count, plural, one {# other} other {# others}}",
|
"notification.and_n_others": "a {count, plural, one {# arall} other {# eraill}}",
|
||||||
"notification.favourite": "hoffodd {name} eich tŵt",
|
"notification.favourite": "hoffodd {name} eich tŵt",
|
||||||
"notification.follow": "dilynodd {name} chi",
|
"notification.follow": "dilynodd {name} chi",
|
||||||
"notification.mention": "Soniodd {name} amdanoch chi",
|
"notification.mention": "Soniodd {name} amdanoch chi",
|
||||||
|
@ -334,7 +334,7 @@
|
||||||
"search_results.accounts": "Pobl",
|
"search_results.accounts": "Pobl",
|
||||||
"search_results.hashtags": "Hanshnodau",
|
"search_results.hashtags": "Hanshnodau",
|
||||||
"search_results.statuses": "Tŵtiau",
|
"search_results.statuses": "Tŵtiau",
|
||||||
"search_results.statuses_fts_disabled": "Searching toots by their content is not enabled on this Mastodon server.",
|
"search_results.statuses_fts_disabled": "Nid yw chwilio Tŵtiau yn ôl eu cynnwys wedi'i alluogi ar y gweinydd Mastodon hwn.",
|
||||||
"search_results.total": "{count, number} {count, plural, one {result} other {results}}",
|
"search_results.total": "{count, number} {count, plural, one {result} other {results}}",
|
||||||
"status.admin_account": "Agor rhyngwyneb goruwchwylio ar gyfer @{name}",
|
"status.admin_account": "Agor rhyngwyneb goruwchwylio ar gyfer @{name}",
|
||||||
"status.admin_status": "Agor y tŵt yn y rhyngwyneb goruwchwylio",
|
"status.admin_status": "Agor y tŵt yn y rhyngwyneb goruwchwylio",
|
||||||
|
@ -373,7 +373,7 @@
|
||||||
"status.show_more": "Dangos mwy",
|
"status.show_more": "Dangos mwy",
|
||||||
"status.show_more_all": "Dangos mwy i bawb",
|
"status.show_more_all": "Dangos mwy i bawb",
|
||||||
"status.show_thread": "Dangos edefyn",
|
"status.show_thread": "Dangos edefyn",
|
||||||
"status.uncached_media_warning": "Not available",
|
"status.uncached_media_warning": "Dim ar gael",
|
||||||
"status.unmute_conversation": "Dad-dawelu sgwrs",
|
"status.unmute_conversation": "Dad-dawelu sgwrs",
|
||||||
"status.unpin": "Dadbinio o'r proffil",
|
"status.unpin": "Dadbinio o'r proffil",
|
||||||
"suggestions.dismiss": "Diswyddo",
|
"suggestions.dismiss": "Diswyddo",
|
||||||
|
@ -389,7 +389,7 @@
|
||||||
"time_remaining.moments": "Munudau ar ôl",
|
"time_remaining.moments": "Munudau ar ôl",
|
||||||
"time_remaining.seconds": "{number, plural, one {# eiliad} other {# o eiliadau}} ar ôl",
|
"time_remaining.seconds": "{number, plural, one {# eiliad} other {# o eiliadau}} ar ôl",
|
||||||
"trends.count_by_accounts": "{count} {rawCount, plural, one {person} other {people}} yn siarad",
|
"trends.count_by_accounts": "{count} {rawCount, plural, one {person} other {people}} yn siarad",
|
||||||
"trends.trending_now": "Trending now",
|
"trends.trending_now": "Yn tueddu nawr",
|
||||||
"ui.beforeunload": "Mi fyddwch yn colli eich drafft os gadewch Mastodon.",
|
"ui.beforeunload": "Mi fyddwch yn colli eich drafft os gadewch Mastodon.",
|
||||||
"upload_area.title": "Llusgwch & gollwing i uwchlwytho",
|
"upload_area.title": "Llusgwch & gollwing i uwchlwytho",
|
||||||
"upload_button.label": "Ychwanegwch gyfryngau (JPEG, PNG, GIF, WebM, MP4, MOV)",
|
"upload_button.label": "Ychwanegwch gyfryngau (JPEG, PNG, GIF, WebM, MP4, MOV)",
|
||||||
|
@ -398,13 +398,13 @@
|
||||||
"upload_form.description": "Disgrifio i'r rheini a nam ar ei golwg",
|
"upload_form.description": "Disgrifio i'r rheini a nam ar ei golwg",
|
||||||
"upload_form.edit": "Golygu",
|
"upload_form.edit": "Golygu",
|
||||||
"upload_form.undo": "Dileu",
|
"upload_form.undo": "Dileu",
|
||||||
"upload_modal.analyzing_picture": "Analyzing picture…",
|
"upload_modal.analyzing_picture": "Dadansoddi llun…",
|
||||||
"upload_modal.apply": "Apply",
|
"upload_modal.apply": "Gweithredu",
|
||||||
"upload_modal.description_placeholder": "A quick brown fox jumps over the lazy dog",
|
"upload_modal.description_placeholder": "Mae ei phen bach llawn jocs, 'run peth a fy nghot golff, rhai dyddiau",
|
||||||
"upload_modal.detect_text": "Detect text from picture",
|
"upload_modal.detect_text": "Canfod testun o'r llun",
|
||||||
"upload_modal.edit_media": "Edit media",
|
"upload_modal.edit_media": "Golygu cyfryngau",
|
||||||
"upload_modal.hint": "Click or drag the circle on the preview to choose the focal point which will always be in view on all thumbnails.",
|
"upload_modal.hint": "Cliciwch neu llusgwch y cylch ar y rhagolwg i ddewis y canolbwynt a fydd bob amser i'w weld ar bob mân-lunau.",
|
||||||
"upload_modal.preview_label": "Preview ({ratio})",
|
"upload_modal.preview_label": "Rhagolwg ({ratio})",
|
||||||
"upload_progress.label": "Uwchlwytho...",
|
"upload_progress.label": "Uwchlwytho...",
|
||||||
"video.close": "Cau fideo",
|
"video.close": "Cau fideo",
|
||||||
"video.exit_fullscreen": "Gadael sgrîn llawn",
|
"video.exit_fullscreen": "Gadael sgrîn llawn",
|
||||||
|
|
|
@ -1,7 +1,7 @@
|
||||||
{
|
{
|
||||||
"account.add_or_remove_from_list": "Προσθήκη ή Αφαίρεση από λίστες",
|
"account.add_or_remove_from_list": "Προσθήκη ή Αφαίρεση από λίστες",
|
||||||
"account.badges.bot": "Μποτ",
|
"account.badges.bot": "Μποτ",
|
||||||
"account.block": "Αποκλισμός @{name}",
|
"account.block": "Αποκλεισμός @{name}",
|
||||||
"account.block_domain": "Απόκρυψε τα πάντα από το {domain}",
|
"account.block_domain": "Απόκρυψε τα πάντα από το {domain}",
|
||||||
"account.blocked": "Αποκλεισμένος/η",
|
"account.blocked": "Αποκλεισμένος/η",
|
||||||
"account.cancel_follow_request": "Ακύρωση αιτήματος παρακολούθησης",
|
"account.cancel_follow_request": "Ακύρωση αιτήματος παρακολούθησης",
|
||||||
|
@ -111,10 +111,10 @@
|
||||||
"confirmations.reply.message": "Απαντώντας τώρα θα αντικαταστήσεις το κείμενο που ήδη γράφεις. Σίγουρα θέλεις να συνεχίσεις;",
|
"confirmations.reply.message": "Απαντώντας τώρα θα αντικαταστήσεις το κείμενο που ήδη γράφεις. Σίγουρα θέλεις να συνεχίσεις;",
|
||||||
"confirmations.unfollow.confirm": "Διακοπή παρακολούθησης",
|
"confirmations.unfollow.confirm": "Διακοπή παρακολούθησης",
|
||||||
"confirmations.unfollow.message": "Σίγουρα θες να πάψεις να ακολουθείς τον/την {name};",
|
"confirmations.unfollow.message": "Σίγουρα θες να πάψεις να ακολουθείς τον/την {name};",
|
||||||
"conversation.delete": "Delete conversation",
|
"conversation.delete": "Διαγραφή συζήτησης",
|
||||||
"conversation.mark_as_read": "Mark as read",
|
"conversation.mark_as_read": "Σήμανση ως αναγνωσμένο",
|
||||||
"conversation.open": "View conversation",
|
"conversation.open": "Προβολή συνομιλίας",
|
||||||
"conversation.with": "With {names}",
|
"conversation.with": "Με {names}",
|
||||||
"directory.federated": "Από το γνωστό fediverse",
|
"directory.federated": "Από το γνωστό fediverse",
|
||||||
"directory.local": "Μόνο από {domain}",
|
"directory.local": "Μόνο από {domain}",
|
||||||
"directory.new_arrivals": "Νέες αφίξεις",
|
"directory.new_arrivals": "Νέες αφίξεις",
|
||||||
|
@ -131,7 +131,7 @@
|
||||||
"emoji_button.objects": "Αντικείμενα",
|
"emoji_button.objects": "Αντικείμενα",
|
||||||
"emoji_button.people": "Άνθρωποι",
|
"emoji_button.people": "Άνθρωποι",
|
||||||
"emoji_button.recent": "Δημοφιλή",
|
"emoji_button.recent": "Δημοφιλή",
|
||||||
"emoji_button.search": "Αναζήτηση…",
|
"emoji_button.search": "Αναζήτηση...",
|
||||||
"emoji_button.search_results": "Αποτελέσματα αναζήτησης",
|
"emoji_button.search_results": "Αποτελέσματα αναζήτησης",
|
||||||
"emoji_button.symbols": "Σύμβολα",
|
"emoji_button.symbols": "Σύμβολα",
|
||||||
"emoji_button.travel": "Ταξίδια & Τοποθεσίες",
|
"emoji_button.travel": "Ταξίδια & Τοποθεσίες",
|
||||||
|
@ -392,7 +392,7 @@
|
||||||
"trends.trending_now": "Δημοφιλή τώρα",
|
"trends.trending_now": "Δημοφιλή τώρα",
|
||||||
"ui.beforeunload": "Το προσχέδιό σου θα χαθεί αν φύγεις από το Mastodon.",
|
"ui.beforeunload": "Το προσχέδιό σου θα χαθεί αν φύγεις από το Mastodon.",
|
||||||
"upload_area.title": "Drag & drop για να ανεβάσεις",
|
"upload_area.title": "Drag & drop για να ανεβάσεις",
|
||||||
"upload_button.label": "Πρόσθεσε πολυμέσα (JPEG, PNG, GIF, WebM, MP4, MOV)",
|
"upload_button.label": "Πρόσθεσε πολυμέσα ({formats})",
|
||||||
"upload_error.limit": "Υπέρβαση ορίου μεγέθους ανεβασμένων αρχείων.",
|
"upload_error.limit": "Υπέρβαση ορίου μεγέθους ανεβασμένων αρχείων.",
|
||||||
"upload_error.poll": "Στις δημοσκοπήσεις δεν επιτρέπεται η μεταφόρτωση αρχείου.",
|
"upload_error.poll": "Στις δημοσκοπήσεις δεν επιτρέπεται η μεταφόρτωση αρχείου.",
|
||||||
"upload_form.description": "Περιέγραψε για όσους & όσες έχουν προβλήματα όρασης",
|
"upload_form.description": "Περιέγραψε για όσους & όσες έχουν προβλήματα όρασης",
|
||||||
|
|
|
@ -1,5 +1,5 @@
|
||||||
{
|
{
|
||||||
"account.add_or_remove_from_list": "Agregar o eliminar de listas",
|
"account.add_or_remove_from_list": "Agregar o quitar de las listas",
|
||||||
"account.badges.bot": "Bot",
|
"account.badges.bot": "Bot",
|
||||||
"account.block": "Bloquear a @{name}",
|
"account.block": "Bloquear a @{name}",
|
||||||
"account.block_domain": "Ocultar todo de {domain}",
|
"account.block_domain": "Ocultar todo de {domain}",
|
||||||
|
@ -8,126 +8,126 @@
|
||||||
"account.direct": "Mensaje directo a @{name}",
|
"account.direct": "Mensaje directo a @{name}",
|
||||||
"account.domain_blocked": "Dominio oculto",
|
"account.domain_blocked": "Dominio oculto",
|
||||||
"account.edit_profile": "Editar perfil",
|
"account.edit_profile": "Editar perfil",
|
||||||
"account.endorse": "Mostrar en perfil",
|
"account.endorse": "Destacar en el perfil",
|
||||||
"account.follow": "Seguir",
|
"account.follow": "Seguir",
|
||||||
"account.followers": "Seguidores",
|
"account.followers": "Seguidores",
|
||||||
"account.followers.empty": "Todavía nadie sigue a este usuario.",
|
"account.followers.empty": "Todavía nadie sigue a este usuario.",
|
||||||
"account.follows": "Sigue",
|
"account.follows": "Sigue",
|
||||||
"account.follows.empty": "Este usuario todavía no sigue a nadie.",
|
"account.follows.empty": "Todavía este usuario no sigue a nadie.",
|
||||||
"account.follows_you": "Te sigue",
|
"account.follows_you": "Te sigue",
|
||||||
"account.hide_reblogs": "Ocultar retoots de @{name}",
|
"account.hide_reblogs": "Ocultar retoots de @{name}",
|
||||||
"account.last_status": "Última actividad",
|
"account.last_status": "Última actividad",
|
||||||
"account.link_verified_on": "El proprietario de este link fue comprobado el {date}",
|
"account.link_verified_on": "La propiedad de este enlace fue verificada el {date}",
|
||||||
"account.locked_info": "El estado de privacidad de esta cuenta està configurado como bloqueado. El proprietario debe revisar manualmente quien puede seguirle.",
|
"account.locked_info": "El estado de privacidad de esta cuenta está establecido como bloqueado. El propietario manualmente revisa quién puede seguirle.",
|
||||||
"account.media": "Multimedia",
|
"account.media": "Medios",
|
||||||
"account.mention": "Mencionar a @{name}",
|
"account.mention": "Mencionar a @{name}",
|
||||||
"account.moved_to": "{name} se ha mudado a:",
|
"account.moved_to": "{name} se ha muó a:",
|
||||||
"account.mute": "Silenciar a @{name}",
|
"account.mute": "Silenciar a @{name}",
|
||||||
"account.mute_notifications": "Silenciar notificaciones de @{name}",
|
"account.mute_notifications": "Silenciar notificaciones de @{name}",
|
||||||
"account.muted": "Silenciado",
|
"account.muted": "Silenciado",
|
||||||
"account.never_active": "Nunca",
|
"account.never_active": "Nunca",
|
||||||
"account.posts": "Toots",
|
"account.posts": "Toots",
|
||||||
"account.posts_with_replies": "Toots con respuestas",
|
"account.posts_with_replies": "Toots con respuestas",
|
||||||
"account.report": "Reportar a @{name}",
|
"account.report": "Denunciar a @{name}",
|
||||||
"account.requested": "Esperando aprobación",
|
"account.requested": "Esperando aprobación. Hacé clic para cancelar la solicitud de seguimiento.",
|
||||||
"account.share": "Compartir el perfil de @{name}",
|
"account.share": "Compartir el perfil de @{name}",
|
||||||
"account.show_reblogs": "Mostrar retoots de @{name}",
|
"account.show_reblogs": "Mostrar retoots de @{name}",
|
||||||
"account.unblock": "Desbloquear a @{name}",
|
"account.unblock": "Desbloquear a @{name}",
|
||||||
"account.unblock_domain": "Mostrar a {domain}",
|
"account.unblock_domain": "Mostrar {domain}",
|
||||||
"account.unendorse": "No mostrar en el perfil",
|
"account.unendorse": "No destacar en el perfil",
|
||||||
"account.unfollow": "Dejar de seguir",
|
"account.unfollow": "Dejar de seguir",
|
||||||
"account.unmute": "Dejar de silenciar a @{name}",
|
"account.unmute": "Dejar de silenciar a @{name}",
|
||||||
"account.unmute_notifications": "Dejar de silenciar las notificaciones de @{name}",
|
"account.unmute_notifications": "Dejar de silenciar las notificaciones de @{name}",
|
||||||
"alert.rate_limited.message": "Por favor reintente después de {retry_time, time, medium}.",
|
"alert.rate_limited.message": "Por favor, reintentá después de las {retry_time, time, medium}.",
|
||||||
"alert.rate_limited.title": "Tarifa limitada",
|
"alert.rate_limited.title": "Tarifa limitada",
|
||||||
"alert.unexpected.message": "Hubo un error inesperado.",
|
"alert.unexpected.message": "Ocurrió un error inesperado.",
|
||||||
"alert.unexpected.title": "¡Ups!",
|
"alert.unexpected.title": "¡Epa!",
|
||||||
"autosuggest_hashtag.per_week": "{count} por semana",
|
"autosuggest_hashtag.per_week": "{count} por semana",
|
||||||
"boost_modal.combo": "Puedes hacer clic en {combo} para saltar este aviso la próxima vez",
|
"boost_modal.combo": "Podés hacer clic en {combo} para saltar esto la próxima vez",
|
||||||
"bundle_column_error.body": "Algo salió mal al cargar este componente.",
|
"bundle_column_error.body": "Algo salió mal al cargar este componente.",
|
||||||
"bundle_column_error.retry": "Inténtalo de nuevo",
|
"bundle_column_error.retry": "Intentá de nuevo",
|
||||||
"bundle_column_error.title": "Error de red",
|
"bundle_column_error.title": "Error de red",
|
||||||
"bundle_modal_error.close": "Cerrar",
|
"bundle_modal_error.close": "Cerrar",
|
||||||
"bundle_modal_error.message": "Algo salió mal al cargar este componente.",
|
"bundle_modal_error.message": "Algo salió mal al cargar este componente.",
|
||||||
"bundle_modal_error.retry": "Inténtalo de nuevo",
|
"bundle_modal_error.retry": "Intentá de nuevo",
|
||||||
"column.blocks": "Usuarios bloqueados",
|
"column.blocks": "Usuarios bloqueados",
|
||||||
"column.community": "Línea de tiempo local",
|
"column.community": "Línea temporal local",
|
||||||
"column.direct": "Mensajes directos",
|
"column.direct": "Mensajes directos",
|
||||||
"column.directory": "Buscar perfiles",
|
"column.directory": "Explorar perfiles",
|
||||||
"column.domain_blocks": "Dominios ocultados",
|
"column.domain_blocks": "Dominios ocultos",
|
||||||
"column.favourites": "Favoritos",
|
"column.favourites": "Favoritos",
|
||||||
"column.follow_requests": "Solicitudes de seguimiento",
|
"column.follow_requests": "Solicitudes de seguimiento",
|
||||||
"column.home": "Inicio",
|
"column.home": "Principal",
|
||||||
"column.lists": "Listas",
|
"column.lists": "Listas",
|
||||||
"column.mutes": "Usuarios silenciados",
|
"column.mutes": "Usuarios silenciados",
|
||||||
"column.notifications": "Notificaciones",
|
"column.notifications": "Notificaciones",
|
||||||
"column.pins": "Toots fijados",
|
"column.pins": "Toots fijados",
|
||||||
"column.public": "Línea de tiempo federada",
|
"column.public": "Línea temporal federada",
|
||||||
"column.status": "Toot",
|
"column.status": "Toot",
|
||||||
"column_back_button.label": "Atrás",
|
"column_back_button.label": "Volver",
|
||||||
"column_header.hide_settings": "Ocultar configuración",
|
"column_header.hide_settings": "Ocultar configuración",
|
||||||
"column_header.moveLeft_settings": "Mover columna a la izquierda",
|
"column_header.moveLeft_settings": "Mover columna a la izquierda",
|
||||||
"column_header.moveRight_settings": "Mover columna a la derecha",
|
"column_header.moveRight_settings": "Mover columna a la derecha",
|
||||||
"column_header.pin": "Fijar",
|
"column_header.pin": "Fijar",
|
||||||
"column_header.show_settings": "Mostrar ajustes",
|
"column_header.show_settings": "Mostrar configuración",
|
||||||
"column_header.unpin": "Dejar de fijar",
|
"column_header.unpin": "Dejar de fijar",
|
||||||
"column_subheading.settings": "Ajustes",
|
"column_subheading.settings": "Configuración",
|
||||||
"community.column_settings.media_only": "Solo media",
|
"community.column_settings.media_only": "Sólo medios",
|
||||||
"compose_form.direct_message_warning": "Este toot solo será enviado a los usuarios mencionados.",
|
"compose_form.direct_message_warning": "Este toot sólo será enviado a los usuarios mencionados.",
|
||||||
"compose_form.direct_message_warning_learn_more": "Aprender mas",
|
"compose_form.direct_message_warning_learn_more": "Aprendé más",
|
||||||
"compose_form.hashtag_warning": "Este toot no se mostrará bajo hashtags porque no es público. Sólo los toots públicos se pueden buscar por hashtag.",
|
"compose_form.hashtag_warning": "Este toot no se mostrará bajo hashtags porque no es público. Sólo los toots públicos se pueden buscar por hashtag.",
|
||||||
"compose_form.lock_disclaimer": "Tu cuenta no está bloqueada. Todos pueden seguirte para ver tus toots solo para seguidores.",
|
"compose_form.lock_disclaimer": "Tu cuenta no está {locked}. Todos pueden seguirte para ver tus toots marcados como \"sólo para seguidores\".",
|
||||||
"compose_form.lock_disclaimer.lock": "bloqueado",
|
"compose_form.lock_disclaimer.lock": "bloqueada",
|
||||||
"compose_form.placeholder": "¿En qué estás pensando?",
|
"compose_form.placeholder": "¿Qué onda?",
|
||||||
"compose_form.poll.add_option": "Añadir una opción",
|
"compose_form.poll.add_option": "Agregá una opción",
|
||||||
"compose_form.poll.duration": "Duración de la encuesta",
|
"compose_form.poll.duration": "Duración de la encuesta",
|
||||||
"compose_form.poll.option_placeholder": "Elección {number}",
|
"compose_form.poll.option_placeholder": "Opción {number}",
|
||||||
"compose_form.poll.remove_option": "Eliminar esta opción",
|
"compose_form.poll.remove_option": "Quitá esta opción",
|
||||||
"compose_form.publish": "Tootear",
|
"compose_form.publish": "Tootear",
|
||||||
"compose_form.publish_loud": "{publish}!",
|
"compose_form.publish_loud": "¡{publish}!",
|
||||||
"compose_form.sensitive.hide": "Marcar multimedia como sensible",
|
"compose_form.sensitive.hide": "Marcar medio como sensible",
|
||||||
"compose_form.sensitive.marked": "Material marcado como sensible",
|
"compose_form.sensitive.marked": "El medio se marcó como sensible",
|
||||||
"compose_form.sensitive.unmarked": "Material no marcado como sensible",
|
"compose_form.sensitive.unmarked": "El medio no está marcado como sensible",
|
||||||
"compose_form.spoiler.marked": "Texto oculto tras la advertencia",
|
"compose_form.spoiler.marked": "El texto está oculto detrás de la advertencia",
|
||||||
"compose_form.spoiler.unmarked": "Texto no oculto",
|
"compose_form.spoiler.unmarked": "El texto no está oculto",
|
||||||
"compose_form.spoiler_placeholder": "Advertencia de contenido",
|
"compose_form.spoiler_placeholder": "Escribí tu advertencia acá",
|
||||||
"confirmation_modal.cancel": "Cancelar",
|
"confirmation_modal.cancel": "Cancelar",
|
||||||
"confirmations.block.block_and_report": "Bloquear y Reportar",
|
"confirmations.block.block_and_report": "Bloquear y denunciar",
|
||||||
"confirmations.block.confirm": "Bloquear",
|
"confirmations.block.confirm": "Bloquear",
|
||||||
"confirmations.block.message": "¿Estás seguro de que quieres bloquear a {name}?",
|
"confirmations.block.message": "¿Estás seguro que querés bloquear a {name}?",
|
||||||
"confirmations.delete.confirm": "Eliminar",
|
"confirmations.delete.confirm": "Eliminar",
|
||||||
"confirmations.delete.message": "¿Estás seguro de que quieres borrar este toot?",
|
"confirmations.delete.message": "¿Estás seguro que querés eliminar este estado?",
|
||||||
"confirmations.delete_list.confirm": "Eliminar",
|
"confirmations.delete_list.confirm": "Eliminar",
|
||||||
"confirmations.delete_list.message": "¿Seguro que quieres borrar esta lista permanentemente?",
|
"confirmations.delete_list.message": "¿Estás seguro que querés eliminar permanentemente esta lista?",
|
||||||
"confirmations.domain_block.confirm": "Ocultar dominio entero",
|
"confirmations.domain_block.confirm": "Ocultar dominio entero",
|
||||||
"confirmations.domain_block.message": "¿Seguro de que quieres bloquear al dominio {domain} entero? En general unos cuantos bloqueos y silenciados concretos es suficiente y preferible.",
|
"confirmations.domain_block.message": "¿Estás completamente seguro que querés bloquear el {domain} entero? En la mayoría de los casos, unos cuantos bloqueos y silenciados puntuales son suficientes y preferibles. No vas a ver contenido de ese dominio en ninguna de tus líneas temporales o en tus notificaciones. Tus seguidores de ese dominio serán quitados.",
|
||||||
"confirmations.logout.confirm": "Cerrar sesión",
|
"confirmations.logout.confirm": "Cerrar sesión",
|
||||||
"confirmations.logout.message": "¿Estás seguro de querer cerrar la sesión?",
|
"confirmations.logout.message": "¿Estás seguro que querés cerrar la sesión?",
|
||||||
"confirmations.mute.confirm": "Silenciar",
|
"confirmations.mute.confirm": "Silenciar",
|
||||||
"confirmations.mute.message": "¿Estás seguro de que quieres silenciar a {name}?",
|
"confirmations.mute.message": "¿Estás seguro que querés silenciar a {name}?",
|
||||||
"confirmations.redraft.confirm": "Borrar y volver a borrador",
|
"confirmations.redraft.confirm": "Eliminar toot original y editarlo",
|
||||||
"confirmations.redraft.message": "Estás seguro de que quieres borrar este estado y volverlo a borrador? Perderás todas las respuestas, impulsos y favoritos asociados a él, y las respuestas a la publicación original quedarán huérfanos.",
|
"confirmations.redraft.message": "¿Estás seguro que querés eliminar este estado y volverlo a editarlo? Se perderán las veces marcadas como favoritos y los retoots, y las respuestas a la publicación original quedarán huérfanas.",
|
||||||
"confirmations.reply.confirm": "Responder",
|
"confirmations.reply.confirm": "Responder",
|
||||||
"confirmations.reply.message": "Responder sobrescribirá el mensaje que estás escribiendo. ¿Estás seguro de que deseas continuar?",
|
"confirmations.reply.message": "Responder ahora sobreescribirá el mensaje que estás redactando actualmente. ¿Estás seguro que querés seguir?",
|
||||||
"confirmations.unfollow.confirm": "Dejar de seguir",
|
"confirmations.unfollow.confirm": "Dejar de seguir",
|
||||||
"confirmations.unfollow.message": "¿Estás seguro de que quieres dejar de seguir a {name}?",
|
"confirmations.unfollow.message": "¿Estás seguro que querés dejar de seguir a {name}?",
|
||||||
"conversation.delete": "Borrar conversación",
|
"conversation.delete": "Eliminar conversación",
|
||||||
"conversation.mark_as_read": "Marcar como leído",
|
"conversation.mark_as_read": "Marcar como leído",
|
||||||
"conversation.open": "Ver conversación",
|
"conversation.open": "Ver conversación",
|
||||||
"conversation.with": "Con {names}",
|
"conversation.with": "Con {names}",
|
||||||
"directory.federated": "Desde el fediverso conocido",
|
"directory.federated": "Desde fediverso conocido",
|
||||||
"directory.local": "Sólo de {domain}",
|
"directory.local": "Sólo de {domain}",
|
||||||
"directory.new_arrivals": "Recién llegados",
|
"directory.new_arrivals": "Recién llegados",
|
||||||
"directory.recently_active": "Recientemente activo",
|
"directory.recently_active": "Recientemente activo",
|
||||||
"embed.instructions": "Añade este toot a tu sitio web con el siguiente código.",
|
"embed.instructions": "Insertá este toot a tu sitio web copiando el código de abajo.",
|
||||||
"embed.preview": "Así es como se verá:",
|
"embed.preview": "Así es cómo se verá:",
|
||||||
"emoji_button.activity": "Actividad",
|
"emoji_button.activity": "Actividad",
|
||||||
"emoji_button.custom": "Personalizado",
|
"emoji_button.custom": "Personalizado",
|
||||||
"emoji_button.flags": "Marcas",
|
"emoji_button.flags": "Banderas",
|
||||||
"emoji_button.food": "Comida y bebida",
|
"emoji_button.food": "Comida y bebida",
|
||||||
"emoji_button.label": "Insertar emoji",
|
"emoji_button.label": "Insertar emoji",
|
||||||
"emoji_button.nature": "Naturaleza",
|
"emoji_button.nature": "Naturaleza",
|
||||||
"emoji_button.not_found": "No hay emojos!! (╯°□°)╯︵ ┻━┻",
|
"emoji_button.not_found": "¡¡No emojos!! (╯°□°)╯︵ ┻━┻",
|
||||||
"emoji_button.objects": "Objetos",
|
"emoji_button.objects": "Objetos",
|
||||||
"emoji_button.people": "Gente",
|
"emoji_button.people": "Gente",
|
||||||
"emoji_button.recent": "Usados frecuentemente",
|
"emoji_button.recent": "Usados frecuentemente",
|
||||||
|
@ -137,282 +137,282 @@
|
||||||
"emoji_button.travel": "Viajes y lugares",
|
"emoji_button.travel": "Viajes y lugares",
|
||||||
"empty_column.account_timeline": "¡No hay toots aquí!",
|
"empty_column.account_timeline": "¡No hay toots aquí!",
|
||||||
"empty_column.account_unavailable": "Perfil no disponible",
|
"empty_column.account_unavailable": "Perfil no disponible",
|
||||||
"empty_column.blocks": "Aún no has bloqueado a ningún usuario.",
|
"empty_column.blocks": "Todavía no bloqueaste a ningún usuario.",
|
||||||
"empty_column.community": "La línea de tiempo local está vacía. ¡Escribe algo para empezar la fiesta!",
|
"empty_column.community": "La línea temporal local está vacía. ¡Escribí algo en modo público para que se empiece a correr la bola!",
|
||||||
"empty_column.direct": "Aún no tienes ningún mensaje directo. Cuando envíes o recibas uno, se mostrará aquí.",
|
"empty_column.direct": "Todavía no tenés ningún mensaje directo. Cuando enviés o recibás uno, se mostrará acá.",
|
||||||
"empty_column.domain_blocks": "Todavía no hay dominios ocultos.",
|
"empty_column.domain_blocks": "Todavía no hay dominios ocultos.",
|
||||||
"empty_column.favourited_statuses": "Aún no tienes toots preferidos. Cuando marques uno como favorito, aparecerá aquí.",
|
"empty_column.favourited_statuses": "Todavía no tenés toots favoritos. Cuando marqués uno como favorito, se mostrará acá.",
|
||||||
"empty_column.favourites": "Nadie ha marcado este toot como preferido. Cuando alguien lo haga, aparecerá aquí.",
|
"empty_column.favourites": "Todavía nadie marcó este toot como favorito. Cuando alguien lo haga, se mostrará acá.",
|
||||||
"empty_column.follow_requests": "No tienes ninguna petición de seguidor. Cuando recibas una, se mostrará aquí.",
|
"empty_column.follow_requests": "Todavía no tenés ninguna solicitud de seguimiento. Cuando recibás una, se mostrará acá.",
|
||||||
"empty_column.hashtag": "No hay nada en este hashtag aún.",
|
"empty_column.hashtag": "Todavía no hay nada con esta etiqueta.",
|
||||||
"empty_column.home": "No estás siguiendo a nadie aún. Visita {public} o haz búsquedas para empezar y conocer gente nueva.",
|
"empty_column.home": "¡Tu línea temporal principal está vacía! Visitá {public} o usá la búsqueda para comenzar y encontrar a otros usuarios.",
|
||||||
"empty_column.home.public_timeline": "la línea de tiempo pública",
|
"empty_column.home.public_timeline": "la línea temporal pública",
|
||||||
"empty_column.list": "No hay nada en esta lista aún. Cuando miembros de esta lista publiquen nuevos estatus, estos aparecerán qui.",
|
"empty_column.list": "Todavía no hay nada en esta lista. Cuando miembros de esta lista envíen nuevos toots, se mostrarán acá.",
|
||||||
"empty_column.lists": "No tienes ninguna lista. cuando crees una, se mostrará aquí.",
|
"empty_column.lists": "Todavía no tienes ninguna lista. Cuando creés una, se mostrará acá.",
|
||||||
"empty_column.mutes": "Aún no has silenciado a ningún usuario.",
|
"empty_column.mutes": "You haven't muted any users yet.",
|
||||||
"empty_column.notifications": "No tienes ninguna notificación aún. Interactúa con otros para empezar una conversación.",
|
"empty_column.notifications": "You don't have any notifications yet. Interact with others to start the conversation.",
|
||||||
"empty_column.public": "¡No hay nada aquí! Escribe algo públicamente, o sigue usuarios de otras instancias manualmente para llenarlo",
|
"empty_column.public": "There is nothing here! Write something publicly, or manually follow users from other servers to fill it up",
|
||||||
"follow_request.authorize": "Autorizar",
|
"follow_request.authorize": "Authorize",
|
||||||
"follow_request.reject": "Rechazar",
|
"follow_request.reject": "Reject",
|
||||||
"getting_started.developers": "Desarrolladores",
|
"getting_started.developers": "Developers",
|
||||||
"getting_started.directory": "Directorio de perfil",
|
"getting_started.directory": "Profile directory",
|
||||||
"getting_started.documentation": "Documentación",
|
"getting_started.documentation": "Documentation",
|
||||||
"getting_started.heading": "Primeros pasos",
|
"getting_started.heading": "Getting started",
|
||||||
"getting_started.invite": "Invitar usuarios",
|
"getting_started.invite": "Invite people",
|
||||||
"getting_started.open_source_notice": "Mastodon es software libre. Puedes contribuir o reportar errores en {github}.",
|
"getting_started.open_source_notice": "Mastodon is open source software. You can contribute or report issues on GitHub at {github}.",
|
||||||
"getting_started.security": "Seguridad",
|
"getting_started.security": "Security",
|
||||||
"getting_started.terms": "Términos de servicio",
|
"getting_started.terms": "Terms of service",
|
||||||
"hashtag.column_header.tag_mode.all": "y {additional}",
|
"hashtag.column_header.tag_mode.all": "and {additional}",
|
||||||
"hashtag.column_header.tag_mode.any": "o {additional}",
|
"hashtag.column_header.tag_mode.any": "or {additional}",
|
||||||
"hashtag.column_header.tag_mode.none": "sin {additional}",
|
"hashtag.column_header.tag_mode.none": "without {additional}",
|
||||||
"hashtag.column_settings.select.no_options_message": "No se encontraron sugerencias",
|
"hashtag.column_settings.select.no_options_message": "No suggestions found",
|
||||||
"hashtag.column_settings.select.placeholder": "Introduzca hashtags…",
|
"hashtag.column_settings.select.placeholder": "Enter hashtags…",
|
||||||
"hashtag.column_settings.tag_mode.all": "Cualquiera de estos",
|
"hashtag.column_settings.tag_mode.all": "All of these",
|
||||||
"hashtag.column_settings.tag_mode.any": "Cualquiera de estos",
|
"hashtag.column_settings.tag_mode.any": "Any of these",
|
||||||
"hashtag.column_settings.tag_mode.none": "Ninguno de estos",
|
"hashtag.column_settings.tag_mode.none": "None of these",
|
||||||
"hashtag.column_settings.tag_toggle": "Include additional tags in this column",
|
"hashtag.column_settings.tag_toggle": "Include additional tags in this column",
|
||||||
"home.column_settings.basic": "Básico",
|
"home.column_settings.basic": "Basic",
|
||||||
"home.column_settings.show_reblogs": "Mostrar retoots",
|
"home.column_settings.show_reblogs": "Show boosts",
|
||||||
"home.column_settings.show_replies": "Mostrar respuestas",
|
"home.column_settings.show_replies": "Show replies",
|
||||||
"home.column_settings.update_live": "Actualizar en tiempo real",
|
"home.column_settings.update_live": "Update in real-time",
|
||||||
"intervals.full.days": "{number, plural, one {# día} other {# días}}",
|
"intervals.full.days": "{number, plural, one {# day} other {# days}}",
|
||||||
"intervals.full.hours": "{number, plural, one {# hora} other {# horas}}",
|
"intervals.full.hours": "{number, plural, one {# hour} other {# hours}}",
|
||||||
"intervals.full.minutes": "{number, plural, one {# minuto} other {# minutos}}",
|
"intervals.full.minutes": "{number, plural, one {# minute} other {# minutes}}",
|
||||||
"introduction.federation.action": "Siguiente",
|
"introduction.federation.action": "Next",
|
||||||
"introduction.federation.federated.headline": "Federado",
|
"introduction.federation.federated.headline": "Federated",
|
||||||
"introduction.federation.federated.text": "Los mensajes públicos de otros servidores del fediverso aparecerán en la cronología federada.",
|
"introduction.federation.federated.text": "Public posts from other servers of the fediverse will appear in the federated timeline.",
|
||||||
"introduction.federation.home.headline": "Inicio",
|
"introduction.federation.home.headline": "Home",
|
||||||
"introduction.federation.home.text": "Los posts de personas que sigues aparecerán en tu cronología. ¡Puedes seguir a cualquiera en cualquier servidor!",
|
"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.headline": "Local",
|
||||||
"introduction.federation.local.text": "Los posts públicos de personas en el mismo servidor que aparecerán en la cronología local.",
|
"introduction.federation.local.text": "Public posts from people on the same server as you will appear in the local timeline.",
|
||||||
"introduction.interactions.action": "¡Terminar tutorial!",
|
"introduction.interactions.action": "Finish toot-orial!",
|
||||||
"introduction.interactions.favourite.headline": "Favorito",
|
"introduction.interactions.favourite.headline": "Favourite",
|
||||||
"introduction.interactions.favourite.text": "Puedes guardar un toot para más tarde, y hacer saber al autor que te gustó, dándole a favorito.",
|
"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": "Retootear",
|
"introduction.interactions.reblog.headline": "Boost",
|
||||||
"introduction.interactions.reblog.text": "Puedes compartir los toots de otras personas con tus seguidores retooteando los mismos.",
|
"introduction.interactions.reblog.text": "You can share other people's toots with your followers by boosting them.",
|
||||||
"introduction.interactions.reply.headline": "Responder",
|
"introduction.interactions.reply.headline": "Reply",
|
||||||
"introduction.interactions.reply.text": "Puedes responder a tus propios toots y los de otras personas, que se encadenarán juntos en una conversación.",
|
"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": "¡Vamos!",
|
"introduction.welcome.action": "Let's go!",
|
||||||
"introduction.welcome.headline": "Primeros pasos",
|
"introduction.welcome.headline": "First steps",
|
||||||
"introduction.welcome.text": "¡Bienvenido al fediverso! En unos momentos, podrás transmitir mensajes y hablar con tus amigos a través de una amplia variedad de servidores. Pero este servidor, {domain}, es especial, alberga tu perfil, así que recuerda su nombre.",
|
"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.",
|
||||||
"keyboard_shortcuts.back": "volver atrás",
|
"keyboard_shortcuts.back": "to navigate back",
|
||||||
"keyboard_shortcuts.blocked": "abrir una lista de usuarios bloqueados",
|
"keyboard_shortcuts.blocked": "to open blocked users list",
|
||||||
"keyboard_shortcuts.boost": "retootear",
|
"keyboard_shortcuts.boost": "to boost",
|
||||||
"keyboard_shortcuts.column": "enfocar un estado en una de las columnas",
|
"keyboard_shortcuts.column": "to focus a status in one of the columns",
|
||||||
"keyboard_shortcuts.compose": "enfocar el área de texto de redacción",
|
"keyboard_shortcuts.compose": "to focus the compose textarea",
|
||||||
"keyboard_shortcuts.description": "Descripción",
|
"keyboard_shortcuts.description": "Description",
|
||||||
"keyboard_shortcuts.direct": "abrir la columna de mensajes directos",
|
"keyboard_shortcuts.direct": "to open direct messages column",
|
||||||
"keyboard_shortcuts.down": "mover hacia abajo en la lista",
|
"keyboard_shortcuts.down": "to move down in the list",
|
||||||
"keyboard_shortcuts.enter": "abrir estado",
|
"keyboard_shortcuts.enter": "to open status",
|
||||||
"keyboard_shortcuts.favourite": "añadir a favoritos",
|
"keyboard_shortcuts.favourite": "to favourite",
|
||||||
"keyboard_shortcuts.favourites": "abrir la lista de favoritos",
|
"keyboard_shortcuts.favourites": "to open favourites list",
|
||||||
"keyboard_shortcuts.federated": "abrir el timeline federado",
|
"keyboard_shortcuts.federated": "to open federated timeline",
|
||||||
"keyboard_shortcuts.heading": "Keyboard Shortcuts",
|
"keyboard_shortcuts.heading": "Keyboard Shortcuts",
|
||||||
"keyboard_shortcuts.home": "abrir el timeline propio",
|
"keyboard_shortcuts.home": "to open home timeline",
|
||||||
"keyboard_shortcuts.hotkey": "Tecla caliente",
|
"keyboard_shortcuts.hotkey": "Hotkey",
|
||||||
"keyboard_shortcuts.legend": "para mostrar esta leyenda",
|
"keyboard_shortcuts.legend": "to display this legend",
|
||||||
"keyboard_shortcuts.local": "abrir el timeline local",
|
"keyboard_shortcuts.local": "to open local timeline",
|
||||||
"keyboard_shortcuts.mention": "para mencionar al autor",
|
"keyboard_shortcuts.mention": "to mention author",
|
||||||
"keyboard_shortcuts.muted": "abrir la lista de usuarios silenciados",
|
"keyboard_shortcuts.muted": "to open muted users list",
|
||||||
"keyboard_shortcuts.my_profile": "abrir tu perfil",
|
"keyboard_shortcuts.my_profile": "to open your profile",
|
||||||
"keyboard_shortcuts.notifications": "abrir la columna de notificaciones",
|
"keyboard_shortcuts.notifications": "to open notifications column",
|
||||||
"keyboard_shortcuts.pinned": "abrir la lista de toots destacados",
|
"keyboard_shortcuts.pinned": "to open pinned toots list",
|
||||||
"keyboard_shortcuts.profile": "abrir el perfil del autor",
|
"keyboard_shortcuts.profile": "to open author's profile",
|
||||||
"keyboard_shortcuts.reply": "para responder",
|
"keyboard_shortcuts.reply": "to reply",
|
||||||
"keyboard_shortcuts.requests": "abrir la lista de peticiones de seguidores",
|
"keyboard_shortcuts.requests": "to open follow requests list",
|
||||||
"keyboard_shortcuts.search": "para poner el foco en la búsqueda",
|
"keyboard_shortcuts.search": "to focus search",
|
||||||
"keyboard_shortcuts.start": "abrir la columna \"comenzar\"",
|
"keyboard_shortcuts.start": "to open \"get started\" column",
|
||||||
"keyboard_shortcuts.toggle_hidden": "mostrar/ocultar texto tras aviso de contenido (CW)",
|
"keyboard_shortcuts.toggle_hidden": "to show/hide text behind CW",
|
||||||
"keyboard_shortcuts.toggle_sensitivity": "mostrar/ocultar medios",
|
"keyboard_shortcuts.toggle_sensitivity": "to show/hide media",
|
||||||
"keyboard_shortcuts.toot": "para comenzar un nuevo toot",
|
"keyboard_shortcuts.toot": "to start a brand new toot",
|
||||||
"keyboard_shortcuts.unfocus": "para retirar el foco de la caja de redacción/búsqueda",
|
"keyboard_shortcuts.unfocus": "to un-focus compose textarea/search",
|
||||||
"keyboard_shortcuts.up": "para ir hacia arriba en la lista",
|
"keyboard_shortcuts.up": "to move up in the list",
|
||||||
"lightbox.close": "Cerrar",
|
"lightbox.close": "Close",
|
||||||
"lightbox.next": "Siguiente",
|
"lightbox.next": "Next",
|
||||||
"lightbox.previous": "Anterior",
|
"lightbox.previous": "Previous",
|
||||||
"lightbox.view_context": "Ver contexto",
|
"lightbox.view_context": "View context",
|
||||||
"lists.account.add": "Añadir a lista",
|
"lists.account.add": "Add to list",
|
||||||
"lists.account.remove": "Quitar de lista",
|
"lists.account.remove": "Remove from list",
|
||||||
"lists.delete": "Borrar lista",
|
"lists.delete": "Delete list",
|
||||||
"lists.edit": "Editar lista",
|
"lists.edit": "Edit list",
|
||||||
"lists.edit.submit": "Cambiar título",
|
"lists.edit.submit": "Change title",
|
||||||
"lists.new.create": "Añadir lista",
|
"lists.new.create": "Add list",
|
||||||
"lists.new.title_placeholder": "Título de la nueva lista",
|
"lists.new.title_placeholder": "New list title",
|
||||||
"lists.search": "Buscar entre la gente a la que sigues",
|
"lists.search": "Search among people you follow",
|
||||||
"lists.subheading": "Tus listas",
|
"lists.subheading": "Your lists",
|
||||||
"load_pending": "{count, plural, one {# nuevo elemento} other {# nuevos elementos}}",
|
"load_pending": "{count, plural, one {# new item} other {# new items}}",
|
||||||
"loading_indicator.label": "Cargando…",
|
"loading_indicator.label": "Loading...",
|
||||||
"media_gallery.toggle_visible": "Cambiar visibilidad",
|
"media_gallery.toggle_visible": "Toggle visibility",
|
||||||
"missing_indicator.label": "No encontrado",
|
"missing_indicator.label": "Not found",
|
||||||
"missing_indicator.sublabel": "No se encontró este recurso",
|
"missing_indicator.sublabel": "This resource could not be found",
|
||||||
"mute_modal.hide_notifications": "Ocultar notificaciones de este usuario?",
|
"mute_modal.hide_notifications": "Hide notifications from this user?",
|
||||||
"navigation_bar.apps": "Aplicaciones móviles",
|
"navigation_bar.apps": "Mobile apps",
|
||||||
"navigation_bar.blocks": "Usuarios bloqueados",
|
"navigation_bar.blocks": "Blocked users",
|
||||||
"navigation_bar.community_timeline": "Historia local",
|
"navigation_bar.community_timeline": "Local timeline",
|
||||||
"navigation_bar.compose": "Escribir un nuevo toot",
|
"navigation_bar.compose": "Compose new toot",
|
||||||
"navigation_bar.direct": "Mensajes directos",
|
"navigation_bar.direct": "Direct messages",
|
||||||
"navigation_bar.discover": "Descubrir",
|
"navigation_bar.discover": "Discover",
|
||||||
"navigation_bar.domain_blocks": "Dominios ocultos",
|
"navigation_bar.domain_blocks": "Hidden domains",
|
||||||
"navigation_bar.edit_profile": "Editar perfil",
|
"navigation_bar.edit_profile": "Edit profile",
|
||||||
"navigation_bar.favourites": "Favoritos",
|
"navigation_bar.favourites": "Favourites",
|
||||||
"navigation_bar.filters": "Palabras silenciadas",
|
"navigation_bar.filters": "Muted words",
|
||||||
"navigation_bar.follow_requests": "Solicitudes para seguirte",
|
"navigation_bar.follow_requests": "Follow requests",
|
||||||
"navigation_bar.follows_and_followers": "Siguiendo y seguidores",
|
"navigation_bar.follows_and_followers": "Follows and followers",
|
||||||
"navigation_bar.info": "Información adicional",
|
"navigation_bar.info": "About this server",
|
||||||
"navigation_bar.keyboard_shortcuts": "Atajos",
|
"navigation_bar.keyboard_shortcuts": "Hotkeys",
|
||||||
"navigation_bar.lists": "Listas",
|
"navigation_bar.lists": "Lists",
|
||||||
"navigation_bar.logout": "Cerrar sesión",
|
"navigation_bar.logout": "Logout",
|
||||||
"navigation_bar.mutes": "Usuarios silenciados",
|
"navigation_bar.mutes": "Muted users",
|
||||||
"navigation_bar.personal": "Personal",
|
"navigation_bar.personal": "Personal",
|
||||||
"navigation_bar.pins": "Toots fijados",
|
"navigation_bar.pins": "Pinned toots",
|
||||||
"navigation_bar.preferences": "Preferencias",
|
"navigation_bar.preferences": "Preferences",
|
||||||
"navigation_bar.public_timeline": "Historia federada",
|
"navigation_bar.public_timeline": "Federated timeline",
|
||||||
"navigation_bar.security": "Seguridad",
|
"navigation_bar.security": "Security",
|
||||||
"notification.and_n_others": "y {count, plural, one {# otro} other {# otros}}",
|
"notification.and_n_others": "and {count, plural, one {# other} other {# others}}",
|
||||||
"notification.favourite": "{name} marcó tu estado como favorito",
|
"notification.favourite": "{name} favourited your status",
|
||||||
"notification.follow": "{name} te empezó a seguir",
|
"notification.follow": "{name} followed you",
|
||||||
"notification.mention": "{name} te ha mencionado",
|
"notification.mention": "{name} mentioned you",
|
||||||
"notification.poll": "Una encuesta en la que has votado ha terminado",
|
"notification.poll": "A poll you have voted in has ended",
|
||||||
"notification.reblog": "{name} ha retooteado tu estado",
|
"notification.reblog": "{name} boosted your status",
|
||||||
"notifications.clear": "Limpiar notificaciones",
|
"notifications.clear": "Clear notifications",
|
||||||
"notifications.clear_confirmation": "¿Seguro que quieres limpiar permanentemente todas tus notificaciones?",
|
"notifications.clear_confirmation": "Are you sure you want to permanently clear all your notifications?",
|
||||||
"notifications.column_settings.alert": "Notificaciones de escritorio",
|
"notifications.column_settings.alert": "Desktop notifications",
|
||||||
"notifications.column_settings.favourite": "Favoritos:",
|
"notifications.column_settings.favourite": "Favourites:",
|
||||||
"notifications.column_settings.filter_bar.advanced": "Mostrar todas las categorías",
|
"notifications.column_settings.filter_bar.advanced": "Display all categories",
|
||||||
"notifications.column_settings.filter_bar.category": "Barra de filtrado rápido",
|
"notifications.column_settings.filter_bar.category": "Quick filter bar",
|
||||||
"notifications.column_settings.filter_bar.show": "Mostrar",
|
"notifications.column_settings.filter_bar.show": "Show",
|
||||||
"notifications.column_settings.follow": "Nuevos seguidores:",
|
"notifications.column_settings.follow": "New followers:",
|
||||||
"notifications.column_settings.mention": "Menciones:",
|
"notifications.column_settings.mention": "Mentions:",
|
||||||
"notifications.column_settings.poll": "Resultados de la votación:",
|
"notifications.column_settings.poll": "Poll results:",
|
||||||
"notifications.column_settings.push": "Notificaciones push",
|
"notifications.column_settings.push": "Push notifications",
|
||||||
"notifications.column_settings.reblog": "Retoots:",
|
"notifications.column_settings.reblog": "Boosts:",
|
||||||
"notifications.column_settings.show": "Mostrar en columna",
|
"notifications.column_settings.show": "Show in column",
|
||||||
"notifications.column_settings.sound": "Reproducir sonido",
|
"notifications.column_settings.sound": "Play sound",
|
||||||
"notifications.filter.all": "Todos",
|
"notifications.filter.all": "All",
|
||||||
"notifications.filter.boosts": "Retoots",
|
"notifications.filter.boosts": "Boosts",
|
||||||
"notifications.filter.favourites": "Favoritos",
|
"notifications.filter.favourites": "Favourites",
|
||||||
"notifications.filter.follows": "Seguidores",
|
"notifications.filter.follows": "Follows",
|
||||||
"notifications.filter.mentions": "Menciones",
|
"notifications.filter.mentions": "Mentions",
|
||||||
"notifications.filter.polls": "Resultados de la votación",
|
"notifications.filter.polls": "Poll results",
|
||||||
"notifications.group": "{count} notificaciones",
|
"notifications.group": "{count} notifications",
|
||||||
"poll.closed": "Cerrada",
|
"poll.closed": "Closed",
|
||||||
"poll.refresh": "Actualizar",
|
"poll.refresh": "Refresh",
|
||||||
"poll.total_votes": "{count, plural, one {# voto} other {# votos}}",
|
"poll.total_votes": "{count, plural, one {# vote} other {# votes}}",
|
||||||
"poll.vote": "Votar",
|
"poll.vote": "Vote",
|
||||||
"poll_button.add_poll": "Añadir una encuesta",
|
"poll_button.add_poll": "Add a poll",
|
||||||
"poll_button.remove_poll": "Eliminar encuesta",
|
"poll_button.remove_poll": "Remove poll",
|
||||||
"privacy.change": "Ajustar privacidad",
|
"privacy.change": "Adjust status privacy",
|
||||||
"privacy.direct.long": "Sólo mostrar a los usuarios mencionados",
|
"privacy.direct.long": "Post to mentioned users only",
|
||||||
"privacy.direct.short": "Directo",
|
"privacy.direct.short": "Direct",
|
||||||
"privacy.private.long": "Sólo mostrar a seguidores",
|
"privacy.private.long": "Post to followers only",
|
||||||
"privacy.private.short": "Privado",
|
"privacy.private.short": "Followers-only",
|
||||||
"privacy.public.long": "Mostrar en la historia federada",
|
"privacy.public.long": "Post to public timelines",
|
||||||
"privacy.public.short": "Público",
|
"privacy.public.short": "Public",
|
||||||
"privacy.unlisted.long": "No mostrar en la historia federada",
|
"privacy.unlisted.long": "Do not show in public timelines",
|
||||||
"privacy.unlisted.short": "No listado",
|
"privacy.unlisted.short": "Unlisted",
|
||||||
"regeneration_indicator.label": "Cargando…",
|
"regeneration_indicator.label": "Loading…",
|
||||||
"regeneration_indicator.sublabel": "¡Tu historia de inicio se está preparando!",
|
"regeneration_indicator.sublabel": "Your home feed is being prepared!",
|
||||||
"relative_time.days": "{number}d",
|
"relative_time.days": "{number}d",
|
||||||
"relative_time.hours": "{number}h",
|
"relative_time.hours": "{number}h",
|
||||||
"relative_time.just_now": "ahora",
|
"relative_time.just_now": "now",
|
||||||
"relative_time.minutes": "{number}m",
|
"relative_time.minutes": "{number}m",
|
||||||
"relative_time.seconds": "{number}s",
|
"relative_time.seconds": "{number}s",
|
||||||
"reply_indicator.cancel": "Cancelar",
|
"reply_indicator.cancel": "Cancel",
|
||||||
"report.forward": "Reenviar a {target}",
|
"report.forward": "Forward to {target}",
|
||||||
"report.forward_hint": "Esta cuenta es de otro servidor. ¿Enviar una copia anonimizada del informe allí también?",
|
"report.forward_hint": "The account is from another server. Send an anonymized copy of the report there as well?",
|
||||||
"report.hint": "El informe se enviará a los moderadores de tu instancia. Puedes proporcionar una explicación de por qué informas sobre esta cuenta a continuación:",
|
"report.hint": "The report will be sent to your server moderators. You can provide an explanation of why you are reporting this account below:",
|
||||||
"report.placeholder": "Comentarios adicionales",
|
"report.placeholder": "Additional comments",
|
||||||
"report.submit": "Publicar",
|
"report.submit": "Submit",
|
||||||
"report.target": "Reportando",
|
"report.target": "Report {target}",
|
||||||
"search.placeholder": "Buscar",
|
"search.placeholder": "Search",
|
||||||
"search_popout.search_format": "Formato de búsqueda avanzada",
|
"search_popout.search_format": "Advanced search format",
|
||||||
"search_popout.tips.full_text": "Búsquedas de texto recuperan posts que has escrito, marcado como favoritos, retooteado o en los que has sido mencionado, así como usuarios, nombres y hashtags.",
|
"search_popout.tips.full_text": "Simple text returns statuses you have written, favourited, boosted, or have been mentioned in, as well as matching usernames, display names, and hashtags.",
|
||||||
"search_popout.tips.hashtag": "etiqueta",
|
"search_popout.tips.hashtag": "hashtag",
|
||||||
"search_popout.tips.status": "estado",
|
"search_popout.tips.status": "status",
|
||||||
"search_popout.tips.text": "El texto simple devuelve correspondencias de nombre, usuario y hashtag",
|
"search_popout.tips.text": "Simple text returns matching display names, usernames and hashtags",
|
||||||
"search_popout.tips.user": "usuario",
|
"search_popout.tips.user": "user",
|
||||||
"search_results.accounts": "Gente",
|
"search_results.accounts": "People",
|
||||||
"search_results.hashtags": "Etiquetas",
|
"search_results.hashtags": "Hashtags",
|
||||||
"search_results.statuses": "Toots",
|
"search_results.statuses": "Toots",
|
||||||
"search_results.statuses_fts_disabled": "Buscar toots por su contenido no está disponible en este servidor de Mastodon.",
|
"search_results.statuses_fts_disabled": "Searching toots by their content is not enabled on this Mastodon server.",
|
||||||
"search_results.total": "{count, number} {count, plural, one {resultado} other {resultados}}",
|
"search_results.total": "{count, number} {count, plural, one {result} other {results}}",
|
||||||
"status.admin_account": "Abrir interfaz de moderación para @{name}",
|
"status.admin_account": "Open moderation interface for @{name}",
|
||||||
"status.admin_status": "Abrir este estado en la interfaz de moderación",
|
"status.admin_status": "Open this status in the moderation interface",
|
||||||
"status.block": "Bloquear a @{name}",
|
"status.block": "Block @{name}",
|
||||||
"status.cancel_reblog_private": "Des-impulsar",
|
"status.cancel_reblog_private": "Unboost",
|
||||||
"status.cannot_reblog": "Este toot no puede retootearse",
|
"status.cannot_reblog": "This post cannot be boosted",
|
||||||
"status.copy": "Copiar enlace al estado",
|
"status.copy": "Copy link to status",
|
||||||
"status.delete": "Borrar",
|
"status.delete": "Delete",
|
||||||
"status.detailed_status": "Vista de conversación detallada",
|
"status.detailed_status": "Detailed conversation view",
|
||||||
"status.direct": "Mensaje directo a @{name}",
|
"status.direct": "Direct message @{name}",
|
||||||
"status.embed": "Incrustado",
|
"status.embed": "Embed",
|
||||||
"status.favourite": "Favorito",
|
"status.favourite": "Favourite",
|
||||||
"status.filtered": "Filtrado",
|
"status.filtered": "Filtered",
|
||||||
"status.load_more": "Cargar más",
|
"status.load_more": "Load more",
|
||||||
"status.media_hidden": "Contenido multimedia oculto",
|
"status.media_hidden": "Media hidden",
|
||||||
"status.mention": "Mencionar",
|
"status.mention": "Mention @{name}",
|
||||||
"status.more": "Más",
|
"status.more": "More",
|
||||||
"status.mute": "Silenciar @{name}",
|
"status.mute": "Mute @{name}",
|
||||||
"status.mute_conversation": "Silenciar conversación",
|
"status.mute_conversation": "Mute conversation",
|
||||||
"status.open": "Expandir estado",
|
"status.open": "Expand this status",
|
||||||
"status.pin": "Fijar",
|
"status.pin": "Pin on profile",
|
||||||
"status.pinned": "Toot fijado",
|
"status.pinned": "Pinned toot",
|
||||||
"status.read_more": "Leer más",
|
"status.read_more": "Read more",
|
||||||
"status.reblog": "Retootear",
|
"status.reblog": "Boost",
|
||||||
"status.reblog_private": "Implusar a la audiencia original",
|
"status.reblog_private": "Boost to original audience",
|
||||||
"status.reblogged_by": "Retooteado por {name}",
|
"status.reblogged_by": "{name} boosted",
|
||||||
"status.reblogs.empty": "Nadie impulsó este toot todavía. Cuando alguien lo haga, aparecerá aqui.",
|
"status.reblogs.empty": "No one has boosted this toot yet. When someone does, they will show up here.",
|
||||||
"status.redraft": "Borrar y volver a borrador",
|
"status.redraft": "Delete & re-draft",
|
||||||
"status.reply": "Responder",
|
"status.reply": "Reply",
|
||||||
"status.replyAll": "Responder al hilo",
|
"status.replyAll": "Reply to thread",
|
||||||
"status.report": "Reportar",
|
"status.report": "Report @{name}",
|
||||||
"status.sensitive_warning": "Contenido sensible",
|
"status.sensitive_warning": "Sensitive content",
|
||||||
"status.share": "Compartir",
|
"status.share": "Share",
|
||||||
"status.show_less": "Mostrar menos",
|
"status.show_less": "Show less",
|
||||||
"status.show_less_all": "Mostrar menos para todo",
|
"status.show_less_all": "Show less for all",
|
||||||
"status.show_more": "Mostrar más",
|
"status.show_more": "Show more",
|
||||||
"status.show_more_all": "Mostrar más para todo",
|
"status.show_more_all": "Show more for all",
|
||||||
"status.show_thread": "Ver hilo",
|
"status.show_thread": "Show thread",
|
||||||
"status.uncached_media_warning": "No disponible",
|
"status.uncached_media_warning": "Not available",
|
||||||
"status.unmute_conversation": "Dejar de silenciar conversación",
|
"status.unmute_conversation": "Unmute conversation",
|
||||||
"status.unpin": "Dejar de fijar",
|
"status.unpin": "Unpin from profile",
|
||||||
"suggestions.dismiss": "Descartar sugerencia",
|
"suggestions.dismiss": "Dismiss suggestion",
|
||||||
"suggestions.header": "Es posible que te interese…",
|
"suggestions.header": "You might be interested in…",
|
||||||
"tabs_bar.federated_timeline": "Federado",
|
"tabs_bar.federated_timeline": "Federated",
|
||||||
"tabs_bar.home": "Inicio",
|
"tabs_bar.home": "Home",
|
||||||
"tabs_bar.local_timeline": "Local",
|
"tabs_bar.local_timeline": "Local",
|
||||||
"tabs_bar.notifications": "Notificaciones",
|
"tabs_bar.notifications": "Notifications",
|
||||||
"tabs_bar.search": "Buscar",
|
"tabs_bar.search": "Search",
|
||||||
"time_remaining.days": "{number, plural, one {# día restante} other {# días restantes}}",
|
"time_remaining.days": "{number, plural, one {# day} other {# days}} left",
|
||||||
"time_remaining.hours": "{number, plural, one {# hora restante} other {# horas restantes}}",
|
"time_remaining.hours": "{number, plural, one {# hour} other {# hours}} left",
|
||||||
"time_remaining.minutes": "{number, plural, one {# minuto restante} other {# minutos restantes}}",
|
"time_remaining.minutes": "{number, plural, one {# minute} other {# minutes}} left",
|
||||||
"time_remaining.moments": "Momentos restantes",
|
"time_remaining.moments": "Moments remaining",
|
||||||
"time_remaining.seconds": "{number, plural, one {# segundo restante} other {# segundos restantes}}",
|
"time_remaining.seconds": "{number, plural, one {# second} other {# seconds}} left",
|
||||||
"trends.count_by_accounts": "{count} {rawCount, plural, one {persona} other {personas}} hablando",
|
"trends.count_by_accounts": "{count} {rawCount, plural, one {person} other {people}} talking",
|
||||||
"trends.trending_now": "Tendencia ahora",
|
"trends.trending_now": "Trending now",
|
||||||
"ui.beforeunload": "Tu borrador se perderá si sales de Mastodon.",
|
"ui.beforeunload": "Your draft will be lost if you leave Mastodon.",
|
||||||
"upload_area.title": "Arrastra y suelta para subir",
|
"upload_area.title": "Drag & drop to upload",
|
||||||
"upload_button.label": "Subir multimedia (JPEG, PNG, GIF, WebM, MP4, MOV)",
|
"upload_button.label": "Add media ({formats})",
|
||||||
"upload_error.limit": "Límite de subida de archivos excedido.",
|
"upload_error.limit": "File upload limit exceeded.",
|
||||||
"upload_error.poll": "Subida de archivos no permitida con encuestas.",
|
"upload_error.poll": "File upload not allowed with polls.",
|
||||||
"upload_form.description": "Describir para los usuarios con dificultad visual",
|
"upload_form.description": "Describe for the visually impaired",
|
||||||
"upload_form.edit": "Editar",
|
"upload_form.edit": "Edit",
|
||||||
"upload_form.undo": "Borrar",
|
"upload_form.undo": "Delete",
|
||||||
"upload_modal.analyzing_picture": "Analizando imagen…",
|
"upload_modal.analyzing_picture": "Analyzing picture…",
|
||||||
"upload_modal.apply": "Aplicar",
|
"upload_modal.apply": "Apply",
|
||||||
"upload_modal.description_placeholder": "Un rápido zorro marrón salta sobre el perro perezoso",
|
"upload_modal.description_placeholder": "A quick brown fox jumps over the lazy dog",
|
||||||
"upload_modal.detect_text": "Detectar texto de la imagen",
|
"upload_modal.detect_text": "Detect text from picture",
|
||||||
"upload_modal.edit_media": "Editar multimedia",
|
"upload_modal.edit_media": "Edit media",
|
||||||
"upload_modal.hint": "Haga clic o arrastre el círculo en la vista previa para elegir el punto focal que siempre estará a la vista en todas las miniaturas.",
|
"upload_modal.hint": "Click or drag the circle on the preview to choose the focal point which will always be in view on all thumbnails.",
|
||||||
"upload_modal.preview_label": "Vista previa ({ratio})",
|
"upload_modal.preview_label": "Preview ({ratio})",
|
||||||
"upload_progress.label": "Subiendo…",
|
"upload_progress.label": "Uploading...",
|
||||||
"video.close": "Cerrar video",
|
"video.close": "Close video",
|
||||||
"video.exit_fullscreen": "Salir de pantalla completa",
|
"video.exit_fullscreen": "Exit full screen",
|
||||||
"video.expand": "Expandir vídeo",
|
"video.expand": "Expand video",
|
||||||
"video.fullscreen": "Pantalla completa",
|
"video.fullscreen": "Full screen",
|
||||||
"video.hide": "Ocultar vídeo",
|
"video.hide": "Hide video",
|
||||||
"video.mute": "Silenciar sonido",
|
"video.mute": "Mute sound",
|
||||||
"video.pause": "Pausar",
|
"video.pause": "Pause",
|
||||||
"video.play": "Reproducir",
|
"video.play": "Play",
|
||||||
"video.unmute": "Dejar de silenciar sonido"
|
"video.unmute": "Unmute sound"
|
||||||
}
|
}
|
||||||
|
|
|
@ -39,7 +39,7 @@
|
||||||
"account.unmute": "Ne plus masquer @{name}",
|
"account.unmute": "Ne plus masquer @{name}",
|
||||||
"account.unmute_notifications": "Réactiver les notifications de @{name}",
|
"account.unmute_notifications": "Réactiver les notifications de @{name}",
|
||||||
"alert.rate_limited.message": "Veuillez réessayer après {retry_time, time, medium}.",
|
"alert.rate_limited.message": "Veuillez réessayer après {retry_time, time, medium}.",
|
||||||
"alert.rate_limited.title": "Taux limité",
|
"alert.rate_limited.title": "Débit limité",
|
||||||
"alert.unexpected.message": "Une erreur inattendue s’est produite.",
|
"alert.unexpected.message": "Une erreur inattendue s’est produite.",
|
||||||
"alert.unexpected.title": "Oups !",
|
"alert.unexpected.title": "Oups !",
|
||||||
"autosuggest_hashtag.per_week": "{count} par semaine",
|
"autosuggest_hashtag.per_week": "{count} par semaine",
|
||||||
|
@ -70,12 +70,12 @@
|
||||||
"column_header.moveRight_settings": "Déplacer la colonne vers la droite",
|
"column_header.moveRight_settings": "Déplacer la colonne vers la droite",
|
||||||
"column_header.pin": "Épingler",
|
"column_header.pin": "Épingler",
|
||||||
"column_header.show_settings": "Afficher les paramètres",
|
"column_header.show_settings": "Afficher les paramètres",
|
||||||
"column_header.unpin": "Retirer",
|
"column_header.unpin": "Désépingler",
|
||||||
"column_subheading.settings": "Paramètres",
|
"column_subheading.settings": "Paramètres",
|
||||||
"community.column_settings.media_only": "Média uniquement",
|
"community.column_settings.media_only": "Média uniquement",
|
||||||
"compose_form.direct_message_warning": "Ce pouet sera uniquement envoyé aux personnes mentionnées. Cependant, l’administration de votre instance et des instances réceptrices pourront inspecter ce message.",
|
"compose_form.direct_message_warning": "Ce pouet sera uniquement envoyé aux personnes mentionnées. Cependant, l’administration de votre instance et des instances réceptrices pourront inspecter ce message.",
|
||||||
"compose_form.direct_message_warning_learn_more": "En savoir plus",
|
"compose_form.direct_message_warning_learn_more": "Plus d'informations",
|
||||||
"compose_form.hashtag_warning": "Ce pouet ne sera pas listé dans les recherches par hashtag car sa visibilité est réglée sur \"non listé\". Seuls les pouets avec une visibilité \"publique\" peuvent être recherchés par hashtag.",
|
"compose_form.hashtag_warning": "Ce pouet ne sera pas listé dans les recherches par mot-clé car sa visibilité est réglée sur \"non listé\". Seuls les pouets avec une visibilité \"publique\" peuvent être recherchés par mot-clé.",
|
||||||
"compose_form.lock_disclaimer": "Votre compte n’est pas {locked}. Tout le monde peut vous suivre et voir vos pouets privés.",
|
"compose_form.lock_disclaimer": "Votre compte n’est pas {locked}. Tout le monde peut vous suivre et voir vos pouets privés.",
|
||||||
"compose_form.lock_disclaimer.lock": "verrouillé",
|
"compose_form.lock_disclaimer.lock": "verrouillé",
|
||||||
"compose_form.placeholder": "Qu’avez-vous en tête ?",
|
"compose_form.placeholder": "Qu’avez-vous en tête ?",
|
||||||
|
@ -87,7 +87,7 @@
|
||||||
"compose_form.publish_loud": "{publish} !",
|
"compose_form.publish_loud": "{publish} !",
|
||||||
"compose_form.sensitive.hide": "Marquer le média comme sensible",
|
"compose_form.sensitive.hide": "Marquer le média comme sensible",
|
||||||
"compose_form.sensitive.marked": "Média marqué comme sensible",
|
"compose_form.sensitive.marked": "Média marqué comme sensible",
|
||||||
"compose_form.sensitive.unmarked": "Média non marqué comme sensible",
|
"compose_form.sensitive.unmarked": "Le média n'est pas marqué comme sensible",
|
||||||
"compose_form.spoiler.marked": "Le texte est caché derrière un avertissement",
|
"compose_form.spoiler.marked": "Le texte est caché derrière un avertissement",
|
||||||
"compose_form.spoiler.unmarked": "Le texte n’est pas caché",
|
"compose_form.spoiler.unmarked": "Le texte n’est pas caché",
|
||||||
"compose_form.spoiler_placeholder": "Écrivez ici votre avertissement",
|
"compose_form.spoiler_placeholder": "Écrivez ici votre avertissement",
|
||||||
|
@ -104,7 +104,7 @@
|
||||||
"confirmations.logout.confirm": "Déconnexion",
|
"confirmations.logout.confirm": "Déconnexion",
|
||||||
"confirmations.logout.message": "Êtes-vous sûr de vouloir vous déconnecter ?",
|
"confirmations.logout.message": "Êtes-vous sûr de vouloir vous déconnecter ?",
|
||||||
"confirmations.mute.confirm": "Masquer",
|
"confirmations.mute.confirm": "Masquer",
|
||||||
"confirmations.mute.message": "Confirmez-vous le masquage de {name} ?",
|
"confirmations.mute.message": "Êtes-vous sûr·e de vouloir masquer {name} ?",
|
||||||
"confirmations.redraft.confirm": "Effacer et ré-écrire",
|
"confirmations.redraft.confirm": "Effacer et ré-écrire",
|
||||||
"confirmations.redraft.message": "Êtes-vous sûr·e de vouloir effacer ce statut pour le ré-écrire ? Ses partages ainsi que ses mises en favori seront perdu·e·s et ses réponses seront orphelines.",
|
"confirmations.redraft.message": "Êtes-vous sûr·e de vouloir effacer ce statut pour le ré-écrire ? Ses partages ainsi que ses mises en favori seront perdu·e·s et ses réponses seront orphelines.",
|
||||||
"confirmations.reply.confirm": "Répondre",
|
"confirmations.reply.confirm": "Répondre",
|
||||||
|
@ -151,7 +151,7 @@
|
||||||
"empty_column.lists": "Vous n’avez pas encore de liste. Lorsque vous en créerez une, elle apparaîtra ici.",
|
"empty_column.lists": "Vous n’avez pas encore de liste. Lorsque vous en créerez une, elle apparaîtra ici.",
|
||||||
"empty_column.mutes": "Vous n’avez pas encore mis d'utilisateur·rice·s en silence.",
|
"empty_column.mutes": "Vous n’avez pas encore mis d'utilisateur·rice·s en silence.",
|
||||||
"empty_column.notifications": "Vous n’avez pas encore de notification. Interagissez avec d’autres personnes pour débuter la conversation.",
|
"empty_column.notifications": "Vous n’avez pas encore de notification. Interagissez avec d’autres personnes pour débuter la conversation.",
|
||||||
"empty_column.public": "Il n’y a rien ici ! Écrivez quelque chose publiquement, ou bien suivez manuellement des personnes d’autres instances pour remplir le fil public",
|
"empty_column.public": "Il n’y a rien ici ! Écrivez quelque chose publiquement, ou bien suivez manuellement des personnes d’autres instances pour le remplir",
|
||||||
"follow_request.authorize": "Accepter",
|
"follow_request.authorize": "Accepter",
|
||||||
"follow_request.reject": "Rejeter",
|
"follow_request.reject": "Rejeter",
|
||||||
"getting_started.developers": "Développeur·euse·s",
|
"getting_started.developers": "Développeur·euse·s",
|
||||||
|
@ -166,12 +166,12 @@
|
||||||
"hashtag.column_header.tag_mode.any": "ou {additional}",
|
"hashtag.column_header.tag_mode.any": "ou {additional}",
|
||||||
"hashtag.column_header.tag_mode.none": "sans {additional}",
|
"hashtag.column_header.tag_mode.none": "sans {additional}",
|
||||||
"hashtag.column_settings.select.no_options_message": "Aucune suggestion trouvée",
|
"hashtag.column_settings.select.no_options_message": "Aucune suggestion trouvée",
|
||||||
"hashtag.column_settings.select.placeholder": "Ajouter des hashtags…",
|
"hashtag.column_settings.select.placeholder": "Ajouter des mots-clés…",
|
||||||
"hashtag.column_settings.tag_mode.all": "Tous ces éléments",
|
"hashtag.column_settings.tag_mode.all": "Tous ces éléments",
|
||||||
"hashtag.column_settings.tag_mode.any": "Au moins un de ces éléments",
|
"hashtag.column_settings.tag_mode.any": "Au moins un de ces éléments",
|
||||||
"hashtag.column_settings.tag_mode.none": "Aucun de ces éléments",
|
"hashtag.column_settings.tag_mode.none": "Aucun de ces éléments",
|
||||||
"hashtag.column_settings.tag_toggle": "Inclure des tags additionnels dans cette colonne",
|
"hashtag.column_settings.tag_toggle": "Inclure des mots-clés additionnels dans cette colonne",
|
||||||
"home.column_settings.basic": "Basique",
|
"home.column_settings.basic": "Base",
|
||||||
"home.column_settings.show_reblogs": "Afficher les partages",
|
"home.column_settings.show_reblogs": "Afficher les partages",
|
||||||
"home.column_settings.show_replies": "Afficher les réponses",
|
"home.column_settings.show_replies": "Afficher les réponses",
|
||||||
"home.column_settings.update_live": "Mettre à jour en temps réel",
|
"home.column_settings.update_live": "Mettre à jour en temps réel",
|
||||||
|
@ -199,7 +199,7 @@
|
||||||
"keyboard_shortcuts.blocked": "pour ouvrir une liste d’utilisateur·rice·s bloqué·e·s",
|
"keyboard_shortcuts.blocked": "pour ouvrir une liste d’utilisateur·rice·s bloqué·e·s",
|
||||||
"keyboard_shortcuts.boost": "pour partager",
|
"keyboard_shortcuts.boost": "pour partager",
|
||||||
"keyboard_shortcuts.column": "pour focaliser un statut dans l’une des colonnes",
|
"keyboard_shortcuts.column": "pour focaliser un statut dans l’une des colonnes",
|
||||||
"keyboard_shortcuts.compose": "pour centrer la zone de rédaction",
|
"keyboard_shortcuts.compose": "pour focaliser la zone de rédaction",
|
||||||
"keyboard_shortcuts.description": "Description",
|
"keyboard_shortcuts.description": "Description",
|
||||||
"keyboard_shortcuts.direct": "pour ouvrir une colonne des messages directs",
|
"keyboard_shortcuts.direct": "pour ouvrir une colonne des messages directs",
|
||||||
"keyboard_shortcuts.down": "pour descendre dans la liste",
|
"keyboard_shortcuts.down": "pour descendre dans la liste",
|
||||||
|
|
|
@ -4,7 +4,7 @@
|
||||||
"account.block": "@{name} letiltása",
|
"account.block": "@{name} letiltása",
|
||||||
"account.block_domain": "Minden elrejtése innen: {domain}",
|
"account.block_domain": "Minden elrejtése innen: {domain}",
|
||||||
"account.blocked": "Letiltva",
|
"account.blocked": "Letiltva",
|
||||||
"account.cancel_follow_request": "Cancel follow request",
|
"account.cancel_follow_request": "Követési kérelem törlése",
|
||||||
"account.direct": "Közvetlen üzenet @{name} számára",
|
"account.direct": "Közvetlen üzenet @{name} számára",
|
||||||
"account.domain_blocked": "Rejtett domain",
|
"account.domain_blocked": "Rejtett domain",
|
||||||
"account.edit_profile": "Profil szerkesztése",
|
"account.edit_profile": "Profil szerkesztése",
|
||||||
|
@ -16,7 +16,7 @@
|
||||||
"account.follows.empty": "Ez a felhasználó még senkit sem követ.",
|
"account.follows.empty": "Ez a felhasználó még senkit sem követ.",
|
||||||
"account.follows_you": "Követ téged",
|
"account.follows_you": "Követ téged",
|
||||||
"account.hide_reblogs": "@{name} megtolásainak némítása",
|
"account.hide_reblogs": "@{name} megtolásainak némítása",
|
||||||
"account.last_status": "Last active",
|
"account.last_status": "Utoljára aktív",
|
||||||
"account.link_verified_on": "A linket ellenőriztük: {date}",
|
"account.link_verified_on": "A linket ellenőriztük: {date}",
|
||||||
"account.locked_info": "Ez a fiók zárt. A tulaj engedélyezi, ki követheti őt.",
|
"account.locked_info": "Ez a fiók zárt. A tulaj engedélyezi, ki követheti őt.",
|
||||||
"account.media": "Média",
|
"account.media": "Média",
|
||||||
|
@ -25,7 +25,7 @@
|
||||||
"account.mute": "@{name} némítása",
|
"account.mute": "@{name} némítása",
|
||||||
"account.mute_notifications": "@{name} értesítéseinek némítása",
|
"account.mute_notifications": "@{name} értesítéseinek némítása",
|
||||||
"account.muted": "Némítva",
|
"account.muted": "Némítva",
|
||||||
"account.never_active": "Never",
|
"account.never_active": "Soha",
|
||||||
"account.posts": "Tülkölés",
|
"account.posts": "Tülkölés",
|
||||||
"account.posts_with_replies": "Tülkölés válaszokkal",
|
"account.posts_with_replies": "Tülkölés válaszokkal",
|
||||||
"account.report": "@{name} jelentése",
|
"account.report": "@{name} jelentése",
|
||||||
|
@ -38,11 +38,11 @@
|
||||||
"account.unfollow": "Követés vége",
|
"account.unfollow": "Követés vége",
|
||||||
"account.unmute": "@{name} némítás feloldása",
|
"account.unmute": "@{name} némítás feloldása",
|
||||||
"account.unmute_notifications": "@{name} némított értesítéseinek feloldása",
|
"account.unmute_notifications": "@{name} némított értesítéseinek feloldása",
|
||||||
"alert.rate_limited.message": "Please retry after {retry_time, time, medium}.",
|
"alert.rate_limited.message": "Kérlek, próbáld újra {retry_time, time, medium}.",
|
||||||
"alert.rate_limited.title": "Rate limited",
|
"alert.rate_limited.title": "Forgalomkorlátozás",
|
||||||
"alert.unexpected.message": "Váratlan hiba történt.",
|
"alert.unexpected.message": "Váratlan hiba történt.",
|
||||||
"alert.unexpected.title": "Hoppá!",
|
"alert.unexpected.title": "Hoppá!",
|
||||||
"autosuggest_hashtag.per_week": "{count} per week",
|
"autosuggest_hashtag.per_week": "{count}/hét",
|
||||||
"boost_modal.combo": "Hogy átugord ezt következő alkalommal, használd {combo}",
|
"boost_modal.combo": "Hogy átugord ezt következő alkalommal, használd {combo}",
|
||||||
"bundle_column_error.body": "Hiba történt a komponens betöltése közben.",
|
"bundle_column_error.body": "Hiba történt a komponens betöltése közben.",
|
||||||
"bundle_column_error.retry": "Próbáld újra",
|
"bundle_column_error.retry": "Próbáld újra",
|
||||||
|
@ -53,7 +53,7 @@
|
||||||
"column.blocks": "Letiltott felhasználók",
|
"column.blocks": "Letiltott felhasználók",
|
||||||
"column.community": "Helyi idővonal",
|
"column.community": "Helyi idővonal",
|
||||||
"column.direct": "Közvetlen üzenetek",
|
"column.direct": "Közvetlen üzenetek",
|
||||||
"column.directory": "Browse profiles",
|
"column.directory": "Profilok böngészése",
|
||||||
"column.domain_blocks": "Rejtett domainek",
|
"column.domain_blocks": "Rejtett domainek",
|
||||||
"column.favourites": "Kedvencek",
|
"column.favourites": "Kedvencek",
|
||||||
"column.follow_requests": "Követési kérelmek",
|
"column.follow_requests": "Követési kérelmek",
|
||||||
|
@ -63,7 +63,7 @@
|
||||||
"column.notifications": "Értesítések",
|
"column.notifications": "Értesítések",
|
||||||
"column.pins": "Kitűzött tülkök",
|
"column.pins": "Kitűzött tülkök",
|
||||||
"column.public": "Nyilvános idővonal",
|
"column.public": "Nyilvános idővonal",
|
||||||
"column.status": "Toot",
|
"column.status": "Tülk",
|
||||||
"column_back_button.label": "Vissza",
|
"column_back_button.label": "Vissza",
|
||||||
"column_header.hide_settings": "Beállítások elrejtése",
|
"column_header.hide_settings": "Beállítások elrejtése",
|
||||||
"column_header.moveLeft_settings": "Oszlop elmozdítása balra",
|
"column_header.moveLeft_settings": "Oszlop elmozdítása balra",
|
||||||
|
@ -101,8 +101,8 @@
|
||||||
"confirmations.delete_list.message": "Biztos, hogy véglegesen törölni szeretnéd ezt a listát?",
|
"confirmations.delete_list.message": "Biztos, hogy véglegesen törölni szeretnéd ezt a listát?",
|
||||||
"confirmations.domain_block.confirm": "Teljes domain elrejtése",
|
"confirmations.domain_block.confirm": "Teljes domain elrejtése",
|
||||||
"confirmations.domain_block.message": "Egészen biztos, hogy le szeretnéd tiltani a teljes {domain}-t? A legtöbb esetben néhány célzott tiltás vagy némítás elegendő és kívánatosabb megoldás. Semmilyen tartalmat nem fogsz látni ebből a domainből se idővonalakon, se értesítésekben. Az ebben a domainben lévő követőidet is eltávolítjuk.",
|
"confirmations.domain_block.message": "Egészen biztos, hogy le szeretnéd tiltani a teljes {domain}-t? A legtöbb esetben néhány célzott tiltás vagy némítás elegendő és kívánatosabb megoldás. Semmilyen tartalmat nem fogsz látni ebből a domainből se idővonalakon, se értesítésekben. Az ebben a domainben lévő követőidet is eltávolítjuk.",
|
||||||
"confirmations.logout.confirm": "Log out",
|
"confirmations.logout.confirm": "Kijelentkezés",
|
||||||
"confirmations.logout.message": "Are you sure you want to log out?",
|
"confirmations.logout.message": "Biztosan ki akar jelentkezni?",
|
||||||
"confirmations.mute.confirm": "Némítás",
|
"confirmations.mute.confirm": "Némítás",
|
||||||
"confirmations.mute.message": "Biztos, hogy némítani szeretnéd {name}?",
|
"confirmations.mute.message": "Biztos, hogy némítani szeretnéd {name}?",
|
||||||
"confirmations.redraft.confirm": "Törlés és újraírás",
|
"confirmations.redraft.confirm": "Törlés és újraírás",
|
||||||
|
@ -111,14 +111,14 @@
|
||||||
"confirmations.reply.message": "Ha most válaszolsz, ez felülírja a most szerkesztés alatt álló üzenetet. Mégis ezt szeretnéd?",
|
"confirmations.reply.message": "Ha most válaszolsz, ez felülírja a most szerkesztés alatt álló üzenetet. Mégis ezt szeretnéd?",
|
||||||
"confirmations.unfollow.confirm": "Követés visszavonása",
|
"confirmations.unfollow.confirm": "Követés visszavonása",
|
||||||
"confirmations.unfollow.message": "Biztos, hogy vissza szeretnéd vonni {name} követését?",
|
"confirmations.unfollow.message": "Biztos, hogy vissza szeretnéd vonni {name} követését?",
|
||||||
"conversation.delete": "Delete conversation",
|
"conversation.delete": "Beszélgetés törlése",
|
||||||
"conversation.mark_as_read": "Mark as read",
|
"conversation.mark_as_read": "Megjelölés olvasottként",
|
||||||
"conversation.open": "View conversation",
|
"conversation.open": "Beszélgetés megtekintése",
|
||||||
"conversation.with": "With {names}",
|
"conversation.with": "{names}-el/al",
|
||||||
"directory.federated": "From known fediverse",
|
"directory.federated": "Az ismert fediverzumból",
|
||||||
"directory.local": "From {domain} only",
|
"directory.local": "Csak {domain}-ból/ből",
|
||||||
"directory.new_arrivals": "New arrivals",
|
"directory.new_arrivals": "Új csatlakozók",
|
||||||
"directory.recently_active": "Recently active",
|
"directory.recently_active": "Nemrég aktív",
|
||||||
"embed.instructions": "Ágyazd be ezt a tülköt a weboldaladba az alábbi kód kimásolásával.",
|
"embed.instructions": "Ágyazd be ezt a tülköt a weboldaladba az alábbi kód kimásolásával.",
|
||||||
"embed.preview": "Így fog kinézni:",
|
"embed.preview": "Így fog kinézni:",
|
||||||
"emoji_button.activity": "Aktivitás",
|
"emoji_button.activity": "Aktivitás",
|
||||||
|
@ -174,7 +174,7 @@
|
||||||
"home.column_settings.basic": "Alapértelmezések",
|
"home.column_settings.basic": "Alapértelmezések",
|
||||||
"home.column_settings.show_reblogs": "Megtolások mutatása",
|
"home.column_settings.show_reblogs": "Megtolások mutatása",
|
||||||
"home.column_settings.show_replies": "Válaszok mutatása",
|
"home.column_settings.show_replies": "Válaszok mutatása",
|
||||||
"home.column_settings.update_live": "Update in real-time",
|
"home.column_settings.update_live": "Frissítés valós időben",
|
||||||
"intervals.full.days": "{number, plural, one {# nap} other {# nap}}",
|
"intervals.full.days": "{number, plural, one {# nap} other {# nap}}",
|
||||||
"intervals.full.hours": "{number, plural, one {# óra} other {# óra}}",
|
"intervals.full.hours": "{number, plural, one {# óra} other {# óra}}",
|
||||||
"intervals.full.minutes": "{number, plural, one {# perc} other {# perc}}",
|
"intervals.full.minutes": "{number, plural, one {# perc} other {# perc}}",
|
||||||
|
@ -268,7 +268,7 @@
|
||||||
"navigation_bar.preferences": "Beállítások",
|
"navigation_bar.preferences": "Beállítások",
|
||||||
"navigation_bar.public_timeline": "Föderációs idővonal",
|
"navigation_bar.public_timeline": "Föderációs idővonal",
|
||||||
"navigation_bar.security": "Biztonság",
|
"navigation_bar.security": "Biztonság",
|
||||||
"notification.and_n_others": "and {count, plural, one {# other} other {# others}}",
|
"notification.and_n_others": "és {count, plural, one {# másik} other {# másik}}",
|
||||||
"notification.favourite": "{name} kedvencnek jelölte egy tülködet",
|
"notification.favourite": "{name} kedvencnek jelölte egy tülködet",
|
||||||
"notification.follow": "{name} követ téged",
|
"notification.follow": "{name} követ téged",
|
||||||
"notification.mention": "{name} megemlített",
|
"notification.mention": "{name} megemlített",
|
||||||
|
@ -373,7 +373,7 @@
|
||||||
"status.show_more": "Többet",
|
"status.show_more": "Többet",
|
||||||
"status.show_more_all": "Többet mindenhol",
|
"status.show_more_all": "Többet mindenhol",
|
||||||
"status.show_thread": "Szál mutatása",
|
"status.show_thread": "Szál mutatása",
|
||||||
"status.uncached_media_warning": "Not available",
|
"status.uncached_media_warning": "Nem elérhető",
|
||||||
"status.unmute_conversation": "Beszélgetés némításának kikapcsolása",
|
"status.unmute_conversation": "Beszélgetés némításának kikapcsolása",
|
||||||
"status.unpin": "Kitűzés eltávolítása a profilodról",
|
"status.unpin": "Kitűzés eltávolítása a profilodról",
|
||||||
"suggestions.dismiss": "Javaslat elvetése",
|
"suggestions.dismiss": "Javaslat elvetése",
|
||||||
|
@ -389,22 +389,22 @@
|
||||||
"time_remaining.moments": "Pillanatok vannak hátra",
|
"time_remaining.moments": "Pillanatok vannak hátra",
|
||||||
"time_remaining.seconds": "{number, plural, one {# másodperc} other {# másodperc}} van hátra",
|
"time_remaining.seconds": "{number, plural, one {# másodperc} other {# másodperc}} van hátra",
|
||||||
"trends.count_by_accounts": "{count} {rawCount, plural, one {résztvevő} other {résztvevő}} beszélget",
|
"trends.count_by_accounts": "{count} {rawCount, plural, one {résztvevő} other {résztvevő}} beszélget",
|
||||||
"trends.trending_now": "Trending now",
|
"trends.trending_now": "Most trendi",
|
||||||
"ui.beforeunload": "A piszkozatod el fog veszni, ha elhagyod a Mastodon-t.",
|
"ui.beforeunload": "A piszkozatod el fog veszni, ha elhagyod a Mastodon-t.",
|
||||||
"upload_area.title": "Húzd ide a feltöltéshez",
|
"upload_area.title": "Húzd ide a feltöltéshez",
|
||||||
"upload_button.label": "Média hozzáadása (JPEG, PNG, GIF, WebM, MP4, MOV)",
|
"upload_button.label": "Média hozzáadása (JPEG, PNG, GIF, WebM, MP4, MOV)",
|
||||||
"upload_error.limit": "Túllépted a fájl feltöltési limitet.",
|
"upload_error.limit": "Túllépted a fájl feltöltési limitet.",
|
||||||
"upload_error.poll": "Szavazásnál nem lehet fájlt feltölteni.",
|
"upload_error.poll": "Szavazásnál nem lehet fájlt feltölteni.",
|
||||||
"upload_form.description": "Leírás látáskorlátozottak számára",
|
"upload_form.description": "Leírás látáskorlátozottak számára",
|
||||||
"upload_form.edit": "Edit",
|
"upload_form.edit": "Szerkesztés",
|
||||||
"upload_form.undo": "Mégsem",
|
"upload_form.undo": "Mégsem",
|
||||||
"upload_modal.analyzing_picture": "Analyzing picture…",
|
"upload_modal.analyzing_picture": "Kép elemzése…",
|
||||||
"upload_modal.apply": "Apply",
|
"upload_modal.apply": "Alkalmazás",
|
||||||
"upload_modal.description_placeholder": "A quick brown fox jumps over the lazy dog",
|
"upload_modal.description_placeholder": "A gyors, barna róka átugrik a lusta kutya fölött",
|
||||||
"upload_modal.detect_text": "Detect text from picture",
|
"upload_modal.detect_text": "Szöveg felismerése a képről",
|
||||||
"upload_modal.edit_media": "Edit media",
|
"upload_modal.edit_media": "Média szerkesztése",
|
||||||
"upload_modal.hint": "Click or drag the circle on the preview to choose the focal point which will always be in view on all thumbnails.",
|
"upload_modal.hint": "Kattints vagy húzd a kört az előnézetben arra a fókuszpontra, mely minden megjelenített bélyegképen látható kell, legyen.",
|
||||||
"upload_modal.preview_label": "Preview ({ratio})",
|
"upload_modal.preview_label": "Előnézet ({ratio})",
|
||||||
"upload_progress.label": "Feltöltés...",
|
"upload_progress.label": "Feltöltés...",
|
||||||
"video.close": "Videó bezárása",
|
"video.close": "Videó bezárása",
|
||||||
"video.exit_fullscreen": "Kilépés teljes képernyőből",
|
"video.exit_fullscreen": "Kilépés teljes képernyőből",
|
||||||
|
|
|
@ -53,7 +53,7 @@
|
||||||
"column.blocks": "ブロックしたユーザー",
|
"column.blocks": "ブロックしたユーザー",
|
||||||
"column.community": "ローカルタイムライン",
|
"column.community": "ローカルタイムライン",
|
||||||
"column.direct": "ダイレクトメッセージ",
|
"column.direct": "ダイレクトメッセージ",
|
||||||
"column.directory": "プロフィールを見る",
|
"column.directory": "ディレクトリ",
|
||||||
"column.domain_blocks": "非表示にしたドメイン",
|
"column.domain_blocks": "非表示にしたドメイン",
|
||||||
"column.favourites": "お気に入り",
|
"column.favourites": "お気に入り",
|
||||||
"column.follow_requests": "フォローリクエスト",
|
"column.follow_requests": "フォローリクエスト",
|
||||||
|
@ -114,7 +114,7 @@
|
||||||
"conversation.delete": "このやりとりを削除",
|
"conversation.delete": "このやりとりを削除",
|
||||||
"conversation.mark_as_read": "既読にする",
|
"conversation.mark_as_read": "既読にする",
|
||||||
"conversation.open": "会話を表示する",
|
"conversation.open": "会話を表示する",
|
||||||
"conversation.with": "{names} を付ける",
|
"conversation.with": "{names}",
|
||||||
"directory.federated": "既知の連合より",
|
"directory.federated": "既知の連合より",
|
||||||
"directory.local": "{domain} のみ",
|
"directory.local": "{domain} のみ",
|
||||||
"directory.new_arrivals": "新着順",
|
"directory.new_arrivals": "新着順",
|
||||||
|
@ -268,7 +268,7 @@
|
||||||
"navigation_bar.preferences": "ユーザー設定",
|
"navigation_bar.preferences": "ユーザー設定",
|
||||||
"navigation_bar.public_timeline": "連合タイムライン",
|
"navigation_bar.public_timeline": "連合タイムライン",
|
||||||
"navigation_bar.security": "セキュリティ",
|
"navigation_bar.security": "セキュリティ",
|
||||||
"notification.and_n_others": "と、その他 {count, plural, one {#} other {#}}",
|
"notification.and_n_others": "と、他 {count} 件",
|
||||||
"notification.favourite": "{name}さんがあなたのトゥートをお気に入りに登録しました",
|
"notification.favourite": "{name}さんがあなたのトゥートをお気に入りに登録しました",
|
||||||
"notification.follow": "{name}さんにフォローされました",
|
"notification.follow": "{name}さんにフォローされました",
|
||||||
"notification.mention": "{name}さんがあなたに返信しました",
|
"notification.mention": "{name}さんがあなたに返信しました",
|
||||||
|
|
|
@ -111,10 +111,10 @@
|
||||||
"confirmations.reply.message": "Door nu te reageren overschrijf je de toot die je op dit moment aan het schrijven bent. Weet je zeker dat je verder wil gaan?",
|
"confirmations.reply.message": "Door nu te reageren overschrijf je de toot die je op dit moment aan het schrijven bent. Weet je zeker dat je verder wil gaan?",
|
||||||
"confirmations.unfollow.confirm": "Ontvolgen",
|
"confirmations.unfollow.confirm": "Ontvolgen",
|
||||||
"confirmations.unfollow.message": "Weet je het zeker dat je {name} wilt ontvolgen?",
|
"confirmations.unfollow.message": "Weet je het zeker dat je {name} wilt ontvolgen?",
|
||||||
"conversation.delete": "Delete conversation",
|
"conversation.delete": "Gesprek verwijderen",
|
||||||
"conversation.mark_as_read": "Mark as read",
|
"conversation.mark_as_read": "Als gelezen markeren",
|
||||||
"conversation.open": "View conversation",
|
"conversation.open": "Gesprek tonen",
|
||||||
"conversation.with": "With {names}",
|
"conversation.with": "Met {names}",
|
||||||
"directory.federated": "Fediverse (wat bekend is)",
|
"directory.federated": "Fediverse (wat bekend is)",
|
||||||
"directory.local": "Alleen {domain}",
|
"directory.local": "Alleen {domain}",
|
||||||
"directory.new_arrivals": "Nieuwe accounts",
|
"directory.new_arrivals": "Nieuwe accounts",
|
||||||
|
|
|
@ -16,7 +16,7 @@
|
||||||
"account.follows.empty": "Esse usuário não segue ninguém no momento.",
|
"account.follows.empty": "Esse usuário não segue ninguém no momento.",
|
||||||
"account.follows_you": "Segue você",
|
"account.follows_you": "Segue você",
|
||||||
"account.hide_reblogs": "Esconder compartilhamentos de @{name}",
|
"account.hide_reblogs": "Esconder compartilhamentos de @{name}",
|
||||||
"account.last_status": "Last active",
|
"account.last_status": "Última atividade",
|
||||||
"account.link_verified_on": "A posse desse link foi verificada em {date}",
|
"account.link_verified_on": "A posse desse link foi verificada em {date}",
|
||||||
"account.locked_info": "Essa conta está trancada. Se você a seguir sua solicitação será revisada manualmente.",
|
"account.locked_info": "Essa conta está trancada. Se você a seguir sua solicitação será revisada manualmente.",
|
||||||
"account.media": "Mídia",
|
"account.media": "Mídia",
|
||||||
|
@ -53,7 +53,7 @@
|
||||||
"column.blocks": "Usuários bloqueados",
|
"column.blocks": "Usuários bloqueados",
|
||||||
"column.community": "Local",
|
"column.community": "Local",
|
||||||
"column.direct": "Mensagens diretas",
|
"column.direct": "Mensagens diretas",
|
||||||
"column.directory": "Browse profiles",
|
"column.directory": "Explorar perfis",
|
||||||
"column.domain_blocks": "Domínios escondidos",
|
"column.domain_blocks": "Domínios escondidos",
|
||||||
"column.favourites": "Favoritos",
|
"column.favourites": "Favoritos",
|
||||||
"column.follow_requests": "Seguidores pendentes",
|
"column.follow_requests": "Seguidores pendentes",
|
||||||
|
@ -63,7 +63,7 @@
|
||||||
"column.notifications": "Notificações",
|
"column.notifications": "Notificações",
|
||||||
"column.pins": "Postagens fixadas",
|
"column.pins": "Postagens fixadas",
|
||||||
"column.public": "Global",
|
"column.public": "Global",
|
||||||
"column.status": "Toot",
|
"column.status": "Publicar",
|
||||||
"column_back_button.label": "Voltar",
|
"column_back_button.label": "Voltar",
|
||||||
"column_header.hide_settings": "Esconder configurações",
|
"column_header.hide_settings": "Esconder configurações",
|
||||||
"column_header.moveLeft_settings": "Mover coluna para a esquerda",
|
"column_header.moveLeft_settings": "Mover coluna para a esquerda",
|
||||||
|
@ -101,8 +101,8 @@
|
||||||
"confirmations.delete_list.message": "Você tem certeza que quer deletar permanentemente a lista?",
|
"confirmations.delete_list.message": "Você tem certeza que quer deletar permanentemente a lista?",
|
||||||
"confirmations.domain_block.confirm": "Esconder o domínio inteiro",
|
"confirmations.domain_block.confirm": "Esconder o domínio inteiro",
|
||||||
"confirmations.domain_block.message": "Você quer mesmo bloquear {domain} inteiro? Na maioria dos casos, silenciar ou bloquear alguns usuários é o suficiente e o recomendado. Você não vai ver conteúdo desse domínio em nenhuma das timelines públicas ou nas suas notificações. Seus seguidores desse domínio serão removidos.",
|
"confirmations.domain_block.message": "Você quer mesmo bloquear {domain} inteiro? Na maioria dos casos, silenciar ou bloquear alguns usuários é o suficiente e o recomendado. Você não vai ver conteúdo desse domínio em nenhuma das timelines públicas ou nas suas notificações. Seus seguidores desse domínio serão removidos.",
|
||||||
"confirmations.logout.confirm": "Log out",
|
"confirmations.logout.confirm": "Sair",
|
||||||
"confirmations.logout.message": "Are you sure you want to log out?",
|
"confirmations.logout.message": "Tem certeza que deseja encerrar a sessão?",
|
||||||
"confirmations.mute.confirm": "Silenciar",
|
"confirmations.mute.confirm": "Silenciar",
|
||||||
"confirmations.mute.message": "Você tem certeza de que quer silenciar {name}?",
|
"confirmations.mute.message": "Você tem certeza de que quer silenciar {name}?",
|
||||||
"confirmations.redraft.confirm": "Apagar & usar como rascunho",
|
"confirmations.redraft.confirm": "Apagar & usar como rascunho",
|
||||||
|
@ -113,11 +113,11 @@
|
||||||
"confirmations.unfollow.message": "Você tem certeza de que quer deixar de seguir {name}?",
|
"confirmations.unfollow.message": "Você tem certeza de que quer deixar de seguir {name}?",
|
||||||
"conversation.delete": "Excluir conversa",
|
"conversation.delete": "Excluir conversa",
|
||||||
"conversation.mark_as_read": "Marcar como lida",
|
"conversation.mark_as_read": "Marcar como lida",
|
||||||
"conversation.open": "View conversation",
|
"conversation.open": "Ver conversa",
|
||||||
"conversation.with": "With {names}",
|
"conversation.with": "Com {names}",
|
||||||
"directory.federated": "De fediverso conhecido",
|
"directory.federated": "De fediverso conhecido",
|
||||||
"directory.local": "From {domain} only",
|
"directory.local": "From {domain} only",
|
||||||
"directory.new_arrivals": "New arrivals",
|
"directory.new_arrivals": "Acabaram de chegar",
|
||||||
"directory.recently_active": "Reverta esta propriedade para seu valor padrão",
|
"directory.recently_active": "Reverta esta propriedade para seu valor padrão",
|
||||||
"embed.instructions": "Incorpore esta postagem em seu site copiando o código abaixo.",
|
"embed.instructions": "Incorpore esta postagem em seu site copiando o código abaixo.",
|
||||||
"embed.preview": "Aqui está uma previsão de como ficará:",
|
"embed.preview": "Aqui está uma previsão de como ficará:",
|
||||||
|
@ -174,7 +174,7 @@
|
||||||
"home.column_settings.basic": "Básico",
|
"home.column_settings.basic": "Básico",
|
||||||
"home.column_settings.show_reblogs": "Mostrar compartilhamentos",
|
"home.column_settings.show_reblogs": "Mostrar compartilhamentos",
|
||||||
"home.column_settings.show_replies": "Mostrar as respostas",
|
"home.column_settings.show_replies": "Mostrar as respostas",
|
||||||
"home.column_settings.update_live": "Update in real-time",
|
"home.column_settings.update_live": "Atualizar em tempo real",
|
||||||
"intervals.full.days": "{number, plural, one {# dia} other {# dias}}",
|
"intervals.full.days": "{number, plural, one {# dia} other {# dias}}",
|
||||||
"intervals.full.hours": "{number, plural, one {# hora} other {# horas}}",
|
"intervals.full.hours": "{number, plural, one {# hora} other {# horas}}",
|
||||||
"intervals.full.minutes": "{number, plural, one {# minuto} other {# minutos}}",
|
"intervals.full.minutes": "{number, plural, one {# minuto} other {# minutos}}",
|
||||||
|
@ -240,7 +240,7 @@
|
||||||
"lists.new.title_placeholder": "Novo título da lista",
|
"lists.new.title_placeholder": "Novo título da lista",
|
||||||
"lists.search": "Procurar entre as pessoas que você segue",
|
"lists.search": "Procurar entre as pessoas que você segue",
|
||||||
"lists.subheading": "Suas listas",
|
"lists.subheading": "Suas listas",
|
||||||
"load_pending": "{count, plural, one {# new item} other {# new items}}",
|
"load_pending": "{count, plural, one {# novo item} other {# novos items}}",
|
||||||
"loading_indicator.label": "Carregando...",
|
"loading_indicator.label": "Carregando...",
|
||||||
"media_gallery.toggle_visible": "Esconder/Mostrar",
|
"media_gallery.toggle_visible": "Esconder/Mostrar",
|
||||||
"missing_indicator.label": "Não encontrado",
|
"missing_indicator.label": "Não encontrado",
|
||||||
|
@ -268,7 +268,7 @@
|
||||||
"navigation_bar.preferences": "Preferências",
|
"navigation_bar.preferences": "Preferências",
|
||||||
"navigation_bar.public_timeline": "Global",
|
"navigation_bar.public_timeline": "Global",
|
||||||
"navigation_bar.security": "Segurança",
|
"navigation_bar.security": "Segurança",
|
||||||
"notification.and_n_others": "and {count, plural, one {# other} other {# others}}",
|
"notification.and_n_others": "and {count, plural, one {# outro} other {# outros}}",
|
||||||
"notification.favourite": "{name} adicionou a sua postagem aos favoritos",
|
"notification.favourite": "{name} adicionou a sua postagem aos favoritos",
|
||||||
"notification.follow": "{name} te seguiu",
|
"notification.follow": "{name} te seguiu",
|
||||||
"notification.mention": "{name} te mencionou",
|
"notification.mention": "{name} te mencionou",
|
||||||
|
@ -334,7 +334,7 @@
|
||||||
"search_results.accounts": "Pessoas",
|
"search_results.accounts": "Pessoas",
|
||||||
"search_results.hashtags": "Hashtags",
|
"search_results.hashtags": "Hashtags",
|
||||||
"search_results.statuses": "Toots",
|
"search_results.statuses": "Toots",
|
||||||
"search_results.statuses_fts_disabled": "Searching toots by their content is not enabled on this Mastodon server.",
|
"search_results.statuses_fts_disabled": "Pesquisar toots por seu conteúdo não está habilitado neste servidor Mastodon.",
|
||||||
"search_results.total": "{count, number} {count, plural, one {resultado} other {resultados}}",
|
"search_results.total": "{count, number} {count, plural, one {resultado} other {resultados}}",
|
||||||
"status.admin_account": "Abrir interface de moderação para @{name}",
|
"status.admin_account": "Abrir interface de moderação para @{name}",
|
||||||
"status.admin_status": "Abrir esse status na interface de moderação",
|
"status.admin_status": "Abrir esse status na interface de moderação",
|
||||||
|
@ -389,18 +389,18 @@
|
||||||
"time_remaining.moments": "Momentos restantes",
|
"time_remaining.moments": "Momentos restantes",
|
||||||
"time_remaining.seconds": "{number, plural, one {# segundo restante} other {# segundos restantes}}",
|
"time_remaining.seconds": "{number, plural, one {# segundo restante} other {# segundos restantes}}",
|
||||||
"trends.count_by_accounts": "{count} {rawCount, plural, one {pessoa} other {pessoas}} falando sobre",
|
"trends.count_by_accounts": "{count} {rawCount, plural, one {pessoa} other {pessoas}} falando sobre",
|
||||||
"trends.trending_now": "Trending now",
|
"trends.trending_now": "Em alta no momento",
|
||||||
"ui.beforeunload": "Seu rascunho será perdido se você sair do Mastodon.",
|
"ui.beforeunload": "Seu rascunho será perdido se você sair do Mastodon.",
|
||||||
"upload_area.title": "Arraste e solte para enviar",
|
"upload_area.title": "Arraste e solte para enviar",
|
||||||
"upload_button.label": "Adicionar mídia (JPEG, PNG, GIF, WebM, MP4, MOV)",
|
"upload_button.label": "Adicionar mídia (JPEG, PNG, GIF, WebM, MP4, MOV)",
|
||||||
"upload_error.limit": "Limite de envio de arquivos excedido.",
|
"upload_error.limit": "Limite de envio de arquivos excedido.",
|
||||||
"upload_error.poll": "Envio de arquivos não é permitido com enquetes.",
|
"upload_error.poll": "Envio de arquivos não é permitido com enquetes.",
|
||||||
"upload_form.description": "Descreva a imagem para deficientes visuais",
|
"upload_form.description": "Descreva a imagem para deficientes visuais",
|
||||||
"upload_form.edit": "Edit",
|
"upload_form.edit": "Editar",
|
||||||
"upload_form.undo": "Remover",
|
"upload_form.undo": "Remover",
|
||||||
"upload_modal.analyzing_picture": "Analisando imagem…",
|
"upload_modal.analyzing_picture": "Analisando imagem…",
|
||||||
"upload_modal.apply": "Apply",
|
"upload_modal.apply": "Aplicar",
|
||||||
"upload_modal.description_placeholder": "A quick brown fox jumps over the lazy dog",
|
"upload_modal.description_placeholder": "Grave e cabisbaixo, o filho justo zelava pela querida mãe doente",
|
||||||
"upload_modal.detect_text": "Detectar texto da imagem",
|
"upload_modal.detect_text": "Detectar texto da imagem",
|
||||||
"upload_modal.edit_media": "Edit media",
|
"upload_modal.edit_media": "Edit media",
|
||||||
"upload_modal.hint": "Click or drag the circle on the preview to choose the focal point which will always be in view on all thumbnails.",
|
"upload_modal.hint": "Click or drag the circle on the preview to choose the focal point which will always be in view on all thumbnails.",
|
||||||
|
|
|
@ -111,10 +111,10 @@
|
||||||
"confirmations.reply.message": "Odpovedaním akurát teraz prepíšeš správu, ktorú máš práve rozpísanú. Si si istý/á, že chceš pokračovať?",
|
"confirmations.reply.message": "Odpovedaním akurát teraz prepíšeš správu, ktorú máš práve rozpísanú. Si si istý/á, že chceš pokračovať?",
|
||||||
"confirmations.unfollow.confirm": "Nesleduj",
|
"confirmations.unfollow.confirm": "Nesleduj",
|
||||||
"confirmations.unfollow.message": "Naozaj chceš prestať sledovať {name}?",
|
"confirmations.unfollow.message": "Naozaj chceš prestať sledovať {name}?",
|
||||||
"conversation.delete": "Delete conversation",
|
"conversation.delete": "Vymaž konverzáciu",
|
||||||
"conversation.mark_as_read": "Mark as read",
|
"conversation.mark_as_read": "Označ za prečítané",
|
||||||
"conversation.open": "View conversation",
|
"conversation.open": "Ukáž konverzáciu",
|
||||||
"conversation.with": "With {names}",
|
"conversation.with": "S {names}",
|
||||||
"directory.federated": "Zo známého fedivesmíru",
|
"directory.federated": "Zo známého fedivesmíru",
|
||||||
"directory.local": "Iba z {domain}",
|
"directory.local": "Iba z {domain}",
|
||||||
"directory.new_arrivals": "Nové príchody",
|
"directory.new_arrivals": "Nové príchody",
|
||||||
|
|
|
@ -63,7 +63,7 @@
|
||||||
"column.notifications": "การแจ้งเตือน",
|
"column.notifications": "การแจ้งเตือน",
|
||||||
"column.pins": "โพสต์ที่ปักหมุด",
|
"column.pins": "โพสต์ที่ปักหมุด",
|
||||||
"column.public": "เส้นเวลาที่ติดต่อกับภายนอก",
|
"column.public": "เส้นเวลาที่ติดต่อกับภายนอก",
|
||||||
"column.status": "Toot",
|
"column.status": "โพสต์",
|
||||||
"column_back_button.label": "ย้อนกลับ",
|
"column_back_button.label": "ย้อนกลับ",
|
||||||
"column_header.hide_settings": "ซ่อนการตั้งค่า",
|
"column_header.hide_settings": "ซ่อนการตั้งค่า",
|
||||||
"column_header.moveLeft_settings": "ย้ายคอลัมน์ไปทางซ้าย",
|
"column_header.moveLeft_settings": "ย้ายคอลัมน์ไปทางซ้าย",
|
||||||
|
@ -111,12 +111,12 @@
|
||||||
"confirmations.reply.message": "การตอบกลับตอนนี้จะเขียนทับข้อความที่คุณกำลังเขียน คุณแน่ใจหรือไม่ว่าต้องการดำเนินการต่อ?",
|
"confirmations.reply.message": "การตอบกลับตอนนี้จะเขียนทับข้อความที่คุณกำลังเขียน คุณแน่ใจหรือไม่ว่าต้องการดำเนินการต่อ?",
|
||||||
"confirmations.unfollow.confirm": "เลิกติดตาม",
|
"confirmations.unfollow.confirm": "เลิกติดตาม",
|
||||||
"confirmations.unfollow.message": "คุณแน่ใจหรือไม่ว่าต้องการเลิกติดตาม {name}?",
|
"confirmations.unfollow.message": "คุณแน่ใจหรือไม่ว่าต้องการเลิกติดตาม {name}?",
|
||||||
"conversation.delete": "Delete conversation",
|
"conversation.delete": "ลบการสนทนา",
|
||||||
"conversation.mark_as_read": "Mark as read",
|
"conversation.mark_as_read": "ทำเครื่องหมายว่าอ่านแล้ว",
|
||||||
"conversation.open": "View conversation",
|
"conversation.open": "ดูการสนทนา",
|
||||||
"conversation.with": "With {names}",
|
"conversation.with": "กับ {names}",
|
||||||
"directory.federated": "From known fediverse",
|
"directory.federated": "จากเฟดิเวิร์สที่รู้จัก",
|
||||||
"directory.local": "From {domain} only",
|
"directory.local": "จาก {domain} เท่านั้น",
|
||||||
"directory.new_arrivals": "New arrivals",
|
"directory.new_arrivals": "New arrivals",
|
||||||
"directory.recently_active": "Recently active",
|
"directory.recently_active": "Recently active",
|
||||||
"embed.instructions": "ฝังสถานะนี้ในเว็บไซต์ของคุณโดยคัดลอกโค้ดด้านล่าง",
|
"embed.instructions": "ฝังสถานะนี้ในเว็บไซต์ของคุณโดยคัดลอกโค้ดด้านล่าง",
|
||||||
|
@ -174,7 +174,7 @@
|
||||||
"home.column_settings.basic": "พื้นฐาน",
|
"home.column_settings.basic": "พื้นฐาน",
|
||||||
"home.column_settings.show_reblogs": "แสดงการดัน",
|
"home.column_settings.show_reblogs": "แสดงการดัน",
|
||||||
"home.column_settings.show_replies": "แสดงการตอบกลับ",
|
"home.column_settings.show_replies": "แสดงการตอบกลับ",
|
||||||
"home.column_settings.update_live": "Update in real-time",
|
"home.column_settings.update_live": "อัปเดตตามเวลาจริง",
|
||||||
"intervals.full.days": "{number, plural, other {# วัน}}",
|
"intervals.full.days": "{number, plural, other {# วัน}}",
|
||||||
"intervals.full.hours": "{number, plural, other {# ชั่วโมง}}",
|
"intervals.full.hours": "{number, plural, other {# ชั่วโมง}}",
|
||||||
"intervals.full.minutes": "{number, plural, other {# นาที}}",
|
"intervals.full.minutes": "{number, plural, other {# นาที}}",
|
||||||
|
|
|
@ -103,10 +103,13 @@ function clearAll(state) {
|
||||||
});
|
});
|
||||||
};
|
};
|
||||||
|
|
||||||
function appendMedia(state, media) {
|
function appendMedia(state, media, file) {
|
||||||
const prevSize = state.get('media_attachments').size;
|
const prevSize = state.get('media_attachments').size;
|
||||||
|
|
||||||
return state.withMutations(map => {
|
return state.withMutations(map => {
|
||||||
|
if (media.get('type') === 'image') {
|
||||||
|
media = media.set('file', file);
|
||||||
|
}
|
||||||
map.update('media_attachments', list => list.push(media));
|
map.update('media_attachments', list => list.push(media));
|
||||||
map.set('is_uploading', false);
|
map.set('is_uploading', false);
|
||||||
map.set('resetFileKey', Math.floor((Math.random() * 0x10000)));
|
map.set('resetFileKey', Math.floor((Math.random() * 0x10000)));
|
||||||
|
@ -321,7 +324,7 @@ export default function compose(state = initialState, action) {
|
||||||
case COMPOSE_UPLOAD_REQUEST:
|
case COMPOSE_UPLOAD_REQUEST:
|
||||||
return state.set('is_uploading', true);
|
return state.set('is_uploading', true);
|
||||||
case COMPOSE_UPLOAD_SUCCESS:
|
case COMPOSE_UPLOAD_SUCCESS:
|
||||||
return appendMedia(state, fromJS(action.media));
|
return appendMedia(state, fromJS(action.media), action.file);
|
||||||
case COMPOSE_UPLOAD_FAIL:
|
case COMPOSE_UPLOAD_FAIL:
|
||||||
return state.set('is_uploading', false);
|
return state.set('is_uploading', false);
|
||||||
case COMPOSE_UPLOAD_UNDO:
|
case COMPOSE_UPLOAD_UNDO:
|
||||||
|
|
|
@ -38,10 +38,9 @@ const notificationToMap = notification => ImmutableMap({
|
||||||
});
|
});
|
||||||
|
|
||||||
const normalizeNotification = (state, notification, usePendingItems) => {
|
const normalizeNotification = (state, notification, usePendingItems) => {
|
||||||
const top = state.get('top');
|
const top = state.get('top');
|
||||||
const mounted = state.get('mounted');
|
|
||||||
|
|
||||||
if (usePendingItems || (!top && mounted) || !state.get('pendingItems').isEmpty()) {
|
if (usePendingItems || !state.get('pendingItems').isEmpty()) {
|
||||||
return state.update('pendingItems', list => list.unshift(notificationToMap(notification))).update('unread', unread => unread + 1);
|
return state.update('pendingItems', list => list.unshift(notificationToMap(notification))).update('unread', unread => unread + 1);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -67,7 +66,7 @@ const expandNormalizedNotifications = (state, notifications, next, isLoadingRece
|
||||||
|
|
||||||
return state.withMutations(mutable => {
|
return state.withMutations(mutable => {
|
||||||
if (!items.isEmpty()) {
|
if (!items.isEmpty()) {
|
||||||
usePendingItems = isLoadingRecent && (usePendingItems || (!mutable.get('top') && mutable.get('mounted')) || !mutable.get('pendingItems').isEmpty());
|
usePendingItems = isLoadingRecent && (usePendingItems || !mutable.get('pendingItems').isEmpty());
|
||||||
|
|
||||||
mutable.update(usePendingItems ? 'pendingItems' : 'items', list => {
|
mutable.update(usePendingItems ? 'pendingItems' : 'items', list => {
|
||||||
const lastIndex = 1 + list.findLastIndex(
|
const lastIndex = 1 + list.findLastIndex(
|
||||||
|
|
|
@ -40,7 +40,8 @@ const expandNormalizedTimeline = (state, timeline, statuses, next, isPartial, is
|
||||||
if (timeline.endsWith(':pinned')) {
|
if (timeline.endsWith(':pinned')) {
|
||||||
mMap.set('items', statuses.map(status => status.get('id')));
|
mMap.set('items', statuses.map(status => status.get('id')));
|
||||||
} else if (!statuses.isEmpty()) {
|
} else if (!statuses.isEmpty()) {
|
||||||
usePendingItems = isLoadingRecent && (usePendingItems || !mMap.get('top') || !mMap.get('pendingItems').isEmpty());
|
usePendingItems = isLoadingRecent && (usePendingItems || !mMap.get('pendingItems').isEmpty());
|
||||||
|
|
||||||
mMap.update(usePendingItems ? 'pendingItems' : 'items', ImmutableList(), oldIds => {
|
mMap.update(usePendingItems ? 'pendingItems' : 'items', ImmutableList(), oldIds => {
|
||||||
const newIds = statuses.map(status => status.get('id'));
|
const newIds = statuses.map(status => status.get('id'));
|
||||||
|
|
||||||
|
@ -63,7 +64,7 @@ const expandNormalizedTimeline = (state, timeline, statuses, next, isPartial, is
|
||||||
const updateTimeline = (state, timeline, status, usePendingItems) => {
|
const updateTimeline = (state, timeline, status, usePendingItems) => {
|
||||||
const top = state.getIn([timeline, 'top']);
|
const top = state.getIn([timeline, 'top']);
|
||||||
|
|
||||||
if (usePendingItems || !top || !state.getIn([timeline, 'pendingItems']).isEmpty()) {
|
if (usePendingItems || !state.getIn([timeline, 'pendingItems']).isEmpty()) {
|
||||||
if (state.getIn([timeline, 'pendingItems'], ImmutableList()).includes(status.get('id')) || state.getIn([timeline, 'items'], ImmutableList()).includes(status.get('id'))) {
|
if (state.getIn([timeline, 'pendingItems'], ImmutableList()).includes(status.get('id')) || state.getIn([timeline, 'items'], ImmutableList()).includes(status.get('id'))) {
|
||||||
return state;
|
return state;
|
||||||
}
|
}
|
||||||
|
|
|
@ -6418,13 +6418,17 @@ noscript {
|
||||||
flex: 1 1 auto;
|
flex: 1 1 auto;
|
||||||
padding: 10px 5px;
|
padding: 10px 5px;
|
||||||
padding-right: 15px;
|
padding-right: 15px;
|
||||||
|
word-break: break-all;
|
||||||
|
overflow: hidden;
|
||||||
|
|
||||||
&__info {
|
&__info {
|
||||||
overflow: hidden;
|
overflow: hidden;
|
||||||
|
display: flex;
|
||||||
|
flex-direction: row-reverse;
|
||||||
|
justify-content: space-between;
|
||||||
}
|
}
|
||||||
|
|
||||||
&__relative-time {
|
&__relative-time {
|
||||||
float: right;
|
|
||||||
font-size: 15px;
|
font-size: 15px;
|
||||||
color: $darker-text-color;
|
color: $darker-text-color;
|
||||||
padding-left: 15px;
|
padding-left: 15px;
|
||||||
|
@ -6437,6 +6441,8 @@ noscript {
|
||||||
overflow: hidden;
|
overflow: hidden;
|
||||||
text-overflow: ellipsis;
|
text-overflow: ellipsis;
|
||||||
margin-bottom: 4px;
|
margin-bottom: 4px;
|
||||||
|
flex-basis: 170px;
|
||||||
|
flex-shrink: 1000;
|
||||||
|
|
||||||
a {
|
a {
|
||||||
color: $primary-text-color;
|
color: $primary-text-color;
|
||||||
|
|
|
@ -169,7 +169,7 @@
|
||||||
.grid-4 {
|
.grid-4 {
|
||||||
display: grid;
|
display: grid;
|
||||||
grid-gap: 10px;
|
grid-gap: 10px;
|
||||||
grid-template-columns: 1fr 1fr 1fr 1fr;
|
grid-template-columns: repeat(4, minmax(0, 1fr));
|
||||||
grid-auto-columns: 25%;
|
grid-auto-columns: 25%;
|
||||||
grid-auto-rows: max-content;
|
grid-auto-rows: max-content;
|
||||||
|
|
||||||
|
|
|
@ -95,13 +95,19 @@
|
||||||
|
|
||||||
&__number {
|
&__number {
|
||||||
display: inline-block;
|
display: inline-block;
|
||||||
width: 36px;
|
width: 52px;
|
||||||
font-weight: 700;
|
font-weight: 700;
|
||||||
padding: 0 10px;
|
padding: 0 10px;
|
||||||
|
padding-left: 8px;
|
||||||
text-align: right;
|
text-align: right;
|
||||||
margin-top: auto;
|
margin-top: auto;
|
||||||
margin-bottom: auto;
|
margin-bottom: auto;
|
||||||
flex: 0 0 36px;
|
flex: 0 0 52px;
|
||||||
|
}
|
||||||
|
|
||||||
|
&__vote__mark {
|
||||||
|
float: left;
|
||||||
|
line-height: 18px;
|
||||||
}
|
}
|
||||||
|
|
||||||
&__footer {
|
&__footer {
|
||||||
|
|
|
@ -21,7 +21,7 @@ class ActivityPub::Activity::Follow < ActivityPub::Activity
|
||||||
|
|
||||||
follow_request = FollowRequest.create!(account: @account, target_account: target_account, uri: @json['id'])
|
follow_request = FollowRequest.create!(account: @account, target_account: target_account, uri: @json['id'])
|
||||||
|
|
||||||
if target_account.locked?
|
if target_account.locked? || @account.silenced?
|
||||||
NotifyService.new.call(target_account, follow_request)
|
NotifyService.new.call(target_account, follow_request)
|
||||||
else
|
else
|
||||||
AuthorizeFollowService.new.call(@account, target_account)
|
AuthorizeFollowService.new.call(@account, target_account)
|
||||||
|
|
|
@ -45,7 +45,7 @@ class TOCGenerator
|
||||||
parsed_html.traverse do |node|
|
parsed_html.traverse do |node|
|
||||||
next unless TARGET_ELEMENTS.include?(node.name)
|
next unless TARGET_ELEMENTS.include?(node.name)
|
||||||
|
|
||||||
anchor = node['id'] || node.text.parameterize
|
anchor = node['id'] || node.text.parameterize.presence || 'sec'
|
||||||
@slugs[anchor] += 1
|
@slugs[anchor] += 1
|
||||||
anchor = "#{anchor}-#{@slugs[anchor]}" if @slugs[anchor] > 1
|
anchor = "#{anchor}-#{@slugs[anchor]}" if @slugs[anchor] > 1
|
||||||
|
|
||||||
|
|
|
@ -47,8 +47,7 @@ class AccountMigration < ApplicationRecord
|
||||||
end
|
end
|
||||||
|
|
||||||
def acct=(val)
|
def acct=(val)
|
||||||
val = val.to_s.strip
|
super(val.to_s.strip.gsub(/\A@/, ''))
|
||||||
super(val.start_with?('@') ? val[1..-1] : val)
|
|
||||||
end
|
end
|
||||||
|
|
||||||
private
|
private
|
||||||
|
|
|
@ -3,24 +3,50 @@
|
||||||
module LdapAuthenticable
|
module LdapAuthenticable
|
||||||
extend ActiveSupport::Concern
|
extend ActiveSupport::Concern
|
||||||
|
|
||||||
def ldap_setup(_attributes)
|
|
||||||
self.confirmed_at = Time.now.utc
|
|
||||||
self.admin = false
|
|
||||||
self.external = true
|
|
||||||
|
|
||||||
save!
|
|
||||||
end
|
|
||||||
|
|
||||||
class_methods do
|
class_methods do
|
||||||
|
def authenticate_with_ldap(params = {})
|
||||||
|
ldap = Net::LDAP.new(ldap_options)
|
||||||
|
filter = format(Devise.ldap_search_filter, uid: Devise.ldap_uid, email: params[:email])
|
||||||
|
|
||||||
|
if (user_info = ldap.bind_as(base: Devise.ldap_base, filter: filter, password: params[:password]))
|
||||||
|
ldap_get_user(user_info.first)
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
def ldap_get_user(attributes = {})
|
def ldap_get_user(attributes = {})
|
||||||
resource = joins(:account).find_by(accounts: { username: attributes[Devise.ldap_uid.to_sym].first })
|
resource = joins(:account).find_by(accounts: { username: attributes[Devise.ldap_uid.to_sym].first })
|
||||||
|
|
||||||
if resource.blank?
|
if resource.blank?
|
||||||
resource = new(email: attributes[:mail].first, agreement: true, account_attributes: { username: attributes[Devise.ldap_uid.to_sym].first })
|
resource = new(email: attributes[:mail].first, agreement: true, account_attributes: { username: attributes[Devise.ldap_uid.to_sym].first }, admin: false, external: true, confirmed_at: Time.now.utc)
|
||||||
resource.ldap_setup(attributes)
|
resource.save!
|
||||||
end
|
end
|
||||||
|
|
||||||
resource
|
resource
|
||||||
end
|
end
|
||||||
|
|
||||||
|
def ldap_options
|
||||||
|
opts = {
|
||||||
|
host: Devise.ldap_host,
|
||||||
|
port: Devise.ldap_port,
|
||||||
|
base: Devise.ldap_base,
|
||||||
|
|
||||||
|
auth: {
|
||||||
|
method: :simple,
|
||||||
|
username: Devise.ldap_bind_dn,
|
||||||
|
password: Devise.ldap_password,
|
||||||
|
},
|
||||||
|
|
||||||
|
connect_timeout: 10,
|
||||||
|
}
|
||||||
|
|
||||||
|
if [:simple_tls, :start_tls].include?(Devise.ldap_method)
|
||||||
|
opts[:encryption] = {
|
||||||
|
method: Devise.ldap_method,
|
||||||
|
tls_options: OpenSSL::SSL::SSLContext::DEFAULT_PARAMS.tap { |options| options[:verify_mode] = OpenSSL::SSL::VERIFY_NONE if Devise.ldap_tls_no_verify },
|
||||||
|
}
|
||||||
|
end
|
||||||
|
|
||||||
|
opts
|
||||||
|
end
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
|
@ -0,0 +1,47 @@
|
||||||
|
# frozen_string_literal: true
|
||||||
|
|
||||||
|
class Form::Redirect
|
||||||
|
include ActiveModel::Model
|
||||||
|
|
||||||
|
attr_accessor :account, :target_account, :current_password,
|
||||||
|
:current_username
|
||||||
|
|
||||||
|
attr_reader :acct
|
||||||
|
|
||||||
|
validates :acct, presence: true, domain: { acct: true }
|
||||||
|
validate :validate_target_account
|
||||||
|
|
||||||
|
def valid_with_challenge?(current_user)
|
||||||
|
if current_user.encrypted_password.present?
|
||||||
|
errors.add(:current_password, :invalid) unless current_user.valid_password?(current_password)
|
||||||
|
else
|
||||||
|
errors.add(:current_username, :invalid) unless account.username == current_username
|
||||||
|
end
|
||||||
|
|
||||||
|
return false unless errors.empty?
|
||||||
|
|
||||||
|
set_target_account
|
||||||
|
valid?
|
||||||
|
end
|
||||||
|
|
||||||
|
def acct=(val)
|
||||||
|
@acct = val.to_s.strip.gsub(/\A@/, '')
|
||||||
|
end
|
||||||
|
|
||||||
|
private
|
||||||
|
|
||||||
|
def set_target_account
|
||||||
|
@target_account = ResolveAccountService.new.call(acct)
|
||||||
|
rescue Goldfinger::Error, HTTP::Error, OpenSSL::SSL::SSLError, Mastodon::Error
|
||||||
|
# Validation will take care of it
|
||||||
|
end
|
||||||
|
|
||||||
|
def validate_target_account
|
||||||
|
if target_account.nil?
|
||||||
|
errors.add(:acct, I18n.t('migrations.errors.not_found'))
|
||||||
|
else
|
||||||
|
errors.add(:acct, I18n.t('migrations.errors.already_moved')) if account.moved_to_account_id.present? && account.moved_to_account_id == target_account.id
|
||||||
|
errors.add(:acct, I18n.t('migrations.errors.move_to_self')) if account.id == target_account.id
|
||||||
|
end
|
||||||
|
end
|
||||||
|
end
|
|
@ -54,6 +54,10 @@ class Poll < ApplicationRecord
|
||||||
account.id == account_id || votes.where(account: account).exists?
|
account.id == account_id || votes.where(account: account).exists?
|
||||||
end
|
end
|
||||||
|
|
||||||
|
def own_votes(account)
|
||||||
|
votes.where(account: account).pluck(:choice)
|
||||||
|
end
|
||||||
|
|
||||||
delegate :local?, to: :account
|
delegate :local?, to: :account
|
||||||
|
|
||||||
def remote?
|
def remote?
|
||||||
|
|
|
@ -47,6 +47,10 @@ class PreviewCard < ApplicationRecord
|
||||||
|
|
||||||
before_save :extract_dimensions, if: :link?
|
before_save :extract_dimensions, if: :link?
|
||||||
|
|
||||||
|
def missing_image?
|
||||||
|
width.present? && height.present? && image_file_name.blank?
|
||||||
|
end
|
||||||
|
|
||||||
def save_with_optional_image!
|
def save_with_optional_image!
|
||||||
save!
|
save!
|
||||||
rescue ActiveRecord::RecordInvalid
|
rescue ActiveRecord::RecordInvalid
|
||||||
|
|
|
@ -12,8 +12,6 @@
|
||||||
#
|
#
|
||||||
|
|
||||||
class Relay < ApplicationRecord
|
class Relay < ApplicationRecord
|
||||||
PRESET_RELAY = 'https://relay.joinmastodon.org/inbox'
|
|
||||||
|
|
||||||
validates :inbox_url, presence: true, uniqueness: true, url: true, if: :will_save_change_to_inbox_url?
|
validates :inbox_url, presence: true, uniqueness: true, url: true, if: :will_save_change_to_inbox_url?
|
||||||
|
|
||||||
enum state: [:idle, :pending, :accepted, :rejected]
|
enum state: [:idle, :pending, :accepted, :rejected]
|
||||||
|
@ -74,7 +72,6 @@ class Relay < ApplicationRecord
|
||||||
end
|
end
|
||||||
|
|
||||||
def ensure_disabled
|
def ensure_disabled
|
||||||
return unless enabled?
|
disable! if enabled?
|
||||||
disable!
|
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
|
@ -305,7 +305,7 @@ class Status < ApplicationRecord
|
||||||
end
|
end
|
||||||
|
|
||||||
def reblogs_map(status_ids, account_id)
|
def reblogs_map(status_ids, account_id)
|
||||||
select('reblog_of_id').where(reblog_of_id: status_ids).where(account_id: account_id).reorder(nil).each_with_object({}) { |s, h| h[s.reblog_of_id] = true }
|
unscoped.select('reblog_of_id').where(reblog_of_id: status_ids).where(account_id: account_id).each_with_object({}) { |s, h| h[s.reblog_of_id] = true }
|
||||||
end
|
end
|
||||||
|
|
||||||
def mutes_map(conversation_ids, account_id)
|
def mutes_map(conversation_ids, account_id)
|
||||||
|
|
|
@ -124,16 +124,15 @@ class Tag < ApplicationRecord
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
def search_for(term, limit = 5, offset = 0)
|
def search_for(term, limit = 5, offset = 0, options = {})
|
||||||
normalized_term = normalize(term.strip).mb_chars.downcase.to_s
|
normalized_term = normalize(term.strip).mb_chars.downcase.to_s
|
||||||
pattern = sanitize_sql_like(normalized_term) + '%'
|
pattern = sanitize_sql_like(normalized_term) + '%'
|
||||||
|
query = Tag.listable.where(arel_table[:name].lower.matches(pattern))
|
||||||
|
query = query.where(arel_table[:name].lower.eq(normalized_term).or(arel_table[:reviewed_at].not_eq(nil))) if options[:exclude_unreviewed]
|
||||||
|
|
||||||
Tag.listable
|
query.order(Arel.sql('length(name) ASC, name ASC'))
|
||||||
.where(arel_table[:name].lower.matches(pattern))
|
.limit(limit)
|
||||||
.where(arel_table[:name].lower.eq(normalized_term).or(arel_table[:reviewed_at].not_eq(nil)))
|
.offset(offset)
|
||||||
.order(Arel.sql('length(name) ASC, name ASC'))
|
|
||||||
.limit(limit)
|
|
||||||
.offset(offset)
|
|
||||||
end
|
end
|
||||||
|
|
||||||
def find_normalized(name)
|
def find_normalized(name)
|
||||||
|
|
|
@ -20,6 +20,10 @@ class Web::PushSubscription < ApplicationRecord
|
||||||
|
|
||||||
has_one :session_activation, foreign_key: 'web_push_subscription_id', inverse_of: :web_push_subscription
|
has_one :session_activation, foreign_key: 'web_push_subscription_id', inverse_of: :web_push_subscription
|
||||||
|
|
||||||
|
validates :endpoint, presence: true
|
||||||
|
validates :key_p256dh, presence: true
|
||||||
|
validates :key_auth, presence: true
|
||||||
|
|
||||||
def push(notification)
|
def push(notification)
|
||||||
I18n.with_locale(associated_user&.locale || I18n.default_locale) do
|
I18n.with_locale(associated_user&.locale || I18n.default_locale) do
|
||||||
push_payload(payload_for_notification(notification), 48.hours.seconds)
|
push_payload(payload_for_notification(notification), 48.hours.seconds)
|
||||||
|
|
|
@ -12,6 +12,7 @@ class REST::CredentialAccountSerializer < REST::AccountSerializer
|
||||||
language: user.setting_default_language,
|
language: user.setting_default_language,
|
||||||
note: object.note,
|
note: object.note,
|
||||||
fields: object.fields.map(&:to_h),
|
fields: object.fields.map(&:to_h),
|
||||||
|
follow_requests_count: FollowRequest.where(target_account: object).limit(40).count,
|
||||||
}
|
}
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
|
@ -8,6 +8,7 @@ class REST::PollSerializer < ActiveModel::Serializer
|
||||||
has_many :emojis, serializer: REST::CustomEmojiSerializer
|
has_many :emojis, serializer: REST::CustomEmojiSerializer
|
||||||
|
|
||||||
attribute :voted, if: :current_user?
|
attribute :voted, if: :current_user?
|
||||||
|
attribute :own_votes, if: :current_user?
|
||||||
|
|
||||||
def id
|
def id
|
||||||
object.id.to_s
|
object.id.to_s
|
||||||
|
@ -21,6 +22,10 @@ class REST::PollSerializer < ActiveModel::Serializer
|
||||||
object.voted?(current_user.account)
|
object.voted?(current_user.account)
|
||||||
end
|
end
|
||||||
|
|
||||||
|
def own_votes
|
||||||
|
object.own_votes(current_user.account)
|
||||||
|
end
|
||||||
|
|
||||||
def current_user?
|
def current_user?
|
||||||
!current_user.nil?
|
!current_user.nil?
|
||||||
end
|
end
|
||||||
|
|
|
@ -42,11 +42,9 @@ class AccountSearchService < BaseService
|
||||||
return [] if limit_for_non_exact_results.zero?
|
return [] if limit_for_non_exact_results.zero?
|
||||||
|
|
||||||
@search_results ||= begin
|
@search_results ||= begin
|
||||||
if Chewy.enabled?
|
results = from_elasticsearch if Chewy.enabled?
|
||||||
from_elasticsearch
|
results ||= from_database
|
||||||
else
|
results
|
||||||
from_database
|
|
||||||
end
|
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
|
@ -92,6 +90,8 @@ class AccountSearchService < BaseService
|
||||||
ActiveRecord::Associations::Preloader.new.preload(records, :account_stat)
|
ActiveRecord::Associations::Preloader.new.preload(records, :account_stat)
|
||||||
|
|
||||||
records
|
records
|
||||||
|
rescue Faraday::ConnectionFailed, Parslet::ParseFailed
|
||||||
|
nil
|
||||||
end
|
end
|
||||||
|
|
||||||
def reputation_score_function
|
def reputation_score_function
|
||||||
|
|
|
@ -22,7 +22,7 @@ class FetchLinkCardService < BaseService
|
||||||
RedisLock.acquire(lock_options) do |lock|
|
RedisLock.acquire(lock_options) do |lock|
|
||||||
if lock.acquired?
|
if lock.acquired?
|
||||||
@card = PreviewCard.find_by(url: @url)
|
@card = PreviewCard.find_by(url: @url)
|
||||||
process_url if @card.nil? || @card.updated_at <= 2.weeks.ago
|
process_url if @card.nil? || @card.updated_at <= 2.weeks.ago || @card.missing_image?
|
||||||
else
|
else
|
||||||
raise Mastodon::RaceConditionError
|
raise Mastodon::RaceConditionError
|
||||||
end
|
end
|
||||||
|
|
|
@ -30,7 +30,7 @@ class FollowService < BaseService
|
||||||
|
|
||||||
ActivityTracker.increment('activity:interactions')
|
ActivityTracker.increment('activity:interactions')
|
||||||
|
|
||||||
if target_account.locked? || target_account.activitypub?
|
if target_account.locked? || source_account.silenced? || target_account.activitypub?
|
||||||
request_follow(source_account, target_account, reblogs: reblogs)
|
request_follow(source_account, target_account, reblogs: reblogs)
|
||||||
elsif target_account.local?
|
elsif target_account.local?
|
||||||
direct_follow(source_account, target_account, reblogs: reblogs)
|
direct_follow(source_account, target_account, reblogs: reblogs)
|
||||||
|
|
|
@ -60,7 +60,8 @@ class SearchService < BaseService
|
||||||
TagSearchService.new.call(
|
TagSearchService.new.call(
|
||||||
@query,
|
@query,
|
||||||
limit: @limit,
|
limit: @limit,
|
||||||
offset: @offset
|
offset: @offset,
|
||||||
|
exclude_unreviewed: @options[:exclude_unreviewed]
|
||||||
)
|
)
|
||||||
end
|
end
|
||||||
|
|
||||||
|
|
|
@ -2,15 +2,15 @@
|
||||||
|
|
||||||
class TagSearchService < BaseService
|
class TagSearchService < BaseService
|
||||||
def call(query, options = {})
|
def call(query, options = {})
|
||||||
@query = query.strip.gsub(/\A#/, '')
|
@query = query.strip.gsub(/\A#/, '')
|
||||||
@offset = options[:offset].to_i
|
@offset = options.delete(:offset).to_i
|
||||||
@limit = options[:limit].to_i
|
@limit = options.delete(:limit).to_i
|
||||||
|
@options = options
|
||||||
|
|
||||||
if Chewy.enabled?
|
results = from_elasticsearch if Chewy.enabled?
|
||||||
from_elasticsearch
|
results ||= from_database
|
||||||
else
|
|
||||||
from_database
|
results
|
||||||
end
|
|
||||||
end
|
end
|
||||||
|
|
||||||
private
|
private
|
||||||
|
@ -63,9 +63,9 @@ class TagSearchService < BaseService
|
||||||
},
|
},
|
||||||
|
|
||||||
{
|
{
|
||||||
term: {
|
match: {
|
||||||
name: {
|
name: {
|
||||||
value: @query,
|
query: @query,
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
|
@ -73,10 +73,15 @@ class TagSearchService < BaseService
|
||||||
},
|
},
|
||||||
}
|
}
|
||||||
|
|
||||||
TagsIndex.query(query).filter(filter).limit(@limit).offset(@offset).objects.compact
|
definition = TagsIndex.query(query)
|
||||||
|
definition = definition.filter(filter) if @options[:exclude_unreviewed]
|
||||||
|
|
||||||
|
definition.limit(@limit).offset(@offset).objects.compact
|
||||||
|
rescue Faraday::ConnectionFailed, Parslet::ParseFailed
|
||||||
|
nil
|
||||||
end
|
end
|
||||||
|
|
||||||
def from_database
|
def from_database
|
||||||
Tag.search_for(@query, @limit, @offset)
|
Tag.search_for(@query, @limit, @offset, @options)
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
|
@ -20,7 +20,9 @@ class UpdateAccountService < BaseService
|
||||||
private
|
private
|
||||||
|
|
||||||
def authorize_all_follow_requests(account)
|
def authorize_all_follow_requests(account)
|
||||||
AuthorizeFollowWorker.push_bulk(FollowRequest.where(target_account: account).select(:account_id, :target_account_id)) do |req|
|
follow_requests = FollowRequest.where(target_account: account)
|
||||||
|
follow_requests = follow_requests.select { |req| !req.account.silenced? }
|
||||||
|
AuthorizeFollowWorker.push_bulk(follow_requests) do |req|
|
||||||
[req.account_id, req.target_account_id]
|
[req.account_id, req.target_account_id]
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
|
@ -43,8 +43,10 @@
|
||||||
|
|
||||||
= form_for(@form, url: batch_admin_tags_path) do |f|
|
= form_for(@form, url: batch_admin_tags_path) do |f|
|
||||||
= hidden_field_tag :page, params[:page] || 1
|
= hidden_field_tag :page, params[:page] || 1
|
||||||
= hidden_field_tag :context, params[:context]
|
= hidden_field_tag :name, params[:name] if params[:name].present?
|
||||||
= hidden_field_tag :review, params[:review]
|
|
||||||
|
- Admin::FilterHelper::TAGS_FILTERS.each do |key|
|
||||||
|
= hidden_field_tag key, params[key] if params[key].present?
|
||||||
|
|
||||||
.batch-table
|
.batch-table
|
||||||
.batch-table__toolbar
|
.batch-table__toolbar
|
||||||
|
|
|
@ -30,7 +30,18 @@
|
||||||
|
|
||||||
= render 'sessions'
|
= render 'sessions'
|
||||||
|
|
||||||
|
%hr.spacer/
|
||||||
|
|
||||||
|
%h3= t('auth.migrate_account')
|
||||||
|
%p.muted-hint= t('auth.migrate_account_html', path: settings_migration_path)
|
||||||
|
|
||||||
|
%hr.spacer/
|
||||||
|
|
||||||
|
%h3= t('migrations.incoming_migrations')
|
||||||
|
%p.muted-hint= t('migrations.incoming_migrations_html', path: settings_aliases_path)
|
||||||
|
|
||||||
- if open_deletion? && !current_account.suspended?
|
- if open_deletion? && !current_account.suspended?
|
||||||
%hr.spacer/
|
%hr.spacer/
|
||||||
|
|
||||||
%h3= t('auth.delete_account')
|
%h3= t('auth.delete_account')
|
||||||
%p.muted-hint= t('auth.delete_account_html', path: settings_delete_path)
|
%p.muted-hint= t('auth.delete_account_html', path: settings_delete_path)
|
||||||
|
|
|
@ -0,0 +1,27 @@
|
||||||
|
- content_for :page_title do
|
||||||
|
= t('settings.migrate')
|
||||||
|
|
||||||
|
= simple_form_for @redirect, url: settings_migration_redirect_path do |f|
|
||||||
|
%p.hint= t('migrations.warning.before')
|
||||||
|
|
||||||
|
%ul.hint
|
||||||
|
%li.warning-hint= t('migrations.warning.redirect')
|
||||||
|
%li.warning-hint= t('migrations.warning.other_data')
|
||||||
|
%li.warning-hint= t('migrations.warning.disabled_account')
|
||||||
|
|
||||||
|
%hr.spacer/
|
||||||
|
|
||||||
|
= render 'shared/error_messages', object: @redirect
|
||||||
|
|
||||||
|
.fields-row
|
||||||
|
.fields-row__column.fields-group.fields-row__column-6
|
||||||
|
= f.input :acct, wrapper: :with_block_label, input_html: { autocapitalize: 'none', autocorrect: 'off' }, label: t('simple_form.labels.account_migration.acct'), hint: t('simple_form.hints.account_migration.acct')
|
||||||
|
|
||||||
|
.fields-row__column.fields-group.fields-row__column-6
|
||||||
|
- if current_user.encrypted_password.present?
|
||||||
|
= f.input :current_password, wrapper: :with_block_label, input_html: { :autocomplete => 'off' }, required: true
|
||||||
|
- else
|
||||||
|
= f.input :current_username, wrapper: :with_block_label, input_html: { :autocomplete => 'off' }, required: true
|
||||||
|
|
||||||
|
.actions
|
||||||
|
= f.button :button, t('migrations.set_redirect'), type: :submit, class: 'button button--destructive'
|
|
@ -12,28 +12,32 @@
|
||||||
|
|
||||||
%p.hint= t('migrations.cancel_explanation')
|
%p.hint= t('migrations.cancel_explanation')
|
||||||
|
|
||||||
%p.hint= link_to t('migrations.cancel'), cancel_settings_migration_path, data: { method: :post }
|
%p.hint= link_to t('migrations.cancel'), settings_migration_redirect_path, data: { method: :delete }
|
||||||
- else
|
- else
|
||||||
%p.hint
|
%p.hint
|
||||||
%span.positive-hint= t('migrations.not_redirecting')
|
%span.positive-hint= t('migrations.not_redirecting')
|
||||||
|
|
||||||
%hr.spacer/
|
%hr.spacer/
|
||||||
|
|
||||||
%h3= t 'migrations.proceed_with_move'
|
%h3= t('auth.migrate_account')
|
||||||
|
|
||||||
= simple_form_for @migration, url: settings_migration_path do |f|
|
= simple_form_for @migration, url: settings_migration_path do |f|
|
||||||
- if on_cooldown?
|
- if on_cooldown?
|
||||||
%span.warning-hint= t('migrations.on_cooldown', count: ((@cooldown.cooldown_at - Time.now.utc) / 1.day.seconds).ceil)
|
%p.hint
|
||||||
|
%span.warning-hint= t('migrations.on_cooldown', count: ((@cooldown.cooldown_at - Time.now.utc) / 1.day.seconds).ceil)
|
||||||
- else
|
- else
|
||||||
%p.hint= t('migrations.warning.before')
|
%p.hint= t('migrations.warning.before')
|
||||||
|
|
||||||
%ul.hint
|
%ul.hint
|
||||||
%li.warning-hint= t('migrations.warning.followers')
|
%li.warning-hint= t('migrations.warning.followers')
|
||||||
|
%li.warning-hint= t('migrations.warning.redirect')
|
||||||
%li.warning-hint= t('migrations.warning.other_data')
|
%li.warning-hint= t('migrations.warning.other_data')
|
||||||
%li.warning-hint= t('migrations.warning.backreference_required')
|
%li.warning-hint= t('migrations.warning.backreference_required')
|
||||||
%li.warning-hint= t('migrations.warning.cooldown')
|
%li.warning-hint= t('migrations.warning.cooldown')
|
||||||
%li.warning-hint= t('migrations.warning.disabled_account')
|
%li.warning-hint= t('migrations.warning.disabled_account')
|
||||||
|
|
||||||
|
%p.hint= t('migrations.warning.only_redirect_html', path: new_settings_migration_redirect_path)
|
||||||
|
|
||||||
%hr.spacer/
|
%hr.spacer/
|
||||||
|
|
||||||
= render 'shared/error_messages', object: @migration
|
= render 'shared/error_messages', object: @migration
|
||||||
|
|
|
@ -1,15 +1,19 @@
|
||||||
- show_results = (user_signed_in? && poll.voted?(current_account)) || poll.expired?
|
- show_results = (user_signed_in? && poll.voted?(current_account)) || poll.expired?
|
||||||
|
- own_votes = user_signed_in? ? poll.own_votes(current_account) : []
|
||||||
|
|
||||||
.poll
|
.poll
|
||||||
%ul
|
%ul
|
||||||
- poll.loaded_options.each do |option|
|
- poll.loaded_options.each_with_index do |option, index|
|
||||||
%li
|
%li
|
||||||
- if show_results
|
- if show_results
|
||||||
- percent = poll.votes_count > 0 ? 100 * option.votes_count / poll.votes_count : 0
|
- percent = poll.votes_count > 0 ? 100 * option.votes_count / poll.votes_count : 0
|
||||||
%span.poll__chart{ style: "width: #{percent}%" }
|
%span.poll__chart{ style: "width: #{percent}%" }
|
||||||
|
|
||||||
%label.poll__text><
|
%label.poll__text><
|
||||||
%span.poll__number= percent.round
|
%span.poll__number><
|
||||||
|
- if own_votes.include?(index)
|
||||||
|
%i.poll__vote__mark.fa.fa-check
|
||||||
|
= percent.round
|
||||||
= Formatter.instance.format_poll_option(status, option, autoplay: autoplay)
|
= Formatter.instance.format_poll_option(status, option, autoplay: autoplay)
|
||||||
- else
|
- else
|
||||||
%label.poll__text><
|
%label.poll__text><
|
||||||
|
|
|
@ -13,7 +13,8 @@ require_relative '../lib/paperclip/video_transcoder'
|
||||||
require_relative '../lib/paperclip/type_corrector'
|
require_relative '../lib/paperclip/type_corrector'
|
||||||
require_relative '../lib/mastodon/snowflake'
|
require_relative '../lib/mastodon/snowflake'
|
||||||
require_relative '../lib/mastodon/version'
|
require_relative '../lib/mastodon/version'
|
||||||
require_relative '../lib/devise/ldap_authenticatable'
|
require_relative '../lib/devise/two_factor_ldap_authenticatable'
|
||||||
|
require_relative '../lib/devise/two_factor_pam_authenticatable'
|
||||||
|
|
||||||
Dotenv::Railtie.load
|
Dotenv::Railtie.load
|
||||||
|
|
||||||
|
|
|
@ -71,13 +71,10 @@ end
|
||||||
|
|
||||||
Devise.setup do |config|
|
Devise.setup do |config|
|
||||||
config.warden do |manager|
|
config.warden do |manager|
|
||||||
manager.default_strategies(scope: :user).unshift :database_authenticatable
|
manager.default_strategies(scope: :user).unshift :two_factor_ldap_authenticatable if Devise.ldap_authentication
|
||||||
manager.default_strategies(scope: :user).unshift :ldap_authenticatable if Devise.ldap_authentication
|
manager.default_strategies(scope: :user).unshift :two_factor_pam_authenticatable if Devise.pam_authentication
|
||||||
manager.default_strategies(scope: :user).unshift :pam_authenticatable if Devise.pam_authentication
|
manager.default_strategies(scope: :user).unshift :two_factor_authenticatable
|
||||||
|
manager.default_strategies(scope: :user).unshift :two_factor_backupable
|
||||||
# We handle 2FA in our own sessions controller so this gets in the way
|
|
||||||
manager.default_strategies(scope: :user).delete :two_factor_backupable
|
|
||||||
manager.default_strategies(scope: :user).delete :two_factor_authenticatable
|
|
||||||
end
|
end
|
||||||
|
|
||||||
# The secret key used by Devise. Devise uses this key to generate
|
# The secret key used by Devise. Devise uses this key to generate
|
||||||
|
|
|
@ -3,4 +3,6 @@ HealthCheck.setup do |config|
|
||||||
|
|
||||||
config.standard_checks = %w(database migrations cache)
|
config.standard_checks = %w(database migrations cache)
|
||||||
config.full_checks = %w(database migrations cache)
|
config.full_checks = %w(database migrations cache)
|
||||||
|
|
||||||
|
config.include_error_in_response_body = false
|
||||||
end
|
end
|
||||||
|
|
|
@ -25,6 +25,7 @@ if ENV['S3_ENABLED'] == 'true'
|
||||||
s3_protocol: s3_protocol,
|
s3_protocol: s3_protocol,
|
||||||
s3_host_name: s3_hostname,
|
s3_host_name: s3_hostname,
|
||||||
s3_headers: {
|
s3_headers: {
|
||||||
|
'X-Amz-Multipart-Threshold' => ENV.fetch('S3_MULTIPART_THRESHOLD') { 15.megabytes }.to_i,
|
||||||
'Cache-Control' => 'public, max-age=315576000, immutable',
|
'Cache-Control' => 'public, max-age=315576000, immutable',
|
||||||
},
|
},
|
||||||
s3_permissions: ENV.fetch('S3_PERMISSION') { 'public-read' },
|
s3_permissions: ENV.fetch('S3_PERMISSION') { 'public-read' },
|
||||||
|
|
|
@ -1,17 +1 @@
|
||||||
---
|
--- {}
|
||||||
es:
|
|
||||||
activerecord:
|
|
||||||
attributes:
|
|
||||||
poll:
|
|
||||||
expires_at: Vencimiento
|
|
||||||
options: Opciones
|
|
||||||
errors:
|
|
||||||
models:
|
|
||||||
account:
|
|
||||||
attributes:
|
|
||||||
username:
|
|
||||||
invalid: sólo letras, números y guiones bajos
|
|
||||||
status:
|
|
||||||
attributes:
|
|
||||||
reblog:
|
|
||||||
taken: del estado ya existe
|
|
||||||
|
|
|
@ -10,7 +10,7 @@ ar:
|
||||||
api: واجهة برمجة التطبيقات
|
api: واجهة برمجة التطبيقات
|
||||||
apps: تطبيقات الأجهزة المحمولة
|
apps: تطبيقات الأجهزة المحمولة
|
||||||
apps_platforms: إستخدم ماستودون في iOS، أندرويد وأنظمة أخرى
|
apps_platforms: إستخدم ماستودون في iOS، أندرويد وأنظمة أخرى
|
||||||
browse_directory: تصفح دليل المستخدمين وافرز بالمصالح
|
browse_directory: تصفح دليل الصفحات التعريفية وصفّي بحسب الإهتمام
|
||||||
browse_public_posts: تصفح تيارًا مباشرًا مِن منشورات عامة على ماستدون
|
browse_public_posts: تصفح تيارًا مباشرًا مِن منشورات عامة على ماستدون
|
||||||
contact: للتواصل معنا
|
contact: للتواصل معنا
|
||||||
contact_missing: لم يتم تعيينه
|
contact_missing: لم يتم تعيينه
|
||||||
|
@ -36,6 +36,9 @@ ar:
|
||||||
status_count_before: نشروا
|
status_count_before: نشروا
|
||||||
tagline: اتبع أصدقائك وصديقاتك واكتشف آخرين وأخريات
|
tagline: اتبع أصدقائك وصديقاتك واكتشف آخرين وأخريات
|
||||||
terms: شروط الخدمة
|
terms: شروط الخدمة
|
||||||
|
unavailable_content: محتوى غير متوفر
|
||||||
|
unavailable_content_description:
|
||||||
|
reason: 'السبب:'
|
||||||
user_count_after:
|
user_count_after:
|
||||||
few: مستخدمين
|
few: مستخدمين
|
||||||
many: مستخدمين
|
many: مستخدمين
|
||||||
|
@ -82,7 +85,7 @@ ar:
|
||||||
admin: المدير
|
admin: المدير
|
||||||
bot: روبوت
|
bot: روبوت
|
||||||
moderator: مُشرِف
|
moderator: مُشرِف
|
||||||
unavailable: الحساب غير متوفر
|
unavailable: الصفحة التعريفية غير متوفرة
|
||||||
unfollow: إلغاء المتابعة
|
unfollow: إلغاء المتابعة
|
||||||
admin:
|
admin:
|
||||||
account_actions:
|
account_actions:
|
||||||
|
@ -154,12 +157,12 @@ ar:
|
||||||
outbox_url: رابط صندوق الصادر
|
outbox_url: رابط صندوق الصادر
|
||||||
pending: في انتظار المراجعة
|
pending: في انتظار المراجعة
|
||||||
perform_full_suspension: تعليق الحساب
|
perform_full_suspension: تعليق الحساب
|
||||||
profile_url: رابط الملف الشخصي
|
profile_url: رابط الصفحة التعريفية
|
||||||
promote: ترقية
|
promote: ترقية
|
||||||
protocol: البروتوكول
|
protocol: البروتوكول
|
||||||
public: عمومي
|
public: عمومي
|
||||||
push_subscription_expires: انتهاء الاشتراك ”PuSH“
|
push_subscription_expires: انتهاء الاشتراك ”PuSH“
|
||||||
redownload: تحديث الصفحة الشخصية
|
redownload: انعش الصفحة التعريفية
|
||||||
reject: ارفض
|
reject: ارفض
|
||||||
reject_all: ارفض الكل
|
reject_all: ارفض الكل
|
||||||
remove_avatar: حذف الصورة الرمزية
|
remove_avatar: حذف الصورة الرمزية
|
||||||
|
@ -264,7 +267,7 @@ ar:
|
||||||
config: الإعداد
|
config: الإعداد
|
||||||
feature_deletions: الحسابات المحذوفة
|
feature_deletions: الحسابات المحذوفة
|
||||||
feature_invites: روابط الدعوات
|
feature_invites: روابط الدعوات
|
||||||
feature_profile_directory: دليل الحسابات
|
feature_profile_directory: دليل الملفات التعريفية
|
||||||
feature_registrations: التسجيلات
|
feature_registrations: التسجيلات
|
||||||
feature_relay: المُرحّل الفديرالي
|
feature_relay: المُرحّل الفديرالي
|
||||||
feature_spam_check: مكافح البريد المزعج
|
feature_spam_check: مكافح البريد المزعج
|
||||||
|
@ -294,7 +297,7 @@ ar:
|
||||||
create: إنشاء حظر
|
create: إنشاء حظر
|
||||||
hint: لن تمنع كتلة المجال إنشاء إدخالات حساب في قاعدة البيانات ، ولكنها ستطبق طرق الإشراف المحددة بأثر رجعي وتلقائي على هذه الحسابات.
|
hint: لن تمنع كتلة المجال إنشاء إدخالات حساب في قاعدة البيانات ، ولكنها ستطبق طرق الإشراف المحددة بأثر رجعي وتلقائي على هذه الحسابات.
|
||||||
severity:
|
severity:
|
||||||
desc_html: "<strong>Silence</strong> سيجعل مشاركات الحساب غير مرئية لأي شخص لا يتبعها. <strong>Suspend</strong> سيزيل كل محتوى الحساب ووسائطه وبيانات ملفه الشخصي. Use <strong>None</strong> إذا كنت تريد فقط رفض ملفات الوسائط."
|
desc_html: "<strong>Silence</strong> سيجعل مشاركات الحساب غير مرئية لأي شخص لا يتبعها. <strong>Suspend</strong> سيزيل كل محتوى الحساب ووسائطه وبيانات ملفه التعريفي. Use <strong>None</strong> إذا كنت تريد فقط رفض ملفات الوسائط."
|
||||||
noop: لا شيء
|
noop: لا شيء
|
||||||
silence: كتم
|
silence: كتم
|
||||||
suspend: تعليق
|
suspend: تعليق
|
||||||
|
@ -437,7 +440,7 @@ ar:
|
||||||
title: إظهار الصور الحساسة في مُعاينات أوبن غراف
|
title: إظهار الصور الحساسة في مُعاينات أوبن غراف
|
||||||
profile_directory:
|
profile_directory:
|
||||||
desc_html: السماح للمستخدمين الكشف عن حساباتهم
|
desc_html: السماح للمستخدمين الكشف عن حساباتهم
|
||||||
title: تفعيل سجل الملفات الشخصية
|
title: تفعيل دليل الصفحات التعريفية
|
||||||
registrations:
|
registrations:
|
||||||
closed_message:
|
closed_message:
|
||||||
desc_html: يتم عرضه على الصفحة الرئيسية عندما يتم غلق تسجيل الحسابات الجديدة. يمكنكم إستخدام علامات الأيتش تي أم أل HTML
|
desc_html: يتم عرضه على الصفحة الرئيسية عندما يتم غلق تسجيل الحسابات الجديدة. يمكنكم إستخدام علامات الأيتش تي أم أل HTML
|
||||||
|
@ -497,7 +500,14 @@ ar:
|
||||||
with_media: تحتوي على وسائط
|
with_media: تحتوي على وسائط
|
||||||
tags:
|
tags:
|
||||||
context: السياق
|
context: السياق
|
||||||
|
directory: في دليل حسابات المستخدمين
|
||||||
in_directory: "%{count} في سجل حسابات المستخدمين"
|
in_directory: "%{count} في سجل حسابات المستخدمين"
|
||||||
|
last_active: آخر نشاط
|
||||||
|
most_popular: الأكثر شعبية
|
||||||
|
most_recent: الأحدث
|
||||||
|
name: الوسم
|
||||||
|
review: حالة المراجعة
|
||||||
|
reviewed: مُراجَع
|
||||||
title: الوسوم
|
title: الوسوم
|
||||||
trending_right_now: متداول اللحظة
|
trending_right_now: متداول اللحظة
|
||||||
unique_uses_today: "%{count} منشورات اليوم"
|
unique_uses_today: "%{count} منشورات اليوم"
|
||||||
|
@ -527,7 +537,7 @@ ar:
|
||||||
notification_preferences: تعديل خيارات البريد الإلكتروني
|
notification_preferences: تعديل خيارات البريد الإلكتروني
|
||||||
salutation: "%{name}،"
|
salutation: "%{name}،"
|
||||||
settings: 'تغيير تفضيلات البريد الإلكتروني: %{link}'
|
settings: 'تغيير تفضيلات البريد الإلكتروني: %{link}'
|
||||||
view_profile: عرض الملف الشخصي
|
view_profile: اعرض الصفحة التعريفية
|
||||||
view_status: عرض المنشور
|
view_status: عرض المنشور
|
||||||
applications:
|
applications:
|
||||||
created: تم إنشاء التطبيق بنجاح
|
created: تم إنشاء التطبيق بنجاح
|
||||||
|
@ -577,9 +587,13 @@ ar:
|
||||||
following: 'مرحى! أنت الآن تتبع:'
|
following: 'مرحى! أنت الآن تتبع:'
|
||||||
post_follow:
|
post_follow:
|
||||||
close: أو يمكنك إغلاق هذه النافذة.
|
close: أو يمكنك إغلاق هذه النافذة.
|
||||||
return: عرض الملف الشخصي للمستخدم
|
return: اظهر الملف التعريفي للمستخدم
|
||||||
web: واصل إلى الويب
|
web: واصل إلى الويب
|
||||||
title: إتباع %{acct}
|
title: إتباع %{acct}
|
||||||
|
challenge:
|
||||||
|
confirm: واصل
|
||||||
|
invalid_password: الكلمة السرية خاطئة
|
||||||
|
prompt: أكِّد الكلمة السرية للمواصلة
|
||||||
datetime:
|
datetime:
|
||||||
distance_in_words:
|
distance_in_words:
|
||||||
about_x_hours: "%{count}سا"
|
about_x_hours: "%{count}سا"
|
||||||
|
@ -598,8 +612,10 @@ ar:
|
||||||
confirm_password: قم بإدخال كلمتك السرية الحالية للتحقق من هويتك
|
confirm_password: قم بإدخال كلمتك السرية الحالية للتحقق من هويتك
|
||||||
proceed: حذف حساب
|
proceed: حذف حساب
|
||||||
success_msg: تم حذف حسابك بنجاح
|
success_msg: تم حذف حسابك بنجاح
|
||||||
|
warning:
|
||||||
|
username_unavailable: سيبقى اسم المستخدم الخاص بك غير متوفر
|
||||||
directories:
|
directories:
|
||||||
directory: سِجلّ الحسابات
|
directory: سِجلّ الصفحات التعريفية
|
||||||
explanation: استكشف مستخدِمين آخرين حسب المواضيع التي تهمهم
|
explanation: استكشف مستخدِمين آخرين حسب المواضيع التي تهمهم
|
||||||
explore_mastodon: استكشف %{title}
|
explore_mastodon: استكشف %{title}
|
||||||
domain_validator:
|
domain_validator:
|
||||||
|
@ -637,7 +653,7 @@ ar:
|
||||||
mutes: قُمتَ بكتم
|
mutes: قُمتَ بكتم
|
||||||
storage: ذاكرة التخزين
|
storage: ذاكرة التخزين
|
||||||
featured_tags:
|
featured_tags:
|
||||||
add_new: إضافة واحد
|
add_new: أضف واحدًا جديدا
|
||||||
filters:
|
filters:
|
||||||
contexts:
|
contexts:
|
||||||
home: الخيط الزمني الرئيسي
|
home: الخيط الزمني الرئيسي
|
||||||
|
@ -733,6 +749,15 @@ ar:
|
||||||
too_many: لا يمكن إرفاق أكثر من 4 ملفات
|
too_many: لا يمكن إرفاق أكثر من 4 ملفات
|
||||||
migrations:
|
migrations:
|
||||||
acct: username@domain للحساب الجديد
|
acct: username@domain للحساب الجديد
|
||||||
|
cancel: ألغِ التوجيه
|
||||||
|
cancelled_msg: تم إلغاء التوجيه بنجاح.
|
||||||
|
errors:
|
||||||
|
not_found: تعذر العثور عليه
|
||||||
|
followers_count: المتابِعين عند الإنتقال
|
||||||
|
incoming_migrations: الانتقال مِن حساب آخر
|
||||||
|
past_migrations: التهجيرات السابقة
|
||||||
|
proceed_with_move: انقل مشارِكيك
|
||||||
|
redirecting_to: حسابك موجَّه إلى %{acct}.
|
||||||
moderation:
|
moderation:
|
||||||
title: الإشراف
|
title: الإشراف
|
||||||
notification_mailer:
|
notification_mailer:
|
||||||
|
@ -882,7 +907,7 @@ ar:
|
||||||
back: عودة إلى ماستدون
|
back: عودة إلى ماستدون
|
||||||
delete: حذف الحسابات
|
delete: حذف الحسابات
|
||||||
development: التطوير
|
development: التطوير
|
||||||
edit_profile: تعديل الملف الشخصي
|
edit_profile: عدّل الصفحة التعريفية
|
||||||
export: تصدير البيانات
|
export: تصدير البيانات
|
||||||
featured_tags: الوسوم الشائعة
|
featured_tags: الوسوم الشائعة
|
||||||
identity_proofs: دلائل الهوية
|
identity_proofs: دلائل الهوية
|
||||||
|
@ -891,7 +916,7 @@ ar:
|
||||||
migrate: تهجير الحساب
|
migrate: تهجير الحساب
|
||||||
notifications: الإخطارات
|
notifications: الإخطارات
|
||||||
preferences: التفضيلات
|
preferences: التفضيلات
|
||||||
profile: الملف الشخصي
|
profile: الملف التعريفي
|
||||||
relationships: المتابِعون والمتابَعون
|
relationships: المتابِعون والمتابَعون
|
||||||
two_factor_authentication: المُصادقة بخُطوَتَيْن
|
two_factor_authentication: المُصادقة بخُطوَتَيْن
|
||||||
statuses:
|
statuses:
|
||||||
|
@ -929,6 +954,13 @@ ar:
|
||||||
private: لا يمكن تدبيس تبويق لم يُنشر للعامة
|
private: لا يمكن تدبيس تبويق لم يُنشر للعامة
|
||||||
reblog: لا يمكن تثبيت ترقية
|
reblog: لا يمكن تثبيت ترقية
|
||||||
poll:
|
poll:
|
||||||
|
total_votes:
|
||||||
|
few: "%{count} أصوات"
|
||||||
|
many: "%{count} أصوات"
|
||||||
|
one: صوت واحد %{count}
|
||||||
|
other: "%{count} صوتا"
|
||||||
|
two: صوتين %{count}
|
||||||
|
zero: بدون صوت %{count}
|
||||||
vote: صوّت
|
vote: صوّت
|
||||||
show_more: أظهر المزيد
|
show_more: أظهر المزيد
|
||||||
sign_in_to_participate: قم بتسجيل الدخول للمشاركة في هذه المحادثة
|
sign_in_to_participate: قم بتسجيل الدخول للمشاركة في هذه المحادثة
|
||||||
|
@ -983,8 +1015,8 @@ ar:
|
||||||
silence: الحساب محدود
|
silence: الحساب محدود
|
||||||
suspend: الحساب مُعلَّق
|
suspend: الحساب مُعلَّق
|
||||||
welcome:
|
welcome:
|
||||||
edit_profile_action: تهيئة الملف الشخصي
|
edit_profile_action: تهيئة الملف التعريفي
|
||||||
edit_profile_step: يُمكنك·كي تخصيص ملفك الشخصي عن طريق تحميل صورة رمزية ورأسية و بتعديل اسمك·كي العلني وأكثر. و إن أردت·تي معاينة المتابِعين و المتابعات الجُدد قبيل السماح لهم·ن بمتابَعتك فيمكنك·كي تأمين حسابك·كي.
|
edit_profile_step: يُمكنك·كي تخصيص صفحتك التعريفية عن طريق تحميل صورة رمزية ورأسية و بتعديل اسمك·كي العلني وأكثر. و إن أردت·تي معاينة المتابِعين و المتابعات الجُدد قبيل السماح لهم·ن بمتابَعتك فيمكنك·كي تأمين حسابك·كي.
|
||||||
explanation: ها هي بعض النصائح قبل بداية الاستخدام
|
explanation: ها هي بعض النصائح قبل بداية الاستخدام
|
||||||
final_action: اشرَع في النشر
|
final_action: اشرَع في النشر
|
||||||
final_step: |-
|
final_step: |-
|
||||||
|
|
|
@ -35,6 +35,13 @@ co:
|
||||||
status_count_before: chì anu pubblicatu
|
status_count_before: chì anu pubblicatu
|
||||||
tagline: Siguità amichi è scopre ancu di più altri
|
tagline: Siguità amichi è scopre ancu di più altri
|
||||||
terms: Cundizione di u serviziu
|
terms: Cundizione di u serviziu
|
||||||
|
unavailable_content: Cuntinutu micca dispunibule
|
||||||
|
unavailable_content_description:
|
||||||
|
reason: 'Ragione:'
|
||||||
|
rejecting_media: I fugliali media da stu servore ùn saranu micca arregistrati è e vignette ùn saranu micca affissate, duverete cliccà manualmente per accede à l'altru servore è vedeli.
|
||||||
|
silenced: I statuti da stu servore ùn saranu mai visti tranne nant'a vostra pagina d'accolta s'e voi siguitate l'autore.
|
||||||
|
suspended: Ùn puderete micca siguità qualsiasi nant'à stu servore, i dati versu o da quallà ùn saranu mai accessi, scambiati o arregistrati.
|
||||||
|
unavailable_content_html: Mastodon vi parmette in generale di vede u cuntinutu è interagisce cù l'utilizatori di tutti l'altri servori di u fediversu. Quessi sò l'eccezzione fatte nant'à stu servore in particulare.
|
||||||
user_count_after:
|
user_count_after:
|
||||||
one: utilizatore
|
one: utilizatore
|
||||||
other: utilizatori
|
other: utilizatori
|
||||||
|
@ -547,6 +554,12 @@ co:
|
||||||
new_trending_tag:
|
new_trending_tag:
|
||||||
body: 'U hashtag #%{name} hè in e tendenze oghji, mà ùn hè micca verificatu. Ùn sarà micca mustratu à u pubblicu eccettu s''ellu hè auturizatu, o pudete ancu salvà u furmulariu cusì per ùn mai più avè à ne sente parlà.'
|
body: 'U hashtag #%{name} hè in e tendenze oghji, mà ùn hè micca verificatu. Ùn sarà micca mustratu à u pubblicu eccettu s''ellu hè auturizatu, o pudete ancu salvà u furmulariu cusì per ùn mai più avè à ne sente parlà.'
|
||||||
subject: Novu hashtag in attesa di rivista nant'à %{instance} (#%{name})
|
subject: Novu hashtag in attesa di rivista nant'à %{instance} (#%{name})
|
||||||
|
aliases:
|
||||||
|
add_new: Creà un pseudonimu
|
||||||
|
created_msg: Novu pseudonimu creatu. Pudete avà inizià u trasferimentu da u vechju contu.
|
||||||
|
deleted_msg: U pseudonimu hè statu sguassatu. Ùn si puderà più migrà da questu contu à quellu.
|
||||||
|
hint_html: Per traslucà da un altru contu à questu, quì pudete creà un pseudonimu o "alias", riquisitu per trasferì l'abbunati da u vechju contu à u novu. St'azzione sola <strong>ùn face nunda</strong> è pò esse <strong>annullata senza prublemi</strong>. <strong>A migrazione hè principiata dapoi u vechju contu</strong>.
|
||||||
|
remove: Sguassà u pseudonimu
|
||||||
appearance:
|
appearance:
|
||||||
advanced_web_interface: Interfaccia web avanzata
|
advanced_web_interface: Interfaccia web avanzata
|
||||||
advanced_web_interface_hint: 'S''è voi vulete fà usu di a larghezza sana di u vostru screnu, l''interfaccia web avanzata vi permette di cunfigurà parechje culonne sfarente per vede tutta l''infurmazione chì vulete vede in listessu tempu: Accolta, nutificazione, linea pubblica, è tutti l''hashtag è liste chì vulete.'
|
advanced_web_interface_hint: 'S''è voi vulete fà usu di a larghezza sana di u vostru screnu, l''interfaccia web avanzata vi permette di cunfigurà parechje culonne sfarente per vede tutta l''infurmazione chì vulete vede in listessu tempu: Accolta, nutificazione, linea pubblica, è tutti l''hashtag è liste chì vulete.'
|
||||||
|
@ -606,6 +619,7 @@ co:
|
||||||
confirming: In attesa di a cumplezzione di a cunfirmazione di l'e-mail.
|
confirming: In attesa di a cumplezzione di a cunfirmazione di l'e-mail.
|
||||||
functional: U vostru contu hè uperaziunale.
|
functional: U vostru contu hè uperaziunale.
|
||||||
pending: A vostra dumanda hè in attesa di rivista da a squadra di muderazione. Quessa pò piglià un certu tempu. Avete da riceve un'e-mail s'ella hè appruvata.
|
pending: A vostra dumanda hè in attesa di rivista da a squadra di muderazione. Quessa pò piglià un certu tempu. Avete da riceve un'e-mail s'ella hè appruvata.
|
||||||
|
redirecting_to: U vostru contu hè inattivu perchè riindirizza versu %{acct}.
|
||||||
trouble_logging_in: Difficultà per cunnettavi?
|
trouble_logging_in: Difficultà per cunnettavi?
|
||||||
authorize_follow:
|
authorize_follow:
|
||||||
already_following: Site digià abbunatu·a à stu contu
|
already_following: Site digià abbunatu·a à stu contu
|
||||||
|
@ -795,6 +809,31 @@ co:
|
||||||
too_many: Ùn si pò micca aghjunghje più di 4 fugliali
|
too_many: Ùn si pò micca aghjunghje più di 4 fugliali
|
||||||
migrations:
|
migrations:
|
||||||
acct: cugnome@duminiu di u novu contu
|
acct: cugnome@duminiu di u novu contu
|
||||||
|
cancel: Annullà ridirezzione
|
||||||
|
cancel_explanation: L'annullazione di a ridirezzione hà da riattivà stu contu, mà ùn si puderà micca ricuperà l'abbunati chì sò digià stati trasferriti à l'altru contu.
|
||||||
|
cancelled_msg: Ridirezzione annullata.
|
||||||
|
errors:
|
||||||
|
already_moved: hè digià u contu induve avede traslucatu
|
||||||
|
missing_also_known_as: ùn fà micca riferenza à stu contu
|
||||||
|
move_to_self: ùn pò micca esse u contu attuale
|
||||||
|
not_found: ùn hè micca statu trovu
|
||||||
|
on_cooldown: Perioda di ricuperazione
|
||||||
|
followers_count: Abbunati à u mumentu di trasferimentu
|
||||||
|
incoming_migrations: Traslucà da un'altru contu
|
||||||
|
incoming_migrations_html: Per spustà da stu contu à un'altru, primu duvete <a href="%{path}">creà un pseudonimu di contu</a>.
|
||||||
|
moved_msg: Avà u vostru contu riindirizza versu %{acct} è i vostri abbunati sò in corsu di trasferimentu.
|
||||||
|
not_redirecting: U vostru contu ùn riindirizza micca ancu versu un'altru contu.
|
||||||
|
on_cooldown: Avede digià migratu u vostru contu. Sta funzionne sarà torna dispunibule in %{count} ghjorni.
|
||||||
|
past_migrations: Anziane migrazione
|
||||||
|
proceed_with_move: Trasferì l'abbunati
|
||||||
|
redirecting_to: U vostru contu riindirizza versu à %{acct}.
|
||||||
|
warning:
|
||||||
|
backreference_required: U novu contu deve prima esse cunfiguratu per fà rifirenza cù un pseudonimu à quessu contu
|
||||||
|
before: 'Nanz''à cuntinuà, leghjete ste note attentamente:'
|
||||||
|
cooldown: Dopu à a traslucazione, c'hè una perioda di ricuperazione in quella ùn puderete micca cambià torna di contu
|
||||||
|
disabled_account: U contu attuale ùn puderà più esse utilizatu dop'à st'azzione. Però, puderete accede à a spurtazione di dati o riattivà u contu.
|
||||||
|
followers: St'azzione hà da spiazzà tutti l'abbunati di u contu attuale nant'à u novu contu
|
||||||
|
other_data: L'altri dati ùn saranu micca autumaticamente trasferiti
|
||||||
moderation:
|
moderation:
|
||||||
title: Muderazione
|
title: Muderazione
|
||||||
notification_mailer:
|
notification_mailer:
|
||||||
|
@ -939,6 +978,7 @@ co:
|
||||||
settings:
|
settings:
|
||||||
account: Contu
|
account: Contu
|
||||||
account_settings: Parametri di u contu
|
account_settings: Parametri di u contu
|
||||||
|
aliases: Pseudonimi di contu
|
||||||
appearance: Apparenza
|
appearance: Apparenza
|
||||||
authorized_apps: Applicazione auturizate
|
authorized_apps: Applicazione auturizate
|
||||||
back: Ritornu nant’à Mastodon
|
back: Ritornu nant’à Mastodon
|
||||||
|
|
|
@ -250,8 +250,10 @@ cs:
|
||||||
disabled_msg: Emoji bylo úspěšně zakázáno
|
disabled_msg: Emoji bylo úspěšně zakázáno
|
||||||
emoji: Emoji
|
emoji: Emoji
|
||||||
enable: Povolit
|
enable: Povolit
|
||||||
|
enabled: Povoleno
|
||||||
enabled_msg: Emoji bylo úspěšně povoleno
|
enabled_msg: Emoji bylo úspěšně povoleno
|
||||||
image_hint: PNG až do 50 KB
|
image_hint: PNG až do 50 KB
|
||||||
|
list: Uvést
|
||||||
listed: Uvedeno
|
listed: Uvedeno
|
||||||
new:
|
new:
|
||||||
title: Přidat nové vlastní emoji
|
title: Přidat nové vlastní emoji
|
||||||
|
@ -260,6 +262,7 @@ cs:
|
||||||
shortcode_hint: Alespoň 2 znaky, pouze alfanumerické znaky a podtržítka
|
shortcode_hint: Alespoň 2 znaky, pouze alfanumerické znaky a podtržítka
|
||||||
title: Vlastní emoji
|
title: Vlastní emoji
|
||||||
uncategorized: Nezařazená
|
uncategorized: Nezařazená
|
||||||
|
unlist: Neuvést
|
||||||
unlisted: Neuvedeno
|
unlisted: Neuvedeno
|
||||||
update_failed_msg: Nebylo možné aktualizovat toto emoji
|
update_failed_msg: Nebylo možné aktualizovat toto emoji
|
||||||
updated_msg: Emoji úspěšně aktualizováno!
|
updated_msg: Emoji úspěšně aktualizováno!
|
||||||
|
@ -395,6 +398,7 @@ cs:
|
||||||
pending: Čekám na souhlas mostu
|
pending: Čekám na souhlas mostu
|
||||||
save_and_enable: Uložit a povolit
|
save_and_enable: Uložit a povolit
|
||||||
setup: Nastavit připojení k mostu
|
setup: Nastavit připojení k mostu
|
||||||
|
signatures_not_enabled: Mosty nebudou fungovat správně, dokud je povolen bezpečný režim nebo režim bílé listiny
|
||||||
status: Stav
|
status: Stav
|
||||||
title: Mosty
|
title: Mosty
|
||||||
report_notes:
|
report_notes:
|
||||||
|
|
|
@ -21,6 +21,9 @@ cy:
|
||||||
generic_description: Mae %{domain} yn un gweinydd yn y rhwydwaith
|
generic_description: Mae %{domain} yn un gweinydd yn y rhwydwaith
|
||||||
get_apps: Rhowch gynnig ar ap dyfeis symudol
|
get_apps: Rhowch gynnig ar ap dyfeis symudol
|
||||||
hosted_on: Mastodon wedi ei weinyddu ar %{domain}
|
hosted_on: Mastodon wedi ei weinyddu ar %{domain}
|
||||||
|
instance_actor_flash: |
|
||||||
|
Mae'r cyfrif hwn yn actor rhithwir a ddefnyddir i gynrychioli'r gweinydd ei hun ac nid unrhyw ddefnyddiwr unigol.
|
||||||
|
Fe'i defnyddir at ddibenion ffederasiwn ac ni ddylid ei rwystro oni bai eich bod am rwystro'r achos cyfan, ac os felly dylech ddefnyddio bloc parth.
|
||||||
learn_more: Dysu mwy
|
learn_more: Dysu mwy
|
||||||
privacy_policy: Polisi preifatrwydd
|
privacy_policy: Polisi preifatrwydd
|
||||||
see_whats_happening: Gweld beth sy'n digwydd
|
see_whats_happening: Gweld beth sy'n digwydd
|
||||||
|
@ -41,6 +44,7 @@ cy:
|
||||||
reason: 'Rheswm:'
|
reason: 'Rheswm:'
|
||||||
rejecting_media: Ni fydd ffeiliau cyfryngau o'r gweinydd hwn yn cael eu prosesu ac ni fydd unrhyw fawd yn cael eu harddangos, sy'n gofyn am glicio â llaw i'r gweinydd arall.
|
rejecting_media: Ni fydd ffeiliau cyfryngau o'r gweinydd hwn yn cael eu prosesu ac ni fydd unrhyw fawd yn cael eu harddangos, sy'n gofyn am glicio â llaw i'r gweinydd arall.
|
||||||
silenced: Ni fydd swyddi o'r gweinydd hwn yn ymddangos yn unman heblaw eich porthiant cartref os dilynwch yr awdur.
|
silenced: Ni fydd swyddi o'r gweinydd hwn yn ymddangos yn unman heblaw eich porthiant cartref os dilynwch yr awdur.
|
||||||
|
suspended: Ni fyddwch yn gallu dilyn unrhyw un o'r gweinydd hwn, ac ni fydd unrhyw ddata ohono'n cael ei brosesu na'i storio, ac ni chyfnewidir unrhyw ddata.
|
||||||
unavailable_content_html: Yn gyffredinol, mae Mastodon yn caniatáu ichi weld cynnwys gan unrhyw weinyddwr arall yn y ffederasiwn a rhyngweithio â hi. Dyma'r eithriadau a wnaed ar y gweinydd penodol hwn.
|
unavailable_content_html: Yn gyffredinol, mae Mastodon yn caniatáu ichi weld cynnwys gan unrhyw weinyddwr arall yn y ffederasiwn a rhyngweithio â hi. Dyma'r eithriadau a wnaed ar y gweinydd penodol hwn.
|
||||||
user_count_after:
|
user_count_after:
|
||||||
few: defnyddwyr
|
few: defnyddwyr
|
||||||
|
@ -53,6 +57,8 @@ cy:
|
||||||
what_is_mastodon: Beth yw Mastodon?
|
what_is_mastodon: Beth yw Mastodon?
|
||||||
accounts:
|
accounts:
|
||||||
choices_html: 'Dewisiadau %{name}:'
|
choices_html: 'Dewisiadau %{name}:'
|
||||||
|
endorsements_hint: Gallwch gymeradwyo pobl rydych chi'n eu dilyn o'r rhyngwyneb gwe, a byddan nhw'n ymddangos yma.
|
||||||
|
featured_tags_hint: Gallwch ychwanegu hashnodau penodol a fydd yn cael eu harddangos yma.
|
||||||
follow: Dilynwch
|
follow: Dilynwch
|
||||||
followers:
|
followers:
|
||||||
few: Dilynwyr
|
few: Dilynwyr
|
||||||
|
@ -203,6 +209,7 @@ cy:
|
||||||
username: Enw defnyddiwr
|
username: Enw defnyddiwr
|
||||||
warn: Rhybuddio
|
warn: Rhybuddio
|
||||||
web: Gwe
|
web: Gwe
|
||||||
|
whitelisted: Rhestredig wen
|
||||||
action_logs:
|
action_logs:
|
||||||
actions:
|
actions:
|
||||||
assigned_to_self_report: Aseiniodd %{name} adroddiad %{target} i'w hunan
|
assigned_to_self_report: Aseiniodd %{name} adroddiad %{target} i'w hunan
|
||||||
|
@ -238,6 +245,7 @@ cy:
|
||||||
deleted_status: "(statws wedi ei ddileu)"
|
deleted_status: "(statws wedi ei ddileu)"
|
||||||
title: Log archwilio
|
title: Log archwilio
|
||||||
custom_emojis:
|
custom_emojis:
|
||||||
|
assign_category: Neilltuo categori
|
||||||
by_domain: Parth
|
by_domain: Parth
|
||||||
copied_msg: Llwyddwyd i greu copi lleol o'r emoji
|
copied_msg: Llwyddwyd i greu copi lleol o'r emoji
|
||||||
copy: Copïo
|
copy: Copïo
|
||||||
|
@ -265,6 +273,7 @@ cy:
|
||||||
updated_msg: Llwyddwyd i ddiweddaru'r emoji!
|
updated_msg: Llwyddwyd i ddiweddaru'r emoji!
|
||||||
upload: Uwchlwytho
|
upload: Uwchlwytho
|
||||||
dashboard:
|
dashboard:
|
||||||
|
authorized_fetch_mode: Modd nôl awdurdodedig
|
||||||
backlog: tasgau heb eu cwblhau
|
backlog: tasgau heb eu cwblhau
|
||||||
config: Cyfluniad
|
config: Cyfluniad
|
||||||
feature_deletions: Dileadau cyfrif
|
feature_deletions: Dileadau cyfrif
|
||||||
|
@ -290,11 +299,18 @@ cy:
|
||||||
week_interactions: ymadweithiau yr wythnos hon
|
week_interactions: ymadweithiau yr wythnos hon
|
||||||
week_users_active: gweithredol yr wythnos hon
|
week_users_active: gweithredol yr wythnos hon
|
||||||
week_users_new: defnyddwyr yr wythnos hon
|
week_users_new: defnyddwyr yr wythnos hon
|
||||||
|
whitelist_mode: Modd rhestr wen
|
||||||
|
domain_allows:
|
||||||
|
add_new: Rhestrwch parth
|
||||||
|
created_msg: Rhestrwyd wen parth yn llwyddiannus
|
||||||
|
destroyed_msg: Mae parth wedi'i dynnu o'r rhestr wen
|
||||||
|
undo: Tynnwch o'r rhestr wen
|
||||||
domain_blocks:
|
domain_blocks:
|
||||||
add_new: Ychwanegu bloc parth newydd
|
add_new: Ychwanegu bloc parth newydd
|
||||||
created_msg: Mae'r bloc parth nawr yn cael ei brosesu
|
created_msg: Mae'r bloc parth nawr yn cael ei brosesu
|
||||||
destroyed_msg: Mae'r bloc parth wedi ei ddadwneud
|
destroyed_msg: Mae'r bloc parth wedi ei ddadwneud
|
||||||
domain: Parth
|
domain: Parth
|
||||||
|
edit: Golygu bloc parth
|
||||||
existing_domain_block_html: Rydych yn barod wedi gosod cyfyngau fwy llym ar %{name}, mae rhaid i chi ei <a href="%{unblock_url}">ddadblocio</a> yn gyntaf.
|
existing_domain_block_html: Rydych yn barod wedi gosod cyfyngau fwy llym ar %{name}, mae rhaid i chi ei <a href="%{unblock_url}">ddadblocio</a> yn gyntaf.
|
||||||
new:
|
new:
|
||||||
create: Creu bloc
|
create: Creu bloc
|
||||||
|
@ -330,6 +346,7 @@ cy:
|
||||||
title: Dadwneud blocio parth ar gyfer %{domain}
|
title: Dadwneud blocio parth ar gyfer %{domain}
|
||||||
undo: Dadwneud
|
undo: Dadwneud
|
||||||
undo: Dadwneud bloc parth
|
undo: Dadwneud bloc parth
|
||||||
|
view: Gweld bloc parth
|
||||||
email_domain_blocks:
|
email_domain_blocks:
|
||||||
add_new: Ychwanegu
|
add_new: Ychwanegu
|
||||||
created_msg: Llwyddwyd i ychwanegu parth e-bost i'r gosbrestr
|
created_msg: Llwyddwyd i ychwanegu parth e-bost i'r gosbrestr
|
||||||
|
@ -501,6 +518,7 @@ cy:
|
||||||
delete: Dileu
|
delete: Dileu
|
||||||
nsfw_off: Marcio fel nad yw'n sensitif
|
nsfw_off: Marcio fel nad yw'n sensitif
|
||||||
nsfw_on: Marcio'n sensitif
|
nsfw_on: Marcio'n sensitif
|
||||||
|
deleted: Dilëwyd
|
||||||
failed_to_execute: Methwyd a gweithredu
|
failed_to_execute: Methwyd a gweithredu
|
||||||
media:
|
media:
|
||||||
title: Cyfryngau
|
title: Cyfryngau
|
||||||
|
@ -514,6 +532,7 @@ cy:
|
||||||
name: Hashnod
|
name: Hashnod
|
||||||
reviewed: Wedi'i adolygu
|
reviewed: Wedi'i adolygu
|
||||||
title: Hashnodau
|
title: Hashnodau
|
||||||
|
trending_right_now: Yn tueddu nawr
|
||||||
unreviewed: Heb ei adolygu
|
unreviewed: Heb ei adolygu
|
||||||
title: Gweinyddiaeth
|
title: Gweinyddiaeth
|
||||||
warning_presets:
|
warning_presets:
|
||||||
|
@ -574,6 +593,14 @@ cy:
|
||||||
reset_password: Ailosod cyfrinair
|
reset_password: Ailosod cyfrinair
|
||||||
security: Diogelwch
|
security: Diogelwch
|
||||||
set_new_password: Gosod cyfrinair newydd
|
set_new_password: Gosod cyfrinair newydd
|
||||||
|
setup:
|
||||||
|
title: Gosodiad
|
||||||
|
status:
|
||||||
|
account_status: Statws cyfrif
|
||||||
|
confirming: Aros i gadarnhad e-bost gael ei gwblhau.
|
||||||
|
functional: Mae eich cyfrif yn gwbl weithredol.
|
||||||
|
pending: Mae'ch cais yn aros i gael ei adolygu gan ein staff. Gall hyn gymryd cryn amser. Byddwch yn derbyn e-bost os caiff eich cais ei gymeradwyo.
|
||||||
|
redirecting_to: Mae eich cyfrif yn anactif oherwydd ei fod ar hyn o bryd yn ailgyfeirio i %{acct}.
|
||||||
trouble_logging_in: Trafferdd mewngofnodi?
|
trouble_logging_in: Trafferdd mewngofnodi?
|
||||||
authorize_follow:
|
authorize_follow:
|
||||||
already_following: Yr ydych yn dilyn y cyfrif hwn yn barod
|
already_following: Yr ydych yn dilyn y cyfrif hwn yn barod
|
||||||
|
@ -586,6 +613,11 @@ cy:
|
||||||
return: Dangos proffil y defnyddiwr
|
return: Dangos proffil y defnyddiwr
|
||||||
web: I'r wê
|
web: I'r wê
|
||||||
title: Dilyn %{acct}
|
title: Dilyn %{acct}
|
||||||
|
challenge:
|
||||||
|
confirm: Parhau
|
||||||
|
hint_html: "<strong>Awgrym:</strong> Ni fyddwn yn gofyn i chi am eich cyfrinair eto am yr awr nesaf."
|
||||||
|
invalid_password: Cyfrinair annilys
|
||||||
|
prompt: Cadarnhewch gyfrinair i barhau
|
||||||
datetime:
|
datetime:
|
||||||
distance_in_words:
|
distance_in_words:
|
||||||
about_x_hours: "%{count}awr"
|
about_x_hours: "%{count}awr"
|
||||||
|
@ -601,13 +633,22 @@ cy:
|
||||||
x_months: "%{count}mis"
|
x_months: "%{count}mis"
|
||||||
x_seconds: "%{count}eiliad"
|
x_seconds: "%{count}eiliad"
|
||||||
deletes:
|
deletes:
|
||||||
|
challenge_not_passed: Nid oedd y wybodaeth a nodoch yn gywir
|
||||||
confirm_password: Mewnbynnwch eich cyfrinair presennol i gadarnhau mai chi sydd yno
|
confirm_password: Mewnbynnwch eich cyfrinair presennol i gadarnhau mai chi sydd yno
|
||||||
|
confirm_username: Rhowch eich enw defnyddiwr i gadarnhau'r weithdrefn
|
||||||
proceed: Dileu cyfrif
|
proceed: Dileu cyfrif
|
||||||
success_msg: Llwyddwyd i ddileu eich cyfrif
|
success_msg: Llwyddwyd i ddileu eich cyfrif
|
||||||
|
warning:
|
||||||
|
before: 'Cyn bwrw ymlaen, darllenwch y nodiadau hyn yn ofalus:'
|
||||||
|
irreversible: Ni fyddwch yn gallu adfer nac ail-greu eich cyfrif
|
||||||
|
username_available: Bydd eich enw defnyddiwr ar gael eto
|
||||||
|
username_unavailable: Ni fydd eich enw defnyddiwr ar gael
|
||||||
directories:
|
directories:
|
||||||
directory: Cyfeiriadur proffil
|
directory: Cyfeiriadur proffil
|
||||||
explanation: Darganfod defnyddwyr yn seiliedig ar eu diddordebau
|
explanation: Darganfod defnyddwyr yn seiliedig ar eu diddordebau
|
||||||
explore_mastodon: Archwilio %{title}
|
explore_mastodon: Archwilio %{title}
|
||||||
|
domain_validator:
|
||||||
|
invalid_domain: ddim yn enw parth dilys
|
||||||
errors:
|
errors:
|
||||||
'400': The request you submitted was invalid or malformed.
|
'400': The request you submitted was invalid or malformed.
|
||||||
'403': Nid oes gennych ganiatad i weld y dudalen hon.
|
'403': Nid oes gennych ganiatad i weld y dudalen hon.
|
||||||
|
@ -665,6 +706,7 @@ cy:
|
||||||
developers: Datblygwyr
|
developers: Datblygwyr
|
||||||
more: Mwy…
|
more: Mwy…
|
||||||
resources: Adnoddau
|
resources: Adnoddau
|
||||||
|
trending_now: Yn tueddu nawr
|
||||||
generic:
|
generic:
|
||||||
all: Popeth
|
all: Popeth
|
||||||
changes_saved_msg: Llwyddwyd i gadw y newidiadau!
|
changes_saved_msg: Llwyddwyd i gadw y newidiadau!
|
||||||
|
@ -748,8 +790,12 @@ cy:
|
||||||
too_many: Ni ellir ychwanegu mwy na 4 dogfen
|
too_many: Ni ellir ychwanegu mwy na 4 dogfen
|
||||||
migrations:
|
migrations:
|
||||||
acct: enwdefnyddiwr@parth y cyfrif newydd
|
acct: enwdefnyddiwr@parth y cyfrif newydd
|
||||||
|
cancel: Canslo ailgyfeirio
|
||||||
errors:
|
errors:
|
||||||
not_found: ni ellid dod o hyd iddo
|
not_found: ni ellid dod o hyd iddo
|
||||||
|
past_migrations: Ymfudiadau yn y gorffennol
|
||||||
|
warning:
|
||||||
|
before: 'Cyn bwrw ymlaen, darllenwch y nodiadau hyn yn ofalus:'
|
||||||
moderation:
|
moderation:
|
||||||
title: Goruwchwyliad
|
title: Goruwchwyliad
|
||||||
notification_mailer:
|
notification_mailer:
|
||||||
|
@ -904,6 +950,7 @@ cy:
|
||||||
settings:
|
settings:
|
||||||
account: Cyfrif
|
account: Cyfrif
|
||||||
account_settings: Gosodiadau'r cyfrif
|
account_settings: Gosodiadau'r cyfrif
|
||||||
|
aliases: Aliasau cyfrif
|
||||||
appearance: Arddangosiad
|
appearance: Arddangosiad
|
||||||
authorized_apps: Apiau awdurdodedig
|
authorized_apps: Apiau awdurdodedig
|
||||||
back: Yn ôl i Mastodon
|
back: Yn ôl i Mastodon
|
||||||
|
@ -978,6 +1025,8 @@ cy:
|
||||||
pinned: Tŵt wedi'i binio
|
pinned: Tŵt wedi'i binio
|
||||||
reblogged: hybwyd
|
reblogged: hybwyd
|
||||||
sensitive_content: Cynnwys sensitif
|
sensitive_content: Cynnwys sensitif
|
||||||
|
tags:
|
||||||
|
does_not_match_previous_name: ddim yn cyfateb i'r enw blaenorol
|
||||||
terms:
|
terms:
|
||||||
body_html: |
|
body_html: |
|
||||||
<h2>Polisi Preifatrwydd</h2>
|
<h2>Polisi Preifatrwydd</h2>
|
||||||
|
@ -1095,7 +1144,9 @@ cy:
|
||||||
disable: Er bod eich cyfrif wedi'i rewi, mae eich data cyfrif yn parhau i fod yn gyfan, ond ni allwch chi berfformio unrhyw gamau nes ei ddatgloi.
|
disable: Er bod eich cyfrif wedi'i rewi, mae eich data cyfrif yn parhau i fod yn gyfan, ond ni allwch chi berfformio unrhyw gamau nes ei ddatgloi.
|
||||||
silence: Pan mae eich cyfrif yn gyfyngiedig, dim ond pobl sydd yn barod yn eich dilyn yn gweld eich tŵtiau ar y gweinydd hon, a efallai byddwch yn cael eich tynnu o restrau cyhoeddus. Er hyn, gall eraill eich dilyn chi wrth law.
|
silence: Pan mae eich cyfrif yn gyfyngiedig, dim ond pobl sydd yn barod yn eich dilyn yn gweld eich tŵtiau ar y gweinydd hon, a efallai byddwch yn cael eich tynnu o restrau cyhoeddus. Er hyn, gall eraill eich dilyn chi wrth law.
|
||||||
suspend: Mae eich cyfrif wedi cael ei wahardd, a mae gyd o'ch tŵtiau a'ch ffeiliau cyfrwng uwchlwythadwy wedi cael eu tynnu or gweinydd yn barhaol, ac o weinyddau ble yr oedd eich dilynwyr.
|
suspend: Mae eich cyfrif wedi cael ei wahardd, a mae gyd o'ch tŵtiau a'ch ffeiliau cyfrwng uwchlwythadwy wedi cael eu tynnu or gweinydd yn barhaol, ac o weinyddau ble yr oedd eich dilynwyr.
|
||||||
|
get_in_touch: Gallwch ymateb i'r e-bost hwn i gysylltu â staff %{instance}.
|
||||||
review_server_policies: Adolygu polisïau'r gweinydd
|
review_server_policies: Adolygu polisïau'r gweinydd
|
||||||
|
statuses: 'Yn benodol, ar gyfer:'
|
||||||
subject:
|
subject:
|
||||||
disable: Mae'ch cyfrif %{acct} wedi'i rewi
|
disable: Mae'ch cyfrif %{acct} wedi'i rewi
|
||||||
none: Rhybudd am %{acct}
|
none: Rhybudd am %{acct}
|
||||||
|
|
|
@ -45,6 +45,10 @@ ar:
|
||||||
extra: إن لم تكن صاحب هذا الطلب ، يُرجى عدم إعارة الاهتمام لهذه الرسالة. فكلِمَتُك السرية تبقى هي مِن غير أي تعديل إلّا و فقط إن قمت بالنقر على الرابط أعلاه قصد إنشاء كلمة سرية جديدة.
|
extra: إن لم تكن صاحب هذا الطلب ، يُرجى عدم إعارة الاهتمام لهذه الرسالة. فكلِمَتُك السرية تبقى هي مِن غير أي تعديل إلّا و فقط إن قمت بالنقر على الرابط أعلاه قصد إنشاء كلمة سرية جديدة.
|
||||||
subject: 'ماستدون: تعليمات استعادة كلمة المرور'
|
subject: 'ماستدون: تعليمات استعادة كلمة المرور'
|
||||||
title: إعادة تعيين كلمة السر
|
title: إعادة تعيين كلمة السر
|
||||||
|
two_factor_disabled:
|
||||||
|
title: إنّ 2FA معطّل
|
||||||
|
two_factor_enabled:
|
||||||
|
title: إنّ 2FA نشِط
|
||||||
unlock_instructions:
|
unlock_instructions:
|
||||||
subject: 'ماستدون: تعليمات فك القفل'
|
subject: 'ماستدون: تعليمات فك القفل'
|
||||||
omniauth_callbacks:
|
omniauth_callbacks:
|
||||||
|
|
|
@ -1,98 +1 @@
|
||||||
---
|
es-AR:
|
||||||
es:
|
|
||||||
devise:
|
|
||||||
confirmations:
|
|
||||||
confirmed: Su direccion de email ha sido confirmada con exito.
|
|
||||||
send_instructions: Recibirá un correo electrónico con instrucciones sobre cómo confirmar su dirección de correo en pocos minutos.
|
|
||||||
send_paranoid_instructions: Si su dirección de correo electrónico existe en nuestra base de datos, recibirá un correo electrónico con instrucciones sobre cómo confirmar su dirección de correo en pocos minutos.
|
|
||||||
failure:
|
|
||||||
already_authenticated: Usted ya está registrado.
|
|
||||||
inactive: Su cuenta todavía no está activa.
|
|
||||||
invalid: Inválido %{authentication_keys} o contraseña.
|
|
||||||
last_attempt: Tiene un intento más antes de que su cuenta sea bloqueada.
|
|
||||||
locked: Su cuenta está bloqueada.
|
|
||||||
not_found_in_database: Inválido %{authentication_keys} o contraseña.
|
|
||||||
pending: Su cuenta aun se encuentra bajo revisión.
|
|
||||||
timeout: Su sesión ha expirado. Por favor inicie sesión de nuevo para continuar.
|
|
||||||
unauthenticated: Necesita iniciar sesión o registrarse antes de continuar.
|
|
||||||
unconfirmed: Tiene que confirmar su dirección de correo electrónico antes de continuar.
|
|
||||||
mailer:
|
|
||||||
confirmation_instructions:
|
|
||||||
action: Verificar dirección de correo electrónico
|
|
||||||
action_with_app: Confirmar y regresar a %{app}
|
|
||||||
explanation: Has creado una cuenta en %{host} con esta dirección de correo electrónico. Estas a un clic de activarla. Si no fue usted, por favor ignore este correo electrónico.
|
|
||||||
explanation_when_pending: Usted ha solicitado una invitación a %{host} con esta dirección de correo electrónico. Una vez que confirme su dirección de correo electrónico, revisaremos su aplicación. No puede iniciar sesión hasta que su aplicación sea revisada. Si su solicitud está rechazada, sus datos serán eliminados, así que no será necesaria ninguna acción adicional por ti. Si no fuera usted, por favor ignore este correo electrónico.
|
|
||||||
extra_html: Por favor revise <a href="%{terms_path}">las reglas de la instancia</a> y <a href="%{policy_path}">nuestros términos de servicio</a>.
|
|
||||||
subject: 'Mastodon: Instrucciones de confirmación para %{instance}'
|
|
||||||
title: Verificar dirección de correo electrónico
|
|
||||||
email_changed:
|
|
||||||
explanation: 'El correo electrónico para su cuenta esta siendo cambiada a:'
|
|
||||||
extra: Si usted no ha cambiado su correo electrónico, es probable que alguien haya conseguido acceso a su cuenta. Por favor cambie su contraseña inmediatamente o contacte al administrador de la instancia si usted no puede iniciar sesión.
|
|
||||||
subject: 'Mastodon: Correo electrónico cambiado'
|
|
||||||
title: Nueva dirección de correo electrónico
|
|
||||||
password_change:
|
|
||||||
explanation: La contraseña de su cuenta a sido cambiada.
|
|
||||||
extra: Si usted no a cambiado su contraseña. es probable que alguien a conseguido acceso a su cuenta. Por favor cambie su contraseña inmediatamente o contacte a el administrador de la instancia si usted esta bloqueado de su cuenta.
|
|
||||||
subject: 'Mastodon: Contraseña cambiada'
|
|
||||||
title: Contraseña cambiada
|
|
||||||
reconfirmation_instructions:
|
|
||||||
explanation: Confirme la nueva dirección para cambiar su coreo electrónico.
|
|
||||||
extra: Si no iniciaste este cambio, por favor ignora este correo. Esta dirección de correo para la cuenta de Mastodon no cambiará hasta que accedas al vinculo arriba.
|
|
||||||
subject: 'Mastodon: Confirme correo electrónico para %{instance}'
|
|
||||||
title: Verifique dirección de correo electrónico
|
|
||||||
reset_password_instructions:
|
|
||||||
action: Cambiar contraseña
|
|
||||||
explanation: Solicitaste una nueva contraseña para tu cuenta.
|
|
||||||
extra: Si no solicitaste esto, por favor ignora este correo. Tu contraseña no cambiará hasta que tu accedas al vinculo arriba y crees una nueva.
|
|
||||||
subject: 'Mastodon: Instrucciones para reiniciar contraseña'
|
|
||||||
title: Reiniciar contraseña
|
|
||||||
two_factor_disabled:
|
|
||||||
explanation: La autenticación de dos factores para tu cuenta ha sido deshabilitada. Ahora puedes conectarte solamente usando la dirección de correo electrónico y la contraseña.
|
|
||||||
subject: 'Mastodon: La autenticación de dos factores está deshabilitada'
|
|
||||||
title: 2FA desactivada
|
|
||||||
two_factor_enabled:
|
|
||||||
explanation: La autenticación de dos factores para tu cuenta ha sido habilitada. Se requiere un token generado por la aplicación TOTP emparejada para ingresar.
|
|
||||||
subject: 'Mastodon: La autenticación de dos factores está habilitada'
|
|
||||||
title: 2FA activada
|
|
||||||
two_factor_recovery_codes_changed:
|
|
||||||
explanation: Los códigos de recuperación previos han sido invalidados y se generaron códigos nuevos.
|
|
||||||
subject: 'Mastodon: Los códigos de recuperación de dos factores fueron regenerados'
|
|
||||||
title: Códigos de recuperación 2FA cambiados
|
|
||||||
unlock_instructions:
|
|
||||||
subject: 'Mastodon: Instrucciones para desbloquear'
|
|
||||||
omniauth_callbacks:
|
|
||||||
failure: No podemos autentificarle desde %{kind} debido a "%{reason}".
|
|
||||||
success: Autentificado con éxito desde la cuenta %{kind} .
|
|
||||||
passwords:
|
|
||||||
no_token: No puede acceder a esta página sin provenir desde el correo de reinicio de contraseña. Si viene desde el correo de reinicio de contraseña, por favor asegúrese que está utilizando la dirección completa proporcionada.
|
|
||||||
send_instructions: Recibirá un correo electrónico con instrucciones sobre cómo reiniciar su contraseña en pocos minutos.
|
|
||||||
send_paranoid_instructions: Si su correo electrónico existe en nuestra base de datos, recibirá un enlace de recuperación de contraseña en su dirección de correo en pocos minutos.
|
|
||||||
updated: Su contraseña ha sido cambiada con éxito. Ahora ya está registrado.
|
|
||||||
updated_not_active: Su contraseña ha sido cambiada con éxito.
|
|
||||||
registrations:
|
|
||||||
destroyed: "¡Adios! Su cuenta ha sido cancelada con éxito. Esperamos verle pronto de nuevo."
|
|
||||||
signed_up: "¡Bienvenido! Se ha registrado con éxito."
|
|
||||||
signed_up_but_inactive: Se ha registrado con éxito. Sin embargo, no podemos identificarle porque su cuenta no ha sido activada todavía.
|
|
||||||
signed_up_but_locked: Se ha registrado con éxito. Sin embargo, no podemos identificarle porque su cuenta está bloqueada.
|
|
||||||
signed_up_but_pending: Un mensaje con un enlace de confirmacion ha sido enviado a su direccion de email. Luego de clickear el link revisaremos su aplicacion. Seras notificado si es aprovada.
|
|
||||||
signed_up_but_unconfirmed: Un mensaje con un enlace de confirmación ha sido enviado a su correo electrónico. Por favor siga el enlace para activar su cuenta.
|
|
||||||
update_needs_confirmation: Ha actualizado su cuenta con éxito, pero necesitamos verificar su nueva dirección de correo. Por favor compruebe su correo y siga el enlace para confirmar su nueva dirección de correo.
|
|
||||||
updated: su cuenta ha sido actualizada con éxito.
|
|
||||||
sessions:
|
|
||||||
already_signed_out: Cerró sesión con éxito.
|
|
||||||
signed_in: Se registró con éxito.
|
|
||||||
signed_out: Cerró sesión con éxito.
|
|
||||||
unlocks:
|
|
||||||
send_instructions: Recibirá un correo electrónico con instrucciones sobre cómo desbloquear su cuenta en pocos minutos.
|
|
||||||
send_paranoid_instructions: Si su cuenta existe, recibirá un correo electrónico con instrucciones sobre cómo desbloquearla en pocos minutos.
|
|
||||||
unlocked: Su cuenta ha sido desbloqueada con éxito. Por favor inicie sesión para continuar.
|
|
||||||
errors:
|
|
||||||
messages:
|
|
||||||
already_confirmed: ya fue confirmado, por favor intente iniciar sesión
|
|
||||||
confirmation_period_expired: necesita ser confirmado dentro de %{period}, por favor pida una nueva
|
|
||||||
expired: ha expirado, por favor pida una nueva
|
|
||||||
not_found: no encontrado
|
|
||||||
not_locked: no fue bloqueada
|
|
||||||
not_saved:
|
|
||||||
one: '1 error prohibió este %{resource} de ser guardado:'
|
|
||||||
other: "%{count} errores prohibieron este %{resource} de ser guardado:"
|
|
||||||
|
|
|
@ -46,6 +46,18 @@ hu:
|
||||||
extra: Amennyiben nem te kezdeményezted a módosítást, kérjük tekintsd ezt az e-mailt tárgytalannak. A Mastodon fiókodhoz tartozó jelszavad változatlan marad mindaddig, amíg újat nem hozol létre a fenti linkre kattintva.
|
extra: Amennyiben nem te kezdeményezted a módosítást, kérjük tekintsd ezt az e-mailt tárgytalannak. A Mastodon fiókodhoz tartozó jelszavad változatlan marad mindaddig, amíg újat nem hozol létre a fenti linkre kattintva.
|
||||||
subject: 'Mastodon: Jelszó visszaállítási lépések'
|
subject: 'Mastodon: Jelszó visszaállítási lépések'
|
||||||
title: Jelszó visszaállítása
|
title: Jelszó visszaállítása
|
||||||
|
two_factor_disabled:
|
||||||
|
explanation: A fiókod kétlépcsős hitelesítését letiltottuk. A bejelentkezés most már csak e-mail címmel és jelszóval lehetséges.
|
||||||
|
subject: Kétlépcsős azonosítás letiltva
|
||||||
|
title: Kétlépcsős hitelesítés engedélyezve
|
||||||
|
two_factor_enabled:
|
||||||
|
explanation: Kétlépcsős hitelesítés engedélyezve van a fiókodban. Bejelentkezéshez a párosított TOTP alkalmazás által létrehozott tokenre lesz szükség.
|
||||||
|
subject: Kétlépcsős azonosítás engedélyezve
|
||||||
|
title: Kétlépcsős hitelesítés engedélyezve
|
||||||
|
two_factor_recovery_codes_changed:
|
||||||
|
explanation: A korábbi helyreállítási kódokat letiltottuk, és újakat generáltunk.
|
||||||
|
subject: Kétlépcsős helyreállítási kódok újra létrejöttek
|
||||||
|
title: A kétlépcsős kódok megváltozott
|
||||||
unlock_instructions:
|
unlock_instructions:
|
||||||
subject: 'Mastodon: Feloldási lépések'
|
subject: 'Mastodon: Feloldási lépések'
|
||||||
omniauth_callbacks:
|
omniauth_callbacks:
|
||||||
|
|
|
@ -46,6 +46,18 @@ ja:
|
||||||
extra: この要求に心当たりがない場合、このメールを無視してください。上記リンク先にアクセスし新しいものを作成するまでパスワードは変更されません。
|
extra: この要求に心当たりがない場合、このメールを無視してください。上記リンク先にアクセスし新しいものを作成するまでパスワードは変更されません。
|
||||||
subject: 'Mastodon: パスワード再発行'
|
subject: 'Mastodon: パスワード再発行'
|
||||||
title: パスワード再発行
|
title: パスワード再発行
|
||||||
|
two_factor_disabled:
|
||||||
|
explanation: あなたのアカウントの二段階認証が無効化されました。メールとパスワードのみでログインできます。
|
||||||
|
subject: 'Mastodon: 二段階認証が無効になりました'
|
||||||
|
title: 二段階認証が無効化されました
|
||||||
|
two_factor_enabled:
|
||||||
|
explanation: あなたのアカウントの二段階認証が有効化されました。ログインするには TOTP アプリで生成されたコードが必要です。
|
||||||
|
subject: 'Mastodon: 二段階認証が有効になりました'
|
||||||
|
title: 二段階認証が有効化されました
|
||||||
|
two_factor_recovery_codes_changed:
|
||||||
|
explanation: 以前のリカバリーコードが無効化され、新しいコードが生成されました。
|
||||||
|
subject: 'Mastodon: 二段階認証のリカバリーコードが再生成されました'
|
||||||
|
title: 二段階認証のリカバリーコードが変更されました
|
||||||
unlock_instructions:
|
unlock_instructions:
|
||||||
subject: 'Mastodon: アカウントのロックの解除'
|
subject: 'Mastodon: アカウントのロックの解除'
|
||||||
omniauth_callbacks:
|
omniauth_callbacks:
|
||||||
|
|
|
@ -133,7 +133,7 @@ ar:
|
||||||
read:search: البحث مكانك
|
read:search: البحث مكانك
|
||||||
read:statuses: رؤية كافة المنشورات
|
read:statuses: رؤية كافة المنشورات
|
||||||
write: تغيير كافة بيانات حسابك
|
write: تغيير كافة بيانات حسابك
|
||||||
write:accounts: تعديل ملفك الشخصي
|
write:accounts: تعديل صفحتك التعريفية
|
||||||
write:blocks: حجب الحسابات و النطاقات
|
write:blocks: حجب الحسابات و النطاقات
|
||||||
write:favourites: الإعجاب بمنشورات
|
write:favourites: الإعجاب بمنشورات
|
||||||
write:filters: إنشاء عوامل تصفية
|
write:filters: إنشاء عوامل تصفية
|
||||||
|
|
|
@ -1,148 +1 @@
|
||||||
---
|
es-AR:
|
||||||
es:
|
|
||||||
activerecord:
|
|
||||||
attributes:
|
|
||||||
doorkeeper/application:
|
|
||||||
name: Nombre de aplicación
|
|
||||||
redirect_uri: URI para redirección
|
|
||||||
scopes: Ámbitos
|
|
||||||
website: Sitio web
|
|
||||||
errors:
|
|
||||||
models:
|
|
||||||
doorkeeper/application:
|
|
||||||
attributes:
|
|
||||||
redirect_uri:
|
|
||||||
fragment_present: no puede contener un fragmento.
|
|
||||||
invalid_uri: debe ser un URI válido.
|
|
||||||
relative_uri: debe ser una URI absoluta.
|
|
||||||
secured_uri: debe ser un URI HTTPS/SSL.
|
|
||||||
doorkeeper:
|
|
||||||
applications:
|
|
||||||
buttons:
|
|
||||||
authorize: Autorizar
|
|
||||||
cancel: Cancelar
|
|
||||||
destroy: Destruir
|
|
||||||
edit: Editar
|
|
||||||
submit: Enviar
|
|
||||||
confirmations:
|
|
||||||
destroy: "¿Está seguro?"
|
|
||||||
edit:
|
|
||||||
title: Editar aplicación
|
|
||||||
form:
|
|
||||||
error: "¡Uuups! Compruebe su formulario"
|
|
||||||
help:
|
|
||||||
native_redirect_uri: Utilice %{native_redirect_uri} para pruebas locales
|
|
||||||
redirect_uri: Utilice una línea por URI
|
|
||||||
scopes: Separe los ámbitos con espacios. Déjelo en blanco para utilizar los ámbitos por defecto.
|
|
||||||
index:
|
|
||||||
application: Aplicación
|
|
||||||
callback_url: URL de callback
|
|
||||||
delete: Eliminar
|
|
||||||
name: Nombre
|
|
||||||
new: Nueva aplicación
|
|
||||||
scopes: Ámbitos
|
|
||||||
show: Mostrar
|
|
||||||
title: Sus aplicaciones
|
|
||||||
new:
|
|
||||||
title: Nueva aplicación
|
|
||||||
show:
|
|
||||||
actions: Acciones
|
|
||||||
application_id: Id de la aplicación
|
|
||||||
callback_urls: URLs de callback
|
|
||||||
scopes: Ámbitos
|
|
||||||
secret: Secreto
|
|
||||||
title: 'Aplicación: %{name}'
|
|
||||||
authorizations:
|
|
||||||
buttons:
|
|
||||||
authorize: Autorizar
|
|
||||||
deny: Desautorizar
|
|
||||||
error:
|
|
||||||
title: Ha ocurrido un error
|
|
||||||
new:
|
|
||||||
able_to: Será capaz de
|
|
||||||
prompt: La aplicación %{client_name} solicita tener acceso a su cuenta
|
|
||||||
title: Se requiere autorización
|
|
||||||
show:
|
|
||||||
title: Copia este código de autorización y pégalo en la aplicación.
|
|
||||||
authorized_applications:
|
|
||||||
buttons:
|
|
||||||
revoke: Revocar
|
|
||||||
confirmations:
|
|
||||||
revoke: "¿Está seguro?"
|
|
||||||
index:
|
|
||||||
application: Aplicación
|
|
||||||
created_at: Creado el
|
|
||||||
date_format: "%A-%m-%d %H:%M:%S"
|
|
||||||
scopes: Ámbitos
|
|
||||||
title: Sus aplicaciones autorizadas
|
|
||||||
errors:
|
|
||||||
messages:
|
|
||||||
access_denied: El propietario del recurso o servidor de autorización denegó la petición.
|
|
||||||
credential_flow_not_configured: Las credenciales de contraseña del propietario del recurso falló debido a que Doorkeeper.configure.resource_owner_from_credentials está sin configurar.
|
|
||||||
invalid_client: La autentificación del cliente falló debido o a que es un cliente desconocido o no está incluída la autentificación del cliente o el método de autentificación no está confirmado.
|
|
||||||
invalid_grant: La concesión de autorización ofrecida es inválida, venció, se revocó, no coincide con la URI de redirección utilizada en la petición de autorización, o fue emitida para otro cliente.
|
|
||||||
invalid_redirect_uri: La URI de redirección incluida no es válida.
|
|
||||||
invalid_request: En la petición falta un parámetro necesario o incluye un valor de parámetro no soportado o tiene otro tipo de formato incorrecto.
|
|
||||||
invalid_resource_owner: Las credenciales proporcionadas del propietario del recurso no son válidas, o el propietario del recurso no puede ser encontrado
|
|
||||||
invalid_scope: El ámbito pedido es inválido, desconocido o erróneo.
|
|
||||||
invalid_token:
|
|
||||||
expired: El autentificador de acceso expiró
|
|
||||||
revoked: El autentificador de acceso fue revocado
|
|
||||||
unknown: El autentificador de acceso es inválido
|
|
||||||
resource_owner_authenticator_not_configured: El propietario del recurso falló debido a que Doorkeeper.configure.resource_owner_authenticator está sin configurar.
|
|
||||||
server_error: El servidor de la autorización entontró una condición inesperada que le impidió cumplir con la solicitud.
|
|
||||||
temporarily_unavailable: El servidor de la autorización es actualmente incapaz de manejar la petición debido a una sobrecarga temporal o un trabajo de mantenimiento del servidor.
|
|
||||||
unauthorized_client: El cliente no está autorizado a realizar esta petición utilizando este método.
|
|
||||||
unsupported_grant_type: El tipo de concesión de autorización no está soportado por el servidor de autorización.
|
|
||||||
unsupported_response_type: El servidor de autorización no soporta este tipo de respuesta.
|
|
||||||
flash:
|
|
||||||
applications:
|
|
||||||
create:
|
|
||||||
notice: Aplicación creada.
|
|
||||||
destroy:
|
|
||||||
notice: Aplicación eliminada.
|
|
||||||
update:
|
|
||||||
notice: Aplicación actualizada.
|
|
||||||
authorized_applications:
|
|
||||||
destroy:
|
|
||||||
notice: Aplicación revocada.
|
|
||||||
layouts:
|
|
||||||
admin:
|
|
||||||
nav:
|
|
||||||
applications: Aplicaciones
|
|
||||||
oauth2_provider: Proveedor OAuth2
|
|
||||||
application:
|
|
||||||
title: OAuth autorización requerida
|
|
||||||
scopes:
|
|
||||||
admin:read: leer todos los datos en el servidor
|
|
||||||
admin:read:accounts: leer información sensible de todas las cuentas
|
|
||||||
admin:read:reports: leer información sensible de todos los informes y cuentas reportadas
|
|
||||||
admin:write: modificar todos los datos en el servidor
|
|
||||||
admin:write:accounts: realizar acciones de moderación en cuentas
|
|
||||||
admin:write:reports: realizar acciones de moderación en informes
|
|
||||||
follow: seguir, bloquear, desbloquear y dejar de seguir cuentas
|
|
||||||
push: recibir tus notificaciones push
|
|
||||||
read: leer los datos de tu cuenta
|
|
||||||
read:accounts: ver información de cuentas
|
|
||||||
read:blocks: ver a quién has bloqueado
|
|
||||||
read:favourites: ver tus favoritos
|
|
||||||
read:filters: ver tus filtros
|
|
||||||
read:follows: ver a quién sigues
|
|
||||||
read:lists: ver tus listas
|
|
||||||
read:mutes: ver a quién has silenciado
|
|
||||||
read:notifications: ver tus notificaciones
|
|
||||||
read:reports: ver tus informes
|
|
||||||
read:search: buscar en su nombre
|
|
||||||
read:statuses: ver todos los estados
|
|
||||||
write: publicar en tu nombre
|
|
||||||
write:accounts: modifica tu perfil
|
|
||||||
write:blocks: bloquear cuentas y dominios
|
|
||||||
write:favourites: toots favoritos
|
|
||||||
write:filters: crear filtros
|
|
||||||
write:follows: seguir usuarios
|
|
||||||
write:lists: crear listas
|
|
||||||
write:media: subir archivos multimedia
|
|
||||||
write:mutes: silenciar usuarios y conversaciones
|
|
||||||
write:notifications: limpia tus notificaciones
|
|
||||||
write:reports: reportar a otras personas
|
|
||||||
write:statuses: publicar estados
|
|
||||||
|
|
|
@ -35,6 +35,9 @@ el:
|
||||||
status_count_before: Που έγραψαν
|
status_count_before: Που έγραψαν
|
||||||
tagline: Ακολούθησε τους γνωστούς σου και ανακάλυψε νέους ανθρώπους
|
tagline: Ακολούθησε τους γνωστούς σου και ανακάλυψε νέους ανθρώπους
|
||||||
terms: Όροι χρήσης
|
terms: Όροι χρήσης
|
||||||
|
unavailable_content: Μη διαθέσιμο
|
||||||
|
unavailable_content_description:
|
||||||
|
reason: 'Αιτία:'
|
||||||
user_count_after:
|
user_count_after:
|
||||||
one: χρήστης
|
one: χρήστης
|
||||||
other: χρήστες
|
other: χρήστες
|
||||||
|
@ -235,6 +238,7 @@ el:
|
||||||
disabled_msg: Επιτυχής απενεργοποίηση αυτού του emoji
|
disabled_msg: Επιτυχής απενεργοποίηση αυτού του emoji
|
||||||
emoji: Emoji
|
emoji: Emoji
|
||||||
enable: Ενεργοποίηση
|
enable: Ενεργοποίηση
|
||||||
|
enabled: Ενεργοποιημένα
|
||||||
enabled_msg: Επιτυχής ενεργοποίηση αυτού του emoji
|
enabled_msg: Επιτυχής ενεργοποίηση αυτού του emoji
|
||||||
image_hint: PNG έως 50KB
|
image_hint: PNG έως 50KB
|
||||||
listed: Αναφερθέντα
|
listed: Αναφερθέντα
|
||||||
|
@ -618,6 +622,10 @@ el:
|
||||||
return: Δείξε το προφίλ του χρήστη
|
return: Δείξε το προφίλ του χρήστη
|
||||||
web: Πήγαινε στο δίκτυο
|
web: Πήγαινε στο δίκτυο
|
||||||
title: Ακολούθησε %{acct}
|
title: Ακολούθησε %{acct}
|
||||||
|
challenge:
|
||||||
|
confirm: Συνέχεια
|
||||||
|
invalid_password: Μη έγκυρο συνθηματικό
|
||||||
|
prompt: Επιβεβαίωση συνθηματικού για συνέχεια
|
||||||
datetime:
|
datetime:
|
||||||
distance_in_words:
|
distance_in_words:
|
||||||
about_x_hours: "%{count}ω"
|
about_x_hours: "%{count}ω"
|
||||||
|
@ -686,7 +694,7 @@ el:
|
||||||
domain_blocks: Μπλοκαρίσματα κόμβων
|
domain_blocks: Μπλοκαρίσματα κόμβων
|
||||||
follows: Ακολουθείς
|
follows: Ακολουθείς
|
||||||
lists: Λίστες
|
lists: Λίστες
|
||||||
mutes: Αποσιωπάς
|
mutes: Αποσιωπήσεις
|
||||||
storage: Αποθήκευση πολυμέσων
|
storage: Αποθήκευση πολυμέσων
|
||||||
featured_tags:
|
featured_tags:
|
||||||
add_new: Προσθήκη νέας
|
add_new: Προσθήκη νέας
|
||||||
|
@ -790,6 +798,10 @@ el:
|
||||||
too_many: Δεν γίνεται να προσθέσεις περισσότερα από 4 αρχεία
|
too_many: Δεν γίνεται να προσθέσεις περισσότερα από 4 αρχεία
|
||||||
migrations:
|
migrations:
|
||||||
acct: ΌνομαΧρήστη@Τομέας του νέου λογαριασμού
|
acct: ΌνομαΧρήστη@Τομέας του νέου λογαριασμού
|
||||||
|
cancel: Ακύρωση ανακατεύθυνσης
|
||||||
|
errors:
|
||||||
|
not_found: δεν βρέθηκε
|
||||||
|
proceed_with_move: Μετακίνηση ακολούθων
|
||||||
moderation:
|
moderation:
|
||||||
title: Συντονισμός
|
title: Συντονισμός
|
||||||
notification_mailer:
|
notification_mailer:
|
||||||
|
|
|
@ -242,8 +242,10 @@ en:
|
||||||
disabled_msg: Successfully disabled that emoji
|
disabled_msg: Successfully disabled that emoji
|
||||||
emoji: Emoji
|
emoji: Emoji
|
||||||
enable: Enable
|
enable: Enable
|
||||||
|
enabled: Enabled
|
||||||
enabled_msg: Successfully enabled that emoji
|
enabled_msg: Successfully enabled that emoji
|
||||||
image_hint: PNG up to 50KB
|
image_hint: PNG up to 50KB
|
||||||
|
list: List
|
||||||
listed: Listed
|
listed: Listed
|
||||||
new:
|
new:
|
||||||
title: Add new custom emoji
|
title: Add new custom emoji
|
||||||
|
@ -252,12 +254,13 @@ en:
|
||||||
shortcode_hint: At least 2 characters, only alphanumeric characters and underscores
|
shortcode_hint: At least 2 characters, only alphanumeric characters and underscores
|
||||||
title: Custom emojis
|
title: Custom emojis
|
||||||
uncategorized: Uncategorized
|
uncategorized: Uncategorized
|
||||||
|
unlist: Unlist
|
||||||
unlisted: Unlisted
|
unlisted: Unlisted
|
||||||
update_failed_msg: Could not update that emoji
|
update_failed_msg: Could not update that emoji
|
||||||
updated_msg: Emoji successfully updated!
|
updated_msg: Emoji successfully updated!
|
||||||
upload: Upload
|
upload: Upload
|
||||||
dashboard:
|
dashboard:
|
||||||
authorized_fetch_mode: Authorized fetch mode
|
authorized_fetch_mode: Secure mode
|
||||||
backlog: backlogged jobs
|
backlog: backlogged jobs
|
||||||
config: Configuration
|
config: Configuration
|
||||||
feature_deletions: Account deletions
|
feature_deletions: Account deletions
|
||||||
|
@ -383,6 +386,7 @@ en:
|
||||||
pending: Waiting for relay's approval
|
pending: Waiting for relay's approval
|
||||||
save_and_enable: Save and enable
|
save_and_enable: Save and enable
|
||||||
setup: Setup a relay connection
|
setup: Setup a relay connection
|
||||||
|
signatures_not_enabled: Relays will not work correctly while secure mode or whitelist mode is enabled
|
||||||
status: Status
|
status: Status
|
||||||
title: Relays
|
title: Relays
|
||||||
report_notes:
|
report_notes:
|
||||||
|
@ -827,13 +831,16 @@ en:
|
||||||
past_migrations: Past migrations
|
past_migrations: Past migrations
|
||||||
proceed_with_move: Move followers
|
proceed_with_move: Move followers
|
||||||
redirecting_to: Your account is redirecting to %{acct}.
|
redirecting_to: Your account is redirecting to %{acct}.
|
||||||
|
set_redirect: Set redirect
|
||||||
warning:
|
warning:
|
||||||
backreference_required: The new account must first be configured to back-reference this one
|
backreference_required: The new account must first be configured to back-reference this one
|
||||||
before: 'Before proceeding, please read these notes carefully:'
|
before: 'Before proceeding, please read these notes carefully:'
|
||||||
cooldown: After moving there is a cooldown period during which you will not be able to move again
|
cooldown: After moving there is a cooldown period during which you will not be able to move again
|
||||||
disabled_account: Your current account will not be fully usable afterwards. However, you will have access to data export as well as re-activation.
|
disabled_account: Your current account will not be fully usable afterwards. However, you will have access to data export as well as re-activation.
|
||||||
followers: This action will move all followers from the current account to the new account
|
followers: This action will move all followers from the current account to the new account
|
||||||
|
only_redirect_html: Alternatively, you can <a href="%{path}">only put up a redirect on your profile</a>.
|
||||||
other_data: No other data will be moved automatically
|
other_data: No other data will be moved automatically
|
||||||
|
redirect: Your current account's profile will be updated with a redirect notice and be excluded from searches
|
||||||
moderation:
|
moderation:
|
||||||
title: Moderation
|
title: Moderation
|
||||||
notification_mailer:
|
notification_mailer:
|
||||||
|
|
|
@ -502,6 +502,9 @@ eo:
|
||||||
context: Kunteksto
|
context: Kunteksto
|
||||||
directory: En la adresaro
|
directory: En la adresaro
|
||||||
in_directory: "%{count} en adresaro"
|
in_directory: "%{count} en adresaro"
|
||||||
|
last_active: Lasta aktiva
|
||||||
|
most_recent: Plej lasta
|
||||||
|
name: Kradvorto
|
||||||
review: La statuso de la recenzo
|
review: La statuso de la recenzo
|
||||||
reviewed: Recenzis
|
reviewed: Recenzis
|
||||||
title: Kradvortoj
|
title: Kradvortoj
|
||||||
|
@ -530,6 +533,7 @@ eo:
|
||||||
advanced_web_interface_hint: 'Se vi volas uzi la tutan larĝecon de via ekrano, la kompleksa reta interfaco permesas al vi agordi multajn malsamajn kolumnojn por vidi tiom da informoj kiom vi volas samtempe: Hejmo, sciigoj, fratara tempolinio, kaj ajna kvanto de listoj kaj kradvortoj.'
|
advanced_web_interface_hint: 'Se vi volas uzi la tutan larĝecon de via ekrano, la kompleksa reta interfaco permesas al vi agordi multajn malsamajn kolumnojn por vidi tiom da informoj kiom vi volas samtempe: Hejmo, sciigoj, fratara tempolinio, kaj ajna kvanto de listoj kaj kradvortoj.'
|
||||||
animations_and_accessibility: Animacioj kaj alirebleco
|
animations_and_accessibility: Animacioj kaj alirebleco
|
||||||
confirmation_dialogs: Konfirmaj fenestroj
|
confirmation_dialogs: Konfirmaj fenestroj
|
||||||
|
discovery: Eltrovo
|
||||||
sensitive_content: Tikla enhavo
|
sensitive_content: Tikla enhavo
|
||||||
application_mailer:
|
application_mailer:
|
||||||
notification_preferences: Ŝanĝi retmesaĝajn preferojn
|
notification_preferences: Ŝanĝi retmesaĝajn preferojn
|
||||||
|
@ -552,6 +556,8 @@ eo:
|
||||||
checkbox_agreement_html: Mi samopinii al la <a href="%{rules_path}" target="_blank">Servo reguloj</a> kaj <a href="%{terms_path}" target="_blank">kondiĉo al servadon</a>
|
checkbox_agreement_html: Mi samopinii al la <a href="%{rules_path}" target="_blank">Servo reguloj</a> kaj <a href="%{terms_path}" target="_blank">kondiĉo al servadon</a>
|
||||||
delete_account: Forigi konton
|
delete_account: Forigi konton
|
||||||
delete_account_html: Se vi deziras forigi vian konton, vi povas <a href="%{path}">fari tion ĉi tie</a>. Vi bezonos konfirmi vian peton.
|
delete_account_html: Se vi deziras forigi vian konton, vi povas <a href="%{path}">fari tion ĉi tie</a>. Vi bezonos konfirmi vian peton.
|
||||||
|
description:
|
||||||
|
prefix_sign_up: Registriĝi ĉe Mastodon hodiaŭ!
|
||||||
didnt_get_confirmation: Ĉu vi ne ricevis la instrukciojn por konfirmi?
|
didnt_get_confirmation: Ĉu vi ne ricevis la instrukciojn por konfirmi?
|
||||||
forgot_password: Pasvorto forgesita?
|
forgot_password: Pasvorto forgesita?
|
||||||
invalid_reset_password_token: Ĵetono por restarigi pasvorton nevalida aŭ eksvalida. Bonvolu peti novan.
|
invalid_reset_password_token: Ĵetono por restarigi pasvorton nevalida aŭ eksvalida. Bonvolu peti novan.
|
||||||
|
@ -586,6 +592,10 @@ eo:
|
||||||
return: Montri la profilon de la uzanto
|
return: Montri la profilon de la uzanto
|
||||||
web: Iri al reto
|
web: Iri al reto
|
||||||
title: Sekvi %{acct}
|
title: Sekvi %{acct}
|
||||||
|
challenge:
|
||||||
|
confirm: Daŭrigi
|
||||||
|
invalid_password: Nevalida pasvorto
|
||||||
|
prompt: Konfirmi pasvorton por daŭrigi
|
||||||
datetime:
|
datetime:
|
||||||
distance_in_words:
|
distance_in_words:
|
||||||
about_x_hours: "%{count}h"
|
about_x_hours: "%{count}h"
|
||||||
|
|
File diff suppressed because it is too large
Load Diff
|
@ -10,7 +10,7 @@ fa:
|
||||||
api: رابط برنامهنویسی کاربردی
|
api: رابط برنامهنویسی کاربردی
|
||||||
apps: اپهای موبایل
|
apps: اپهای موبایل
|
||||||
apps_platforms: ماستدون را در iOS، اندروید، و سایر سیستمها داشته باشید
|
apps_platforms: ماستدون را در iOS، اندروید، و سایر سیستمها داشته باشید
|
||||||
browse_directory: در فهرست گزیدهٔ کاربران این سرور چرخی بزنید و کاربران را بر اساس علاقهمندیهایشان پیدا کنید
|
browse_directory: کاربران این سرور را بر اساس علاقهمندیهایشان پیدا کنید
|
||||||
browse_public_posts: فهرست لحظهای نوشتههای عمومی در ماستدون را ببینید
|
browse_public_posts: فهرست لحظهای نوشتههای عمومی در ماستدون را ببینید
|
||||||
contact: تماس
|
contact: تماس
|
||||||
contact_missing: تعیین نشده
|
contact_missing: تعیین نشده
|
||||||
|
|
|
@ -242,8 +242,10 @@ fr:
|
||||||
disabled_msg: Émoji désactivé avec succès !
|
disabled_msg: Émoji désactivé avec succès !
|
||||||
emoji: Émoji
|
emoji: Émoji
|
||||||
enable: Activer
|
enable: Activer
|
||||||
|
enabled: Activé
|
||||||
enabled_msg: Émoji activé avec succès
|
enabled_msg: Émoji activé avec succès
|
||||||
image_hint: PNG de moins de 50 Ko
|
image_hint: PNG de moins de 50 Ko
|
||||||
|
list: Liste
|
||||||
listed: Listé
|
listed: Listé
|
||||||
new:
|
new:
|
||||||
title: Ajouter un nouvel émoji personnalisé
|
title: Ajouter un nouvel émoji personnalisé
|
||||||
|
@ -252,6 +254,7 @@ fr:
|
||||||
shortcode_hint: Au moins deux caractères, seulement des caractères alphanumériques ou des tirets bas
|
shortcode_hint: Au moins deux caractères, seulement des caractères alphanumériques ou des tirets bas
|
||||||
title: Émojis personnalisés
|
title: Émojis personnalisés
|
||||||
uncategorized: Non catégorisé
|
uncategorized: Non catégorisé
|
||||||
|
unlist: Délisté
|
||||||
unlisted: Délisté
|
unlisted: Délisté
|
||||||
update_failed_msg: N’a pas pu mettre à jour cet émoji
|
update_failed_msg: N’a pas pu mettre à jour cet émoji
|
||||||
updated_msg: Émoji mis à jour avec succès !
|
updated_msg: Émoji mis à jour avec succès !
|
||||||
|
@ -383,6 +386,7 @@ fr:
|
||||||
pending: En attente de l’approbation du relai
|
pending: En attente de l’approbation du relai
|
||||||
save_and_enable: Sauvegarder et activer
|
save_and_enable: Sauvegarder et activer
|
||||||
setup: Paramétrer une connexion de relais
|
setup: Paramétrer une connexion de relais
|
||||||
|
signatures_not_enabled: Les relais ne fonctionneront pas correctement lorsque le mode sécurisé ou le mode liste blanche est activé
|
||||||
status: Statut
|
status: Statut
|
||||||
title: Relais
|
title: Relais
|
||||||
report_notes:
|
report_notes:
|
||||||
|
|
|
@ -35,6 +35,13 @@ hu:
|
||||||
status_count_before: eddig
|
status_count_before: eddig
|
||||||
tagline: Kövess barátokat és találj újakat
|
tagline: Kövess barátokat és találj újakat
|
||||||
terms: Felhasználási feltételek
|
terms: Felhasználási feltételek
|
||||||
|
unavailable_content: A tartalom nem elérhető
|
||||||
|
unavailable_content_description:
|
||||||
|
reason: 'Indok:'
|
||||||
|
rejecting_media: A szerverről származó médiafájlok nem kerülnek feldolgozásra, és nem jelennek meg miniatűrök, amelyek kézi átkattintást igényelnek a másik szerverre.
|
||||||
|
silenced: A szerver hozzászólásai csak a saját hírvonalon jelennek meg, ha követik a szerzőt.
|
||||||
|
suspended: Nem fogsz tudni követni senkit ebből a szerverből, és nem kerül feldolgozásra vagy tárolásra a tőle származó adat, és nincs adatcsere.
|
||||||
|
unavailable_content_html: A Mastodon általában mindenféle tartalomcserét és interakciót lehetővé tesz bármelyik szerverrel a fediverzumban. Ezek azok a kivételek, melyek a mi szerverünkön érvényben vannak.
|
||||||
user_count_after:
|
user_count_after:
|
||||||
one: felhasználónk
|
one: felhasználónk
|
||||||
other: felhasználónk
|
other: felhasználónk
|
||||||
|
@ -42,6 +49,8 @@ hu:
|
||||||
what_is_mastodon: Mi a Mastodon?
|
what_is_mastodon: Mi a Mastodon?
|
||||||
accounts:
|
accounts:
|
||||||
choices_html: "%{name} választásai:"
|
choices_html: "%{name} választásai:"
|
||||||
|
endorsements_hint: A webes felületen jóváhagyhatod a követett embereket, és itt jelennek meg.
|
||||||
|
featured_tags_hint: Szerepeltethetsz bizonyos hashtageket, melyek itt jelennek majd meg.
|
||||||
follow: Követés
|
follow: Követés
|
||||||
followers:
|
followers:
|
||||||
one: Követő
|
one: Követő
|
||||||
|
@ -53,6 +62,7 @@ hu:
|
||||||
media: Média
|
media: Média
|
||||||
moved_html: "%{name} ide költözött: %{new_profile_link}"
|
moved_html: "%{name} ide költözött: %{new_profile_link}"
|
||||||
network_hidden: Ez az információ nem elérhető
|
network_hidden: Ez az információ nem elérhető
|
||||||
|
never_active: Soha
|
||||||
nothing_here: Nincs itt semmi!
|
nothing_here: Nincs itt semmi!
|
||||||
people_followed_by: "%{name} követettjei"
|
people_followed_by: "%{name} követettjei"
|
||||||
people_who_follow: "%{name} követői"
|
people_who_follow: "%{name} követői"
|
||||||
|
@ -219,10 +229,12 @@ hu:
|
||||||
deleted_status: "(törölt tülk)"
|
deleted_status: "(törölt tülk)"
|
||||||
title: Audit napló
|
title: Audit napló
|
||||||
custom_emojis:
|
custom_emojis:
|
||||||
|
assign_category: Kategóriák
|
||||||
by_domain: Domain
|
by_domain: Domain
|
||||||
copied_msg: Sikeresen létrehoztuk az emoji helyi másolatát
|
copied_msg: Sikeresen létrehoztuk az emoji helyi másolatát
|
||||||
copy: Másolás
|
copy: Másolás
|
||||||
copy_failed_msg: Emoji helyi másolatának létrehozása sikertelen
|
copy_failed_msg: Emoji helyi másolatának létrehozása sikertelen
|
||||||
|
create_new_category: Új kategória létrehozása
|
||||||
created_msg: Emoji létrehozva!
|
created_msg: Emoji létrehozva!
|
||||||
delete: Törlés
|
delete: Törlés
|
||||||
destroyed_msg: Emoji törlése sikeres!
|
destroyed_msg: Emoji törlése sikeres!
|
||||||
|
@ -239,6 +251,7 @@ hu:
|
||||||
shortcode: Rövidítés
|
shortcode: Rövidítés
|
||||||
shortcode_hint: Legalább két karakter, csak betűk, számok és alsóvonás
|
shortcode_hint: Legalább két karakter, csak betűk, számok és alsóvonás
|
||||||
title: Egyedi emojik
|
title: Egyedi emojik
|
||||||
|
uncategorized: Nem kategorizált
|
||||||
unlisted: Nincs listázva
|
unlisted: Nincs listázva
|
||||||
update_failed_msg: Nem sikerült frissíteni az emojit
|
update_failed_msg: Nem sikerült frissíteni az emojit
|
||||||
updated_msg: Emoji sikeresen frissítve!
|
updated_msg: Emoji sikeresen frissítve!
|
||||||
|
@ -418,6 +431,16 @@ hu:
|
||||||
custom_css:
|
custom_css:
|
||||||
desc_html: Változtasd meg a kinézetet ebben a CSS-ben, mely minden oldalon be fog töltődni
|
desc_html: Változtasd meg a kinézetet ebben a CSS-ben, mely minden oldalon be fog töltődni
|
||||||
title: Egyedi CSS
|
title: Egyedi CSS
|
||||||
|
default_noindex:
|
||||||
|
desc_html: Olyan felhasználókat érinti, akik nem módosították ezt a beállítást
|
||||||
|
title: Alapértelmezésként ne indexeljék a keresők a felhasználóinkat
|
||||||
|
domain_blocks:
|
||||||
|
all: Mindenkinek
|
||||||
|
disabled: Senkinek
|
||||||
|
title: Domain tiltások megjelenitése
|
||||||
|
users: Bejelentkezett helyi felhasználóknak
|
||||||
|
domain_blocks_rationale:
|
||||||
|
title: Mutasd meg az indokolást
|
||||||
hero:
|
hero:
|
||||||
desc_html: A kezdőoldalon látszik. Legalább 600x100px méret javasolt. Ha nincs beállítva, a szerver bélyegképet használjuk
|
desc_html: A kezdőoldalon látszik. Legalább 600x100px méret javasolt. Ha nincs beállítva, a szerver bélyegképet használjuk
|
||||||
title: Hősi kép
|
title: Hősi kép
|
||||||
|
@ -487,6 +510,7 @@ hu:
|
||||||
delete: Törlés
|
delete: Törlés
|
||||||
nsfw_off: Szenzitív megjelölés törlése
|
nsfw_off: Szenzitív megjelölés törlése
|
||||||
nsfw_on: Megjelölés szenzitív tartalomként
|
nsfw_on: Megjelölés szenzitív tartalomként
|
||||||
|
deleted: Törölve
|
||||||
failed_to_execute: Végrehajtás sikertelen
|
failed_to_execute: Végrehajtás sikertelen
|
||||||
media:
|
media:
|
||||||
title: Média
|
title: Média
|
||||||
|
@ -501,6 +525,10 @@ hu:
|
||||||
context: Környezet
|
context: Környezet
|
||||||
directory: Katalógusban
|
directory: Katalógusban
|
||||||
in_directory: "%{count} a katalógusban"
|
in_directory: "%{count} a katalógusban"
|
||||||
|
last_active: Utoljára aktív
|
||||||
|
most_popular: Legnépszerűbb
|
||||||
|
most_recent: Legutóbbi
|
||||||
|
name: Címke
|
||||||
review: Engedélyezés állapota
|
review: Engedélyezés állapota
|
||||||
reviewed: Engedélyezett
|
reviewed: Engedélyezett
|
||||||
title: Hashtagek
|
title: Hashtagek
|
||||||
|
@ -526,6 +554,12 @@ hu:
|
||||||
new_trending_tag:
|
new_trending_tag:
|
||||||
body: 'A #%{name} hashtag trendi a mai napon, de még nem engedélyeztük eddig. Nem mutatjuk meg nyilvánosan, hacsak nem engedélyezed. Csak simán mentsd az űrlapot, ha soha többé nem akarsz erről a hashtagről hallani.'
|
body: 'A #%{name} hashtag trendi a mai napon, de még nem engedélyeztük eddig. Nem mutatjuk meg nyilvánosan, hacsak nem engedélyezed. Csak simán mentsd az űrlapot, ha soha többé nem akarsz erről a hashtagről hallani.'
|
||||||
subject: Új hashtag (#%{name}) engedélyezésre vár a %{instance} szerveren
|
subject: Új hashtag (#%{name}) engedélyezésre vár a %{instance} szerveren
|
||||||
|
aliases:
|
||||||
|
add_new: Alias készítése
|
||||||
|
created_msg: Elkészült az új aliasod. Most már elkezdheted a költöztetést a régi fiókból.
|
||||||
|
deleted_msg: Sikeresen eltávolítottad az aliast. A fiókról erre a fiókra való áttérés már nem lehetséges.
|
||||||
|
hint_html: Ha másik fiókról kívánsz átlépni erre a fiókra, itt létrehozhatsz egy aliast, amelyre szükség van, mielőtt folytathatod a követők áthelyezését a régi fiókból erre. Ez az áthelyezés önmagában <strong>ártalmatlan és visszafordítható</strong> folyamat. <strong>A fiók áttelepítését a régi fiókból indul el. </strong>
|
||||||
|
remove: Alias szétkapcsolása
|
||||||
appearance:
|
appearance:
|
||||||
advanced_web_interface: Haladó webes felület
|
advanced_web_interface: Haladó webes felület
|
||||||
advanced_web_interface_hint: 'Ha szeretnéd, a teljes képernyőszélességet felhasználhatod. A haladó webes felülettel különböző oszlopokat állíthatsz be, hogy egyszerre annyi infót láthass, amennyit csak akarsz: Saját idővonal, értesítések, föderációs idővonal, bármennyi lista vagy hashtag.'
|
advanced_web_interface_hint: 'Ha szeretnéd, a teljes képernyőszélességet felhasználhatod. A haladó webes felülettel különböző oszlopokat állíthatsz be, hogy egyszerre annyi infót láthass, amennyit csak akarsz: Saját idővonal, értesítések, föderációs idővonal, bármennyi lista vagy hashtag.'
|
||||||
|
@ -555,6 +589,10 @@ hu:
|
||||||
checkbox_agreement_without_rules_html: Egyetértek a <a href="%{terms_path}" target="_blank">felhasználási feltételekkel</a>
|
checkbox_agreement_without_rules_html: Egyetértek a <a href="%{terms_path}" target="_blank">felhasználási feltételekkel</a>
|
||||||
delete_account: Felhasználói fiók törlése
|
delete_account: Felhasználói fiók törlése
|
||||||
delete_account_html: Felhasználói fiókod törléséhez <a href="%{path}">kattints ide</a>. A rendszer újbóli megerősítést fog kérni.
|
delete_account_html: Felhasználói fiókod törléséhez <a href="%{path}">kattints ide</a>. A rendszer újbóli megerősítést fog kérni.
|
||||||
|
description:
|
||||||
|
prefix_invited_by_user: "@%{name} meghív téged, hogy csatlakozz erre a Mastodon szerverre!"
|
||||||
|
prefix_sign_up: Regisztrláj még ma a Mastodonra!
|
||||||
|
suffix: Egy fiókkal követhetsz másokat, tülkölhetsz, eszmét cserélhetsz más Mastodon szerverek felhasználóival!
|
||||||
didnt_get_confirmation: Nem kaptad meg a megerősítési lépéseket?
|
didnt_get_confirmation: Nem kaptad meg a megerősítési lépéseket?
|
||||||
forgot_password: Elfelejtetted a jelszavad?
|
forgot_password: Elfelejtetted a jelszavad?
|
||||||
invalid_reset_password_token: A jelszó-visszaállítási kulcs nem megfelelő vagy lejárt. Kérlek generálj egy újat.
|
invalid_reset_password_token: A jelszó-visszaállítási kulcs nem megfelelő vagy lejárt. Kérlek generálj egy újat.
|
||||||
|
@ -581,6 +619,7 @@ hu:
|
||||||
confirming: Várakozás a visszaigazolásra.
|
confirming: Várakozás a visszaigazolásra.
|
||||||
functional: A fiókod teljesen működőképes.
|
functional: A fiókod teljesen működőképes.
|
||||||
pending: A jelentkezésed engedélyezésre vár. Ez eltarthat egy ideig. Kapsz egy e-mailt, ha az elbírálás megtörtént.
|
pending: A jelentkezésed engedélyezésre vár. Ez eltarthat egy ideig. Kapsz egy e-mailt, ha az elbírálás megtörtént.
|
||||||
|
redirecting_to: A fiókod inaktív, mert jelenleg ide %{acct} van átirányítva.
|
||||||
trouble_logging_in: Problémád van a bejelentkezéssel?
|
trouble_logging_in: Problémád van a bejelentkezéssel?
|
||||||
authorize_follow:
|
authorize_follow:
|
||||||
already_following: Már követed ezt a felhasználót
|
already_following: Már követed ezt a felhasználót
|
||||||
|
@ -593,6 +632,11 @@ hu:
|
||||||
return: Visszatérés a felhasználó profiloldalára
|
return: Visszatérés a felhasználó profiloldalára
|
||||||
web: Megtekintés a weben
|
web: Megtekintés a weben
|
||||||
title: "%{acct} követése"
|
title: "%{acct} követése"
|
||||||
|
challenge:
|
||||||
|
confirm: Folytatás
|
||||||
|
hint_html: "<strong>Hasznos:</strong> Nem fogjuk megint a jelszavadat kérdezni a következő órában."
|
||||||
|
invalid_password: Érvénytelen jelszó
|
||||||
|
prompt: Add meg a jelszót a folytatáshoz
|
||||||
datetime:
|
datetime:
|
||||||
distance_in_words:
|
distance_in_words:
|
||||||
about_x_hours: "%{count}ó"
|
about_x_hours: "%{count}ó"
|
||||||
|
@ -608,9 +652,22 @@ hu:
|
||||||
x_months: "%{count}h"
|
x_months: "%{count}h"
|
||||||
x_seconds: "%{count}mp"
|
x_seconds: "%{count}mp"
|
||||||
deletes:
|
deletes:
|
||||||
|
challenge_not_passed: A beírt információ helytelen
|
||||||
confirm_password: Személyazonosságod megerősítéséhez írd be a jelenlegi jelszavad
|
confirm_password: Személyazonosságod megerősítéséhez írd be a jelenlegi jelszavad
|
||||||
|
confirm_username: Add meg a felhasználói nevedet a jóváhagyáshoz
|
||||||
proceed: Felhasználói fiók törlése
|
proceed: Felhasználói fiók törlése
|
||||||
success_msg: Felhasználói fiókod sikeresen töröltük
|
success_msg: Felhasználói fiókod sikeresen töröltük
|
||||||
|
warning:
|
||||||
|
before: 'Mielőtt továbbmész, kérlek olvasd el ezt alaposan:'
|
||||||
|
caches: Más szerverek által cache-elt tartalmak még megmaradhatnak
|
||||||
|
data_removal: A tülkjeid és minden más adatod véglegesen törlődni fog
|
||||||
|
email_change_html: <a href="%{path}">Megváltoztathatod az email címed</a> a fiókod törlése nélkül
|
||||||
|
email_contact_html: Ha még mindig nem érkezik meg, emailezhetsz ide <a href="mailto:%{email}">%{email}</a> segítségért
|
||||||
|
email_reconfirmation_html: Ha nem kaptad meg a megerősítő emailt, <a href="%{path}">itt újrakérheted</a>
|
||||||
|
irreversible: Nem fogod tudni visszaállítani vagy újraaktiválni a fiókodat
|
||||||
|
more_details_html: A részletekért nézd meg az <a href="%{terms_path}">adatvédelmi szabályzatot</a>.
|
||||||
|
username_available: A fiókod ismét elérhetővé válik
|
||||||
|
username_unavailable: A fiókod elérhetetlen marad
|
||||||
directories:
|
directories:
|
||||||
directory: Profilok
|
directory: Profilok
|
||||||
explanation: Találj másokra érdeklődésük alapján
|
explanation: Találj másokra érdeklődésük alapján
|
||||||
|
@ -618,10 +675,10 @@ hu:
|
||||||
domain_validator:
|
domain_validator:
|
||||||
invalid_domain: nem egy valódi domain név
|
invalid_domain: nem egy valódi domain név
|
||||||
errors:
|
errors:
|
||||||
'400': The request you submitted was invalid or malformed.
|
'400': A küldött kérés érvénytelen vagy hibás volt.
|
||||||
'403': Nincs jogosultságod az oldal megtekintéséhez.
|
'403': Nincs jogosultságod az oldal megtekintéséhez.
|
||||||
'404': Az általad keresett oldal nem található.
|
'404': Az általad keresett oldal nem található.
|
||||||
'406': This page is not available in the requested format.
|
'406': Ez az oldal a kért formátumban nem áll rendelkezésre.
|
||||||
'410': Az általad keresett oldal már nem létezik.
|
'410': Az általad keresett oldal már nem létezik.
|
||||||
'422':
|
'422':
|
||||||
content: Megerősítés sikertelen. Nem tiltottad le esetleg a sütiket?
|
content: Megerősítés sikertelen. Nem tiltottad le esetleg a sütiket?
|
||||||
|
@ -630,7 +687,7 @@ hu:
|
||||||
'500':
|
'500':
|
||||||
content: Sajnáljuk, valami hiba történt a mi oldalunkon.
|
content: Sajnáljuk, valami hiba történt a mi oldalunkon.
|
||||||
title: Az oldal nem megfelelő
|
title: Az oldal nem megfelelő
|
||||||
'503': The page could not be served due to a temporary server failure.
|
'503': Az oldalt nem tudjuk megmutatni átmeneti szerverprobléma miatt.
|
||||||
noscript_html: A Mastodon webalkalmazás használatához engedélyezned kell a JavaScriptet. A másik megoldás, hogy kipróbálsz egy platformodnak megfelelő <a href="%{apps_path}">alkalmazást</a>.
|
noscript_html: A Mastodon webalkalmazás használatához engedélyezned kell a JavaScriptet. A másik megoldás, hogy kipróbálsz egy platformodnak megfelelő <a href="%{apps_path}">alkalmazást</a>.
|
||||||
existing_username_validator:
|
existing_username_validator:
|
||||||
not_found: ezzel a névvel nem találtunk helyi felhasználót
|
not_found: ezzel a névvel nem találtunk helyi felhasználót
|
||||||
|
@ -654,6 +711,7 @@ hu:
|
||||||
add_new: Új hozzáadása
|
add_new: Új hozzáadása
|
||||||
errors:
|
errors:
|
||||||
limit: Már kiemelted a maximálisan engedélyezett számú hashtaget
|
limit: Már kiemelted a maximálisan engedélyezett számú hashtaget
|
||||||
|
hint_html: "<strong>Mik a kiemelt hashtagek?</strong> Ezek állandóan megjelennek a nyilvános profilodon és lehetővé teszik, hogy mások kifejezetten az ezekhez tartozó tülkjeidet böngésszék. Jó eszköz ez kreatív munkák vagy hosszútávú projektek nyomonkövetésére."
|
||||||
filters:
|
filters:
|
||||||
contexts:
|
contexts:
|
||||||
home: Saját idővonal
|
home: Saját idővonal
|
||||||
|
@ -674,10 +732,12 @@ hu:
|
||||||
developers: Fejlesztőknek
|
developers: Fejlesztőknek
|
||||||
more: Többet…
|
more: Többet…
|
||||||
resources: Segédanyagok
|
resources: Segédanyagok
|
||||||
|
trending_now: Most trendi
|
||||||
generic:
|
generic:
|
||||||
all: Mind
|
all: Mind
|
||||||
changes_saved_msg: A változásokat elmentettük!
|
changes_saved_msg: A változásokat elmentettük!
|
||||||
copy: Másolás
|
copy: Másolás
|
||||||
|
no_batch_actions_available: Ezen az oldalon nem elérhetőek kötegelt műveletek
|
||||||
order_by: Rendezés
|
order_by: Rendezés
|
||||||
save_changes: Változások mentése
|
save_changes: Változások mentése
|
||||||
validation_errors:
|
validation_errors:
|
||||||
|
@ -749,6 +809,31 @@ hu:
|
||||||
too_many: Maximum négy fájlt csatolhatsz a tülkhöz
|
too_many: Maximum négy fájlt csatolhatsz a tülkhöz
|
||||||
migrations:
|
migrations:
|
||||||
acct: Az új fiók felhasznalonev@domain formátumban
|
acct: Az új fiók felhasznalonev@domain formátumban
|
||||||
|
cancel: Átirányítás törlése
|
||||||
|
cancel_explanation: Az átirányítás törlése reaktiválja a fiókodat, de nem fogja visszahozni azokat a követőidet, akik közben a másik fiókhoz kerültek át.
|
||||||
|
cancelled_msg: Az átirányítást sikeresen töröltük.
|
||||||
|
errors:
|
||||||
|
already_moved: ugyanaz a fiók, ahová már elköltöztél
|
||||||
|
missing_also_known_as: nem hivatkozza vissza ezt a fiókot
|
||||||
|
move_to_self: nem lehet az aktuális fiók
|
||||||
|
not_found: nem található
|
||||||
|
on_cooldown: Még tart a türelmi idő
|
||||||
|
followers_count: Követő a költözéskor
|
||||||
|
incoming_migrations: Más fiókból költöző
|
||||||
|
incoming_migrations_html: Ahhoz, hogy egy másik fiókból ebbe költözz, először <a href="%{path}">hozz létre egy fiók aliast</a>.
|
||||||
|
moved_msg: A fiókod mostantól ide %{acct} irányít át, a követőidet átköltöztetjük.
|
||||||
|
not_redirecting: A fiókod nincs átirányítva jelenleg sehová sem.
|
||||||
|
on_cooldown: Nemrég költöztetted a fiókod. Ez a funkció %{count} nap múlva lesz megint elérhető.
|
||||||
|
past_migrations: Eddigi költözések
|
||||||
|
proceed_with_move: Követők átköltöztetése
|
||||||
|
redirecting_to: A fiókod át van irányítva ide %{acct}.
|
||||||
|
warning:
|
||||||
|
backreference_required: Az új fiókot először be kell úgy állítani, hogy ezt visszahivatkozza
|
||||||
|
before: 'Mielőtt továbbmész, olvasd el ezeket kérlek figyelmesen:'
|
||||||
|
cooldown: A költözés után van egy türelmi idő, mely alatt nem tudsz majd újra költözni
|
||||||
|
disabled_account: A jelenlegi fiókod nem lesz teljesen használható ezután. Viszont elérhető lesz majd az adatexport funkció, valamint a reaktiválás is.
|
||||||
|
followers: Ez a művelet az összes követődet a jelenlegi fiókról az újra fogja költöztetni
|
||||||
|
other_data: Más adatot nem fogunk automatikusan mozgatni
|
||||||
moderation:
|
moderation:
|
||||||
title: Moderáció
|
title: Moderáció
|
||||||
notification_mailer:
|
notification_mailer:
|
||||||
|
@ -893,6 +978,7 @@ hu:
|
||||||
settings:
|
settings:
|
||||||
account: Fiók
|
account: Fiók
|
||||||
account_settings: Fiók beállítások
|
account_settings: Fiók beállítások
|
||||||
|
aliases: Fiók aliasok
|
||||||
appearance: Megjelenés
|
appearance: Megjelenés
|
||||||
authorized_apps: Jóváhagyott alkalmazások
|
authorized_apps: Jóváhagyott alkalmazások
|
||||||
back: Vissza a Mastodonhoz
|
back: Vissza a Mastodonhoz
|
||||||
|
@ -1072,7 +1158,9 @@ hu:
|
||||||
disable: A fiókod befagyasztott állapotban megtartja minden adatát, de feloldásig nem csinálhatsz vele semmit.
|
disable: A fiókod befagyasztott állapotban megtartja minden adatát, de feloldásig nem csinálhatsz vele semmit.
|
||||||
silence: A fiókod korlátozott állapotában csak a követőid láthatják a tülkjeidet, valamint nem kerülsz rá nyilvános idővonalakra. Ugyanakkor mások manuálisan még követhetnek.
|
silence: A fiókod korlátozott állapotában csak a követőid láthatják a tülkjeidet, valamint nem kerülsz rá nyilvános idővonalakra. Ugyanakkor mások manuálisan még követhetnek.
|
||||||
suspend: A fiókodat felfüggesztették, így minden tülköd és feltöltött fájlod menthetetlenül elveszett erről a szerverről és minden olyanról is, ahol voltak követőid.
|
suspend: A fiókodat felfüggesztették, így minden tülköd és feltöltött fájlod menthetetlenül elveszett erről a szerverről és minden olyanról is, ahol voltak követőid.
|
||||||
|
get_in_touch: Válaszolhatsz erre az emailre, hogy kapcsolatba lépj a %{instance} csapatával.
|
||||||
review_server_policies: Szerver szabályzat átnézése
|
review_server_policies: Szerver szabályzat átnézése
|
||||||
|
statuses: 'Különösen hozzá:'
|
||||||
subject:
|
subject:
|
||||||
disable: A fiókodat %{acct} befagyasztották
|
disable: A fiókodat %{acct} befagyasztották
|
||||||
none: Figyelmeztetés a %{acct} fióknak
|
none: Figyelmeztetés a %{acct} fióknak
|
||||||
|
|
|
@ -238,8 +238,10 @@ ja:
|
||||||
disabled_msg: 絵文字を無効化しました
|
disabled_msg: 絵文字を無効化しました
|
||||||
emoji: 絵文字
|
emoji: 絵文字
|
||||||
enable: 有効化
|
enable: 有効化
|
||||||
|
enabled: 有効
|
||||||
enabled_msg: 絵文字を有効化しました
|
enabled_msg: 絵文字を有効化しました
|
||||||
image_hint: 50KBまでのPNG画像を利用できます
|
image_hint: 50KBまでのPNG画像を利用できます
|
||||||
|
list: 表示
|
||||||
listed: 収載
|
listed: 収載
|
||||||
new:
|
new:
|
||||||
title: 新規カスタム絵文字の追加
|
title: 新規カスタム絵文字の追加
|
||||||
|
@ -248,6 +250,7 @@ ja:
|
||||||
shortcode_hint: 2文字以上の半角英数字とアンダーバーのみ利用できます
|
shortcode_hint: 2文字以上の半角英数字とアンダーバーのみ利用できます
|
||||||
title: カスタム絵文字
|
title: カスタム絵文字
|
||||||
uncategorized: 未分類
|
uncategorized: 未分類
|
||||||
|
unlist: 非表示
|
||||||
unlisted: 未収載
|
unlisted: 未収載
|
||||||
update_failed_msg: 絵文字を更新できませんでした
|
update_failed_msg: 絵文字を更新できませんでした
|
||||||
updated_msg: 絵文字の更新に成功しました!
|
updated_msg: 絵文字の更新に成功しました!
|
||||||
|
@ -377,6 +380,7 @@ ja:
|
||||||
pending: リレーサーバーの承認待ちです
|
pending: リレーサーバーの承認待ちです
|
||||||
save_and_enable: 保存して有効にする
|
save_and_enable: 保存して有効にする
|
||||||
setup: リレー接続を設定する
|
setup: リレー接続を設定する
|
||||||
|
signatures_not_enabled: セキュアモードまたはホワイトリストモードが有効の場合、リレーは正常に動作しません
|
||||||
status: ステータス
|
status: ステータス
|
||||||
title: リレー
|
title: リレー
|
||||||
report_notes:
|
report_notes:
|
||||||
|
@ -646,9 +650,22 @@ ja:
|
||||||
x_months: "%{count}月"
|
x_months: "%{count}月"
|
||||||
x_seconds: "%{count}秒"
|
x_seconds: "%{count}秒"
|
||||||
deletes:
|
deletes:
|
||||||
|
challenge_not_passed: 入力された情報は正しくありません
|
||||||
confirm_password: 本人確認のため、現在のパスワードを入力してください
|
confirm_password: 本人確認のため、現在のパスワードを入力してください
|
||||||
|
confirm_username: 確認のためユーザー名を入力してください
|
||||||
proceed: アカウントを削除する
|
proceed: アカウントを削除する
|
||||||
success_msg: アカウントは正常に削除されました
|
success_msg: アカウントは正常に削除されました
|
||||||
|
warning:
|
||||||
|
before: '続行する前に、次の点を再度確認してください:'
|
||||||
|
caches: 削除しても他のサーバーに残り続ける場合があります
|
||||||
|
data_removal: あなたの投稿やその他のデータはこのサーバーから完全に削除されます
|
||||||
|
email_change_html: アカウントを削除しなくても<a href="%{path}">メールアドレスを変更</a>できます
|
||||||
|
email_contact_html: それでも届かない場合、<a href="mailto:%{email}">%{email}</a> までメールで問い合わせてください
|
||||||
|
email_reconfirmation_html: 確認のメールが届かない場合、<a href="%{path}">もう一度申請</a>できます。
|
||||||
|
irreversible: アカウントを元に戻したり復活させることはできません
|
||||||
|
more_details_html: 詳しくは<a href="%{terms_path}">プライバシーポリシー</a>をご覧ください。
|
||||||
|
username_available: あなたのユーザー名は再利用できるようになります
|
||||||
|
username_unavailable: あなたのユーザー名は引き続き利用できません
|
||||||
directories:
|
directories:
|
||||||
directory: ディレクトリ
|
directory: ディレクトリ
|
||||||
explanation: 関心を軸にユーザーを発見しよう
|
explanation: 関心を軸にユーザーを発見しよう
|
||||||
|
@ -718,6 +735,7 @@ ja:
|
||||||
all: すべて
|
all: すべて
|
||||||
changes_saved_msg: 正常に変更されました!
|
changes_saved_msg: 正常に変更されました!
|
||||||
copy: コピー
|
copy: コピー
|
||||||
|
no_batch_actions_available: 利用可能なバッチアクションはありません
|
||||||
order_by: 並び順
|
order_by: 並び順
|
||||||
save_changes: 変更を保存
|
save_changes: 変更を保存
|
||||||
validation_errors:
|
validation_errors:
|
||||||
|
@ -787,6 +805,31 @@ ja:
|
||||||
too_many: 追加できるファイルは4つまでです
|
too_many: 追加できるファイルは4つまでです
|
||||||
migrations:
|
migrations:
|
||||||
acct: 引っ越し先の ユーザー名@ドメイン
|
acct: 引っ越し先の ユーザー名@ドメイン
|
||||||
|
cancel: 引っ越しを取り消す
|
||||||
|
cancel_explanation: 引っ越しを取り消すと現在のアカウントが再度有効化されますが、引き継がれたフォロワーは戻されません。
|
||||||
|
cancelled_msg: 引っ越し設定を取り消しました。
|
||||||
|
errors:
|
||||||
|
already_moved: は既に引っ越したアカウントと同じです
|
||||||
|
missing_also_known_as: はこのアカウントとエイリアスの設定がされていません
|
||||||
|
move_to_self: 同じアカウントに引っ越すことはできません
|
||||||
|
not_found: 見つかりませんでした
|
||||||
|
on_cooldown: クールダウン期間中です
|
||||||
|
followers_count: 引き継がれるフォロワー
|
||||||
|
incoming_migrations: 別のアカウントから引っ越す
|
||||||
|
incoming_migrations_html: 別のアカウントからこのアカウントに引っ越すには、まず<a href="%{path}">アカウントエイリアスを作成</a>する必要があります。
|
||||||
|
moved_msg: アカウントは %{acct} に引っ越し設定されており、フォロワーは引っ越し先に引き継がれています。
|
||||||
|
not_redirecting: アカウントは現在引っ越し設定されていません。
|
||||||
|
on_cooldown: あなたは最近アカウントを引っ越ししています。この機能は %{count} 日後に再度利用できるようになります。
|
||||||
|
past_migrations: 過去の引っ越し
|
||||||
|
proceed_with_move: フォロワーを引き継ぐ
|
||||||
|
redirecting_to: アカウントは %{acct} に引っ越し設定されています。
|
||||||
|
warning:
|
||||||
|
backreference_required: まずは引っ越し先のアカウントでこのアカウントに対しエイリアスを作成する必要があります
|
||||||
|
before: '続行する前に、次の点を再度確認してください:'
|
||||||
|
cooldown: 引っ越し後はクールダウン期間があります。その間再度引っ越すことはできません
|
||||||
|
disabled_account: 引っ越すと現在のアカウントの機能は完全には利用できなくなります。ただしデータのエクスポートと再有効化は利用できます。
|
||||||
|
followers: この操作により、すべてのフォロワーを現在のアカウントから新しいアカウントに引き継ぎます。
|
||||||
|
other_data: その他のデータは自動的に引き継がれません
|
||||||
moderation:
|
moderation:
|
||||||
title: モデレーション
|
title: モデレーション
|
||||||
notification_mailer:
|
notification_mailer:
|
||||||
|
@ -929,6 +972,7 @@ ja:
|
||||||
settings:
|
settings:
|
||||||
account: アカウント
|
account: アカウント
|
||||||
account_settings: セキュリティ
|
account_settings: セキュリティ
|
||||||
|
aliases: アカウントエイリアス
|
||||||
appearance: 外観
|
appearance: 外観
|
||||||
authorized_apps: 認証済みアプリ
|
authorized_apps: 認証済みアプリ
|
||||||
back: Mastodon に戻る
|
back: Mastodon に戻る
|
||||||
|
@ -1079,7 +1123,7 @@ ja:
|
||||||
default: "%Y年%m月%d日 %H:%M"
|
default: "%Y年%m月%d日 %H:%M"
|
||||||
month: "%Y年 %b"
|
month: "%Y年 %b"
|
||||||
two_factor_authentication:
|
two_factor_authentication:
|
||||||
code_hint: 確認するには認証アプリで表示されたコードを入力してください
|
code_hint: 続行するには認証アプリで表示されたコードを入力してください
|
||||||
description_html: "<strong>二段階認証</strong>を有効にするとログイン時、認証アプリからコードを入力する必要があります。"
|
description_html: "<strong>二段階認証</strong>を有効にするとログイン時、認証アプリからコードを入力する必要があります。"
|
||||||
disable: 無効
|
disable: 無効
|
||||||
enable: 有効
|
enable: 有効
|
||||||
|
|
|
@ -37,6 +37,10 @@ ko:
|
||||||
unavailable_content: 이용 불가능한 컨텐츠
|
unavailable_content: 이용 불가능한 컨텐츠
|
||||||
unavailable_content_description:
|
unavailable_content_description:
|
||||||
reason: '이유:'
|
reason: '이유:'
|
||||||
|
rejecting_media: 이 서버의 미디어 파일들은 처리되지 않고 썸네일또한 보이지 않게 됩니다. 수동으로 클릭하여 해당 서버로 가게 됩니다.
|
||||||
|
silenced: 이 서버의 게시물은 작성자를 팔로우 한 경우에만 홈 피드에 나타나며 이를 제외한 어디에도 나타나지 않습니다.
|
||||||
|
suspended: 이 서버의 아무도 팔로우 할 수 없으며, 어떤 데이터도 처리되거나 저장 되지 않고 데이터가 교환 되지도 않습니다.
|
||||||
|
unavailable_content_html: 마스토돈은 일반적으로 연합우주에 있는 어떤 서버의 유저와도 게시물을 보고 응답을 할 수 있도록 허용합니다. 다음 항목들은 특정한 서버에 대해 만들어 진 예외사항입니다.
|
||||||
user_count_after:
|
user_count_after:
|
||||||
other: 명
|
other: 명
|
||||||
user_count_before: 사용자 수
|
user_count_before: 사용자 수
|
||||||
|
@ -525,7 +529,7 @@ ko:
|
||||||
reviewed: 심사 됨
|
reviewed: 심사 됨
|
||||||
title: 해시태그
|
title: 해시태그
|
||||||
trending_right_now: 지금 유행 중
|
trending_right_now: 지금 유행 중
|
||||||
unique_uses_today: 오늘 %{count}개의 포스팅
|
unique_uses_today: 오늘 %{count}명이 포스팅
|
||||||
unreviewed: 심사 되지 않음
|
unreviewed: 심사 되지 않음
|
||||||
updated_msg: 해시태그 설정이 성공적으로 갱신되었습니다
|
updated_msg: 해시태그 설정이 성공적으로 갱신되었습니다
|
||||||
title: 관리
|
title: 관리
|
||||||
|
@ -546,6 +550,12 @@ ko:
|
||||||
new_trending_tag:
|
new_trending_tag:
|
||||||
body: "#%{name}가 오늘 유행하고 있습니다, 하지만 심사 된 적이 없습니다. 허용하지 않는 한 공개적으로 나타나지 않습니다. 또는 그냥 저장을 눌러 더이상 나타나지 않게 할 수 있습니다."
|
body: "#%{name}가 오늘 유행하고 있습니다, 하지만 심사 된 적이 없습니다. 허용하지 않는 한 공개적으로 나타나지 않습니다. 또는 그냥 저장을 눌러 더이상 나타나지 않게 할 수 있습니다."
|
||||||
subject: 새 해시태그가 %{instance}에서 심사 대기 중입니다(#%{name})
|
subject: 새 해시태그가 %{instance}에서 심사 대기 중입니다(#%{name})
|
||||||
|
aliases:
|
||||||
|
add_new: 별칭 만들기
|
||||||
|
created_msg: 새 별칭이 성공적으로 만들어졌습니다. 이제 기존 계정에서 이주를 시작할 수 있습니다.
|
||||||
|
deleted_msg: 성공적으로 별칭을 삭제했습니다. 해당 계정에서 이 계정으로의 이주는 더이상 가능하지 않습니다.
|
||||||
|
hint_html: 다른 계정에서 이 계정으로 옮기길 원하는 경우, 여기에서 별칭을 만들 수 있습니다, 기존 계정의 팔로워를 이쪽으로 옮기고 싶은 경우 필요한 과정입니다. 이 행동 자체는 <strong>해롭지 않고 되돌리기가 가능합니다</strong>.<strong>계정 이주는 이전 계정에서 착수하게 됩니다</strong>
|
||||||
|
remove: 별칭 연결 끊기
|
||||||
appearance:
|
appearance:
|
||||||
advanced_web_interface: 고급 웹 인터페이스
|
advanced_web_interface: 고급 웹 인터페이스
|
||||||
advanced_web_interface_hint: '화면의 가로폭을 가득 채우고 싶다면, 고급 웹 인터페이스는 한 번에 여러 정보를 볼 수 있도록 여러 컬럼을 설정할 수 있도록 합니다: 홈, 알림, 연합타임라인, 리스트, 해시태그 등'
|
advanced_web_interface_hint: '화면의 가로폭을 가득 채우고 싶다면, 고급 웹 인터페이스는 한 번에 여러 정보를 볼 수 있도록 여러 컬럼을 설정할 수 있도록 합니다: 홈, 알림, 연합타임라인, 리스트, 해시태그 등'
|
||||||
|
@ -605,6 +615,7 @@ ko:
|
||||||
confirming: 이메일 확인 과정이 완료되기를 기다리는 중.
|
confirming: 이메일 확인 과정이 완료되기를 기다리는 중.
|
||||||
functional: 계정이 완벽이 작동합니다.
|
functional: 계정이 완벽이 작동합니다.
|
||||||
pending: 당신의 가입 신청은 스태프의 검사를 위해 대기중입니다. 이것은 시간이 다소 소요됩니다. 가입 신청이 승인 될 경우 이메일을 받게 됩니다.
|
pending: 당신의 가입 신청은 스태프의 검사를 위해 대기중입니다. 이것은 시간이 다소 소요됩니다. 가입 신청이 승인 될 경우 이메일을 받게 됩니다.
|
||||||
|
redirecting_to: 계정이 %{acct}로 리다이렉트 중이기 때문에 비활성 상태입니다.
|
||||||
trouble_logging_in: 로그인 하는데 문제가 있나요?
|
trouble_logging_in: 로그인 하는데 문제가 있나요?
|
||||||
authorize_follow:
|
authorize_follow:
|
||||||
already_following: 이미 이 계정을 팔로우 하고 있습니다
|
already_following: 이미 이 계정을 팔로우 하고 있습니다
|
||||||
|
@ -793,15 +804,28 @@ ko:
|
||||||
migrations:
|
migrations:
|
||||||
acct: 새 계정의 username@domain
|
acct: 새 계정의 username@domain
|
||||||
cancel: 리디렉션 취소
|
cancel: 리디렉션 취소
|
||||||
|
cancel_explanation: 리다이렉트를 취소하면 현재 계정이 다시 활성화 됩니다, 새 계정으로 이동한 팔로워를 되찾을 수는 없습니다.
|
||||||
|
cancelled_msg: 리다이렉트를 성공적으로 취소했습니다.
|
||||||
errors:
|
errors:
|
||||||
|
already_moved: 이미 이동한 계정과 동일합니다
|
||||||
|
missing_also_known_as: 이 계정을 역으로 참조하지 않고 있습니다
|
||||||
|
move_to_self: 현재 계정은 사용할 수 없습니다
|
||||||
not_found: 찾을 수 없습니다
|
not_found: 찾을 수 없습니다
|
||||||
|
on_cooldown: 쿨다운 기간입니다
|
||||||
|
followers_count: 이주 될 팔로워들
|
||||||
incoming_migrations: 다른 계정으로부터 옮기기
|
incoming_migrations: 다른 계정으로부터 옮기기
|
||||||
|
incoming_migrations_html: 다른 계정을 이 계정으로 이주하고 싶은 경우, 먼저 <a href="%{path}">계정 별칭을 만들어야 합니다</a>.
|
||||||
|
moved_msg: 당신의 계정은 %{acct}로 리다이렉트 되고 있으며 팔로워들은 이주 될 것입니다.
|
||||||
|
not_redirecting: 현재 이 계정은 어디로도 리다이렉트 되고 있지 않습니다.
|
||||||
on_cooldown: 당신은 최근에 이미 계정을 이동했습니다. 이 기능은 %{count} 일 후에 다시 이용 가능합니다.
|
on_cooldown: 당신은 최근에 이미 계정을 이동했습니다. 이 기능은 %{count} 일 후에 다시 이용 가능합니다.
|
||||||
past_migrations: 이전 마이그레이션
|
past_migrations: 이전 마이그레이션
|
||||||
proceed_with_move: 팔로워 이동
|
proceed_with_move: 팔로워 이동
|
||||||
redirecting_to: 당신의 계정은 %{acct} 로 리다이렉트됩니다.
|
redirecting_to: 당신의 계정은 %{acct} 로 리다이렉트됩니다.
|
||||||
warning:
|
warning:
|
||||||
|
backreference_required: 새 계정은 이 계정으로 역참조를 하도록 설정되어 있어야 합니다
|
||||||
before: '진행하기 전, 주의사항을 꼼꼼히 읽어보세요:'
|
before: '진행하기 전, 주의사항을 꼼꼼히 읽어보세요:'
|
||||||
|
cooldown: 이주 뒤에는 새로운 이주를 하지 못하는 쿨다운 기간이 존재합니다
|
||||||
|
disabled_account: 이 계정은 완전한 사용이 불가능하게 됩니다. 하지만, 데이터 내보내기나 재활성화를 위해 접근할 수 있습니다.
|
||||||
followers: 이 행동은 현재 계정의 모든 팔로워를 새 계정으로 이동시킵니다
|
followers: 이 행동은 현재 계정의 모든 팔로워를 새 계정으로 이동시킵니다
|
||||||
other_data: 다른 어떤 데이터도 자동적으로 옮겨지지 않을 것입니다
|
other_data: 다른 어떤 데이터도 자동적으로 옮겨지지 않을 것입니다
|
||||||
moderation:
|
moderation:
|
||||||
|
|
|
@ -41,6 +41,7 @@ nl:
|
||||||
rejecting_media: Mediabestanden van deze server worden niet verwerkt en er worden geen thumbnails getoond. Je moet handmatig naar deze server doorklikken om de mediabestanden te kunnen bekijken.
|
rejecting_media: Mediabestanden van deze server worden niet verwerkt en er worden geen thumbnails getoond. Je moet handmatig naar deze server doorklikken om de mediabestanden te kunnen bekijken.
|
||||||
silenced: Toots van deze server worden nergens weergegeven, behalve op jouw eigen starttijdlijn wanneer je het account volgt.
|
silenced: Toots van deze server worden nergens weergegeven, behalve op jouw eigen starttijdlijn wanneer je het account volgt.
|
||||||
suspended: Je bent niet in staat om iemand van deze server te volgen, en er worden geen gegevens van deze server verwerkt of opgeslagen, en met deze server uitgewisseld.
|
suspended: Je bent niet in staat om iemand van deze server te volgen, en er worden geen gegevens van deze server verwerkt of opgeslagen, en met deze server uitgewisseld.
|
||||||
|
unavailable_content_html: Met Mastodon kun je in het algemeen berichten bekijken van en communiceren met gebruikers van elke andere server in de fediverse. Dit zijn de uitzonderingen die door deze server zijn gemaakt en expliciet alleen hier gelden.
|
||||||
user_count_after:
|
user_count_after:
|
||||||
one: gebruiker
|
one: gebruiker
|
||||||
other: gebruikers
|
other: gebruikers
|
||||||
|
@ -48,6 +49,8 @@ nl:
|
||||||
what_is_mastodon: Wat is Mastodon?
|
what_is_mastodon: Wat is Mastodon?
|
||||||
accounts:
|
accounts:
|
||||||
choices_html: 'Aanbevelingen van %{name}:'
|
choices_html: 'Aanbevelingen van %{name}:'
|
||||||
|
endorsements_hint: Je kunt mensen die je volgt in de webomgeving aanbevelen, waarna ze dan hier zullen verschijnen.
|
||||||
|
featured_tags_hint: Je kunt specifieke hashtags uitlichten, waarna ze dan hier zullen verschijnen.
|
||||||
follow: Volgen
|
follow: Volgen
|
||||||
followers:
|
followers:
|
||||||
one: Volger
|
one: Volger
|
||||||
|
@ -428,6 +431,9 @@ nl:
|
||||||
custom_css:
|
custom_css:
|
||||||
desc_html: Het uiterlijk van deze server met CSS aanpassen
|
desc_html: Het uiterlijk van deze server met CSS aanpassen
|
||||||
title: Aangepaste CSS
|
title: Aangepaste CSS
|
||||||
|
default_noindex:
|
||||||
|
desc_html: Heeft invloed op alle gebruikers die deze instelling niet zelf hebben veranderd
|
||||||
|
title: Toots van gebruikers standaard niet door zoekmachines laten indexeren
|
||||||
domain_blocks:
|
domain_blocks:
|
||||||
all: Naar iedereen
|
all: Naar iedereen
|
||||||
disabled: Naar niemand
|
disabled: Naar niemand
|
||||||
|
@ -486,6 +492,7 @@ nl:
|
||||||
title: Aangepaste gebruiksvoorwaarden
|
title: Aangepaste gebruiksvoorwaarden
|
||||||
site_title: Naam Mastodonserver
|
site_title: Naam Mastodonserver
|
||||||
spam_check_enabled:
|
spam_check_enabled:
|
||||||
|
desc_html: Mastodon kan accounts die herhaaldelijk ongevraagde berichten versturen automatisch negeren of rapporteren. Het is mogelijk dat er foutpositieven tussen zitten.
|
||||||
title: Automatische spambestrijding
|
title: Automatische spambestrijding
|
||||||
thumbnail:
|
thumbnail:
|
||||||
desc_html: Gebruikt als voorvertoning voor OpenGraph en de API. 1200x630px aanbevolen
|
desc_html: Gebruikt als voorvertoning voor OpenGraph en de API. 1200x630px aanbevolen
|
||||||
|
@ -495,6 +502,7 @@ nl:
|
||||||
title: Tijdlijn op de voorpagina tonen
|
title: Tijdlijn op de voorpagina tonen
|
||||||
title: Server-instellingen
|
title: Server-instellingen
|
||||||
trends:
|
trends:
|
||||||
|
desc_html: Eerder beoordeelde hashtags die op dit moment trending zijn openbaar tonen
|
||||||
title: Trending hashtags
|
title: Trending hashtags
|
||||||
statuses:
|
statuses:
|
||||||
back_to_account: Terug naar accountpagina
|
back_to_account: Terug naar accountpagina
|
||||||
|
@ -543,10 +551,14 @@ nl:
|
||||||
body: "%{reporter} heeft %{target} gerapporteerd"
|
body: "%{reporter} heeft %{target} gerapporteerd"
|
||||||
body_remote: Iemand van %{domain} heeft %{target} gerapporteerd
|
body_remote: Iemand van %{domain} heeft %{target} gerapporteerd
|
||||||
subject: Nieuwe rapportage op %{instance} (#%{id})
|
subject: Nieuwe rapportage op %{instance} (#%{id})
|
||||||
|
new_trending_tag:
|
||||||
|
body: 'De hashtag #%{name} is vandaag trending, maar is nog niet beoordeeld. Het wordt niet in het openbaar getoond alvorens je de hashtag goedkeurt. Je kunt ook het formulier zoals het nu is opslaan, waarna je er niks meer over zult horen.'
|
||||||
|
subject: Nieuwe hashtag te beoordelen op %{instance} (#%{name})
|
||||||
aliases:
|
aliases:
|
||||||
add_new: Alias aanmaken
|
add_new: Alias aanmaken
|
||||||
created_msg: Succesvol een nieuwe alias aangemaakt. Je kunt nu met de verhuizing vanaf het oude account beginnen.
|
created_msg: Succesvol een nieuwe alias aangemaakt. Je kunt nu met de verhuizing vanaf het oude account beginnen.
|
||||||
deleted_msg: De alias is succesvol verwijderd. Verhuizen vanaf dat account naar dit account is niet meer mogelijk.
|
deleted_msg: De alias is succesvol verwijderd. Verhuizen vanaf dat account naar dit account is niet meer mogelijk.
|
||||||
|
hint_html: Wanneer je vanaf een ander account naar dit account wilt verhuizen, kun je hier een alias aanmaken. Dit is nodig voordat je verder kunt gaan met het verhuizen van volgers van het oude naar dit nieuwe account. Deze actie is op zich <strong>ongevaarlijk en omkeerbaar</strong>. <strong>De accountmigratie wordt gestart vanaf het oude account</strong>.
|
||||||
remove: Alias ontkoppelen
|
remove: Alias ontkoppelen
|
||||||
appearance:
|
appearance:
|
||||||
advanced_web_interface: Geavanceerde webomgeving
|
advanced_web_interface: Geavanceerde webomgeving
|
||||||
|
@ -574,10 +586,13 @@ nl:
|
||||||
apply_for_account: Een uitnodiging aanvragen
|
apply_for_account: Een uitnodiging aanvragen
|
||||||
change_password: Wachtwoord
|
change_password: Wachtwoord
|
||||||
checkbox_agreement_html: Ik ga akkoord met de <a href="%{rules_path}" target="_blank">regels van deze server</a> en de <a href="%{terms_path}" target="_blank">gebruiksvoorwaarden</a>
|
checkbox_agreement_html: Ik ga akkoord met de <a href="%{rules_path}" target="_blank">regels van deze server</a> en de <a href="%{terms_path}" target="_blank">gebruiksvoorwaarden</a>
|
||||||
|
checkbox_agreement_without_rules_html: Ik ga akkoord met de <a href="%{terms_path}" target="_blank">gebruiksvoorwaarden</a>
|
||||||
delete_account: Account verwijderen
|
delete_account: Account verwijderen
|
||||||
delete_account_html: Wanneer je jouw account graag wilt verwijderen, kun je dat <a href="%{path}">hier doen</a>. We vragen jou daar om een bevestiging.
|
delete_account_html: Wanneer je jouw account graag wilt verwijderen, kun je dat <a href="%{path}">hier doen</a>. We vragen jou daar om een bevestiging.
|
||||||
description:
|
description:
|
||||||
|
prefix_invited_by_user: "@%{name} nodigt je hierbij uit om een account aan te maken op deze Mastodonserver!"
|
||||||
prefix_sign_up: Registreer je vandaag nog op Mastodon!
|
prefix_sign_up: Registreer je vandaag nog op Mastodon!
|
||||||
|
suffix: Met een account ben je in staat om mensen te volgen, berichten te plaatsen en uit te wisselen met mensen die zich op andere Mastodonservers bevinden en meer!
|
||||||
didnt_get_confirmation: Geen bevestigingsinstructies ontvangen?
|
didnt_get_confirmation: Geen bevestigingsinstructies ontvangen?
|
||||||
forgot_password: Wachtwoord vergeten?
|
forgot_password: Wachtwoord vergeten?
|
||||||
invalid_reset_password_token: De code om jouw wachtwoord opnieuw in te stellen is verlopen. Vraag een nieuwe aan.
|
invalid_reset_password_token: De code om jouw wachtwoord opnieuw in te stellen is verlopen. Vraag een nieuwe aan.
|
||||||
|
@ -596,10 +611,15 @@ nl:
|
||||||
security: Beveiliging
|
security: Beveiliging
|
||||||
set_new_password: Nieuw wachtwoord instellen
|
set_new_password: Nieuw wachtwoord instellen
|
||||||
setup:
|
setup:
|
||||||
|
email_below_hint_html: Wanneer onderstaand e-mailadres niet klopt, kun je dat hier veranderen. Je ontvangt dan hierna een bevestigingsmail.
|
||||||
|
email_settings_hint_html: De bevestigingsmail is verzonden naar %{email}. Wanneer dat e-mailadres niet klopt, kun je dat veranderen in je accountinstellingen.
|
||||||
title: Instellen
|
title: Instellen
|
||||||
status:
|
status:
|
||||||
account_status: Accountstatus
|
account_status: Accountstatus
|
||||||
|
confirming: Aan het wachten totdat de e-mail is bevestigd.
|
||||||
functional: Jouw account is volledig operationeel.
|
functional: Jouw account is volledig operationeel.
|
||||||
|
pending: Jouw aanvraag moet nog worden beoordeeld door een van onze medewerkers. Dit kan misschien eventjes duren. Je ontvangt een e-mail wanneer jouw aanvraag is goedgekeurd.
|
||||||
|
redirecting_to: Jouw account is inactief omdat het momenteel wordt doorverwezen naar %{acct}.
|
||||||
trouble_logging_in: Problemen met inloggen?
|
trouble_logging_in: Problemen met inloggen?
|
||||||
authorize_follow:
|
authorize_follow:
|
||||||
already_following: Je volgt dit account al
|
already_following: Je volgt dit account al
|
||||||
|
@ -614,6 +634,7 @@ nl:
|
||||||
title: Volg %{acct}
|
title: Volg %{acct}
|
||||||
challenge:
|
challenge:
|
||||||
confirm: Doorgaan
|
confirm: Doorgaan
|
||||||
|
hint_html: "<strong>Tip:</strong> We vragen jou het komende uur niet meer naar jouw wachtwoord."
|
||||||
invalid_password: Ongeldig wachtwoord
|
invalid_password: Ongeldig wachtwoord
|
||||||
prompt: Bevestig wachtwoord om door te gaan
|
prompt: Bevestig wachtwoord om door te gaan
|
||||||
datetime:
|
datetime:
|
||||||
|
@ -637,6 +658,10 @@ nl:
|
||||||
proceed: Account verwijderen
|
proceed: Account verwijderen
|
||||||
success_msg: Jouw account is succesvol verwijderd
|
success_msg: Jouw account is succesvol verwijderd
|
||||||
warning:
|
warning:
|
||||||
|
before: 'Lees deze tekst zorgvuldig voordat je verder gaat:'
|
||||||
|
caches: Toots en media die op andere servers zijn opgeslagen kunnen daar achterblijven
|
||||||
|
data_removal: Jouw toots en andere gegevens worden permanent verwijderd
|
||||||
|
email_change_html: Je kunt <a href="%{path}">je e-mailadres wijzigen</a> zonder dat je jouw account hoeft te verwijderen
|
||||||
username_available: Jouw gebruikersnaam zal weer beschikbaar komen
|
username_available: Jouw gebruikersnaam zal weer beschikbaar komen
|
||||||
username_unavailable: Jouw gebruikersnaam zal onbeschikbaar blijven
|
username_unavailable: Jouw gebruikersnaam zal onbeschikbaar blijven
|
||||||
directories:
|
directories:
|
||||||
|
@ -788,7 +813,7 @@ nl:
|
||||||
on_cooldown: Jouw laatste migratie is nog te kort geleden
|
on_cooldown: Jouw laatste migratie is nog te kort geleden
|
||||||
followers_count: Volgers op het moment van verhuizing
|
followers_count: Volgers op het moment van verhuizing
|
||||||
incoming_migrations: Verhuizen vanaf een ander account
|
incoming_migrations: Verhuizen vanaf een ander account
|
||||||
incoming_migrations_html: Om te vanaf een ander account naar dit account te verhuizen, moet je eerst <a href="%{path}">een accountalias aanmaken</a>.
|
incoming_migrations_html: Om vanaf een ander account naar dit account te verhuizen, dien je eerst <a href="%{path}">een accountalias aan te maken</a>.
|
||||||
moved_msg: Jouw account wordt nu naar %{acct} doorverwezen en jouw volgers worden verhuisd.
|
moved_msg: Jouw account wordt nu naar %{acct} doorverwezen en jouw volgers worden verhuisd.
|
||||||
not_redirecting: Jouw account wordt momenteel niet naar een ander account doorverwezen.
|
not_redirecting: Jouw account wordt momenteel niet naar een ander account doorverwezen.
|
||||||
on_cooldown: Je hebt recentelijk jouw account verhuisd. Deze mogelijkheid is weer beschikbaar over %{count} dagen.
|
on_cooldown: Je hebt recentelijk jouw account verhuisd. Deze mogelijkheid is weer beschikbaar over %{count} dagen.
|
||||||
|
|
Some files were not shown because too many files have changed in this diff Show More
Loading…
Reference in New Issue