Merge commit '8099ba04be
' into kb_migration
This commit is contained in:
commit
70ea37a4cc
302 changed files with 4018 additions and 2611 deletions
20
.eslintrc.js
20
.eslintrc.js
|
@ -27,6 +27,7 @@ module.exports = {
|
||||||
'import',
|
'import',
|
||||||
'promise',
|
'promise',
|
||||||
'@typescript-eslint',
|
'@typescript-eslint',
|
||||||
|
'formatjs',
|
||||||
],
|
],
|
||||||
|
|
||||||
parserOptions: {
|
parserOptions: {
|
||||||
|
@ -218,6 +219,25 @@ module.exports = {
|
||||||
'promise/no-callback-in-promise': 'off',
|
'promise/no-callback-in-promise': 'off',
|
||||||
'promise/no-nesting': 'off',
|
'promise/no-nesting': 'off',
|
||||||
'promise/no-promise-in-callback': 'off',
|
'promise/no-promise-in-callback': 'off',
|
||||||
|
|
||||||
|
'formatjs/blocklist-elements': 'error',
|
||||||
|
'formatjs/enforce-default-message': ['error', 'literal'],
|
||||||
|
'formatjs/enforce-description': 'off', // description values not currently used
|
||||||
|
'formatjs/enforce-id': 'off', // Explicit IDs are used in the project
|
||||||
|
'formatjs/enforce-placeholders': 'off', // Issues in short_number.jsx
|
||||||
|
'formatjs/enforce-plural-rules': 'error',
|
||||||
|
'formatjs/no-camel-case': 'off', // disabledAccount is only non-conforming
|
||||||
|
'formatjs/no-complex-selectors': 'error',
|
||||||
|
'formatjs/no-emoji': 'error',
|
||||||
|
'formatjs/no-id': 'off', // IDs are used for translation keys
|
||||||
|
'formatjs/no-invalid-icu': 'error',
|
||||||
|
'formatjs/no-literal-string-in-jsx': 'off', // Should be looked at, but mainly flagging punctuation outside of strings
|
||||||
|
'formatjs/no-multiple-plurals': 'off', // Only used by hashtag.jsx
|
||||||
|
'formatjs/no-multiple-whitespaces': 'error',
|
||||||
|
'formatjs/no-offset': 'error',
|
||||||
|
'formatjs/no-useless-message': 'error',
|
||||||
|
'formatjs/prefer-formatted-message': 'error',
|
||||||
|
'formatjs/prefer-pound-in-plural': 'error',
|
||||||
},
|
},
|
||||||
|
|
||||||
overrides: [
|
overrides: [
|
||||||
|
|
|
@ -1400,14 +1400,6 @@ Rails/HasManyOrHasOneDependent:
|
||||||
- 'app/models/user.rb'
|
- 'app/models/user.rb'
|
||||||
- 'app/models/web/push_subscription.rb'
|
- 'app/models/web/push_subscription.rb'
|
||||||
|
|
||||||
# Configuration parameters: Include.
|
|
||||||
# Include: app/helpers/**/*.rb
|
|
||||||
Rails/HelperInstanceVariable:
|
|
||||||
Exclude:
|
|
||||||
- 'app/helpers/application_helper.rb'
|
|
||||||
- 'app/helpers/instance_helper.rb'
|
|
||||||
- 'app/helpers/jsonld_helper.rb'
|
|
||||||
|
|
||||||
# This cop supports safe autocorrection (--autocorrect).
|
# This cop supports safe autocorrection (--autocorrect).
|
||||||
# Configuration parameters: Include.
|
# Configuration parameters: Include.
|
||||||
# Include: spec/**/*, test/**/*
|
# Include: spec/**/*, test/**/*
|
||||||
|
@ -2268,12 +2260,6 @@ Style/NilLambda:
|
||||||
Exclude:
|
Exclude:
|
||||||
- 'config/initializers/paperclip.rb'
|
- 'config/initializers/paperclip.rb'
|
||||||
|
|
||||||
# This cop supports safe autocorrection (--autocorrect).
|
|
||||||
# Configuration parameters: MinDigits, Strict, AllowedNumbers, AllowedPatterns.
|
|
||||||
Style/NumericLiterals:
|
|
||||||
Exclude:
|
|
||||||
- 'config/initializers/strong_migrations.rb'
|
|
||||||
|
|
||||||
# Configuration parameters: AllowedMethods.
|
# Configuration parameters: AllowedMethods.
|
||||||
# AllowedMethods: respond_to_missing?
|
# AllowedMethods: respond_to_missing?
|
||||||
Style/OptionalBooleanParameter:
|
Style/OptionalBooleanParameter:
|
||||||
|
|
|
@ -2,45 +2,131 @@
|
||||||
|
|
||||||
## Our Pledge
|
## Our Pledge
|
||||||
|
|
||||||
In the interest of fostering an open and welcoming environment, we as contributors and maintainers pledge to making participation in our project and our community a harassment-free experience for everyone, regardless of age, body size, disability, ethnicity, gender identity and expression, level of experience, nationality, personal appearance, race, religion, or sexual identity and orientation.
|
We as members, contributors, and leaders pledge to make participation in our
|
||||||
|
community a harassment-free experience for everyone, regardless of age, body
|
||||||
|
size, visible or invisible disability, ethnicity, sex characteristics, gender
|
||||||
|
identity and expression, level of experience, education, socio-economic status,
|
||||||
|
nationality, personal appearance, race, caste, color, religion, or sexual
|
||||||
|
identity and orientation.
|
||||||
|
|
||||||
|
We pledge to act and interact in ways that contribute to an open, welcoming,
|
||||||
|
diverse, inclusive, and healthy community.
|
||||||
|
|
||||||
## Our Standards
|
## Our Standards
|
||||||
|
|
||||||
Examples of behavior that contributes to creating a positive environment include:
|
Examples of behavior that contributes to a positive environment for our
|
||||||
|
community include:
|
||||||
|
|
||||||
- Using welcoming and inclusive language
|
- Demonstrating empathy and kindness toward other people
|
||||||
- Being respectful of differing viewpoints and experiences
|
- Being respectful of differing opinions, viewpoints, and experiences
|
||||||
- Gracefully accepting constructive criticism
|
- Giving and gracefully accepting constructive feedback
|
||||||
- Focusing on what is best for the community
|
- Accepting responsibility and apologizing to those affected by our mistakes,
|
||||||
- Showing empathy towards other community members
|
and learning from the experience
|
||||||
|
- Focusing on what is best not just for us as individuals, but for the overall
|
||||||
|
community
|
||||||
|
|
||||||
Examples of unacceptable behavior by participants include:
|
Examples of unacceptable behavior include:
|
||||||
|
|
||||||
- The use of sexualized language or imagery and unwelcome sexual attention or advances
|
- The use of sexualized language or imagery, and sexual attention or advances of
|
||||||
- Trolling, insulting/derogatory comments, and personal or political attacks
|
any kind
|
||||||
|
- Trolling, insulting or derogatory comments, and personal or political attacks
|
||||||
- Public or private harassment
|
- Public or private harassment
|
||||||
- Publishing others' private information, such as a physical or electronic address, without explicit permission
|
- Publishing others' private information, such as a physical or email address,
|
||||||
- Other conduct which could reasonably be considered inappropriate in a professional setting
|
without their explicit permission
|
||||||
|
- Other conduct which could reasonably be considered inappropriate in a
|
||||||
|
professional setting
|
||||||
|
|
||||||
## Our Responsibilities
|
## Enforcement Responsibilities
|
||||||
|
|
||||||
Project maintainers are responsible for clarifying the standards of acceptable behavior and are expected to take appropriate and fair corrective action in response to any instances of unacceptable behavior.
|
Community leaders are responsible for clarifying and enforcing our standards of
|
||||||
|
acceptable behavior and will take appropriate and fair corrective action in
|
||||||
|
response to any behavior that they deem inappropriate, threatening, offensive,
|
||||||
|
or harmful.
|
||||||
|
|
||||||
Project maintainers have the right and responsibility to remove, edit, or reject comments, commits, code, wiki edits, issues, and other contributions that are not aligned to this Code of Conduct, or to ban temporarily or permanently any contributor for other behaviors that they deem inappropriate, threatening, offensive, or harmful.
|
Community leaders have the right and responsibility to remove, edit, or reject
|
||||||
|
comments, commits, code, wiki edits, issues, and other contributions that are
|
||||||
|
not aligned to this Code of Conduct, and will communicate reasons for moderation
|
||||||
|
decisions when appropriate.
|
||||||
|
|
||||||
## Scope
|
## Scope
|
||||||
|
|
||||||
This Code of Conduct applies both within project spaces and in public spaces when an individual is representing the project or its community. Examples of representing a project or community include using an official project e-mail address, posting via an official social media account, or acting as an appointed representative at an online or offline event. Representation of a project may be further defined and clarified by project maintainers.
|
This Code of Conduct applies within all community spaces, and also applies when
|
||||||
|
an individual is officially representing the community in public spaces.
|
||||||
|
Examples of representing our community include using an official e-mail address,
|
||||||
|
posting via an official social media account, or acting as an appointed
|
||||||
|
representative at an online or offline event.
|
||||||
|
|
||||||
## Enforcement
|
## Enforcement
|
||||||
|
|
||||||
Instances of abusive, harassing, or otherwise unacceptable behavior may be reported by contacting the project team at eugen@zeonfederated.com. The project team will review and investigate all complaints, and will respond in a way that it deems appropriate to the circumstances. The project team is obligated to maintain confidentiality with regard to the reporter of an incident. Further details of specific enforcement policies may be posted separately.
|
Instances of abusive, harassing, or otherwise unacceptable behavior may be
|
||||||
|
reported to the community leaders responsible for enforcement at
|
||||||
|
[hello@joinmastodon.org](mailto:hello@joinmastodon.org).
|
||||||
|
All complaints will be reviewed and investigated promptly and fairly.
|
||||||
|
|
||||||
Project maintainers who do not follow or enforce the Code of Conduct in good faith may face temporary or permanent repercussions as determined by other members of the project's leadership.
|
All community leaders are obligated to respect the privacy and security of the
|
||||||
|
reporter of any incident.
|
||||||
|
|
||||||
|
## Enforcement Guidelines
|
||||||
|
|
||||||
|
Community leaders will follow these Community Impact Guidelines in determining
|
||||||
|
the consequences for any action they deem in violation of this Code of Conduct:
|
||||||
|
|
||||||
|
### 1. Correction
|
||||||
|
|
||||||
|
**Community Impact**: Use of inappropriate language or other behavior deemed
|
||||||
|
unprofessional or unwelcome in the community.
|
||||||
|
|
||||||
|
**Consequence**: A private, written warning from community leaders, providing
|
||||||
|
clarity around the nature of the violation and an explanation of why the
|
||||||
|
behavior was inappropriate. A public apology may be requested.
|
||||||
|
|
||||||
|
### 2. Warning
|
||||||
|
|
||||||
|
**Community Impact**: A violation through a single incident or series of
|
||||||
|
actions.
|
||||||
|
|
||||||
|
**Consequence**: A warning with consequences for continued behavior. No
|
||||||
|
interaction with the people involved, including unsolicited interaction with
|
||||||
|
those enforcing the Code of Conduct, for a specified period of time. This
|
||||||
|
includes avoiding interactions in community spaces as well as external channels
|
||||||
|
like social media. Violating these terms may lead to a temporary or permanent
|
||||||
|
ban.
|
||||||
|
|
||||||
|
### 3. Temporary Ban
|
||||||
|
|
||||||
|
**Community Impact**: A serious violation of community standards, including
|
||||||
|
sustained inappropriate behavior.
|
||||||
|
|
||||||
|
**Consequence**: A temporary ban from any sort of interaction or public
|
||||||
|
communication with the community for a specified period of time. No public or
|
||||||
|
private interaction with the people involved, including unsolicited interaction
|
||||||
|
with those enforcing the Code of Conduct, is allowed during this period.
|
||||||
|
Violating these terms may lead to a permanent ban.
|
||||||
|
|
||||||
|
### 4. Permanent Ban
|
||||||
|
|
||||||
|
**Community Impact**: Demonstrating a pattern of violation of community
|
||||||
|
standards, including sustained inappropriate behavior, harassment of an
|
||||||
|
individual, or aggression toward or disparagement of classes of individuals.
|
||||||
|
|
||||||
|
**Consequence**: A permanent ban from any sort of public interaction within the
|
||||||
|
community.
|
||||||
|
|
||||||
## Attribution
|
## Attribution
|
||||||
|
|
||||||
This Code of Conduct is adapted from the [Contributor Covenant][homepage], version 1.4, available at [https://contributor-covenant.org/version/1/4][version]
|
This Code of Conduct is adapted from the [Contributor Covenant][homepage],
|
||||||
|
version 2.1, available at
|
||||||
|
[https://www.contributor-covenant.org/version/2/1/code_of_conduct.html][v2.1].
|
||||||
|
|
||||||
[homepage]: https://contributor-covenant.org
|
Community Impact Guidelines were inspired by
|
||||||
[version]: https://contributor-covenant.org/version/1/4/
|
[Mozilla's code of conduct enforcement ladder][Mozilla CoC].
|
||||||
|
|
||||||
|
For answers to common questions about this code of conduct, see the FAQ at
|
||||||
|
[https://www.contributor-covenant.org/faq][FAQ]. Translations are available at
|
||||||
|
[https://www.contributor-covenant.org/translations][translations].
|
||||||
|
|
||||||
|
[homepage]: https://www.contributor-covenant.org
|
||||||
|
[v2.1]: https://www.contributor-covenant.org/version/2/1/code_of_conduct.html
|
||||||
|
[Mozilla CoC]: https://github.com/mozilla/diversity
|
||||||
|
[FAQ]: https://www.contributor-covenant.org/faq
|
||||||
|
[translations]: https://www.contributor-covenant.org/translations
|
||||||
|
|
7
Gemfile
7
Gemfile
|
@ -30,7 +30,10 @@ gem 'browser'
|
||||||
gem 'charlock_holmes', '~> 0.7.7'
|
gem 'charlock_holmes', '~> 0.7.7'
|
||||||
gem 'chewy', '~> 7.3'
|
gem 'chewy', '~> 7.3'
|
||||||
gem 'devise', '~> 4.9'
|
gem 'devise', '~> 4.9'
|
||||||
gem 'devise-two-factor', '~> 4.0'
|
# The below `v4.x` branch allows attr_encrypted 4.x, which is required for Rails 7.
|
||||||
|
# Once a new gem version is pushed, we can go back to released gem and off of github branch.
|
||||||
|
gem 'devise-two-factor', github: 'tinfoil/devise-two-factor', branch: 'v4.x'
|
||||||
|
gem 'attr_encrypted', '~> 4.0'
|
||||||
|
|
||||||
group :pam_authentication, optional: true do
|
group :pam_authentication, optional: true do
|
||||||
gem 'devise_pam_authenticatable2', '~> 9.2'
|
gem 'devise_pam_authenticatable2', '~> 9.2'
|
||||||
|
@ -76,7 +79,7 @@ gem 'redcarpet', '~> 3.6'
|
||||||
gem 'redis', '~> 4.5', require: ['redis', 'redis/connection/hiredis']
|
gem 'redis', '~> 4.5', require: ['redis', 'redis/connection/hiredis']
|
||||||
gem 'mario-redis-lock', '~> 1.2', require: 'redis_lock'
|
gem 'mario-redis-lock', '~> 1.2', require: 'redis_lock'
|
||||||
gem 'rqrcode', '~> 2.1'
|
gem 'rqrcode', '~> 2.1'
|
||||||
gem 'ruby-progressbar', '~> 1.11'
|
gem 'ruby-progressbar', '~> 1.13'
|
||||||
gem 'sanitize', '~> 6.0'
|
gem 'sanitize', '~> 6.0'
|
||||||
gem 'scenic', '~> 1.7'
|
gem 'scenic', '~> 1.7'
|
||||||
gem 'sidekiq', '~> 6.5'
|
gem 'sidekiq', '~> 6.5'
|
||||||
|
|
73
Gemfile.lock
73
Gemfile.lock
|
@ -27,6 +27,18 @@ GIT
|
||||||
rails-settings-cached (0.6.6)
|
rails-settings-cached (0.6.6)
|
||||||
rails (>= 4.2.0)
|
rails (>= 4.2.0)
|
||||||
|
|
||||||
|
GIT
|
||||||
|
remote: https://github.com/tinfoil/devise-two-factor.git
|
||||||
|
revision: e685f91ce62d036259885fbe31fcb4fa930bcfcb
|
||||||
|
branch: v4.x
|
||||||
|
specs:
|
||||||
|
devise-two-factor (4.0.2)
|
||||||
|
activesupport (< 7.1)
|
||||||
|
attr_encrypted (>= 1.3, < 5, != 2)
|
||||||
|
devise (~> 4.0)
|
||||||
|
railties (< 7.1)
|
||||||
|
rotp (~> 6.0)
|
||||||
|
|
||||||
GEM
|
GEM
|
||||||
remote: https://rubygems.org/
|
remote: https://rubygems.org/
|
||||||
specs:
|
specs:
|
||||||
|
@ -104,12 +116,12 @@ GEM
|
||||||
activerecord (>= 3.2, < 8.0)
|
activerecord (>= 3.2, < 8.0)
|
||||||
rake (>= 10.4, < 14.0)
|
rake (>= 10.4, < 14.0)
|
||||||
ast (2.4.2)
|
ast (2.4.2)
|
||||||
attr_encrypted (3.1.0)
|
attr_encrypted (4.0.0)
|
||||||
encryptor (~> 3.0.0)
|
encryptor (~> 3.0.0)
|
||||||
attr_required (1.0.1)
|
attr_required (1.0.1)
|
||||||
awrence (1.2.1)
|
awrence (1.2.1)
|
||||||
aws-eventstream (1.2.0)
|
aws-eventstream (1.2.0)
|
||||||
aws-partitions (1.743.0)
|
aws-partitions (1.752.0)
|
||||||
aws-sdk-core (3.171.0)
|
aws-sdk-core (3.171.0)
|
||||||
aws-eventstream (~> 1, >= 1.0.2)
|
aws-eventstream (~> 1, >= 1.0.2)
|
||||||
aws-partitions (~> 1, >= 1.651.0)
|
aws-partitions (~> 1, >= 1.651.0)
|
||||||
|
@ -118,7 +130,7 @@ GEM
|
||||||
aws-sdk-kms (1.63.0)
|
aws-sdk-kms (1.63.0)
|
||||||
aws-sdk-core (~> 3, >= 3.165.0)
|
aws-sdk-core (~> 3, >= 3.165.0)
|
||||||
aws-sigv4 (~> 1.1)
|
aws-sigv4 (~> 1.1)
|
||||||
aws-sdk-s3 (1.120.1)
|
aws-sdk-s3 (1.121.0)
|
||||||
aws-sdk-core (~> 3, >= 3.165.0)
|
aws-sdk-core (~> 3, >= 3.165.0)
|
||||||
aws-sdk-kms (~> 1)
|
aws-sdk-kms (~> 1)
|
||||||
aws-sigv4 (~> 1.4)
|
aws-sigv4 (~> 1.4)
|
||||||
|
@ -142,7 +154,7 @@ GEM
|
||||||
blurhash (0.1.7)
|
blurhash (0.1.7)
|
||||||
bootsnap (1.16.0)
|
bootsnap (1.16.0)
|
||||||
msgpack (~> 1.2)
|
msgpack (~> 1.2)
|
||||||
brakeman (5.4.0)
|
brakeman (5.4.1)
|
||||||
browser (5.3.1)
|
browser (5.3.1)
|
||||||
brpoplpush-redis_script (0.1.3)
|
brpoplpush-redis_script (0.1.3)
|
||||||
concurrent-ruby (~> 1.0, >= 1.0.5)
|
concurrent-ruby (~> 1.0, >= 1.0.5)
|
||||||
|
@ -156,7 +168,7 @@ GEM
|
||||||
i18n
|
i18n
|
||||||
rake (>= 10.0.0)
|
rake (>= 10.0.0)
|
||||||
sshkit (>= 1.9.0)
|
sshkit (>= 1.9.0)
|
||||||
capistrano-bundler (2.0.1)
|
capistrano-bundler (2.1.0)
|
||||||
capistrano (~> 3.1)
|
capistrano (~> 3.1)
|
||||||
capistrano-rails (1.6.2)
|
capistrano-rails (1.6.2)
|
||||||
capistrano (~> 3.1)
|
capistrano (~> 3.1)
|
||||||
|
@ -189,29 +201,23 @@ GEM
|
||||||
coderay (1.1.3)
|
coderay (1.1.3)
|
||||||
color_diff (0.1)
|
color_diff (0.1)
|
||||||
concurrent-ruby (1.2.2)
|
concurrent-ruby (1.2.2)
|
||||||
connection_pool (2.3.0)
|
connection_pool (2.4.0)
|
||||||
cose (1.3.0)
|
cose (1.3.0)
|
||||||
cbor (~> 0.5.9)
|
cbor (~> 0.5.9)
|
||||||
openssl-signature_algorithm (~> 1.0)
|
openssl-signature_algorithm (~> 1.0)
|
||||||
crack (0.4.5)
|
crack (0.4.5)
|
||||||
rexml
|
rexml
|
||||||
crass (1.0.6)
|
crass (1.0.6)
|
||||||
css_parser (1.12.0)
|
css_parser (1.14.0)
|
||||||
addressable
|
addressable
|
||||||
date (3.3.3)
|
date (3.3.3)
|
||||||
debug_inspector (1.0.0)
|
debug_inspector (1.1.0)
|
||||||
devise (4.9.2)
|
devise (4.9.2)
|
||||||
bcrypt (~> 3.0)
|
bcrypt (~> 3.0)
|
||||||
orm_adapter (~> 0.1)
|
orm_adapter (~> 0.1)
|
||||||
railties (>= 4.1.0)
|
railties (>= 4.1.0)
|
||||||
responders
|
responders
|
||||||
warden (~> 1.2.3)
|
warden (~> 1.2.3)
|
||||||
devise-two-factor (4.0.2)
|
|
||||||
activesupport (< 7.1)
|
|
||||||
attr_encrypted (>= 1.3, < 4, != 2)
|
|
||||||
devise (~> 4.0)
|
|
||||||
railties (< 7.1)
|
|
||||||
rotp (~> 6.0)
|
|
||||||
devise_pam_authenticatable2 (9.2.0)
|
devise_pam_authenticatable2 (9.2.0)
|
||||||
devise (>= 4.0.0)
|
devise (>= 4.0.0)
|
||||||
rpam2 (~> 4.0)
|
rpam2 (~> 4.0)
|
||||||
|
@ -241,7 +247,7 @@ GEM
|
||||||
erubi (1.12.0)
|
erubi (1.12.0)
|
||||||
et-orbi (1.2.7)
|
et-orbi (1.2.7)
|
||||||
tzinfo
|
tzinfo
|
||||||
excon (0.95.0)
|
excon (0.99.0)
|
||||||
fabrication (2.30.0)
|
fabrication (2.30.0)
|
||||||
faker (3.2.0)
|
faker (3.2.0)
|
||||||
i18n (>= 1.8.11, < 2)
|
i18n (>= 1.8.11, < 2)
|
||||||
|
@ -312,7 +318,7 @@ GEM
|
||||||
sysexits (~> 1.1)
|
sysexits (~> 1.1)
|
||||||
hashdiff (1.0.1)
|
hashdiff (1.0.1)
|
||||||
hashie (5.0.0)
|
hashie (5.0.0)
|
||||||
highline (2.0.3)
|
highline (2.1.0)
|
||||||
hiredis (0.6.3)
|
hiredis (0.6.3)
|
||||||
hkdf (0.3.0)
|
hkdf (0.3.0)
|
||||||
htmlentities (4.3.4)
|
htmlentities (4.3.4)
|
||||||
|
@ -378,8 +384,8 @@ GEM
|
||||||
activerecord
|
activerecord
|
||||||
kaminari-core (= 1.2.2)
|
kaminari-core (= 1.2.2)
|
||||||
kaminari-core (1.2.2)
|
kaminari-core (1.2.2)
|
||||||
launchy (2.5.0)
|
launchy (2.5.2)
|
||||||
addressable (~> 2.7)
|
addressable (~> 2.8)
|
||||||
letter_opener (1.8.1)
|
letter_opener (1.8.1)
|
||||||
launchy (>= 2.2, < 3)
|
launchy (>= 2.2, < 3)
|
||||||
letter_opener_web (2.0.0)
|
letter_opener_web (2.0.0)
|
||||||
|
@ -414,11 +420,11 @@ GEM
|
||||||
method_source (1.0.0)
|
method_source (1.0.0)
|
||||||
mime-types (3.4.1)
|
mime-types (3.4.1)
|
||||||
mime-types-data (~> 3.2015)
|
mime-types-data (~> 3.2015)
|
||||||
mime-types-data (3.2022.0105)
|
mime-types-data (3.2023.0218.1)
|
||||||
mini_mime (1.1.2)
|
mini_mime (1.1.2)
|
||||||
mini_portile2 (2.8.1)
|
mini_portile2 (2.8.1)
|
||||||
minitest (5.18.0)
|
minitest (5.18.0)
|
||||||
msgpack (1.6.0)
|
msgpack (1.7.0)
|
||||||
multi_json (1.15.0)
|
multi_json (1.15.0)
|
||||||
multipart-post (2.3.0)
|
multipart-post (2.3.0)
|
||||||
net-http (0.3.2)
|
net-http (0.3.2)
|
||||||
|
@ -435,7 +441,7 @@ GEM
|
||||||
net-ssh (>= 2.6.5, < 8.0.0)
|
net-ssh (>= 2.6.5, < 8.0.0)
|
||||||
net-smtp (0.3.3)
|
net-smtp (0.3.3)
|
||||||
net-protocol
|
net-protocol
|
||||||
net-ssh (7.0.1)
|
net-ssh (7.1.0)
|
||||||
nio4r (2.5.9)
|
nio4r (2.5.9)
|
||||||
nokogiri (1.14.3)
|
nokogiri (1.14.3)
|
||||||
mini_portile2 (~> 2.8.0)
|
mini_portile2 (~> 2.8.0)
|
||||||
|
@ -478,18 +484,18 @@ GEM
|
||||||
openssl (> 2.0)
|
openssl (> 2.0)
|
||||||
orm_adapter (0.5.0)
|
orm_adapter (0.5.0)
|
||||||
ox (2.14.16)
|
ox (2.14.16)
|
||||||
parallel (1.22.1)
|
parallel (1.23.0)
|
||||||
parser (3.2.2.0)
|
parser (3.2.2.1)
|
||||||
ast (~> 2.4.1)
|
ast (~> 2.4.1)
|
||||||
parslet (2.0.0)
|
parslet (2.0.0)
|
||||||
pastel (0.8.0)
|
pastel (0.8.0)
|
||||||
tty-color (~> 0.5)
|
tty-color (~> 0.5)
|
||||||
pg (1.4.6)
|
pg (1.4.6)
|
||||||
pghero (3.3.2)
|
pghero (3.3.3)
|
||||||
activerecord (>= 6)
|
activerecord (>= 6)
|
||||||
pkg-config (1.5.1)
|
pkg-config (1.5.1)
|
||||||
posix-spawn (0.3.15)
|
posix-spawn (0.3.15)
|
||||||
premailer (1.18.0)
|
premailer (1.21.0)
|
||||||
addressable
|
addressable
|
||||||
css_parser (>= 1.12.0)
|
css_parser (>= 1.12.0)
|
||||||
htmlentities (>= 4.0.0)
|
htmlentities (>= 4.0.0)
|
||||||
|
@ -499,7 +505,7 @@ GEM
|
||||||
premailer (~> 1.7, >= 1.7.9)
|
premailer (~> 1.7, >= 1.7.9)
|
||||||
private_address_check (0.5.0)
|
private_address_check (0.5.0)
|
||||||
public_suffix (5.0.1)
|
public_suffix (5.0.1)
|
||||||
puma (6.2.1)
|
puma (6.2.2)
|
||||||
nio4r (~> 2.0)
|
nio4r (~> 2.0)
|
||||||
pundit (2.3.0)
|
pundit (2.3.0)
|
||||||
activesupport (>= 3.0.0)
|
activesupport (>= 3.0.0)
|
||||||
|
@ -572,18 +578,18 @@ GEM
|
||||||
actionpack (>= 5.2)
|
actionpack (>= 5.2)
|
||||||
railties (>= 5.2)
|
railties (>= 5.2)
|
||||||
rexml (3.2.5)
|
rexml (3.2.5)
|
||||||
rotp (6.2.0)
|
rotp (6.2.2)
|
||||||
rpam2 (4.0.2)
|
rpam2 (4.0.2)
|
||||||
rqrcode (2.1.2)
|
rqrcode (2.1.2)
|
||||||
chunky_png (~> 1.0)
|
chunky_png (~> 1.0)
|
||||||
rqrcode_core (~> 1.0)
|
rqrcode_core (~> 1.0)
|
||||||
rqrcode_core (1.2.0)
|
rqrcode_core (1.2.0)
|
||||||
rspec-core (3.12.1)
|
rspec-core (3.12.2)
|
||||||
rspec-support (~> 3.12.0)
|
rspec-support (~> 3.12.0)
|
||||||
rspec-expectations (3.12.2)
|
rspec-expectations (3.12.3)
|
||||||
diff-lcs (>= 1.2.0, < 2.0)
|
diff-lcs (>= 1.2.0, < 2.0)
|
||||||
rspec-support (~> 3.12.0)
|
rspec-support (~> 3.12.0)
|
||||||
rspec-mocks (3.12.3)
|
rspec-mocks (3.12.5)
|
||||||
diff-lcs (>= 1.2.0, < 2.0)
|
diff-lcs (>= 1.2.0, < 2.0)
|
||||||
rspec-support (~> 3.12.0)
|
rspec-support (~> 3.12.0)
|
||||||
rspec-rails (6.0.1)
|
rspec-rails (6.0.1)
|
||||||
|
@ -613,7 +619,7 @@ GEM
|
||||||
unicode-display_width (>= 2.4.0, < 3.0)
|
unicode-display_width (>= 2.4.0, < 3.0)
|
||||||
rubocop-ast (1.28.0)
|
rubocop-ast (1.28.0)
|
||||||
parser (>= 3.2.1.0)
|
parser (>= 3.2.1.0)
|
||||||
rubocop-capybara (2.17.1)
|
rubocop-capybara (2.18.0)
|
||||||
rubocop (~> 1.41)
|
rubocop (~> 1.41)
|
||||||
rubocop-performance (1.17.1)
|
rubocop-performance (1.17.1)
|
||||||
rubocop (>= 1.7.0, < 2.0)
|
rubocop (>= 1.7.0, < 2.0)
|
||||||
|
@ -769,6 +775,7 @@ DEPENDENCIES
|
||||||
active_model_serializers (~> 0.10)
|
active_model_serializers (~> 0.10)
|
||||||
addressable (~> 2.8)
|
addressable (~> 2.8)
|
||||||
annotate (~> 3.2)
|
annotate (~> 3.2)
|
||||||
|
attr_encrypted (~> 4.0)
|
||||||
aws-sdk-s3 (~> 1.120)
|
aws-sdk-s3 (~> 1.120)
|
||||||
better_errors (~> 2.9)
|
better_errors (~> 2.9)
|
||||||
binding_of_caller (~> 1.0)
|
binding_of_caller (~> 1.0)
|
||||||
|
@ -790,7 +797,7 @@ DEPENDENCIES
|
||||||
concurrent-ruby
|
concurrent-ruby
|
||||||
connection_pool
|
connection_pool
|
||||||
devise (~> 4.9)
|
devise (~> 4.9)
|
||||||
devise-two-factor (~> 4.0)
|
devise-two-factor!
|
||||||
devise_pam_authenticatable2 (~> 9.2)
|
devise_pam_authenticatable2 (~> 9.2)
|
||||||
discard (~> 1.2)
|
discard (~> 1.2)
|
||||||
doorkeeper (~> 5.6)
|
doorkeeper (~> 5.6)
|
||||||
|
@ -868,7 +875,7 @@ DEPENDENCIES
|
||||||
rubocop-performance
|
rubocop-performance
|
||||||
rubocop-rails
|
rubocop-rails
|
||||||
rubocop-rspec
|
rubocop-rspec
|
||||||
ruby-progressbar (~> 1.11)
|
ruby-progressbar (~> 1.13)
|
||||||
sanitize (~> 6.0)
|
sanitize (~> 6.0)
|
||||||
scenic (~> 1.7)
|
scenic (~> 1.7)
|
||||||
sidekiq (~> 6.5)
|
sidekiq (~> 6.5)
|
||||||
|
|
|
@ -7,7 +7,7 @@ class AccountsController < ApplicationController
|
||||||
include AccountControllerConcern
|
include AccountControllerConcern
|
||||||
include SignatureAuthentication
|
include SignatureAuthentication
|
||||||
|
|
||||||
vary_by -> { public_fetch_mode? ? 'Accept' : 'Accept, Signature' }
|
vary_by -> { public_fetch_mode? ? 'Accept, Accept-Language, Cookie' : 'Accept, Accept-Language, Cookie, Signature' }
|
||||||
|
|
||||||
before_action :require_account_signature!, if: -> { request.format == :json && authorized_fetch_mode? }
|
before_action :require_account_signature!, if: -> { request.format == :json && authorized_fetch_mode? }
|
||||||
|
|
||||||
|
|
|
@ -12,7 +12,6 @@ class Api::BaseController < ApplicationController
|
||||||
|
|
||||||
before_action :require_authenticated_user!, if: :disallow_unauthenticated_api_access?
|
before_action :require_authenticated_user!, if: :disallow_unauthenticated_api_access?
|
||||||
before_action :require_not_suspended!
|
before_action :require_not_suspended!
|
||||||
before_action :set_cache_control_defaults
|
|
||||||
|
|
||||||
protect_from_forgery with: :null_session
|
protect_from_forgery with: :null_session
|
||||||
|
|
||||||
|
@ -148,10 +147,6 @@ class Api::BaseController < ApplicationController
|
||||||
doorkeeper_authorize!(*scopes) if doorkeeper_token
|
doorkeeper_authorize!(*scopes) if doorkeeper_token
|
||||||
end
|
end
|
||||||
|
|
||||||
def set_cache_control_defaults
|
|
||||||
response.cache_control.replace(private: true, no_store: true)
|
|
||||||
end
|
|
||||||
|
|
||||||
def disallow_unauthenticated_api_access?
|
def disallow_unauthenticated_api_access?
|
||||||
ENV['DISALLOW_UNAUTHENTICATED_API_ACCESS'] == 'true' || Rails.configuration.x.whitelist_mode
|
ENV['DISALLOW_UNAUTHENTICATED_API_ACCESS'] == 'true' || Rails.configuration.x.whitelist_mode
|
||||||
end
|
end
|
||||||
|
|
|
@ -19,6 +19,7 @@ class ApplicationController < ActionController::Base
|
||||||
helper_method :omniauth_only?
|
helper_method :omniauth_only?
|
||||||
helper_method :sso_account_settings
|
helper_method :sso_account_settings
|
||||||
helper_method :whitelist_mode?
|
helper_method :whitelist_mode?
|
||||||
|
helper_method :body_class_string
|
||||||
|
|
||||||
rescue_from ActionController::ParameterMissing, Paperclip::AdapterRegistry::NoHandlerError, with: :bad_request
|
rescue_from ActionController::ParameterMissing, Paperclip::AdapterRegistry::NoHandlerError, with: :bad_request
|
||||||
rescue_from Mastodon::NotPermittedError, with: :forbidden
|
rescue_from Mastodon::NotPermittedError, with: :forbidden
|
||||||
|
@ -38,6 +39,8 @@ class ApplicationController < ActionController::Base
|
||||||
before_action :store_current_location, except: :raise_not_found, unless: :devise_controller?
|
before_action :store_current_location, except: :raise_not_found, unless: :devise_controller?
|
||||||
before_action :require_functional!, if: :user_signed_in?
|
before_action :require_functional!, if: :user_signed_in?
|
||||||
|
|
||||||
|
before_action :set_cache_control_defaults
|
||||||
|
|
||||||
skip_before_action :verify_authenticity_token, only: :raise_not_found
|
skip_before_action :verify_authenticity_token, only: :raise_not_found
|
||||||
|
|
||||||
def raise_not_found
|
def raise_not_found
|
||||||
|
@ -125,7 +128,7 @@ class ApplicationController < ActionController::Base
|
||||||
end
|
end
|
||||||
|
|
||||||
def sso_account_settings
|
def sso_account_settings
|
||||||
ENV.fetch('SSO_ACCOUNT_SETTINGS')
|
ENV.fetch('SSO_ACCOUNT_SETTINGS', nil)
|
||||||
end
|
end
|
||||||
|
|
||||||
def current_account
|
def current_account
|
||||||
|
@ -146,10 +149,18 @@ class ApplicationController < ActionController::Base
|
||||||
current_user.setting_theme
|
current_user.setting_theme
|
||||||
end
|
end
|
||||||
|
|
||||||
|
def body_class_string
|
||||||
|
@body_classes || ''
|
||||||
|
end
|
||||||
|
|
||||||
def respond_with_error(code)
|
def respond_with_error(code)
|
||||||
respond_to do |format|
|
respond_to do |format|
|
||||||
format.any { render "errors/#{code}", layout: 'error', status: code, formats: [:html] }
|
format.any { render "errors/#{code}", layout: 'error', status: code, formats: [:html] }
|
||||||
format.json { render json: { error: Rack::Utils::HTTP_STATUS_CODES[code] }, status: code }
|
format.json { render json: { error: Rack::Utils::HTTP_STATUS_CODES[code] }, status: code }
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
|
def set_cache_control_defaults
|
||||||
|
response.cache_control.replace(private: true, no_store: true)
|
||||||
|
end
|
||||||
end
|
end
|
||||||
|
|
|
@ -163,6 +163,20 @@ module CacheConcern
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
|
included do
|
||||||
|
after_action :enforce_cache_control!
|
||||||
|
end
|
||||||
|
|
||||||
|
# Prevents high-entropy headers such as `Cookie`, `Signature` or `Authorization`
|
||||||
|
# from being used as cache keys, while allowing to `Vary` on them (to not serve
|
||||||
|
# anonymous cached data to authenticated requests when authentication matters)
|
||||||
|
def enforce_cache_control!
|
||||||
|
vary = response.headers['Vary']&.split&.map { |x| x.strip.downcase }
|
||||||
|
return unless vary.present? && %w(cookie authorization signature).any? { |header| vary.include?(header) && request.headers[header].present? }
|
||||||
|
|
||||||
|
response.cache_control.replace(private: true, no_store: true)
|
||||||
|
end
|
||||||
|
|
||||||
def render_with_cache(**options)
|
def render_with_cache(**options)
|
||||||
raise ArgumentError, 'Only JSON render calls are supported' unless options.key?(:json) || block_given?
|
raise ArgumentError, 'Only JSON render calls are supported' unless options.key?(:json) || block_given?
|
||||||
|
|
||||||
|
|
|
@ -6,6 +6,8 @@ module WebAppControllerConcern
|
||||||
included do
|
included do
|
||||||
prepend_before_action :redirect_unauthenticated_to_permalinks!
|
prepend_before_action :redirect_unauthenticated_to_permalinks!
|
||||||
before_action :set_app_body_class
|
before_action :set_app_body_class
|
||||||
|
|
||||||
|
vary_by 'Accept, Accept-Language, Cookie'
|
||||||
end
|
end
|
||||||
|
|
||||||
def set_app_body_class
|
def set_app_body_class
|
||||||
|
|
|
@ -5,7 +5,7 @@ class FollowerAccountsController < ApplicationController
|
||||||
include SignatureVerification
|
include SignatureVerification
|
||||||
include WebAppControllerConcern
|
include WebAppControllerConcern
|
||||||
|
|
||||||
vary_by -> { public_fetch_mode? ? 'Accept' : 'Accept, Signature' }
|
vary_by -> { public_fetch_mode? ? 'Accept, Accept-Language, Cookie' : 'Accept, Accept-Language, Cookie, Signature' }
|
||||||
|
|
||||||
before_action :require_account_signature!, if: -> { request.format == :json && authorized_fetch_mode? }
|
before_action :require_account_signature!, if: -> { request.format == :json && authorized_fetch_mode? }
|
||||||
|
|
||||||
|
|
|
@ -5,7 +5,7 @@ class FollowingAccountsController < ApplicationController
|
||||||
include SignatureVerification
|
include SignatureVerification
|
||||||
include WebAppControllerConcern
|
include WebAppControllerConcern
|
||||||
|
|
||||||
vary_by -> { public_fetch_mode? ? 'Accept' : 'Accept, Signature' }
|
vary_by -> { public_fetch_mode? ? 'Accept, Accept-Language, Cookie' : 'Accept, Accept-Language, Cookie, Signature' }
|
||||||
|
|
||||||
before_action :require_account_signature!, if: -> { request.format == :json && authorized_fetch_mode? }
|
before_action :require_account_signature!, if: -> { request.format == :json && authorized_fetch_mode? }
|
||||||
|
|
||||||
|
|
|
@ -6,7 +6,7 @@ class StatusesController < ApplicationController
|
||||||
include Authorization
|
include Authorization
|
||||||
include AccountOwnedConcern
|
include AccountOwnedConcern
|
||||||
|
|
||||||
vary_by -> { public_fetch_mode? ? 'Accept' : 'Accept, Signature' }
|
vary_by -> { public_fetch_mode? ? 'Accept, Accept-Language, Cookie' : 'Accept, Accept-Language, Cookie, Signature' }
|
||||||
|
|
||||||
before_action :require_account_signature!, only: [:show, :activity], if: -> { request.format == :json && authorized_fetch_mode? }
|
before_action :require_account_signature!, only: [:show, :activity], if: -> { request.format == :json && authorized_fetch_mode? }
|
||||||
before_action :set_status
|
before_action :set_status
|
||||||
|
@ -30,7 +30,7 @@ class StatusesController < ApplicationController
|
||||||
end
|
end
|
||||||
|
|
||||||
format.json do
|
format.json do
|
||||||
expires_in 3.minutes, public: @status.distributable? && public_fetch_mode?
|
expires_in 3.minutes, public: true if @status.distributable? && public_fetch_mode?
|
||||||
render_with_cache json: @status, content_type: 'application/activity+json', serializer: ActivityPub::NoteSerializer, adapter: ActivityPub::Adapter
|
render_with_cache json: @status, content_type: 'application/activity+json', serializer: ActivityPub::NoteSerializer, adapter: ActivityPub::Adapter
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
|
@ -7,7 +7,7 @@ class TagsController < ApplicationController
|
||||||
PAGE_SIZE = 20
|
PAGE_SIZE = 20
|
||||||
PAGE_SIZE_MAX = 200
|
PAGE_SIZE_MAX = 200
|
||||||
|
|
||||||
vary_by -> { public_fetch_mode? ? 'Accept' : 'Accept, Signature' }
|
vary_by -> { public_fetch_mode? ? 'Accept, Accept-Language, Cookie' : 'Accept, Accept-Language, Cookie, Signature' }
|
||||||
|
|
||||||
before_action :require_account_signature!, if: -> { request.format == :json && authorized_fetch_mode? }
|
before_action :require_account_signature!, if: -> { request.format == :json && authorized_fetch_mode? }
|
||||||
before_action :authenticate_user!, if: :whitelist_mode?
|
before_action :authenticate_user!, if: :whitelist_mode?
|
||||||
|
|
|
@ -170,7 +170,7 @@ module ApplicationHelper
|
||||||
end
|
end
|
||||||
|
|
||||||
def body_classes
|
def body_classes
|
||||||
output = (@body_classes || '').split
|
output = body_class_string.split
|
||||||
output << "theme-#{current_theme.parameterize}"
|
output << "theme-#{current_theme.parameterize}"
|
||||||
output << 'system-font' if current_account&.user&.setting_system_font_ui
|
output << 'system-font' if current_account&.user&.setting_system_font_ui
|
||||||
output << (current_account&.user&.setting_reduce_motion ? 'reduce-motion' : 'no-reduce-motion')
|
output << (current_account&.user&.setting_reduce_motion ? 'reduce-motion' : 'no-reduce-motion')
|
||||||
|
|
|
@ -9,13 +9,17 @@ module InstanceHelper
|
||||||
@site_hostname ||= Addressable::URI.parse("//#{Rails.configuration.x.local_domain}").display_uri.host
|
@site_hostname ||= Addressable::URI.parse("//#{Rails.configuration.x.local_domain}").display_uri.host
|
||||||
end
|
end
|
||||||
|
|
||||||
def description_for_sign_up
|
def description_for_sign_up(invite = nil)
|
||||||
prefix = if @invite.present?
|
safe_join([description_prefix(invite), I18n.t('auth.description.suffix')], ' ')
|
||||||
I18n.t('auth.description.prefix_invited_by_user', name: @invite.user.account.username)
|
end
|
||||||
else
|
|
||||||
I18n.t('auth.description.prefix_sign_up')
|
|
||||||
end
|
|
||||||
|
|
||||||
safe_join([prefix, I18n.t('auth.description.suffix')], ' ')
|
private
|
||||||
|
|
||||||
|
def description_prefix(invite)
|
||||||
|
if invite.present?
|
||||||
|
I18n.t('auth.description.prefix_invited_by_user', name: invite.user.account.username)
|
||||||
|
else
|
||||||
|
I18n.t('auth.description.prefix_sign_up')
|
||||||
|
end
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
|
@ -63,11 +63,11 @@ module JsonLdHelper
|
||||||
uri.nil? || !uri.start_with?('http://', 'https://')
|
uri.nil? || !uri.start_with?('http://', 'https://')
|
||||||
end
|
end
|
||||||
|
|
||||||
def invalid_origin?(url)
|
def non_matching_uri_hosts?(base_url, comparison_url)
|
||||||
return true if unsupported_uri_scheme?(url)
|
return true if unsupported_uri_scheme?(comparison_url)
|
||||||
|
|
||||||
needle = Addressable::URI.parse(url).host
|
needle = Addressable::URI.parse(comparison_url).host
|
||||||
haystack = Addressable::URI.parse(@account.uri).host
|
haystack = Addressable::URI.parse(base_url).host
|
||||||
|
|
||||||
!haystack.casecmp(needle).zero?
|
!haystack.casecmp(needle).zero?
|
||||||
end
|
end
|
||||||
|
|
|
@ -201,7 +201,6 @@ module LanguagesHelper
|
||||||
sma: ['Southern Sami', 'Åarjelsaemien Gïele'].freeze,
|
sma: ['Southern Sami', 'Åarjelsaemien Gïele'].freeze,
|
||||||
smj: ['Lule Sami', 'Julevsámegiella'].freeze,
|
smj: ['Lule Sami', 'Julevsámegiella'].freeze,
|
||||||
szl: ['Silesian', 'ślůnsko godka'].freeze,
|
szl: ['Silesian', 'ślůnsko godka'].freeze,
|
||||||
tai: ['Tai', 'ภาษาไท or ภาษาไต'].freeze,
|
|
||||||
tok: ['Toki Pona', 'toki pona'].freeze,
|
tok: ['Toki Pona', 'toki pona'].freeze,
|
||||||
zba: ['Balaibalan', 'باليبلن'].freeze,
|
zba: ['Balaibalan', 'باليبلن'].freeze,
|
||||||
zgh: ['Standard Moroccan Tamazight', 'ⵜⴰⵎⴰⵣⵉⵖⵜ'].freeze,
|
zgh: ['Standard Moroccan Tamazight', 'ⵜⴰⵎⴰⵣⵉⵖⵜ'].freeze,
|
||||||
|
|
|
@ -177,7 +177,6 @@ module StatusesHelper
|
||||||
def render_card_component(status, **options)
|
def render_card_component(status, **options)
|
||||||
component_params = {
|
component_params = {
|
||||||
sensitive: sensitized?(status, current_account),
|
sensitive: sensitized?(status, current_account),
|
||||||
maxDescription: 160,
|
|
||||||
card: ActiveModelSerializers::SerializableResource.new(status.preview_card, serializer: REST::PreviewCardSerializer).as_json,
|
card: ActiveModelSerializers::SerializableResource.new(status.preview_card, serializer: REST::PreviewCardSerializer).as_json,
|
||||||
}.merge(**options)
|
}.merge(**options)
|
||||||
|
|
||||||
|
|
57
app/javascript/images/elephant_ui_conversation.svg
Normal file
57
app/javascript/images/elephant_ui_conversation.svg
Normal file
|
@ -0,0 +1,57 @@
|
||||||
|
<svg width="293" height="264" viewBox="0 0 293 264" fill="none" xmlns="http://www.w3.org/2000/svg">
|
||||||
|
<path d="M34.1 204.9C28.1 210.7 22.3 209.9 15.9 204.3C13.4 202.1 11.3 205.2 15.3 209.2C19.3 213.2 28.8 217.5 37.3 210" fill="#E09C5C"/>
|
||||||
|
<path d="M34.1 204.9C28.1 210.7 22.3 209.9 15.9 204.3C13.4 202.1 11.3 205.2 15.3 209.2C19.3 213.2 28.8 217.5 37.3 210" stroke="#946F3A" stroke-width="2.2827" stroke-miterlimit="10" stroke-linecap="round" stroke-linejoin="round"/>
|
||||||
|
<path d="M197.2 1.90002H137.4C122.4 1.90002 110.1 14.2 110.1 29.2V42.1C110.1 48.4 112.3 54.2 115.9 58.9C109.2 72.6 94.5 75.8 94.5 75.8C113.4 78.1 119.1 72.3 125.2 66.6C128.9 68.4 133 69.5 137.4 69.5H197.2C212.2 69.5 224.5 57.2 224.5 42.2V29.3C224.6 14.2 212.3 1.90002 197.2 1.90002Z" fill="white" stroke="#668794" stroke-width="2.2827" stroke-miterlimit="10" stroke-linecap="round" stroke-linejoin="round"/>
|
||||||
|
<path d="M78.3 210.9C78.2 222.8 75.9 232 86.2 232.1C96.5 232.2 99.4 229.6 99.3 222C99.2 214.4 98.7 201 98.7 201" fill="#E09C5C"/>
|
||||||
|
<path d="M78.3 210.9C78.2 222.8 75.9 232 86.2 232.1C96.5 232.2 99.4 229.6 99.3 222C99.2 214.4 98.7 201 98.7 201" stroke="#946F3A" stroke-width="2.2827" stroke-miterlimit="10" stroke-linecap="round" stroke-linejoin="round"/>
|
||||||
|
<path d="M63.8 104.2C43.6 104.2 28.7 111.8 28.7 140.2C28.7 168.6 28.7 186.5 28.7 194.5C28.7 202.5 33.1 216.3 50.5 216.3C67.9 216.3 66.1 216.3 74.6 216.3C83.1 216.3 90.9 213.5 97.1 206.9C103.3 200.3 106.3 193.6 106.3 181.4C106.3 169.2 106.3 134.8 106.3 134.8C106.3 134.8 126.7 134.3 135.7 121.5C144.6 108.7 142.6 93.3001 141.4 88.9001C141.4 88.9001 146.5 88.4 145.4 84.5C144.3 80.6 138.1 81.2001 135.3 83.4001C135.3 83.4001 133.7 81.6 128.3 81.7C122.9 81.8 124.6 87.9001 129 88.4001C129 88.4001 131.4 102.2 124.4 107.1C117.4 112 103 113.7 94.6 109.8C86.1 106.1 83.3 104.2 63.8 104.2Z" fill="#FBC16C" stroke="#946F3A" stroke-width="2.2827" stroke-miterlimit="10" stroke-linecap="round" stroke-linejoin="round"/>
|
||||||
|
<path d="M50.5 215.2C30.4 215.2 29.9 196.7 29.9 194.6V171.5C42.9 171.6 48.7 173 48.7 183.9C48.7 197.1 50.9 203.7 62.6 203.7H90.4C91.1 203.7 91.7 203.7 92.3 203.7C92.9 203.7 93.4 203.7 94 203.7C95.7 203.7 97.4 203.6 99 203C98.2 204 97.3 205.1 96.3 206.2C90.7 212.2 83.4 215.2 74.7 215.2H50.5Z" fill="#E09C5C"/>
|
||||||
|
<path d="M56.8 110.5C47.2 107.6 42.1 105.6 45 97.2C47.9 88.8 62 90.6 69.7 94.5C69.7 94.5 73.7 92.1 76 91.2C78.3 90.3 82.6 89.9001 82.7 92.9001C82.7 92.9001 88.1 93.5001 87.1 97.8001C87.1 97.8001 93.5 101.5 79 108.5" fill="#FBC16C"/>
|
||||||
|
<path d="M56.8 110.5C47.2 107.6 42.1 105.6 45 97.2C47.9 88.8 62 90.6 69.7 94.5C69.7 94.5 73.7 92.1 76 91.2C78.3 90.3 82.6 89.9001 82.7 92.9001C82.7 92.9001 88.1 93.5001 87.1 97.8001C87.1 97.8001 93.5 101.5 79 108.5" stroke="#946F3A" stroke-width="2.2827" stroke-miterlimit="10" stroke-linecap="round" stroke-linejoin="round"/>
|
||||||
|
<path d="M40.5 119.9C40.5 113.5 36.7 109.6 28.7 109.6C20.7 109.6 13.9 117.1 15.7 128.3C17.5 139.5 11.4 148.2 18.5 153.2C25.6 158.2 32.9 155.1 35.2 151.3C35.2 151.3 42.8 153.3 42.2 141.4" fill="#FBC16C"/>
|
||||||
|
<path d="M40.5 119.9C40.5 113.5 36.7 109.6 28.7 109.6C20.7 109.6 13.9 117.1 15.7 128.3C17.5 139.5 11.4 148.2 18.5 153.2C25.6 158.2 32.9 155.1 35.2 151.3C35.2 151.3 42.8 153.3 42.2 141.4" stroke="#946F3A" stroke-width="2.2827" stroke-miterlimit="10" stroke-linecap="round" stroke-linejoin="round"/>
|
||||||
|
<path d="M69.3 134.2C63.6 134.2 60.5 138.6 61.8 144.4C63.1 150.1 66.8 154.4 73.2 154.6C79.6 154.7 85.7 152.5 87.6 143.2C89.5 133.9 86 133.8 83.2 133.8C80.4 133.8 69.3 134.2 69.3 134.2Z" fill="#544024" stroke="#3B3024" stroke-width="2.2827" stroke-miterlimit="10" stroke-linecap="round" stroke-linejoin="round"/>
|
||||||
|
<path d="M78.8 147.3C78.8 140.6 73.4 135.1 66.6 135.1C66 135.1 65.5001 135.2 64.9001 135.2C62.1001 136.8 60.8 140.2 61.7 144.3C63 150 66.7 154.3 73.1 154.5C74.2 154.5 75.3001 154.5 76.4001 154.3C78.0001 152.3 78.8 149.9 78.8 147.3Z" fill="#693131" stroke="#381916" stroke-width="2.2827" stroke-miterlimit="10" stroke-linecap="round" stroke-linejoin="round"/>
|
||||||
|
<path d="M83.1 140.9V133.7C80.1 133.7 69.3 134.1 69.3 134.1C64.8 134.1 61.9 136.9 61.5 140.9H83.1Z" fill="white" stroke="#7D7D65" stroke-width="2.2827" stroke-miterlimit="10" stroke-linecap="round" stroke-linejoin="round"/>
|
||||||
|
<path d="M48.2 149.1C54.2 154.9 62.5 154.9 66.3 151.7C70.1 148.5 72.1 140.3 69 139.5C65.9 138.7 66.6 144.2 63.8 145.8C61 147.4 57.8 147 54.8 145.1C51.9 143.2 48.9 141.9 47.4 143.7C46.1 145.7 46.8 147.7 48.2 149.1Z" fill="white" stroke="#7D7D65" stroke-width="2.2827" stroke-miterlimit="10" stroke-linecap="round" stroke-linejoin="round"/>
|
||||||
|
<path d="M251.4 179.1C245.7 185.3 237.4 185.7 233.4 182.7C229.4 179.7 227 171.7 230 170.7C233 169.7 232.7 175.2 235.5 176.7C238.3 178.2 241.6 177.6 244.4 175.6C247.2 173.6 250.1 172 251.7 173.9C253.3 175.8 252.8 177.7 251.4 179.1Z" stroke="black" stroke-width="0.5707" stroke-miterlimit="10"/>
|
||||||
|
<path d="M36.3 153.7L15.8 153.8C15.8 153.8 15.1 150.4 12 150.9C8.90001 151.4 8.19998 153.2 8.09998 154.3C8.09998 154.3 1.30002 154.7 1.20002 161.5C1.10002 168.3 6.1 171 13.3 170.6C20.5 170.2 37.7 170.6 37.7 170.6" fill="#FBC16C"/>
|
||||||
|
<path d="M36.3 153.7L15.8 153.8C15.8 153.8 15.1 150.4 12 150.9C8.90001 151.4 8.19998 153.2 8.09998 154.3C8.09998 154.3 1.30002 154.7 1.20002 161.5C1.10002 168.3 6.1 171 13.3 170.6C20.5 170.2 37.7 170.6 37.7 170.6" stroke="#946F3A" stroke-width="2.2827" stroke-miterlimit="10" stroke-linecap="round" stroke-linejoin="round"/>
|
||||||
|
<path d="M37.4 210.9C37.3 222.8 35 232 45.3 232.1C55.6 232.2 58.5 229.6 58.4 222C58.3 214.4 58.2 211.6 58.2 211.6" fill="#E09C5C"/>
|
||||||
|
<path d="M37.4 210.9C37.3 222.8 35 232 45.3 232.1C55.6 232.2 58.5 229.6 58.4 222C58.3 214.4 58.2 211.6 58.2 211.6" stroke="#946F3A" stroke-width="2.2827" stroke-miterlimit="10" stroke-linecap="round" stroke-linejoin="round"/>
|
||||||
|
<path d="M54.7 138.2C53.8 138.2 53.1 137.5 53.1 136.6V125.7C53.1 124.8 53.8 124.1 54.7 124.1C55.6 124.1 56.3 124.8 56.3 125.7V136.6C56.3 137.5 55.6 138.2 54.7 138.2Z" fill="#402F19"/>
|
||||||
|
<path d="M196.8 191.4C189.6 192.3 180.1 190.7 175.2 189.6C170.3 188.5 167.4 193.9 166.7 199.1C166 204.3 178.4 213.2 199.4 207.8" fill="#FBE6C6"/>
|
||||||
|
<path d="M196.8 191.4C189.6 192.3 180.1 190.7 175.2 189.6C170.3 188.5 167.4 193.9 166.7 199.1C166 204.3 178.4 213.2 199.4 207.8" stroke="#668794" stroke-width="2.2827" stroke-miterlimit="10" stroke-linecap="round" stroke-linejoin="round"/>
|
||||||
|
<path d="M265 188.6C278.1 192.7 287.2 200.3 287 208.9C286.8 217.5 277.4 223.1 270.5 224.4C263.6 225.7 260.7 218.3 261.6 213.3C262.5 208.3 265 206.7 265 206.7" fill="#FBE6C6"/>
|
||||||
|
<path d="M265 188.6C278.1 192.7 287.2 200.3 287 208.9C286.8 217.5 277.4 223.1 270.5 224.4C263.6 225.7 260.7 218.3 261.6 213.3C262.5 208.3 265 206.7 265 206.7" stroke="#668794" stroke-width="2.2827" stroke-miterlimit="10" stroke-linecap="round" stroke-linejoin="round"/>
|
||||||
|
<path d="M260 204C265 206.6 270.1 209.4 270.1 209.4Z" fill="#FBE6C6"/>
|
||||||
|
<path d="M260 204C265 206.6 270.1 209.4 270.1 209.4" stroke="#668794" stroke-width="2.2827" stroke-miterlimit="10" stroke-linecap="round" stroke-linejoin="round"/>
|
||||||
|
<path d="M266 150.4C266 144 269.8 140.1 277.8 140.1C285.8 140.1 292.6 147.6 290.8 158.8C289 170 295.1 178.7 288 183.7C280.9 188.6 273.6 185.6 271.3 181.8C271.3 181.8 263.7 183.8 264.3 171.9" fill="#FBE6C6"/>
|
||||||
|
<path d="M266 150.4C266 144 269.8 140.1 277.8 140.1C285.8 140.1 292.6 147.6 290.8 158.8C289 170 295.1 178.7 288 183.7C280.9 188.6 273.6 185.6 271.3 181.8C271.3 181.8 263.7 183.8 264.3 171.9" stroke="#668794" stroke-width="2.2827" stroke-miterlimit="10" stroke-linecap="round" stroke-linejoin="round"/>
|
||||||
|
<path d="M230.1 133.7C200.4 133.4 195.7 141.6 188.1 148.1C180.5 154.7 170.5 166.9 151.5 167.6C151.5 167.6 149 164.1 146.3 166.6C143.6 169.1 144.1 172.5 146 173.8C146 173.8 142.3 177.5 146.2 181.4C150.1 185.3 153.4 181.4 153.4 181.4C153.4 181.4 167.8 182.7 179.3 177.4C190.7 172 194.4 174.1 194.4 174.1C194.4 174.1 194.4 208.7 194.4 224.5C194.4 240.3 201.6 246.5 220.3 246.5C239 246.5 257.1 248.2 264.8 240.3C272.5 232.4 271.2 221.1 270.7 211.1C270.2 201.1 270.7 183 270.7 167.6C270.7 152.2 269.3 134 230.1 133.7Z" fill="#FBE6C6" stroke="#668794" stroke-width="2.2827" stroke-miterlimit="10" stroke-linecap="round" stroke-linejoin="round"/>
|
||||||
|
<path d="M242.3 244C242.3 248.8 241.8 250.6 242.1 254.1C240.5 255.2 239.9 257.1 240.4 258.7C241 260.7 244 262.7 250.3 262.6C260.7 262.7 263.5 260.1 263.4 252.5C263.3 249 263.2 244.3 263.1 240.3" fill="#DCCEB5"/>
|
||||||
|
<path d="M242.3 244C242.3 248.8 241.8 250.6 242.1 254.1C240.5 255.2 239.9 257.1 240.4 258.7C241 260.7 244 262.7 250.3 262.6C260.7 262.7 263.5 260.1 263.4 252.5C263.3 249 263.2 244.3 263.1 240.3" stroke="#668794" stroke-width="2.2827" stroke-miterlimit="10" stroke-linecap="round" stroke-linejoin="round"/>
|
||||||
|
<path d="M236.5 245.4C233.9 245.4 231.4 245.4 228.6 245.3C225.8 245.3 223 245.2 220.2 245.2C202.2 245.2 195.5 239.5 195.5 224.3C195.5 221.8 199.8 219.5 204.5 219.5C206.8 219.5 211.1 220.1 213.7 223.8C217.5 229 222.6 230.9 230 230.9C234.5 230.9 244.5 231.1 247.9 228.5C252.4 225.2 253.7 220.6 261.2 218.9C264.2 218.2 266.8 217.7 269.8 218.5C270 227.8 268.5 235.7 263.9 239.3C258.4 243.7 249.4 245.4 236.5 245.4Z" fill="#DCCEB5"/>
|
||||||
|
<path d="M243.9 141.2C250.9 141.1 254.6 136.8 254.1 132.6C253.5 128.5 250.6 122.7 237.5 123.4C231.7 123.7 228.8 127.5 226 127.5C223.2 127.4 217.7 119.4 212.9 119.9C208.1 120.4 207.8 123.8 208.6 125.4C208.6 125.4 204.3 126.7 206.7 132.3C209.1 137.9 214 139.8 218.8 140.4" fill="#FBE6C6"/>
|
||||||
|
<path d="M243.9 141.2C250.9 141.1 254.6 136.8 254.1 132.6C253.5 128.5 250.6 122.7 237.5 123.4C231.7 123.7 228.8 127.5 226 127.5C223.2 127.4 217.7 119.4 212.9 119.9C208.1 120.4 207.8 123.8 208.6 125.4C208.6 125.4 204.3 126.7 206.7 132.3C209.1 137.9 214 139.8 218.8 140.4" stroke="#668794" stroke-width="2.2827" stroke-miterlimit="10" stroke-linecap="round" stroke-linejoin="round"/>
|
||||||
|
<path d="M203.7 241.5C203.7 246.3 203.2 250.7 203.5 254.2C201.9 255.3 201.3 257.2 201.8 258.8C202.4 260.8 205.4 262.8 211.7 262.7C222.1 262.8 224.9 260.2 224.8 252.6C224.8 249.7 224.7 248.9 224.6 245.4" fill="#DCCEB5"/>
|
||||||
|
<path d="M203.7 241.5C203.7 246.3 203.2 250.7 203.5 254.2C201.9 255.3 201.3 257.2 201.8 258.8C202.4 260.8 205.4 262.8 211.7 262.7C222.1 262.8 224.9 260.2 224.8 252.6C224.8 249.7 224.7 248.9 224.6 245.4" stroke="#668794" stroke-width="2.2827" stroke-miterlimit="10" stroke-linecap="round" stroke-linejoin="round"/>
|
||||||
|
<path d="M194.8 22.9H140.2C138.3 22.9 136.8 21.4 136.8 19.5C136.8 17.6 138.3 16.1 140.2 16.1H194.8C196.7 16.1 198.2 17.6 198.2 19.5C198.2 21.4 196.7 22.9 194.8 22.9Z" fill="#4A4439"/>
|
||||||
|
<path d="M194.8 39.8H140.2C138.3 39.8 136.8 38.3 136.8 36.4C136.8 34.5 138.3 33 140.2 33H194.8C196.7 33 198.2 34.5 198.2 36.4C198.2 38.2 196.7 39.8 194.8 39.8Z" fill="#4A4439"/>
|
||||||
|
<path d="M194.8 56.6H140.2C138.3 56.6 136.8 55.1 136.8 53.2C136.8 51.3 138.3 49.8 140.2 49.8H194.8C196.7 49.8 198.2 51.3 198.2 53.2C198.2 55.1 196.7 56.6 194.8 56.6Z" fill="#4A4439"/>
|
||||||
|
<path d="M205.9 150.4C205.9 144 209.7 140.1 217.7 140.1C225.7 140.1 232.5 147.6 230.7 158.8C228.9 170 235 178.7 227.9 183.7C220.8 188.6 213.5 185.6 211.2 181.8C211.2 181.8 203.6 183.8 204.2 171.9" fill="#FBE6C6"/>
|
||||||
|
<path d="M205.9 150.4C205.9 144 209.7 140.1 217.7 140.1C225.7 140.1 232.5 147.6 230.7 158.8C228.9 170 235 178.7 227.9 183.7C220.8 188.6 213.5 185.6 211.2 181.8C211.2 181.8 203.6 183.8 204.2 171.9" stroke="#668794" stroke-width="2.2827" stroke-miterlimit="10" stroke-linecap="round" stroke-linejoin="round"/>
|
||||||
|
<path d="M104.3 166C115.9 165.4 125.9 161.4 131 156.7C136.8 151.4 139.9 146.2 134.7 141.6C129.6 137.1 124.6 141.5 124.6 141.5C124.6 141.5 122.6 138.4 119.6 140.7C116.6 143 118.8 145.2 118.8 145.2C118.8 145.2 115.2 150.2 103.9 150.7" fill="#FBC16C"/>
|
||||||
|
<path d="M104.3 166C115.9 165.4 125.9 161.4 131 156.7C136.8 151.4 139.9 146.2 134.7 141.6C129.6 137.1 124.6 141.5 124.6 141.5C124.6 141.5 122.6 138.4 119.6 140.7C116.6 143 118.8 145.2 118.8 145.2C118.8 145.2 115.2 150.2 103.9 150.7" stroke="#946F3A" stroke-width="2.2827" stroke-miterlimit="10" stroke-linecap="round" stroke-linejoin="round"/>
|
||||||
|
<path d="M49 139L45.5 139.6C44.5 139.8 43.5001 139.1 43.4001 138.1C43.2001 137.1 43.9001 136.1 44.9001 136L48.4001 135.4C49.4001 135.2 50.4 135.9 50.5 136.9C50.7 137.9 50.1 138.9 49 139Z" fill="#E68A4C"/>
|
||||||
|
<path d="M119.7 114.2C120.4 114 120.7 113.8 121.3 113.5" stroke="#FBD7A3" stroke-width="2.8533" stroke-miterlimit="10" stroke-linecap="round" stroke-linejoin="round"/>
|
||||||
|
<path d="M114.5 115.6C115.4 115.4 114.9 115.6 115.7 115.4" stroke="#FBD7A3" stroke-width="2.8533" stroke-miterlimit="10" stroke-linecap="round" stroke-linejoin="round"/>
|
||||||
|
<path d="M102.2 115.8C104.4 116.1 106.6 116.2 108.8 116.2" stroke="#FBD7A3" stroke-width="2.8533" stroke-miterlimit="10" stroke-linecap="round" stroke-linejoin="round"/>
|
||||||
|
<path d="M88.1 111.8C90.5 112.9 93.1 113.8 95.8 114.5" stroke="#FBD7A3" stroke-width="2.8533" stroke-miterlimit="10" stroke-linecap="round" stroke-linejoin="round"/>
|
||||||
|
<path d="M207.1 140.8C207.8 140.5 208.4 140.3 209 140" stroke="white" stroke-width="2.2827" stroke-miterlimit="10" stroke-linecap="round" stroke-linejoin="round"/>
|
||||||
|
<path d="M201.6 143.5C202.5 143 202.5 142.9 203.4 142.4" stroke="white" stroke-width="2.2827" stroke-miterlimit="10" stroke-linecap="round" stroke-linejoin="round"/>
|
||||||
|
<path d="M193.8 148.9C195.4 147.7 196.3 147 197.9 146" stroke="white" stroke-width="2.2827" stroke-miterlimit="10" stroke-linecap="round" stroke-linejoin="round"/>
|
||||||
|
<path d="M186.1 156.2C187.3 154.9 188.7 153.6 190.1 152.3" stroke="white" stroke-width="2.2827" stroke-miterlimit="10" stroke-linecap="round" stroke-linejoin="round"/>
|
||||||
|
<path d="M262.1 235.4C268.1 241.2 273.9 240.4 280.3 234.8C282.8 232.6 284.9 235.7 280.9 239.7C276.9 243.7 267.4 248 258.9 240.5" fill="#DCCEB5"/>
|
||||||
|
<path d="M262.1 235.4C268.1 241.2 273.9 240.4 280.3 234.8C282.8 232.6 284.9 235.7 280.9 239.7C276.9 243.7 267.4 248 258.9 240.5" stroke="#668794" stroke-width="2.2827" stroke-miterlimit="10" stroke-linecap="round" stroke-linejoin="round"/>
|
||||||
|
</svg>
|
After Width: | Height: | Size: 14 KiB |
|
@ -77,6 +77,7 @@ export const COMPOSE_CHANGE_MEDIA_DESCRIPTION = 'COMPOSE_CHANGE_MEDIA_DESCRIPTIO
|
||||||
export const COMPOSE_CHANGE_MEDIA_FOCUS = 'COMPOSE_CHANGE_MEDIA_FOCUS';
|
export const COMPOSE_CHANGE_MEDIA_FOCUS = 'COMPOSE_CHANGE_MEDIA_FOCUS';
|
||||||
|
|
||||||
export const COMPOSE_SET_STATUS = 'COMPOSE_SET_STATUS';
|
export const COMPOSE_SET_STATUS = 'COMPOSE_SET_STATUS';
|
||||||
|
export const COMPOSE_FOCUS = 'COMPOSE_FOCUS';
|
||||||
|
|
||||||
const messages = defineMessages({
|
const messages = defineMessages({
|
||||||
uploadErrorLimit: { id: 'upload_error.limit', defaultMessage: 'File upload limit exceeded.' },
|
uploadErrorLimit: { id: 'upload_error.limit', defaultMessage: 'File upload limit exceeded.' },
|
||||||
|
@ -128,6 +129,14 @@ export function resetCompose() {
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
||||||
|
export const focusCompose = routerHistory => dispatch => {
|
||||||
|
dispatch({
|
||||||
|
type: COMPOSE_FOCUS,
|
||||||
|
});
|
||||||
|
|
||||||
|
ensureComposeIsVisible(routerHistory);
|
||||||
|
};
|
||||||
|
|
||||||
export function mentionCompose(account, routerHistory) {
|
export function mentionCompose(account, routerHistory) {
|
||||||
return (dispatch, getState) => {
|
return (dispatch, getState) => {
|
||||||
dispatch({
|
dispatch({
|
||||||
|
|
|
@ -135,8 +135,7 @@ export const showSearch = () => ({
|
||||||
type: SEARCH_SHOW,
|
type: SEARCH_SHOW,
|
||||||
});
|
});
|
||||||
|
|
||||||
export const openURL = routerHistory => (dispatch, getState) => {
|
export const openURL = (value, history, onFailure) => (dispatch, getState) => {
|
||||||
const value = getState().getIn(['search', 'value']);
|
|
||||||
const signedIn = !!getState().getIn(['meta', 'me']);
|
const signedIn = !!getState().getIn(['meta', 'me']);
|
||||||
|
|
||||||
if (!signedIn) {
|
if (!signedIn) {
|
||||||
|
@ -148,15 +147,21 @@ export const openURL = routerHistory => (dispatch, getState) => {
|
||||||
api(getState).get('/api/v2/search', { params: { q: value, resolve: true } }).then(response => {
|
api(getState).get('/api/v2/search', { params: { q: value, resolve: true } }).then(response => {
|
||||||
if (response.data.accounts?.length > 0) {
|
if (response.data.accounts?.length > 0) {
|
||||||
dispatch(importFetchedAccounts(response.data.accounts));
|
dispatch(importFetchedAccounts(response.data.accounts));
|
||||||
routerHistory.push(`/@${response.data.accounts[0].acct}`);
|
history.push(`/@${response.data.accounts[0].acct}`);
|
||||||
} else if (response.data.statuses?.length > 0) {
|
} else if (response.data.statuses?.length > 0) {
|
||||||
dispatch(importFetchedStatuses(response.data.statuses));
|
dispatch(importFetchedStatuses(response.data.statuses));
|
||||||
routerHistory.push(`/@${response.data.statuses[0].account.acct}/${response.data.statuses[0].id}`);
|
history.push(`/@${response.data.statuses[0].account.acct}/${response.data.statuses[0].id}`);
|
||||||
|
} else if (onFailure) {
|
||||||
|
onFailure();
|
||||||
}
|
}
|
||||||
|
|
||||||
dispatch(fetchSearchSuccess(response.data, value));
|
dispatch(fetchSearchSuccess(response.data, value));
|
||||||
}).catch(err => {
|
}).catch(err => {
|
||||||
dispatch(fetchSearchFail(err));
|
dispatch(fetchSearchFail(err));
|
||||||
|
|
||||||
|
if (onFailure) {
|
||||||
|
onFailure();
|
||||||
|
}
|
||||||
});
|
});
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
|
@ -12,8 +12,8 @@ import Skeleton from 'mastodon/components/skeleton';
|
||||||
import { Link } from 'react-router-dom';
|
import { Link } from 'react-router-dom';
|
||||||
import { counterRenderer } from 'mastodon/components/common_counter';
|
import { counterRenderer } from 'mastodon/components/common_counter';
|
||||||
import ShortNumber from 'mastodon/components/short_number';
|
import ShortNumber from 'mastodon/components/short_number';
|
||||||
import Icon from 'mastodon/components/icon';
|
|
||||||
import classNames from 'classnames';
|
import classNames from 'classnames';
|
||||||
|
import VerifiedBadge from 'mastodon/components/verified_badge';
|
||||||
|
|
||||||
const messages = defineMessages({
|
const messages = defineMessages({
|
||||||
follow: { id: 'account.follow', defaultMessage: 'Follow' },
|
follow: { id: 'account.follow', defaultMessage: 'Follow' },
|
||||||
|
@ -27,26 +27,6 @@ const messages = defineMessages({
|
||||||
block: { id: 'account.block', defaultMessage: 'Block @{name}' },
|
block: { id: 'account.block', defaultMessage: 'Block @{name}' },
|
||||||
});
|
});
|
||||||
|
|
||||||
class VerifiedBadge extends React.PureComponent {
|
|
||||||
|
|
||||||
static propTypes = {
|
|
||||||
link: PropTypes.string.isRequired,
|
|
||||||
verifiedAt: PropTypes.string.isRequired,
|
|
||||||
};
|
|
||||||
|
|
||||||
render () {
|
|
||||||
const { link } = this.props;
|
|
||||||
|
|
||||||
return (
|
|
||||||
<span className='verified-badge'>
|
|
||||||
<Icon id='check' className='verified-badge__mark' />
|
|
||||||
<span dangerouslySetInnerHTML={{ __html: link }} />
|
|
||||||
</span>
|
|
||||||
);
|
|
||||||
}
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
class Account extends ImmutablePureComponent {
|
class Account extends ImmutablePureComponent {
|
||||||
|
|
||||||
static propTypes = {
|
static propTypes = {
|
||||||
|
|
|
@ -1,8 +1,8 @@
|
||||||
import React from 'react';
|
import React from 'react';
|
||||||
|
|
||||||
const Check = () => (
|
const Check = () => (
|
||||||
<svg width='14' height='11' viewBox='0 0 14 11'>
|
<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20' fill='currentColor'>
|
||||||
<path d='M11.264 0L5.26 6.004 2.103 2.847 0 4.95l5.26 5.26 8.108-8.107L11.264 0' fill='currentColor' fillRule='evenodd' />
|
<path fillRule='evenodd' d='M16.704 4.153a.75.75 0 01.143 1.052l-8 10.5a.75.75 0 01-1.127.075l-4.5-4.5a.75.75 0 011.06-1.06l3.894 3.893 7.48-9.817a.75.75 0 011.05-.143z' clipRule='evenodd' />
|
||||||
</svg>
|
</svg>
|
||||||
);
|
);
|
||||||
|
|
||||||
|
|
|
@ -12,13 +12,19 @@ export default class ColumnBackButton extends React.PureComponent {
|
||||||
|
|
||||||
static propTypes = {
|
static propTypes = {
|
||||||
multiColumn: PropTypes.bool,
|
multiColumn: PropTypes.bool,
|
||||||
|
onClick: PropTypes.func,
|
||||||
};
|
};
|
||||||
|
|
||||||
handleClick = () => {
|
handleClick = () => {
|
||||||
if (window.history && window.history.state) {
|
const { router } = this.context;
|
||||||
this.context.router.history.goBack();
|
const { onClick } = this.props;
|
||||||
|
|
||||||
|
if (onClick) {
|
||||||
|
onClick();
|
||||||
|
} else if (window.history && window.history.state) {
|
||||||
|
router.history.goBack();
|
||||||
} else {
|
} else {
|
||||||
this.context.router.history.push('/');
|
router.history.push('/');
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
|
@ -32,7 +32,7 @@ class EditedTimestamp extends React.PureComponent {
|
||||||
|
|
||||||
renderHeader = items => {
|
renderHeader = items => {
|
||||||
return (
|
return (
|
||||||
<FormattedMessage id='status.edited_x_times' defaultMessage='Edited {count, plural, one {{count} time} other {{count} times}}' values={{ count: items.size - 1 }} />
|
<FormattedMessage id='status.edited_x_times' defaultMessage='Edited {count, plural, one {# time} other {# times}}' values={{ count: items.size - 1 }} />
|
||||||
);
|
);
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
|
@ -43,7 +43,7 @@ class SilentErrorBoundary extends React.Component {
|
||||||
export const accountsCountRenderer = (displayNumber, pluralReady) => (
|
export const accountsCountRenderer = (displayNumber, pluralReady) => (
|
||||||
<FormattedMessage
|
<FormattedMessage
|
||||||
id='trends.counter_by_accounts'
|
id='trends.counter_by_accounts'
|
||||||
defaultMessage='{count, plural, one {{counter} person} other {{counter} people}} in the past {days, plural, one {day} other {{days} days}}'
|
defaultMessage='{count, plural, one {{counter} person} other {{counter} people}} in the past {days, plural, one {day} other {# days}}'
|
||||||
values={{
|
values={{
|
||||||
count: pluralReady,
|
count: pluralReady,
|
||||||
counter: <strong>{displayNumber}</strong>,
|
counter: <strong>{displayNumber}</strong>,
|
||||||
|
|
|
@ -70,6 +70,9 @@ class Status extends ImmutablePureComponent {
|
||||||
static propTypes = {
|
static propTypes = {
|
||||||
status: ImmutablePropTypes.map,
|
status: ImmutablePropTypes.map,
|
||||||
account: ImmutablePropTypes.map,
|
account: ImmutablePropTypes.map,
|
||||||
|
previousId: PropTypes.string,
|
||||||
|
nextInReplyToId: PropTypes.string,
|
||||||
|
rootId: PropTypes.string,
|
||||||
onClick: PropTypes.func,
|
onClick: PropTypes.func,
|
||||||
onReply: PropTypes.func,
|
onReply: PropTypes.func,
|
||||||
onFavourite: PropTypes.func,
|
onFavourite: PropTypes.func,
|
||||||
|
@ -314,10 +317,7 @@ class Status extends ImmutablePureComponent {
|
||||||
};
|
};
|
||||||
|
|
||||||
render () {
|
render () {
|
||||||
let media = null;
|
const { intl, hidden, featured, unread, showThread, scrollKey, pictureInPicture, previousId, nextInReplyToId, rootId } = this.props;
|
||||||
let statusAvatar, prepend, rebloggedByText;
|
|
||||||
|
|
||||||
const { intl, hidden, featured, unread, showThread, scrollKey, pictureInPicture } = this.props;
|
|
||||||
|
|
||||||
let { status, account, ...other } = this.props;
|
let { status, account, ...other } = this.props;
|
||||||
|
|
||||||
|
@ -339,6 +339,8 @@ class Status extends ImmutablePureComponent {
|
||||||
openMedia: this.handleHotkeyOpenMedia,
|
openMedia: this.handleHotkeyOpenMedia,
|
||||||
};
|
};
|
||||||
|
|
||||||
|
let media, statusAvatar, prepend, rebloggedByText;
|
||||||
|
|
||||||
if (hidden) {
|
if (hidden) {
|
||||||
return (
|
return (
|
||||||
<HotKeys handlers={handlers}>
|
<HotKeys handlers={handlers}>
|
||||||
|
@ -350,7 +352,11 @@ class Status extends ImmutablePureComponent {
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
const connectUp = previousId && previousId === status.get('in_reply_to_id');
|
||||||
|
const connectToRoot = rootId && rootId === status.get('in_reply_to_id');
|
||||||
|
const connectReply = nextInReplyToId && nextInReplyToId === status.get('id');
|
||||||
const matchedFilters = status.get('matched_filters');
|
const matchedFilters = status.get('matched_filters');
|
||||||
|
|
||||||
if (this.state.forceFilter === undefined ? matchedFilters : this.state.forceFilter) {
|
if (this.state.forceFilter === undefined ? matchedFilters : this.state.forceFilter) {
|
||||||
const minHandlers = this.props.muted ? {} : {
|
const minHandlers = this.props.muted ? {} : {
|
||||||
moveUp: this.handleHotkeyMoveUp,
|
moveUp: this.handleHotkeyMoveUp,
|
||||||
|
@ -533,7 +539,10 @@ class Status extends ImmutablePureComponent {
|
||||||
<div className={classNames('status__wrapper', `status__wrapper-${status.get('visibility_ex')}`, { 'status__wrapper-reply': !!status.get('in_reply_to_id'), unread, focusable: !this.props.muted })} tabIndex={this.props.muted ? null : 0} data-featured={featured ? 'true' : null} aria-label={textForScreenReader(intl, status, rebloggedByText)} ref={this.handleRef}>
|
<div className={classNames('status__wrapper', `status__wrapper-${status.get('visibility_ex')}`, { 'status__wrapper-reply': !!status.get('in_reply_to_id'), unread, focusable: !this.props.muted })} tabIndex={this.props.muted ? null : 0} data-featured={featured ? 'true' : null} aria-label={textForScreenReader(intl, status, rebloggedByText)} ref={this.handleRef}>
|
||||||
{prepend}
|
{prepend}
|
||||||
|
|
||||||
<div className={classNames('status', `status-${status.get('visibility_ex')}`, { 'status-reply': !!status.get('in_reply_to_id'), muted: this.props.muted })} data-id={status.get('id')}>
|
<div className={classNames('status', `status-${status.get('visibility_ex')}`, { 'status-reply': !!status.get('in_reply_to_id'), 'status--in-thread': !!rootId, 'status--first-in-thread': previousId && (!connectUp || connectToRoot), muted: this.props.muted })} data-id={status.get('id')}>
|
||||||
|
{(connectReply || connectUp || connectToRoot) && <div className={classNames('status__line', { 'status__line--full': connectReply, 'status__line--first': !status.get('in_reply_to_id') && !connectToRoot })} />}
|
||||||
|
|
||||||
|
{/* eslint-disable-next-line jsx-a11y/no-static-element-interactions */}
|
||||||
<div onClick={this.handleClick} className='status__info'>
|
<div onClick={this.handleClick} className='status__info'>
|
||||||
<a href={`/@${status.getIn(['account', 'acct'])}/${status.get('id')}`} className='status__relative-time' target='_blank' rel='noopener noreferrer'>
|
<a href={`/@${status.getIn(['account', 'acct'])}/${status.get('id')}`} className='status__relative-time' target='_blank' rel='noopener noreferrer'>
|
||||||
<span className='status__visibility-icon'><Icon id={visibilityIcon.icon} title={visibilityIcon.text} /></span>
|
<span className='status__visibility-icon'><Icon id={visibilityIcon.icon} title={visibilityIcon.text} /></span>
|
||||||
|
|
|
@ -104,7 +104,7 @@ class StatusContent extends React.PureComponent {
|
||||||
link.setAttribute('href', `/@${mention.get('acct')}`);
|
link.setAttribute('href', `/@${mention.get('acct')}`);
|
||||||
} else if (link.textContent[0] === '#' || (link.previousSibling && link.previousSibling.textContent && link.previousSibling.textContent[link.previousSibling.textContent.length - 1] === '#')) {
|
} else if (link.textContent[0] === '#' || (link.previousSibling && link.previousSibling.textContent && link.previousSibling.textContent[link.previousSibling.textContent.length - 1] === '#')) {
|
||||||
link.addEventListener('click', this.onHashtagClick.bind(this, link.text), false);
|
link.addEventListener('click', this.onHashtagClick.bind(this, link.text), false);
|
||||||
link.setAttribute('href', `/tags/${link.text.slice(1)}`);
|
link.setAttribute('href', `/tags/${link.text.replace(/^#/, '')}`);
|
||||||
} else {
|
} else {
|
||||||
link.setAttribute('title', link.href);
|
link.setAttribute('title', link.href);
|
||||||
link.classList.add('unhandled-link');
|
link.classList.add('unhandled-link');
|
||||||
|
|
25
app/javascript/mastodon/components/verified_badge.jsx
Normal file
25
app/javascript/mastodon/components/verified_badge.jsx
Normal file
|
@ -0,0 +1,25 @@
|
||||||
|
import React from 'react';
|
||||||
|
import PropTypes from 'prop-types';
|
||||||
|
import Icon from 'mastodon/components/icon';
|
||||||
|
|
||||||
|
class VerifiedBadge extends React.PureComponent {
|
||||||
|
|
||||||
|
static propTypes = {
|
||||||
|
link: PropTypes.string.isRequired,
|
||||||
|
verifiedAt: PropTypes.string.isRequired,
|
||||||
|
};
|
||||||
|
|
||||||
|
render () {
|
||||||
|
const { link } = this.props;
|
||||||
|
|
||||||
|
return (
|
||||||
|
<span className='verified-badge'>
|
||||||
|
<Icon id='check' className='verified-badge__mark' />
|
||||||
|
<span dangerouslySetInnerHTML={{ __html: link }} />
|
||||||
|
</span>
|
||||||
|
);
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
export default VerifiedBadge;
|
|
@ -69,6 +69,7 @@ const makeMapStateToProps = () => {
|
||||||
|
|
||||||
const mapStateToProps = (state, props) => ({
|
const mapStateToProps = (state, props) => ({
|
||||||
status: getStatus(state, props),
|
status: getStatus(state, props),
|
||||||
|
nextInReplyToId: props.nextId ? state.getIn(['statuses', props.nextId, 'in_reply_to_id']) : null,
|
||||||
pictureInPicture: getPictureInPicture(state, props),
|
pictureInPicture: getPictureInPicture(state, props),
|
||||||
});
|
});
|
||||||
|
|
||||||
|
|
|
@ -81,6 +81,7 @@ class Header extends ImmutablePureComponent {
|
||||||
|
|
||||||
static contextTypes = {
|
static contextTypes = {
|
||||||
identity: PropTypes.object,
|
identity: PropTypes.object,
|
||||||
|
router: PropTypes.object,
|
||||||
};
|
};
|
||||||
|
|
||||||
static propTypes = {
|
static propTypes = {
|
||||||
|
@ -103,11 +104,16 @@ class Header extends ImmutablePureComponent {
|
||||||
onChangeLanguages: PropTypes.func.isRequired,
|
onChangeLanguages: PropTypes.func.isRequired,
|
||||||
onInteractionModal: PropTypes.func.isRequired,
|
onInteractionModal: PropTypes.func.isRequired,
|
||||||
onOpenAvatar: PropTypes.func.isRequired,
|
onOpenAvatar: PropTypes.func.isRequired,
|
||||||
|
onOpenURL: PropTypes.func.isRequired,
|
||||||
intl: PropTypes.object.isRequired,
|
intl: PropTypes.object.isRequired,
|
||||||
domain: PropTypes.string.isRequired,
|
domain: PropTypes.string.isRequired,
|
||||||
hidden: PropTypes.bool,
|
hidden: PropTypes.bool,
|
||||||
};
|
};
|
||||||
|
|
||||||
|
setRef = c => {
|
||||||
|
this.node = c;
|
||||||
|
};
|
||||||
|
|
||||||
openEditProfile = () => {
|
openEditProfile = () => {
|
||||||
window.open('/settings/profile', '_blank');
|
window.open('/settings/profile', '_blank');
|
||||||
};
|
};
|
||||||
|
@ -164,6 +170,61 @@ class Header extends ImmutablePureComponent {
|
||||||
});
|
});
|
||||||
};
|
};
|
||||||
|
|
||||||
|
handleHashtagClick = e => {
|
||||||
|
const { router } = this.context;
|
||||||
|
const value = e.currentTarget.textContent.replace(/^#/, '');
|
||||||
|
|
||||||
|
if (router && e.button === 0 && !(e.ctrlKey || e.metaKey)) {
|
||||||
|
e.preventDefault();
|
||||||
|
router.history.push(`/tags/${value}`);
|
||||||
|
}
|
||||||
|
};
|
||||||
|
|
||||||
|
handleMentionClick = e => {
|
||||||
|
const { router } = this.context;
|
||||||
|
const { onOpenURL } = this.props;
|
||||||
|
|
||||||
|
if (router && e.button === 0 && !(e.ctrlKey || e.metaKey)) {
|
||||||
|
e.preventDefault();
|
||||||
|
|
||||||
|
const link = e.currentTarget;
|
||||||
|
|
||||||
|
onOpenURL(link.href, router.history, () => {
|
||||||
|
window.location = link.href;
|
||||||
|
});
|
||||||
|
}
|
||||||
|
};
|
||||||
|
|
||||||
|
_attachLinkEvents () {
|
||||||
|
const node = this.node;
|
||||||
|
|
||||||
|
if (!node) {
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
const links = node.querySelectorAll('a');
|
||||||
|
|
||||||
|
let link;
|
||||||
|
|
||||||
|
for (var i = 0; i < links.length; ++i) {
|
||||||
|
link = links[i];
|
||||||
|
|
||||||
|
if (link.textContent[0] === '#' || (link.previousSibling && link.previousSibling.textContent && link.previousSibling.textContent[link.previousSibling.textContent.length - 1] === '#')) {
|
||||||
|
link.addEventListener('click', this.handleHashtagClick, false);
|
||||||
|
} else if (link.classList.contains('mention')) {
|
||||||
|
link.addEventListener('click', this.handleMentionClick, false);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
componentDidMount () {
|
||||||
|
this._attachLinkEvents();
|
||||||
|
}
|
||||||
|
|
||||||
|
componentDidUpdate () {
|
||||||
|
this._attachLinkEvents();
|
||||||
|
}
|
||||||
|
|
||||||
render () {
|
render () {
|
||||||
const { account, hidden, intl, domain } = this.props;
|
const { account, hidden, intl, domain } = this.props;
|
||||||
const { signedIn, permissions } = this.context.identity;
|
const { signedIn, permissions } = this.context.identity;
|
||||||
|
@ -363,7 +424,7 @@ class Header extends ImmutablePureComponent {
|
||||||
|
|
||||||
{!(suspended || hidden) && (
|
{!(suspended || hidden) && (
|
||||||
<div className='account__header__extra'>
|
<div className='account__header__extra'>
|
||||||
<div className='account__header__bio'>
|
<div className='account__header__bio' ref={this.setRef}>
|
||||||
{(account.get('id') !== me && signedIn) && <AccountNoteContainer account={account} />}
|
{(account.get('id') !== me && signedIn) && <AccountNoteContainer account={account} />}
|
||||||
|
|
||||||
{account.get('note').length > 0 && account.get('note') !== '<p></p>' && <div className='account__header__content translate' dangerouslySetInnerHTML={content} />}
|
{account.get('note').length > 0 && account.get('note') !== '<p></p>' && <div className='account__header__content translate' dangerouslySetInnerHTML={content} />}
|
||||||
|
|
|
@ -27,6 +27,7 @@ export default class Header extends ImmutablePureComponent {
|
||||||
onChangeLanguages: PropTypes.func.isRequired,
|
onChangeLanguages: PropTypes.func.isRequired,
|
||||||
onInteractionModal: PropTypes.func.isRequired,
|
onInteractionModal: PropTypes.func.isRequired,
|
||||||
onOpenAvatar: PropTypes.func.isRequired,
|
onOpenAvatar: PropTypes.func.isRequired,
|
||||||
|
onOpenURL: PropTypes.func.isRequired,
|
||||||
hideTabs: PropTypes.bool,
|
hideTabs: PropTypes.bool,
|
||||||
domain: PropTypes.string.isRequired,
|
domain: PropTypes.string.isRequired,
|
||||||
hidden: PropTypes.bool,
|
hidden: PropTypes.bool,
|
||||||
|
@ -143,6 +144,7 @@ export default class Header extends ImmutablePureComponent {
|
||||||
onChangeLanguages={this.handleChangeLanguages}
|
onChangeLanguages={this.handleChangeLanguages}
|
||||||
onInteractionModal={this.handleInteractionModal}
|
onInteractionModal={this.handleInteractionModal}
|
||||||
onOpenAvatar={this.handleOpenAvatar}
|
onOpenAvatar={this.handleOpenAvatar}
|
||||||
|
onOpenURL={this.props.onOpenURL}
|
||||||
domain={this.props.domain}
|
domain={this.props.domain}
|
||||||
hidden={hidden}
|
hidden={hidden}
|
||||||
/>
|
/>
|
||||||
|
|
|
@ -10,6 +10,7 @@ import {
|
||||||
pinAccount,
|
pinAccount,
|
||||||
unpinAccount,
|
unpinAccount,
|
||||||
} from '../../../actions/accounts';
|
} from '../../../actions/accounts';
|
||||||
|
import { openURL } from 'mastodon/actions/search';
|
||||||
import {
|
import {
|
||||||
mentionCompose,
|
mentionCompose,
|
||||||
directCompose,
|
directCompose,
|
||||||
|
@ -165,6 +166,10 @@ const mapDispatchToProps = (dispatch, { intl }) => ({
|
||||||
}));
|
}));
|
||||||
},
|
},
|
||||||
|
|
||||||
|
onOpenURL (url, routerHistory, onFailure) {
|
||||||
|
dispatch(openURL(url, routerHistory, onFailure));
|
||||||
|
},
|
||||||
|
|
||||||
});
|
});
|
||||||
|
|
||||||
export default injectIntl(connect(makeMapStateToProps, mapDispatchToProps)(Header));
|
export default injectIntl(connect(makeMapStateToProps, mapDispatchToProps)(Header));
|
||||||
|
|
|
@ -23,6 +23,7 @@ import ImmutablePureComponent from 'react-immutable-pure-component';
|
||||||
import { length } from 'stringz';
|
import { length } from 'stringz';
|
||||||
import { countableText } from '../util/counter';
|
import { countableText } from '../util/counter';
|
||||||
import Icon from 'mastodon/components/icon';
|
import Icon from 'mastodon/components/icon';
|
||||||
|
import classNames from 'classnames';
|
||||||
|
|
||||||
const allowedAroundShortCode = '><\u0085\u0020\u00a0\u1680\u2000\u2001\u2002\u2003\u2004\u2005\u2006\u2007\u2008\u2009\u200a\u202f\u205f\u3000\u2028\u2029\u0009\u000a\u000b\u000c\u000d';
|
const allowedAroundShortCode = '><\u0085\u0020\u00a0\u1680\u2000\u2001\u2002\u2003\u2004\u2005\u2006\u2007\u2008\u2009\u200a\u202f\u205f\u3000\u2028\u2029\u0009\u000a\u000b\u000c\u000d';
|
||||||
|
|
||||||
|
@ -75,6 +76,10 @@ class ComposeForm extends ImmutablePureComponent {
|
||||||
autoFocus: false,
|
autoFocus: false,
|
||||||
};
|
};
|
||||||
|
|
||||||
|
state = {
|
||||||
|
highlighted: false,
|
||||||
|
};
|
||||||
|
|
||||||
handleChange = (e) => {
|
handleChange = (e) => {
|
||||||
this.props.onChange(e.target.value);
|
this.props.onChange(e.target.value);
|
||||||
};
|
};
|
||||||
|
@ -148,6 +153,10 @@ class ComposeForm extends ImmutablePureComponent {
|
||||||
this._updateFocusAndSelection({ });
|
this._updateFocusAndSelection({ });
|
||||||
}
|
}
|
||||||
|
|
||||||
|
componentWillUnmount () {
|
||||||
|
if (this.timeout) clearTimeout(this.timeout);
|
||||||
|
}
|
||||||
|
|
||||||
componentDidUpdate (prevProps) {
|
componentDidUpdate (prevProps) {
|
||||||
this._updateFocusAndSelection(prevProps);
|
this._updateFocusAndSelection(prevProps);
|
||||||
}
|
}
|
||||||
|
@ -178,6 +187,8 @@ class ComposeForm extends ImmutablePureComponent {
|
||||||
Promise.resolve().then(() => {
|
Promise.resolve().then(() => {
|
||||||
this.autosuggestTextarea.textarea.setSelectionRange(selectionStart, selectionEnd);
|
this.autosuggestTextarea.textarea.setSelectionRange(selectionStart, selectionEnd);
|
||||||
this.autosuggestTextarea.textarea.focus();
|
this.autosuggestTextarea.textarea.focus();
|
||||||
|
this.setState({ highlighted: true });
|
||||||
|
this.timeout = setTimeout(() => this.setState({ highlighted: false }), 700);
|
||||||
}).catch(console.error);
|
}).catch(console.error);
|
||||||
} else if(prevProps.isSubmitting && !this.props.isSubmitting) {
|
} else if(prevProps.isSubmitting && !this.props.isSubmitting) {
|
||||||
this.autosuggestTextarea.textarea.focus();
|
this.autosuggestTextarea.textarea.focus();
|
||||||
|
@ -218,6 +229,7 @@ class ComposeForm extends ImmutablePureComponent {
|
||||||
|
|
||||||
render () {
|
render () {
|
||||||
const { intl, onPaste, autoFocus } = this.props;
|
const { intl, onPaste, autoFocus } = this.props;
|
||||||
|
const { highlighted } = this.state;
|
||||||
const disabled = this.props.isSubmitting;
|
const disabled = this.props.isSubmitting;
|
||||||
|
|
||||||
let publishText = '';
|
let publishText = '';
|
||||||
|
@ -256,44 +268,46 @@ class ComposeForm extends ImmutablePureComponent {
|
||||||
/>
|
/>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<AutosuggestTextarea
|
<div className={classNames('compose-form__highlightable', { active: highlighted })}>
|
||||||
ref={this.setAutosuggestTextarea}
|
<AutosuggestTextarea
|
||||||
placeholder={intl.formatMessage(messages.placeholder)}
|
ref={this.setAutosuggestTextarea}
|
||||||
disabled={disabled}
|
placeholder={intl.formatMessage(messages.placeholder)}
|
||||||
value={this.props.text}
|
disabled={disabled}
|
||||||
onChange={this.handleChange}
|
value={this.props.text}
|
||||||
suggestions={this.props.suggestions}
|
onChange={this.handleChange}
|
||||||
onFocus={this.handleFocus}
|
suggestions={this.props.suggestions}
|
||||||
onKeyDown={this.handleKeyDown}
|
onFocus={this.handleFocus}
|
||||||
onSuggestionsFetchRequested={this.onSuggestionsFetchRequested}
|
onKeyDown={this.handleKeyDown}
|
||||||
onSuggestionsClearRequested={this.onSuggestionsClearRequested}
|
onSuggestionsFetchRequested={this.onSuggestionsFetchRequested}
|
||||||
onSuggestionSelected={this.onSuggestionSelected}
|
onSuggestionsClearRequested={this.onSuggestionsClearRequested}
|
||||||
onPaste={onPaste}
|
onSuggestionSelected={this.onSuggestionSelected}
|
||||||
autoFocus={autoFocus}
|
onPaste={onPaste}
|
||||||
lang={this.props.lang}
|
autoFocus={autoFocus}
|
||||||
>
|
lang={this.props.lang}
|
||||||
<EmojiPickerDropdown onPickEmoji={this.handleEmojiPick} />
|
>
|
||||||
<ExpirationDropdownContainer onPickExpiration={this.handleExpirationPick} />
|
<EmojiPickerDropdown onPickEmoji={this.handleEmojiPick} />
|
||||||
|
<ExpirationDropdownContainer onPickExpiration={this.handleExpirationPick} />
|
||||||
|
|
||||||
<div className='compose-form__modifiers'>
|
<div className='compose-form__modifiers'>
|
||||||
<UploadFormContainer />
|
<UploadFormContainer />
|
||||||
<PollFormContainer />
|
<PollFormContainer />
|
||||||
</div>
|
</div>
|
||||||
</AutosuggestTextarea>
|
</AutosuggestTextarea>
|
||||||
|
|
||||||
<div className='compose-form__buttons-wrapper'>
|
<div className='compose-form__buttons-wrapper'>
|
||||||
<div className='compose-form__buttons'>
|
<div className='compose-form__buttons'>
|
||||||
<UploadButtonContainer />
|
<UploadButtonContainer />
|
||||||
<PollButtonContainer />
|
<PollButtonContainer />
|
||||||
<PrivacyDropdownContainer disabled={this.props.isEditing} />
|
<PrivacyDropdownContainer disabled={this.props.isEditing} />
|
||||||
<SearchabilityDropdownContainer disabled={this.props.isEditing} />
|
<SearchabilityDropdownContainer disabled={this.props.isEditing} />
|
||||||
<SpoilerButtonContainer />
|
<SpoilerButtonContainer />
|
||||||
<LanguageDropdown />
|
<LanguageDropdown />
|
||||||
<MarkdownButtonContainer />
|
<MarkdownButtonContainer />
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<div className='character-counter__wrapper'>
|
<div className='character-counter__wrapper'>
|
||||||
<CharacterCounter max={500} text={this.getFulltextForCharacterCounting()} />
|
<CharacterCounter max={500} text={this.getFulltextForCharacterCounting()} />
|
||||||
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
|
|
|
@ -161,9 +161,9 @@ class Search extends React.PureComponent {
|
||||||
|
|
||||||
handleURLClick = () => {
|
handleURLClick = () => {
|
||||||
const { router } = this.context;
|
const { router } = this.context;
|
||||||
const { onOpenURL } = this.props;
|
const { value, onOpenURL } = this.props;
|
||||||
|
|
||||||
onOpenURL(router.history);
|
onOpenURL(value, router.history);
|
||||||
};
|
};
|
||||||
|
|
||||||
handleStatusSearch = () => {
|
handleStatusSearch = () => {
|
||||||
|
|
|
@ -132,7 +132,7 @@ class SearchResults extends ImmutablePureComponent {
|
||||||
<div className='search-results'>
|
<div className='search-results'>
|
||||||
<div className='search-results__header'>
|
<div className='search-results__header'>
|
||||||
<Icon id='search' fixedWidth />
|
<Icon id='search' fixedWidth />
|
||||||
<FormattedMessage id='search_results.total' defaultMessage='{count, number} {count, plural, one {result} other {results}}' values={{ count }} />
|
<FormattedMessage id='search_results.total' defaultMessage='{count, plural, one {# result} other {# results}}' values={{ count }} />
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
{accounts}
|
{accounts}
|
||||||
|
|
|
@ -34,8 +34,8 @@ const mapDispatchToProps = dispatch => ({
|
||||||
dispatch(showSearch());
|
dispatch(showSearch());
|
||||||
},
|
},
|
||||||
|
|
||||||
onOpenURL (routerHistory) {
|
onOpenURL (q, routerHistory) {
|
||||||
dispatch(openURL(routerHistory));
|
dispatch(openURL(q, routerHistory));
|
||||||
},
|
},
|
||||||
|
|
||||||
onClickSearchResult (q, type) {
|
onClickSearchResult (q, type) {
|
||||||
|
|
|
@ -1,85 +0,0 @@
|
||||||
import React from 'react';
|
|
||||||
import PropTypes from 'prop-types';
|
|
||||||
import ImmutablePropTypes from 'react-immutable-proptypes';
|
|
||||||
import ImmutablePureComponent from 'react-immutable-pure-component';
|
|
||||||
import { connect } from 'react-redux';
|
|
||||||
import { makeGetAccount } from 'mastodon/selectors';
|
|
||||||
import Avatar from 'mastodon/components/avatar';
|
|
||||||
import DisplayName from 'mastodon/components/display_name';
|
|
||||||
import { Link } from 'react-router-dom';
|
|
||||||
import IconButton from 'mastodon/components/icon_button';
|
|
||||||
import { injectIntl, defineMessages } from 'react-intl';
|
|
||||||
import { followAccount, unfollowAccount } from 'mastodon/actions/accounts';
|
|
||||||
|
|
||||||
const messages = defineMessages({
|
|
||||||
follow: { id: 'account.follow', defaultMessage: 'Follow' },
|
|
||||||
unfollow: { id: 'account.unfollow', defaultMessage: 'Unfollow' },
|
|
||||||
});
|
|
||||||
|
|
||||||
const makeMapStateToProps = () => {
|
|
||||||
const getAccount = makeGetAccount();
|
|
||||||
|
|
||||||
const mapStateToProps = (state, props) => ({
|
|
||||||
account: getAccount(state, props.id),
|
|
||||||
});
|
|
||||||
|
|
||||||
return mapStateToProps;
|
|
||||||
};
|
|
||||||
|
|
||||||
const getFirstSentence = str => {
|
|
||||||
const arr = str.split(/(([.?!]+\s)|[.。?!\n•])/);
|
|
||||||
|
|
||||||
return arr[0];
|
|
||||||
};
|
|
||||||
|
|
||||||
class Account extends ImmutablePureComponent {
|
|
||||||
|
|
||||||
static propTypes = {
|
|
||||||
account: ImmutablePropTypes.map.isRequired,
|
|
||||||
intl: PropTypes.object.isRequired,
|
|
||||||
dispatch: PropTypes.func.isRequired,
|
|
||||||
};
|
|
||||||
|
|
||||||
handleFollow = () => {
|
|
||||||
const { account, dispatch } = this.props;
|
|
||||||
|
|
||||||
if (account.getIn(['relationship', 'following']) || account.getIn(['relationship', 'requested'])) {
|
|
||||||
dispatch(unfollowAccount(account.get('id')));
|
|
||||||
} else {
|
|
||||||
dispatch(followAccount(account.get('id')));
|
|
||||||
}
|
|
||||||
};
|
|
||||||
|
|
||||||
render () {
|
|
||||||
const { account, intl } = this.props;
|
|
||||||
|
|
||||||
let button;
|
|
||||||
|
|
||||||
if (account.getIn(['relationship', 'following'])) {
|
|
||||||
button = <IconButton icon='check' title={intl.formatMessage(messages.unfollow)} active onClick={this.handleFollow} />;
|
|
||||||
} else {
|
|
||||||
button = <IconButton icon='plus' title={intl.formatMessage(messages.follow)} onClick={this.handleFollow} />;
|
|
||||||
}
|
|
||||||
|
|
||||||
return (
|
|
||||||
<div className='account follow-recommendations-account'>
|
|
||||||
<div className='account__wrapper'>
|
|
||||||
<Link className='account__display-name account__display-name--with-note' title={account.get('acct')} to={`/@${account.get('acct')}`}>
|
|
||||||
<div className='account__avatar-wrapper'><Avatar account={account} size={36} /></div>
|
|
||||||
|
|
||||||
<DisplayName account={account} />
|
|
||||||
|
|
||||||
<div className='account__note'>{getFirstSentence(account.get('note_plain'))}</div>
|
|
||||||
</Link>
|
|
||||||
|
|
||||||
<div className='account__relationship'>
|
|
||||||
{button}
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
);
|
|
||||||
}
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
export default connect(makeMapStateToProps)(injectIntl(Account));
|
|
|
@ -1,117 +0,0 @@
|
||||||
import React from 'react';
|
|
||||||
import PropTypes from 'prop-types';
|
|
||||||
import ImmutablePureComponent from 'react-immutable-pure-component';
|
|
||||||
import ImmutablePropTypes from 'react-immutable-proptypes';
|
|
||||||
import { connect } from 'react-redux';
|
|
||||||
import { FormattedMessage } from 'react-intl';
|
|
||||||
import { fetchSuggestions } from 'mastodon/actions/suggestions';
|
|
||||||
import { changeSetting, saveSettings } from 'mastodon/actions/settings';
|
|
||||||
import { requestBrowserPermission } from 'mastodon/actions/notifications';
|
|
||||||
import { markAsPartial } from 'mastodon/actions/timelines';
|
|
||||||
import Column from 'mastodon/features/ui/components/column';
|
|
||||||
import Account from './components/account';
|
|
||||||
import imageGreeting from 'mastodon/../images/elephant_ui_greeting.svg';
|
|
||||||
import Button from 'mastodon/components/button';
|
|
||||||
import { Helmet } from 'react-helmet';
|
|
||||||
|
|
||||||
const mapStateToProps = state => ({
|
|
||||||
suggestions: state.getIn(['suggestions', 'items']),
|
|
||||||
isLoading: state.getIn(['suggestions', 'isLoading']),
|
|
||||||
});
|
|
||||||
|
|
||||||
class FollowRecommendations extends ImmutablePureComponent {
|
|
||||||
|
|
||||||
static contextTypes = {
|
|
||||||
router: PropTypes.object.isRequired,
|
|
||||||
};
|
|
||||||
|
|
||||||
static propTypes = {
|
|
||||||
dispatch: PropTypes.func.isRequired,
|
|
||||||
suggestions: ImmutablePropTypes.list,
|
|
||||||
isLoading: PropTypes.bool,
|
|
||||||
};
|
|
||||||
|
|
||||||
componentDidMount () {
|
|
||||||
const { dispatch, suggestions } = this.props;
|
|
||||||
|
|
||||||
// Don't re-fetch if we're e.g. navigating backwards to this page,
|
|
||||||
// since we don't want followed accounts to disappear from the list
|
|
||||||
|
|
||||||
if (suggestions.size === 0) {
|
|
||||||
dispatch(fetchSuggestions(true));
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
componentWillUnmount () {
|
|
||||||
const { dispatch } = this.props;
|
|
||||||
|
|
||||||
// Force the home timeline to be reloaded when the user navigates
|
|
||||||
// to it; if the user is new, it would've been empty before
|
|
||||||
|
|
||||||
dispatch(markAsPartial('home'));
|
|
||||||
}
|
|
||||||
|
|
||||||
handleDone = () => {
|
|
||||||
const { dispatch } = this.props;
|
|
||||||
const { router } = this.context;
|
|
||||||
|
|
||||||
dispatch(requestBrowserPermission((permission) => {
|
|
||||||
if (permission === 'granted') {
|
|
||||||
dispatch(changeSetting(['notifications', 'alerts', 'follow'], true));
|
|
||||||
dispatch(changeSetting(['notifications', 'alerts', 'favourite'], true));
|
|
||||||
dispatch(changeSetting(['notifications', 'alerts', 'reblog'], true));
|
|
||||||
dispatch(changeSetting(['notifications', 'alerts', 'mention'], true));
|
|
||||||
dispatch(changeSetting(['notifications', 'alerts', 'poll'], true));
|
|
||||||
dispatch(changeSetting(['notifications', 'alerts', 'status'], true));
|
|
||||||
dispatch(saveSettings());
|
|
||||||
}
|
|
||||||
}));
|
|
||||||
|
|
||||||
router.history.push('/home');
|
|
||||||
};
|
|
||||||
|
|
||||||
render () {
|
|
||||||
const { suggestions, isLoading } = this.props;
|
|
||||||
|
|
||||||
return (
|
|
||||||
<Column>
|
|
||||||
<div className='scrollable follow-recommendations-container'>
|
|
||||||
<div className='column-title'>
|
|
||||||
<svg viewBox='0 0 79 79' className='logo'>
|
|
||||||
<use xlinkHref='#logo-symbol-icon' />
|
|
||||||
</svg>
|
|
||||||
|
|
||||||
<h3><FormattedMessage id='follow_recommendations.heading' defaultMessage="Follow people you'd like to see posts from! Here are some suggestions." /></h3>
|
|
||||||
<p><FormattedMessage id='follow_recommendations.lead' defaultMessage="Posts from people you follow will show up in chronological order on your home feed. Don't be afraid to make mistakes, you can unfollow people just as easily any time!" /></p>
|
|
||||||
</div>
|
|
||||||
|
|
||||||
{!isLoading && (
|
|
||||||
<React.Fragment>
|
|
||||||
<div className='column-list'>
|
|
||||||
{suggestions.size > 0 ? suggestions.map(suggestion => (
|
|
||||||
<Account key={suggestion.get('account')} id={suggestion.get('account')} />
|
|
||||||
)) : (
|
|
||||||
<div className='column-list__empty-message'>
|
|
||||||
<FormattedMessage id='empty_column.follow_recommendations' defaultMessage='Looks like no suggestions could be generated for you. You can try using search to look for people you might know or explore trending hashtags.' />
|
|
||||||
</div>
|
|
||||||
)}
|
|
||||||
</div>
|
|
||||||
|
|
||||||
<div className='column-actions'>
|
|
||||||
<img src={imageGreeting} alt='' className='column-actions__background' />
|
|
||||||
<Button onClick={this.handleDone}><FormattedMessage id='follow_recommendations.done' defaultMessage='Done' /></Button>
|
|
||||||
</div>
|
|
||||||
</React.Fragment>
|
|
||||||
)}
|
|
||||||
</div>
|
|
||||||
|
|
||||||
<Helmet>
|
|
||||||
<meta name='robots' content='noindex' />
|
|
||||||
</Helmet>
|
|
||||||
</Column>
|
|
||||||
);
|
|
||||||
}
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
export default connect(mapStateToProps)(FollowRecommendations);
|
|
|
@ -45,7 +45,7 @@ class Report extends ImmutablePureComponent {
|
||||||
|
|
||||||
<div className='notification__report__details'>
|
<div className='notification__report__details'>
|
||||||
<div>
|
<div>
|
||||||
<RelativeTimestamp timestamp={report.get('created_at')} short={false} /> · <FormattedMessage id='report_notification.attached_statuses' defaultMessage='{count, plural, one {{count} post} other {{count} posts}} attached' values={{ count: report.get('status_ids').size }} />
|
<RelativeTimestamp timestamp={report.get('created_at')} short={false} /> · <FormattedMessage id='report_notification.attached_statuses' defaultMessage='{count, plural, one {# post} other {# posts}} attached' values={{ count: report.get('status_ids').size }} />
|
||||||
<br />
|
<br />
|
||||||
<strong>{intl.formatMessage(messages[report.get('category')])}</strong>
|
<strong>{intl.formatMessage(messages[report.get('category')])}</strong>
|
||||||
</div>
|
</div>
|
||||||
|
|
|
@ -0,0 +1,9 @@
|
||||||
|
import React from 'react';
|
||||||
|
|
||||||
|
const ArrowSmallRight = () => (
|
||||||
|
<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20' fill='currentColor'>
|
||||||
|
<path fillRule='evenodd' d='M5 10a.75.75 0 01.75-.75h6.638L10.23 7.29a.75.75 0 111.04-1.08l3.5 3.25a.75.75 0 010 1.08l-3.5 3.25a.75.75 0 11-1.04-1.08l2.158-1.96H5.75A.75.75 0 015 10z' clipRule='evenodd' />
|
||||||
|
</svg>
|
||||||
|
);
|
||||||
|
|
||||||
|
export default ArrowSmallRight;
|
|
@ -0,0 +1,25 @@
|
||||||
|
import React from 'react';
|
||||||
|
import PropTypes from 'prop-types';
|
||||||
|
import Check from 'mastodon/components/check';
|
||||||
|
import classNames from 'classnames';
|
||||||
|
|
||||||
|
const ProgressIndicator = ({ steps, completed }) => (
|
||||||
|
<div className='onboarding__progress-indicator'>
|
||||||
|
{(new Array(steps)).fill().map((_, i) => (
|
||||||
|
<React.Fragment key={i}>
|
||||||
|
{i > 0 && <div className={classNames('onboarding__progress-indicator__line', { active: completed > i })} />}
|
||||||
|
|
||||||
|
<div className={classNames('onboarding__progress-indicator__step', { active: completed > i })}>
|
||||||
|
{completed > i && <Check />}
|
||||||
|
</div>
|
||||||
|
</React.Fragment>
|
||||||
|
))}
|
||||||
|
</div>
|
||||||
|
);
|
||||||
|
|
||||||
|
ProgressIndicator.propTypes = {
|
||||||
|
steps: PropTypes.number.isRequired,
|
||||||
|
completed: PropTypes.number,
|
||||||
|
};
|
||||||
|
|
||||||
|
export default ProgressIndicator;
|
|
@ -0,0 +1,50 @@
|
||||||
|
import React from 'react';
|
||||||
|
import PropTypes from 'prop-types';
|
||||||
|
import Icon from 'mastodon/components/icon';
|
||||||
|
import Check from 'mastodon/components/check';
|
||||||
|
|
||||||
|
const Step = ({ label, description, icon, completed, onClick, href }) => {
|
||||||
|
const content = (
|
||||||
|
<>
|
||||||
|
<div className='onboarding__steps__item__icon'>
|
||||||
|
<Icon id={icon} />
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div className='onboarding__steps__item__description'>
|
||||||
|
<h6>{label}</h6>
|
||||||
|
<p>{description}</p>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
{completed && (
|
||||||
|
<div className='onboarding__steps__item__progress'>
|
||||||
|
<Check />
|
||||||
|
</div>
|
||||||
|
)}
|
||||||
|
</>
|
||||||
|
);
|
||||||
|
|
||||||
|
if (href) {
|
||||||
|
return (
|
||||||
|
<a href={href} onClick={onClick} target='_blank' rel='noopener' className='onboarding__steps__item'>
|
||||||
|
{content}
|
||||||
|
</a>
|
||||||
|
);
|
||||||
|
}
|
||||||
|
|
||||||
|
return (
|
||||||
|
<button onClick={onClick} className='onboarding__steps__item'>
|
||||||
|
{content}
|
||||||
|
</button>
|
||||||
|
);
|
||||||
|
};
|
||||||
|
|
||||||
|
Step.propTypes = {
|
||||||
|
label: PropTypes.node,
|
||||||
|
description: PropTypes.node,
|
||||||
|
icon: PropTypes.string,
|
||||||
|
completed: PropTypes.bool,
|
||||||
|
href: PropTypes.string,
|
||||||
|
onClick: PropTypes.func,
|
||||||
|
};
|
||||||
|
|
||||||
|
export default Step;
|
79
app/javascript/mastodon/features/onboarding/follows.jsx
Normal file
79
app/javascript/mastodon/features/onboarding/follows.jsx
Normal file
|
@ -0,0 +1,79 @@
|
||||||
|
import React from 'react';
|
||||||
|
import Column from 'mastodon/components/column';
|
||||||
|
import ColumnBackButton from 'mastodon/components/column_back_button';
|
||||||
|
import PropTypes from 'prop-types';
|
||||||
|
import { connect } from 'react-redux';
|
||||||
|
import { fetchSuggestions } from 'mastodon/actions/suggestions';
|
||||||
|
import { markAsPartial } from 'mastodon/actions/timelines';
|
||||||
|
import ImmutablePropTypes from 'react-immutable-proptypes';
|
||||||
|
import Account from 'mastodon/containers/account_container';
|
||||||
|
import EmptyAccount from 'mastodon/components/account';
|
||||||
|
import { FormattedMessage, FormattedHTMLMessage } from 'react-intl';
|
||||||
|
import { makeGetAccount } from 'mastodon/selectors';
|
||||||
|
import { me } from 'mastodon/initial_state';
|
||||||
|
import ProgressIndicator from './components/progress_indicator';
|
||||||
|
|
||||||
|
const mapStateToProps = () => {
|
||||||
|
const getAccount = makeGetAccount();
|
||||||
|
|
||||||
|
return state => ({
|
||||||
|
account: getAccount(state, me),
|
||||||
|
suggestions: state.getIn(['suggestions', 'items']),
|
||||||
|
isLoading: state.getIn(['suggestions', 'isLoading']),
|
||||||
|
});
|
||||||
|
};
|
||||||
|
|
||||||
|
class Follows extends React.PureComponent {
|
||||||
|
|
||||||
|
static propTypes = {
|
||||||
|
onBack: PropTypes.func,
|
||||||
|
dispatch: PropTypes.func.isRequired,
|
||||||
|
suggestions: ImmutablePropTypes.list,
|
||||||
|
account: ImmutablePropTypes.map,
|
||||||
|
isLoading: PropTypes.bool,
|
||||||
|
};
|
||||||
|
|
||||||
|
componentDidMount () {
|
||||||
|
const { dispatch } = this.props;
|
||||||
|
dispatch(fetchSuggestions(true));
|
||||||
|
}
|
||||||
|
|
||||||
|
componentWillUnmount () {
|
||||||
|
const { dispatch } = this.props;
|
||||||
|
dispatch(markAsPartial('home'));
|
||||||
|
}
|
||||||
|
|
||||||
|
render () {
|
||||||
|
const { onBack, isLoading, suggestions, account } = this.props;
|
||||||
|
|
||||||
|
return (
|
||||||
|
<Column>
|
||||||
|
<ColumnBackButton onClick={onBack} />
|
||||||
|
|
||||||
|
<div className='scrollable privacy-policy'>
|
||||||
|
<div className='column-title'>
|
||||||
|
<h3><FormattedMessage id='onboarding.follows.title' defaultMessage='Popular on Mastodon' /></h3>
|
||||||
|
<p><FormattedMessage id='onboarding.follows.lead' defaultMessage='You curate your own home feed. The more people you follow, the more active and interesting it will be. These profiles may be a good starting point—you can always unfollow them later!' /></p>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<ProgressIndicator steps={7} completed={account.get('following_count') * 1} />
|
||||||
|
|
||||||
|
<div className='follow-recommendations'>
|
||||||
|
{isLoading ? (new Array(8)).fill().map((_, i) => <EmptyAccount key={i} />) : suggestions.map(suggestion => (
|
||||||
|
<Account id={suggestion.get('account')} key={suggestion.get('account')} />
|
||||||
|
))}
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<p className='onboarding__lead'><FormattedHTMLMessage id='onboarding.tips.accounts_from_other_servers' defaultMessage='<strong>Did you know?</strong> Since Mastodon is decentralized, some profiles you come across will be hosted on servers other than yours. And yet you can interact with them seamlessly! Their server is in the second half of their username!' values={{ strong: text => <strong>{text}</strong> }} /></p>
|
||||||
|
|
||||||
|
<div className='onboarding__footer'>
|
||||||
|
<button className='link-button' onClick={onBack}><FormattedMessage id='onboarding.actions.back' defaultMessage='Take me back' /></button>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</Column>
|
||||||
|
);
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
export default connect(mapStateToProps)(Follows);
|
141
app/javascript/mastodon/features/onboarding/index.jsx
Normal file
141
app/javascript/mastodon/features/onboarding/index.jsx
Normal file
|
@ -0,0 +1,141 @@
|
||||||
|
import React from 'react';
|
||||||
|
import PropTypes from 'prop-types';
|
||||||
|
import ImmutablePureComponent from 'react-immutable-pure-component';
|
||||||
|
import ImmutablePropTypes from 'react-immutable-proptypes';
|
||||||
|
import { connect } from 'react-redux';
|
||||||
|
import { focusCompose } from 'mastodon/actions/compose';
|
||||||
|
import Column from 'mastodon/features/ui/components/column';
|
||||||
|
import { Helmet } from 'react-helmet';
|
||||||
|
import illustration from 'mastodon/../images/elephant_ui_conversation.svg';
|
||||||
|
import { Link } from 'react-router-dom';
|
||||||
|
import { me } from 'mastodon/initial_state';
|
||||||
|
import { makeGetAccount } from 'mastodon/selectors';
|
||||||
|
import { closeOnboarding } from 'mastodon/actions/onboarding';
|
||||||
|
import { fetchAccount } from 'mastodon/actions/accounts';
|
||||||
|
import Follows from './follows';
|
||||||
|
import Share from './share';
|
||||||
|
import Step from './components/step';
|
||||||
|
import ArrowSmallRight from './components/arrow_small_right';
|
||||||
|
import { FormattedMessage } from 'react-intl';
|
||||||
|
import { debounce } from 'lodash';
|
||||||
|
|
||||||
|
const mapStateToProps = () => {
|
||||||
|
const getAccount = makeGetAccount();
|
||||||
|
|
||||||
|
return state => ({
|
||||||
|
account: getAccount(state, me),
|
||||||
|
});
|
||||||
|
};
|
||||||
|
|
||||||
|
class Onboarding extends ImmutablePureComponent {
|
||||||
|
|
||||||
|
static contextTypes = {
|
||||||
|
router: PropTypes.object.isRequired,
|
||||||
|
};
|
||||||
|
|
||||||
|
static propTypes = {
|
||||||
|
dispatch: PropTypes.func.isRequired,
|
||||||
|
account: ImmutablePropTypes.map,
|
||||||
|
};
|
||||||
|
|
||||||
|
state = {
|
||||||
|
step: null,
|
||||||
|
profileClicked: false,
|
||||||
|
shareClicked: false,
|
||||||
|
};
|
||||||
|
|
||||||
|
handleClose = () => {
|
||||||
|
const { dispatch } = this.props;
|
||||||
|
const { router } = this.context;
|
||||||
|
|
||||||
|
dispatch(closeOnboarding());
|
||||||
|
router.history.push('/home');
|
||||||
|
};
|
||||||
|
|
||||||
|
handleProfileClick = () => {
|
||||||
|
this.setState({ profileClicked: true });
|
||||||
|
};
|
||||||
|
|
||||||
|
handleFollowClick = () => {
|
||||||
|
this.setState({ step: 'follows' });
|
||||||
|
};
|
||||||
|
|
||||||
|
handleComposeClick = () => {
|
||||||
|
const { dispatch } = this.props;
|
||||||
|
const { router } = this.context;
|
||||||
|
|
||||||
|
dispatch(focusCompose(router.history));
|
||||||
|
};
|
||||||
|
|
||||||
|
handleShareClick = () => {
|
||||||
|
this.setState({ step: 'share', shareClicked: true });
|
||||||
|
};
|
||||||
|
|
||||||
|
handleBackClick = () => {
|
||||||
|
this.setState({ step: null });
|
||||||
|
};
|
||||||
|
|
||||||
|
handleWindowFocus = debounce(() => {
|
||||||
|
const { dispatch, account } = this.props;
|
||||||
|
dispatch(fetchAccount(account.get('id')));
|
||||||
|
}, 1000, { trailing: true });
|
||||||
|
|
||||||
|
componentDidMount () {
|
||||||
|
window.addEventListener('focus', this.handleWindowFocus, false);
|
||||||
|
}
|
||||||
|
|
||||||
|
componentWillUnmount () {
|
||||||
|
window.removeEventListener('focus', this.handleWindowFocus);
|
||||||
|
}
|
||||||
|
|
||||||
|
render () {
|
||||||
|
const { account } = this.props;
|
||||||
|
const { step, shareClicked } = this.state;
|
||||||
|
|
||||||
|
switch(step) {
|
||||||
|
case 'follows':
|
||||||
|
return <Follows onBack={this.handleBackClick} />;
|
||||||
|
case 'share':
|
||||||
|
return <Share onBack={this.handleBackClick} />;
|
||||||
|
}
|
||||||
|
|
||||||
|
return (
|
||||||
|
<Column>
|
||||||
|
<div className='scrollable privacy-policy'>
|
||||||
|
<div className='column-title'>
|
||||||
|
<img src={illustration} alt='' className='onboarding__illustration' />
|
||||||
|
<h3><FormattedMessage id='onboarding.start.title' defaultMessage="You've made it!" /></h3>
|
||||||
|
<p><FormattedMessage id='onboarding.start.lead' defaultMessage="Your new Mastodon account is ready to go. Here's how you can make the most of it:" /></p>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div className='onboarding__steps'>
|
||||||
|
<Step onClick={this.handleProfileClick} href='/settings/profile' completed={(!account.get('avatar').endsWith('missing.png')) || (account.get('display_name').length > 0 && account.get('note').length > 0)} icon='address-book-o' label={<FormattedMessage id='onboarding.steps.setup_profile.title' defaultMessage='Customize your profile' />} description={<FormattedMessage id='onboarding.steps.setup_profile.body' defaultMessage='Others are more likely to interact with you with a filled out profile.' />} />
|
||||||
|
<Step onClick={this.handleFollowClick} completed={(account.get('following_count') * 1) >= 7} icon='user-plus' label={<FormattedMessage id='onboarding.steps.follow_people.title' defaultMessage='Follow {count, plural, one {one person} other {# people}}' values={{ count: 7 }} />} description={<FormattedMessage id='onboarding.steps.follow_people.body' defaultMessage='You curate your own feed. Lets fill it with interesting people.' />} />
|
||||||
|
<Step onClick={this.handleComposeClick} completed={(account.get('statuses_count') * 1) >= 1} icon='pencil-square-o' label={<FormattedMessage id='onboarding.steps.publish_status.title' defaultMessage='Make your first post' />} description={<FormattedMessage id='onboarding.steps.publish_status.body' defaultMessage='Say hello to the world.' />} />
|
||||||
|
<Step onClick={this.handleShareClick} completed={shareClicked} icon='copy' label={<FormattedMessage id='onboarding.steps.share_profile.title' defaultMessage='Share your profile' />} description={<FormattedMessage id='onboarding.steps.share_profile.body' defaultMessage='Let your friends know how to find you on Mastodon!' />} />
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<p className='onboarding__lead'><FormattedMessage id='onboarding.start.skip' defaultMessage='Want to skip right ahead?' /></p>
|
||||||
|
|
||||||
|
<div className='onboarding__links'>
|
||||||
|
<Link to='/explore' className='onboarding__link'>
|
||||||
|
<ArrowSmallRight />
|
||||||
|
<FormattedMessage id='onboarding.actions.go_to_explore' defaultMessage="See what's trending" />
|
||||||
|
</Link>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div className='onboarding__footer'>
|
||||||
|
<button className='link-button' onClick={this.handleClose}><FormattedMessage id='onboarding.actions.close' defaultMessage="Don't show this screen again" /></button>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<Helmet>
|
||||||
|
<meta name='robots' content='noindex' />
|
||||||
|
</Helmet>
|
||||||
|
</Column>
|
||||||
|
);
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
export default connect(mapStateToProps)(Onboarding);
|
132
app/javascript/mastodon/features/onboarding/share.jsx
Normal file
132
app/javascript/mastodon/features/onboarding/share.jsx
Normal file
|
@ -0,0 +1,132 @@
|
||||||
|
import React from 'react';
|
||||||
|
import Column from 'mastodon/components/column';
|
||||||
|
import ColumnBackButton from 'mastodon/components/column_back_button';
|
||||||
|
import PropTypes from 'prop-types';
|
||||||
|
import { me, domain } from 'mastodon/initial_state';
|
||||||
|
import { connect } from 'react-redux';
|
||||||
|
import ImmutablePropTypes from 'react-immutable-proptypes';
|
||||||
|
import { defineMessages, injectIntl, FormattedMessage } from 'react-intl';
|
||||||
|
import classNames from 'classnames';
|
||||||
|
import Icon from 'mastodon/components/icon';
|
||||||
|
import ArrowSmallRight from './components/arrow_small_right';
|
||||||
|
import { Link } from 'react-router-dom';
|
||||||
|
|
||||||
|
const messages = defineMessages({
|
||||||
|
shareableMessage: { id: 'onboarding.share.message', defaultMessage: 'I\'m {username} on Mastodon! Come follow me at {url}' },
|
||||||
|
});
|
||||||
|
|
||||||
|
const mapStateToProps = state => ({
|
||||||
|
account: state.getIn(['accounts', me]),
|
||||||
|
});
|
||||||
|
|
||||||
|
class CopyPasteText extends React.PureComponent {
|
||||||
|
|
||||||
|
static propTypes = {
|
||||||
|
value: PropTypes.string,
|
||||||
|
};
|
||||||
|
|
||||||
|
state = {
|
||||||
|
copied: false,
|
||||||
|
focused: false,
|
||||||
|
};
|
||||||
|
|
||||||
|
setRef = c => {
|
||||||
|
this.input = c;
|
||||||
|
};
|
||||||
|
|
||||||
|
handleInputClick = () => {
|
||||||
|
this.setState({ copied: false });
|
||||||
|
this.input.focus();
|
||||||
|
this.input.select();
|
||||||
|
this.input.setSelectionRange(0, this.props.value.length);
|
||||||
|
};
|
||||||
|
|
||||||
|
handleButtonClick = e => {
|
||||||
|
e.stopPropagation();
|
||||||
|
|
||||||
|
const { value } = this.props;
|
||||||
|
navigator.clipboard.writeText(value);
|
||||||
|
this.input.blur();
|
||||||
|
this.setState({ copied: true });
|
||||||
|
this.timeout = setTimeout(() => this.setState({ copied: false }), 700);
|
||||||
|
};
|
||||||
|
|
||||||
|
handleFocus = () => {
|
||||||
|
this.setState({ focused: true });
|
||||||
|
};
|
||||||
|
|
||||||
|
handleBlur = () => {
|
||||||
|
this.setState({ focused: false });
|
||||||
|
};
|
||||||
|
|
||||||
|
componentWillUnmount () {
|
||||||
|
if (this.timeout) clearTimeout(this.timeout);
|
||||||
|
}
|
||||||
|
|
||||||
|
render () {
|
||||||
|
const { value } = this.props;
|
||||||
|
const { copied, focused } = this.state;
|
||||||
|
|
||||||
|
return (
|
||||||
|
<div className={classNames('copy-paste-text', { copied, focused })} tabIndex='0' role='button' onClick={this.handleInputClick}>
|
||||||
|
<textarea readOnly value={value} ref={this.setRef} onClick={this.handleInputClick} onFocus={this.handleFocus} onBlur={this.handleBlur} />
|
||||||
|
|
||||||
|
<button className='button' onClick={this.handleButtonClick}>
|
||||||
|
<Icon id='copy' /> {copied ? <FormattedMessage id='copypaste.copied' defaultMessage='Copied' /> : <FormattedMessage id='copypaste.copy_to_clipboard' defaultMessage='Copy to clipboard' />}
|
||||||
|
</button>
|
||||||
|
</div>
|
||||||
|
);
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
class Share extends React.PureComponent {
|
||||||
|
|
||||||
|
static propTypes = {
|
||||||
|
onBack: PropTypes.func,
|
||||||
|
account: ImmutablePropTypes.map,
|
||||||
|
intl: PropTypes.object,
|
||||||
|
};
|
||||||
|
|
||||||
|
render () {
|
||||||
|
const { onBack, account, intl } = this.props;
|
||||||
|
|
||||||
|
const url = (new URL(`/@${account.get('username')}`, document.baseURI)).href;
|
||||||
|
|
||||||
|
return (
|
||||||
|
<Column>
|
||||||
|
<ColumnBackButton onClick={onBack} />
|
||||||
|
|
||||||
|
<div className='scrollable privacy-policy'>
|
||||||
|
<div className='column-title'>
|
||||||
|
<h3><FormattedMessage id='onboarding.share.title' defaultMessage='Share your profile' /></h3>
|
||||||
|
<p><FormattedMessage id='onboarding.share.lead' defaultMessage='Let people know how they can find you on Mastodon!' /></p>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<CopyPasteText value={intl.formatMessage(messages.shareableMessage, { username: `@${account.get('username')}@${domain}`, url })} />
|
||||||
|
|
||||||
|
<p className='onboarding__lead'><FormattedMessage id='onboarding.share.next_steps' defaultMessage='Possible next steps:' /></p>
|
||||||
|
|
||||||
|
<div className='onboarding__links'>
|
||||||
|
<Link to='/home' className='onboarding__link'>
|
||||||
|
<ArrowSmallRight />
|
||||||
|
<FormattedMessage id='onboarding.actions.go_to_home' defaultMessage='Go to your home feed' />
|
||||||
|
</Link>
|
||||||
|
|
||||||
|
<Link to='/explore' className='onboarding__link'>
|
||||||
|
<ArrowSmallRight />
|
||||||
|
<FormattedMessage id='onboarding.actions.go_to_explore' defaultMessage="See what's trending" />
|
||||||
|
</Link>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div className='onboarding__footer'>
|
||||||
|
<button className='link-button' onClick={onBack}><FormattedMessage id='onboarding.action.back' defaultMessage='Take me back' /></button>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</Column>
|
||||||
|
);
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
export default connect(mapStateToProps)(injectIntl(Share));
|
|
@ -25,16 +25,6 @@ const getHostname = url => {
|
||||||
return parser.hostname;
|
return parser.hostname;
|
||||||
};
|
};
|
||||||
|
|
||||||
const trim = (text, len) => {
|
|
||||||
const cut = text.indexOf(' ', len);
|
|
||||||
|
|
||||||
if (cut === -1) {
|
|
||||||
return text;
|
|
||||||
}
|
|
||||||
|
|
||||||
return text.slice(0, cut) + (text.length > len ? '…' : '');
|
|
||||||
};
|
|
||||||
|
|
||||||
const domParser = new DOMParser();
|
const domParser = new DOMParser();
|
||||||
|
|
||||||
const addAutoPlay = html => {
|
const addAutoPlay = html => {
|
||||||
|
@ -62,7 +52,6 @@ export default class Card extends React.PureComponent {
|
||||||
|
|
||||||
static propTypes = {
|
static propTypes = {
|
||||||
card: ImmutablePropTypes.map,
|
card: ImmutablePropTypes.map,
|
||||||
maxDescription: PropTypes.number,
|
|
||||||
onOpenMedia: PropTypes.func.isRequired,
|
onOpenMedia: PropTypes.func.isRequired,
|
||||||
compact: PropTypes.bool,
|
compact: PropTypes.bool,
|
||||||
defaultWidth: PropTypes.number,
|
defaultWidth: PropTypes.number,
|
||||||
|
@ -71,7 +60,6 @@ export default class Card extends React.PureComponent {
|
||||||
};
|
};
|
||||||
|
|
||||||
static defaultProps = {
|
static defaultProps = {
|
||||||
maxDescription: 50,
|
|
||||||
compact: false,
|
compact: false,
|
||||||
};
|
};
|
||||||
|
|
||||||
|
@ -184,7 +172,7 @@ export default class Card extends React.PureComponent {
|
||||||
}
|
}
|
||||||
|
|
||||||
render () {
|
render () {
|
||||||
const { card, maxDescription, compact } = this.props;
|
const { card, compact } = this.props;
|
||||||
const { width, embedded, revealed } = this.state;
|
const { width, embedded, revealed } = this.state;
|
||||||
|
|
||||||
if (card === null) {
|
if (card === null) {
|
||||||
|
@ -203,7 +191,7 @@ export default class Card extends React.PureComponent {
|
||||||
const description = (
|
const description = (
|
||||||
<div className='status-card__content' lang={language}>
|
<div className='status-card__content' lang={language}>
|
||||||
{title}
|
{title}
|
||||||
{!(horizontal || compact) && <p className='status-card__description'>{trim(card.get('description') || '', maxDescription)}</p>}
|
{!(horizontal || compact) && <p className='status-card__description' title={card.get('description')}>{card.get('description')}</p>}
|
||||||
<span className='status-card__host'>{provider}</span>
|
<span className='status-card__host'>{provider}</span>
|
||||||
</div>
|
</div>
|
||||||
);
|
);
|
||||||
|
|
|
@ -71,7 +71,7 @@ const messages = defineMessages({
|
||||||
redraftMessage: { id: 'confirmations.redraft.message', defaultMessage: 'Are you sure you want to delete this status and re-draft it? Favourites and boosts will be lost, and replies to the original post will be orphaned.' },
|
redraftMessage: { id: 'confirmations.redraft.message', defaultMessage: 'Are you sure you want to delete this status and re-draft it? Favourites and boosts will be lost, and replies to the original post will be orphaned.' },
|
||||||
revealAll: { id: 'status.show_more_all', defaultMessage: 'Show more for all' },
|
revealAll: { id: 'status.show_more_all', defaultMessage: 'Show more for all' },
|
||||||
hideAll: { id: 'status.show_less_all', defaultMessage: 'Show less for all' },
|
hideAll: { id: 'status.show_less_all', defaultMessage: 'Show less for all' },
|
||||||
statusTitleWithAttachments: { id: 'status.title.with_attachments', defaultMessage: '{user} posted {attachmentCount, plural, one {an attachment} other {{attachmentCount} attachments}}' },
|
statusTitleWithAttachments: { id: 'status.title.with_attachments', defaultMessage: '{user} posted {attachmentCount, plural, one {an attachment} other {# attachments}}' },
|
||||||
detailedStatus: { id: 'status.detailed_status', defaultMessage: 'Detailed conversation view' },
|
detailedStatus: { id: 'status.detailed_status', defaultMessage: 'Detailed conversation view' },
|
||||||
replyConfirm: { id: 'confirmations.reply.confirm', defaultMessage: 'Reply' },
|
replyConfirm: { id: 'confirmations.reply.confirm', defaultMessage: 'Reply' },
|
||||||
replyMessage: { id: 'confirmations.reply.message', defaultMessage: 'Replying now will overwrite the message you are currently composing. Are you sure you want to proceed?' },
|
replyMessage: { id: 'confirmations.reply.message', defaultMessage: 'Replying now will overwrite the message you are currently composing. Are you sure you want to proceed?' },
|
||||||
|
@ -551,14 +551,19 @@ class Status extends ImmutablePureComponent {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
renderChildren (list) {
|
renderChildren (list, ancestors) {
|
||||||
return list.map(id => (
|
const { params: { statusId } } = this.props;
|
||||||
|
|
||||||
|
return list.map((id, i) => (
|
||||||
<StatusContainer
|
<StatusContainer
|
||||||
key={id}
|
key={id}
|
||||||
id={id}
|
id={id}
|
||||||
onMoveUp={this.handleMoveUp}
|
onMoveUp={this.handleMoveUp}
|
||||||
onMoveDown={this.handleMoveDown}
|
onMoveDown={this.handleMoveDown}
|
||||||
contextType='thread'
|
contextType='thread'
|
||||||
|
previousId={i > 0 && list.get(i - 1)}
|
||||||
|
nextId={list.get(i + 1) || (ancestors && statusId)}
|
||||||
|
rootId={statusId}
|
||||||
/>
|
/>
|
||||||
));
|
));
|
||||||
}
|
}
|
||||||
|
@ -612,7 +617,7 @@ class Status extends ImmutablePureComponent {
|
||||||
}
|
}
|
||||||
|
|
||||||
if (ancestorsIds && ancestorsIds.size > 0) {
|
if (ancestorsIds && ancestorsIds.size > 0) {
|
||||||
ancestors = <>{this.renderChildren(ancestorsIds)}</>;
|
ancestors = <>{this.renderChildren(ancestorsIds, true)}</>;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (descendantsIds && descendantsIds.size > 0) {
|
if (descendantsIds && descendantsIds.size > 0) {
|
||||||
|
|
|
@ -53,12 +53,12 @@ import {
|
||||||
Lists,
|
Lists,
|
||||||
Directory,
|
Directory,
|
||||||
Explore,
|
Explore,
|
||||||
FollowRecommendations,
|
Onboarding,
|
||||||
About,
|
About,
|
||||||
PrivacyPolicy,
|
PrivacyPolicy,
|
||||||
} from './util/async-components';
|
} from './util/async-components';
|
||||||
import initialState, { me, owner, singleUserMode, showTrends, trendsAsLanding } from '../../initial_state';
|
import initialState, { me, owner, singleUserMode, showTrends, trendsAsLanding } from '../../initial_state';
|
||||||
import { closeOnboarding, INTRODUCTION_VERSION } from 'mastodon/actions/onboarding';
|
import { INTRODUCTION_VERSION } from 'mastodon/actions/onboarding';
|
||||||
import Header from './components/header';
|
import Header from './components/header';
|
||||||
|
|
||||||
// Dummy import, to make sure that <Status /> ends up in the application bundle.
|
// Dummy import, to make sure that <Status /> ends up in the application bundle.
|
||||||
|
@ -196,7 +196,7 @@ class SwitchingColumnsArea extends React.PureComponent {
|
||||||
<WrappedRoute path='/bookmarks' component={BookmarkedStatuses} content={children} />
|
<WrappedRoute path='/bookmarks' component={BookmarkedStatuses} content={children} />
|
||||||
<WrappedRoute path='/pinned' component={PinnedStatuses} content={children} />
|
<WrappedRoute path='/pinned' component={PinnedStatuses} content={children} />
|
||||||
|
|
||||||
<WrappedRoute path='/start' component={FollowRecommendations} content={children} />
|
<WrappedRoute path='/start' exact component={Onboarding} content={children} />
|
||||||
<WrappedRoute path='/directory' component={Directory} content={children} />
|
<WrappedRoute path='/directory' component={Directory} content={children} />
|
||||||
<WrappedRoute path={['/explore', '/search']} component={Explore} content={children} />
|
<WrappedRoute path={['/explore', '/search']} component={Explore} content={children} />
|
||||||
<WrappedRoute path={['/publish', '/statuses/new']} component={Compose} content={children} />
|
<WrappedRoute path={['/publish', '/statuses/new']} component={Compose} content={children} />
|
||||||
|
@ -395,7 +395,6 @@ class UI extends React.PureComponent {
|
||||||
// On first launch, redirect to the follow recommendations page
|
// On first launch, redirect to the follow recommendations page
|
||||||
if (signedIn && this.props.firstLaunch) {
|
if (signedIn && this.props.firstLaunch) {
|
||||||
this.context.router.history.replace('/start');
|
this.context.router.history.replace('/start');
|
||||||
this.props.dispatch(closeOnboarding());
|
|
||||||
}
|
}
|
||||||
|
|
||||||
if (signedIn) {
|
if (signedIn) {
|
||||||
|
|
|
@ -162,8 +162,8 @@ export function Directory () {
|
||||||
return import(/* webpackChunkName: "features/directory" */'../../directory');
|
return import(/* webpackChunkName: "features/directory" */'../../directory');
|
||||||
}
|
}
|
||||||
|
|
||||||
export function FollowRecommendations () {
|
export function Onboarding () {
|
||||||
return import(/* webpackChunkName: "features/follow_recommendations" */'../../follow_recommendations');
|
return import(/* webpackChunkName: "features/onboarding" */'../../onboarding');
|
||||||
}
|
}
|
||||||
|
|
||||||
export function CompareHistoryModal () {
|
export function CompareHistoryModal () {
|
||||||
|
|
|
@ -39,6 +39,7 @@
|
||||||
"account.follows_you": "Volg jou",
|
"account.follows_you": "Volg jou",
|
||||||
"account.go_to_profile": "Gaan na profiel",
|
"account.go_to_profile": "Gaan na profiel",
|
||||||
"account.hide_reblogs": "Versteek plasings wat deur @{name} aangestuur is",
|
"account.hide_reblogs": "Versteek plasings wat deur @{name} aangestuur is",
|
||||||
|
"account.in_memoriam": "In Memoriam.",
|
||||||
"account.joined_short": "Aangesluit",
|
"account.joined_short": "Aangesluit",
|
||||||
"account.languages": "Change subscribed languages",
|
"account.languages": "Change subscribed languages",
|
||||||
"account.link_verified_on": "Eienaarskap van hierdie skakel is nagegaan op {date}",
|
"account.link_verified_on": "Eienaarskap van hierdie skakel is nagegaan op {date}",
|
||||||
|
@ -442,6 +443,8 @@
|
||||||
"notifications_permission_banner.enable": "Enable desktop notifications",
|
"notifications_permission_banner.enable": "Enable desktop notifications",
|
||||||
"notifications_permission_banner.how_to_control": "To receive notifications when Mastodon isn't open, enable desktop notifications. You can control precisely which types of interactions generate desktop notifications through the {icon} button above once they're enabled.",
|
"notifications_permission_banner.how_to_control": "To receive notifications when Mastodon isn't open, enable desktop notifications. You can control precisely which types of interactions generate desktop notifications through the {icon} button above once they're enabled.",
|
||||||
"notifications_permission_banner.title": "Never miss a thing",
|
"notifications_permission_banner.title": "Never miss a thing",
|
||||||
|
"password_confirmation.exceeds_maxlength": "Password confirmation exceeds the maximum password length",
|
||||||
|
"password_confirmation.mismatching": "Password confirmation does not match",
|
||||||
"picture_in_picture.restore": "Put it back",
|
"picture_in_picture.restore": "Put it back",
|
||||||
"poll.closed": "Closed",
|
"poll.closed": "Closed",
|
||||||
"poll.refresh": "Refresh",
|
"poll.refresh": "Refresh",
|
||||||
|
@ -597,6 +600,7 @@
|
||||||
"status.show_more": "Show more",
|
"status.show_more": "Show more",
|
||||||
"status.show_more_all": "Show more for all",
|
"status.show_more_all": "Show more for all",
|
||||||
"status.show_original": "Show original",
|
"status.show_original": "Show original",
|
||||||
|
"status.title.with_attachments": "{user} posted {attachmentCount, plural, one {an attachment} other {{attachmentCount} attachments}}",
|
||||||
"status.translate": "Vertaal",
|
"status.translate": "Vertaal",
|
||||||
"status.translated_from_with": "Uit {lang} vertaal deur {provider}",
|
"status.translated_from_with": "Uit {lang} vertaal deur {provider}",
|
||||||
"status.uncached_media_warning": "Not available",
|
"status.uncached_media_warning": "Not available",
|
||||||
|
@ -649,6 +653,7 @@
|
||||||
"upload_modal.preview_label": "Preview ({ratio})",
|
"upload_modal.preview_label": "Preview ({ratio})",
|
||||||
"upload_progress.label": "Uploading…",
|
"upload_progress.label": "Uploading…",
|
||||||
"upload_progress.processing": "Processing…",
|
"upload_progress.processing": "Processing…",
|
||||||
|
"username.taken": "That username is taken. Try another",
|
||||||
"video.close": "Close video",
|
"video.close": "Close video",
|
||||||
"video.download": "Download file",
|
"video.download": "Download file",
|
||||||
"video.exit_fullscreen": "Exit full screen",
|
"video.exit_fullscreen": "Exit full screen",
|
||||||
|
|
|
@ -39,6 +39,7 @@
|
||||||
"account.follows_you": "Te sigue",
|
"account.follows_you": "Te sigue",
|
||||||
"account.go_to_profile": "Ir ta lo perfil",
|
"account.go_to_profile": "Ir ta lo perfil",
|
||||||
"account.hide_reblogs": "Amagar retutz de @{name}",
|
"account.hide_reblogs": "Amagar retutz de @{name}",
|
||||||
|
"account.in_memoriam": "In Memoriam.",
|
||||||
"account.joined_short": "S'unió",
|
"account.joined_short": "S'unió",
|
||||||
"account.languages": "Cambiar idiomas suscritos",
|
"account.languages": "Cambiar idiomas suscritos",
|
||||||
"account.link_verified_on": "Lo proprietario d'este link estió comprebau lo {date}",
|
"account.link_verified_on": "Lo proprietario d'este link estió comprebau lo {date}",
|
||||||
|
@ -442,6 +443,8 @@
|
||||||
"notifications_permission_banner.enable": "Habilitar notificacions d'escritorio",
|
"notifications_permission_banner.enable": "Habilitar notificacions d'escritorio",
|
||||||
"notifications_permission_banner.how_to_control": "Pa recibir notificacions quan Mastodon no sía ubierto, habilite las notificacions d'escritorio. Puetz controlar con precisión qué tipos d'interaccions cheneran notificacions d'escritorio a traviés d'o botón {icon} d'alto una vegada que sían habilitadas.",
|
"notifications_permission_banner.how_to_control": "Pa recibir notificacions quan Mastodon no sía ubierto, habilite las notificacions d'escritorio. Puetz controlar con precisión qué tipos d'interaccions cheneran notificacions d'escritorio a traviés d'o botón {icon} d'alto una vegada que sían habilitadas.",
|
||||||
"notifications_permission_banner.title": "Nunca te pierdas cosa",
|
"notifications_permission_banner.title": "Nunca te pierdas cosa",
|
||||||
|
"password_confirmation.exceeds_maxlength": "Password confirmation exceeds the maximum password length",
|
||||||
|
"password_confirmation.mismatching": "Password confirmation does not match",
|
||||||
"picture_in_picture.restore": "Restaurar",
|
"picture_in_picture.restore": "Restaurar",
|
||||||
"poll.closed": "Zarrada",
|
"poll.closed": "Zarrada",
|
||||||
"poll.refresh": "Actualizar",
|
"poll.refresh": "Actualizar",
|
||||||
|
@ -597,6 +600,7 @@
|
||||||
"status.show_more": "Amostrar mas",
|
"status.show_more": "Amostrar mas",
|
||||||
"status.show_more_all": "Amostrar mas pa tot",
|
"status.show_more_all": "Amostrar mas pa tot",
|
||||||
"status.show_original": "Amostrar orichinal",
|
"status.show_original": "Amostrar orichinal",
|
||||||
|
"status.title.with_attachments": "{user} posted {attachmentCount, plural, one {an attachment} other {{attachmentCount} attachments}}",
|
||||||
"status.translate": "Traducir",
|
"status.translate": "Traducir",
|
||||||
"status.translated_from_with": "Traduciu de {lang} usando {provider}",
|
"status.translated_from_with": "Traduciu de {lang} usando {provider}",
|
||||||
"status.uncached_media_warning": "No disponible",
|
"status.uncached_media_warning": "No disponible",
|
||||||
|
@ -649,6 +653,7 @@
|
||||||
"upload_modal.preview_label": "Vista previa ({ratio})",
|
"upload_modal.preview_label": "Vista previa ({ratio})",
|
||||||
"upload_progress.label": "Puyando...",
|
"upload_progress.label": "Puyando...",
|
||||||
"upload_progress.processing": "Procesando…",
|
"upload_progress.processing": "Procesando…",
|
||||||
|
"username.taken": "That username is taken. Try another",
|
||||||
"video.close": "Zarrar video",
|
"video.close": "Zarrar video",
|
||||||
"video.download": "Descargar fichero",
|
"video.download": "Descargar fichero",
|
||||||
"video.exit_fullscreen": "Salir de pantalla completa",
|
"video.exit_fullscreen": "Salir de pantalla completa",
|
||||||
|
|
|
@ -20,7 +20,7 @@
|
||||||
"account.blocked": "محظور",
|
"account.blocked": "محظور",
|
||||||
"account.browse_more_on_origin_server": "تصفح المزيد في الملف الشخصي الأصلي",
|
"account.browse_more_on_origin_server": "تصفح المزيد في الملف الشخصي الأصلي",
|
||||||
"account.cancel_follow_request": "إلغاء طلب المتابعة",
|
"account.cancel_follow_request": "إلغاء طلب المتابعة",
|
||||||
"account.direct": "Privately mention @{name}",
|
"account.direct": "إشارة خاصة لـ @{name}",
|
||||||
"account.disable_notifications": "توقف عن إشعاري عندما ينشر @{name}",
|
"account.disable_notifications": "توقف عن إشعاري عندما ينشر @{name}",
|
||||||
"account.domain_blocked": "اسم النِّطاق محظور",
|
"account.domain_blocked": "اسم النِّطاق محظور",
|
||||||
"account.edit_profile": "تعديل الملف الشخصي",
|
"account.edit_profile": "تعديل الملف الشخصي",
|
||||||
|
@ -39,6 +39,7 @@
|
||||||
"account.follows_you": "يُتابِعُك",
|
"account.follows_you": "يُتابِعُك",
|
||||||
"account.go_to_profile": "اذهب إلى الملف الشخصي",
|
"account.go_to_profile": "اذهب إلى الملف الشخصي",
|
||||||
"account.hide_reblogs": "إخفاء مشاركات @{name}",
|
"account.hide_reblogs": "إخفاء مشاركات @{name}",
|
||||||
|
"account.in_memoriam": "في الذكرى.",
|
||||||
"account.joined_short": "انضم في",
|
"account.joined_short": "انضم في",
|
||||||
"account.languages": "تغيير اللغات المشترَك فيها",
|
"account.languages": "تغيير اللغات المشترَك فيها",
|
||||||
"account.link_verified_on": "تمَّ التَّحقق مِن مِلْكيّة هذا الرابط بتاريخ {date}",
|
"account.link_verified_on": "تمَّ التَّحقق مِن مِلْكيّة هذا الرابط بتاريخ {date}",
|
||||||
|
@ -442,6 +443,8 @@
|
||||||
"notifications_permission_banner.enable": "تفعيل إشعارات سطح المكتب",
|
"notifications_permission_banner.enable": "تفعيل إشعارات سطح المكتب",
|
||||||
"notifications_permission_banner.how_to_control": "لتلقي الإشعارات عندما لا يكون ماستدون مفتوح، قم بتفعيل إشعارات سطح المكتب، يمكنك التحكم بدقة في أنواع التفاعلات التي تولد إشعارات سطح المكتب من خلال زر الـ{icon} أعلاه بمجرد تفعيلها.",
|
"notifications_permission_banner.how_to_control": "لتلقي الإشعارات عندما لا يكون ماستدون مفتوح، قم بتفعيل إشعارات سطح المكتب، يمكنك التحكم بدقة في أنواع التفاعلات التي تولد إشعارات سطح المكتب من خلال زر الـ{icon} أعلاه بمجرد تفعيلها.",
|
||||||
"notifications_permission_banner.title": "لا تفوت شيئاً أبداً",
|
"notifications_permission_banner.title": "لا تفوت شيئاً أبداً",
|
||||||
|
"password_confirmation.exceeds_maxlength": "Password confirmation exceeds the maximum password length",
|
||||||
|
"password_confirmation.mismatching": "Password confirmation does not match",
|
||||||
"picture_in_picture.restore": "ضعها مرة أخرى",
|
"picture_in_picture.restore": "ضعها مرة أخرى",
|
||||||
"poll.closed": "انتهى",
|
"poll.closed": "انتهى",
|
||||||
"poll.refresh": "تحديث",
|
"poll.refresh": "تحديث",
|
||||||
|
@ -557,8 +560,8 @@
|
||||||
"status.copy": "انسخ رابط الرسالة",
|
"status.copy": "انسخ رابط الرسالة",
|
||||||
"status.delete": "احذف",
|
"status.delete": "احذف",
|
||||||
"status.detailed_status": "تفاصيل المحادثة",
|
"status.detailed_status": "تفاصيل المحادثة",
|
||||||
"status.direct": "Privately mention @{name}",
|
"status.direct": "إشارة خاصة لـ @{name}",
|
||||||
"status.direct_indicator": "Private mention",
|
"status.direct_indicator": "إشارة خاصة",
|
||||||
"status.edit": "تعديل",
|
"status.edit": "تعديل",
|
||||||
"status.edited": "عُدّل في {date}",
|
"status.edited": "عُدّل في {date}",
|
||||||
"status.edited_x_times": "عُدّل {count, plural, zero {} one {مرةً واحدة} two {مرّتان} few {{count} مرات} many {{count} مرة} other {{count} مرة}}",
|
"status.edited_x_times": "عُدّل {count, plural, zero {} one {مرةً واحدة} two {مرّتان} few {{count} مرات} many {{count} مرة} other {{count} مرة}}",
|
||||||
|
@ -597,6 +600,7 @@
|
||||||
"status.show_more": "أظهر المزيد",
|
"status.show_more": "أظهر المزيد",
|
||||||
"status.show_more_all": "توسيع الكل",
|
"status.show_more_all": "توسيع الكل",
|
||||||
"status.show_original": "إظهار الأصل",
|
"status.show_original": "إظهار الأصل",
|
||||||
|
"status.title.with_attachments": "{user} posted {attachmentCount, plural, one {an attachment} other {{attachmentCount} attachments}}",
|
||||||
"status.translate": "ترجم",
|
"status.translate": "ترجم",
|
||||||
"status.translated_from_with": "مترجم من {lang} باستخدام {provider}",
|
"status.translated_from_with": "مترجم من {lang} باستخدام {provider}",
|
||||||
"status.uncached_media_warning": "غير متوفر",
|
"status.uncached_media_warning": "غير متوفر",
|
||||||
|
@ -649,6 +653,7 @@
|
||||||
"upload_modal.preview_label": "معاينة ({ratio})",
|
"upload_modal.preview_label": "معاينة ({ratio})",
|
||||||
"upload_progress.label": "يرفع...",
|
"upload_progress.label": "يرفع...",
|
||||||
"upload_progress.processing": "تتم المعالجة…",
|
"upload_progress.processing": "تتم المعالجة…",
|
||||||
|
"username.taken": "اسم المستخدم هذا مأخوذ. الرجاء محاولة اسم اخر",
|
||||||
"video.close": "إغلاق الفيديو",
|
"video.close": "إغلاق الفيديو",
|
||||||
"video.download": "تنزيل الملف",
|
"video.download": "تنزيل الملف",
|
||||||
"video.exit_fullscreen": "الخروج من وضع الشاشة المليئة",
|
"video.exit_fullscreen": "الخروج من وضع الشاشة المليئة",
|
||||||
|
|
|
@ -39,6 +39,7 @@
|
||||||
"account.follows_you": "Síguete",
|
"account.follows_you": "Síguete",
|
||||||
"account.go_to_profile": "Go to profile",
|
"account.go_to_profile": "Go to profile",
|
||||||
"account.hide_reblogs": "Anubrir los artículos compartíos de @{name}",
|
"account.hide_reblogs": "Anubrir los artículos compartíos de @{name}",
|
||||||
|
"account.in_memoriam": "N'alcordanza.",
|
||||||
"account.joined_short": "Data de xunión",
|
"account.joined_short": "Data de xunión",
|
||||||
"account.languages": "Change subscribed languages",
|
"account.languages": "Change subscribed languages",
|
||||||
"account.link_verified_on": "Ownership of this link was checked on {date}",
|
"account.link_verified_on": "Ownership of this link was checked on {date}",
|
||||||
|
@ -442,6 +443,8 @@
|
||||||
"notifications_permission_banner.enable": "Enable desktop notifications",
|
"notifications_permission_banner.enable": "Enable desktop notifications",
|
||||||
"notifications_permission_banner.how_to_control": "To receive notifications when Mastodon isn't open, enable desktop notifications. You can control precisely which types of interactions generate desktop notifications through the {icon} button above once they're enabled.",
|
"notifications_permission_banner.how_to_control": "To receive notifications when Mastodon isn't open, enable desktop notifications. You can control precisely which types of interactions generate desktop notifications through the {icon} button above once they're enabled.",
|
||||||
"notifications_permission_banner.title": "Never miss a thing",
|
"notifications_permission_banner.title": "Never miss a thing",
|
||||||
|
"password_confirmation.exceeds_maxlength": "La contraseña de confirmación supera la llongura de caráuteres máxima",
|
||||||
|
"password_confirmation.mismatching": "La contraseña de confirmación nun concasa",
|
||||||
"picture_in_picture.restore": "Put it back",
|
"picture_in_picture.restore": "Put it back",
|
||||||
"poll.closed": "Finó",
|
"poll.closed": "Finó",
|
||||||
"poll.refresh": "Anovar",
|
"poll.refresh": "Anovar",
|
||||||
|
@ -597,6 +600,7 @@
|
||||||
"status.show_more": "Amosar más",
|
"status.show_more": "Amosar más",
|
||||||
"status.show_more_all": "Show more for all",
|
"status.show_more_all": "Show more for all",
|
||||||
"status.show_original": "Amosar l'orixinal",
|
"status.show_original": "Amosar l'orixinal",
|
||||||
|
"status.title.with_attachments": "{user} posted {attachmentCount, plural, one {an attachment} other {{attachmentCount} attachments}}",
|
||||||
"status.translate": "Traducir",
|
"status.translate": "Traducir",
|
||||||
"status.translated_from_with": "Tradúxose del {lang} con {provider}",
|
"status.translated_from_with": "Tradúxose del {lang} con {provider}",
|
||||||
"status.uncached_media_warning": "El conteníu nun ta disponible",
|
"status.uncached_media_warning": "El conteníu nun ta disponible",
|
||||||
|
@ -649,6 +653,7 @@
|
||||||
"upload_modal.preview_label": "Preview ({ratio})",
|
"upload_modal.preview_label": "Preview ({ratio})",
|
||||||
"upload_progress.label": "Xubiendo…",
|
"upload_progress.label": "Xubiendo…",
|
||||||
"upload_progress.processing": "Procesando…",
|
"upload_progress.processing": "Procesando…",
|
||||||
|
"username.taken": "That username is taken. Try another",
|
||||||
"video.close": "Zarrar el videu",
|
"video.close": "Zarrar el videu",
|
||||||
"video.download": "Baxar el ficheru",
|
"video.download": "Baxar el ficheru",
|
||||||
"video.exit_fullscreen": "Exit full screen",
|
"video.exit_fullscreen": "Exit full screen",
|
||||||
|
|
|
@ -39,6 +39,7 @@
|
||||||
"account.follows_you": "Падпісаны на вас",
|
"account.follows_you": "Падпісаны на вас",
|
||||||
"account.go_to_profile": "Перайсці да профілю",
|
"account.go_to_profile": "Перайсці да профілю",
|
||||||
"account.hide_reblogs": "Схаваць пашырэнні ад @{name}",
|
"account.hide_reblogs": "Схаваць пашырэнні ад @{name}",
|
||||||
|
"account.in_memoriam": "У памяць.",
|
||||||
"account.joined_short": "Далучыўся",
|
"account.joined_short": "Далучыўся",
|
||||||
"account.languages": "Змяніць выбраныя мовы",
|
"account.languages": "Змяніць выбраныя мовы",
|
||||||
"account.link_verified_on": "Права ўласнасці на гэтую спасылку праверана {date}",
|
"account.link_verified_on": "Права ўласнасці на гэтую спасылку праверана {date}",
|
||||||
|
@ -442,6 +443,8 @@
|
||||||
"notifications_permission_banner.enable": "Уключыць апавяшчэнні на працоўным стале",
|
"notifications_permission_banner.enable": "Уключыць апавяшчэнні на працоўным стале",
|
||||||
"notifications_permission_banner.how_to_control": "Каб атрымліваць апавяшчэнні, калі Mastodon не адкрыты, уключыце апавяшчэнні працоўнага стала. Вы зможаце дакладна кантраляваць, якія падзеі будуць ствараць апавяшчэнні з дапамогай {icon} кнопкі, як толькі яны будуць уключаны.",
|
"notifications_permission_banner.how_to_control": "Каб атрымліваць апавяшчэнні, калі Mastodon не адкрыты, уключыце апавяшчэнні працоўнага стала. Вы зможаце дакладна кантраляваць, якія падзеі будуць ствараць апавяшчэнні з дапамогай {icon} кнопкі, як толькі яны будуць уключаны.",
|
||||||
"notifications_permission_banner.title": "Не прапусціце нічога",
|
"notifications_permission_banner.title": "Не прапусціце нічога",
|
||||||
|
"password_confirmation.exceeds_maxlength": "Пароль пацьверджання перавышае максімальна дапушчальную даўжыню",
|
||||||
|
"password_confirmation.mismatching": "Пароль пацьверджання не супадае",
|
||||||
"picture_in_picture.restore": "Вярніце назад",
|
"picture_in_picture.restore": "Вярніце назад",
|
||||||
"poll.closed": "Закрыта",
|
"poll.closed": "Закрыта",
|
||||||
"poll.refresh": "Абнавіць",
|
"poll.refresh": "Абнавіць",
|
||||||
|
@ -597,6 +600,7 @@
|
||||||
"status.show_more": "Паказаць болей",
|
"status.show_more": "Паказаць болей",
|
||||||
"status.show_more_all": "Разгарнуць усё",
|
"status.show_more_all": "Разгарнуць усё",
|
||||||
"status.show_original": "Паказаць арыгінал",
|
"status.show_original": "Паказаць арыгінал",
|
||||||
|
"status.title.with_attachments": "{user} апублікаваў {attachmentCount, plural, one {укладанне} other {{attachmentCount} укладанні}}",
|
||||||
"status.translate": "Перакласці",
|
"status.translate": "Перакласці",
|
||||||
"status.translated_from_with": "Перакладзена з {lang} з дапамогай {provider}",
|
"status.translated_from_with": "Перакладзена з {lang} з дапамогай {provider}",
|
||||||
"status.uncached_media_warning": "Недаступна",
|
"status.uncached_media_warning": "Недаступна",
|
||||||
|
@ -649,6 +653,7 @@
|
||||||
"upload_modal.preview_label": "Перадпрагляд ({ratio})",
|
"upload_modal.preview_label": "Перадпрагляд ({ratio})",
|
||||||
"upload_progress.label": "Запампоўванне...",
|
"upload_progress.label": "Запампоўванне...",
|
||||||
"upload_progress.processing": "Апрацоўка…",
|
"upload_progress.processing": "Апрацоўка…",
|
||||||
|
"username.taken": "Гэта імя карыстальніка занята. Паспрабуйце іншае",
|
||||||
"video.close": "Закрыць відэа",
|
"video.close": "Закрыць відэа",
|
||||||
"video.download": "Спампаваць файл",
|
"video.download": "Спампаваць файл",
|
||||||
"video.exit_fullscreen": "Выйсці з поўнаэкраннага рэжыму",
|
"video.exit_fullscreen": "Выйсці з поўнаэкраннага рэжыму",
|
||||||
|
|
|
@ -24,7 +24,7 @@
|
||||||
"account.disable_notifications": "Сприране на известия при публикуване от @{name}",
|
"account.disable_notifications": "Сприране на известия при публикуване от @{name}",
|
||||||
"account.domain_blocked": "Блокиран домейн",
|
"account.domain_blocked": "Блокиран домейн",
|
||||||
"account.edit_profile": "Редактиране на профила",
|
"account.edit_profile": "Редактиране на профила",
|
||||||
"account.enable_notifications": "Известявайте ме при публикация от {name}",
|
"account.enable_notifications": "Известяване при публикуване от @{name}",
|
||||||
"account.endorse": "Характеристика на профила",
|
"account.endorse": "Характеристика на профила",
|
||||||
"account.featured_tags.last_status_at": "Последна публикация на {date}",
|
"account.featured_tags.last_status_at": "Последна публикация на {date}",
|
||||||
"account.featured_tags.last_status_never": "Няма публикации",
|
"account.featured_tags.last_status_never": "Няма публикации",
|
||||||
|
@ -33,12 +33,13 @@
|
||||||
"account.followers": "Последователи",
|
"account.followers": "Последователи",
|
||||||
"account.followers.empty": "Още никой не следва потребителя.",
|
"account.followers.empty": "Още никой не следва потребителя.",
|
||||||
"account.followers_counter": "{count, plural, one {{counter} последовател} other {{counter} последователи}}",
|
"account.followers_counter": "{count, plural, one {{counter} последовател} other {{counter} последователи}}",
|
||||||
"account.following": "Последвани",
|
"account.following": "Последвано",
|
||||||
"account.following_counter": "{count, plural, one {{counter} последван} other {{counter} последвани}}",
|
"account.following_counter": "{count, plural, one {{counter} последван} other {{counter} последвани}}",
|
||||||
"account.follows.empty": "Потребителят още никого не следва.",
|
"account.follows.empty": "Потребителят още никого не следва.",
|
||||||
"account.follows_you": "Следва ви",
|
"account.follows_you": "Следва ви",
|
||||||
"account.go_to_profile": "Към профила",
|
"account.go_to_profile": "Към профила",
|
||||||
"account.hide_reblogs": "Скриване на подсилвания от @{name}",
|
"account.hide_reblogs": "Скриване на подсилвания от @{name}",
|
||||||
|
"account.in_memoriam": "В памет на.",
|
||||||
"account.joined_short": "Дата на присъединяване",
|
"account.joined_short": "Дата на присъединяване",
|
||||||
"account.languages": "Промяна на езиците, за които сте абонирани",
|
"account.languages": "Промяна на езиците, за които сте абонирани",
|
||||||
"account.link_verified_on": "Собствеността върху тази връзка е проверена на {date}",
|
"account.link_verified_on": "Собствеността върху тази връзка е проверена на {date}",
|
||||||
|
@ -145,7 +146,7 @@
|
||||||
"compose_form.sensitive.hide": "{count, plural, one {Маркиране на мултимедията като деликатна} other {Маркиране на мултимедиите като деликатни}}",
|
"compose_form.sensitive.hide": "{count, plural, one {Маркиране на мултимедията като деликатна} other {Маркиране на мултимедиите като деликатни}}",
|
||||||
"compose_form.sensitive.marked": "{count, plural, one {мултимедия е означена като деликатна} other {мултимедии са означени като деликатни}}",
|
"compose_form.sensitive.marked": "{count, plural, one {мултимедия е означена като деликатна} other {мултимедии са означени като деликатни}}",
|
||||||
"compose_form.sensitive.unmarked": "{count, plural, one {Мултимедията не е маркирана като деликатна} other {Мултимедиите не са маркирани като деликатни}}",
|
"compose_form.sensitive.unmarked": "{count, plural, one {Мултимедията не е маркирана като деликатна} other {Мултимедиите не са маркирани като деликатни}}",
|
||||||
"compose_form.spoiler.marked": "Премахване на предупреждението за съдържание",
|
"compose_form.spoiler.marked": "Отстраняване на предупреждение за съдържание",
|
||||||
"compose_form.spoiler.unmarked": "Добавяне на предупреждение за съдържание",
|
"compose_form.spoiler.unmarked": "Добавяне на предупреждение за съдържание",
|
||||||
"compose_form.spoiler_placeholder": "Тук напишете предупреждението си",
|
"compose_form.spoiler_placeholder": "Тук напишете предупреждението си",
|
||||||
"confirmation_modal.cancel": "Отказ",
|
"confirmation_modal.cancel": "Отказ",
|
||||||
|
@ -153,11 +154,11 @@
|
||||||
"confirmations.block.confirm": "Блокиране",
|
"confirmations.block.confirm": "Блокиране",
|
||||||
"confirmations.block.message": "Наистина ли искате да блокирате {name}?",
|
"confirmations.block.message": "Наистина ли искате да блокирате {name}?",
|
||||||
"confirmations.cancel_follow_request.confirm": "Оттегляне на заявката",
|
"confirmations.cancel_follow_request.confirm": "Оттегляне на заявката",
|
||||||
"confirmations.cancel_follow_request.message": "Наистина ли искате да оттеглите заявката си да последвате {name}?",
|
"confirmations.cancel_follow_request.message": "Наистина ли искате да оттеглите заявката си за последване на {name}?",
|
||||||
"confirmations.delete.confirm": "Изтриване",
|
"confirmations.delete.confirm": "Изтриване",
|
||||||
"confirmations.delete.message": "Наистина ли искате да изтриете публикацията?",
|
"confirmations.delete.message": "Наистина ли искате да изтриете публикацията?",
|
||||||
"confirmations.delete_list.confirm": "Изтриване",
|
"confirmations.delete_list.confirm": "Изтриване",
|
||||||
"confirmations.delete_list.message": "Наистина ли искате да изтриете завинаги този списък?",
|
"confirmations.delete_list.message": "Наистина ли искате да изтриете завинаги списъка?",
|
||||||
"confirmations.discard_edit_media.confirm": "Отхвърляне",
|
"confirmations.discard_edit_media.confirm": "Отхвърляне",
|
||||||
"confirmations.discard_edit_media.message": "Не сте запазили промени на описанието или огледа на мултимедията, отхвърляте ли ги?",
|
"confirmations.discard_edit_media.message": "Не сте запазили промени на описанието или огледа на мултимедията, отхвърляте ли ги?",
|
||||||
"confirmations.domain_block.confirm": "Блокиране на целия домейн",
|
"confirmations.domain_block.confirm": "Блокиране на целия домейн",
|
||||||
|
@ -192,7 +193,7 @@
|
||||||
"dismissable_banner.explore_links": "Тези новини се разказват от хората в този и други сървъри на децентрализираната мрежа точно сега.",
|
"dismissable_banner.explore_links": "Тези новини се разказват от хората в този и други сървъри на децентрализираната мрежа точно сега.",
|
||||||
"dismissable_banner.explore_statuses": "Тези публикации от този и други сървъри в децентрализираната мрежа набират популярност сега на този сървър.",
|
"dismissable_banner.explore_statuses": "Тези публикации от този и други сървъри в децентрализираната мрежа набират популярност сега на този сървър.",
|
||||||
"dismissable_banner.explore_tags": "Тези хаштагове сега набират популярност сред хората в този и други сървъри на децентрализирата мрежа.",
|
"dismissable_banner.explore_tags": "Тези хаштагове сега набират популярност сред хората в този и други сървъри на децентрализирата мрежа.",
|
||||||
"dismissable_banner.public_timeline": "Това са най-скорошните публични публикации, създадени на този сървър, както и на други сървъри на децентрализираната мрежа, за които този сървър знае.",
|
"dismissable_banner.public_timeline": "Ето най-скорошните обществени публикации от хора в този и други сървъри на децентрализираната мрежа, за които този сървър знае.",
|
||||||
"embed.instructions": "Вградете публикацията в уебсайта си, копирайки кода долу.",
|
"embed.instructions": "Вградете публикацията в уебсайта си, копирайки кода долу.",
|
||||||
"embed.preview": "Ето как ще изглежда:",
|
"embed.preview": "Ето как ще изглежда:",
|
||||||
"emoji_button.activity": "Дейност",
|
"emoji_button.activity": "Дейност",
|
||||||
|
@ -293,7 +294,7 @@
|
||||||
"home.column_settings.show_replies": "Показване на отговорите",
|
"home.column_settings.show_replies": "Показване на отговорите",
|
||||||
"home.hide_announcements": "Скриване на оповестяванията",
|
"home.hide_announcements": "Скриване на оповестяванията",
|
||||||
"home.show_announcements": "Показване на оповестяванията",
|
"home.show_announcements": "Показване на оповестяванията",
|
||||||
"interaction_modal.description.favourite": "С акаунт в Mastodon може да направите тази публикация като любима, за да известите автора, че я цените, и да я запазите за по-късно.",
|
"interaction_modal.description.favourite": "С акаунт в Mastodon може да направите тази публикация като любима, за да позволите на автора да узнае, че я цените, и да я запазите за по-късно.",
|
||||||
"interaction_modal.description.follow": "С акаунт в Mastodon може да последвате {name}, за да получавате публикациите от този акаунт в началния си инфоканал.",
|
"interaction_modal.description.follow": "С акаунт в Mastodon може да последвате {name}, за да получавате публикациите от този акаунт в началния си инфоканал.",
|
||||||
"interaction_modal.description.reblog": "С акаунт в Mastodon може да подсилите тази публикация, за да я споделите с последователите си.",
|
"interaction_modal.description.reblog": "С акаунт в Mastodon може да подсилите тази публикация, за да я споделите с последователите си.",
|
||||||
"interaction_modal.description.reply": "С акаунт в Mastodon може да добавите отговор към тази публикация.",
|
"interaction_modal.description.reply": "С акаунт в Mastodon може да добавите отговор към тази публикация.",
|
||||||
|
@ -317,7 +318,7 @@
|
||||||
"keyboard_shortcuts.direct": "за отваряне на колоната с частни споменавания",
|
"keyboard_shortcuts.direct": "за отваряне на колоната с частни споменавания",
|
||||||
"keyboard_shortcuts.down": "Преместване надолу в списъка",
|
"keyboard_shortcuts.down": "Преместване надолу в списъка",
|
||||||
"keyboard_shortcuts.enter": "Отваряне на публикация",
|
"keyboard_shortcuts.enter": "Отваряне на публикация",
|
||||||
"keyboard_shortcuts.favourite": "Към любими публикации",
|
"keyboard_shortcuts.favourite": "Любима публикация",
|
||||||
"keyboard_shortcuts.favourites": "Отваряне на списъка с любими",
|
"keyboard_shortcuts.favourites": "Отваряне на списъка с любими",
|
||||||
"keyboard_shortcuts.federated": "Отваряне на федерирания инфопоток",
|
"keyboard_shortcuts.federated": "Отваряне на федерирания инфопоток",
|
||||||
"keyboard_shortcuts.heading": "Клавишни съчетания",
|
"keyboard_shortcuts.heading": "Клавишни съчетания",
|
||||||
|
@ -329,7 +330,7 @@
|
||||||
"keyboard_shortcuts.muted": "Отваряне на списъка със заглушени потребители",
|
"keyboard_shortcuts.muted": "Отваряне на списъка със заглушени потребители",
|
||||||
"keyboard_shortcuts.my_profile": "Отваряне на профила ви",
|
"keyboard_shortcuts.my_profile": "Отваряне на профила ви",
|
||||||
"keyboard_shortcuts.notifications": "Отваряне на колоната с известия",
|
"keyboard_shortcuts.notifications": "Отваряне на колоната с известия",
|
||||||
"keyboard_shortcuts.open_media": "Отваряне на мултимедия",
|
"keyboard_shortcuts.open_media": "Отваряне на мултимедията",
|
||||||
"keyboard_shortcuts.pinned": "Отваряне на списъка със закачени публикации",
|
"keyboard_shortcuts.pinned": "Отваряне на списъка със закачени публикации",
|
||||||
"keyboard_shortcuts.profile": "Отваряне на профила на автора",
|
"keyboard_shortcuts.profile": "Отваряне на профила на автора",
|
||||||
"keyboard_shortcuts.reply": "Отговаряне на публикация",
|
"keyboard_shortcuts.reply": "Отговаряне на публикация",
|
||||||
|
@ -372,7 +373,7 @@
|
||||||
"navigation_bar.about": "Относно",
|
"navigation_bar.about": "Относно",
|
||||||
"navigation_bar.blocks": "Блокирани потребители",
|
"navigation_bar.blocks": "Блокирани потребители",
|
||||||
"navigation_bar.bookmarks": "Отметки",
|
"navigation_bar.bookmarks": "Отметки",
|
||||||
"navigation_bar.community_timeline": "Локален инфопоток",
|
"navigation_bar.community_timeline": "Локална часова ос",
|
||||||
"navigation_bar.compose": "Съставяне на нова публикация",
|
"navigation_bar.compose": "Съставяне на нова публикация",
|
||||||
"navigation_bar.direct": "Частни споменавания",
|
"navigation_bar.direct": "Частни споменавания",
|
||||||
"navigation_bar.discover": "Откриване",
|
"navigation_bar.discover": "Откриване",
|
||||||
|
@ -442,6 +443,8 @@
|
||||||
"notifications_permission_banner.enable": "Включване на известията на работния плот",
|
"notifications_permission_banner.enable": "Включване на известията на работния плот",
|
||||||
"notifications_permission_banner.how_to_control": "За да получавате известия, когато Mastodon не е отворен, включете известията на работния плот. Може да управлявате точно кои видове взаимодействия пораждат известия на работния плот чрез бутона {icon} по-горе, след като бъдат включени.",
|
"notifications_permission_banner.how_to_control": "За да получавате известия, когато Mastodon не е отворен, включете известията на работния плот. Може да управлявате точно кои видове взаимодействия пораждат известия на работния плот чрез бутона {icon} по-горе, след като бъдат включени.",
|
||||||
"notifications_permission_banner.title": "Никога не пропускате нещо",
|
"notifications_permission_banner.title": "Никога не пропускате нещо",
|
||||||
|
"password_confirmation.exceeds_maxlength": "Потвърждаването на паролата превишава максимално допустимата дължина за парола",
|
||||||
|
"password_confirmation.mismatching": "Потвърждаването на паролата не съвпада",
|
||||||
"picture_in_picture.restore": "Връщане обратно",
|
"picture_in_picture.restore": "Връщане обратно",
|
||||||
"poll.closed": "Затворено",
|
"poll.closed": "Затворено",
|
||||||
"poll.refresh": "Опресняване",
|
"poll.refresh": "Опресняване",
|
||||||
|
@ -498,11 +501,11 @@
|
||||||
"report.reasons.dislike": "Не ми харесва",
|
"report.reasons.dislike": "Не ми харесва",
|
||||||
"report.reasons.dislike_description": "Не е нещо, което искате да виждате",
|
"report.reasons.dislike_description": "Не е нещо, което искате да виждате",
|
||||||
"report.reasons.other": "Нещо друго е",
|
"report.reasons.other": "Нещо друго е",
|
||||||
"report.reasons.other_description": "Проблемът не попада в нито една от другите категории",
|
"report.reasons.other_description": "Проблемът не попада в нито една от останалите категории",
|
||||||
"report.reasons.spam": "Спам е",
|
"report.reasons.spam": "Спам е",
|
||||||
"report.reasons.spam_description": "Зловредни връзки, фалшиви ангажименти, или повтарящи се отговори",
|
"report.reasons.spam_description": "Зловредни връзки, фалшиви ангажименти, или повтарящи се отговори",
|
||||||
"report.reasons.violation": "Нарушава правилата на сървъра",
|
"report.reasons.violation": "Нарушава правилата на сървъра",
|
||||||
"report.reasons.violation_description": "Знаете, че нарушава особени правила",
|
"report.reasons.violation_description": "Наясно сте, че нарушава особени правила",
|
||||||
"report.rules.subtitle": "Изберете всичко, което да се прилага",
|
"report.rules.subtitle": "Изберете всичко, което да се прилага",
|
||||||
"report.rules.title": "Кои правила са нарушени?",
|
"report.rules.title": "Кои правила са нарушени?",
|
||||||
"report.statuses.subtitle": "Изберете всичко, което да се прилага",
|
"report.statuses.subtitle": "Изберете всичко, което да се прилага",
|
||||||
|
@ -535,7 +538,7 @@
|
||||||
"search_results.hashtags": "Хаштагове",
|
"search_results.hashtags": "Хаштагове",
|
||||||
"search_results.nothing_found": "Не може да се намери каквото и да било за тези термини при търсене",
|
"search_results.nothing_found": "Не може да се намери каквото и да било за тези термини при търсене",
|
||||||
"search_results.statuses": "Публикации",
|
"search_results.statuses": "Публикации",
|
||||||
"search_results.statuses_fts_disabled": "Търсенето на публикации по съдържанието им не е включено в този сървър на Mastodon.",
|
"search_results.statuses_fts_disabled": "Търсенето на публикации по съдържанието им не се включва в този сървър на Mastodon.",
|
||||||
"search_results.title": "Търсене за {q}",
|
"search_results.title": "Търсене за {q}",
|
||||||
"search_results.total": "{count, number} {count, plural, one {резултат} other {резултата}}",
|
"search_results.total": "{count, number} {count, plural, one {резултат} other {резултата}}",
|
||||||
"server_banner.about_active_users": "Ползващите сървъра през последните 30 дни (дейните месечно потребители)",
|
"server_banner.about_active_users": "Ползващите сървъра през последните 30 дни (дейните месечно потребители)",
|
||||||
|
@ -553,7 +556,7 @@
|
||||||
"status.block": "Блокиране на @{name}",
|
"status.block": "Блокиране на @{name}",
|
||||||
"status.bookmark": "Отмятане",
|
"status.bookmark": "Отмятане",
|
||||||
"status.cancel_reblog_private": "Край на подсилването",
|
"status.cancel_reblog_private": "Край на подсилването",
|
||||||
"status.cannot_reblog": "Публикация не може да се подсили",
|
"status.cannot_reblog": "Публикацията не може да се подсилва",
|
||||||
"status.copy": "Копиране на връзката към публикация",
|
"status.copy": "Копиране на връзката към публикация",
|
||||||
"status.delete": "Изтриване",
|
"status.delete": "Изтриване",
|
||||||
"status.detailed_status": "Подробен изглед на разговора",
|
"status.detailed_status": "Подробен изглед на разговора",
|
||||||
|
@ -597,6 +600,7 @@
|
||||||
"status.show_more": "Показване на повече",
|
"status.show_more": "Показване на повече",
|
||||||
"status.show_more_all": "Показване на повече за всички",
|
"status.show_more_all": "Показване на повече за всички",
|
||||||
"status.show_original": "Показване на първообраза",
|
"status.show_original": "Показване на първообраза",
|
||||||
|
"status.title.with_attachments": "{user} публикува {attachmentCount, plural, one {прикачване} other {{attachmentCount} прикачвания}}",
|
||||||
"status.translate": "Превод",
|
"status.translate": "Превод",
|
||||||
"status.translated_from_with": "Преведено от {lang}, използвайки {provider}",
|
"status.translated_from_with": "Преведено от {lang}, използвайки {provider}",
|
||||||
"status.uncached_media_warning": "Не е налично",
|
"status.uncached_media_warning": "Не е налично",
|
||||||
|
@ -649,6 +653,7 @@
|
||||||
"upload_modal.preview_label": "Нагледно ({ratio})",
|
"upload_modal.preview_label": "Нагледно ({ratio})",
|
||||||
"upload_progress.label": "Качване...",
|
"upload_progress.label": "Качване...",
|
||||||
"upload_progress.processing": "Обработка…",
|
"upload_progress.processing": "Обработка…",
|
||||||
|
"username.taken": "Това потребителско име е взето. Опитайте друго",
|
||||||
"video.close": "Затваряне на видеото",
|
"video.close": "Затваряне на видеото",
|
||||||
"video.download": "Изтегляне на файла",
|
"video.download": "Изтегляне на файла",
|
||||||
"video.exit_fullscreen": "Изход от цял екран",
|
"video.exit_fullscreen": "Изход от цял екран",
|
||||||
|
|
|
@ -1,15 +1,15 @@
|
||||||
{
|
{
|
||||||
"about.blocks": "Moderated servers",
|
"about.blocks": "অনুপলব্ধ সার্ভার",
|
||||||
"about.contact": "যোগাযোগ:",
|
"about.contact": "যোগাযোগ:",
|
||||||
"about.disclaimer": "Mastodon is free, open-source software, and a trademark of Mastodon gGmbH.",
|
"about.disclaimer": "ম্যাস্টোডন একটি ফ্রি, ওপেন সোর্স সফটওয়্যার এবং ম্যাস্টোডন জিজিএমবিএইচ এর একটি ট্রেডমার্ক।",
|
||||||
"about.domain_blocks.no_reason_available": "Reason not available",
|
"about.domain_blocks.no_reason_available": "কারণ দর্শানো যাচ্ছে না",
|
||||||
"about.domain_blocks.preamble": "Mastodon generally allows you to view content from and interact with users from any other server in the fediverse. These are the exceptions that have been made on this particular server.",
|
"about.domain_blocks.preamble": "ম্যাস্টোডন সাধারণত আপনাকে ফেদিভার্স এ অন্য কোনও সার্ভারের ব্যবহারকারীদের থেকে সামগ্রী দেখতে এবং তাদের সাথে আলাপচারিতা করার সুযোগ দেয়। এই ব্যতিক্রম যে এই বিশেষ সার্ভারে তৈরি করা হয়েছে।",
|
||||||
"about.domain_blocks.silenced.explanation": "You will generally not see profiles and content from this server, unless you explicitly look it up or opt into it by following.",
|
"about.domain_blocks.silenced.explanation": "আপনি সাধারণত এই সার্ভার থেকে প্রোফাইল এবং বিষয়বস্তু দেখতে পারবেন না, যদি না আপনি স্পষ্টভাবে এটি দেখেন বা অনুসরণ করে এটি নির্বাচন করেন৷",
|
||||||
"about.domain_blocks.silenced.title": "Limited",
|
"about.domain_blocks.silenced.title": "সীমিত",
|
||||||
"about.domain_blocks.suspended.explanation": "No data from this server will be processed, stored or exchanged, making any interaction or communication with users from this server impossible.",
|
"about.domain_blocks.suspended.explanation": "এই সার্ভার থেকে কোনও ডেটা প্রক্রিয়াজাতকরণ, সংরক্ষণ বা আদান-প্রদান করা হবে না, তাই এই সার্ভার ব্যবহারকারীদের সাথে কোনও মিথস্ক্রিয়া বা যোগাযোগকে অসম্ভব করে তুলেছে।",
|
||||||
"about.domain_blocks.suspended.title": "Suspended",
|
"about.domain_blocks.suspended.title": "সাসপেন্ড করা হয়েছে",
|
||||||
"about.not_available": "This information has not been made available on this server.",
|
"about.not_available": "এই তথ্য এই সার্ভারে উপলব্ধ করা হয়নি।",
|
||||||
"about.powered_by": "Decentralized social media powered by {mastodon}",
|
"about.powered_by": "{mastodon} দ্বারা তৈরি বিকেন্দ্রীভূত সামাজিক মিডিয়া।",
|
||||||
"about.rules": "সার্ভারের নিয়মাবলী",
|
"about.rules": "সার্ভারের নিয়মাবলী",
|
||||||
"account.account_note_header": "বিজ্ঞপ্তি",
|
"account.account_note_header": "বিজ্ঞপ্তি",
|
||||||
"account.add_or_remove_from_list": "তালিকাতে যোগ বা অপসারণ করো",
|
"account.add_or_remove_from_list": "তালিকাতে যোগ বা অপসারণ করো",
|
||||||
|
@ -19,37 +19,38 @@
|
||||||
"account.block_domain": "{domain} থেকে সব লুকাও",
|
"account.block_domain": "{domain} থেকে সব লুকাও",
|
||||||
"account.blocked": "অবরুদ্ধ",
|
"account.blocked": "অবরুদ্ধ",
|
||||||
"account.browse_more_on_origin_server": "মূল প্রোফাইলটিতে আরও ব্রাউজ করুন",
|
"account.browse_more_on_origin_server": "মূল প্রোফাইলটিতে আরও ব্রাউজ করুন",
|
||||||
"account.cancel_follow_request": "Withdraw follow request",
|
"account.cancel_follow_request": "অনুসরণ অনুরোধ প্রত্যাহার করুন",
|
||||||
"account.direct": "Privately mention @{name}",
|
"account.direct": "গোপনে মেনশন করুন @{name}",
|
||||||
"account.disable_notifications": "Stop notifying me when @{name} posts",
|
"account.disable_notifications": "আমাকে জানানো বন্ধ করো যখন @{name} পোস্ট করবে",
|
||||||
"account.domain_blocked": "ডোমেন গোপন করুন",
|
"account.domain_blocked": "ডোমেন গোপন করুন",
|
||||||
"account.edit_profile": "প্রোফাইল পরিবর্তন করুন",
|
"account.edit_profile": "প্রোফাইল পরিবর্তন করুন",
|
||||||
"account.enable_notifications": "Notify me when @{name} posts",
|
"account.enable_notifications": "আমাকে জানাবে যখন @{name} পোস্ট করবে",
|
||||||
"account.endorse": "নিজের পাতায় দেখান",
|
"account.endorse": "নিজের পাতায় দেখান",
|
||||||
"account.featured_tags.last_status_at": "Last post on {date}",
|
"account.featured_tags.last_status_at": "{date} এ সর্বশেষ পোস্ট",
|
||||||
"account.featured_tags.last_status_never": "No posts",
|
"account.featured_tags.last_status_never": "কোনো পোস্ট নেই",
|
||||||
"account.featured_tags.title": "{name}'s featured hashtags",
|
"account.featured_tags.title": "{name}-এর বৈশিষ্ট্যযুক্ত হ্যাশট্যাগগুলি৷",
|
||||||
"account.follow": "অনুসরণ",
|
"account.follow": "অনুসরণ",
|
||||||
"account.followers": "অনুসরণকারী",
|
"account.followers": "অনুসরণকারী",
|
||||||
"account.followers.empty": "এই ব্যক্তিকে এখনো কেউ অনুসরণ করে না।",
|
"account.followers.empty": "এই ব্যক্তিকে এখনো কেউ অনুসরণ করে না।",
|
||||||
"account.followers_counter": "{count, plural,one {{counter} জন অনুসরণকারী } other {{counter} জন অনুসরণকারী}}",
|
"account.followers_counter": "{count, plural,one {{counter} জন অনুসরণকারী } other {{counter} জন অনুসরণকারী}}",
|
||||||
"account.following": "Following",
|
"account.following": "অনুসরণ করা হচ্ছে",
|
||||||
"account.following_counter": "{count, plural,one {{counter} জনকে অনুসরণ} other {{counter} জনকে অনুসরণ}}",
|
"account.following_counter": "{count, plural,one {{counter} জনকে অনুসরণ} other {{counter} জনকে অনুসরণ}}",
|
||||||
"account.follows.empty": "এই সদস্য কাওকে এখনো অনুসরণ করেন না.",
|
"account.follows.empty": "এই সদস্য কাওকে এখনো অনুসরণ করেন না.",
|
||||||
"account.follows_you": "তোমাকে অনুসরণ করে",
|
"account.follows_you": "তোমাকে অনুসরণ করে",
|
||||||
"account.go_to_profile": "Go to profile",
|
"account.go_to_profile": "প্রোফাইলে যান",
|
||||||
"account.hide_reblogs": "@{name}'র সমর্থনগুলি লুকিয়ে ফেলুন",
|
"account.hide_reblogs": "@{name}'র সমর্থনগুলি লুকিয়ে ফেলুন",
|
||||||
"account.joined_short": "Joined",
|
"account.in_memoriam": "স্মৃতিসৌধে।",
|
||||||
"account.languages": "Change subscribed languages",
|
"account.joined_short": "যোগ দিয়েছেন",
|
||||||
|
"account.languages": "সাবস্ক্রাইব করা ভাষা পরিবর্তন করুন",
|
||||||
"account.link_verified_on": "এই লিংকের মালিকানা চেক করা হয়েছে {date} তারিখে",
|
"account.link_verified_on": "এই লিংকের মালিকানা চেক করা হয়েছে {date} তারিখে",
|
||||||
"account.locked_info": "এই নিবন্ধনের গোপনীয়তার ক্ষেত্র তালা দেওয়া আছে। নিবন্ধনকারী অনুসরণ করার অনুমতি যাদেরকে দেবেন, শুধু তারাই অনুসরণ করতে পারবেন।",
|
"account.locked_info": "এই নিবন্ধনের গোপনীয়তার ক্ষেত্র তালা দেওয়া আছে। নিবন্ধনকারী অনুসরণ করার অনুমতি যাদেরকে দেবেন, শুধু তারাই অনুসরণ করতে পারবেন।",
|
||||||
"account.media": "মিডিয়া",
|
"account.media": "মিডিয়া",
|
||||||
"account.mention": "@{name} কে উল্লেখ করুন",
|
"account.mention": "@{name} কে উল্লেখ করুন",
|
||||||
"account.moved_to": "{name} has indicated that their new account is now:",
|
"account.moved_to": "{name} নির্দেশ করেছে যে তাদের নতুন অ্যাকাউন্ট এখন হলো:",
|
||||||
"account.mute": "@{name} কে নিঃশব্দ করুন",
|
"account.mute": "@{name} কে নিঃশব্দ করুন",
|
||||||
"account.mute_notifications": "@{name} র প্রজ্ঞাপন আপনার কাছে নিঃশব্দ করুন",
|
"account.mute_notifications": "@{name} র প্রজ্ঞাপন আপনার কাছে নিঃশব্দ করুন",
|
||||||
"account.muted": "নিঃশব্দ",
|
"account.muted": "নিঃশব্দ",
|
||||||
"account.open_original_page": "Open original page",
|
"account.open_original_page": "মূল পৃষ্ঠা খুলুন",
|
||||||
"account.posts": "টুট",
|
"account.posts": "টুট",
|
||||||
"account.posts_with_replies": "টুট এবং মতামত",
|
"account.posts_with_replies": "টুট এবং মতামত",
|
||||||
"account.report": "@{name} কে রিপোর্ট করুন",
|
"account.report": "@{name} কে রিপোর্ট করুন",
|
||||||
|
@ -60,49 +61,49 @@
|
||||||
"account.statuses_counter": "{count, plural,one {{counter} টুট} other {{counter} টুট}}",
|
"account.statuses_counter": "{count, plural,one {{counter} টুট} other {{counter} টুট}}",
|
||||||
"account.unblock": "@{name} র কার্যকলাপ দেখুন",
|
"account.unblock": "@{name} র কার্যকলাপ দেখুন",
|
||||||
"account.unblock_domain": "{domain} কে আবার দেখুন",
|
"account.unblock_domain": "{domain} কে আবার দেখুন",
|
||||||
"account.unblock_short": "Unblock",
|
"account.unblock_short": "আনব্লক করুন",
|
||||||
"account.unendorse": "আপনার নিজের পাতায় এটা দেখবেন না",
|
"account.unendorse": "আপনার নিজের পাতায় এটা দেখবেন না",
|
||||||
"account.unfollow": "অনুসরণ করো না",
|
"account.unfollow": "অনুসরণ করো না",
|
||||||
"account.unmute": "@{name} র কার্যকলাপ আবার দেখুন",
|
"account.unmute": "@{name} র কার্যকলাপ আবার দেখুন",
|
||||||
"account.unmute_notifications": "@{name} র প্রজ্ঞাপন দেখুন",
|
"account.unmute_notifications": "@{name} র প্রজ্ঞাপন দেখুন",
|
||||||
"account.unmute_short": "Unmute",
|
"account.unmute_short": "আনমিউট করুন",
|
||||||
"account_note.placeholder": "নোট যোগ করতে ক্লিক করুন",
|
"account_note.placeholder": "নোট যোগ করতে ক্লিক করুন",
|
||||||
"admin.dashboard.daily_retention": "User retention rate by day after sign-up",
|
"admin.dashboard.daily_retention": "সাইন আপের পর দিনে ব্যবহারকারীর ধরে রাখার হার",
|
||||||
"admin.dashboard.monthly_retention": "User retention rate by month after sign-up",
|
"admin.dashboard.monthly_retention": "সাইন আপের পর, দিনে ব্যবহারকারীর ধরে রাখার হার",
|
||||||
"admin.dashboard.retention.average": "Average",
|
"admin.dashboard.retention.average": "গড়",
|
||||||
"admin.dashboard.retention.cohort": "Sign-up month",
|
"admin.dashboard.retention.cohort": "সাইন আপের মাস",
|
||||||
"admin.dashboard.retention.cohort_size": "নতুন ব্যবহারকারী",
|
"admin.dashboard.retention.cohort_size": "নতুন ব্যবহারকারী",
|
||||||
"alert.rate_limited.message": "{retry_time, time, medium} -এর পরে আবার প্রচেষ্টা করুন।",
|
"alert.rate_limited.message": "{retry_time, time, medium} -এর পরে আবার প্রচেষ্টা করুন।",
|
||||||
"alert.rate_limited.title": "হার সীমিত",
|
"alert.rate_limited.title": "হার সীমিত",
|
||||||
"alert.unexpected.message": "সমস্যা অপ্রত্যাশিত.",
|
"alert.unexpected.message": "সমস্যা অপ্রত্যাশিত.",
|
||||||
"alert.unexpected.title": "ওহো!",
|
"alert.unexpected.title": "ওহো!",
|
||||||
"announcement.announcement": "ঘোষণা",
|
"announcement.announcement": "ঘোষণা",
|
||||||
"attachments_list.unprocessed": "(unprocessed)",
|
"attachments_list.unprocessed": "(প্রক্রিয়া করা যায়নি)",
|
||||||
"audio.hide": "Hide audio",
|
"audio.hide": "অডিও লুকান",
|
||||||
"autosuggest_hashtag.per_week": "প্রতি সপ্তাহে {count}",
|
"autosuggest_hashtag.per_week": "প্রতি সপ্তাহে {count}",
|
||||||
"boost_modal.combo": "পরেরবার আপনি {combo} টিপলে এটি আর আসবে না",
|
"boost_modal.combo": "পরেরবার আপনি {combo} টিপলে এটি আর আসবে না",
|
||||||
"bundle_column_error.copy_stacktrace": "Copy error report",
|
"bundle_column_error.copy_stacktrace": "এরর রিপোর্ট কপি করুন",
|
||||||
"bundle_column_error.error.body": "The requested page could not be rendered. It could be due to a bug in our code, or a browser compatibility issue.",
|
"bundle_column_error.error.body": "অনুরোধ করা পৃষ্ঠাটি রেন্ডার করা যায়নি। এটি আমাদের কোডে একটি বাগ বা ব্রাউজার সামঞ্জস্যের সমস্যার কারণে হতে পারে।",
|
||||||
"bundle_column_error.error.title": "Oh, no!",
|
"bundle_column_error.error.title": "হায়, না!",
|
||||||
"bundle_column_error.network.body": "There was an error when trying to load this page. This could be due to a temporary problem with your internet connection or this server.",
|
"bundle_column_error.network.body": "এই পৃষ্ঠাটি লোড করার চেষ্টা করার সময় একটি ত্রুটি ছিল৷ এটি আপনার ইন্টারনেট সংযোগ বা এই সার্ভারের সাথে একটি অস্থায়ী সমস্যার কারণে হতে পারে৷",
|
||||||
"bundle_column_error.network.title": "Network error",
|
"bundle_column_error.network.title": "নেটওয়ার্ক ত্রুটি",
|
||||||
"bundle_column_error.retry": "আবার চেষ্টা করুন",
|
"bundle_column_error.retry": "আবার চেষ্টা করুন",
|
||||||
"bundle_column_error.return": "Go back home",
|
"bundle_column_error.return": "হোমে ফিরে যান",
|
||||||
"bundle_column_error.routing.body": "The requested page could not be found. Are you sure the URL in the address bar is correct?",
|
"bundle_column_error.routing.body": "অনুরোধ করা পৃষ্ঠা খুঁজে পাওয়া যাবে না। আপনি কি নিশ্চিত যে ঠিকানা বারে ইউআরএলটি সঠিক?",
|
||||||
"bundle_column_error.routing.title": "404",
|
"bundle_column_error.routing.title": "৪০৪",
|
||||||
"bundle_modal_error.close": "বন্ধ করুন",
|
"bundle_modal_error.close": "বন্ধ করুন",
|
||||||
"bundle_modal_error.message": "এই অংশটি দেখাতে যেয়ে কোনো সমস্যা হয়েছে।.",
|
"bundle_modal_error.message": "এই অংশটি দেখাতে যেয়ে কোনো সমস্যা হয়েছে।.",
|
||||||
"bundle_modal_error.retry": "আবার চেষ্টা করুন",
|
"bundle_modal_error.retry": "আবার চেষ্টা করুন",
|
||||||
"closed_registrations.other_server_instructions": "Since Mastodon is decentralized, you can create an account on another server and still interact with this one.",
|
"closed_registrations.other_server_instructions": "মাস্টোডন বিকেন্দ্রীভূত হওয়ায়, আপনি অন্য সার্ভারে একটি অ্যাকাউন্ট তৈরি করতে পারেন এবং এখনও এটির সাথে যোগাযোগ করতে পারেন।",
|
||||||
"closed_registrations_modal.description": "Creating an account on {domain} is currently not possible, but please keep in mind that you do not need an account specifically on {domain} to use Mastodon.",
|
"closed_registrations_modal.description": "{domain} এ একটি অ্যাকাউন্ট তৈরি করা বর্তমানে সম্ভব নয়, তবে দয়া করে মনে রাখবেন যে ম্যাস্টোডন ব্যবহার করার জন্য আপনার বিশেষভাবে {domain} এ কোনো অ্যাকাউন্টের প্রয়োজন নেই৷",
|
||||||
"closed_registrations_modal.find_another_server": "Find another server",
|
"closed_registrations_modal.find_another_server": "অন্য একটি সার্ভার খুজুন",
|
||||||
"closed_registrations_modal.preamble": "Mastodon is decentralized, so no matter where you create your account, you will be able to follow and interact with anyone on this server. You can even self-host it!",
|
"closed_registrations_modal.preamble": "ম্যাস্টোডন বিকেন্দ্রীকৃত, তাই আপনি যেখানেই আপনার অ্যাকাউন্ট তৈরি করুন না কেন, আপনি এই সার্ভারে যে কাউকে অনুসরণ করতে এবং যোগাযোগ করতে সক্ষম হবেন। এমনকি আপনি এটি স্ব-হোস্ট করতে পারেন!",
|
||||||
"closed_registrations_modal.title": "Signing up on Mastodon",
|
"closed_registrations_modal.title": "ম্যাস্টোডন এ সাইন আপ করা হচ্ছে",
|
||||||
"column.about": "About",
|
"column.about": "সম্পর্কে",
|
||||||
"column.blocks": "যাদের ব্লক করা হয়েছে",
|
"column.blocks": "যাদের ব্লক করা হয়েছে",
|
||||||
"column.bookmarks": "বুকমার্ক",
|
"column.bookmarks": "বুকমার্ক",
|
||||||
"column.community": "স্থানীয় সময়সারি",
|
"column.community": "স্থানীয় সময়সারি",
|
||||||
"column.direct": "Private mentions",
|
"column.direct": "গোপনে মেনশন করুন",
|
||||||
"column.directory": "প্রোফাইল ব্রাউজ করুন",
|
"column.directory": "প্রোফাইল ব্রাউজ করুন",
|
||||||
"column.domain_blocks": "লুকোনো ডোমেনগুলি",
|
"column.domain_blocks": "লুকোনো ডোমেনগুলি",
|
||||||
"column.favourites": "পছন্দের গুলো",
|
"column.favourites": "পছন্দের গুলো",
|
||||||
|
@ -125,10 +126,10 @@
|
||||||
"community.column_settings.media_only": "শুধুমাত্র ছবি বা ভিডিও",
|
"community.column_settings.media_only": "শুধুমাত্র ছবি বা ভিডিও",
|
||||||
"community.column_settings.remote_only": "শুধুমাত্র দূরবর্তী",
|
"community.column_settings.remote_only": "শুধুমাত্র দূরবর্তী",
|
||||||
"compose.language.change": "ভাষা পরিবর্তন করুন",
|
"compose.language.change": "ভাষা পরিবর্তন করুন",
|
||||||
"compose.language.search": "Search languages...",
|
"compose.language.search": "ভাষা অনুসন্ধান করুন...",
|
||||||
"compose_form.direct_message_warning_learn_more": "আরো জানুন",
|
"compose_form.direct_message_warning_learn_more": "আরো জানুন",
|
||||||
"compose_form.encryption_warning": "Posts on Mastodon are not end-to-end encrypted. Do not share any dangerous information over Mastodon.",
|
"compose_form.encryption_warning": "Posts on Mastodon are not end-to-end encrypted. Do not share any dangerous information over Mastodon.",
|
||||||
"compose_form.hashtag_warning": "This post won't be listed under any hashtag as it is unlisted. Only public posts can be searched by hashtag.",
|
"compose_form.hashtag_warning": "এই পোস্টটি কোনো হ্যাশট্যাগের বিষয় নয় কারণ এটি সর্বজনীনভাবে উপলব্ধ নয়। শুধুমাত্র জনসাধারণের কাছে পোস্ট করা বার্তাই হ্যাশট্যাগ দ্বারা অনুসন্ধান করা যেতে পারে।",
|
||||||
"compose_form.lock_disclaimer": "আপনার নিবন্ধনে তালা দেওয়া নেই, যে কেও আপনাকে অনুসরণ করতে পারবে এবং অনুশারকদের জন্য লেখা দেখতে পারবে।",
|
"compose_form.lock_disclaimer": "আপনার নিবন্ধনে তালা দেওয়া নেই, যে কেও আপনাকে অনুসরণ করতে পারবে এবং অনুশারকদের জন্য লেখা দেখতে পারবে।",
|
||||||
"compose_form.lock_disclaimer.lock": "তালা দেওয়া",
|
"compose_form.lock_disclaimer.lock": "তালা দেওয়া",
|
||||||
"compose_form.placeholder": "আপনি কি ভাবছেন ?",
|
"compose_form.placeholder": "আপনি কি ভাবছেন ?",
|
||||||
|
@ -139,9 +140,9 @@
|
||||||
"compose_form.poll.switch_to_multiple": "একাধিক পছন্দ অনুমতি দেওয়ার জন্য পোল পরিবর্তন করুন",
|
"compose_form.poll.switch_to_multiple": "একাধিক পছন্দ অনুমতি দেওয়ার জন্য পোল পরিবর্তন করুন",
|
||||||
"compose_form.poll.switch_to_single": "একটি একক পছন্দের অনুমতি দেওয়ার জন্য পোল পরিবর্তন করুন",
|
"compose_form.poll.switch_to_single": "একটি একক পছন্দের অনুমতি দেওয়ার জন্য পোল পরিবর্তন করুন",
|
||||||
"compose_form.publish": "প্রকাশ করুন",
|
"compose_form.publish": "প্রকাশ করুন",
|
||||||
"compose_form.publish_form": "Publish",
|
"compose_form.publish_form": "প্রকাশ করুন",
|
||||||
"compose_form.publish_loud": "{publish}!",
|
"compose_form.publish_loud": "{publish}!",
|
||||||
"compose_form.save_changes": "Save changes",
|
"compose_form.save_changes": "পরিবর্তনগুলো প্রকাশ করুন",
|
||||||
"compose_form.sensitive.hide": "এই ছবি বা ভিডিওটি সংবেদনশীল হিসেবে চিহ্নিত করতে",
|
"compose_form.sensitive.hide": "এই ছবি বা ভিডিওটি সংবেদনশীল হিসেবে চিহ্নিত করতে",
|
||||||
"compose_form.sensitive.marked": "এই ছবি বা ভিডিওটি সংবেদনশীল হিসেবে চিহ্নিত করা হয়েছে",
|
"compose_form.sensitive.marked": "এই ছবি বা ভিডিওটি সংবেদনশীল হিসেবে চিহ্নিত করা হয়েছে",
|
||||||
"compose_form.sensitive.unmarked": "এই ছবি বা ভিডিওটি সংবেদনশীল হিসেবে চিহ্নিত করা হয়নি",
|
"compose_form.sensitive.unmarked": "এই ছবি বা ভিডিওটি সংবেদনশীল হিসেবে চিহ্নিত করা হয়নি",
|
||||||
|
@ -152,8 +153,8 @@
|
||||||
"confirmations.block.block_and_report": "ব্লক করুন এবং রিপোর্ট করুন",
|
"confirmations.block.block_and_report": "ব্লক করুন এবং রিপোর্ট করুন",
|
||||||
"confirmations.block.confirm": "ব্লক করুন",
|
"confirmations.block.confirm": "ব্লক করুন",
|
||||||
"confirmations.block.message": "আপনি কি নিশ্চিত {name} কে ব্লক করতে চান?",
|
"confirmations.block.message": "আপনি কি নিশ্চিত {name} কে ব্লক করতে চান?",
|
||||||
"confirmations.cancel_follow_request.confirm": "Withdraw request",
|
"confirmations.cancel_follow_request.confirm": "অনুরোধ বাতিল করুন",
|
||||||
"confirmations.cancel_follow_request.message": "Are you sure you want to withdraw your request to follow {name}?",
|
"confirmations.cancel_follow_request.message": "আপনি কি নিশ্চিত যে আপনি {name} কে অনুসরণ করার অনুরোধ প্রত্যাহার করতে চান?",
|
||||||
"confirmations.delete.confirm": "মুছে ফেলুন",
|
"confirmations.delete.confirm": "মুছে ফেলুন",
|
||||||
"confirmations.delete.message": "আপনি কি নিশ্চিত যে এই লেখাটি মুছে ফেলতে চান ?",
|
"confirmations.delete.message": "আপনি কি নিশ্চিত যে এই লেখাটি মুছে ফেলতে চান ?",
|
||||||
"confirmations.delete_list.confirm": "মুছে ফেলুন",
|
"confirmations.delete_list.confirm": "মুছে ফেলুন",
|
||||||
|
@ -442,6 +443,8 @@
|
||||||
"notifications_permission_banner.enable": "Enable desktop notifications",
|
"notifications_permission_banner.enable": "Enable desktop notifications",
|
||||||
"notifications_permission_banner.how_to_control": "To receive notifications when Mastodon isn't open, enable desktop notifications. You can control precisely which types of interactions generate desktop notifications through the {icon} button above once they're enabled.",
|
"notifications_permission_banner.how_to_control": "To receive notifications when Mastodon isn't open, enable desktop notifications. You can control precisely which types of interactions generate desktop notifications through the {icon} button above once they're enabled.",
|
||||||
"notifications_permission_banner.title": "Never miss a thing",
|
"notifications_permission_banner.title": "Never miss a thing",
|
||||||
|
"password_confirmation.exceeds_maxlength": "Password confirmation exceeds the maximum password length",
|
||||||
|
"password_confirmation.mismatching": "Password confirmation does not match",
|
||||||
"picture_in_picture.restore": "Put it back",
|
"picture_in_picture.restore": "Put it back",
|
||||||
"poll.closed": "বন্ধ",
|
"poll.closed": "বন্ধ",
|
||||||
"poll.refresh": "বদলেছে কিনা দেখতে",
|
"poll.refresh": "বদলেছে কিনা দেখতে",
|
||||||
|
@ -597,6 +600,7 @@
|
||||||
"status.show_more": "আরো দেখাতে",
|
"status.show_more": "আরো দেখাতে",
|
||||||
"status.show_more_all": "সবগুলোতে আরো দেখতে",
|
"status.show_more_all": "সবগুলোতে আরো দেখতে",
|
||||||
"status.show_original": "Show original",
|
"status.show_original": "Show original",
|
||||||
|
"status.title.with_attachments": "{user} posted {attachmentCount, plural, one {an attachment} other {{attachmentCount} attachments}}",
|
||||||
"status.translate": "Translate",
|
"status.translate": "Translate",
|
||||||
"status.translated_from_with": "Translated from {lang} using {provider}",
|
"status.translated_from_with": "Translated from {lang} using {provider}",
|
||||||
"status.uncached_media_warning": "পাওয়া যাচ্ছে না",
|
"status.uncached_media_warning": "পাওয়া যাচ্ছে না",
|
||||||
|
@ -649,6 +653,7 @@
|
||||||
"upload_modal.preview_label": "পূর্বরূপ({ratio})",
|
"upload_modal.preview_label": "পূর্বরূপ({ratio})",
|
||||||
"upload_progress.label": "যুক্ত করতে পাঠানো হচ্ছে...",
|
"upload_progress.label": "যুক্ত করতে পাঠানো হচ্ছে...",
|
||||||
"upload_progress.processing": "Processing…",
|
"upload_progress.processing": "Processing…",
|
||||||
|
"username.taken": "That username is taken. Try another",
|
||||||
"video.close": "ভিডিওটি বন্ধ করতে",
|
"video.close": "ভিডিওটি বন্ধ করতে",
|
||||||
"video.download": "ফাইলটি ডাউনলোড করুন",
|
"video.download": "ফাইলটি ডাউনলোড করুন",
|
||||||
"video.exit_fullscreen": "পূর্ণ পর্দা থেকে বাইরে বের হতে",
|
"video.exit_fullscreen": "পূর্ণ পর্দা থেকে বাইরে বের হতে",
|
||||||
|
|
|
@ -39,6 +39,7 @@
|
||||||
"account.follows_you": "Ho heuilh",
|
"account.follows_you": "Ho heuilh",
|
||||||
"account.go_to_profile": "Gwelet ar profil",
|
"account.go_to_profile": "Gwelet ar profil",
|
||||||
"account.hide_reblogs": "Kuzh skignadennoù gant @{name}",
|
"account.hide_reblogs": "Kuzh skignadennoù gant @{name}",
|
||||||
|
"account.in_memoriam": "In Memoriam.",
|
||||||
"account.joined_short": "Amañ abaoe",
|
"account.joined_short": "Amañ abaoe",
|
||||||
"account.languages": "Cheñch ar yezhoù koumanantet",
|
"account.languages": "Cheñch ar yezhoù koumanantet",
|
||||||
"account.link_verified_on": "Gwiriet eo bet perc'hennidigezh al liamm d'an deiziad-mañ : {date}",
|
"account.link_verified_on": "Gwiriet eo bet perc'hennidigezh al liamm d'an deiziad-mañ : {date}",
|
||||||
|
@ -442,6 +443,8 @@
|
||||||
"notifications_permission_banner.enable": "Lezel kemennoù war ar burev",
|
"notifications_permission_banner.enable": "Lezel kemennoù war ar burev",
|
||||||
"notifications_permission_banner.how_to_control": "Evit reseviñ kemennoù pa ne vez ket digoret Mastodon, lezelit kemennoù war ar burev. Gallout a rit kontrollañ peseurt eskemmoù a c'henel kemennoù war ar burev gant ar {icon} nozelenn a-us kentre ma'z int lezelet.",
|
"notifications_permission_banner.how_to_control": "Evit reseviñ kemennoù pa ne vez ket digoret Mastodon, lezelit kemennoù war ar burev. Gallout a rit kontrollañ peseurt eskemmoù a c'henel kemennoù war ar burev gant ar {icon} nozelenn a-us kentre ma'z int lezelet.",
|
||||||
"notifications_permission_banner.title": "Na vankit netra morse",
|
"notifications_permission_banner.title": "Na vankit netra morse",
|
||||||
|
"password_confirmation.exceeds_maxlength": "Password confirmation exceeds the maximum password length",
|
||||||
|
"password_confirmation.mismatching": "Password confirmation does not match",
|
||||||
"picture_in_picture.restore": "Adlakaat",
|
"picture_in_picture.restore": "Adlakaat",
|
||||||
"poll.closed": "Serret",
|
"poll.closed": "Serret",
|
||||||
"poll.refresh": "Azbevaat",
|
"poll.refresh": "Azbevaat",
|
||||||
|
@ -597,6 +600,7 @@
|
||||||
"status.show_more": "Diskouez muioc'h",
|
"status.show_more": "Diskouez muioc'h",
|
||||||
"status.show_more_all": "Diskouez miuoc'h evit an holl",
|
"status.show_more_all": "Diskouez miuoc'h evit an holl",
|
||||||
"status.show_original": "Diskouez hini orin",
|
"status.show_original": "Diskouez hini orin",
|
||||||
|
"status.title.with_attachments": "{user} posted {attachmentCount, plural, one {an attachment} other {{attachmentCount} attachments}}",
|
||||||
"status.translate": "Treiñ",
|
"status.translate": "Treiñ",
|
||||||
"status.translated_from_with": "Troet diwar {lang} gant {provider}",
|
"status.translated_from_with": "Troet diwar {lang} gant {provider}",
|
||||||
"status.uncached_media_warning": "Dihegerz",
|
"status.uncached_media_warning": "Dihegerz",
|
||||||
|
@ -649,6 +653,7 @@
|
||||||
"upload_modal.preview_label": "Rakwel ({ratio})",
|
"upload_modal.preview_label": "Rakwel ({ratio})",
|
||||||
"upload_progress.label": "O pellgargañ...",
|
"upload_progress.label": "O pellgargañ...",
|
||||||
"upload_progress.processing": "War ober…",
|
"upload_progress.processing": "War ober…",
|
||||||
|
"username.taken": "That username is taken. Try another",
|
||||||
"video.close": "Serriñ ar video",
|
"video.close": "Serriñ ar video",
|
||||||
"video.download": "Pellgargañ ar restr",
|
"video.download": "Pellgargañ ar restr",
|
||||||
"video.exit_fullscreen": "Kuitaat ar mod skramm leun",
|
"video.exit_fullscreen": "Kuitaat ar mod skramm leun",
|
||||||
|
|
|
@ -39,6 +39,7 @@
|
||||||
"account.follows_you": "Follows you",
|
"account.follows_you": "Follows you",
|
||||||
"account.go_to_profile": "Go to profile",
|
"account.go_to_profile": "Go to profile",
|
||||||
"account.hide_reblogs": "Hide boosts from @{name}",
|
"account.hide_reblogs": "Hide boosts from @{name}",
|
||||||
|
"account.in_memoriam": "In Memoriam.",
|
||||||
"account.joined_short": "Joined",
|
"account.joined_short": "Joined",
|
||||||
"account.languages": "Change subscribed languages",
|
"account.languages": "Change subscribed languages",
|
||||||
"account.link_verified_on": "Ownership of this link was checked on {date}",
|
"account.link_verified_on": "Ownership of this link was checked on {date}",
|
||||||
|
@ -442,6 +443,8 @@
|
||||||
"notifications_permission_banner.enable": "Enable desktop notifications",
|
"notifications_permission_banner.enable": "Enable desktop notifications",
|
||||||
"notifications_permission_banner.how_to_control": "To receive notifications when Mastodon isn't open, enable desktop notifications. You can control precisely which types of interactions generate desktop notifications through the {icon} button above once they're enabled.",
|
"notifications_permission_banner.how_to_control": "To receive notifications when Mastodon isn't open, enable desktop notifications. You can control precisely which types of interactions generate desktop notifications through the {icon} button above once they're enabled.",
|
||||||
"notifications_permission_banner.title": "Never miss a thing",
|
"notifications_permission_banner.title": "Never miss a thing",
|
||||||
|
"password_confirmation.exceeds_maxlength": "Password confirmation exceeds the maximum password length",
|
||||||
|
"password_confirmation.mismatching": "Password confirmation does not match",
|
||||||
"picture_in_picture.restore": "Put it back",
|
"picture_in_picture.restore": "Put it back",
|
||||||
"poll.closed": "Closed",
|
"poll.closed": "Closed",
|
||||||
"poll.refresh": "Refresh",
|
"poll.refresh": "Refresh",
|
||||||
|
@ -597,6 +600,7 @@
|
||||||
"status.show_more": "Show more",
|
"status.show_more": "Show more",
|
||||||
"status.show_more_all": "Show more for all",
|
"status.show_more_all": "Show more for all",
|
||||||
"status.show_original": "Show original",
|
"status.show_original": "Show original",
|
||||||
|
"status.title.with_attachments": "{user} posted {attachmentCount, plural, one {an attachment} other {{attachmentCount} attachments}}",
|
||||||
"status.translate": "Translate",
|
"status.translate": "Translate",
|
||||||
"status.translated_from_with": "Translated from {lang} using {provider}",
|
"status.translated_from_with": "Translated from {lang} using {provider}",
|
||||||
"status.uncached_media_warning": "Not available",
|
"status.uncached_media_warning": "Not available",
|
||||||
|
@ -649,6 +653,7 @@
|
||||||
"upload_modal.preview_label": "Preview ({ratio})",
|
"upload_modal.preview_label": "Preview ({ratio})",
|
||||||
"upload_progress.label": "Uploading…",
|
"upload_progress.label": "Uploading…",
|
||||||
"upload_progress.processing": "Processing…",
|
"upload_progress.processing": "Processing…",
|
||||||
|
"username.taken": "That username is taken. Try another",
|
||||||
"video.close": "Close video",
|
"video.close": "Close video",
|
||||||
"video.download": "Download file",
|
"video.download": "Download file",
|
||||||
"video.exit_fullscreen": "Exit full screen",
|
"video.exit_fullscreen": "Exit full screen",
|
||||||
|
|
|
@ -39,6 +39,7 @@
|
||||||
"account.follows_you": "Et segueix",
|
"account.follows_you": "Et segueix",
|
||||||
"account.go_to_profile": "Vés al perfil",
|
"account.go_to_profile": "Vés al perfil",
|
||||||
"account.hide_reblogs": "Amaga els impulsos de @{name}",
|
"account.hide_reblogs": "Amaga els impulsos de @{name}",
|
||||||
|
"account.in_memoriam": "En Memòria.",
|
||||||
"account.joined_short": "S'hi va unir",
|
"account.joined_short": "S'hi va unir",
|
||||||
"account.languages": "Canvia les llengües subscrites",
|
"account.languages": "Canvia les llengües subscrites",
|
||||||
"account.link_verified_on": "La propietat d'aquest enllaç es va verificar el dia {date}",
|
"account.link_verified_on": "La propietat d'aquest enllaç es va verificar el dia {date}",
|
||||||
|
@ -442,6 +443,8 @@
|
||||||
"notifications_permission_banner.enable": "Activa les notificacions d’escriptori",
|
"notifications_permission_banner.enable": "Activa les notificacions d’escriptori",
|
||||||
"notifications_permission_banner.how_to_control": "Per a rebre notificacions quan Mastodon no és obert cal activar les notificacions d’escriptori. Pots controlar amb precisió quins tipus d’interaccions generen notificacions d’escriptori després d’activar el botó {icon} de dalt.",
|
"notifications_permission_banner.how_to_control": "Per a rebre notificacions quan Mastodon no és obert cal activar les notificacions d’escriptori. Pots controlar amb precisió quins tipus d’interaccions generen notificacions d’escriptori després d’activar el botó {icon} de dalt.",
|
||||||
"notifications_permission_banner.title": "No et perdis mai res",
|
"notifications_permission_banner.title": "No et perdis mai res",
|
||||||
|
"password_confirmation.exceeds_maxlength": "La confirmació de la contrasenya excedeix la longitud màxima",
|
||||||
|
"password_confirmation.mismatching": "La confirmació de contrasenya no és coincident",
|
||||||
"picture_in_picture.restore": "Retorna’l",
|
"picture_in_picture.restore": "Retorna’l",
|
||||||
"poll.closed": "Finalitzada",
|
"poll.closed": "Finalitzada",
|
||||||
"poll.refresh": "Actualitza",
|
"poll.refresh": "Actualitza",
|
||||||
|
@ -597,6 +600,7 @@
|
||||||
"status.show_more": "Mostra'n més",
|
"status.show_more": "Mostra'n més",
|
||||||
"status.show_more_all": "Mostra'n més per a tot",
|
"status.show_more_all": "Mostra'n més per a tot",
|
||||||
"status.show_original": "Mostra l'original",
|
"status.show_original": "Mostra l'original",
|
||||||
|
"status.title.with_attachments": "{user} ha publicat {attachmentCount, plural, one {un adjunt} other {{attachmentCount} adjunts}}",
|
||||||
"status.translate": "Tradueix",
|
"status.translate": "Tradueix",
|
||||||
"status.translated_from_with": "Traduït del {lang} fent servir {provider}",
|
"status.translated_from_with": "Traduït del {lang} fent servir {provider}",
|
||||||
"status.uncached_media_warning": "No està disponible",
|
"status.uncached_media_warning": "No està disponible",
|
||||||
|
@ -649,6 +653,7 @@
|
||||||
"upload_modal.preview_label": "Previsualitza ({ratio})",
|
"upload_modal.preview_label": "Previsualitza ({ratio})",
|
||||||
"upload_progress.label": "Es puja...",
|
"upload_progress.label": "Es puja...",
|
||||||
"upload_progress.processing": "En procés…",
|
"upload_progress.processing": "En procés…",
|
||||||
|
"username.taken": "Aquest nom d'usuari ja està agafat. Prova un altre",
|
||||||
"video.close": "Tanca el vídeo",
|
"video.close": "Tanca el vídeo",
|
||||||
"video.download": "Descarrega l’arxiu",
|
"video.download": "Descarrega l’arxiu",
|
||||||
"video.exit_fullscreen": "Surt de la pantalla completa",
|
"video.exit_fullscreen": "Surt de la pantalla completa",
|
||||||
|
|
|
@ -39,6 +39,7 @@
|
||||||
"account.follows_you": "شوێنت دەکەوێت",
|
"account.follows_you": "شوێنت دەکەوێت",
|
||||||
"account.go_to_profile": "بڕۆ بۆ پڕۆفایلی",
|
"account.go_to_profile": "بڕۆ بۆ پڕۆفایلی",
|
||||||
"account.hide_reblogs": "داشاردنی بووستەکان لە @{name}",
|
"account.hide_reblogs": "داشاردنی بووستەکان لە @{name}",
|
||||||
|
"account.in_memoriam": "In Memoriam.",
|
||||||
"account.joined_short": "بەشداری کردووە",
|
"account.joined_short": "بەشداری کردووە",
|
||||||
"account.languages": "گۆڕینی زمانە بەشداربووەکان",
|
"account.languages": "گۆڕینی زمانە بەشداربووەکان",
|
||||||
"account.link_verified_on": "خاوەنداریەتی ئەم لینکە لە {date} چێک کراوە",
|
"account.link_verified_on": "خاوەنداریەتی ئەم لینکە لە {date} چێک کراوە",
|
||||||
|
@ -442,6 +443,8 @@
|
||||||
"notifications_permission_banner.enable": "چالاککردنی ئاگانامەکانی دێسکتۆپ",
|
"notifications_permission_banner.enable": "چالاککردنی ئاگانامەکانی دێسکتۆپ",
|
||||||
"notifications_permission_banner.how_to_control": "بۆ وەرگرتنی ئاگانامەکان کاتێک ماستۆدۆن نەکراوەیە، ئاگانامەکانی دێسکتۆپ چالاک بکە. دەتوانیت بە وردی کۆنترۆڵی جۆری کارلێکەکان بکەیت کە ئاگانامەکانی دێسکتۆپ دروست دەکەن لە ڕێگەی دوگمەی {icon} لەسەرەوە کاتێک چالاک دەکرێن.",
|
"notifications_permission_banner.how_to_control": "بۆ وەرگرتنی ئاگانامەکان کاتێک ماستۆدۆن نەکراوەیە، ئاگانامەکانی دێسکتۆپ چالاک بکە. دەتوانیت بە وردی کۆنترۆڵی جۆری کارلێکەکان بکەیت کە ئاگانامەکانی دێسکتۆپ دروست دەکەن لە ڕێگەی دوگمەی {icon} لەسەرەوە کاتێک چالاک دەکرێن.",
|
||||||
"notifications_permission_banner.title": "هەرگیز شتێک لە دەست مەدە",
|
"notifications_permission_banner.title": "هەرگیز شتێک لە دەست مەدە",
|
||||||
|
"password_confirmation.exceeds_maxlength": "Password confirmation exceeds the maximum password length",
|
||||||
|
"password_confirmation.mismatching": "Password confirmation does not match",
|
||||||
"picture_in_picture.restore": "بیگەڕێنەوە",
|
"picture_in_picture.restore": "بیگەڕێنەوە",
|
||||||
"poll.closed": "دابخە",
|
"poll.closed": "دابخە",
|
||||||
"poll.refresh": "نوێکردنەوە",
|
"poll.refresh": "نوێکردنەوە",
|
||||||
|
@ -597,6 +600,7 @@
|
||||||
"status.show_more": "زیاتر نیشان بدە",
|
"status.show_more": "زیاتر نیشان بدە",
|
||||||
"status.show_more_all": "زیاتر نیشان بدە بۆ هەمووی",
|
"status.show_more_all": "زیاتر نیشان بدە بۆ هەمووی",
|
||||||
"status.show_original": "پیشاندانی شێوهی ڕاستهقینه",
|
"status.show_original": "پیشاندانی شێوهی ڕاستهقینه",
|
||||||
|
"status.title.with_attachments": "{user} posted {attachmentCount, plural, one {an attachment} other {{attachmentCount} attachments}}",
|
||||||
"status.translate": "وەریبگێرە",
|
"status.translate": "وەریبگێرە",
|
||||||
"status.translated_from_with": "لە {lang} وەرگێڕدراوە بە بەکارهێنانی {provider}",
|
"status.translated_from_with": "لە {lang} وەرگێڕدراوە بە بەکارهێنانی {provider}",
|
||||||
"status.uncached_media_warning": "بەردەست نیە",
|
"status.uncached_media_warning": "بەردەست نیە",
|
||||||
|
@ -649,6 +653,7 @@
|
||||||
"upload_modal.preview_label": "پێشبینین ({ratio})",
|
"upload_modal.preview_label": "پێشبینین ({ratio})",
|
||||||
"upload_progress.label": "بار دەکرێت...",
|
"upload_progress.label": "بار دەکرێت...",
|
||||||
"upload_progress.processing": "جێبەجێکردن...",
|
"upload_progress.processing": "جێبەجێکردن...",
|
||||||
|
"username.taken": "That username is taken. Try another",
|
||||||
"video.close": "داخستنی ڤیدیۆ",
|
"video.close": "داخستنی ڤیدیۆ",
|
||||||
"video.download": "داگرتنی فایل",
|
"video.download": "داگرتنی فایل",
|
||||||
"video.exit_fullscreen": "دەرچوون لە پڕ شاشە",
|
"video.exit_fullscreen": "دەرچوون لە پڕ شاشە",
|
||||||
|
|
|
@ -39,6 +39,7 @@
|
||||||
"account.follows_you": "Vi seguita",
|
"account.follows_you": "Vi seguita",
|
||||||
"account.go_to_profile": "Go to profile",
|
"account.go_to_profile": "Go to profile",
|
||||||
"account.hide_reblogs": "Piattà spartere da @{name}",
|
"account.hide_reblogs": "Piattà spartere da @{name}",
|
||||||
|
"account.in_memoriam": "In Memoriam.",
|
||||||
"account.joined_short": "Joined",
|
"account.joined_short": "Joined",
|
||||||
"account.languages": "Change subscribed languages",
|
"account.languages": "Change subscribed languages",
|
||||||
"account.link_verified_on": "A prupietà di stu ligame hè stata verificata u {date}",
|
"account.link_verified_on": "A prupietà di stu ligame hè stata verificata u {date}",
|
||||||
|
@ -442,6 +443,8 @@
|
||||||
"notifications_permission_banner.enable": "Attivà e nutificazione nant'à l'urdinatore",
|
"notifications_permission_banner.enable": "Attivà e nutificazione nant'à l'urdinatore",
|
||||||
"notifications_permission_banner.how_to_control": "Per riceve nutificazione quandu Mastodon ùn hè micca aperta, attivate e nutificazione nant'à l'urdinatore. Pudete decide quali tippi d'interazione anu da mandà ste nutificazione cù u buttone {icon} quì sopra quandu saranu attivate.",
|
"notifications_permission_banner.how_to_control": "Per riceve nutificazione quandu Mastodon ùn hè micca aperta, attivate e nutificazione nant'à l'urdinatore. Pudete decide quali tippi d'interazione anu da mandà ste nutificazione cù u buttone {icon} quì sopra quandu saranu attivate.",
|
||||||
"notifications_permission_banner.title": "Ùn mancate mai nunda",
|
"notifications_permission_banner.title": "Ùn mancate mai nunda",
|
||||||
|
"password_confirmation.exceeds_maxlength": "Password confirmation exceeds the maximum password length",
|
||||||
|
"password_confirmation.mismatching": "Password confirmation does not match",
|
||||||
"picture_in_picture.restore": "Rimette in piazza",
|
"picture_in_picture.restore": "Rimette in piazza",
|
||||||
"poll.closed": "Chjosu",
|
"poll.closed": "Chjosu",
|
||||||
"poll.refresh": "Attualizà",
|
"poll.refresh": "Attualizà",
|
||||||
|
@ -597,6 +600,7 @@
|
||||||
"status.show_more": "Slibrà",
|
"status.show_more": "Slibrà",
|
||||||
"status.show_more_all": "Slibrà tuttu",
|
"status.show_more_all": "Slibrà tuttu",
|
||||||
"status.show_original": "Show original",
|
"status.show_original": "Show original",
|
||||||
|
"status.title.with_attachments": "{user} posted {attachmentCount, plural, one {an attachment} other {{attachmentCount} attachments}}",
|
||||||
"status.translate": "Translate",
|
"status.translate": "Translate",
|
||||||
"status.translated_from_with": "Translated from {lang} using {provider}",
|
"status.translated_from_with": "Translated from {lang} using {provider}",
|
||||||
"status.uncached_media_warning": "Micca dispunibule",
|
"status.uncached_media_warning": "Micca dispunibule",
|
||||||
|
@ -649,6 +653,7 @@
|
||||||
"upload_modal.preview_label": "Vista ({ratio})",
|
"upload_modal.preview_label": "Vista ({ratio})",
|
||||||
"upload_progress.label": "Caricamentu...",
|
"upload_progress.label": "Caricamentu...",
|
||||||
"upload_progress.processing": "Processing…",
|
"upload_progress.processing": "Processing…",
|
||||||
|
"username.taken": "That username is taken. Try another",
|
||||||
"video.close": "Chjudà a video",
|
"video.close": "Chjudà a video",
|
||||||
"video.download": "Scaricà fugliale",
|
"video.download": "Scaricà fugliale",
|
||||||
"video.exit_fullscreen": "Caccià u pienu screnu",
|
"video.exit_fullscreen": "Caccià u pienu screnu",
|
||||||
|
|
|
@ -39,6 +39,7 @@
|
||||||
"account.follows_you": "Sleduje vás",
|
"account.follows_you": "Sleduje vás",
|
||||||
"account.go_to_profile": "Přejít na profil",
|
"account.go_to_profile": "Přejít na profil",
|
||||||
"account.hide_reblogs": "Skrýt boosty od @{name}",
|
"account.hide_reblogs": "Skrýt boosty od @{name}",
|
||||||
|
"account.in_memoriam": "In Memoriam.",
|
||||||
"account.joined_short": "Připojen/a",
|
"account.joined_short": "Připojen/a",
|
||||||
"account.languages": "Změnit odebírané jazyky",
|
"account.languages": "Změnit odebírané jazyky",
|
||||||
"account.link_verified_on": "Vlastnictví tohoto odkazu bylo zkontrolováno {date}",
|
"account.link_verified_on": "Vlastnictví tohoto odkazu bylo zkontrolováno {date}",
|
||||||
|
@ -314,7 +315,7 @@
|
||||||
"keyboard_shortcuts.column": "Focus na sloupec",
|
"keyboard_shortcuts.column": "Focus na sloupec",
|
||||||
"keyboard_shortcuts.compose": "Zaměřit se na textové pole nového příspěvku",
|
"keyboard_shortcuts.compose": "Zaměřit se na textové pole nového příspěvku",
|
||||||
"keyboard_shortcuts.description": "Popis",
|
"keyboard_shortcuts.description": "Popis",
|
||||||
"keyboard_shortcuts.direct": "to open direct messages column",
|
"keyboard_shortcuts.direct": "otevřít sloupec soukromých zmínek",
|
||||||
"keyboard_shortcuts.down": "Posunout v seznamu dolů",
|
"keyboard_shortcuts.down": "Posunout v seznamu dolů",
|
||||||
"keyboard_shortcuts.enter": "Otevřít příspěvek",
|
"keyboard_shortcuts.enter": "Otevřít příspěvek",
|
||||||
"keyboard_shortcuts.favourite": "Oblíbit si příspěvek",
|
"keyboard_shortcuts.favourite": "Oblíbit si příspěvek",
|
||||||
|
@ -442,6 +443,8 @@
|
||||||
"notifications_permission_banner.enable": "Povolit oznámení na ploše",
|
"notifications_permission_banner.enable": "Povolit oznámení na ploše",
|
||||||
"notifications_permission_banner.how_to_control": "Chcete-li dostávat oznámení, i když nemáte Mastodon otevřený, povolte oznámení na ploše. Můžete si zvolit, o kterých druzích interakcí chcete být oznámením na ploše informování pod tlačítkem {icon} výše.",
|
"notifications_permission_banner.how_to_control": "Chcete-li dostávat oznámení, i když nemáte Mastodon otevřený, povolte oznámení na ploše. Můžete si zvolit, o kterých druzích interakcí chcete být oznámením na ploše informování pod tlačítkem {icon} výše.",
|
||||||
"notifications_permission_banner.title": "Nenechte si nic uniknout",
|
"notifications_permission_banner.title": "Nenechte si nic uniknout",
|
||||||
|
"password_confirmation.exceeds_maxlength": "Potvrzení hesla překračuje maximální délku hesla",
|
||||||
|
"password_confirmation.mismatching": "Zadaná hesla se neshodují",
|
||||||
"picture_in_picture.restore": "Vrátit zpět",
|
"picture_in_picture.restore": "Vrátit zpět",
|
||||||
"poll.closed": "Uzavřeno",
|
"poll.closed": "Uzavřeno",
|
||||||
"poll.refresh": "Obnovit",
|
"poll.refresh": "Obnovit",
|
||||||
|
@ -546,7 +549,7 @@
|
||||||
"server_banner.server_stats": "Statistiky serveru:",
|
"server_banner.server_stats": "Statistiky serveru:",
|
||||||
"sign_in_banner.create_account": "Vytvořit účet",
|
"sign_in_banner.create_account": "Vytvořit účet",
|
||||||
"sign_in_banner.sign_in": "Přihlásit se",
|
"sign_in_banner.sign_in": "Přihlásit se",
|
||||||
"sign_in_banner.text": "Sign in to follow profiles or hashtags, favourite, share and reply to posts. You can also interact from your account on a different server.",
|
"sign_in_banner.text": "Přihlaste se pro sledování profilů nebo hashtagů, označování oblíbených položek, sdílení a odpovídání na příspěvky. Svůj účet můžete používat k interagování i na jiném serveru.",
|
||||||
"status.admin_account": "Otevřít moderátorské rozhraní pro @{name}",
|
"status.admin_account": "Otevřít moderátorské rozhraní pro @{name}",
|
||||||
"status.admin_domain": "Otevřít moderátorské rozhraní pro {domain}",
|
"status.admin_domain": "Otevřít moderátorské rozhraní pro {domain}",
|
||||||
"status.admin_status": "Otevřít tento příspěvek v moderátorském rozhraní",
|
"status.admin_status": "Otevřít tento příspěvek v moderátorském rozhraní",
|
||||||
|
@ -557,7 +560,7 @@
|
||||||
"status.copy": "Zkopírovat odkaz na příspěvek",
|
"status.copy": "Zkopírovat odkaz na příspěvek",
|
||||||
"status.delete": "Smazat",
|
"status.delete": "Smazat",
|
||||||
"status.detailed_status": "Podrobné zobrazení konverzace",
|
"status.detailed_status": "Podrobné zobrazení konverzace",
|
||||||
"status.direct": "Privately mention @{name}",
|
"status.direct": "Soukromě zmínit @{name}",
|
||||||
"status.direct_indicator": "Soukromá zmínka",
|
"status.direct_indicator": "Soukromá zmínka",
|
||||||
"status.edit": "Upravit",
|
"status.edit": "Upravit",
|
||||||
"status.edited": "Upraveno {date}",
|
"status.edited": "Upraveno {date}",
|
||||||
|
@ -597,6 +600,7 @@
|
||||||
"status.show_more": "Zobrazit více",
|
"status.show_more": "Zobrazit více",
|
||||||
"status.show_more_all": "Zobrazit více pro všechny",
|
"status.show_more_all": "Zobrazit více pro všechny",
|
||||||
"status.show_original": "Zobrazit originál",
|
"status.show_original": "Zobrazit originál",
|
||||||
|
"status.title.with_attachments": "{user} zveřejnil {attachmentCount, plural, one {přílohu} few {{attachmentCount} přílohy} many {{attachmentCount} příloh} other {{attachmentCount} příloh}}",
|
||||||
"status.translate": "Přeložit",
|
"status.translate": "Přeložit",
|
||||||
"status.translated_from_with": "Přeloženo z {lang} pomocí {provider}",
|
"status.translated_from_with": "Přeloženo z {lang} pomocí {provider}",
|
||||||
"status.uncached_media_warning": "Nedostupné",
|
"status.uncached_media_warning": "Nedostupné",
|
||||||
|
@ -649,6 +653,7 @@
|
||||||
"upload_modal.preview_label": "Náhled ({ratio})",
|
"upload_modal.preview_label": "Náhled ({ratio})",
|
||||||
"upload_progress.label": "Nahrávání...",
|
"upload_progress.label": "Nahrávání...",
|
||||||
"upload_progress.processing": "Zpracovávání…",
|
"upload_progress.processing": "Zpracovávání…",
|
||||||
|
"username.taken": "Toto uživatelské jméno je obsazeno. Zkuste jiné",
|
||||||
"video.close": "Zavřít video",
|
"video.close": "Zavřít video",
|
||||||
"video.download": "Stáhnout soubor",
|
"video.download": "Stáhnout soubor",
|
||||||
"video.exit_fullscreen": "Ukončit režim celé obrazovky",
|
"video.exit_fullscreen": "Ukončit režim celé obrazovky",
|
||||||
|
|
|
@ -1,662 +0,0 @@
|
||||||
{
|
|
||||||
"about.blocks": "Moderated servers",
|
|
||||||
"about.contact": "Contact:",
|
|
||||||
"about.disclaimer": "Mastodon is free, open-source software, and a trademark of Mastodon gGmbH.",
|
|
||||||
"about.domain_blocks.no_reason_available": "Reason not available",
|
|
||||||
"about.domain_blocks.preamble": "Mastodon generally allows you to view content from and interact with users from any other server in the fediverse. These are the exceptions that have been made on this particular server.",
|
|
||||||
"about.domain_blocks.silenced.explanation": "You will generally not see profiles and content from this server, unless you explicitly look it up or opt into it by following.",
|
|
||||||
"about.domain_blocks.silenced.title": "Limited",
|
|
||||||
"about.domain_blocks.suspended.explanation": "No data from this server will be processed, stored or exchanged, making any interaction or communication with users from this server impossible.",
|
|
||||||
"about.domain_blocks.suspended.title": "Suspended",
|
|
||||||
"about.not_available": "This information has not been made available on this server.",
|
|
||||||
"about.powered_by": "Decentralized social media powered by {mastodon}",
|
|
||||||
"about.rules": "Server rules",
|
|
||||||
"account.account_note_header": "Note",
|
|
||||||
"account.add_or_remove_from_list": "Add or Remove from lists",
|
|
||||||
"account.badges.bot": "Bot",
|
|
||||||
"account.badges.group": "Group",
|
|
||||||
"account.block": "Block @{name}",
|
|
||||||
"account.block_domain": "Block domain {domain}",
|
|
||||||
"account.blocked": "Blocked",
|
|
||||||
"account.browse_more_on_origin_server": "Browse more on the original profile",
|
|
||||||
"account.cancel_follow_request": "Withdraw follow request",
|
|
||||||
"account.direct": "Privately mention @{name}",
|
|
||||||
"account.disable_notifications": "Stop notifying me when @{name} posts",
|
|
||||||
"account.domain_blocked": "Domain blocked",
|
|
||||||
"account.edit_profile": "Edit profile",
|
|
||||||
"account.enable_notifications": "Notify me when @{name} posts",
|
|
||||||
"account.endorse": "Feature on profile",
|
|
||||||
"account.featured_tags.last_status_at": "Last post on {date}",
|
|
||||||
"account.featured_tags.last_status_never": "No posts",
|
|
||||||
"account.featured_tags.title": "{name}'s featured hashtags",
|
|
||||||
"account.follow": "Follow",
|
|
||||||
"account.followers": "Followers",
|
|
||||||
"account.followers.empty": "No one follows this user yet.",
|
|
||||||
"account.followers_counter": "{count, plural, one {{counter} Follower} other {{counter} Followers}}",
|
|
||||||
"account.following": "Following",
|
|
||||||
"account.following_counter": "{count, plural, one {{counter} Following} other {{counter} Following}}",
|
|
||||||
"account.follows.empty": "This user doesn't follow anyone yet.",
|
|
||||||
"account.follows_you": "Follows you",
|
|
||||||
"account.go_to_profile": "Go to profile",
|
|
||||||
"account.hide_reblogs": "Hide boosts from @{name}",
|
|
||||||
"account.joined_short": "Joined",
|
|
||||||
"account.languages": "Change subscribed languages",
|
|
||||||
"account.link_verified_on": "Ownership of this link was checked on {date}",
|
|
||||||
"account.locked_info": "This account privacy status is set to locked. The owner manually reviews who can follow them.",
|
|
||||||
"account.media": "Media",
|
|
||||||
"account.mention": "Mention @{name}",
|
|
||||||
"account.moved_to": "{name} has indicated that their new account is now:",
|
|
||||||
"account.mute": "Mute @{name}",
|
|
||||||
"account.mute_notifications": "Mute notifications from @{name}",
|
|
||||||
"account.muted": "Muted",
|
|
||||||
"account.open_original_page": "Open original page",
|
|
||||||
"account.posts": "Posts",
|
|
||||||
"account.posts_with_replies": "Posts and replies",
|
|
||||||
"account.report": "Report @{name}",
|
|
||||||
"account.requested": "Awaiting approval. Click to cancel follow request",
|
|
||||||
"account.requested_follow": "{name} has requested to follow you",
|
|
||||||
"account.share": "Share @{name}'s profile",
|
|
||||||
"account.show_reblogs": "Show boosts from @{name}",
|
|
||||||
"account.statuses_counter": "{count, plural, one {{counter} Post} other {{counter} Posts}}",
|
|
||||||
"account.unblock": "Unblock @{name}",
|
|
||||||
"account.unblock_domain": "Unblock domain {domain}",
|
|
||||||
"account.unblock_short": "Unblock",
|
|
||||||
"account.unendorse": "Don't feature on profile",
|
|
||||||
"account.unfollow": "Unfollow",
|
|
||||||
"account.unmute": "Unmute @{name}",
|
|
||||||
"account.unmute_notifications": "Unmute notifications from @{name}",
|
|
||||||
"account.unmute_short": "Unmute",
|
|
||||||
"account_note.placeholder": "Click to add a note",
|
|
||||||
"admin.dashboard.daily_retention": "User retention rate by day after sign-up",
|
|
||||||
"admin.dashboard.monthly_retention": "User retention rate by month after sign-up",
|
|
||||||
"admin.dashboard.retention.average": "Average",
|
|
||||||
"admin.dashboard.retention.cohort": "Sign-up month",
|
|
||||||
"admin.dashboard.retention.cohort_size": "New users",
|
|
||||||
"alert.rate_limited.message": "Please retry after {retry_time, time, medium}.",
|
|
||||||
"alert.rate_limited.title": "Rate limited",
|
|
||||||
"alert.unexpected.message": "An unexpected error occurred.",
|
|
||||||
"alert.unexpected.title": "Oops!",
|
|
||||||
"announcement.announcement": "Announcement",
|
|
||||||
"attachments_list.unprocessed": "(unprocessed)",
|
|
||||||
"audio.hide": "Hide audio",
|
|
||||||
"autosuggest_hashtag.per_week": "{count} per week",
|
|
||||||
"boost_modal.combo": "You can press {combo} to skip this next time",
|
|
||||||
"bundle_column_error.copy_stacktrace": "Copy error report",
|
|
||||||
"bundle_column_error.error.body": "The requested page could not be rendered. It could be due to a bug in our code, or a browser compatibility issue.",
|
|
||||||
"bundle_column_error.error.title": "Oh, no!",
|
|
||||||
"bundle_column_error.network.body": "There was an error when trying to load this page. This could be due to a temporary problem with your internet connection or this server.",
|
|
||||||
"bundle_column_error.network.title": "Network error",
|
|
||||||
"bundle_column_error.retry": "Try again",
|
|
||||||
"bundle_column_error.return": "Go back home",
|
|
||||||
"bundle_column_error.routing.body": "The requested page could not be found. Are you sure the URL in the address bar is correct?",
|
|
||||||
"bundle_column_error.routing.title": "404",
|
|
||||||
"bundle_modal_error.close": "Close",
|
|
||||||
"bundle_modal_error.message": "Something went wrong while loading this component.",
|
|
||||||
"bundle_modal_error.retry": "Try again",
|
|
||||||
"closed_registrations.other_server_instructions": "Since Mastodon is decentralized, you can create an account on another server and still interact with this one.",
|
|
||||||
"closed_registrations_modal.description": "Creating an account on {domain} is currently not possible, but please keep in mind that you do not need an account specifically on {domain} to use Mastodon.",
|
|
||||||
"closed_registrations_modal.find_another_server": "Find another server",
|
|
||||||
"closed_registrations_modal.preamble": "Mastodon is decentralized, so no matter where you create your account, you will be able to follow and interact with anyone on this server. You can even self-host it!",
|
|
||||||
"closed_registrations_modal.title": "Signing up on Mastodon",
|
|
||||||
"column.about": "About",
|
|
||||||
"column.blocks": "Blocked users",
|
|
||||||
"column.bookmarks": "Bookmarks",
|
|
||||||
"column.community": "Local timeline",
|
|
||||||
"column.direct": "Private mentions",
|
|
||||||
"column.directory": "Browse profiles",
|
|
||||||
"column.domain_blocks": "Blocked domains",
|
|
||||||
"column.favourites": "Favourites",
|
|
||||||
"column.follow_requests": "Follow requests",
|
|
||||||
"column.home": "Home",
|
|
||||||
"column.lists": "Lists",
|
|
||||||
"column.mutes": "Muted users",
|
|
||||||
"column.notifications": "Notifications",
|
|
||||||
"column.pins": "Pinned post",
|
|
||||||
"column.public": "Federated timeline",
|
|
||||||
"column_back_button.label": "Back",
|
|
||||||
"column_header.hide_settings": "Hide settings",
|
|
||||||
"column_header.moveLeft_settings": "Move column to the left",
|
|
||||||
"column_header.moveRight_settings": "Move column to the right",
|
|
||||||
"column_header.pin": "Pin",
|
|
||||||
"column_header.show_settings": "Show settings",
|
|
||||||
"column_header.unpin": "Unpin",
|
|
||||||
"column_subheading.settings": "Settings",
|
|
||||||
"community.column_settings.local_only": "Local only",
|
|
||||||
"community.column_settings.media_only": "Media only",
|
|
||||||
"community.column_settings.remote_only": "Remote only",
|
|
||||||
"compose.language.change": "Change language",
|
|
||||||
"compose.language.search": "Search languages...",
|
|
||||||
"compose_form.direct_message_warning_learn_more": "Learn more",
|
|
||||||
"compose_form.encryption_warning": "Posts on Mastodon are not end-to-end encrypted. Do not share any dangerous information over Mastodon.",
|
|
||||||
"compose_form.hashtag_warning": "This post won't be listed under any hashtag as it is unlisted. Only public posts can be searched by hashtag.",
|
|
||||||
"compose_form.lock_disclaimer": "Your account is not {locked}. Anyone can follow you to view your follower-only posts.",
|
|
||||||
"compose_form.lock_disclaimer.lock": "locked",
|
|
||||||
"compose_form.placeholder": "What is on your mind?",
|
|
||||||
"compose_form.poll.add_option": "Add a choice",
|
|
||||||
"compose_form.poll.duration": "Poll duration",
|
|
||||||
"compose_form.poll.option_placeholder": "Choice {number}",
|
|
||||||
"compose_form.poll.remove_option": "Remove this choice",
|
|
||||||
"compose_form.poll.switch_to_multiple": "Change poll to allow multiple choices",
|
|
||||||
"compose_form.poll.switch_to_single": "Change poll to allow for a single choice",
|
|
||||||
"compose_form.publish": "Publish",
|
|
||||||
"compose_form.publish_form": "Publish",
|
|
||||||
"compose_form.publish_loud": "{publish}!",
|
|
||||||
"compose_form.save_changes": "Save changes",
|
|
||||||
"compose_form.sensitive.hide": "{count, plural, one {Mark media as sensitive} other {Mark media as sensitive}}",
|
|
||||||
"compose_form.sensitive.marked": "{count, plural, one {Media is marked as sensitive} other {Media is marked as sensitive}}",
|
|
||||||
"compose_form.sensitive.unmarked": "{count, plural, one {Media is not marked as sensitive} other {Media is not marked as sensitive}}",
|
|
||||||
"compose_form.spoiler.marked": "Text is hidden behind warning",
|
|
||||||
"compose_form.spoiler.unmarked": "Text is not hidden",
|
|
||||||
"compose_form.spoiler_placeholder": "Write your warning here",
|
|
||||||
"confirmation_modal.cancel": "Cancel",
|
|
||||||
"confirmations.block.block_and_report": "Block & Report",
|
|
||||||
"confirmations.block.confirm": "Block",
|
|
||||||
"confirmations.block.message": "Are you sure you want to block {name}?",
|
|
||||||
"confirmations.cancel_follow_request.confirm": "Withdraw request",
|
|
||||||
"confirmations.cancel_follow_request.message": "Are you sure you want to withdraw your request to follow {name}?",
|
|
||||||
"confirmations.delete.confirm": "Delete",
|
|
||||||
"confirmations.delete.message": "Are you sure you want to delete this status?",
|
|
||||||
"confirmations.delete_list.confirm": "Delete",
|
|
||||||
"confirmations.delete_list.message": "Are you sure you want to permanently delete this list?",
|
|
||||||
"confirmations.discard_edit_media.confirm": "Discard",
|
|
||||||
"confirmations.discard_edit_media.message": "You have unsaved changes to the media description or preview, discard them anyway?",
|
|
||||||
"confirmations.domain_block.confirm": "Hide entire domain",
|
|
||||||
"confirmations.domain_block.message": "Are you really, really sure you want to block the entire {domain}? In most cases a few targeted blocks or mutes are sufficient and preferable. You will not see content from that domain in any public timelines or your notifications. Your followers from that domain will be removed.",
|
|
||||||
"confirmations.edit.confirm": "Edit",
|
|
||||||
"confirmations.edit.message": "Editing now will overwrite the message you are currently composing. Are you sure you want to proceed?",
|
|
||||||
"confirmations.logout.confirm": "Log out",
|
|
||||||
"confirmations.logout.message": "Are you sure you want to log out?",
|
|
||||||
"confirmations.mute.confirm": "Mute",
|
|
||||||
"confirmations.mute.explanation": "This will hide posts from them and posts mentioning them, but it will still allow them to see your posts and follow you.",
|
|
||||||
"confirmations.mute.message": "Are you sure you want to mute {name}?",
|
|
||||||
"confirmations.redraft.confirm": "Delete & redraft",
|
|
||||||
"confirmations.redraft.message": "Are you sure you want to delete this status and re-draft it? Favourites and boosts will be lost, and replies to the original post will be orphaned.",
|
|
||||||
"confirmations.reply.confirm": "Reply",
|
|
||||||
"confirmations.reply.message": "Replying now will overwrite the message you are currently composing. Are you sure you want to proceed?",
|
|
||||||
"confirmations.unfollow.confirm": "Unfollow",
|
|
||||||
"confirmations.unfollow.message": "Are you sure you want to unfollow {name}?",
|
|
||||||
"conversation.delete": "Delete conversation",
|
|
||||||
"conversation.mark_as_read": "Mark as read",
|
|
||||||
"conversation.open": "View conversation",
|
|
||||||
"conversation.with": "With {names}",
|
|
||||||
"copypaste.copied": "Copied",
|
|
||||||
"copypaste.copy": "Copy",
|
|
||||||
"directory.federated": "From known fediverse",
|
|
||||||
"directory.local": "From {domain} only",
|
|
||||||
"directory.new_arrivals": "New arrivals",
|
|
||||||
"directory.recently_active": "Recently active",
|
|
||||||
"disabled_account_banner.account_settings": "Account settings",
|
|
||||||
"disabled_account_banner.text": "Your account {disabledAccount} is currently disabled.",
|
|
||||||
"dismissable_banner.community_timeline": "These are the most recent public posts from people whose accounts are hosted by {domain}.",
|
|
||||||
"dismissable_banner.dismiss": "Dismiss",
|
|
||||||
"dismissable_banner.explore_links": "These news stories are being talked about by people on this and other servers of the decentralized network right now.",
|
|
||||||
"dismissable_banner.explore_statuses": "These posts from this and other servers in the decentralized network are gaining traction on this server right now.",
|
|
||||||
"dismissable_banner.explore_tags": "These hashtags are gaining traction among people on this and other servers of the decentralized network right now.",
|
|
||||||
"dismissable_banner.public_timeline": "These are the most recent public posts from people on this and other servers of the decentralized network that this server knows about.",
|
|
||||||
"embed.instructions": "Embed this status on your website by copying the code below.",
|
|
||||||
"embed.preview": "Here is what it will look like:",
|
|
||||||
"emoji_button.activity": "Activity",
|
|
||||||
"emoji_button.clear": "Clear",
|
|
||||||
"emoji_button.custom": "Custom",
|
|
||||||
"emoji_button.flags": "Flags",
|
|
||||||
"emoji_button.food": "Food & Drink",
|
|
||||||
"emoji_button.label": "Insert emoji",
|
|
||||||
"emoji_button.nature": "Nature",
|
|
||||||
"emoji_button.not_found": "No matching emojis found",
|
|
||||||
"emoji_button.objects": "Objects",
|
|
||||||
"emoji_button.people": "People",
|
|
||||||
"emoji_button.recent": "Frequently used",
|
|
||||||
"emoji_button.search": "Search...",
|
|
||||||
"emoji_button.search_results": "Search results",
|
|
||||||
"emoji_button.symbols": "Symbols",
|
|
||||||
"emoji_button.travel": "Travel & Places",
|
|
||||||
"empty_column.account_suspended": "Account suspended",
|
|
||||||
"empty_column.account_timeline": "No posts found",
|
|
||||||
"empty_column.account_unavailable": "Profile unavailable",
|
|
||||||
"empty_column.blocks": "You haven't blocked any users yet.",
|
|
||||||
"empty_column.bookmarked_statuses": "You don't have any bookmarked posts yet. When you bookmark one, it will show up here.",
|
|
||||||
"empty_column.community": "The local timeline is empty. Write something publicly to get the ball rolling!",
|
|
||||||
"empty_column.direct": "You don't have any private mentions yet. When you send or receive one, it will show up here.",
|
|
||||||
"empty_column.domain_blocks": "There are no blocked domains yet.",
|
|
||||||
"empty_column.explore_statuses": "Nothing is trending right now. Check back later!",
|
|
||||||
"empty_column.favourited_statuses": "You don't have any favourite posts yet. When you favourite one, it will show up here.",
|
|
||||||
"empty_column.favourites": "No one has favourited this post yet. When someone does, they will show up here.",
|
|
||||||
"empty_column.follow_recommendations": "Looks like no suggestions could be generated for you. You can try using search to look for people you might know or explore trending hashtags.",
|
|
||||||
"empty_column.follow_requests": "You don't have any follow requests yet. When you receive one, it will show up here.",
|
|
||||||
"empty_column.followed_tags": "You have not followed any hashtags yet. When you do, they will show up here.",
|
|
||||||
"empty_column.hashtag": "There is nothing in this hashtag yet.",
|
|
||||||
"empty_column.home": "Your home timeline is empty! Follow more people to fill it up. {suggestions}",
|
|
||||||
"empty_column.home.suggestions": "See some suggestions",
|
|
||||||
"empty_column.list": "There is nothing in this list yet. When members of this list post new statuses, they will appear here.",
|
|
||||||
"empty_column.lists": "You don't have any lists yet. When you create one, it will show up here.",
|
|
||||||
"empty_column.mutes": "You haven't muted any users yet.",
|
|
||||||
"empty_column.notifications": "You don't have any notifications yet. When other people interact with you, you will see it here.",
|
|
||||||
"empty_column.public": "There is nothing here! Write something publicly, or manually follow users from other servers to fill it up",
|
|
||||||
"error.unexpected_crash.explanation": "Due to a bug in our code or a browser compatibility issue, this page could not be displayed correctly.",
|
|
||||||
"error.unexpected_crash.explanation_addons": "This page could not be displayed correctly. This error is likely caused by a browser add-on or automatic translation tools.",
|
|
||||||
"error.unexpected_crash.next_steps": "Try refreshing the page. If that does not help, you may still be able to use Mastodon through a different browser or native app.",
|
|
||||||
"error.unexpected_crash.next_steps_addons": "Try disabling them and refreshing the page. If that does not help, you may still be able to use Mastodon through a different browser or native app.",
|
|
||||||
"errors.unexpected_crash.copy_stacktrace": "Copy stacktrace to clipboard",
|
|
||||||
"errors.unexpected_crash.report_issue": "Report issue",
|
|
||||||
"explore.search_results": "Search results",
|
|
||||||
"explore.suggested_follows": "For you",
|
|
||||||
"explore.title": "Explore",
|
|
||||||
"explore.trending_links": "News",
|
|
||||||
"explore.trending_statuses": "Posts",
|
|
||||||
"explore.trending_tags": "Hashtags",
|
|
||||||
"filter_modal.added.context_mismatch_explanation": "This filter category does not apply to the context in which you have accessed this post. If you want the post to be filtered in this context too, you will have to edit the filter.",
|
|
||||||
"filter_modal.added.context_mismatch_title": "Context mismatch!",
|
|
||||||
"filter_modal.added.expired_explanation": "This filter category has expired, you will need to change the expiration date for it to apply.",
|
|
||||||
"filter_modal.added.expired_title": "Expired filter!",
|
|
||||||
"filter_modal.added.review_and_configure": "To review and further configure this filter category, go to the {settings_link}.",
|
|
||||||
"filter_modal.added.review_and_configure_title": "Filter settings",
|
|
||||||
"filter_modal.added.settings_link": "settings page",
|
|
||||||
"filter_modal.added.short_explanation": "This post has been added to the following filter category: {title}.",
|
|
||||||
"filter_modal.added.title": "Filter added!",
|
|
||||||
"filter_modal.select_filter.context_mismatch": "does not apply to this context",
|
|
||||||
"filter_modal.select_filter.expired": "expired",
|
|
||||||
"filter_modal.select_filter.prompt_new": "New category: {name}",
|
|
||||||
"filter_modal.select_filter.search": "Search or create",
|
|
||||||
"filter_modal.select_filter.subtitle": "Use an existing category or create a new one",
|
|
||||||
"filter_modal.select_filter.title": "Filter this post",
|
|
||||||
"filter_modal.title.status": "Filter a post",
|
|
||||||
"follow_recommendations.done": "Done",
|
|
||||||
"follow_recommendations.heading": "Follow people you'd like to see posts from! Here are some suggestions.",
|
|
||||||
"follow_recommendations.lead": "Posts from people you follow will show up in chronological order on your home feed. Don't be afraid to make mistakes, you can unfollow people just as easily any time!",
|
|
||||||
"follow_request.authorize": "Authorize",
|
|
||||||
"follow_request.reject": "Reject",
|
|
||||||
"follow_requests.unlocked_explanation": "Even though your account is not locked, the {domain} staff thought you might want to review follow requests from these accounts manually.",
|
|
||||||
"followed_tags": "Followed hashtags",
|
|
||||||
"footer.about": "About",
|
|
||||||
"footer.directory": "Profiles directory",
|
|
||||||
"footer.get_app": "Get the app",
|
|
||||||
"footer.invite": "Invite people",
|
|
||||||
"footer.keyboard_shortcuts": "Keyboard shortcuts",
|
|
||||||
"footer.privacy_policy": "Privacy policy",
|
|
||||||
"footer.source_code": "View source code",
|
|
||||||
"footer.status": "Status",
|
|
||||||
"generic.saved": "Saved",
|
|
||||||
"getting_started.heading": "Getting started",
|
|
||||||
"hashtag.column_header.tag_mode.all": "and {additional}",
|
|
||||||
"hashtag.column_header.tag_mode.any": "or {additional}",
|
|
||||||
"hashtag.column_header.tag_mode.none": "without {additional}",
|
|
||||||
"hashtag.column_settings.select.no_options_message": "No suggestions found",
|
|
||||||
"hashtag.column_settings.select.placeholder": "Enter hashtags…",
|
|
||||||
"hashtag.column_settings.tag_mode.all": "All of these",
|
|
||||||
"hashtag.column_settings.tag_mode.any": "Any of these",
|
|
||||||
"hashtag.column_settings.tag_mode.none": "None of these",
|
|
||||||
"hashtag.column_settings.tag_toggle": "Include additional tags in this column",
|
|
||||||
"hashtag.follow": "Follow hashtag",
|
|
||||||
"hashtag.unfollow": "Unfollow hashtag",
|
|
||||||
"home.column_settings.basic": "Basic",
|
|
||||||
"home.column_settings.show_reblogs": "Show boosts",
|
|
||||||
"home.column_settings.show_replies": "Show replies",
|
|
||||||
"home.hide_announcements": "Hide announcements",
|
|
||||||
"home.show_announcements": "Show announcements",
|
|
||||||
"interaction_modal.description.favourite": "With an account on Mastodon, you can favourite this post to let the author know you appreciate it and save it for later.",
|
|
||||||
"interaction_modal.description.follow": "With an account on Mastodon, you can follow {name} to receive their posts in your home feed.",
|
|
||||||
"interaction_modal.description.reblog": "With an account on Mastodon, you can boost this post to share it with your own followers.",
|
|
||||||
"interaction_modal.description.reply": "With an account on Mastodon, you can respond to this post.",
|
|
||||||
"interaction_modal.on_another_server": "On a different server",
|
|
||||||
"interaction_modal.on_this_server": "On this server",
|
|
||||||
"interaction_modal.other_server_instructions": "Copy and paste this URL into the search field of your favourite Mastodon app or the web interface of your Mastodon server.",
|
|
||||||
"interaction_modal.preamble": "Since Mastodon is decentralized, you can use your existing account hosted by another Mastodon server or compatible platform if you don't have an account on this one.",
|
|
||||||
"interaction_modal.title.favourite": "Favourite {name}'s post",
|
|
||||||
"interaction_modal.title.follow": "Follow {name}",
|
|
||||||
"interaction_modal.title.reblog": "Boost {name}'s post",
|
|
||||||
"interaction_modal.title.reply": "Reply to {name}'s post",
|
|
||||||
"intervals.full.days": "{number, plural, one {# day} other {# days}}",
|
|
||||||
"intervals.full.hours": "{number, plural, one {# hour} other {# hours}}",
|
|
||||||
"intervals.full.minutes": "{number, plural, one {# minute} other {# minutes}}",
|
|
||||||
"keyboard_shortcuts.back": "to navigate back",
|
|
||||||
"keyboard_shortcuts.blocked": "to open blocked users list",
|
|
||||||
"keyboard_shortcuts.boost": "to boost",
|
|
||||||
"keyboard_shortcuts.column": "to focus a status in one of the columns",
|
|
||||||
"keyboard_shortcuts.compose": "to focus the compose textarea",
|
|
||||||
"keyboard_shortcuts.description": "Description",
|
|
||||||
"keyboard_shortcuts.direct": "to open direct messages column",
|
|
||||||
"keyboard_shortcuts.down": "to move down in the list",
|
|
||||||
"keyboard_shortcuts.enter": "to open status",
|
|
||||||
"keyboard_shortcuts.favourite": "to favourite",
|
|
||||||
"keyboard_shortcuts.favourites": "to open favourites list",
|
|
||||||
"keyboard_shortcuts.federated": "to open federated timeline",
|
|
||||||
"keyboard_shortcuts.heading": "Keyboard Shortcuts",
|
|
||||||
"keyboard_shortcuts.home": "to open home timeline",
|
|
||||||
"keyboard_shortcuts.hotkey": "Hotkey",
|
|
||||||
"keyboard_shortcuts.legend": "to display this legend",
|
|
||||||
"keyboard_shortcuts.local": "to open local timeline",
|
|
||||||
"keyboard_shortcuts.mention": "to mention author",
|
|
||||||
"keyboard_shortcuts.muted": "to open muted users list",
|
|
||||||
"keyboard_shortcuts.my_profile": "to open your profile",
|
|
||||||
"keyboard_shortcuts.notifications": "to open notifications column",
|
|
||||||
"keyboard_shortcuts.open_media": "to open media",
|
|
||||||
"keyboard_shortcuts.pinned": "to open pinned posts list",
|
|
||||||
"keyboard_shortcuts.profile": "to open author's profile",
|
|
||||||
"keyboard_shortcuts.reply": "to reply",
|
|
||||||
"keyboard_shortcuts.requests": "to open follow requests list",
|
|
||||||
"keyboard_shortcuts.search": "to focus search",
|
|
||||||
"keyboard_shortcuts.spoilers": "to show/hide CW field",
|
|
||||||
"keyboard_shortcuts.start": "to open \"get started\" column",
|
|
||||||
"keyboard_shortcuts.toggle_hidden": "to show/hide text behind CW",
|
|
||||||
"keyboard_shortcuts.toggle_sensitivity": "to show/hide media",
|
|
||||||
"keyboard_shortcuts.toot": "to start a brand new post",
|
|
||||||
"keyboard_shortcuts.unfocus": "to un-focus compose textarea/search",
|
|
||||||
"keyboard_shortcuts.up": "to move up in the list",
|
|
||||||
"lightbox.close": "Close",
|
|
||||||
"lightbox.compress": "Compress image view box",
|
|
||||||
"lightbox.expand": "Expand image view box",
|
|
||||||
"lightbox.next": "Next",
|
|
||||||
"lightbox.previous": "Previous",
|
|
||||||
"limited_account_hint.action": "Show profile anyway",
|
|
||||||
"limited_account_hint.title": "This profile has been hidden by the moderators of {domain}.",
|
|
||||||
"lists.account.add": "Add to list",
|
|
||||||
"lists.account.remove": "Remove from list",
|
|
||||||
"lists.delete": "Delete list",
|
|
||||||
"lists.edit": "Edit list",
|
|
||||||
"lists.edit.submit": "Change title",
|
|
||||||
"lists.new.create": "Add list",
|
|
||||||
"lists.new.title_placeholder": "New list title",
|
|
||||||
"lists.replies_policy.followed": "Any followed user",
|
|
||||||
"lists.replies_policy.list": "Members of the list",
|
|
||||||
"lists.replies_policy.none": "No one",
|
|
||||||
"lists.replies_policy.title": "Show replies to:",
|
|
||||||
"lists.search": "Search among people you follow",
|
|
||||||
"lists.subheading": "Your lists",
|
|
||||||
"load_pending": "{count, plural, one {# new item} other {# new items}}",
|
|
||||||
"loading_indicator.label": "Loading...",
|
|
||||||
"media_gallery.toggle_visible": "{number, plural, one {Hide image} other {Hide images}}",
|
|
||||||
"moved_to_account_banner.text": "Your account {disabledAccount} is currently disabled because you moved to {movedToAccount}.",
|
|
||||||
"mute_modal.duration": "Duration",
|
|
||||||
"mute_modal.hide_notifications": "Hide notifications from this user?",
|
|
||||||
"mute_modal.indefinite": "Indefinite",
|
|
||||||
"navigation_bar.about": "About",
|
|
||||||
"navigation_bar.blocks": "Blocked users",
|
|
||||||
"navigation_bar.bookmarks": "Bookmarks",
|
|
||||||
"navigation_bar.community_timeline": "Local timeline",
|
|
||||||
"navigation_bar.compose": "Compose new post",
|
|
||||||
"navigation_bar.direct": "Private mentions",
|
|
||||||
"navigation_bar.discover": "Discover",
|
|
||||||
"navigation_bar.domain_blocks": "Hidden domains",
|
|
||||||
"navigation_bar.edit_profile": "Edit profile",
|
|
||||||
"navigation_bar.explore": "Explore",
|
|
||||||
"navigation_bar.favourites": "Favourites",
|
|
||||||
"navigation_bar.filters": "Muted words",
|
|
||||||
"navigation_bar.follow_requests": "Follow requests",
|
|
||||||
"navigation_bar.followed_tags": "Followed hashtags",
|
|
||||||
"navigation_bar.follows_and_followers": "Follows and followers",
|
|
||||||
"navigation_bar.lists": "Lists",
|
|
||||||
"navigation_bar.logout": "Logout",
|
|
||||||
"navigation_bar.mutes": "Muted users",
|
|
||||||
"navigation_bar.personal": "Personal",
|
|
||||||
"navigation_bar.pins": "Pinned posts",
|
|
||||||
"navigation_bar.preferences": "Preferences",
|
|
||||||
"navigation_bar.public_timeline": "Federated timeline",
|
|
||||||
"navigation_bar.search": "Search",
|
|
||||||
"navigation_bar.security": "Security",
|
|
||||||
"not_signed_in_indicator.not_signed_in": "You need to sign in to access this resource.",
|
|
||||||
"notification.admin.report": "{name} reported {target}",
|
|
||||||
"notification.admin.sign_up": "{name} signed up",
|
|
||||||
"notification.favourite": "{name} favourited your status",
|
|
||||||
"notification.follow": "{name} followed you",
|
|
||||||
"notification.follow_request": "{name} has requested to follow you",
|
|
||||||
"notification.mention": "{name} mentioned you",
|
|
||||||
"notification.own_poll": "Your poll has ended",
|
|
||||||
"notification.poll": "A poll you have voted in has ended",
|
|
||||||
"notification.reblog": "{name} boosted your status",
|
|
||||||
"notification.status": "{name} just posted",
|
|
||||||
"notification.update": "{name} edited a post",
|
|
||||||
"notifications.clear": "Clear notifications",
|
|
||||||
"notifications.clear_confirmation": "Are you sure you want to permanently clear all your notifications?",
|
|
||||||
"notifications.column_settings.admin.report": "New reports:",
|
|
||||||
"notifications.column_settings.admin.sign_up": "New sign-ups:",
|
|
||||||
"notifications.column_settings.alert": "Desktop notifications",
|
|
||||||
"notifications.column_settings.favourite": "Favourites:",
|
|
||||||
"notifications.column_settings.filter_bar.advanced": "Display all categories",
|
|
||||||
"notifications.column_settings.filter_bar.category": "Quick filter bar",
|
|
||||||
"notifications.column_settings.filter_bar.show_bar": "Show filter bar",
|
|
||||||
"notifications.column_settings.follow": "New followers:",
|
|
||||||
"notifications.column_settings.follow_request": "New follow requests:",
|
|
||||||
"notifications.column_settings.mention": "Mentions:",
|
|
||||||
"notifications.column_settings.poll": "Poll results:",
|
|
||||||
"notifications.column_settings.push": "Push notifications",
|
|
||||||
"notifications.column_settings.reblog": "Boosts:",
|
|
||||||
"notifications.column_settings.show": "Show in column",
|
|
||||||
"notifications.column_settings.sound": "Play sound",
|
|
||||||
"notifications.column_settings.status": "New posts:",
|
|
||||||
"notifications.column_settings.unread_notifications.category": "Unread notifications",
|
|
||||||
"notifications.column_settings.unread_notifications.highlight": "Highlight unread notifications",
|
|
||||||
"notifications.column_settings.update": "Edits:",
|
|
||||||
"notifications.filter.all": "All",
|
|
||||||
"notifications.filter.boosts": "Boosts",
|
|
||||||
"notifications.filter.favourites": "Favourites",
|
|
||||||
"notifications.filter.follows": "Follows",
|
|
||||||
"notifications.filter.mentions": "Mentions",
|
|
||||||
"notifications.filter.polls": "Poll results",
|
|
||||||
"notifications.filter.statuses": "Updates from people you follow",
|
|
||||||
"notifications.grant_permission": "Grant permission.",
|
|
||||||
"notifications.group": "{count} notifications",
|
|
||||||
"notifications.mark_as_read": "Mark every notification as read",
|
|
||||||
"notifications.permission_denied": "Desktop notifications are unavailable due to previously denied browser permissions request",
|
|
||||||
"notifications.permission_denied_alert": "Desktop notifications can't be enabled, as browser permission has been denied before",
|
|
||||||
"notifications.permission_required": "Desktop notifications are unavailable because the required permission has not been granted.",
|
|
||||||
"notifications_permission_banner.enable": "Enable desktop notifications",
|
|
||||||
"notifications_permission_banner.how_to_control": "To receive notifications when Mastodon isn't open, enable desktop notifications. You can control precisely which types of interactions generate desktop notifications through the {icon} button above once they're enabled.",
|
|
||||||
"notifications_permission_banner.title": "Never miss a thing",
|
|
||||||
"picture_in_picture.restore": "Put it back",
|
|
||||||
"poll.closed": "Closed",
|
|
||||||
"poll.refresh": "Refresh",
|
|
||||||
"poll.total_people": "{count, plural, one {# person} other {# people}}",
|
|
||||||
"poll.total_votes": "{count, plural, one {# vote} other {# votes}}",
|
|
||||||
"poll.vote": "Vote",
|
|
||||||
"poll.voted": "You voted for this answer",
|
|
||||||
"poll.votes": "{votes, plural, one {# vote} other {# votes}}",
|
|
||||||
"poll_button.add_poll": "Add a poll",
|
|
||||||
"poll_button.remove_poll": "Remove poll",
|
|
||||||
"privacy.change": "Adjust status privacy",
|
|
||||||
"privacy.direct.long": "Visible for mentioned users only",
|
|
||||||
"privacy.direct.short": "Direct",
|
|
||||||
"privacy.private.long": "Visible for followers only",
|
|
||||||
"privacy.private.short": "Followers-only",
|
|
||||||
"privacy.public.long": "Visible for all",
|
|
||||||
"privacy.public.short": "Public",
|
|
||||||
"privacy.unlisted.long": "Visible for all, but opted-out of discovery features",
|
|
||||||
"privacy.unlisted.short": "Unlisted",
|
|
||||||
"privacy_policy.last_updated": "Last updated {date}",
|
|
||||||
"privacy_policy.title": "Privacy Policy",
|
|
||||||
"refresh": "Refresh",
|
|
||||||
"regeneration_indicator.label": "Loading…",
|
|
||||||
"regeneration_indicator.sublabel": "Your home feed is being prepared!",
|
|
||||||
"relative_time.days": "{number}d",
|
|
||||||
"relative_time.full.days": "{number, plural, one {# day} other {# days}} ago",
|
|
||||||
"relative_time.full.hours": "{number, plural, one {# hour} other {# hours}} ago",
|
|
||||||
"relative_time.full.just_now": "just now",
|
|
||||||
"relative_time.full.minutes": "{number, plural, one {# minute} other {# minutes}} ago",
|
|
||||||
"relative_time.full.seconds": "{number, plural, one {# second} other {# seconds}} ago",
|
|
||||||
"relative_time.hours": "{number}h",
|
|
||||||
"relative_time.just_now": "now",
|
|
||||||
"relative_time.minutes": "{number}m",
|
|
||||||
"relative_time.seconds": "{number}s",
|
|
||||||
"relative_time.today": "today",
|
|
||||||
"reply_indicator.cancel": "Cancel",
|
|
||||||
"report.block": "Block",
|
|
||||||
"report.block_explanation": "You will not see their posts. They will not be able to see your posts or follow you. They will be able to tell that they are blocked.",
|
|
||||||
"report.categories.other": "Other",
|
|
||||||
"report.categories.spam": "Spam",
|
|
||||||
"report.categories.violation": "Content violates one or more server rules",
|
|
||||||
"report.category.subtitle": "Choose the best match",
|
|
||||||
"report.category.title": "Tell us what's going on with this {type}",
|
|
||||||
"report.category.title_account": "profile",
|
|
||||||
"report.category.title_status": "post",
|
|
||||||
"report.close": "Done",
|
|
||||||
"report.comment.title": "Is there anything else you think we should know?",
|
|
||||||
"report.forward": "Forward to {target}",
|
|
||||||
"report.forward_hint": "The account is from another server. Send an anonymized copy of the report there as well?",
|
|
||||||
"report.mute": "Mute",
|
|
||||||
"report.mute_explanation": "You will not see their posts. They can still follow you and see your posts and will not know that they are muted.",
|
|
||||||
"report.next": "Next",
|
|
||||||
"report.placeholder": "Type or paste additional comments",
|
|
||||||
"report.reasons.dislike": "I don't like it",
|
|
||||||
"report.reasons.dislike_description": "It is not something you want to see",
|
|
||||||
"report.reasons.other": "It's something else",
|
|
||||||
"report.reasons.other_description": "The issue does not fit into other categories",
|
|
||||||
"report.reasons.spam": "It's spam",
|
|
||||||
"report.reasons.spam_description": "Malicious links, fake engagement, or repetitive replies",
|
|
||||||
"report.reasons.violation": "It violates server rules",
|
|
||||||
"report.reasons.violation_description": "You are aware that it breaks specific rules",
|
|
||||||
"report.rules.subtitle": "Select all that apply",
|
|
||||||
"report.rules.title": "Which rules are being violated?",
|
|
||||||
"report.statuses.subtitle": "Select all that apply",
|
|
||||||
"report.statuses.title": "Are there any posts that back up this report?",
|
|
||||||
"report.submit": "Submit report",
|
|
||||||
"report.target": "Report {target}",
|
|
||||||
"report.thanks.take_action": "Here are your options for controlling what you see on Mastodon:",
|
|
||||||
"report.thanks.take_action_actionable": "While we review this, you can take action against @{name}:",
|
|
||||||
"report.thanks.title": "Don't want to see this?",
|
|
||||||
"report.thanks.title_actionable": "Thanks for reporting, we'll look into this.",
|
|
||||||
"report.unfollow": "Unfollow @{name}",
|
|
||||||
"report.unfollow_explanation": "You are following this account. To not see their posts in your home feed anymore, unfollow them.",
|
|
||||||
"report_notification.attached_statuses": "{count, plural, one {{count} post} other {{count} posts}} attached",
|
|
||||||
"report_notification.categories.other": "Other",
|
|
||||||
"report_notification.categories.spam": "Spam",
|
|
||||||
"report_notification.categories.violation": "Rule violation",
|
|
||||||
"report_notification.open": "Open report",
|
|
||||||
"search.no_recent_searches": "No recent searches",
|
|
||||||
"search.placeholder": "Search",
|
|
||||||
"search.quick_action.account_search": "Profiles matching {x}",
|
|
||||||
"search.quick_action.go_to_account": "Go to profile {x}",
|
|
||||||
"search.quick_action.go_to_hashtag": "Go to hashtag {x}",
|
|
||||||
"search.quick_action.open_url": "Open URL in Mastodon",
|
|
||||||
"search.quick_action.status_search": "Posts matching {x}",
|
|
||||||
"search.search_or_paste": "Search or paste URL",
|
|
||||||
"search_popout.quick_actions": "Quick actions",
|
|
||||||
"search_popout.recent": "Recent searches",
|
|
||||||
"search_results.accounts": "Profiles",
|
|
||||||
"search_results.all": "All",
|
|
||||||
"search_results.hashtags": "Hashtags",
|
|
||||||
"search_results.nothing_found": "Could not find anything for these search terms",
|
|
||||||
"search_results.statuses": "Posts",
|
|
||||||
"search_results.statuses_fts_disabled": "Searching posts by their content is not enabled on this Mastodon server.",
|
|
||||||
"search_results.title": "Search for {q}",
|
|
||||||
"search_results.total": "{count, number} {count, plural, one {result} other {results}}",
|
|
||||||
"server_banner.about_active_users": "People using this server during the last 30 days (Monthly Active Users)",
|
|
||||||
"server_banner.active_users": "active users",
|
|
||||||
"server_banner.administered_by": "Administered by:",
|
|
||||||
"server_banner.introduction": "{domain} is part of the decentralized social network powered by {mastodon}.",
|
|
||||||
"server_banner.learn_more": "Learn more",
|
|
||||||
"server_banner.server_stats": "Server stats:",
|
|
||||||
"sign_in_banner.create_account": "Create account",
|
|
||||||
"sign_in_banner.sign_in": "Sign in",
|
|
||||||
"sign_in_banner.text": "Sign in to follow profiles or hashtags, favourite, share and reply to posts. You can also interact from your account on a different server.",
|
|
||||||
"status.admin_account": "Open moderation interface for @{name}",
|
|
||||||
"status.admin_domain": "Open moderation interface for {domain}",
|
|
||||||
"status.admin_status": "Open this status in the moderation interface",
|
|
||||||
"status.block": "Block @{name}",
|
|
||||||
"status.bookmark": "Bookmark",
|
|
||||||
"status.cancel_reblog_private": "Unboost",
|
|
||||||
"status.cannot_reblog": "This post cannot be boosted",
|
|
||||||
"status.copy": "Copy link to status",
|
|
||||||
"status.delete": "Delete",
|
|
||||||
"status.detailed_status": "Detailed conversation view",
|
|
||||||
"status.direct": "Privately mention @{name}",
|
|
||||||
"status.direct_indicator": "Private mention",
|
|
||||||
"status.edit": "Edit",
|
|
||||||
"status.edited": "Edited {date}",
|
|
||||||
"status.edited_x_times": "Edited {count, plural, one {{count} time} other {{count} times}}",
|
|
||||||
"status.embed": "Embed",
|
|
||||||
"status.favourite": "Favourite",
|
|
||||||
"status.filter": "Filter this post",
|
|
||||||
"status.filtered": "Filtered",
|
|
||||||
"status.hide": "Hide post",
|
|
||||||
"status.history.created": "{name} created {date}",
|
|
||||||
"status.history.edited": "{name} edited {date}",
|
|
||||||
"status.load_more": "Load more",
|
|
||||||
"status.media_hidden": "Media hidden",
|
|
||||||
"status.mention": "Mention @{name}",
|
|
||||||
"status.more": "More",
|
|
||||||
"status.mute": "Mute @{name}",
|
|
||||||
"status.mute_conversation": "Mute conversation",
|
|
||||||
"status.open": "Expand this status",
|
|
||||||
"status.pin": "Pin on profile",
|
|
||||||
"status.pinned": "Pinned post",
|
|
||||||
"status.read_more": "Read more",
|
|
||||||
"status.reblog": "Boost",
|
|
||||||
"status.reblog_private": "Boost with original visibility",
|
|
||||||
"status.reblogged_by": "{name} boosted",
|
|
||||||
"status.reblogs.empty": "No one has boosted this post yet. When someone does, they will show up here.",
|
|
||||||
"status.redraft": "Delete & re-draft",
|
|
||||||
"status.remove_bookmark": "Remove bookmark",
|
|
||||||
"status.replied_to": "Replied to {name}",
|
|
||||||
"status.reply": "Reply",
|
|
||||||
"status.replyAll": "Reply to thread",
|
|
||||||
"status.report": "Report @{name}",
|
|
||||||
"status.sensitive_warning": "Sensitive content",
|
|
||||||
"status.share": "Share",
|
|
||||||
"status.show_filter_reason": "Show anyway",
|
|
||||||
"status.show_less": "Show less",
|
|
||||||
"status.show_less_all": "Show less for all",
|
|
||||||
"status.show_more": "Show more",
|
|
||||||
"status.show_more_all": "Show more for all",
|
|
||||||
"status.show_original": "Show original",
|
|
||||||
"status.translate": "Translate",
|
|
||||||
"status.translated_from_with": "Translated from {lang} using {provider}",
|
|
||||||
"status.uncached_media_warning": "Not available",
|
|
||||||
"status.unmute_conversation": "Unmute conversation",
|
|
||||||
"status.unpin": "Unpin from profile",
|
|
||||||
"subscribed_languages.lead": "Only posts in selected languages will appear on your home and list timelines after the change. Select none to receive posts in all languages.",
|
|
||||||
"subscribed_languages.save": "Save changes",
|
|
||||||
"subscribed_languages.target": "Change subscribed languages for {target}",
|
|
||||||
"suggestions.dismiss": "Dismiss suggestion",
|
|
||||||
"suggestions.header": "You might be interested in…",
|
|
||||||
"tabs_bar.federated_timeline": "Federated",
|
|
||||||
"tabs_bar.home": "Home",
|
|
||||||
"tabs_bar.local_timeline": "Local",
|
|
||||||
"tabs_bar.notifications": "Notifications",
|
|
||||||
"time_remaining.days": "{number, plural, one {# day} other {# days}} left",
|
|
||||||
"time_remaining.hours": "{number, plural, one {# hour} other {# hours}} left",
|
|
||||||
"time_remaining.minutes": "{number, plural, one {# minute} other {# minutes}} left",
|
|
||||||
"time_remaining.moments": "Moments remaining",
|
|
||||||
"time_remaining.seconds": "{number, plural, one {# second} other {# seconds}} left",
|
|
||||||
"timeline_hint.remote_resource_not_displayed": "{resource} from other servers are not displayed.",
|
|
||||||
"timeline_hint.resources.followers": "Followers",
|
|
||||||
"timeline_hint.resources.follows": "Follows",
|
|
||||||
"timeline_hint.resources.statuses": "Older posts",
|
|
||||||
"trends.counter_by_accounts": "{count, plural, one {{counter} person} other {{counter} people}} in the past {days, plural, one {day} other {{days} days}}",
|
|
||||||
"trends.trending_now": "Trending now",
|
|
||||||
"ui.beforeunload": "Your draft will be lost if you leave Mastodon.",
|
|
||||||
"units.short.billion": "{count}B",
|
|
||||||
"units.short.million": "{count}M",
|
|
||||||
"units.short.thousand": "{count}K",
|
|
||||||
"upload_area.title": "Drag & drop to upload",
|
|
||||||
"upload_button.label": "Add images, a video or an audio file",
|
|
||||||
"upload_error.limit": "File upload limit exceeded.",
|
|
||||||
"upload_error.poll": "File upload not allowed with polls.",
|
|
||||||
"upload_form.audio_description": "Describe for people who are hard of hearing",
|
|
||||||
"upload_form.description": "Describe for people who are blind or have low vision",
|
|
||||||
"upload_form.description_missing": "No description added",
|
|
||||||
"upload_form.edit": "Edit",
|
|
||||||
"upload_form.thumbnail": "Change thumbnail",
|
|
||||||
"upload_form.undo": "Delete",
|
|
||||||
"upload_form.video_description": "Describe for people who are deaf, hard of hearing, blind or have low vision",
|
|
||||||
"upload_modal.analyzing_picture": "Analyzing picture…",
|
|
||||||
"upload_modal.apply": "Apply",
|
|
||||||
"upload_modal.applying": "Applying…",
|
|
||||||
"upload_modal.choose_image": "Choose image",
|
|
||||||
"upload_modal.description_placeholder": "A quick brown fox jumps over the lazy dog",
|
|
||||||
"upload_modal.detect_text": "Detect text from picture",
|
|
||||||
"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.preparing_ocr": "Preparing OCR…",
|
|
||||||
"upload_modal.preview_label": "Preview ({ratio})",
|
|
||||||
"upload_progress.label": "Uploading…",
|
|
||||||
"upload_progress.processing": "Processing…",
|
|
||||||
"video.close": "Close video",
|
|
||||||
"video.download": "Download file",
|
|
||||||
"video.exit_fullscreen": "Exit full screen",
|
|
||||||
"video.expand": "Expand video",
|
|
||||||
"video.fullscreen": "Full screen",
|
|
||||||
"video.hide": "Hide video",
|
|
||||||
"video.mute": "Mute sound",
|
|
||||||
"video.pause": "Pause",
|
|
||||||
"video.play": "Play",
|
|
||||||
"video.unmute": "Unmute sound"
|
|
||||||
}
|
|
|
@ -39,6 +39,7 @@
|
||||||
"account.follows_you": "Yn eich dilyn chi",
|
"account.follows_you": "Yn eich dilyn chi",
|
||||||
"account.go_to_profile": "Mynd i'r proffil",
|
"account.go_to_profile": "Mynd i'r proffil",
|
||||||
"account.hide_reblogs": "Cuddio hybiau gan @{name}",
|
"account.hide_reblogs": "Cuddio hybiau gan @{name}",
|
||||||
|
"account.in_memoriam": "Er Cof",
|
||||||
"account.joined_short": "Wedi Ymuno",
|
"account.joined_short": "Wedi Ymuno",
|
||||||
"account.languages": "Newid ieithoedd wedi tanysgrifio iddyn nhw",
|
"account.languages": "Newid ieithoedd wedi tanysgrifio iddyn nhw",
|
||||||
"account.link_verified_on": "Gwiriwyd perchnogaeth y ddolen yma ar {date}",
|
"account.link_verified_on": "Gwiriwyd perchnogaeth y ddolen yma ar {date}",
|
||||||
|
@ -442,6 +443,8 @@
|
||||||
"notifications_permission_banner.enable": "Galluogi hysbysiadau bwrdd gwaith",
|
"notifications_permission_banner.enable": "Galluogi hysbysiadau bwrdd gwaith",
|
||||||
"notifications_permission_banner.how_to_control": "I dderbyn hysbysiadau pan nad yw Mastodon ar agor, galluogwch hysbysiadau bwrdd gwaith. Gallwch reoli'n union pa fathau o ryngweithiadau sy'n cynhyrchu hysbysiadau bwrdd gwaith trwy'r botwm {icon} uchod unwaith y byddant wedi'u galluogi.",
|
"notifications_permission_banner.how_to_control": "I dderbyn hysbysiadau pan nad yw Mastodon ar agor, galluogwch hysbysiadau bwrdd gwaith. Gallwch reoli'n union pa fathau o ryngweithiadau sy'n cynhyrchu hysbysiadau bwrdd gwaith trwy'r botwm {icon} uchod unwaith y byddant wedi'u galluogi.",
|
||||||
"notifications_permission_banner.title": "Peidiwch colli dim",
|
"notifications_permission_banner.title": "Peidiwch colli dim",
|
||||||
|
"password_confirmation.exceeds_maxlength": "Mae'r cadarnhad cyfrinair yn fwy nag uchafswm hyd y cyfrinair",
|
||||||
|
"password_confirmation.mismatching": "Nid yw'r cadarnhad cyfrinair yn cyfateb",
|
||||||
"picture_in_picture.restore": "Rhowch ef yn ôl",
|
"picture_in_picture.restore": "Rhowch ef yn ôl",
|
||||||
"poll.closed": "Ar gau",
|
"poll.closed": "Ar gau",
|
||||||
"poll.refresh": "Adnewyddu",
|
"poll.refresh": "Adnewyddu",
|
||||||
|
@ -520,17 +523,17 @@
|
||||||
"report_notification.categories.spam": "Sbam",
|
"report_notification.categories.spam": "Sbam",
|
||||||
"report_notification.categories.violation": "Torri rheol",
|
"report_notification.categories.violation": "Torri rheol",
|
||||||
"report_notification.open": "Agor adroddiad",
|
"report_notification.open": "Agor adroddiad",
|
||||||
"search.no_recent_searches": "No recent searches",
|
"search.no_recent_searches": "Does dim chwiliadau diweddar",
|
||||||
"search.placeholder": "Chwilio",
|
"search.placeholder": "Chwilio",
|
||||||
"search.quick_action.account_search": "Profiles matching {x}",
|
"search.quick_action.account_search": "Proffiliau sy'n cyfateb i {x}",
|
||||||
"search.quick_action.go_to_account": "Go to profile {x}",
|
"search.quick_action.go_to_account": "Mynd i broffil {x}",
|
||||||
"search.quick_action.go_to_hashtag": "Go to hashtag {x}",
|
"search.quick_action.go_to_hashtag": "Mynd i hashnod {x}",
|
||||||
"search.quick_action.open_url": "Open URL in Mastodon",
|
"search.quick_action.open_url": "Agor URL yn Mastodon",
|
||||||
"search.quick_action.status_search": "Posts matching {x}",
|
"search.quick_action.status_search": "Postiadau sy'n cyfateb i {x}",
|
||||||
"search.search_or_paste": "Chwilio neu gludo URL",
|
"search.search_or_paste": "Chwilio neu gludo URL",
|
||||||
"search_popout.quick_actions": "Quick actions",
|
"search_popout.quick_actions": "Gweithredoedd cyflym",
|
||||||
"search_popout.recent": "Recent searches",
|
"search_popout.recent": "Chwilio diweddar",
|
||||||
"search_results.accounts": "Profiles",
|
"search_results.accounts": "Proffilau",
|
||||||
"search_results.all": "Popeth",
|
"search_results.all": "Popeth",
|
||||||
"search_results.hashtags": "Hashnodau",
|
"search_results.hashtags": "Hashnodau",
|
||||||
"search_results.nothing_found": "Methu dod o hyd i unrhyw beth ar gyfer y termau chwilio hyn",
|
"search_results.nothing_found": "Methu dod o hyd i unrhyw beth ar gyfer y termau chwilio hyn",
|
||||||
|
@ -597,6 +600,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_original": "Dangos y gwreiddiol",
|
"status.show_original": "Dangos y gwreiddiol",
|
||||||
|
"status.title.with_attachments": "Postiodd {user} {attachmentCount, plural, one {an attachment} other {{attachmentCount} attachments}}",
|
||||||
"status.translate": "Cyfieithu",
|
"status.translate": "Cyfieithu",
|
||||||
"status.translated_from_with": "Cyfieithwyd o {lang} gan ddefnyddio {provider}",
|
"status.translated_from_with": "Cyfieithwyd o {lang} gan ddefnyddio {provider}",
|
||||||
"status.uncached_media_warning": "Dim ar gael",
|
"status.uncached_media_warning": "Dim ar gael",
|
||||||
|
@ -649,6 +653,7 @@
|
||||||
"upload_modal.preview_label": "Rhagolwg ({ratio})",
|
"upload_modal.preview_label": "Rhagolwg ({ratio})",
|
||||||
"upload_progress.label": "Yn llwytho...",
|
"upload_progress.label": "Yn llwytho...",
|
||||||
"upload_progress.processing": "Wrthi'n prosesu…",
|
"upload_progress.processing": "Wrthi'n prosesu…",
|
||||||
|
"username.taken": "Mae'r enw defnyddiwr hwnnw'n cael ei ddefnyddio eisoes. Cynnig un arall?",
|
||||||
"video.close": "Cau fideo",
|
"video.close": "Cau fideo",
|
||||||
"video.download": "Llwytho ffeil i lawr",
|
"video.download": "Llwytho ffeil i lawr",
|
||||||
"video.exit_fullscreen": "Gadael sgrin llawn",
|
"video.exit_fullscreen": "Gadael sgrin llawn",
|
||||||
|
|
|
@ -39,6 +39,7 @@
|
||||||
"account.follows_you": "Følger dig",
|
"account.follows_you": "Følger dig",
|
||||||
"account.go_to_profile": "Gå til profil",
|
"account.go_to_profile": "Gå til profil",
|
||||||
"account.hide_reblogs": "Skjul boosts fra @{name}",
|
"account.hide_reblogs": "Skjul boosts fra @{name}",
|
||||||
|
"account.in_memoriam": "Til minde om.",
|
||||||
"account.joined_short": "Oprettet",
|
"account.joined_short": "Oprettet",
|
||||||
"account.languages": "Skift abonnementssprog",
|
"account.languages": "Skift abonnementssprog",
|
||||||
"account.link_verified_on": "Ejerskab af dette link blev tjekket {date}",
|
"account.link_verified_on": "Ejerskab af dette link blev tjekket {date}",
|
||||||
|
@ -442,6 +443,8 @@
|
||||||
"notifications_permission_banner.enable": "Aktivér computernotifikationer",
|
"notifications_permission_banner.enable": "Aktivér computernotifikationer",
|
||||||
"notifications_permission_banner.how_to_control": "Aktivér computernotifikationer for at få besked, når Mastodon ikke er åben. Når de er aktiveret, kan man via knappen {icon} ovenfor præcist styre, hvilke typer af interaktioner, som genererer computernotifikationer.",
|
"notifications_permission_banner.how_to_control": "Aktivér computernotifikationer for at få besked, når Mastodon ikke er åben. Når de er aktiveret, kan man via knappen {icon} ovenfor præcist styre, hvilke typer af interaktioner, som genererer computernotifikationer.",
|
||||||
"notifications_permission_banner.title": "Gå aldrig glip af noget",
|
"notifications_permission_banner.title": "Gå aldrig glip af noget",
|
||||||
|
"password_confirmation.exceeds_maxlength": "Adgangskodebekræftelse overstiger maks. adgangskodelængde",
|
||||||
|
"password_confirmation.mismatching": "Adgangskodebekræftelse matcher ikke",
|
||||||
"picture_in_picture.restore": "Indsæt det igen",
|
"picture_in_picture.restore": "Indsæt det igen",
|
||||||
"poll.closed": "Lukket",
|
"poll.closed": "Lukket",
|
||||||
"poll.refresh": "Genindlæs",
|
"poll.refresh": "Genindlæs",
|
||||||
|
@ -597,6 +600,7 @@
|
||||||
"status.show_more": "Vis mere",
|
"status.show_more": "Vis mere",
|
||||||
"status.show_more_all": "Vis mere for alle",
|
"status.show_more_all": "Vis mere for alle",
|
||||||
"status.show_original": "Vis original",
|
"status.show_original": "Vis original",
|
||||||
|
"status.title.with_attachments": "{user} postede {attachmentCount, plural, one {en vedhæftning} other {{attachmentCount} vedhæftninger}}",
|
||||||
"status.translate": "Oversæt",
|
"status.translate": "Oversæt",
|
||||||
"status.translated_from_with": "Oversat fra {lang} ved brug af {provider}",
|
"status.translated_from_with": "Oversat fra {lang} ved brug af {provider}",
|
||||||
"status.uncached_media_warning": "Utilgængelig",
|
"status.uncached_media_warning": "Utilgængelig",
|
||||||
|
@ -649,6 +653,7 @@
|
||||||
"upload_modal.preview_label": "Forhåndsvisning ({ratio})",
|
"upload_modal.preview_label": "Forhåndsvisning ({ratio})",
|
||||||
"upload_progress.label": "Uploader...",
|
"upload_progress.label": "Uploader...",
|
||||||
"upload_progress.processing": "Behandler…",
|
"upload_progress.processing": "Behandler…",
|
||||||
|
"username.taken": "Brugernavnet er taget. Prøv et andet",
|
||||||
"video.close": "Luk video",
|
"video.close": "Luk video",
|
||||||
"video.download": "Download fil",
|
"video.download": "Download fil",
|
||||||
"video.exit_fullscreen": "Forlad fuldskærm",
|
"video.exit_fullscreen": "Forlad fuldskærm",
|
||||||
|
|
|
@ -39,6 +39,7 @@
|
||||||
"account.follows_you": "Folgt dir",
|
"account.follows_you": "Folgt dir",
|
||||||
"account.go_to_profile": "Profil aufrufen",
|
"account.go_to_profile": "Profil aufrufen",
|
||||||
"account.hide_reblogs": "Geteilte Beiträge von @{name} verbergen",
|
"account.hide_reblogs": "Geteilte Beiträge von @{name} verbergen",
|
||||||
|
"account.in_memoriam": "Zum Andenken.",
|
||||||
"account.joined_short": "Registriert",
|
"account.joined_short": "Registriert",
|
||||||
"account.languages": "Genutzte Sprachen überarbeiten",
|
"account.languages": "Genutzte Sprachen überarbeiten",
|
||||||
"account.link_verified_on": "Das Profil mit dieser E-Mail-Adresse wurde bereits am {date} bestätigt",
|
"account.link_verified_on": "Das Profil mit dieser E-Mail-Adresse wurde bereits am {date} bestätigt",
|
||||||
|
@ -314,7 +315,7 @@
|
||||||
"keyboard_shortcuts.column": "Auf die aktuelle Spalte fokussieren",
|
"keyboard_shortcuts.column": "Auf die aktuelle Spalte fokussieren",
|
||||||
"keyboard_shortcuts.compose": "Eingabefeld fokussieren",
|
"keyboard_shortcuts.compose": "Eingabefeld fokussieren",
|
||||||
"keyboard_shortcuts.description": "Beschreibung",
|
"keyboard_shortcuts.description": "Beschreibung",
|
||||||
"keyboard_shortcuts.direct": "um die Direktnachrichtenspalte zu öffnen",
|
"keyboard_shortcuts.direct": "um die Direktnachrichten zu öffnen",
|
||||||
"keyboard_shortcuts.down": "sich in der Liste nach unten bewegen",
|
"keyboard_shortcuts.down": "sich in der Liste nach unten bewegen",
|
||||||
"keyboard_shortcuts.enter": "Beitrag öffnen",
|
"keyboard_shortcuts.enter": "Beitrag öffnen",
|
||||||
"keyboard_shortcuts.favourite": "favorisieren",
|
"keyboard_shortcuts.favourite": "favorisieren",
|
||||||
|
@ -442,6 +443,8 @@
|
||||||
"notifications_permission_banner.enable": "Aktiviere Desktop-Benachrichtigungen",
|
"notifications_permission_banner.enable": "Aktiviere Desktop-Benachrichtigungen",
|
||||||
"notifications_permission_banner.how_to_control": "Um Benachrichtigungen zu erhalten, wenn Mastodon nicht geöffnet ist, aktiviere die Desktop-Benachrichtigungen. Du kannst genau bestimmen, welche Arten von Interaktionen Desktop-Benachrichtigungen über die {icon} -Taste erzeugen, sobald diese aktiviert sind.",
|
"notifications_permission_banner.how_to_control": "Um Benachrichtigungen zu erhalten, wenn Mastodon nicht geöffnet ist, aktiviere die Desktop-Benachrichtigungen. Du kannst genau bestimmen, welche Arten von Interaktionen Desktop-Benachrichtigungen über die {icon} -Taste erzeugen, sobald diese aktiviert sind.",
|
||||||
"notifications_permission_banner.title": "Nichts verpassen",
|
"notifications_permission_banner.title": "Nichts verpassen",
|
||||||
|
"password_confirmation.exceeds_maxlength": "Passwortbestätigung überschreitet die maximal erlaubte Zeichenanzahl",
|
||||||
|
"password_confirmation.mismatching": "Passwortbestätigung stimmt nicht überein",
|
||||||
"picture_in_picture.restore": "Zurücksetzen",
|
"picture_in_picture.restore": "Zurücksetzen",
|
||||||
"poll.closed": "Beendet",
|
"poll.closed": "Beendet",
|
||||||
"poll.refresh": "Aktualisieren",
|
"poll.refresh": "Aktualisieren",
|
||||||
|
@ -520,7 +523,7 @@
|
||||||
"report_notification.categories.spam": "Spam",
|
"report_notification.categories.spam": "Spam",
|
||||||
"report_notification.categories.violation": "Regelverstoß",
|
"report_notification.categories.violation": "Regelverstoß",
|
||||||
"report_notification.open": "Meldung öffnen",
|
"report_notification.open": "Meldung öffnen",
|
||||||
"search.no_recent_searches": "Keine kürzlichen Suchanfragen",
|
"search.no_recent_searches": "Keine früheren Suchanfragen",
|
||||||
"search.placeholder": "Suche",
|
"search.placeholder": "Suche",
|
||||||
"search.quick_action.account_search": "Profile passend zu {x}",
|
"search.quick_action.account_search": "Profile passend zu {x}",
|
||||||
"search.quick_action.go_to_account": "Profil {x} aufrufen",
|
"search.quick_action.go_to_account": "Profil {x} aufrufen",
|
||||||
|
@ -529,7 +532,7 @@
|
||||||
"search.quick_action.status_search": "Beiträge passend zu {x}",
|
"search.quick_action.status_search": "Beiträge passend zu {x}",
|
||||||
"search.search_or_paste": "Suchen oder URL einfügen",
|
"search.search_or_paste": "Suchen oder URL einfügen",
|
||||||
"search_popout.quick_actions": "Schnellaktionen",
|
"search_popout.quick_actions": "Schnellaktionen",
|
||||||
"search_popout.recent": "Kürzliche Suchanfragen",
|
"search_popout.recent": "Frühere Suchanfragen",
|
||||||
"search_results.accounts": "Profile",
|
"search_results.accounts": "Profile",
|
||||||
"search_results.all": "Alles",
|
"search_results.all": "Alles",
|
||||||
"search_results.hashtags": "Hashtags",
|
"search_results.hashtags": "Hashtags",
|
||||||
|
@ -541,7 +544,7 @@
|
||||||
"server_banner.about_active_users": "Personen, die diesen Server in den vergangenen 30 Tagen genutzt haben (monatlich aktive Benutzer*innen)",
|
"server_banner.about_active_users": "Personen, die diesen Server in den vergangenen 30 Tagen genutzt haben (monatlich aktive Benutzer*innen)",
|
||||||
"server_banner.active_users": "aktive Profile",
|
"server_banner.active_users": "aktive Profile",
|
||||||
"server_banner.administered_by": "Verwaltet von:",
|
"server_banner.administered_by": "Verwaltet von:",
|
||||||
"server_banner.introduction": "{domain} ist Teil des dezentralen sozialen Netzwerks, das von {mastodon} betrieben wird.",
|
"server_banner.introduction": "{domain} ist ein dezentralisiertes soziales Netzwerk, angetrieben von {mastodon}.",
|
||||||
"server_banner.learn_more": "Mehr erfahren",
|
"server_banner.learn_more": "Mehr erfahren",
|
||||||
"server_banner.server_stats": "Serverstatistiken:",
|
"server_banner.server_stats": "Serverstatistiken:",
|
||||||
"sign_in_banner.create_account": "Konto erstellen",
|
"sign_in_banner.create_account": "Konto erstellen",
|
||||||
|
@ -557,7 +560,7 @@
|
||||||
"status.copy": "Link zum Beitrag kopieren",
|
"status.copy": "Link zum Beitrag kopieren",
|
||||||
"status.delete": "Beitrag löschen",
|
"status.delete": "Beitrag löschen",
|
||||||
"status.detailed_status": "Detaillierte Ansicht der Unterhaltung",
|
"status.detailed_status": "Detaillierte Ansicht der Unterhaltung",
|
||||||
"status.direct": "Direktnachricht an @{name}",
|
"status.direct": "@{name} eine Direktnachricht schicken",
|
||||||
"status.direct_indicator": "Direktnachricht",
|
"status.direct_indicator": "Direktnachricht",
|
||||||
"status.edit": "Beitrag bearbeiten",
|
"status.edit": "Beitrag bearbeiten",
|
||||||
"status.edited": "Bearbeitet {date}",
|
"status.edited": "Bearbeitet {date}",
|
||||||
|
@ -597,6 +600,7 @@
|
||||||
"status.show_more": "Mehr anzeigen",
|
"status.show_more": "Mehr anzeigen",
|
||||||
"status.show_more_all": "Alle Inhaltswarnungen aufklappen",
|
"status.show_more_all": "Alle Inhaltswarnungen aufklappen",
|
||||||
"status.show_original": "Ursprünglichen Beitrag anzeigen",
|
"status.show_original": "Ursprünglichen Beitrag anzeigen",
|
||||||
|
"status.title.with_attachments": "{user} veröffentlichte {attachmentCount, plural, one {eine Mediendatei} other {{attachmentCount} Mediendateien}}",
|
||||||
"status.translate": "Übersetzen",
|
"status.translate": "Übersetzen",
|
||||||
"status.translated_from_with": "Aus {lang} mittels {provider} übersetzt",
|
"status.translated_from_with": "Aus {lang} mittels {provider} übersetzt",
|
||||||
"status.uncached_media_warning": "Medien-Datei auf diesem Server noch nicht verfügbar",
|
"status.uncached_media_warning": "Medien-Datei auf diesem Server noch nicht verfügbar",
|
||||||
|
@ -649,6 +653,7 @@
|
||||||
"upload_modal.preview_label": "Vorschau ({ratio})",
|
"upload_modal.preview_label": "Vorschau ({ratio})",
|
||||||
"upload_progress.label": "Wird hochgeladen …",
|
"upload_progress.label": "Wird hochgeladen …",
|
||||||
"upload_progress.processing": "Wird verarbeitet…",
|
"upload_progress.processing": "Wird verarbeitet…",
|
||||||
|
"username.taken": "Dieser Profilname ist vergeben. Versuche einen anderen",
|
||||||
"video.close": "Video schließen",
|
"video.close": "Video schließen",
|
||||||
"video.download": "Video-Datei herunterladen",
|
"video.download": "Video-Datei herunterladen",
|
||||||
"video.exit_fullscreen": "Vollbild verlassen",
|
"video.exit_fullscreen": "Vollbild verlassen",
|
||||||
|
|
|
@ -249,7 +249,7 @@
|
||||||
{
|
{
|
||||||
"descriptors": [
|
"descriptors": [
|
||||||
{
|
{
|
||||||
"defaultMessage": "Edited {count, plural, one {{count} time} other {{count} times}}",
|
"defaultMessage": "Edited {count, plural, one {# time} other {# times}}",
|
||||||
"id": "status.edited_x_times"
|
"id": "status.edited_x_times"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
|
@ -299,7 +299,7 @@
|
||||||
{
|
{
|
||||||
"descriptors": [
|
"descriptors": [
|
||||||
{
|
{
|
||||||
"defaultMessage": "{count, plural, one {{counter} person} other {{counter} people}} in the past {days, plural, one {day} other {{days} days}}",
|
"defaultMessage": "{count, plural, one {{counter} person} other {{counter} people}} in the past {days, plural, one {day} other {# days}}",
|
||||||
"id": "trends.counter_by_accounts"
|
"id": "trends.counter_by_accounts"
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
|
@ -1677,7 +1677,7 @@
|
||||||
"id": "search_results.hashtags"
|
"id": "search_results.hashtags"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"defaultMessage": "{count, number} {count, plural, one {result} other {results}}",
|
"defaultMessage": "{count, plural, one {# result} other {# results}}",
|
||||||
"id": "search_results.total"
|
"id": "search_results.total"
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
|
@ -2264,40 +2264,6 @@
|
||||||
],
|
],
|
||||||
"path": "app/javascript/mastodon/features/filters/select_filter.json"
|
"path": "app/javascript/mastodon/features/filters/select_filter.json"
|
||||||
},
|
},
|
||||||
{
|
|
||||||
"descriptors": [
|
|
||||||
{
|
|
||||||
"defaultMessage": "Follow",
|
|
||||||
"id": "account.follow"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"defaultMessage": "Unfollow",
|
|
||||||
"id": "account.unfollow"
|
|
||||||
}
|
|
||||||
],
|
|
||||||
"path": "app/javascript/mastodon/features/follow_recommendations/components/account.json"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"descriptors": [
|
|
||||||
{
|
|
||||||
"defaultMessage": "Follow people you'd like to see posts from! Here are some suggestions.",
|
|
||||||
"id": "follow_recommendations.heading"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"defaultMessage": "Posts from people you follow will show up in chronological order on your home feed. Don't be afraid to make mistakes, you can unfollow people just as easily any time!",
|
|
||||||
"id": "follow_recommendations.lead"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"defaultMessage": "Looks like no suggestions could be generated for you. You can try using search to look for people you might know or explore trending hashtags.",
|
|
||||||
"id": "empty_column.follow_recommendations"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"defaultMessage": "Done",
|
|
||||||
"id": "follow_recommendations.done"
|
|
||||||
}
|
|
||||||
],
|
|
||||||
"path": "app/javascript/mastodon/features/follow_recommendations/index.json"
|
|
||||||
},
|
|
||||||
{
|
{
|
||||||
"descriptors": [
|
"descriptors": [
|
||||||
{
|
{
|
||||||
|
@ -3178,7 +3144,7 @@
|
||||||
"id": "report_notification.categories.violation"
|
"id": "report_notification.categories.violation"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"defaultMessage": "{count, plural, one {{count} post} other {{count} posts}} attached",
|
"defaultMessage": "{count, plural, one {# post} other {# posts}} attached",
|
||||||
"id": "report_notification.attached_statuses"
|
"id": "report_notification.attached_statuses"
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
|
@ -3218,6 +3184,125 @@
|
||||||
],
|
],
|
||||||
"path": "app/javascript/mastodon/features/notifications/index.json"
|
"path": "app/javascript/mastodon/features/notifications/index.json"
|
||||||
},
|
},
|
||||||
|
{
|
||||||
|
"descriptors": [
|
||||||
|
{
|
||||||
|
"defaultMessage": "Popular on Mastodon",
|
||||||
|
"id": "onboarding.follows.title"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"defaultMessage": "You curate your own home feed. The more people you follow, the more active and interesting it will be. These profiles may be a good starting point—you can always unfollow them later!",
|
||||||
|
"id": "onboarding.follows.lead"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"defaultMessage": "<strong>Did you know?</strong> Since Mastodon is decentralized, some profiles you come across will be hosted on servers other than yours. And yet you can interact with them seamlessly! Their server is in the second half of their username!",
|
||||||
|
"id": "onboarding.tips.accounts_from_other_servers"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"defaultMessage": "Take me back",
|
||||||
|
"id": "onboarding.actions.back"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"path": "app/javascript/mastodon/features/onboarding/follows.json"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"descriptors": [
|
||||||
|
{
|
||||||
|
"defaultMessage": "You've made it!",
|
||||||
|
"id": "onboarding.start.title"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"defaultMessage": "Your new Mastodon account is ready to go. Here's how you can make the most of it:",
|
||||||
|
"id": "onboarding.start.lead"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"defaultMessage": "Customize your profile",
|
||||||
|
"id": "onboarding.steps.setup_profile.title"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"defaultMessage": "Others are more likely to interact with you with a filled out profile.",
|
||||||
|
"id": "onboarding.steps.setup_profile.body"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"defaultMessage": "Follow {count, plural, one {one person} other {# people}}",
|
||||||
|
"id": "onboarding.steps.follow_people.title"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"defaultMessage": "You curate your own feed. Lets fill it with interesting people.",
|
||||||
|
"id": "onboarding.steps.follow_people.body"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"defaultMessage": "Make your first post",
|
||||||
|
"id": "onboarding.steps.publish_status.title"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"defaultMessage": "Say hello to the world.",
|
||||||
|
"id": "onboarding.steps.publish_status.body"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"defaultMessage": "Share your profile",
|
||||||
|
"id": "onboarding.steps.share_profile.title"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"defaultMessage": "Let your friends know how to find you on Mastodon!",
|
||||||
|
"id": "onboarding.steps.share_profile.body"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"defaultMessage": "Want to skip right ahead?",
|
||||||
|
"id": "onboarding.start.skip"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"defaultMessage": "See what's trending",
|
||||||
|
"id": "onboarding.actions.go_to_explore"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"defaultMessage": "Don't show this screen again",
|
||||||
|
"id": "onboarding.actions.close"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"path": "app/javascript/mastodon/features/onboarding/index.json"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"descriptors": [
|
||||||
|
{
|
||||||
|
"defaultMessage": "I'm {username} on Mastodon! Come follow me at {url}",
|
||||||
|
"id": "onboarding.share.message"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"defaultMessage": "Copied",
|
||||||
|
"id": "copypaste.copied"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"defaultMessage": "Copy to clipboard",
|
||||||
|
"id": "copypaste.copy_to_clipboard"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"defaultMessage": "Share your profile",
|
||||||
|
"id": "onboarding.share.title"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"defaultMessage": "Let people know how they can find you on Mastodon!",
|
||||||
|
"id": "onboarding.share.lead"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"defaultMessage": "Possible next steps:",
|
||||||
|
"id": "onboarding.share.next_steps"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"defaultMessage": "Go to your home feed",
|
||||||
|
"id": "onboarding.actions.go_to_home"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"defaultMessage": "See what's trending",
|
||||||
|
"id": "onboarding.actions.go_to_explore"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"defaultMessage": "Take me back",
|
||||||
|
"id": "onboarding.action.back"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"path": "app/javascript/mastodon/features/onboarding/share.json"
|
||||||
|
},
|
||||||
{
|
{
|
||||||
"descriptors": [
|
"descriptors": [
|
||||||
{
|
{
|
||||||
|
@ -3733,7 +3818,7 @@
|
||||||
"id": "status.show_less_all"
|
"id": "status.show_less_all"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"defaultMessage": "{user} posted {attachmentCount, plural, one {an attachment} other {{attachmentCount} attachments}}",
|
"defaultMessage": "{user} posted {attachmentCount, plural, one {an attachment} other {# attachments}}",
|
||||||
"id": "status.title.with_attachments"
|
"id": "status.title.with_attachments"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
|
|
|
@ -4,7 +4,7 @@
|
||||||
"about.disclaimer": "Το Mastodon είναι ελεύθερο λογισμικό ανοιχτού κώδικα και εμπορικό σήμα της Mastodon gGmbH.",
|
"about.disclaimer": "Το Mastodon είναι ελεύθερο λογισμικό ανοιχτού κώδικα και εμπορικό σήμα της Mastodon gGmbH.",
|
||||||
"about.domain_blocks.no_reason_available": "Αιτιολογία μη διαθέσιμη",
|
"about.domain_blocks.no_reason_available": "Αιτιολογία μη διαθέσιμη",
|
||||||
"about.domain_blocks.preamble": "Σε γενικές γραμμές το Mastodon σού επιτρέπει να βλέπεις περιεχόμενο και να αλληλεπιδράς με χρήστες από οποιονδήποτε άλλο διακομιστή σε ένα διασυνδεδεμένο σύμπαν διακομιστών (fediverse). Ακολουθούν οι εξαιρέσεις που ισχύουν για τον συγκεκριμένο διακομιστή.",
|
"about.domain_blocks.preamble": "Σε γενικές γραμμές το Mastodon σού επιτρέπει να βλέπεις περιεχόμενο και να αλληλεπιδράς με χρήστες από οποιονδήποτε άλλο διακομιστή σε ένα διασυνδεδεμένο σύμπαν διακομιστών (fediverse). Ακολουθούν οι εξαιρέσεις που ισχύουν για τον συγκεκριμένο διακομιστή.",
|
||||||
"about.domain_blocks.silenced.explanation": "Συνήθως σε θα βλέπεις προφίλ και περιεχόμενο απ'αυτόν τον διακομιστή, εκτός αν κάνεις συγκεκριμένη αναζήτηση ή επιλέξεις να τον ακολουθήσεις.",
|
"about.domain_blocks.silenced.explanation": "Συνήθως δε θα βλέπεις προφίλ και περιεχόμενο απ' αυτόν τον διακομιστή, εκτός αν κάνεις συγκεκριμένη αναζήτηση ή επιλέξεις να τον ακολουθήσεις.",
|
||||||
"about.domain_blocks.silenced.title": "Περιορισμένος",
|
"about.domain_blocks.silenced.title": "Περιορισμένος",
|
||||||
"about.domain_blocks.suspended.explanation": "Τα δεδομένα αυτού του διακομιστή, δε θα επεξεργάζονται, δε θα αποθηκεύονται και δε θα ανταλλάσσονται, καθιστώντας οποιαδήποτε αλληλεπίδραση ή επικοινωνία με χρήστες από αυτόν το διακομιστή αδύνατη.",
|
"about.domain_blocks.suspended.explanation": "Τα δεδομένα αυτού του διακομιστή, δε θα επεξεργάζονται, δε θα αποθηκεύονται και δε θα ανταλλάσσονται, καθιστώντας οποιαδήποτε αλληλεπίδραση ή επικοινωνία με χρήστες από αυτόν το διακομιστή αδύνατη.",
|
||||||
"about.domain_blocks.suspended.title": "Σε αναστολή",
|
"about.domain_blocks.suspended.title": "Σε αναστολή",
|
||||||
|
@ -21,17 +21,17 @@
|
||||||
"account.browse_more_on_origin_server": "Δες περισσότερα στο αρχικό προφίλ",
|
"account.browse_more_on_origin_server": "Δες περισσότερα στο αρχικό προφίλ",
|
||||||
"account.cancel_follow_request": "Απόσυρση αιτήματος παρακολούθησης",
|
"account.cancel_follow_request": "Απόσυρση αιτήματος παρακολούθησης",
|
||||||
"account.direct": "Ιδιωτική αναφορά @{name}",
|
"account.direct": "Ιδιωτική αναφορά @{name}",
|
||||||
"account.disable_notifications": "Διακοπή ειδοποιήσεων για τις δημοσιεύσεις του/της @{name}",
|
"account.disable_notifications": "Σταμάτα να με ειδοποιείς όταν δημοσιεύει ο @{name}",
|
||||||
"account.domain_blocked": "Ο τομέας αποκλείστηκε",
|
"account.domain_blocked": "Ο τομέας αποκλείστηκε",
|
||||||
"account.edit_profile": "Επεξεργασία προφίλ",
|
"account.edit_profile": "Επεξεργασία προφίλ",
|
||||||
"account.enable_notifications": "Ειδοποιήστε με όταν δημοσιεύει ο @{name}",
|
"account.enable_notifications": "Ειδοποίησέ με όταν δημοσιεύει ο @{name}",
|
||||||
"account.endorse": "Προβολή στο προφίλ",
|
"account.endorse": "Προβολή στο προφίλ",
|
||||||
"account.featured_tags.last_status_at": "Τελευταία ανάρτηση στις {date}",
|
"account.featured_tags.last_status_at": "Τελευταία ανάρτηση στις {date}",
|
||||||
"account.featured_tags.last_status_never": "Καμία ανάρτηση",
|
"account.featured_tags.last_status_never": "Καμία ανάρτηση",
|
||||||
"account.featured_tags.title": "προβεβλημένες ετικέτες του/της {name}",
|
"account.featured_tags.title": "προβεβλημένες ετικέτες του/της {name}",
|
||||||
"account.follow": "Ακολούθησε",
|
"account.follow": "Ακολούθησε",
|
||||||
"account.followers": "Ακόλουθοι",
|
"account.followers": "Ακόλουθοι",
|
||||||
"account.followers.empty": "Κανείς δεν ακολουθεί αυτό τον χρήστη ακόμα.",
|
"account.followers.empty": "Κανείς δεν ακολουθεί αυτόν τον χρήστη ακόμα.",
|
||||||
"account.followers_counter": "{count, plural, one {{counter} Ακόλουθος} other {{counter} Ακόλουθοι}}",
|
"account.followers_counter": "{count, plural, one {{counter} Ακόλουθος} other {{counter} Ακόλουθοι}}",
|
||||||
"account.following": "Ακολουθείτε",
|
"account.following": "Ακολουθείτε",
|
||||||
"account.following_counter": "{count, plural, one {{counter} Ακολουθεί} other {{counter} Ακολουθούν}}",
|
"account.following_counter": "{count, plural, one {{counter} Ακολουθεί} other {{counter} Ακολουθούν}}",
|
||||||
|
@ -39,6 +39,7 @@
|
||||||
"account.follows_you": "Σε ακολουθεί",
|
"account.follows_you": "Σε ακολουθεί",
|
||||||
"account.go_to_profile": "Μετάβαση στο προφίλ",
|
"account.go_to_profile": "Μετάβαση στο προφίλ",
|
||||||
"account.hide_reblogs": "Απόκρυψη ενισχύσεων από @{name}",
|
"account.hide_reblogs": "Απόκρυψη ενισχύσεων από @{name}",
|
||||||
|
"account.in_memoriam": "Εις μνήμην.",
|
||||||
"account.joined_short": "Έγινε μέλος",
|
"account.joined_short": "Έγινε μέλος",
|
||||||
"account.languages": "Αλλαγή εγγεγραμμένων γλωσσών",
|
"account.languages": "Αλλαγή εγγεγραμμένων γλωσσών",
|
||||||
"account.link_verified_on": "Η ιδιοκτησία αυτού του συνδέσμου ελέχθηκε στις {date}",
|
"account.link_verified_on": "Η ιδιοκτησία αυτού του συνδέσμου ελέχθηκε στις {date}",
|
||||||
|
@ -55,7 +56,7 @@
|
||||||
"account.report": "Κατάγγειλε @{name}",
|
"account.report": "Κατάγγειλε @{name}",
|
||||||
"account.requested": "Εκκρεμεί έγκριση. Κάνε κλικ για να ακυρώσεις το αίτημα παρακολούθησης",
|
"account.requested": "Εκκρεμεί έγκριση. Κάνε κλικ για να ακυρώσεις το αίτημα παρακολούθησης",
|
||||||
"account.requested_follow": "Ο/Η {name} αιτήθηκε να σε ακολουθήσει",
|
"account.requested_follow": "Ο/Η {name} αιτήθηκε να σε ακολουθήσει",
|
||||||
"account.share": "Μοίρασμα του προφίλ @{name}",
|
"account.share": "Κοινοποίηση του προφίλ @{name}",
|
||||||
"account.show_reblogs": "Εμφάνιση ενισχύσεων από @{name}",
|
"account.show_reblogs": "Εμφάνιση ενισχύσεων από @{name}",
|
||||||
"account.statuses_counter": "{count, plural, one {{counter} Ανάρτηση} other {{counter} Αναρτήσεις}}",
|
"account.statuses_counter": "{count, plural, one {{counter} Ανάρτηση} other {{counter} Αναρτήσεις}}",
|
||||||
"account.unblock": "Άρση αποκλεισμού @{name}",
|
"account.unblock": "Άρση αποκλεισμού @{name}",
|
||||||
|
@ -75,16 +76,16 @@
|
||||||
"alert.rate_limited.message": "Παρακαλούμε δοκίμασε ξανά μετά τις {retry_time, time, medium}",
|
"alert.rate_limited.message": "Παρακαλούμε δοκίμασε ξανά μετά τις {retry_time, time, medium}",
|
||||||
"alert.rate_limited.title": "Περιορισμός συχνότητας",
|
"alert.rate_limited.title": "Περιορισμός συχνότητας",
|
||||||
"alert.unexpected.message": "Προέκυψε απροσδόκητο σφάλμα.",
|
"alert.unexpected.message": "Προέκυψε απροσδόκητο σφάλμα.",
|
||||||
"alert.unexpected.title": "Εεπ!",
|
"alert.unexpected.title": "Ουπς!",
|
||||||
"announcement.announcement": "Ανακοίνωση",
|
"announcement.announcement": "Ανακοίνωση",
|
||||||
"attachments_list.unprocessed": "(μη επεξεργασμένο)",
|
"attachments_list.unprocessed": "(μη επεξεργασμένο)",
|
||||||
"audio.hide": "Απόκρυψη αρχείου ήχου",
|
"audio.hide": "Απόκρυψη αρχείου ήχου",
|
||||||
"autosuggest_hashtag.per_week": "{count} ανα εβδομάδα",
|
"autosuggest_hashtag.per_week": "{count} ανά εβδομάδα",
|
||||||
"boost_modal.combo": "Μπορείς να πατήσεις {combo} για να το προσπεράσεις αυτό την επόμενη φορά",
|
"boost_modal.combo": "Μπορείς να πατήσεις {combo} για να το προσπεράσεις την επόμενη φορά",
|
||||||
"bundle_column_error.copy_stacktrace": "Αντιγραφή αναφοράς σφάλματος",
|
"bundle_column_error.copy_stacktrace": "Αντιγραφή αναφοράς σφάλματος",
|
||||||
"bundle_column_error.error.body": "Δεν ήταν δυνατή η απόδοση της σελίδας που ζητήσατε. Μπορεί να οφείλεται σε σφάλμα στον κώδικά μας ή σε πρόβλημα συμβατότητας του προγράμματος περιήγησης.",
|
"bundle_column_error.error.body": "Δεν ήταν δυνατή η απόδοση της σελίδας που ζήτησες. Μπορεί να οφείλεται σε σφάλμα στον κώδικά μας ή σε πρόβλημα συμβατότητας του προγράμματος περιήγησης.",
|
||||||
"bundle_column_error.error.title": "Ωχ όχι!",
|
"bundle_column_error.error.title": "Ωχ όχι!",
|
||||||
"bundle_column_error.network.body": "Παρουσιάστηκε σφάλμα κατά την προσπάθεια φόρτωσης αυτής της σελίδας. Αυτό θα μπορούσε να οφείλεται σε ένα προσωρινό πρόβλημα με τη σύνδεσή σας στο διαδίκτυο ή σε αυτόν τον διακομιστή.",
|
"bundle_column_error.network.body": "Παρουσιάστηκε σφάλμα κατά την προσπάθεια φόρτωσης αυτής της σελίδας. Αυτό θα μπορούσε να οφείλεται σε ένα προσωρινό πρόβλημα με τη σύνδεσή σου στο διαδίκτυο ή σε αυτόν τον διακομιστή.",
|
||||||
"bundle_column_error.network.title": "Σφάλμα δικτύου",
|
"bundle_column_error.network.title": "Σφάλμα δικτύου",
|
||||||
"bundle_column_error.retry": "Δοκίμασε ξανά",
|
"bundle_column_error.retry": "Δοκίμασε ξανά",
|
||||||
"bundle_column_error.return": "Μετάβαση πίσω στην αρχική σελίδα",
|
"bundle_column_error.return": "Μετάβαση πίσω στην αρχική σελίδα",
|
||||||
|
@ -93,18 +94,18 @@
|
||||||
"bundle_modal_error.close": "Κλείσιμο",
|
"bundle_modal_error.close": "Κλείσιμο",
|
||||||
"bundle_modal_error.message": "Κάτι πήγε στραβά κατά τη φόρτωση του στοιχείου.",
|
"bundle_modal_error.message": "Κάτι πήγε στραβά κατά τη φόρτωση του στοιχείου.",
|
||||||
"bundle_modal_error.retry": "Δοκίμασε ξανά",
|
"bundle_modal_error.retry": "Δοκίμασε ξανά",
|
||||||
"closed_registrations.other_server_instructions": "Καθώς το Mastodon είναι αποκεντρωμένο, μπορείς να δημιουργήσεις λογαριασμό σε άλλο server αλλά να συνεχίσεις να αλληλεπιδράς με τον παρόντα.",
|
"closed_registrations.other_server_instructions": "Καθώς το Mastodon είναι αποκεντρωμένο, μπορείς να δημιουργήσεις λογαριασμό σε άλλον διακομιστή αλλά να συνεχίσεις να αλληλεπιδράς με αυτόν.",
|
||||||
"closed_registrations_modal.description": "Η δημιουργία λογαριασμού στο {domain} δεν είναι δυνατή επί του παρόντος, αλλά λάβε υπόψη ότι δεν χρειάζεσαι λογαριασμό ειδικά στο {domain} για να χρησιμοποιήσεις το Mastodon.",
|
"closed_registrations_modal.description": "Η δημιουργία λογαριασμού στον {domain} προς το παρόν δεν είναι δυνατή, αλλά λάβε υπόψη ότι δεν χρειάζεσαι λογαριασμό ειδικά στον {domain} για να χρησιμοποιήσεις το Mastodon.",
|
||||||
"closed_registrations_modal.find_another_server": "&Εύρεση…",
|
"closed_registrations_modal.find_another_server": "Βρες άλλον διακομιστή",
|
||||||
"closed_registrations_modal.preamble": "Το Mastodon είναι αποκεντρωμένο, οπότε ανεξάρτητα από το πού θα δημιουργήσεις τον λογαριασμό σου, μπορείς να ακολουθήσεις και να αλληλεπιδράσεις με οποιονδήποτε σε αυτόν τον server. Μπορείς ακόμη και να κάνεις self-hosting!",
|
"closed_registrations_modal.preamble": "Το Mastodon είναι αποκεντρωμένο, οπότε ανεξάρτητα από το πού θα δημιουργήσεις τον λογαριασμό σου, μπορείς να ακολουθήσεις και να αλληλεπιδράσεις με οποιονδήποτε σε αυτόν τον διακομιστή. Μπορείς ακόμη και να κάνεις τον δικό σου!",
|
||||||
"closed_registrations_modal.title": "Εγγραφή στο Mastodon",
|
"closed_registrations_modal.title": "Εγγραφή στο Mastodon",
|
||||||
"column.about": "Σχετικά με",
|
"column.about": "Σχετικά με",
|
||||||
"column.blocks": "Αποκλεισμένοι χρήστες",
|
"column.blocks": "Αποκλεισμένοι χρήστες",
|
||||||
"column.bookmarks": "Σελιδοδείκτες",
|
"column.bookmarks": "Σελιδοδείκτες",
|
||||||
"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": "Αιτήματα ακολούθησης",
|
||||||
"column.home": "Αρχική",
|
"column.home": "Αρχική",
|
||||||
|
@ -115,8 +116,8 @@
|
||||||
"column.public": "Ομοσπονδιακή ροή",
|
"column.public": "Ομοσπονδιακή ροή",
|
||||||
"column_back_button.label": "Πίσω",
|
"column_back_button.label": "Πίσω",
|
||||||
"column_header.hide_settings": "Απόκρυψη ρυθμίσεων",
|
"column_header.hide_settings": "Απόκρυψη ρυθμίσεων",
|
||||||
"column_header.moveLeft_settings": "Μεταφορά κολώνας αριστερά",
|
"column_header.moveLeft_settings": "Μεταφορά στήλης στα αριστερά",
|
||||||
"column_header.moveRight_settings": "Μεταφορά κολώνας δεξιά",
|
"column_header.moveRight_settings": "Μεταφορά στήλης στα δεξιά",
|
||||||
"column_header.pin": "Καρφίτσωμα",
|
"column_header.pin": "Καρφίτσωμα",
|
||||||
"column_header.show_settings": "Εμφάνιση ρυθμίσεων",
|
"column_header.show_settings": "Εμφάνιση ρυθμίσεων",
|
||||||
"column_header.unpin": "Ξεκαρφίτσωμα",
|
"column_header.unpin": "Ξεκαρφίτσωμα",
|
||||||
|
@ -126,10 +127,10 @@
|
||||||
"community.column_settings.remote_only": "Απομακρυσμένα μόνο",
|
"community.column_settings.remote_only": "Απομακρυσμένα μόνο",
|
||||||
"compose.language.change": "Αλλαγή γλώσσας",
|
"compose.language.change": "Αλλαγή γλώσσας",
|
||||||
"compose.language.search": "Αναζήτηση γλωσσών...",
|
"compose.language.search": "Αναζήτηση γλωσσών...",
|
||||||
"compose_form.direct_message_warning_learn_more": "Μάθετε περισσότερα",
|
"compose_form.direct_message_warning_learn_more": "Μάθε περισσότερα",
|
||||||
"compose_form.encryption_warning": "Οι δημοσιεύσεις στο Mastodon δεν είναι κρυπτογραφημένες από άκρο σε άκρο. Μην μοιράζεστε ευαίσθητες πληροφορίες μέσω του Mastodon.",
|
"compose_form.encryption_warning": "Οι δημοσιεύσεις στο Mastodon δεν είναι κρυπτογραφημένες από άκρο σε άκρο. Μη μοιράζεσαι ευαίσθητες πληροφορίες μέσω του Mastodon.",
|
||||||
"compose_form.hashtag_warning": "Αυτή η δημοσίευση δεν θα εμφανίζεται κάτω από οποιαδήποτε ετικέτα καθώς δεν είναι δημόσια. Μόνο οι δημόσιες δημοσιεύσεις μπορούν να αναζητηθούν με ετικέτα.",
|
"compose_form.hashtag_warning": "Αυτή η δημοσίευση δεν θα εμφανίζεται κάτω από οποιαδήποτε ετικέτα καθώς δεν είναι δημόσια. Μόνο οι δημόσιες δημοσιεύσεις μπορούν να αναζητηθούν με ετικέτα.",
|
||||||
"compose_form.lock_disclaimer": "Ο λογαριασμός σου δεν είναι {locked}. Οποιοσδήποτε μπορεί να σε ακολουθήσει για να δει τις δημοσιεύσεις σας προς τους ακολούθους σας.",
|
"compose_form.lock_disclaimer": "Ο λογαριασμός σου δεν είναι {locked}. Οποιοσδήποτε μπορεί να σε ακολουθήσει για να δει τις δημοσιεύσεις σου προς τους ακολούθους σου.",
|
||||||
"compose_form.lock_disclaimer.lock": "κλειδωμένο",
|
"compose_form.lock_disclaimer.lock": "κλειδωμένο",
|
||||||
"compose_form.placeholder": "Τι σκέφτεσαι;",
|
"compose_form.placeholder": "Τι σκέφτεσαι;",
|
||||||
"compose_form.poll.add_option": "Προσθήκη επιλογής",
|
"compose_form.poll.add_option": "Προσθήκη επιλογής",
|
||||||
|
@ -142,28 +143,28 @@
|
||||||
"compose_form.publish_form": "Δημοσίευση",
|
"compose_form.publish_form": "Δημοσίευση",
|
||||||
"compose_form.publish_loud": "{publish}!",
|
"compose_form.publish_loud": "{publish}!",
|
||||||
"compose_form.save_changes": "Αποθήκευση αλλαγών",
|
"compose_form.save_changes": "Αποθήκευση αλλαγών",
|
||||||
"compose_form.sensitive.hide": "Σημείωσε τα πολυμέσα ως ευαίσθητα",
|
"compose_form.sensitive.hide": "{count, plural, one {Επισήμανση πολυμέσου ως ευαίσθητο} other {Επισήμανση πολυμέσων ως ευαίσθητα}}",
|
||||||
"compose_form.sensitive.marked": "Το πολυμέσο έχει σημειωθεί ως ευαίσθητο",
|
"compose_form.sensitive.marked": "{count, plural, one {Το πολυμέσο έχει σημειωθεί ως ευαίσθητο} other {Τα πολυμέσα έχουν σημειωθεί ως ευαίσθητα}}",
|
||||||
"compose_form.sensitive.unmarked": "Το πολυμέσο δεν έχει σημειωθεί ως ευαίσθητο",
|
"compose_form.sensitive.unmarked": "{count, plural, one {Το πολυμέσο δεν έχει σημειωθεί ως ευαίσθητο} other {Τα πολυμέσα δεν έχουν σημειωθεί ως ευαίσθητα}}",
|
||||||
"compose_form.spoiler.marked": "Κείμενο κρυμμένο πίσω από προειδοποίηση",
|
"compose_form.spoiler.marked": "Αφαίρεση προειδοποίηση περιεχομένου",
|
||||||
"compose_form.spoiler.unmarked": "Μη κρυμμένο κείμενο",
|
"compose_form.spoiler.unmarked": "Προσθήκη προειδοποίησης περιεχομένου",
|
||||||
"compose_form.spoiler_placeholder": "Γράψε την προειδοποίησή σου εδώ",
|
"compose_form.spoiler_placeholder": "Γράψε την προειδοποίησή σου εδώ",
|
||||||
"confirmation_modal.cancel": "Άκυρο",
|
"confirmation_modal.cancel": "Άκυρο",
|
||||||
"confirmations.block.block_and_report": "Αποκλεισμός & Καταγγελία",
|
"confirmations.block.block_and_report": "Αποκλεισμός & Αναφορά",
|
||||||
"confirmations.block.confirm": "Απόκλεισε",
|
"confirmations.block.confirm": "Αποκλεισμός",
|
||||||
"confirmations.block.message": "Σίγουρα θες να αποκλείσεις {name};",
|
"confirmations.block.message": "Σίγουρα θες να αποκλείσεις {name};",
|
||||||
"confirmations.cancel_follow_request.confirm": "Απόσυρση αιτήματος",
|
"confirmations.cancel_follow_request.confirm": "Απόσυρση αιτήματος",
|
||||||
"confirmations.cancel_follow_request.message": "Είσαι σίγουρος/η ότι θέλεις να αποσύρεις το αίτημά σου να ακολουθείς τον/την {name};",
|
"confirmations.cancel_follow_request.message": "Είσαι σίγουρος/η ότι θέλεις να αποσύρεις το αίτημά σου να ακολουθείς τον/την {name};",
|
||||||
"confirmations.delete.confirm": "Διέγραψε",
|
"confirmations.delete.confirm": "Διαγραφή",
|
||||||
"confirmations.delete.message": "Σίγουρα θες να διαγράψεις αυτή τη δημοσίευση;",
|
"confirmations.delete.message": "Σίγουρα θες να διαγράψεις αυτή τη δημοσίευση;",
|
||||||
"confirmations.delete_list.confirm": "Διέγραψε",
|
"confirmations.delete_list.confirm": "Διαγραφή",
|
||||||
"confirmations.delete_list.message": "Σίγουρα θες να διαγράψεις οριστικά αυτή τη λίστα;",
|
"confirmations.delete_list.message": "Σίγουρα θες να διαγράψεις οριστικά αυτή τη λίστα;",
|
||||||
"confirmations.discard_edit_media.confirm": "Απόρριψη",
|
"confirmations.discard_edit_media.confirm": "Απόρριψη",
|
||||||
"confirmations.discard_edit_media.message": "Έχετε μη αποθηκευμένες αλλαγές στην περιγραφή πολυμέσων ή στην προεπισκόπηση, απορρίψτε τις ούτως ή άλλως;",
|
"confirmations.discard_edit_media.message": "Έχεις μη αποθηκευμένες αλλαγές στην περιγραφή πολυμέσων ή στην προεπισκόπηση, απόρριψη ούτως ή άλλως;",
|
||||||
"confirmations.domain_block.confirm": "Απόκρυψη ολόκληρου του τομέα",
|
"confirmations.domain_block.confirm": "Αποκλεισμός ολόκληρου του τομέα",
|
||||||
"confirmations.domain_block.message": "Σίγουρα θες να μπλοκάρεις ολόκληρο το {domain}; Συνήθως μερικά εστιασμένα μπλοκ ή αποσιωπήσεις επαρκούν και προτιμούνται. Δεν θα βλέπεις περιεχόμενο από αυτό τον κόμβο σε καμία δημόσια ροή, ούτε στις ειδοποιήσεις σου. Όσους ακόλουθους έχεις αυτό αυτό τον κόμβο θα αφαιρεθούν.",
|
"confirmations.domain_block.message": "Σίγουρα θες να αποκλείσεις ολόκληρο τον {domain}; Συνήθως μερικοί συγκεκρίμένοι αποκλεισμοί ή σιγάσεις επαρκούν και προτιμούνται. Δεν θα βλέπεις περιεχόμενο από αυτό τον τομέα σε καμία δημόσια ροή ή στις ειδοποιήσεις σου. Όσους ακόλουθους έχεις αυτό αυτό τον τομέα θα αφαιρεθούν.",
|
||||||
"confirmations.edit.confirm": "Επεξεργασία",
|
"confirmations.edit.confirm": "Επεξεργασία",
|
||||||
"confirmations.edit.message": "Αν το επεξεργαστείτε τώρα θα αντικατασταθεί το μήνυμα που συνθέτετε. Είστε σίγουροι ότι θέλετε να συνεχίσετε;",
|
"confirmations.edit.message": "Αν το επεξεργαστείς τώρα θα αντικατασταθεί το μήνυμα που συνθέτεις. Είσαι σίγουρος ότι θέλεις να συνεχίσεις;",
|
||||||
"confirmations.logout.confirm": "Αποσύνδεση",
|
"confirmations.logout.confirm": "Αποσύνδεση",
|
||||||
"confirmations.logout.message": "Σίγουρα θέλεις να αποσυνδεθείς;",
|
"confirmations.logout.message": "Σίγουρα θέλεις να αποσυνδεθείς;",
|
||||||
"confirmations.mute.confirm": "Αποσιώπηση",
|
"confirmations.mute.confirm": "Αποσιώπηση",
|
||||||
|
@ -173,7 +174,7 @@
|
||||||
"confirmations.redraft.message": "Σίγουρα θέλεις να σβήσεις αυτή την κατάσταση και να την ξαναγράψεις; Οι αναφορές και τα αγαπημένα της θα χαθούν ενώ οι απαντήσεις προς αυτή θα μείνουν ορφανές.",
|
"confirmations.redraft.message": "Σίγουρα θέλεις να σβήσεις αυτή την κατάσταση και να την ξαναγράψεις; Οι αναφορές και τα αγαπημένα της θα χαθούν ενώ οι απαντήσεις προς αυτή θα μείνουν ορφανές.",
|
||||||
"confirmations.reply.confirm": "Απάντησε",
|
"confirmations.reply.confirm": "Απάντησε",
|
||||||
"confirmations.reply.message": "Απαντώντας τώρα θα αντικαταστήσεις το κείμενο που ήδη γράφεις. Σίγουρα θέλεις να συνεχίσεις;",
|
"confirmations.reply.message": "Απαντώντας τώρα θα αντικαταστήσεις το κείμενο που ήδη γράφεις. Σίγουρα θέλεις να συνεχίσεις;",
|
||||||
"confirmations.unfollow.confirm": "Διακοπή παρακολούθησης",
|
"confirmations.unfollow.confirm": "Άρση ακολούθησης",
|
||||||
"confirmations.unfollow.message": "Σίγουρα θες να πάψεις να ακολουθείς τον/την {name};",
|
"confirmations.unfollow.message": "Σίγουρα θες να πάψεις να ακολουθείς τον/την {name};",
|
||||||
"conversation.delete": "Διαγραφή συζήτησης",
|
"conversation.delete": "Διαγραφή συζήτησης",
|
||||||
"conversation.mark_as_read": "Σήμανση ως αναγνωσμένο",
|
"conversation.mark_as_read": "Σήμανση ως αναγνωσμένο",
|
||||||
|
@ -186,14 +187,14 @@
|
||||||
"directory.new_arrivals": "Νέες αφίξεις",
|
"directory.new_arrivals": "Νέες αφίξεις",
|
||||||
"directory.recently_active": "Πρόσφατα ενεργοί",
|
"directory.recently_active": "Πρόσφατα ενεργοί",
|
||||||
"disabled_account_banner.account_settings": "Ρυθμίσεις λογαριασμού",
|
"disabled_account_banner.account_settings": "Ρυθμίσεις λογαριασμού",
|
||||||
"disabled_account_banner.text": "Ο λογαριασμός σου {disabledAccount} είναι επί του παρόντος απενεργοποιημένος.",
|
"disabled_account_banner.text": "Ο λογαριασμός σου {disabledAccount} είναι προς το παρόν απενεργοποιημένος.",
|
||||||
"dismissable_banner.community_timeline": "Αυτές είναι οι πιο πρόσφατες δημόσιες αναρτήσεις ατόμων των οποίων οι λογαριασμοί φιλοξενούνται στο {domain}.",
|
"dismissable_banner.community_timeline": "Αυτές είναι οι πιο πρόσφατες δημόσιες αναρτήσεις ατόμων των οποίων οι λογαριασμοί φιλοξενούνται στο {domain}.",
|
||||||
"dismissable_banner.dismiss": "Παράβλεψη",
|
"dismissable_banner.dismiss": "Παράβλεψη",
|
||||||
"dismissable_banner.explore_links": "Αυτές οι ειδήσεις συζητούνται σε αυτόν και άλλους servers του αποκεντρωμένου δικτύου αυτή τη στιγμή.",
|
"dismissable_banner.explore_links": "Αυτές οι ειδήσεις συζητούνται σε αυτόν και άλλους διακομιστές του αποκεντρωμένου δικτύου αυτή τη στιγμή.",
|
||||||
"dismissable_banner.explore_statuses": "Αυτές οι αναρτήσεις από αυτόν τον server και άλλους στο αποκεντρωμένο δίκτυο αποκτούν απήχηση σε αυτόν τον server αυτή τη στιγμή.",
|
"dismissable_banner.explore_statuses": "Αυτές οι αναρτήσεις από αυτόν τον διακομιστή και άλλους στο αποκεντρωμένο δίκτυο αποκτούν απήχηση σε αυτόν τον διακομιστή αυτή τη στιγμή.",
|
||||||
"dismissable_banner.explore_tags": "Αυτά τα hashtags αποκτούν απήχηση σε αυτόν και άλλους servers του αποκεντρωμένου δικτύου αυτή τη στιγμή.",
|
"dismissable_banner.explore_tags": "Αυτές οι ετικέτες αποκτούν απήχηση σε αυτόν και άλλους διακομιστές του αποκεντρωμένου δικτύου αυτή τη στιγμή.",
|
||||||
"dismissable_banner.public_timeline": "Αυτές είναι οι πιο πρόσφατες δημόσιες αναρτήσεις ανθρώπων σε αυτόν και άλλους servers του αποκεντρωμένου δικτύου τις οποίες γνωρίζει αυτός ο server.",
|
"dismissable_banner.public_timeline": "Αυτές είναι οι πιο πρόσφατες δημόσιες αναρτήσεις ανθρώπων σε αυτόν και άλλους διακομιστές του αποκεντρωμένου δικτύου τους οποίους γνωρίζει αυτός ο διακομιστής.",
|
||||||
"embed.instructions": "Ενσωματώστε αυτή την κατάσταση στην ιστοσελίδα σας αντιγράφοντας τον παρακάτω κώδικα.",
|
"embed.instructions": "Ενσωμάτωσε αυτή την ανάρτηση στην ιστοσελίδα σου αντιγράφοντας τον παρακάτω κώδικα.",
|
||||||
"embed.preview": "Ορίστε πως θα φαίνεται:",
|
"embed.preview": "Ορίστε πως θα φαίνεται:",
|
||||||
"emoji_button.activity": "Δραστηριότητα",
|
"emoji_button.activity": "Δραστηριότητα",
|
||||||
"emoji_button.clear": "Καθαρισμός",
|
"emoji_button.clear": "Καθαρισμός",
|
||||||
|
@ -202,26 +203,26 @@
|
||||||
"emoji_button.food": "Φαγητά & Ποτά",
|
"emoji_button.food": "Φαγητά & Ποτά",
|
||||||
"emoji_button.label": "Εισάγετε emoji",
|
"emoji_button.label": "Εισάγετε emoji",
|
||||||
"emoji_button.nature": "Φύση",
|
"emoji_button.nature": "Φύση",
|
||||||
"emoji_button.not_found": "Ουδέν emojo!! (╯°□°)╯︵ ┻━┻",
|
"emoji_button.not_found": "Δε βρέθηκε αντιστοίχιση εμότζι",
|
||||||
"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": "Ταξίδια & Τοποθεσίες",
|
||||||
"empty_column.account_suspended": "Λογαριασμός σε αναστολή",
|
"empty_column.account_suspended": "Λογαριασμός σε αναστολή",
|
||||||
"empty_column.account_timeline": "Δεν έχει τουτ εδώ!",
|
"empty_column.account_timeline": "Δεν έχει αναρτήσεις εδώ!",
|
||||||
"empty_column.account_unavailable": "Μη διαθέσιμο προφίλ",
|
"empty_column.account_unavailable": "Μη διαθέσιμο προφίλ",
|
||||||
"empty_column.blocks": "Δεν έχεις αποκλείσει κανέναν χρήστη ακόμα.",
|
"empty_column.blocks": "Δεν έχεις αποκλείσει κανέναν χρήστη ακόμα.",
|
||||||
"empty_column.bookmarked_statuses": "Δεν έχεις κανένα αποθηκευμένο τουτ ακόμα. Μόλις αποθηκεύσεις κάποιο, θα εμφανιστεί εδώ.",
|
"empty_column.bookmarked_statuses": "Δεν έχεις καμία ανάρτηση με σελιδοδείκτη ακόμα. Μόλις βάλεις κάποιον, θα εμφανιστεί εδώ.",
|
||||||
"empty_column.community": "Η τοπική ροή είναι κενή. Γράψε κάτι δημόσιο παραμύθι ν' αρχινίσει!",
|
"empty_column.community": "Η τοπική ροή είναι κενή. Γράψε κάτι δημόσιο παραμύθι ν' αρχινίσει!",
|
||||||
"empty_column.direct": "Δεν έχεις καμία προσωπική αναφορά ακόμα. Όταν στείλεις ή λάβεις μία, θα εμφανιστεί εδώ.",
|
"empty_column.direct": "Δεν έχεις καμία προσωπική επισήμανση ακόμα. Όταν στείλεις ή λάβεις μία, θα εμφανιστεί εδώ.",
|
||||||
"empty_column.domain_blocks": "Δεν υπάρχουν αποκλεισμένοι τομείς ακόμα.",
|
"empty_column.domain_blocks": "Δεν υπάρχουν αποκλεισμένοι τομείς ακόμα.",
|
||||||
"empty_column.explore_statuses": "Τίποτα δεν τρεντάρει αυτή τη στιγμή. Ελέγξτε αργότερα!",
|
"empty_column.explore_statuses": "Τίποτα δεν βρίσκεται στις τάσεις αυτή τη στιγμή. Έλεγξε αργότερα!",
|
||||||
"empty_column.favourited_statuses": "Δεν έχεις κανένα αγαπημένο τουτ ακόμα. Μόλις αγαπήσεις κάποιο, θα εμφανιστεί εδώ.",
|
"empty_column.favourited_statuses": "Δεν έχεις καμία αγαπημένη ανάρτηση ακόμα. Μόλις αγαπήσεις κάποια, θα εμφανιστεί εδώ.",
|
||||||
"empty_column.favourites": "Κανείς δεν έχει αγαπήσει αυτό το τουτ ακόμα. Μόλις το κάνει κάποια, θα εμφανιστούν εδώ.",
|
"empty_column.favourites": "Κανείς δεν έχει αυτή την ανάρτηση στα αγαπημένα ακόμα. Μόλις το κάνει κάποιος, θα εμφανιστεί εδώ.",
|
||||||
"empty_column.follow_recommendations": "Φαίνεται ότι δεν υπάρχει καμία πρόταση για σένα. Μπορείς να κάνεις μια αναζήτηση για άτομα που μπορεί να γνωρίζεις ή για hashtags που τρεντάρουν.",
|
"empty_column.follow_recommendations": "Φαίνεται ότι δεν υπάρχει καμία πρόταση για σένα. Μπορείς να κάνεις μια αναζήτηση για άτομα που μπορεί να γνωρίζεις ή να εξερευνήσεις ετικέτες σε τάση.",
|
||||||
"empty_column.follow_requests": "Δεν έχεις κανένα αίτημα παρακολούθησης ακόμα. Μόλις λάβεις κάποιο, θα εμφανιστεί εδώ.",
|
"empty_column.follow_requests": "Δεν έχεις κανένα αίτημα παρακολούθησης ακόμα. Μόλις λάβεις κάποιο, θα εμφανιστεί εδώ.",
|
||||||
"empty_column.followed_tags": "Δεν έχετε παρακολουθήσει ακόμα καμία ετικέτα. Όταν το κάνετε, θα εμφανιστούν εδώ.",
|
"empty_column.followed_tags": "Δεν έχετε παρακολουθήσει ακόμα καμία ετικέτα. Όταν το κάνετε, θα εμφανιστούν εδώ.",
|
||||||
"empty_column.hashtag": "Δεν υπάρχει ακόμα κάτι για αυτή την ετικέτα.",
|
"empty_column.hashtag": "Δεν υπάρχει ακόμα κάτι για αυτή την ετικέτα.",
|
||||||
|
@ -229,54 +230,54 @@
|
||||||
"empty_column.home.suggestions": "Ορίστε μερικές προτάσεις",
|
"empty_column.home.suggestions": "Ορίστε μερικές προτάσεις",
|
||||||
"empty_column.list": "Δεν υπάρχει τίποτα σε αυτή τη λίστα ακόμα. Όταν τα μέλη της δημοσιεύσουν νέες καταστάσεις, θα εμφανιστούν εδώ.",
|
"empty_column.list": "Δεν υπάρχει τίποτα σε αυτή τη λίστα ακόμα. Όταν τα μέλη της δημοσιεύσουν νέες καταστάσεις, θα εμφανιστούν εδώ.",
|
||||||
"empty_column.lists": "Δεν έχεις καμία λίστα ακόμα. Μόλις φτιάξεις μια, θα εμφανιστεί εδώ.",
|
"empty_column.lists": "Δεν έχεις καμία λίστα ακόμα. Μόλις φτιάξεις μια, θα εμφανιστεί εδώ.",
|
||||||
"empty_column.mutes": "Δεν έχεις αποσιωπήσει κανένα χρήστη ακόμα.",
|
"empty_column.mutes": "Δεν έχεις κανένα χρήστη σε σίγαση ακόμα.",
|
||||||
"empty_column.notifications": "Δεν έχεις ειδοποιήσεις ακόμα. Αλληλεπίδρασε με άλλους χρήστες για να ξεκινήσεις την κουβέντα.",
|
"empty_column.notifications": "Δεν έχεις ειδοποιήσεις ακόμα. Όταν άλλα άτομα αλληλεπιδράσουν μαζί σου, θα το δεις εδώ.",
|
||||||
"empty_column.public": "Δεν υπάρχει τίποτα εδώ! Γράψε κάτι δημόσιο, ή ακολούθησε χειροκίνητα χρήστες από άλλους κόμβους για να τη γεμίσεις",
|
"empty_column.public": "Δεν υπάρχει τίποτα εδώ! Γράψε κάτι δημόσιο ή ακολούθησε χειροκίνητα χρήστες από άλλους διακομιστές για να τη γεμίσεις",
|
||||||
"error.unexpected_crash.explanation": "Είτε λόγω λάθους στον κώδικά μας ή λόγω ασυμβατότητας με τον browser, η σελίδα δε μπόρεσε να εμφανιστεί σωστά.",
|
"error.unexpected_crash.explanation": "Είτε λόγω σφάλματος στον κώδικά μας ή λόγω ασυμβατότητας με τον περιηγητή, η σελίδα δε μπόρεσε να εμφανιστεί σωστά.",
|
||||||
"error.unexpected_crash.explanation_addons": "Η σελίδα δεν μπόρεσε να εμφανιστεί σωστά. Το πρόβλημα οφείλεται πιθανόν σε κάποια επέκταση του φυλλομετρητή (browser extension) ή σε κάποιο αυτόματο εργαλείο μετάφρασης.",
|
"error.unexpected_crash.explanation_addons": "Η σελίδα δεν μπόρεσε να εμφανιστεί σωστά. Το πρόβλημα οφείλεται πιθανόν σε κάποια επέκταση του φυλλομετρητή ή σε κάποιο αυτόματο εργαλείο μετάφρασης.",
|
||||||
"error.unexpected_crash.next_steps": "Δοκίμασε να ανανεώσεις τη σελίδα. Αν αυτό δε βοηθήσει, ίσως να μπορέσεις να χρησιμοποιήσεις το Mastodon μέσω διαφορετικού browser ή κάποιας εφαρμογής.",
|
"error.unexpected_crash.next_steps": "Δοκίμασε να ανανεώσεις τη σελίδα. Αν αυτό δε βοηθήσει, ίσως να μπορέσεις να χρησιμοποιήσεις το Mastodon μέσω διαφορετικού περιηγητή ή κάποιας εφαρμογής.",
|
||||||
"error.unexpected_crash.next_steps_addons": "Δοκίμασε να τα απενεργοποιήσεις και ανανέωσε τη σελίδα. Αν αυτό δεν βοηθήσει, ίσως να μπορέσεις να χρησιμοποιήσεις το Mastodon μέσω διαφορετικού φυλλομετρητή ή κάποιας εφαρμογής.",
|
"error.unexpected_crash.next_steps_addons": "Δοκίμασε να τα απενεργοποιήσεις και ανανέωσε τη σελίδα. Αν αυτό δεν βοηθήσει, ίσως να μπορέσεις να χρησιμοποιήσεις το Mastodon μέσω διαφορετικού φυλλομετρητή ή κάποιας εφαρμογής.",
|
||||||
"errors.unexpected_crash.copy_stacktrace": "Αντιγραφή μηνυμάτων κώδικα στο πρόχειρο",
|
"errors.unexpected_crash.copy_stacktrace": "Αντιγραφή μηνυμάτων κώδικα στο πρόχειρο",
|
||||||
"errors.unexpected_crash.report_issue": "Αναφορά προβλήματος",
|
"errors.unexpected_crash.report_issue": "Αναφορά προβλήματος",
|
||||||
"explore.search_results": "Κανένα αποτέλεσμα.",
|
"explore.search_results": "Αποτελέσματα αναζήτησης",
|
||||||
"explore.suggested_follows": "Για σένα",
|
"explore.suggested_follows": "Για σένα",
|
||||||
"explore.title": "Εξερεύνηση",
|
"explore.title": "Εξερεύνηση",
|
||||||
"explore.trending_links": "Νέα",
|
"explore.trending_links": "Νέα",
|
||||||
"explore.trending_statuses": "Αναρτήσεις",
|
"explore.trending_statuses": "Αναρτήσεις",
|
||||||
"explore.trending_tags": "Ετικέτες",
|
"explore.trending_tags": "Ετικέτες",
|
||||||
"filter_modal.added.context_mismatch_explanation": "Αυτή η κατηγορία φίλτρων δεν ισχύει για το πλαίσιο εντός του οποίου προσπελάσατε αυτή την ανάρτηση. Αν θέλετε να φιλτραριστεί η δημοσίευση και εντός αυτού του πλαισίου, θα πρέπει να τροποποιήσετε το φίλτρο.",
|
"filter_modal.added.context_mismatch_explanation": "Αυτή η κατηγορία φίλτρων δεν ισχύει για το περιεχόμενο εντός του οποίου προσπελάσατε αυτή την ανάρτηση. Αν θέλετε να φιλτραριστεί η ανάρτηση και εντός αυτού του πλαισίου, θα πρέπει να τροποποιήσετε το φίλτρο.",
|
||||||
"filter_modal.added.context_mismatch_title": "Συνοδευτικά",
|
"filter_modal.added.context_mismatch_title": "Ασυμφωνία περιεχομένου!",
|
||||||
"filter_modal.added.expired_explanation": "Αυτή η κατηγορία φίλτρων έχει λήξει, πρέπει να αλλάξετε την ημερομηνία λήξης για να ισχύσει.",
|
"filter_modal.added.expired_explanation": "Αυτή η κατηγορία φίλτρων έχει λήξει, πρέπει να αλλάξετε την ημερομηνία λήξης για να ισχύσει.",
|
||||||
"filter_modal.added.expired_title": "Φίλτρο...",
|
"filter_modal.added.expired_title": "Ληγμένο φίλτρο!",
|
||||||
"filter_modal.added.review_and_configure": "Για να επιθεωρήσετε και να εξειδικεύσετε περαιτέρω αυτή την κατηγορία φίλτρων, πηγαίνετε στο {settings_link}.",
|
"filter_modal.added.review_and_configure": "Για να επιθεωρήσετε και να εξειδικεύσετε περαιτέρω αυτή την κατηγορία φίλτρων, πηγαίνετε στο {settings_link}.",
|
||||||
"filter_modal.added.review_and_configure_title": "Φίλτρο...",
|
"filter_modal.added.review_and_configure_title": "Ρυθμίσεις φίλτρου",
|
||||||
"filter_modal.added.settings_link": "Στη σελίδα:",
|
"filter_modal.added.settings_link": "σελίδα ρυθμίσεων",
|
||||||
"filter_modal.added.short_explanation": "Αυτή η ανάρτηση έχει προστεθεί στην ακόλουθη κατηγορία φίλτρου: {title}.",
|
"filter_modal.added.short_explanation": "Αυτή η ανάρτηση έχει προστεθεί στην ακόλουθη κατηγορία φίλτρου: {title}.",
|
||||||
"filter_modal.added.title": "Φίλτρο...",
|
"filter_modal.added.title": "Το φίλτρο προστέθηκε!",
|
||||||
"filter_modal.select_filter.context_mismatch": "Εφαρμογή",
|
"filter_modal.select_filter.context_mismatch": "δεν εφαρμόζεται σε αυτό το περιεχόμενο",
|
||||||
"filter_modal.select_filter.expired": "Έληξε",
|
"filter_modal.select_filter.expired": "έληξε",
|
||||||
"filter_modal.select_filter.prompt_new": "Κατηγορία",
|
"filter_modal.select_filter.prompt_new": "Νέα κατηγορία: {name}",
|
||||||
"filter_modal.select_filter.search": "Δημιουργία",
|
"filter_modal.select_filter.search": "Αναζήτηση ή δημιουργία",
|
||||||
"filter_modal.select_filter.subtitle": "Χρησιμοποιήστε μια υπάρχουσα κατηγορία ή δημιουργήστε μια νέα",
|
"filter_modal.select_filter.subtitle": "Χρησιμοποιήστε μια υπάρχουσα κατηγορία ή δημιουργήστε μια νέα",
|
||||||
"filter_modal.select_filter.title": "Φίλτρο...",
|
"filter_modal.select_filter.title": "Φιλτράρισμα αυτής της ανάρτησης",
|
||||||
"filter_modal.title.status": "Φίλτρο...",
|
"filter_modal.title.status": "Φιλτράρισμα μιας ανάρτησης",
|
||||||
"follow_recommendations.done": "Ολοκληρώθηκε",
|
"follow_recommendations.done": "Έγινε",
|
||||||
"follow_recommendations.heading": "Ακολουθήστε άτομα από τα οποία θα θέλατε να βλέπετε δημοσιεύσεις! Ορίστε μερικές προτάσεις.",
|
"follow_recommendations.heading": "Ακολουθήστε άτομα από τα οποία θα θέλατε να βλέπετε δημοσιεύσεις! Ορίστε μερικές προτάσεις.",
|
||||||
"follow_recommendations.lead": "Οι αναρτήσεις των ατόμων που ακολουθείτε θα εμφανίζονται με χρονολογική σειρά στη ροή σας. Μη φοβάστε να κάνετε λάθη, καθώς μπορείτε πολύ εύκολα να σταματήσετε να ακολουθείτε άλλα άτομα οποιαδήποτε στιγμή!",
|
"follow_recommendations.lead": "Οι αναρτήσεις των ατόμων που ακολουθείτε θα εμφανίζονται με χρονολογική σειρά στη ροή σας. Μη φοβάστε να κάνετε λάθη, καθώς μπορείτε πολύ εύκολα να σταματήσετε να ακολουθείτε άλλα άτομα οποιαδήποτε στιγμή!",
|
||||||
"follow_request.authorize": "Ενέκρινε",
|
"follow_request.authorize": "Εξουσιοδότησε",
|
||||||
"follow_request.reject": "Απέρριψε",
|
"follow_request.reject": "Απέρριψε",
|
||||||
"follow_requests.unlocked_explanation": "Παρόλο που ο λογαριασμός σου δεν είναι κλειδωμένος, οι διαχειριστές του {domain} θεώρησαν πως ίσως να θέλεις να ελέγξεις χειροκίνητα αυτά τα αιτήματα ακολούθησης.",
|
"follow_requests.unlocked_explanation": "Παρόλο που ο λογαριασμός σου δεν είναι κλειδωμένος, το προσωπικό του {domain} θεώρησαν πως ίσως να θέλεις να ελέγξεις χειροκίνητα αυτά τα αιτήματα ακολούθησης.",
|
||||||
"followed_tags": "Ετικέτες που ακολουθούνται",
|
"followed_tags": "Ετικέτες που ακολουθούνται",
|
||||||
"footer.about": "Σχετικά με",
|
"footer.about": "Σχετικά με",
|
||||||
"footer.directory": "Κατάλογος προφίλ",
|
"footer.directory": "Κατάλογος προφίλ",
|
||||||
"footer.get_app": "Αποκτήστε την Εφαρμογή",
|
"footer.get_app": "Αποκτήστε την εφαρμογή",
|
||||||
"footer.invite": "Πρόσκληση ατόμων",
|
"footer.invite": "Προσκάλεσε άτομα",
|
||||||
"footer.keyboard_shortcuts": "Συντομεύσεις πληκτρολογίου",
|
"footer.keyboard_shortcuts": "Συντομεύσεις πληκτρολογίου",
|
||||||
"footer.privacy_policy": "Πολιτική απορρήτου",
|
"footer.privacy_policy": "Πολιτική απορρήτου",
|
||||||
"footer.source_code": "Προβολή πηγαίου κώδικα",
|
"footer.source_code": "Προβολή πηγαίου κώδικα",
|
||||||
"footer.status": "Κατάσταση",
|
"footer.status": "Κατάσταση",
|
||||||
"generic.saved": "Αποθηκεύτηκε",
|
"generic.saved": "Αποθηκεύτηκε",
|
||||||
"getting_started.heading": "Αφετηρία",
|
"getting_started.heading": "Ας ξεκινήσουμε",
|
||||||
"hashtag.column_header.tag_mode.all": "και {additional}",
|
"hashtag.column_header.tag_mode.all": "και {additional}",
|
||||||
"hashtag.column_header.tag_mode.any": "ή {additional}",
|
"hashtag.column_header.tag_mode.any": "ή {additional}",
|
||||||
"hashtag.column_header.tag_mode.none": "χωρίς {additional}",
|
"hashtag.column_header.tag_mode.none": "χωρίς {additional}",
|
||||||
|
@ -294,56 +295,56 @@
|
||||||
"home.hide_announcements": "Απόκρυψη ανακοινώσεων",
|
"home.hide_announcements": "Απόκρυψη ανακοινώσεων",
|
||||||
"home.show_announcements": "Εμφάνιση ανακοινώσεων",
|
"home.show_announcements": "Εμφάνιση ανακοινώσεων",
|
||||||
"interaction_modal.description.favourite": "Με ένα λογαριασμό Mastodon μπορείτε να προτιμήσετε αυτή την ανάρτηση, για να ενημερώσετε τον συγγραφέα ότι την εκτιμάτε και να την αποθηκεύσετε για αργότερα.",
|
"interaction_modal.description.favourite": "Με ένα λογαριασμό Mastodon μπορείτε να προτιμήσετε αυτή την ανάρτηση, για να ενημερώσετε τον συγγραφέα ότι την εκτιμάτε και να την αποθηκεύσετε για αργότερα.",
|
||||||
"interaction_modal.description.follow": "Με έναν λογαριασμό Mastodon, μπορείτε να ακολουθήσετε τον/την {name} ώστε να λαμβάνετε τις δημοσιεύσεις τους στη δική σας ροή.",
|
"interaction_modal.description.follow": "Με έναν λογαριασμό Mastodon, μπορείς να ακολουθήσεις τον/την {name} ώστε να λαμβάνεις τις αναρτήσεις του/της στη δική σου ροή.",
|
||||||
"interaction_modal.description.reblog": "Με ένα λογαριασμό Mastodon, μπορείτε να ενισχύσετε αυτή την ανάρτηση για να τη μοιραστείτε με τους δικούς σας followers.",
|
"interaction_modal.description.reblog": "Με ένα λογαριασμό Mastodon, μπορείς να ενισχύσεις αυτή την ανάρτηση για να τη μοιραστείς με τους δικούς σου ακολούθους.",
|
||||||
"interaction_modal.description.reply": "Με ένα λογαριασμό Mastodon, μπορείτε να απαντήσετε σε αυτή την ανάρτηση.",
|
"interaction_modal.description.reply": "Με ένα λογαριασμό Mastodon, μπορείς να απαντήσεις σε αυτή την ανάρτηση.",
|
||||||
"interaction_modal.on_another_server": "Σε διαφορετικό διακομιστή",
|
"interaction_modal.on_another_server": "Σε διαφορετικό διακομιστή",
|
||||||
"interaction_modal.on_this_server": "Σε αυτόν τον διακομιστή",
|
"interaction_modal.on_this_server": "Σε αυτόν τον διακομιστή",
|
||||||
"interaction_modal.other_server_instructions": "Αντιγράψτε και επικολλήστε αυτήν τη διεύθυνση URL στο πεδίο αναζήτησης της αγαπημένης σας εφαρμογής Mastodon ή στο web interface του διακομιστή σας Mastodon.",
|
"interaction_modal.other_server_instructions": "Αντέγραψε και επικόλλησε αυτήν τη διεύθυνση URL στο πεδίο αναζήτησης της αγαπημένης σου εφαρμογής Mastodon ή στη διεπαφή ιστού του διακομιστή σας στο Mastodon.",
|
||||||
"interaction_modal.preamble": "Δεδομένου ότι το Mastodon είναι αποκεντρωμένο, μπορείτε να χρησιμοποιήσετε τον υπάρχοντα λογαριασμό σας που φιλοξενείται σε άλλο server του Mastodon ή σε συμβατή πλατφόρμα, αν δεν έχετε λογαριασμό σε αυτόν τον server.",
|
"interaction_modal.preamble": "Δεδομένου ότι το Mastodon είναι αποκεντρωμένο, μπορείς να χρησιμοποιείς τον υπάρχοντα λογαριασμό σου που φιλοξενείται σε άλλον διακομιστή του Mastodon ή σε συμβατή πλατφόρμα, αν δεν έχετε λογαριασμό σε αυτόν.",
|
||||||
"interaction_modal.title.favourite": "Σελίδα συγγραφέα %(name)s",
|
"interaction_modal.title.favourite": "Αγαπημένη ανάρτησητου {name}",
|
||||||
"interaction_modal.title.follow": "Ακολουθήστε!",
|
"interaction_modal.title.follow": "Ακολούθησε {name}",
|
||||||
"interaction_modal.title.reblog": "Σχετικά με %(site_name)s",
|
"interaction_modal.title.reblog": "Ενίσχυσε την ανάρτηση του {name}",
|
||||||
"interaction_modal.title.reply": "Απάντηση στην ανάρτηση του {name}",
|
"interaction_modal.title.reply": "Απάντηση στην ανάρτηση του {name}",
|
||||||
"intervals.full.days": "{number, plural, one {# μέρα} other {# μέρες}}",
|
"intervals.full.days": "{number, plural, one {# μέρα} other {# μέρες}}",
|
||||||
"intervals.full.hours": "{number, plural, one {# ώρα} other {# ώρες}}",
|
"intervals.full.hours": "{number, plural, one {# ώρα} other {# ώρες}}",
|
||||||
"intervals.full.minutes": "{number, plural, one {# λεπτό} other {# λεπτά}}",
|
"intervals.full.minutes": "{number, plural, one {# λεπτό} other {# λεπτά}}",
|
||||||
"keyboard_shortcuts.back": "επιστροφή",
|
"keyboard_shortcuts.back": "Μετάβαση πίσω",
|
||||||
"keyboard_shortcuts.blocked": "άνοιγμα λίστας αποκλεισμένων χρηστών",
|
"keyboard_shortcuts.blocked": "Άνοιγμα λίστας αποκλεισμένων χρηστών",
|
||||||
"keyboard_shortcuts.boost": "προώθηση",
|
"keyboard_shortcuts.boost": "Ενίσχυση ανάρτησης",
|
||||||
"keyboard_shortcuts.column": "εμφάνιση της κατάστασης σε μια από τις στήλες",
|
"keyboard_shortcuts.column": "Στήλη εστίασης",
|
||||||
"keyboard_shortcuts.compose": "εστίαση στην περιοχή συγγραφής",
|
"keyboard_shortcuts.compose": "Περιοχή συγγραφής κειμένου εστίασης",
|
||||||
"keyboard_shortcuts.description": "Περιγραφή",
|
"keyboard_shortcuts.description": "Περιγραφή",
|
||||||
"keyboard_shortcuts.direct": "για το άνοιγμα της στήλης ιδιωτικών αναφορών",
|
"keyboard_shortcuts.direct": "για το άνοιγμα της στήλης ιδιωτικών επισημάνσεων",
|
||||||
"keyboard_shortcuts.down": "κίνηση προς τα κάτω στη λίστα",
|
"keyboard_shortcuts.down": "κίνηση προς τα κάτω στη λίστα",
|
||||||
"keyboard_shortcuts.enter": "εμφάνιση κατάστασης",
|
"keyboard_shortcuts.enter": "Εμφάνιση ανάρτησης",
|
||||||
"keyboard_shortcuts.favourite": "σημείωση ως αγαπημένο",
|
"keyboard_shortcuts.favourite": "Σημείωση ως αγαπημένο",
|
||||||
"keyboard_shortcuts.favourites": "άνοιγμα λίστας αγαπημένων",
|
"keyboard_shortcuts.favourites": "Άνοιγμα λίστας αγαπημένων",
|
||||||
"keyboard_shortcuts.federated": "άνοιγμα ομοσπονδιακής ροής",
|
"keyboard_shortcuts.federated": "Άνοιγμα ροής συναλλαγών",
|
||||||
"keyboard_shortcuts.heading": "Συντομεύσεις",
|
"keyboard_shortcuts.heading": "Συντομεύσεις πληκτρολογίου",
|
||||||
"keyboard_shortcuts.home": "άνοιγμα αρχικής ροής",
|
"keyboard_shortcuts.home": "Άνοιγμα ροής αρχικής σελίδας",
|
||||||
"keyboard_shortcuts.hotkey": "Συντόμευση",
|
"keyboard_shortcuts.hotkey": "Συντόμευση",
|
||||||
"keyboard_shortcuts.legend": "εμφάνιση αυτού του οδηγού",
|
"keyboard_shortcuts.legend": "Εμφάνιση αυτού του οδηγού",
|
||||||
"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.open_media": "εμφάνιση πολυμέσου",
|
"keyboard_shortcuts.open_media": "Άνοιγμα πολυμέσων",
|
||||||
"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": "Γραμμή αναζήτησης εστίασης",
|
||||||
"keyboard_shortcuts.spoilers": "εμφάνιση/απόκρυψη πεδίου CW",
|
"keyboard_shortcuts.spoilers": "Εμφάνιση/απόκρυψη πεδίου CW",
|
||||||
"keyboard_shortcuts.start": "άνοιγμα κολώνας \"Ξεκινώντας\"",
|
"keyboard_shortcuts.start": "Άνοιγμα της στήλης \"Ας ξεκινήσουμε\"",
|
||||||
"keyboard_shortcuts.toggle_hidden": "εμφάνιση/απόκρυψη κειμένου πίσω από την προειδοποίηση",
|
"keyboard_shortcuts.toggle_hidden": "Εμφάνιση/απόκρυψη κειμένου πίσω από το CW",
|
||||||
"keyboard_shortcuts.toggle_sensitivity": "εμφάνιση/απόκρυψη πολυμέσων",
|
"keyboard_shortcuts.toggle_sensitivity": "Εμφάνιση/απόκρυψη πολυμέσων",
|
||||||
"keyboard_shortcuts.toot": "δημιουργία νέου τουτ",
|
"keyboard_shortcuts.toot": "Δημιουργία νέας ανάρτησης",
|
||||||
"keyboard_shortcuts.unfocus": "απο-εστίαση του πεδίου σύνθεσης/αναζήτησης",
|
"keyboard_shortcuts.unfocus": "Αποεστίαση του πεδίου σύνθεσης/αναζήτησης",
|
||||||
"keyboard_shortcuts.up": "κίνηση προς την κορυφή της λίστας",
|
"keyboard_shortcuts.up": "Μετακίνηση προς τα πάνω στη λίστα",
|
||||||
"lightbox.close": "Κλείσιμο",
|
"lightbox.close": "Κλείσιμο",
|
||||||
"lightbox.compress": "Συμπίεση πλαισίου εμφάνισης εικόνας",
|
"lightbox.compress": "Συμπίεση πλαισίου προβολής εικόνας",
|
||||||
"lightbox.expand": "Ανάπτυξη πλαισίου εμφάνισης εικόνας",
|
"lightbox.expand": "Ανάπτυξη πλαισίου εμφάνισης εικόνας",
|
||||||
"lightbox.next": "Επόμενο",
|
"lightbox.next": "Επόμενο",
|
||||||
"lightbox.previous": "Προηγούμενο",
|
"lightbox.previous": "Προηγούμενο",
|
||||||
|
@ -362,21 +363,21 @@
|
||||||
"lists.replies_policy.title": "Εμφάνιση απαντήσεων σε:",
|
"lists.replies_policy.title": "Εμφάνιση απαντήσεων σε:",
|
||||||
"lists.search": "Αναζήτησε μεταξύ των ανθρώπων που ακουλουθείς",
|
"lists.search": "Αναζήτησε μεταξύ των ανθρώπων που ακουλουθείς",
|
||||||
"lists.subheading": "Οι λίστες σου",
|
"lists.subheading": "Οι λίστες σου",
|
||||||
"load_pending": "{count, plural, one {# νέο} other {# νέα}}",
|
"load_pending": "{count, plural, one {# νέο στοιχείο} other {# νέα στοιχεία}}",
|
||||||
"loading_indicator.label": "Φορτώνει...",
|
"loading_indicator.label": "Φορτώνει...",
|
||||||
"media_gallery.toggle_visible": "Εναλλαγή ορατότητας",
|
"media_gallery.toggle_visible": "{number, plural, one {Απόκρυψη εικόνας} other {Απόκρυψη εικόνων}}",
|
||||||
"moved_to_account_banner.text": "Ο λογαριασμός σας {disabledAccount} είναι προσωρινά απενεργοποιημένος επειδή μεταφερθήκατε στο {movedToAccount}.",
|
"moved_to_account_banner.text": "Ο λογαριασμός σου {disabledAccount} είναι προσωρινά απενεργοποιημένος επειδή μεταφέρθηκες στον {movedToAccount}.",
|
||||||
"mute_modal.duration": "Διάρκεια",
|
"mute_modal.duration": "Διάρκεια",
|
||||||
"mute_modal.hide_notifications": "Απόκρυψη ειδοποιήσεων αυτού του χρήστη;",
|
"mute_modal.hide_notifications": "Απόκρυψη ειδοποιήσεων αυτού του χρήστη;",
|
||||||
"mute_modal.indefinite": "Αόριστη",
|
"mute_modal.indefinite": "Επ᾽ αόριστον",
|
||||||
"navigation_bar.about": "Σχετικά με",
|
"navigation_bar.about": "Σχετικά με",
|
||||||
"navigation_bar.blocks": "Αποκλεισμένοι χρήστες",
|
"navigation_bar.blocks": "Αποκλεισμένοι χρήστες",
|
||||||
"navigation_bar.bookmarks": "Σελιδοδείκτες",
|
"navigation_bar.bookmarks": "Σελιδοδείκτες",
|
||||||
"navigation_bar.community_timeline": "Τοπική ροή",
|
"navigation_bar.community_timeline": "Τοπική ροή",
|
||||||
"navigation_bar.compose": "Γράψε νέο τουτ",
|
"navigation_bar.compose": "Γράψε νέα ανάρτηση",
|
||||||
"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.explore": "Εξερεύνηση",
|
"navigation_bar.explore": "Εξερεύνηση",
|
||||||
"navigation_bar.favourites": "Αγαπημένα",
|
"navigation_bar.favourites": "Αγαπημένα",
|
||||||
|
@ -388,25 +389,25 @@
|
||||||
"navigation_bar.logout": "Αποσύνδεση",
|
"navigation_bar.logout": "Αποσύνδεση",
|
||||||
"navigation_bar.mutes": "Αποσιωπημένοι χρήστες",
|
"navigation_bar.mutes": "Αποσιωπημένοι χρήστες",
|
||||||
"navigation_bar.personal": "Προσωπικά",
|
"navigation_bar.personal": "Προσωπικά",
|
||||||
"navigation_bar.pins": "Καρφιτσωμένα τουτ",
|
"navigation_bar.pins": "Καρφιτσωμένες αναρτήσεις",
|
||||||
"navigation_bar.preferences": "Προτιμήσεις",
|
"navigation_bar.preferences": "Προτιμήσεις",
|
||||||
"navigation_bar.public_timeline": "Ομοσπονδιακή ροή",
|
"navigation_bar.public_timeline": "Ροή συναλλαγών",
|
||||||
"navigation_bar.search": "Αναζήτηση",
|
"navigation_bar.search": "Αναζήτηση",
|
||||||
"navigation_bar.security": "Ασφάλεια",
|
"navigation_bar.security": "Ασφάλεια",
|
||||||
"not_signed_in_indicator.not_signed_in": "Πρέπει να συνδεθείτε για να αποκτήσετε πρόσβαση σε αυτόν τον πόρο.",
|
"not_signed_in_indicator.not_signed_in": "Πρέπει να συνδεθείς για να αποκτήσεις πρόσβαση σε αυτόν τον πόρο.",
|
||||||
"notification.admin.report": "{name} ανέφερε {target}",
|
"notification.admin.report": "Ο/Η {name} ανέφερε τον {target}",
|
||||||
"notification.admin.sign_up": "{name} έχει εγγραφεί",
|
"notification.admin.sign_up": "{name} έχει εγγραφεί",
|
||||||
"notification.favourite": "Ο/Η {name} σημείωσε ως αγαπημένη την κατάστασή σου",
|
"notification.favourite": "Ο/Η {name} σημείωσε ως αγαπημένη την ανάρτησή σου",
|
||||||
"notification.follow": "Ο/Η {name} σε ακολούθησε",
|
"notification.follow": "Ο/Η {name} σε ακολούθησε",
|
||||||
"notification.follow_request": "Ο/H {name} ζήτησε να σε παρακολουθεί",
|
"notification.follow_request": "Ο/H {name} ζήτησε να σε ακολουθήσει",
|
||||||
"notification.mention": "Ο/Η {name} σε ανέφερε",
|
"notification.mention": "Ο/Η {name} σε επισήμανε",
|
||||||
"notification.own_poll": "Η ψηφοφορία σου έληξε",
|
"notification.own_poll": "Η δημοσκόπησή σου έληξε",
|
||||||
"notification.poll": "Τελείωσε μια από τις ψηφοφορίες που συμμετείχες",
|
"notification.poll": "Τελείωσε μια από τις δημοσκοπήσεις που συμμετείχες",
|
||||||
"notification.reblog": "Ο/Η {name} προώθησε την κατάστασή σου",
|
"notification.reblog": "Ο/Η {name} ενίσχυσε τη δημοσίευσή σου",
|
||||||
"notification.status": "Ο/Η {name} μόλις έγραψε κάτι",
|
"notification.status": "Ο/Η {name} μόλις ανέρτησε κάτι",
|
||||||
"notification.update": "{name} επεξεργάστηκε μια δημοσίευση",
|
"notification.update": "ο/η {name} επεξεργάστηκε μια ανάρτηση",
|
||||||
"notifications.clear": "Καθαρισμός ειδοποιήσεων",
|
"notifications.clear": "Καθαρισμός ειδοποιήσεων",
|
||||||
"notifications.clear_confirmation": "Σίγουρα θέλεις να καθαρίσεις όλες τις ειδοποιήσεις σου;",
|
"notifications.clear_confirmation": "Σίγουρα θέλεις να καθαρίσεις μόνιμα όλες τις ειδοποιήσεις σου;",
|
||||||
"notifications.column_settings.admin.report": "Νέες αναφορές:",
|
"notifications.column_settings.admin.report": "Νέες αναφορές:",
|
||||||
"notifications.column_settings.admin.sign_up": "Νέες εγγραφές:",
|
"notifications.column_settings.admin.sign_up": "Νέες εγγραφές:",
|
||||||
"notifications.column_settings.alert": "Ειδοποιήσεις επιφάνειας εργασίας",
|
"notifications.column_settings.alert": "Ειδοποιήσεις επιφάνειας εργασίας",
|
||||||
|
@ -415,23 +416,23 @@
|
||||||
"notifications.column_settings.filter_bar.category": "Μπάρα γρήγορου φίλτρου",
|
"notifications.column_settings.filter_bar.category": "Μπάρα γρήγορου φίλτρου",
|
||||||
"notifications.column_settings.filter_bar.show_bar": "Εμφάνιση μπάρας φίλτρου",
|
"notifications.column_settings.filter_bar.show_bar": "Εμφάνιση μπάρας φίλτρου",
|
||||||
"notifications.column_settings.follow": "Νέοι ακόλουθοι:",
|
"notifications.column_settings.follow": "Νέοι ακόλουθοι:",
|
||||||
"notifications.column_settings.follow_request": "Νέο αίτημα παρακολούθησης:",
|
"notifications.column_settings.follow_request": "Νέο αίτημα ακολούθησης:",
|
||||||
"notifications.column_settings.mention": "Αναφορές:",
|
"notifications.column_settings.mention": "Επισημάνσεις:",
|
||||||
"notifications.column_settings.poll": "Αποτελέσματα ψηφοφορίας:",
|
"notifications.column_settings.poll": "Αποτελέσματα δημοσκόπησης:",
|
||||||
"notifications.column_settings.push": "Άμεσες ειδοποιήσεις",
|
"notifications.column_settings.push": "Ειδοποιήσεις Push",
|
||||||
"notifications.column_settings.reblog": "Προωθήσεις:",
|
"notifications.column_settings.reblog": "Ενισχύσεις:",
|
||||||
"notifications.column_settings.show": "Εμφάνισε σε στήλη",
|
"notifications.column_settings.show": "Εμφάνισε σε στήλη",
|
||||||
"notifications.column_settings.sound": "Ηχητική ειδοποίηση",
|
"notifications.column_settings.sound": "Αναπαραγωγή ήχου",
|
||||||
"notifications.column_settings.status": "Νέα τουτ:",
|
"notifications.column_settings.status": "Νέες αναρτήσεις:",
|
||||||
"notifications.column_settings.unread_notifications.category": "Μη αναγνωσμένες ειδοποιήσεις",
|
"notifications.column_settings.unread_notifications.category": "Μη αναγνωσμένες ειδοποιήσεις",
|
||||||
"notifications.column_settings.unread_notifications.highlight": "Επισήμανση μη αναγνωσμένων ειδοποιήσεων",
|
"notifications.column_settings.unread_notifications.highlight": "Επισήμανση μη αναγνωσμένων ειδοποιήσεων",
|
||||||
"notifications.column_settings.update": "Επεξεργασίες:",
|
"notifications.column_settings.update": "Επεξεργασίες:",
|
||||||
"notifications.filter.all": "Όλες",
|
"notifications.filter.all": "Όλες",
|
||||||
"notifications.filter.boosts": "Προωθήσεις",
|
"notifications.filter.boosts": "Ενισχύσεις",
|
||||||
"notifications.filter.favourites": "Αγαπημένα",
|
"notifications.filter.favourites": "Αγαπημένα",
|
||||||
"notifications.filter.follows": "Ακόλουθοι",
|
"notifications.filter.follows": "Ακολουθείς",
|
||||||
"notifications.filter.mentions": "Αναφορές",
|
"notifications.filter.mentions": "Επισημάνσεις",
|
||||||
"notifications.filter.polls": "Αποτελέσματα ψηφοφορίας",
|
"notifications.filter.polls": "Αποτελέσματα δημοσκόπησης",
|
||||||
"notifications.filter.statuses": "Ενημερώσεις από όσους ακολουθείς",
|
"notifications.filter.statuses": "Ενημερώσεις από όσους ακολουθείς",
|
||||||
"notifications.grant_permission": "Χορήγηση άδειας.",
|
"notifications.grant_permission": "Χορήγηση άδειας.",
|
||||||
"notifications.group": "{count} ειδοποιήσεις",
|
"notifications.group": "{count} ειδοποιήσεις",
|
||||||
|
@ -440,26 +441,28 @@
|
||||||
"notifications.permission_denied_alert": "Δεν είναι δυνατή η ενεργοποίηση των ειδοποιήσεων της επιφάνειας εργασίας, καθώς η άδεια του προγράμματος περιήγησης έχει απορριφθεί νωρίτερα",
|
"notifications.permission_denied_alert": "Δεν είναι δυνατή η ενεργοποίηση των ειδοποιήσεων της επιφάνειας εργασίας, καθώς η άδεια του προγράμματος περιήγησης έχει απορριφθεί νωρίτερα",
|
||||||
"notifications.permission_required": "Οι ειδοποιήσεις δεν είναι διαθέσιμες επειδή δεν έχει δοθεί η απαιτούμενη άδεια.",
|
"notifications.permission_required": "Οι ειδοποιήσεις δεν είναι διαθέσιμες επειδή δεν έχει δοθεί η απαιτούμενη άδεια.",
|
||||||
"notifications_permission_banner.enable": "Ενεργοποίηση ειδοποιήσεων επιφάνειας εργασίας",
|
"notifications_permission_banner.enable": "Ενεργοποίηση ειδοποιήσεων επιφάνειας εργασίας",
|
||||||
"notifications_permission_banner.how_to_control": "Για να λαμβάνετε ειδοποιήσεις όταν το Mastodon δεν είναι ανοιχτό, ενεργοποιήστε τις ειδοποιήσεις επιφάνειας εργασίας. Μπορείτε να ελέγξετε με ακρίβεια ποιοι τύποι αλληλεπιδράσεων δημιουργούν ειδοποιήσεις επιφάνειας εργασίας μέσω του κουμπιού {icon} μόλις ενεργοποιηθούν.",
|
"notifications_permission_banner.how_to_control": "Για να λαμβάνεις ειδοποιήσεις όταν το Mastodon δεν είναι ανοιχτό, ενεργοποίησε τις ειδοποιήσεις επιφάνειας εργασίας. Μπορείς να ελέγξεις με ακρίβεια ποιοι τύποι αλληλεπιδράσεων δημιουργούν ειδοποιήσεις επιφάνειας εργασίας μέσω του κουμπιού {icon} μόλις ενεργοποιηθούν.",
|
||||||
"notifications_permission_banner.title": "Μη χάσετε τίποτα",
|
"notifications_permission_banner.title": "Μη χάσεις στιγμή",
|
||||||
"picture_in_picture.restore": "Επαναφορά",
|
"password_confirmation.exceeds_maxlength": "Η επιβεβαίωση κωδικού πρόσβασης υπερβαίνει το μέγιστο μήκος κωδικού πρόσβασης",
|
||||||
|
"password_confirmation.mismatching": "Η επιβεβαίωση του κωδικού πρόσβασης δε συμπίπτει",
|
||||||
|
"picture_in_picture.restore": "Βάλε το πίσω",
|
||||||
"poll.closed": "Κλειστή",
|
"poll.closed": "Κλειστή",
|
||||||
"poll.refresh": "Ανανέωση",
|
"poll.refresh": "Ανανέωση",
|
||||||
"poll.total_people": "{count, plural, one {# άτομο} other {# άτομα}}",
|
"poll.total_people": "{count, plural, one {# άτομο} other {# άτομα}}",
|
||||||
"poll.total_votes": "{count, plural, one {# ψήφος} other {# ψήφοι}}",
|
"poll.total_votes": "{count, plural, one {# ψήφος} other {# ψήφοι}}",
|
||||||
"poll.vote": "Ψήφισε",
|
"poll.vote": "Ψήφισε",
|
||||||
"poll.voted": "Ψηφίσατε αυτήν την απάντηση",
|
"poll.voted": "Ψήφισες αυτήν την απάντηση",
|
||||||
"poll.votes": "{votes, plural, one {# ψήφος} other {# ψήφοι}}",
|
"poll.votes": "{votes, plural, one {# ψήφος} other {# ψήφοι}}",
|
||||||
"poll_button.add_poll": "Προσθήκη δημοσκόπησης",
|
"poll_button.add_poll": "Προσθήκη δημοσκόπησης",
|
||||||
"poll_button.remove_poll": "Αφαίρεση δημοσκόπησης",
|
"poll_button.remove_poll": "Αφαίρεση δημοσκόπησης",
|
||||||
"privacy.change": "Προσαρμογή ιδιωτικότητας δημοσίευσης",
|
"privacy.change": "Προσαρμογή ιδιωτικότητας ανάρτησης",
|
||||||
"privacy.direct.long": "Δημοσίευση μόνο σε όσους και όσες αναφέρονται",
|
"privacy.direct.long": "Δημοσίευση μόνο σε όσους επισημαίνονται",
|
||||||
"privacy.direct.short": "Αναφερόμενα άτομα μόνο",
|
"privacy.direct.short": "Αναφερόμενα άτομα μόνο",
|
||||||
"privacy.private.long": "Δημοσίευση μόνο στους ακόλουθους",
|
"privacy.private.long": "Ορατό μόνο για τους ακολούθους",
|
||||||
"privacy.private.short": "Μόνο ακόλουθοι",
|
"privacy.private.short": "Μόνο ακόλουθοι",
|
||||||
"privacy.public.long": "Ορατό σε όλους",
|
"privacy.public.long": "Ορατό σε όλους",
|
||||||
"privacy.public.short": "Δημόσιο",
|
"privacy.public.short": "Δημόσιο",
|
||||||
"privacy.unlisted.long": "Ορατό για όλους, αλλά opted-out των χαρακτηριστικών της ανακάλυψης",
|
"privacy.unlisted.long": "Ορατό για όλους, εκτός αυτών που δεν συμμετέχουν σε δυνατότητες ανακάλυψης",
|
||||||
"privacy.unlisted.short": "Μη καταχωρημένα",
|
"privacy.unlisted.short": "Μη καταχωρημένα",
|
||||||
"privacy_policy.last_updated": "Τελευταία ενημέρωση {date}",
|
"privacy_policy.last_updated": "Τελευταία ενημέρωση {date}",
|
||||||
"privacy_policy.title": "Πολιτική Απορρήτου",
|
"privacy_policy.title": "Πολιτική Απορρήτου",
|
||||||
|
@ -479,48 +482,48 @@
|
||||||
"relative_time.today": "σήμερα",
|
"relative_time.today": "σήμερα",
|
||||||
"reply_indicator.cancel": "Άκυρο",
|
"reply_indicator.cancel": "Άκυρο",
|
||||||
"report.block": "Αποκλεισμός",
|
"report.block": "Αποκλεισμός",
|
||||||
"report.block_explanation": "Δεν θα βλέπετε τις αναρτήσεις τους. Δεν θα μπορούν να δουν τις αναρτήσεις σας ή να σας ακολουθήσουν. Θα μπορούν να δουν ότι έχουν μπλοκαριστεί.",
|
"report.block_explanation": "Δεν θα βλέπεις τις αναρτήσεις του. Δεν θα μπορεί να δει τις αναρτήσεις σου ή να σε ακολουθήσει. Θα μπορεί να δει ότι έχει αποκλειστεί.",
|
||||||
"report.categories.other": "Άλλες",
|
"report.categories.other": "Άλλες",
|
||||||
"report.categories.spam": "Ανεπιθύμητα",
|
"report.categories.spam": "Ανεπιθύμητα",
|
||||||
"report.categories.violation": "Το περιεχόμενο παραβιάζει έναν ή περισσότερους κανόνες διακομιστή",
|
"report.categories.violation": "Το περιεχόμενο παραβιάζει έναν ή περισσότερους κανόνες διακομιστή",
|
||||||
"report.category.subtitle": "Καλύτερο αποτέλεσμα",
|
"report.category.subtitle": "Επέλεξε την καλύτερη αντιστοίχιση",
|
||||||
"report.category.title": "Πείτε μας τι συμβαίνει με αυτό το {type}",
|
"report.category.title": "Πείτε μας τι συμβαίνει με {type}",
|
||||||
"report.category.title_account": "προφίλ",
|
"report.category.title_account": "προφίλ",
|
||||||
"report.category.title_status": "ανάρτηση",
|
"report.category.title_status": "ανάρτηση",
|
||||||
"report.close": "Τέλος",
|
"report.close": "Τέλος",
|
||||||
"report.comment.title": "Υπάρχει κάτι άλλο που νομίζετε ότι θα πρέπει να γνωρίζουμε;",
|
"report.comment.title": "Υπάρχει κάτι άλλο που νομίζεις ότι θα πρέπει να γνωρίζουμε;",
|
||||||
"report.forward": "Προώθηση προς {target}",
|
"report.forward": "Προώθηση προς {target}",
|
||||||
"report.forward_hint": "Ο λογαριασμός είναι από διαφορετικό διακομιστή. Να σταλεί ανώνυμο αντίγραφο της καταγγελίας κι εκεί;",
|
"report.forward_hint": "Ο λογαριασμός είναι από διαφορετικό διακομιστή. Να σταλεί ανώνυμο αντίγραφο της αναφοράς και εκεί;",
|
||||||
"report.mute": "Σίγαση",
|
"report.mute": "Σίγαση",
|
||||||
"report.mute_explanation": "Δεν θα βλέπετε τις αναρτήσεις τους. Εκείνοι μπορούν ακόμα να σας ακολουθούν και να βλέπουν τις αναρτήσεις σας χωρίς να γνωρίζουν ότι είναι σε σίγαση.",
|
"report.mute_explanation": "Δεν θα βλέπεις τις αναρτήσεις του. Εκείνοι μπορούν ακόμα να σε ακολουθούν και να βλέπουν τις αναρτήσεις σου χωρίς να γνωρίζουν ότι είναι σε σίγαση.",
|
||||||
"report.next": "Επόμενη",
|
"report.next": "Επόμενο",
|
||||||
"report.placeholder": "Επιπλέον σχόλια",
|
"report.placeholder": "Επιπλέον σχόλια",
|
||||||
"report.reasons.dislike": "Δεν μου αρέσει",
|
"report.reasons.dislike": "Δεν μου αρέσει",
|
||||||
"report.reasons.dislike_description": "Η σελίδα είναι ιδιωτική, μόνο εσείς μπορείτε να τη δείτε.",
|
"report.reasons.dislike_description": "Δεν είναι κάτι που θα ήθελες να δεις",
|
||||||
"report.reasons.other": "Είσαι ένας δημιουργός κοινών; Παράγεις ελεύθερη τέχνη, διαδίδεις ελεύθερη γνώση, γράφεις ελεύθερο λογισμικό; Ή κάτι άλλο το οποίο μπορεί να χρηματοδοτηθεί μέσω επαναλαμβανόμενων δωρεών;",
|
"report.reasons.other": "Είναι κάτι άλλο",
|
||||||
"report.reasons.other_description": "Το θέμα δεν ταιριάζει σε άλλες κατηγορίες",
|
"report.reasons.other_description": "Το ζήτημα δεν ταιριάζει σε άλλες κατηγορίες",
|
||||||
"report.reasons.spam": "Αναφορά ως ανεπιθύμητη αλληλογραφία",
|
"report.reasons.spam": "Είναι σπαμ",
|
||||||
"report.reasons.spam_description": "Κακόβουλοι σύνδεσμοι, πλαστή αλληλεπίδραση ή επαναλαμβανόμενες απαντήσεις",
|
"report.reasons.spam_description": "Κακόβουλοι σύνδεσμοι, πλαστή αλληλεπίδραση ή επαναλαμβανόμενες απαντήσεις",
|
||||||
"report.reasons.violation": "Χωρίς φίλτρα",
|
"report.reasons.violation": "Παραβαίνει τους κανόνες του διακομιστή",
|
||||||
"report.reasons.violation_description": "Γνωρίζετε ότι παραβιάζει συγκεκριμένους κανόνες",
|
"report.reasons.violation_description": "Γνωρίζεις ότι παραβιάζει συγκεκριμένους κανόνες",
|
||||||
"report.rules.subtitle": "Εφαρμογή σε όλα τα αρχεία",
|
"report.rules.subtitle": "Επίλεξε όλα όσα ισχύουν",
|
||||||
"report.rules.title": "Ποιοι κανόνες παραβιάζονται;",
|
"report.rules.title": "Ποιοι κανόνες παραβιάζονται;",
|
||||||
"report.statuses.subtitle": "Εφαρμογή σε όλα τα αρχεία",
|
"report.statuses.subtitle": "Επίλεξε όλα όσα ισχύουν",
|
||||||
"report.statuses.title": "Υπάρχουν αναρτήσεις που τεκμηριώνουν αυτή την αναφορά;",
|
"report.statuses.title": "Υπάρχουν αναρτήσεις που τεκμηριώνουν αυτή την αναφορά;",
|
||||||
"report.submit": "Υποβολή",
|
"report.submit": "Υποβολή",
|
||||||
"report.target": "Καταγγελία {target}",
|
"report.target": "Καταγγελία {target}",
|
||||||
"report.thanks.take_action": "Αυτές είναι οι επιλογές σας για να ελέγχετε τι βλέπετε στο Mastodon:",
|
"report.thanks.take_action": "Αυτές είναι οι επιλογές σας για να ελέγχετε τι βλέπετε στο Mastodon:",
|
||||||
"report.thanks.take_action_actionable": "Ενώ το ελέγχουμε, εσείς μπορείτε να αναλάβετε δράση εναντίον του/της @{name}:",
|
"report.thanks.take_action_actionable": "Ενώ το εξετάζουμε, μπορείς να δράσεις εναντίον του @{name}:",
|
||||||
"report.thanks.title": "Να μην εμφανίζονται προτεινόμενοι χρήστες",
|
"report.thanks.title": "Δε θες να το βλέπεις;",
|
||||||
"report.thanks.title_actionable": "Σας ευχαριστούμε για την αναφορά, θα το διερευνήσουμε.",
|
"report.thanks.title_actionable": "Σε ευχαριστούμε για την αναφορά, θα το διερευνήσουμε.",
|
||||||
"report.unfollow": "Αφαίρεση ακολούθησης",
|
"report.unfollow": "Κατάργηση ακολούθησης του @{name}",
|
||||||
"report.unfollow_explanation": "Ακολουθείτε αυτό τον λογαριασμό. Για να μη βλέπετε τις αναρτήσεις τους στη δική σας ροή, κάντε unfollow.",
|
"report.unfollow_explanation": "Ακολουθείς αυτό τον λογαριασμό. Για να μη βλέπεις τις αναρτήσεις τους στη δική σου ροή, πάψε να τον ακολουθείς.",
|
||||||
"report_notification.attached_statuses": "{count, plural, one {{count} ανάρτηση} other {{count} αναρτήσεις}} επισυνάπτονται",
|
"report_notification.attached_statuses": "{count, plural, one {{count} ανάρτηση} other {{count} αναρτήσεις}} επισυνάπτονται",
|
||||||
"report_notification.categories.other": "Άλλες",
|
"report_notification.categories.other": "Άλλες",
|
||||||
"report_notification.categories.spam": "Ανεπιθύμητα",
|
"report_notification.categories.spam": "Ανεπιθύμητα",
|
||||||
"report_notification.categories.violation": "Παραβίαση κανόνα",
|
"report_notification.categories.violation": "Παραβίαση κανόνα",
|
||||||
"report_notification.open": "Ανοικτό",
|
"report_notification.open": "Ανοιχτή αναφορά",
|
||||||
"search.no_recent_searches": "Καμμία πρόσφατη αναζήτηση",
|
"search.no_recent_searches": "Καμία πρόσφατη αναζήτηση",
|
||||||
"search.placeholder": "Αναζήτηση",
|
"search.placeholder": "Αναζήτηση",
|
||||||
"search.quick_action.account_search": "Προφίλ που ταιριάζουν με {x}",
|
"search.quick_action.account_search": "Προφίλ που ταιριάζουν με {x}",
|
||||||
"search.quick_action.go_to_account": "Μετάβαση στο προφίλ {x}",
|
"search.quick_action.go_to_account": "Μετάβαση στο προφίλ {x}",
|
||||||
|
@ -534,106 +537,107 @@
|
||||||
"search_results.all": "Όλα",
|
"search_results.all": "Όλα",
|
||||||
"search_results.hashtags": "Ετικέτες",
|
"search_results.hashtags": "Ετικέτες",
|
||||||
"search_results.nothing_found": "Δεν βρέθηκε τίποτα με αυτούς τους όρους αναζήτησης",
|
"search_results.nothing_found": "Δεν βρέθηκε τίποτα με αυτούς τους όρους αναζήτησης",
|
||||||
"search_results.statuses": "Τουτ",
|
"search_results.statuses": "Αναρτήσεις",
|
||||||
"search_results.statuses_fts_disabled": "Η αναζήτηση τουτ βάσει του περιεχόμενού τους δεν είναι ενεργοποιημένη σε αυτό τον κόμβο.",
|
"search_results.statuses_fts_disabled": "Η αναζήτηση αναρτήσεων βάσει του περιεχόμενού τους δεν είναι ενεργοποιημένη σε αυτό τον διακομιστή Mastodon.",
|
||||||
"search_results.title": "Αναζήτηση για…",
|
"search_results.title": "Αναζήτηση για {q}",
|
||||||
"search_results.total": "{count, number} {count, plural, zero {αποτελέσματα} one {αποτέλεσμα} other {αποτελέσματα}}",
|
"search_results.total": "{count, number} {count, plural, one {αποτέλεσμα} other {αποτελέσματα}}",
|
||||||
"server_banner.about_active_users": "Άτομα που χρησιμοποιούν αυτόν τον διακομιστή κατά τις τελευταίες 30 ημέρες (Μηνιαία Ενεργοί Χρήστες)",
|
"server_banner.about_active_users": "Άτομα που χρησιμοποιούν αυτόν τον διακομιστή κατά τις τελευταίες 30 ημέρες (Μηνιαία Ενεργοί Χρήστες)",
|
||||||
"server_banner.active_users": "ενεργοί χρήστες",
|
"server_banner.active_users": "ενεργοί χρήστες",
|
||||||
"server_banner.administered_by": "Διαχειριστής:",
|
"server_banner.administered_by": "Διαχειριστής:",
|
||||||
"server_banner.introduction": "Το {domain} είναι μέρος του αποκεντρωμένου κοινωνικού δικτύου που τρέχει σε {mastodon}.",
|
"server_banner.introduction": "Ο {domain} είναι μέρος του αποκεντρωμένου κοινωνικού δικτύου που παρέχεται από {mastodon}.",
|
||||||
"server_banner.learn_more": "Μάθετε περισσότερα",
|
"server_banner.learn_more": "Μάθε περισσότερα",
|
||||||
"server_banner.server_stats": "Στατιστικά διακομιστή:",
|
"server_banner.server_stats": "Στατιστικά διακομιστή:",
|
||||||
"sign_in_banner.create_account": "Δημιουργία λογαριασμού",
|
"sign_in_banner.create_account": "Δημιουργία λογαριασμού",
|
||||||
"sign_in_banner.sign_in": "Σύνδεση",
|
"sign_in_banner.sign_in": "Σύνδεση",
|
||||||
"sign_in_banner.text": "Συνδεθείτε για να ακολουθήσετε προφίλ ή ετικέτες, αγαπήστε, μοιραστείτε και απαντήστε σε δημοσιεύσεις. Μπορείτε επίσης να αλληλεπιδράσετε από τον λογαριασμό σας σε διαφορετικό διακομιστή.",
|
"sign_in_banner.text": "Συνδέσου για να ακολουθήσεις προφίλ ή ετικέτες, να αγαπήσεις, να μοιραστείς και να απαντήσεις σε αναρτήσεις. Μπορείς επίσης να αλληλεπιδράσεις από τον λογαριασμό σου σε διαφορετικό διακομιστή.",
|
||||||
"status.admin_account": "Άνοιγμα λειτουργίας διαμεσολάβησης για τον/την @{name}",
|
"status.admin_account": "Άνοιγμα διεπαφής συντονισμού για τον/την @{name}",
|
||||||
"status.admin_domain": "Άνοιγμα λειτουργίας διαμεσολάβησης για {domain}",
|
"status.admin_domain": "Άνοιγμα λειτουργίας διαμεσολάβησης για {domain}",
|
||||||
"status.admin_status": "Άνοιγμα αυτής της δημοσίευσης στη λειτουργία διαμεσολάβησης",
|
"status.admin_status": "Άνοιγμα αυτής της ανάρτησης σε διεπαφή συντονισμού",
|
||||||
"status.block": "Αποκλεισμός @{name}",
|
"status.block": "Αποκλεισμός @{name}",
|
||||||
"status.bookmark": "Σελιδοδείκτης",
|
"status.bookmark": "Σελιδοδείκτης",
|
||||||
"status.cancel_reblog_private": "Ακύρωσε την προώθηση",
|
"status.cancel_reblog_private": "Ακύρωση ενίσχυσης",
|
||||||
"status.cannot_reblog": "Αυτή η δημοσίευση δεν μπορεί να προωθηθεί",
|
"status.cannot_reblog": "Αυτή η ανάρτηση δεν μπορεί να ενισχυθεί",
|
||||||
"status.copy": "Αντιγραφή συνδέσμου της δημοσίευσης",
|
"status.copy": "Αντιγραφή συνδέσμου ανάρτησης",
|
||||||
"status.delete": "Διαγραφή",
|
"status.delete": "Διαγραφή",
|
||||||
"status.detailed_status": "Προβολή λεπτομερειών συζήτησης",
|
"status.detailed_status": "Προβολή λεπτομερούς συζήτησης",
|
||||||
"status.direct": "Ιδιωτική αναφορά @{name}",
|
"status.direct": "Ιδιωτική επισήμανση @{name}",
|
||||||
"status.direct_indicator": "Ιδιωτική αναφορά",
|
"status.direct_indicator": "Ιδιωτική επισήμανση",
|
||||||
"status.edit": "Επεξεργασία",
|
"status.edit": "Επεξεργασία",
|
||||||
"status.edited": "Επεξεργάστηκε στις {date}",
|
"status.edited": "Επεξεργάστηκε στις {date}",
|
||||||
"status.edited_x_times": "Επεξεργάστηκε {count, plural, one {{count} φορά} other {{count} φορές}}",
|
"status.edited_x_times": "Επεξεργάστηκε {count, plural, one {{count} φορά} other {{count} φορές}}",
|
||||||
"status.embed": "Ενσωμάτωσε",
|
"status.embed": "Ενσωμάτωσε",
|
||||||
"status.favourite": "Σημείωσε ως αγαπημένο",
|
"status.favourite": "Σημείωσε ως αγαπημένο",
|
||||||
"status.filter": "Φίλτρο...",
|
"status.filter": "Φιλτράρισμα αυτής της ανάρτησης",
|
||||||
"status.filtered": "Φιλτραρισμένα",
|
"status.filtered": "Φιλτραρισμένα",
|
||||||
"status.hide": "Απόκρυψη ανάρτησης",
|
"status.hide": "Απόκρυψη ανάρτησης",
|
||||||
"status.history.created": "Δημιουργήθηκε από",
|
"status.history.created": "{name} δημιούργησε στις {date}",
|
||||||
"status.history.edited": "Τελευταία επεξεργασία από:",
|
"status.history.edited": "{name} επεξεργάστηκε στις {date}",
|
||||||
"status.load_more": "Φόρτωσε περισσότερα",
|
"status.load_more": "Φόρτωσε περισσότερα",
|
||||||
"status.media_hidden": "Κρυμμένο πολυμέσο",
|
"status.media_hidden": "Κρυμμένο πολυμέσο",
|
||||||
"status.mention": "Ανέφερε τον/την @{name}",
|
"status.mention": "Επισήμανε @{name}",
|
||||||
"status.more": "Περισσότερα",
|
"status.more": "Περισσότερα",
|
||||||
"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": "Ενίσχυση",
|
||||||
"status.reblog_private": "Προώθησε στους αρχικούς παραλήπτες",
|
"status.reblog_private": "Ενίσχυση με αρχική ορατότητα",
|
||||||
"status.reblogged_by": "{name} προώθησε",
|
"status.reblogged_by": "{name} ενισχύθηκε",
|
||||||
"status.reblogs.empty": "Κανείς δεν προώθησε αυτό το τουτ ακόμα. Μόλις το κάνει κάποια, θα εμφανιστούν εδώ.",
|
"status.reblogs.empty": "Κανείς δεν ενίσχυσε αυτή την ανάρτηση ακόμα. Μόλις το κάνει κάποιος, θα εμφανιστεί εδώ.",
|
||||||
"status.redraft": "Σβήσε & ξαναγράψε",
|
"status.redraft": "Σβήσε & ξαναγράψε",
|
||||||
"status.remove_bookmark": "Αφαίρεση σελιδοδείκτη",
|
"status.remove_bookmark": "Αφαίρεση σελιδοδείκτη",
|
||||||
"status.replied_to": "Όνομα:",
|
"status.replied_to": "Απάντησε στον {name}",
|
||||||
"status.reply": "Απάντησε",
|
"status.reply": "Απάντησε",
|
||||||
"status.replyAll": "Απάντησε στην συζήτηση",
|
"status.replyAll": "Απάντησε στο νήμα συζήτησης",
|
||||||
"status.report": "Κατάγγειλε @{name}",
|
"status.report": "Αναφορά @{name}",
|
||||||
"status.sensitive_warning": "Ευαίσθητο περιεχόμενο",
|
"status.sensitive_warning": "Ευαίσθητο περιεχόμενο",
|
||||||
"status.share": "Μοιράσου",
|
"status.share": "Κοινοποίηση",
|
||||||
"status.show_filter_reason": "Εμφάνιση παρ'όλα αυτά",
|
"status.show_filter_reason": "Εμφάνιση παρ' όλα αυτά",
|
||||||
"status.show_less": "Δείξε λιγότερα",
|
"status.show_less": "Δείξε λιγότερα",
|
||||||
"status.show_less_all": "Δείξε λιγότερα για όλα",
|
"status.show_less_all": "Δείξε λιγότερα για όλα",
|
||||||
"status.show_more": "Δείξε περισσότερα",
|
"status.show_more": "Δείξε περισσότερα",
|
||||||
"status.show_more_all": "Δείξε περισσότερα για όλα",
|
"status.show_more_all": "Δείξε περισσότερα για όλα",
|
||||||
"status.show_original": "Εμφάνιση αρχικού",
|
"status.show_original": "Εμφάνιση αρχικού",
|
||||||
|
"status.title.with_attachments": "{user} δημοσίευσε {attachmentCount, plural, one {ένα συνημμένο} other {{attachmentCount} συνημμένα}}",
|
||||||
"status.translate": "Μετάφραση",
|
"status.translate": "Μετάφραση",
|
||||||
"status.translated_from_with": "Μεταφράστηκε από {lang} χρησιμοποιώντας {provider}",
|
"status.translated_from_with": "Μεταφράστηκε από {lang} χρησιμοποιώντας {provider}",
|
||||||
"status.uncached_media_warning": "Μη διαθέσιμα",
|
"status.uncached_media_warning": "Μη διαθέσιμα",
|
||||||
"status.unmute_conversation": "Διέκοψε την αποσιώπηση της συζήτησης",
|
"status.unmute_conversation": "Αναίρεση σίγασης συνομιλίας",
|
||||||
"status.unpin": "Ξεκαρφίτσωσε από το προφίλ",
|
"status.unpin": "Ξεκαρφίτσωσε από το προφίλ",
|
||||||
"subscribed_languages.lead": "Μόνο δημοσιεύσεις σε επιλεγμένες γλώσσες θα εμφανίζονται στην αρχική σας και θα εμφανίζονται χρονοδιαγράμματα μετά την αλλαγή. Επιλέξτε καμία για να λαμβάνετε δημοσιεύσεις σε όλες τις γλώσσες.",
|
"subscribed_languages.lead": "Μόνο αναρτήσεις σε επιλεγμένες γλώσσες θα εμφανίζονται στην αρχική σου και θα παραθέτονται χρονοδιαγράμματα μετά την αλλαγή. Επέλεξε καμία για να λαμβάνεις αναρτήσεις σε όλες τις γλώσσες.",
|
||||||
"subscribed_languages.save": "Αποθήκευση αλλαγών",
|
"subscribed_languages.save": "Αποθήκευση αλλαγών",
|
||||||
"subscribed_languages.target": "Αλλαγή εγγεγραμμένων γλωσσών για {target}",
|
"subscribed_languages.target": "Αλλαγή εγγεγραμμένων γλωσσών για {target}",
|
||||||
"suggestions.dismiss": "Απόρριψη πρότασης",
|
"suggestions.dismiss": "Απόρριψη πρότασης",
|
||||||
"suggestions.header": "Ίσως να ενδιαφέρεσαι για…",
|
"suggestions.header": "Ίσως να ενδιαφέρεσαι για…",
|
||||||
"tabs_bar.federated_timeline": "Ομοσπονδιακή",
|
"tabs_bar.federated_timeline": "Συναλλαγές",
|
||||||
"tabs_bar.home": "Αρχική",
|
"tabs_bar.home": "Αρχική",
|
||||||
"tabs_bar.local_timeline": "Τοπική",
|
"tabs_bar.local_timeline": "Τοπική",
|
||||||
"tabs_bar.notifications": "Ειδοποιήσεις",
|
"tabs_bar.notifications": "Ειδοποιήσεις",
|
||||||
"time_remaining.days": "απομένουν {number, plural, one {# ημέρα} other {# ημέρες}}",
|
"time_remaining.days": "απομένουν {number, plural, one {# ημέρα} other {# ημέρες}}",
|
||||||
"time_remaining.hours": "απομένουν {number, plural, one {# ώρα} other {# ώρες}}",
|
"time_remaining.hours": "απομένουν {number, plural, one {# ώρα} other {# ώρες}}",
|
||||||
"time_remaining.minutes": "απομένουν {number, plural, one {# λεπτό} other {# λεπτά}}",
|
"time_remaining.minutes": "απομένουν {number, plural, one {# λεπτό} other {# λεπτά}}",
|
||||||
"time_remaining.moments": "Απομένουν στιγμές",
|
"time_remaining.moments": "Στιγμές που απομένουν",
|
||||||
"time_remaining.seconds": "απομένουν {number, plural, one {# δευτερόλεπτο} other {# δευτερόλεπτα}}",
|
"time_remaining.seconds": "απομένουν {number, plural, one {# δευτερόλεπτο} other {# δευτερόλεπτα}}",
|
||||||
"timeline_hint.remote_resource_not_displayed": "{resource} από άλλους διακομιστές δεν εμφανίζονται.",
|
"timeline_hint.remote_resource_not_displayed": "{resource} από άλλους διακομιστές δεν εμφανίζονται.",
|
||||||
"timeline_hint.resources.followers": "Ακόλουθοι",
|
"timeline_hint.resources.followers": "Ακόλουθοι",
|
||||||
"timeline_hint.resources.follows": "Ακολουθεί",
|
"timeline_hint.resources.follows": "Ακολουθείς",
|
||||||
"timeline_hint.resources.statuses": "Παλαιότερα τουτ",
|
"timeline_hint.resources.statuses": "Παλαιότερες αναρτήσεις",
|
||||||
"trends.counter_by_accounts": "{count, plural, one {{counter} άτομο} other {{counter} άνθρωποι}} στο παρελθόν {days, plural, one {ημέρα} other {{days} ημέρες}}",
|
"trends.counter_by_accounts": "{count, plural, one {{counter} άτομο} other {{counter} άτομα} }{days, plural, one { την τελευταία ημέρα} other { τις τελευταίες {days} ημέρες}}",
|
||||||
"trends.trending_now": "Δημοφιλή τώρα",
|
"trends.trending_now": "Δημοφιλή τώρα",
|
||||||
"ui.beforeunload": "Το προσχέδιό σου θα χαθεί αν φύγεις από το Mastodon.",
|
"ui.beforeunload": "Το προσχέδιό σου θα χαθεί αν φύγεις από το Mastodon.",
|
||||||
"units.short.billion": "{count}Δ",
|
"units.short.billion": "{count}Δις",
|
||||||
"units.short.million": "{count}Ε",
|
"units.short.million": "{count}Εκ",
|
||||||
"units.short.thousand": "{count}Χ",
|
"units.short.thousand": "{count}Χιλ",
|
||||||
"upload_area.title": "Drag & drop για να ανεβάσεις",
|
"upload_area.title": "Κάνε Drag & drop για να ανεβάσεις",
|
||||||
"upload_button.label": "Πρόσθεσε πολυμέσα",
|
"upload_button.label": "Πρόσθεσε εικόνες, ένα βίντεο ή ένα αρχείο ήχου",
|
||||||
"upload_error.limit": "Υπέρβαση ορίου μεγέθους ανεβασμένων αρχείων.",
|
"upload_error.limit": "Υπέρβαση ορίου μεγέθους ανεβασμένων αρχείων.",
|
||||||
"upload_error.poll": "Στις δημοσκοπήσεις δεν επιτρέπεται η μεταφόρτωση αρχείου.",
|
"upload_error.poll": "Στις δημοσκοπήσεις δεν επιτρέπεται η μεταφόρτωση αρχείου.",
|
||||||
"upload_form.audio_description": "Περιγραφή για άτομα με προβλήματα ακοής",
|
"upload_form.audio_description": "Περιγραφή για άτομα με προβλήματα ακοής",
|
||||||
"upload_form.description": "Περιγραφή για όσους & όσες έχουν προβλήματα όρασης",
|
"upload_form.description": "Περιγραφή για άτομα με προβλήματα όρασης",
|
||||||
"upload_form.description_missing": "Δεν προστέθηκε περιγραφή",
|
"upload_form.description_missing": "Δεν προστέθηκε περιγραφή",
|
||||||
"upload_form.edit": "Ενημέρωση",
|
"upload_form.edit": "Επεξεργασία",
|
||||||
"upload_form.thumbnail": "Αλλαγή μικρογραφίας",
|
"upload_form.thumbnail": "Αλλαγή μικρογραφίας",
|
||||||
"upload_form.undo": "Διαγραφή",
|
"upload_form.undo": "Διαγραφή",
|
||||||
"upload_form.video_description": "Περιγραφή για άτομα με προβλήματα ακοής ή όρασης",
|
"upload_form.video_description": "Περιγραφή για άτομα με προβλήματα ακοής ή όρασης",
|
||||||
|
@ -641,20 +645,21 @@
|
||||||
"upload_modal.apply": "Εφαρμογή",
|
"upload_modal.apply": "Εφαρμογή",
|
||||||
"upload_modal.applying": "Εφαρμογή…",
|
"upload_modal.applying": "Εφαρμογή…",
|
||||||
"upload_modal.choose_image": "Επιλογή εικόνας",
|
"upload_modal.choose_image": "Επιλογή εικόνας",
|
||||||
"upload_modal.description_placeholder": "Λύκος μαύρος και ισχνός του πατέρα του καημός",
|
"upload_modal.description_placeholder": "Αρνάκι άσπρο και παχύ της μάνας του καμάρι",
|
||||||
"upload_modal.detect_text": "Αναγνώριση κειμένου από την εικόνα",
|
"upload_modal.detect_text": "Αναγνώριση κειμένου από την εικόνα",
|
||||||
"upload_modal.edit_media": "Επεξεργασία Πολυμέσων",
|
"upload_modal.edit_media": "Επεξεργασία Πολυμέσων",
|
||||||
"upload_modal.hint": "Κάνε κλικ ή σείρε τον κύκλο στην προεπισκόπηση για να επιλέξεις το σημείο εστίασης που θα είναι πάντα εμφανές σε όλες τις μικρογραφίες.",
|
"upload_modal.hint": "Κάνε κλικ ή σείρε τον κύκλο στην προεπισκόπηση για να επιλέξεις το σημείο εστίασης που θα είναι πάντα εμφανές σε όλες τις μικρογραφίες.",
|
||||||
"upload_modal.preparing_ocr": "Προετοιμασία αναγνώρισης κειμένου…",
|
"upload_modal.preparing_ocr": "Προετοιμασία αναγνώρισης κειμένου…",
|
||||||
"upload_modal.preview_label": "Προεπισκόπηση ({ratio})",
|
"upload_modal.preview_label": "Προεπισκόπηση ({ratio})",
|
||||||
"upload_progress.label": "Ανεβαίνει...",
|
"upload_progress.label": "Μεταφόρτωση...",
|
||||||
"upload_progress.processing": "Επεξεργασία…",
|
"upload_progress.processing": "Επεξεργασία…",
|
||||||
|
"username.taken": "Αυτό το όνομα χρήστη χρησιμοποιείται. Δοκίμασε ένα άλλο",
|
||||||
"video.close": "Κλείσε το βίντεο",
|
"video.close": "Κλείσε το βίντεο",
|
||||||
"video.download": "Λήψη αρχείου",
|
"video.download": "Λήψη αρχείου",
|
||||||
"video.exit_fullscreen": "Έξοδος από πλήρη οθόνη",
|
"video.exit_fullscreen": "Έξοδος από πλήρη οθόνη",
|
||||||
"video.expand": "Επέκταση βίντεο",
|
"video.expand": "Επέκταση βίντεο",
|
||||||
"video.fullscreen": "Πλήρης οθόνη",
|
"video.fullscreen": "Πλήρης οθόνη",
|
||||||
"video.hide": "Κρύψε βίντεο",
|
"video.hide": "Απόκρυψη βίντεο",
|
||||||
"video.mute": "Σίγαση ήχου",
|
"video.mute": "Σίγαση ήχου",
|
||||||
"video.pause": "Παύση",
|
"video.pause": "Παύση",
|
||||||
"video.play": "Αναπαραγωγή",
|
"video.play": "Αναπαραγωγή",
|
||||||
|
|
|
@ -39,6 +39,7 @@
|
||||||
"account.follows_you": "Follows you",
|
"account.follows_you": "Follows you",
|
||||||
"account.go_to_profile": "Go to profile",
|
"account.go_to_profile": "Go to profile",
|
||||||
"account.hide_reblogs": "Hide boosts from @{name}",
|
"account.hide_reblogs": "Hide boosts from @{name}",
|
||||||
|
"account.in_memoriam": "In Memoriam.",
|
||||||
"account.joined_short": "Joined",
|
"account.joined_short": "Joined",
|
||||||
"account.languages": "Change subscribed languages",
|
"account.languages": "Change subscribed languages",
|
||||||
"account.link_verified_on": "Ownership of this link was checked on {date}",
|
"account.link_verified_on": "Ownership of this link was checked on {date}",
|
||||||
|
@ -442,6 +443,8 @@
|
||||||
"notifications_permission_banner.enable": "Enable desktop notifications",
|
"notifications_permission_banner.enable": "Enable desktop notifications",
|
||||||
"notifications_permission_banner.how_to_control": "To receive notifications when Mastodon isn't open, enable desktop notifications. You can control precisely which types of interactions generate desktop notifications through the {icon} button above once they're enabled.",
|
"notifications_permission_banner.how_to_control": "To receive notifications when Mastodon isn't open, enable desktop notifications. You can control precisely which types of interactions generate desktop notifications through the {icon} button above once they're enabled.",
|
||||||
"notifications_permission_banner.title": "Never miss a thing",
|
"notifications_permission_banner.title": "Never miss a thing",
|
||||||
|
"password_confirmation.exceeds_maxlength": "Password confirmation exceeds the maximum password length",
|
||||||
|
"password_confirmation.mismatching": "Password confirmation does not match",
|
||||||
"picture_in_picture.restore": "Put it back",
|
"picture_in_picture.restore": "Put it back",
|
||||||
"poll.closed": "Closed",
|
"poll.closed": "Closed",
|
||||||
"poll.refresh": "Refresh",
|
"poll.refresh": "Refresh",
|
||||||
|
@ -597,6 +600,7 @@
|
||||||
"status.show_more": "Show more",
|
"status.show_more": "Show more",
|
||||||
"status.show_more_all": "Show more for all",
|
"status.show_more_all": "Show more for all",
|
||||||
"status.show_original": "Show original",
|
"status.show_original": "Show original",
|
||||||
|
"status.title.with_attachments": "{user} posted {attachmentCount, plural, one {an attachment} other {{attachmentCount} attachments}}",
|
||||||
"status.translate": "Translate",
|
"status.translate": "Translate",
|
||||||
"status.translated_from_with": "Translated from {lang} using {provider}",
|
"status.translated_from_with": "Translated from {lang} using {provider}",
|
||||||
"status.uncached_media_warning": "Not available",
|
"status.uncached_media_warning": "Not available",
|
||||||
|
@ -649,6 +653,7 @@
|
||||||
"upload_modal.preview_label": "Preview ({ratio})",
|
"upload_modal.preview_label": "Preview ({ratio})",
|
||||||
"upload_progress.label": "Uploading…",
|
"upload_progress.label": "Uploading…",
|
||||||
"upload_progress.processing": "Processing…",
|
"upload_progress.processing": "Processing…",
|
||||||
|
"username.taken": "Username is taken - try another. Carlito77",
|
||||||
"video.close": "Close video",
|
"video.close": "Close video",
|
||||||
"video.download": "Download file",
|
"video.download": "Download file",
|
||||||
"video.exit_fullscreen": "Exit full screen",
|
"video.exit_fullscreen": "Exit full screen",
|
||||||
|
|
|
@ -183,6 +183,7 @@
|
||||||
"conversation.with": "With {names}",
|
"conversation.with": "With {names}",
|
||||||
"copypaste.copied": "Copied",
|
"copypaste.copied": "Copied",
|
||||||
"copypaste.copy": "Copy",
|
"copypaste.copy": "Copy",
|
||||||
|
"copypaste.copy_to_clipboard": "Copy to clipboard",
|
||||||
"directory.federated": "From known fediverse",
|
"directory.federated": "From known fediverse",
|
||||||
"directory.local": "From {domain} only",
|
"directory.local": "From {domain} only",
|
||||||
"directory.new_arrivals": "New arrivals",
|
"directory.new_arrivals": "New arrivals",
|
||||||
|
@ -223,7 +224,6 @@
|
||||||
"empty_column.explore_statuses": "Nothing is trending right now. Check back later!",
|
"empty_column.explore_statuses": "Nothing is trending right now. Check back later!",
|
||||||
"empty_column.favourited_statuses": "You don't have any favourite posts yet. When you favourite one, it will show up here.",
|
"empty_column.favourited_statuses": "You don't have any favourite posts yet. When you favourite one, it will show up here.",
|
||||||
"empty_column.favourites": "No one has favourited this post yet. When someone does, they will show up here.",
|
"empty_column.favourites": "No one has favourited this post yet. When someone does, they will show up here.",
|
||||||
"empty_column.follow_recommendations": "Looks like no suggestions could be generated for you. You can try using search to look for people you might know or explore trending hashtags.",
|
|
||||||
"empty_column.follow_requests": "You don't have any follow requests yet. When you receive one, it will show up here.",
|
"empty_column.follow_requests": "You don't have any follow requests yet. When you receive one, it will show up here.",
|
||||||
"empty_column.followed_tags": "You have not followed any hashtags yet. When you do, they will show up here.",
|
"empty_column.followed_tags": "You have not followed any hashtags yet. When you do, they will show up here.",
|
||||||
"empty_column.hashtag": "There is nothing in this hashtag yet.",
|
"empty_column.hashtag": "There is nothing in this hashtag yet.",
|
||||||
|
@ -262,9 +262,6 @@
|
||||||
"filter_modal.select_filter.subtitle": "Use an existing category or create a new one",
|
"filter_modal.select_filter.subtitle": "Use an existing category or create a new one",
|
||||||
"filter_modal.select_filter.title": "Filter this post",
|
"filter_modal.select_filter.title": "Filter this post",
|
||||||
"filter_modal.title.status": "Filter a post",
|
"filter_modal.title.status": "Filter a post",
|
||||||
"follow_recommendations.done": "Done",
|
|
||||||
"follow_recommendations.heading": "Follow people you'd like to see posts from! Here are some suggestions.",
|
|
||||||
"follow_recommendations.lead": "Posts from people you follow will show up in chronological order on your home feed. Don't be afraid to make mistakes, you can unfollow people just as easily any time!",
|
|
||||||
"follow_request.authorize": "Authorize",
|
"follow_request.authorize": "Authorize",
|
||||||
"follow_request.reject": "Reject",
|
"follow_request.reject": "Reject",
|
||||||
"follow_requests.unlocked_explanation": "Even though your account is not locked, the {domain} staff thought you might want to review follow requests from these accounts manually.",
|
"follow_requests.unlocked_explanation": "Even though your account is not locked, the {domain} staff thought you might want to review follow requests from these accounts manually.",
|
||||||
|
@ -445,6 +442,29 @@
|
||||||
"notifications_permission_banner.enable": "Enable desktop notifications",
|
"notifications_permission_banner.enable": "Enable desktop notifications",
|
||||||
"notifications_permission_banner.how_to_control": "To receive notifications when Mastodon isn't open, enable desktop notifications. You can control precisely which types of interactions generate desktop notifications through the {icon} button above once they're enabled.",
|
"notifications_permission_banner.how_to_control": "To receive notifications when Mastodon isn't open, enable desktop notifications. You can control precisely which types of interactions generate desktop notifications through the {icon} button above once they're enabled.",
|
||||||
"notifications_permission_banner.title": "Never miss a thing",
|
"notifications_permission_banner.title": "Never miss a thing",
|
||||||
|
"onboarding.action.back": "Take me back",
|
||||||
|
"onboarding.actions.back": "Take me back",
|
||||||
|
"onboarding.actions.close": "Don't show this screen again",
|
||||||
|
"onboarding.actions.go_to_explore": "See what's trending",
|
||||||
|
"onboarding.actions.go_to_home": "Go to your home feed",
|
||||||
|
"onboarding.follows.lead": "You curate your own home feed. The more people you follow, the more active and interesting it will be. These profiles may be a good starting point—you can always unfollow them later!",
|
||||||
|
"onboarding.follows.title": "Popular on Mastodon",
|
||||||
|
"onboarding.share.lead": "Let people know how they can find you on Mastodon!",
|
||||||
|
"onboarding.share.message": "I'm {username} on Mastodon! Come follow me at {url}",
|
||||||
|
"onboarding.share.next_steps": "Possible next steps:",
|
||||||
|
"onboarding.share.title": "Share your profile",
|
||||||
|
"onboarding.start.lead": "Your new Mastodon account is ready to go. Here's how you can make the most of it:",
|
||||||
|
"onboarding.start.skip": "Want to skip right ahead?",
|
||||||
|
"onboarding.start.title": "You've made it!",
|
||||||
|
"onboarding.steps.follow_people.body": "You curate your own feed. Lets fill it with interesting people.",
|
||||||
|
"onboarding.steps.follow_people.title": "Follow {count, plural, one {one person} other {# people}}",
|
||||||
|
"onboarding.steps.publish_status.body": "Say hello to the world.",
|
||||||
|
"onboarding.steps.publish_status.title": "Make your first post",
|
||||||
|
"onboarding.steps.setup_profile.body": "Others are more likely to interact with you with a filled out profile.",
|
||||||
|
"onboarding.steps.setup_profile.title": "Customize your profile",
|
||||||
|
"onboarding.steps.share_profile.body": "Let your friends know how to find you on Mastodon!",
|
||||||
|
"onboarding.steps.share_profile.title": "Share your profile",
|
||||||
|
"onboarding.tips.accounts_from_other_servers": "<strong>Did you know?</strong> Since Mastodon is decentralized, some profiles you come across will be hosted on servers other than yours. And yet you can interact with them seamlessly! Their server is in the second half of their username!",
|
||||||
"password_confirmation.exceeds_maxlength": "Password confirmation exceeds the maximum password length",
|
"password_confirmation.exceeds_maxlength": "Password confirmation exceeds the maximum password length",
|
||||||
"password_confirmation.mismatching": "Password confirmation does not match",
|
"password_confirmation.mismatching": "Password confirmation does not match",
|
||||||
"picture_in_picture.restore": "Put it back",
|
"picture_in_picture.restore": "Put it back",
|
||||||
|
|
|
@ -39,6 +39,7 @@
|
||||||
"account.follows_you": "Sekvas vin",
|
"account.follows_you": "Sekvas vin",
|
||||||
"account.go_to_profile": "Iri al profilo",
|
"account.go_to_profile": "Iri al profilo",
|
||||||
"account.hide_reblogs": "Kaŝi diskonigojn de @{name}",
|
"account.hide_reblogs": "Kaŝi diskonigojn de @{name}",
|
||||||
|
"account.in_memoriam": "In Memoriam.",
|
||||||
"account.joined_short": "Aliĝis",
|
"account.joined_short": "Aliĝis",
|
||||||
"account.languages": "Ŝanĝi la abonitajn lingvojn",
|
"account.languages": "Ŝanĝi la abonitajn lingvojn",
|
||||||
"account.link_verified_on": "Propreco de tiu ligilo estis konfirmita je {date}",
|
"account.link_verified_on": "Propreco de tiu ligilo estis konfirmita je {date}",
|
||||||
|
@ -442,6 +443,8 @@
|
||||||
"notifications_permission_banner.enable": "Ŝalti retumilajn sciigojn",
|
"notifications_permission_banner.enable": "Ŝalti retumilajn sciigojn",
|
||||||
"notifications_permission_banner.how_to_control": "Por ricevi sciigojn kiam Mastodon ne estas malfermita, ebligu labortablajn sciigojn. Vi povas regi precize kiuj specoj de interagoj generas labortablajn sciigojn per la supra butono {icon} post kiam ili estas ebligitaj.",
|
"notifications_permission_banner.how_to_control": "Por ricevi sciigojn kiam Mastodon ne estas malfermita, ebligu labortablajn sciigojn. Vi povas regi precize kiuj specoj de interagoj generas labortablajn sciigojn per la supra butono {icon} post kiam ili estas ebligitaj.",
|
||||||
"notifications_permission_banner.title": "Neniam preterlasas iun ajn",
|
"notifications_permission_banner.title": "Neniam preterlasas iun ajn",
|
||||||
|
"password_confirmation.exceeds_maxlength": "Password confirmation exceeds the maximum password length",
|
||||||
|
"password_confirmation.mismatching": "Password confirmation does not match",
|
||||||
"picture_in_picture.restore": "Remetu ĝin",
|
"picture_in_picture.restore": "Remetu ĝin",
|
||||||
"poll.closed": "Finita",
|
"poll.closed": "Finita",
|
||||||
"poll.refresh": "Aktualigi",
|
"poll.refresh": "Aktualigi",
|
||||||
|
@ -597,6 +600,7 @@
|
||||||
"status.show_more": "Montri pli",
|
"status.show_more": "Montri pli",
|
||||||
"status.show_more_all": "Montri pli ĉiun",
|
"status.show_more_all": "Montri pli ĉiun",
|
||||||
"status.show_original": "Montru originalon",
|
"status.show_original": "Montru originalon",
|
||||||
|
"status.title.with_attachments": "{user} posted {attachmentCount, plural, one {an attachment} other {{attachmentCount} attachments}}",
|
||||||
"status.translate": "Traduki",
|
"status.translate": "Traduki",
|
||||||
"status.translated_from_with": "Tradukita el {lang} per {provider}",
|
"status.translated_from_with": "Tradukita el {lang} per {provider}",
|
||||||
"status.uncached_media_warning": "Nedisponebla",
|
"status.uncached_media_warning": "Nedisponebla",
|
||||||
|
@ -649,6 +653,7 @@
|
||||||
"upload_modal.preview_label": "Antaŭvido ({ratio})",
|
"upload_modal.preview_label": "Antaŭvido ({ratio})",
|
||||||
"upload_progress.label": "Alŝutado…",
|
"upload_progress.label": "Alŝutado…",
|
||||||
"upload_progress.processing": "Traktante…",
|
"upload_progress.processing": "Traktante…",
|
||||||
|
"username.taken": "That username is taken. Try another",
|
||||||
"video.close": "Fermi la videon",
|
"video.close": "Fermi la videon",
|
||||||
"video.download": "Elŝuti dosieron",
|
"video.download": "Elŝuti dosieron",
|
||||||
"video.exit_fullscreen": "Eksigi plenekrana",
|
"video.exit_fullscreen": "Eksigi plenekrana",
|
||||||
|
|
|
@ -39,6 +39,7 @@
|
||||||
"account.follows_you": "Te sigue",
|
"account.follows_you": "Te sigue",
|
||||||
"account.go_to_profile": "Ir al perfil",
|
"account.go_to_profile": "Ir al perfil",
|
||||||
"account.hide_reblogs": "Ocultar adhesiones de @{name}",
|
"account.hide_reblogs": "Ocultar adhesiones de @{name}",
|
||||||
|
"account.in_memoriam": "Cuenta conmemorativa.",
|
||||||
"account.joined_short": "En este servidor desde",
|
"account.joined_short": "En este servidor desde",
|
||||||
"account.languages": "Cambiar idiomas suscritos",
|
"account.languages": "Cambiar idiomas suscritos",
|
||||||
"account.link_verified_on": "La propiedad de este enlace fue verificada el {date}",
|
"account.link_verified_on": "La propiedad de este enlace fue verificada el {date}",
|
||||||
|
@ -442,6 +443,8 @@
|
||||||
"notifications_permission_banner.enable": "Habilitar notificaciones de escritorio",
|
"notifications_permission_banner.enable": "Habilitar notificaciones de escritorio",
|
||||||
"notifications_permission_banner.how_to_control": "Para recibir notificaciones cuando Mastodon no está abierto, habilitá las notificaciones de escritorio. Podés controlar con precisión qué tipos de interacciones generan notificaciones de escritorio a través del botón {icon} de arriba, una vez que estén habilitadas.",
|
"notifications_permission_banner.how_to_control": "Para recibir notificaciones cuando Mastodon no está abierto, habilitá las notificaciones de escritorio. Podés controlar con precisión qué tipos de interacciones generan notificaciones de escritorio a través del botón {icon} de arriba, una vez que estén habilitadas.",
|
||||||
"notifications_permission_banner.title": "No te pierdas nada",
|
"notifications_permission_banner.title": "No te pierdas nada",
|
||||||
|
"password_confirmation.exceeds_maxlength": "La confirmación de contraseña excede la longitud máxima de la contraseña",
|
||||||
|
"password_confirmation.mismatching": "La confirmación de contraseña no coincide",
|
||||||
"picture_in_picture.restore": "Restaurar",
|
"picture_in_picture.restore": "Restaurar",
|
||||||
"poll.closed": "Cerrada",
|
"poll.closed": "Cerrada",
|
||||||
"poll.refresh": "Refrescar",
|
"poll.refresh": "Refrescar",
|
||||||
|
@ -597,6 +600,7 @@
|
||||||
"status.show_more": "Mostrar más",
|
"status.show_more": "Mostrar más",
|
||||||
"status.show_more_all": "Mostrar más para todo",
|
"status.show_more_all": "Mostrar más para todo",
|
||||||
"status.show_original": "Mostrar original",
|
"status.show_original": "Mostrar original",
|
||||||
|
"status.title.with_attachments": "{user} envió {attachmentCount, plural, one {un adjunto} other {{attachmentCount} adjuntos}}",
|
||||||
"status.translate": "Traducir",
|
"status.translate": "Traducir",
|
||||||
"status.translated_from_with": "Traducido desde el {lang} vía {provider}",
|
"status.translated_from_with": "Traducido desde el {lang} vía {provider}",
|
||||||
"status.uncached_media_warning": "No disponible",
|
"status.uncached_media_warning": "No disponible",
|
||||||
|
@ -649,6 +653,7 @@
|
||||||
"upload_modal.preview_label": "Previsualización ({ratio})",
|
"upload_modal.preview_label": "Previsualización ({ratio})",
|
||||||
"upload_progress.label": "Subiendo...",
|
"upload_progress.label": "Subiendo...",
|
||||||
"upload_progress.processing": "Procesando…",
|
"upload_progress.processing": "Procesando…",
|
||||||
|
"username.taken": "Ese nombre de usuario está ocupado. Probá con otro",
|
||||||
"video.close": "Cerrar video",
|
"video.close": "Cerrar video",
|
||||||
"video.download": "Descargar archivo",
|
"video.download": "Descargar archivo",
|
||||||
"video.exit_fullscreen": "Salir de la pantalla completa",
|
"video.exit_fullscreen": "Salir de la pantalla completa",
|
||||||
|
|
|
@ -39,6 +39,7 @@
|
||||||
"account.follows_you": "Te sigue",
|
"account.follows_you": "Te sigue",
|
||||||
"account.go_to_profile": "Ir al perfil",
|
"account.go_to_profile": "Ir al perfil",
|
||||||
"account.hide_reblogs": "Ocultar retoots de @{name}",
|
"account.hide_reblogs": "Ocultar retoots de @{name}",
|
||||||
|
"account.in_memoriam": "En memoria.",
|
||||||
"account.joined_short": "Se unió",
|
"account.joined_short": "Se unió",
|
||||||
"account.languages": "Cambiar idiomas suscritos",
|
"account.languages": "Cambiar idiomas suscritos",
|
||||||
"account.link_verified_on": "El proprietario de este link fue comprobado el {date}",
|
"account.link_verified_on": "El proprietario de este link fue comprobado el {date}",
|
||||||
|
@ -442,6 +443,8 @@
|
||||||
"notifications_permission_banner.enable": "Habilitar notificaciones de escritorio",
|
"notifications_permission_banner.enable": "Habilitar notificaciones de escritorio",
|
||||||
"notifications_permission_banner.how_to_control": "Para recibir notificaciones cuando Mastodon no esté abierto, habilite las notificaciones de escritorio. Puedes controlar con precisión qué tipos de interacciones generan notificaciones de escritorio a través del botón {icon} de arriba una vez que estén habilitadas.",
|
"notifications_permission_banner.how_to_control": "Para recibir notificaciones cuando Mastodon no esté abierto, habilite las notificaciones de escritorio. Puedes controlar con precisión qué tipos de interacciones generan notificaciones de escritorio a través del botón {icon} de arriba una vez que estén habilitadas.",
|
||||||
"notifications_permission_banner.title": "Nunca te pierdas nada",
|
"notifications_permission_banner.title": "Nunca te pierdas nada",
|
||||||
|
"password_confirmation.exceeds_maxlength": "La contraseña de confirmación excede la longitud máxima de la contraseña",
|
||||||
|
"password_confirmation.mismatching": "La contraseña de confirmación no coincide",
|
||||||
"picture_in_picture.restore": "Restaurar",
|
"picture_in_picture.restore": "Restaurar",
|
||||||
"poll.closed": "Cerrada",
|
"poll.closed": "Cerrada",
|
||||||
"poll.refresh": "Actualizar",
|
"poll.refresh": "Actualizar",
|
||||||
|
@ -597,7 +600,7 @@
|
||||||
"status.show_more": "Mostrar más",
|
"status.show_more": "Mostrar más",
|
||||||
"status.show_more_all": "Mostrar más para todo",
|
"status.show_more_all": "Mostrar más para todo",
|
||||||
"status.show_original": "Mostrar original",
|
"status.show_original": "Mostrar original",
|
||||||
"status.title.with_attachments": "{user} publicó {attachmentCount, plural, one {un archivo adjunto} other {{attachmentCount} archivos adjuntos}}",
|
"status.title.with_attachments": "{user} ha publicado {attachmentCount, plural, one {un adjunto} other {{attachmentCount} adjuntos}}",
|
||||||
"status.translate": "Traducir",
|
"status.translate": "Traducir",
|
||||||
"status.translated_from_with": "Traducido del {lang} usando {provider}",
|
"status.translated_from_with": "Traducido del {lang} usando {provider}",
|
||||||
"status.uncached_media_warning": "No disponible",
|
"status.uncached_media_warning": "No disponible",
|
||||||
|
@ -650,6 +653,7 @@
|
||||||
"upload_modal.preview_label": "Vista previa ({ratio})",
|
"upload_modal.preview_label": "Vista previa ({ratio})",
|
||||||
"upload_progress.label": "Subiendo…",
|
"upload_progress.label": "Subiendo…",
|
||||||
"upload_progress.processing": "Procesando…",
|
"upload_progress.processing": "Procesando…",
|
||||||
|
"username.taken": "Ese nombre de usuario está ocupado. Prueba con otro",
|
||||||
"video.close": "Cerrar video",
|
"video.close": "Cerrar video",
|
||||||
"video.download": "Descargar archivo",
|
"video.download": "Descargar archivo",
|
||||||
"video.exit_fullscreen": "Salir de pantalla completa",
|
"video.exit_fullscreen": "Salir de pantalla completa",
|
||||||
|
|
|
@ -39,6 +39,7 @@
|
||||||
"account.follows_you": "Te sigue",
|
"account.follows_you": "Te sigue",
|
||||||
"account.go_to_profile": "Ir al perfil",
|
"account.go_to_profile": "Ir al perfil",
|
||||||
"account.hide_reblogs": "Ocultar impulsos de @{name}",
|
"account.hide_reblogs": "Ocultar impulsos de @{name}",
|
||||||
|
"account.in_memoriam": "Cuenta conmemorativa.",
|
||||||
"account.joined_short": "Se unió",
|
"account.joined_short": "Se unió",
|
||||||
"account.languages": "Cambiar idiomas suscritos",
|
"account.languages": "Cambiar idiomas suscritos",
|
||||||
"account.link_verified_on": "La propiedad de este enlace fue verificada el {date}",
|
"account.link_verified_on": "La propiedad de este enlace fue verificada el {date}",
|
||||||
|
@ -442,6 +443,8 @@
|
||||||
"notifications_permission_banner.enable": "Habilitar notificaciones de escritorio",
|
"notifications_permission_banner.enable": "Habilitar notificaciones de escritorio",
|
||||||
"notifications_permission_banner.how_to_control": "Para recibir notificaciones cuando Mastodon no esté abierto, habilite las notificaciones de escritorio. Puedes controlar con precisión qué tipos de interacciones generan notificaciones de escritorio a través del botón {icon} de arriba una vez que estén habilitadas.",
|
"notifications_permission_banner.how_to_control": "Para recibir notificaciones cuando Mastodon no esté abierto, habilite las notificaciones de escritorio. Puedes controlar con precisión qué tipos de interacciones generan notificaciones de escritorio a través del botón {icon} de arriba una vez que estén habilitadas.",
|
||||||
"notifications_permission_banner.title": "Nunca te pierdas nada",
|
"notifications_permission_banner.title": "Nunca te pierdas nada",
|
||||||
|
"password_confirmation.exceeds_maxlength": "La contraseña de confirmación excede la longitud máxima de la contraseña",
|
||||||
|
"password_confirmation.mismatching": "La contraseña de confirmación no coincide",
|
||||||
"picture_in_picture.restore": "Restaurar",
|
"picture_in_picture.restore": "Restaurar",
|
||||||
"poll.closed": "Cerrada",
|
"poll.closed": "Cerrada",
|
||||||
"poll.refresh": "Actualizar",
|
"poll.refresh": "Actualizar",
|
||||||
|
@ -597,6 +600,7 @@
|
||||||
"status.show_more": "Mostrar más",
|
"status.show_more": "Mostrar más",
|
||||||
"status.show_more_all": "Mostrar más para todo",
|
"status.show_more_all": "Mostrar más para todo",
|
||||||
"status.show_original": "Mostrar original",
|
"status.show_original": "Mostrar original",
|
||||||
|
"status.title.with_attachments": "{user} ha publicado {attachmentCount, plural, one {un adjunto} other {{attachmentCount} adjuntos}}",
|
||||||
"status.translate": "Traducir",
|
"status.translate": "Traducir",
|
||||||
"status.translated_from_with": "Traducido de {lang} usando {provider}",
|
"status.translated_from_with": "Traducido de {lang} usando {provider}",
|
||||||
"status.uncached_media_warning": "No disponible",
|
"status.uncached_media_warning": "No disponible",
|
||||||
|
@ -649,6 +653,7 @@
|
||||||
"upload_modal.preview_label": "Vista previa ({ratio})",
|
"upload_modal.preview_label": "Vista previa ({ratio})",
|
||||||
"upload_progress.label": "Subiendo…",
|
"upload_progress.label": "Subiendo…",
|
||||||
"upload_progress.processing": "Procesando…",
|
"upload_progress.processing": "Procesando…",
|
||||||
|
"username.taken": "Ese nombre de usuario ya está en uso. Prueba con otro",
|
||||||
"video.close": "Cerrar video",
|
"video.close": "Cerrar video",
|
||||||
"video.download": "Descargar archivo",
|
"video.download": "Descargar archivo",
|
||||||
"video.exit_fullscreen": "Salir de pantalla completa",
|
"video.exit_fullscreen": "Salir de pantalla completa",
|
||||||
|
|
|
@ -39,6 +39,7 @@
|
||||||
"account.follows_you": "Jälgib sind",
|
"account.follows_you": "Jälgib sind",
|
||||||
"account.go_to_profile": "Mine profiilile",
|
"account.go_to_profile": "Mine profiilile",
|
||||||
"account.hide_reblogs": "Peida @{name} jagamised",
|
"account.hide_reblogs": "Peida @{name} jagamised",
|
||||||
|
"account.in_memoriam": "In Memoriam.",
|
||||||
"account.joined_short": "Liitus",
|
"account.joined_short": "Liitus",
|
||||||
"account.languages": "Muuda tellitud keeli",
|
"account.languages": "Muuda tellitud keeli",
|
||||||
"account.link_verified_on": "Selle lingi autorsust kontrolliti {date}",
|
"account.link_verified_on": "Selle lingi autorsust kontrolliti {date}",
|
||||||
|
@ -442,6 +443,8 @@
|
||||||
"notifications_permission_banner.enable": "Luba töölaua märguanded",
|
"notifications_permission_banner.enable": "Luba töölaua märguanded",
|
||||||
"notifications_permission_banner.how_to_control": "Et saada teateid, ajal mil Mastodon pole avatud, luba töölauamärguanded. Saad täpselt määrata, mis tüüpi tegevused tekitavad märguandeid, kasutates peale teadaannete sisse lülitamist üleval olevat nuppu {icon}.",
|
"notifications_permission_banner.how_to_control": "Et saada teateid, ajal mil Mastodon pole avatud, luba töölauamärguanded. Saad täpselt määrata, mis tüüpi tegevused tekitavad märguandeid, kasutates peale teadaannete sisse lülitamist üleval olevat nuppu {icon}.",
|
||||||
"notifications_permission_banner.title": "Ära jää millestki ilma",
|
"notifications_permission_banner.title": "Ära jää millestki ilma",
|
||||||
|
"password_confirmation.exceeds_maxlength": "Salasõnakinnitus on pikem kui salasõna maksimumpikkus",
|
||||||
|
"password_confirmation.mismatching": "Salasõnakinnitus ei sobi kokku",
|
||||||
"picture_in_picture.restore": "Pane tagasi",
|
"picture_in_picture.restore": "Pane tagasi",
|
||||||
"poll.closed": "Suletud",
|
"poll.closed": "Suletud",
|
||||||
"poll.refresh": "Värskenda",
|
"poll.refresh": "Värskenda",
|
||||||
|
@ -597,6 +600,7 @@
|
||||||
"status.show_more": "Näita sisu",
|
"status.show_more": "Näita sisu",
|
||||||
"status.show_more_all": "Näita kogu tundlikku sisu",
|
"status.show_more_all": "Näita kogu tundlikku sisu",
|
||||||
"status.show_original": "Näita algset",
|
"status.show_original": "Näita algset",
|
||||||
|
"status.title.with_attachments": "{user} postitas {attachmentCount, plural, one {manuse} other {{attachmentCount} manust}}",
|
||||||
"status.translate": "Tõlgi",
|
"status.translate": "Tõlgi",
|
||||||
"status.translated_from_with": "Tõlgitud {lang} keelest kasutades teenust {provider}",
|
"status.translated_from_with": "Tõlgitud {lang} keelest kasutades teenust {provider}",
|
||||||
"status.uncached_media_warning": "Pole saadaval",
|
"status.uncached_media_warning": "Pole saadaval",
|
||||||
|
@ -649,6 +653,7 @@
|
||||||
"upload_modal.preview_label": "Eelvaade ({ratio})",
|
"upload_modal.preview_label": "Eelvaade ({ratio})",
|
||||||
"upload_progress.label": "Laeb üles....",
|
"upload_progress.label": "Laeb üles....",
|
||||||
"upload_progress.processing": "Töötlen…",
|
"upload_progress.processing": "Töötlen…",
|
||||||
|
"username.taken": "See kasutajanimi on juba kasutusel. Proovi teist",
|
||||||
"video.close": "Sulge video",
|
"video.close": "Sulge video",
|
||||||
"video.download": "Faili allalaadimine",
|
"video.download": "Faili allalaadimine",
|
||||||
"video.exit_fullscreen": "Välju täisekraanist",
|
"video.exit_fullscreen": "Välju täisekraanist",
|
||||||
|
|
|
@ -39,6 +39,7 @@
|
||||||
"account.follows_you": "Jarraitzen dizu",
|
"account.follows_you": "Jarraitzen dizu",
|
||||||
"account.go_to_profile": "Joan profilera",
|
"account.go_to_profile": "Joan profilera",
|
||||||
"account.hide_reblogs": "Ezkutatu @{name}(r)en bultzadak",
|
"account.hide_reblogs": "Ezkutatu @{name}(r)en bultzadak",
|
||||||
|
"account.in_memoriam": "Oroimenezkoa.",
|
||||||
"account.joined_short": "Elkartuta",
|
"account.joined_short": "Elkartuta",
|
||||||
"account.languages": "Aldatu harpidetutako hizkuntzak",
|
"account.languages": "Aldatu harpidetutako hizkuntzak",
|
||||||
"account.link_verified_on": "Esteka honen jabetzaren egiaztaketa data: {date}",
|
"account.link_verified_on": "Esteka honen jabetzaren egiaztaketa data: {date}",
|
||||||
|
@ -442,6 +443,8 @@
|
||||||
"notifications_permission_banner.enable": "Gaitu mahaigaineko jakinarazpenak",
|
"notifications_permission_banner.enable": "Gaitu mahaigaineko jakinarazpenak",
|
||||||
"notifications_permission_banner.how_to_control": "Mastodon irekita ez dagoenean jakinarazpenak jasotzeko, gaitu mahaigaineko jakinarazpenak. Mahaigaineko jakinarazpenak ze elkarrekintzak eragingo dituzten zehazki kontrolatu dezakezu goiko {icon} botoia erabiliz, gaituta daudenean.",
|
"notifications_permission_banner.how_to_control": "Mastodon irekita ez dagoenean jakinarazpenak jasotzeko, gaitu mahaigaineko jakinarazpenak. Mahaigaineko jakinarazpenak ze elkarrekintzak eragingo dituzten zehazki kontrolatu dezakezu goiko {icon} botoia erabiliz, gaituta daudenean.",
|
||||||
"notifications_permission_banner.title": "Ez galdu ezer inoiz",
|
"notifications_permission_banner.title": "Ez galdu ezer inoiz",
|
||||||
|
"password_confirmation.exceeds_maxlength": "Pasahitzaren berrespenak pasahitzaren gehienezko luzera gainditzen du",
|
||||||
|
"password_confirmation.mismatching": "Pasahitzaren berrespena ez dator bat",
|
||||||
"picture_in_picture.restore": "Leheneratu",
|
"picture_in_picture.restore": "Leheneratu",
|
||||||
"poll.closed": "Itxita",
|
"poll.closed": "Itxita",
|
||||||
"poll.refresh": "Berritu",
|
"poll.refresh": "Berritu",
|
||||||
|
@ -597,6 +600,7 @@
|
||||||
"status.show_more": "Erakutsi gehiago",
|
"status.show_more": "Erakutsi gehiago",
|
||||||
"status.show_more_all": "Erakutsi denetarik gehiago",
|
"status.show_more_all": "Erakutsi denetarik gehiago",
|
||||||
"status.show_original": "Erakutsi jatorrizkoa",
|
"status.show_original": "Erakutsi jatorrizkoa",
|
||||||
|
"status.title.with_attachments": "{user} erabiltzaileak {attachmentCount, plural, one {eranskin bat} other {{attachmentCount} eranskin}} argitaratu d(it)u",
|
||||||
"status.translate": "Itzuli",
|
"status.translate": "Itzuli",
|
||||||
"status.translated_from_with": "Itzuli {lang}(e)tik {provider} erabiliz",
|
"status.translated_from_with": "Itzuli {lang}(e)tik {provider} erabiliz",
|
||||||
"status.uncached_media_warning": "Ez eskuragarri",
|
"status.uncached_media_warning": "Ez eskuragarri",
|
||||||
|
@ -649,6 +653,7 @@
|
||||||
"upload_modal.preview_label": "Aurreikusi ({ratio})",
|
"upload_modal.preview_label": "Aurreikusi ({ratio})",
|
||||||
"upload_progress.label": "Igotzen...",
|
"upload_progress.label": "Igotzen...",
|
||||||
"upload_progress.processing": "Prozesatzen…",
|
"upload_progress.processing": "Prozesatzen…",
|
||||||
|
"username.taken": "Erabiltzailea hartuta dago. Saiatu beste batekin",
|
||||||
"video.close": "Itxi bideoa",
|
"video.close": "Itxi bideoa",
|
||||||
"video.download": "Deskargatu fitxategia",
|
"video.download": "Deskargatu fitxategia",
|
||||||
"video.exit_fullscreen": "Irten pantaila osotik",
|
"video.exit_fullscreen": "Irten pantaila osotik",
|
||||||
|
|
|
@ -39,6 +39,7 @@
|
||||||
"account.follows_you": "پیگیرتان است",
|
"account.follows_you": "پیگیرتان است",
|
||||||
"account.go_to_profile": "رفتن به نمایه",
|
"account.go_to_profile": "رفتن به نمایه",
|
||||||
"account.hide_reblogs": "نهفتن تقویتهای @{name}",
|
"account.hide_reblogs": "نهفتن تقویتهای @{name}",
|
||||||
|
"account.in_memoriam": "به یادبود.",
|
||||||
"account.joined_short": "پیوسته",
|
"account.joined_short": "پیوسته",
|
||||||
"account.languages": "تغییر زبانهای مشترک شده",
|
"account.languages": "تغییر زبانهای مشترک شده",
|
||||||
"account.link_verified_on": "مالکیت این پیوند در {date} بررسی شد",
|
"account.link_verified_on": "مالکیت این پیوند در {date} بررسی شد",
|
||||||
|
@ -442,6 +443,8 @@
|
||||||
"notifications_permission_banner.enable": "به کار انداختن آگاهیهای میزکار",
|
"notifications_permission_banner.enable": "به کار انداختن آگاهیهای میزکار",
|
||||||
"notifications_permission_banner.how_to_control": "برای دریافت آگاهیها هنگام باز نبودن ماستودون، آگاهیهای میزکار را به کار بیندازید. پس از به کار افتادنشان میتوانید گونههای دقیق برهمکنشهایی که آگاهیهای میزکار تولید میکنند را از {icon} بالا واپایید.",
|
"notifications_permission_banner.how_to_control": "برای دریافت آگاهیها هنگام باز نبودن ماستودون، آگاهیهای میزکار را به کار بیندازید. پس از به کار افتادنشان میتوانید گونههای دقیق برهمکنشهایی که آگاهیهای میزکار تولید میکنند را از {icon} بالا واپایید.",
|
||||||
"notifications_permission_banner.title": "هرگز چیزی را از دست ندهید",
|
"notifications_permission_banner.title": "هرگز چیزی را از دست ندهید",
|
||||||
|
"password_confirmation.exceeds_maxlength": "تأییدیه گذرواژه از حداکثر طول گذرواژه بیشتر است",
|
||||||
|
"password_confirmation.mismatching": "تایید گذرواژه با گذرواژه مطابقت ندارد",
|
||||||
"picture_in_picture.restore": "برگرداندن",
|
"picture_in_picture.restore": "برگرداندن",
|
||||||
"poll.closed": "پایانیافته",
|
"poll.closed": "پایانیافته",
|
||||||
"poll.refresh": "نوسازی",
|
"poll.refresh": "نوسازی",
|
||||||
|
@ -597,6 +600,7 @@
|
||||||
"status.show_more": "نمایش بیشتر",
|
"status.show_more": "نمایش بیشتر",
|
||||||
"status.show_more_all": "نمایش بیشتر همه",
|
"status.show_more_all": "نمایش بیشتر همه",
|
||||||
"status.show_original": "نمایش اصلی",
|
"status.show_original": "نمایش اصلی",
|
||||||
|
"status.title.with_attachments": "{user} {attachmentCount, plural, one {یک پیوست} other {{attachmentCount} پیوست}} فرستاد",
|
||||||
"status.translate": "ترجمه",
|
"status.translate": "ترجمه",
|
||||||
"status.translated_from_with": "ترجمه از {lang} با {provider}",
|
"status.translated_from_with": "ترجمه از {lang} با {provider}",
|
||||||
"status.uncached_media_warning": "ناموجود",
|
"status.uncached_media_warning": "ناموجود",
|
||||||
|
@ -649,6 +653,7 @@
|
||||||
"upload_modal.preview_label": "پیشنمایش ({ratio})",
|
"upload_modal.preview_label": "پیشنمایش ({ratio})",
|
||||||
"upload_progress.label": "در حال بارگذاری…",
|
"upload_progress.label": "در حال بارگذاری…",
|
||||||
"upload_progress.processing": "در حال پردازش…",
|
"upload_progress.processing": "در حال پردازش…",
|
||||||
|
"username.taken": "این نام کاربری گرفته شده. نام دیگری امتحان کنید",
|
||||||
"video.close": "بستن ویدیو",
|
"video.close": "بستن ویدیو",
|
||||||
"video.download": "بارگیری پرونده",
|
"video.download": "بارگیری پرونده",
|
||||||
"video.exit_fullscreen": "خروج از حالت تمامصفحه",
|
"video.exit_fullscreen": "خروج از حالت تمامصفحه",
|
||||||
|
|
|
@ -30,15 +30,16 @@
|
||||||
"account.featured_tags.last_status_never": "Ei viestejä",
|
"account.featured_tags.last_status_never": "Ei viestejä",
|
||||||
"account.featured_tags.title": "Käyttäjän {name} esillä olevat aihetunnisteet",
|
"account.featured_tags.title": "Käyttäjän {name} esillä olevat aihetunnisteet",
|
||||||
"account.follow": "Seuraa",
|
"account.follow": "Seuraa",
|
||||||
"account.followers": "Seuraajat",
|
"account.followers": "seuraaja(t)",
|
||||||
"account.followers.empty": "Kukaan ei seuraa tätä käyttäjää vielä.",
|
"account.followers.empty": "Kukaan ei seuraa tätä käyttäjää vielä.",
|
||||||
"account.followers_counter": "{count, plural, one {{counter} seuraaja} other {{counter} seuraajaa}}",
|
"account.followers_counter": "{count, plural, one {{counter} seuraaja} other {{counter} seuraajaa}}",
|
||||||
"account.following": "Seurataan",
|
"account.following": "seurattu/-tut",
|
||||||
"account.following_counter": "{count, plural, one {{counter} seurattu} other {{counter} seurattua}}",
|
"account.following_counter": "{count, plural, one {{counter} seurattu} other {{counter} seurattua}}",
|
||||||
"account.follows.empty": "Tämä käyttäjä ei vielä seuraa ketään.",
|
"account.follows.empty": "Tämä käyttäjä ei vielä seuraa ketään.",
|
||||||
"account.follows_you": "Seuraa sinua",
|
"account.follows_you": "Seuraa sinua",
|
||||||
"account.go_to_profile": "Avaa profiili",
|
"account.go_to_profile": "Avaa profiili",
|
||||||
"account.hide_reblogs": "Piilota käyttäjän @{name} tehostukset",
|
"account.hide_reblogs": "Piilota käyttäjän @{name} tehostukset",
|
||||||
|
"account.in_memoriam": "Muistoissamme.",
|
||||||
"account.joined_short": "Liittynyt",
|
"account.joined_short": "Liittynyt",
|
||||||
"account.languages": "Vaihda tilattuja kieliä",
|
"account.languages": "Vaihda tilattuja kieliä",
|
||||||
"account.link_verified_on": "Linkin omistus tarkistettiin {date}",
|
"account.link_verified_on": "Linkin omistus tarkistettiin {date}",
|
||||||
|
@ -50,7 +51,7 @@
|
||||||
"account.mute_notifications": "Mykistä käyttäjän @{name} ilmoitukset",
|
"account.mute_notifications": "Mykistä käyttäjän @{name} ilmoitukset",
|
||||||
"account.muted": "Mykistetty",
|
"account.muted": "Mykistetty",
|
||||||
"account.open_original_page": "Avaa alkuperäinen sivu",
|
"account.open_original_page": "Avaa alkuperäinen sivu",
|
||||||
"account.posts": "Julkaisut",
|
"account.posts": "viesti(t)",
|
||||||
"account.posts_with_replies": "Viestit ja vastaukset",
|
"account.posts_with_replies": "Viestit ja vastaukset",
|
||||||
"account.report": "Ilmoita käyttäjästä @{name}",
|
"account.report": "Ilmoita käyttäjästä @{name}",
|
||||||
"account.requested": "Odottaa hyväksyntää. Peruuta seuraamispyyntö klikkaamalla",
|
"account.requested": "Odottaa hyväksyntää. Peruuta seuraamispyyntö klikkaamalla",
|
||||||
|
@ -442,6 +443,8 @@
|
||||||
"notifications_permission_banner.enable": "Ota työpöytäilmoitukset käyttöön",
|
"notifications_permission_banner.enable": "Ota työpöytäilmoitukset käyttöön",
|
||||||
"notifications_permission_banner.how_to_control": "Saadaksesi ilmoituksia, kun Mastodon ei ole auki, ota työpöytäilmoitukset käyttöön. Voit hallita tarkasti, mistä saat työpöytäilmoituksia kun ilmoitukset on otettu käyttöön yllä olevan {icon}-painikkeen kautta.",
|
"notifications_permission_banner.how_to_control": "Saadaksesi ilmoituksia, kun Mastodon ei ole auki, ota työpöytäilmoitukset käyttöön. Voit hallita tarkasti, mistä saat työpöytäilmoituksia kun ilmoitukset on otettu käyttöön yllä olevan {icon}-painikkeen kautta.",
|
||||||
"notifications_permission_banner.title": "Älä anna minkään mennä ohi",
|
"notifications_permission_banner.title": "Älä anna minkään mennä ohi",
|
||||||
|
"password_confirmation.exceeds_maxlength": "Salasanan vahvistus ylittää salasanan enimmäispituuden",
|
||||||
|
"password_confirmation.mismatching": "Salasanan vahvistus ei täsmää",
|
||||||
"picture_in_picture.restore": "Laita se takaisin",
|
"picture_in_picture.restore": "Laita se takaisin",
|
||||||
"poll.closed": "Suljettu",
|
"poll.closed": "Suljettu",
|
||||||
"poll.refresh": "Päivitä",
|
"poll.refresh": "Päivitä",
|
||||||
|
@ -597,6 +600,7 @@
|
||||||
"status.show_more": "Näytä lisää",
|
"status.show_more": "Näytä lisää",
|
||||||
"status.show_more_all": "Näytä lisää kaikista",
|
"status.show_more_all": "Näytä lisää kaikista",
|
||||||
"status.show_original": "Näytä alkuperäinen",
|
"status.show_original": "Näytä alkuperäinen",
|
||||||
|
"status.title.with_attachments": "{user} oheisti {attachmentCount, plural, one {{attachmentCount} liitetiedoston} other {{attachmentCount} liitetiedostoa}}",
|
||||||
"status.translate": "Käännä",
|
"status.translate": "Käännä",
|
||||||
"status.translated_from_with": "Käännetty kielestä {lang} käyttäen {provider}",
|
"status.translated_from_with": "Käännetty kielestä {lang} käyttäen {provider}",
|
||||||
"status.uncached_media_warning": "Ei saatavilla",
|
"status.uncached_media_warning": "Ei saatavilla",
|
||||||
|
@ -617,8 +621,8 @@
|
||||||
"time_remaining.moments": "Hetki jäljellä",
|
"time_remaining.moments": "Hetki jäljellä",
|
||||||
"time_remaining.seconds": "{number, plural, one {# sekunti} other {# sekuntia}} jäljellä",
|
"time_remaining.seconds": "{number, plural, one {# sekunti} other {# sekuntia}} jäljellä",
|
||||||
"timeline_hint.remote_resource_not_displayed": "{resource} muilta palvelimilta ei näytetä.",
|
"timeline_hint.remote_resource_not_displayed": "{resource} muilta palvelimilta ei näytetä.",
|
||||||
"timeline_hint.resources.followers": "Seuraajia",
|
"timeline_hint.resources.followers": "Seuraajat",
|
||||||
"timeline_hint.resources.follows": "Seurattuja",
|
"timeline_hint.resources.follows": "seurattua",
|
||||||
"timeline_hint.resources.statuses": "Vanhemmat viestit",
|
"timeline_hint.resources.statuses": "Vanhemmat viestit",
|
||||||
"trends.counter_by_accounts": "{count, plural, one {{counter} henkilö} other {{counter} henkilöä}} viimeisten {days, plural, one {päivän} other {{days} päivän}}",
|
"trends.counter_by_accounts": "{count, plural, one {{counter} henkilö} other {{counter} henkilöä}} viimeisten {days, plural, one {päivän} other {{days} päivän}}",
|
||||||
"trends.trending_now": "Suosittua nyt",
|
"trends.trending_now": "Suosittua nyt",
|
||||||
|
@ -649,6 +653,7 @@
|
||||||
"upload_modal.preview_label": "Esikatselu ({ratio})",
|
"upload_modal.preview_label": "Esikatselu ({ratio})",
|
||||||
"upload_progress.label": "Ladataan...",
|
"upload_progress.label": "Ladataan...",
|
||||||
"upload_progress.processing": "Käsitellään…",
|
"upload_progress.processing": "Käsitellään…",
|
||||||
|
"username.taken": "Kyseinen käyttäjätunnus on jo käytössä. Kokeile eri tunnusta",
|
||||||
"video.close": "Sulje video",
|
"video.close": "Sulje video",
|
||||||
"video.download": "Lataa tiedosto",
|
"video.download": "Lataa tiedosto",
|
||||||
"video.exit_fullscreen": "Poistu koko näytön tilasta",
|
"video.exit_fullscreen": "Poistu koko näytön tilasta",
|
||||||
|
|
|
@ -39,6 +39,7 @@
|
||||||
"account.follows_you": "Fylgir tær",
|
"account.follows_you": "Fylgir tær",
|
||||||
"account.go_to_profile": "Far til vanga",
|
"account.go_to_profile": "Far til vanga",
|
||||||
"account.hide_reblogs": "Fjal lyft frá @{name}",
|
"account.hide_reblogs": "Fjal lyft frá @{name}",
|
||||||
|
"account.in_memoriam": "In memoriam.",
|
||||||
"account.joined_short": "Gjørdist limur",
|
"account.joined_short": "Gjørdist limur",
|
||||||
"account.languages": "Broyt fylgd mál",
|
"account.languages": "Broyt fylgd mál",
|
||||||
"account.link_verified_on": "Ognarskapur av hesum leinki var eftirkannaður {date}",
|
"account.link_verified_on": "Ognarskapur av hesum leinki var eftirkannaður {date}",
|
||||||
|
@ -442,6 +443,8 @@
|
||||||
"notifications_permission_banner.enable": "Ger skriviborðsfráboðanir virknar",
|
"notifications_permission_banner.enable": "Ger skriviborðsfráboðanir virknar",
|
||||||
"notifications_permission_banner.how_to_control": "Ger skriviborðsfráboðanir virknar fyri at móttaka fráboðanir, tá Mastodon ikki er opið. Tá tær eru gjørdar virknar, kanst tú stýra, hvørji sløg av samvirkni geva skriviborðsfráboðanir. Hetta umvegis {icon} knøttin omanfyri.",
|
"notifications_permission_banner.how_to_control": "Ger skriviborðsfráboðanir virknar fyri at móttaka fráboðanir, tá Mastodon ikki er opið. Tá tær eru gjørdar virknar, kanst tú stýra, hvørji sløg av samvirkni geva skriviborðsfráboðanir. Hetta umvegis {icon} knøttin omanfyri.",
|
||||||
"notifications_permission_banner.title": "Miss einki",
|
"notifications_permission_banner.title": "Miss einki",
|
||||||
|
"password_confirmation.exceeds_maxlength": "Password confirmation exceeds the maximum password length",
|
||||||
|
"password_confirmation.mismatching": "Password confirmation does not match",
|
||||||
"picture_in_picture.restore": "Legg hana aftur",
|
"picture_in_picture.restore": "Legg hana aftur",
|
||||||
"poll.closed": "Endað",
|
"poll.closed": "Endað",
|
||||||
"poll.refresh": "Endurles",
|
"poll.refresh": "Endurles",
|
||||||
|
@ -597,6 +600,7 @@
|
||||||
"status.show_more": "Vís meira",
|
"status.show_more": "Vís meira",
|
||||||
"status.show_more_all": "Vís øllum meira",
|
"status.show_more_all": "Vís øllum meira",
|
||||||
"status.show_original": "Vís upprunaliga",
|
"status.show_original": "Vís upprunaliga",
|
||||||
|
"status.title.with_attachments": "{user} postaði {attachmentCount, plural, one {eitt viðhefti} other {{attachmentCount} viðhefti}}",
|
||||||
"status.translate": "Umset",
|
"status.translate": "Umset",
|
||||||
"status.translated_from_with": "Umsett frá {lang} við {provider}",
|
"status.translated_from_with": "Umsett frá {lang} við {provider}",
|
||||||
"status.uncached_media_warning": "Ikki tøkt",
|
"status.uncached_media_warning": "Ikki tøkt",
|
||||||
|
@ -649,6 +653,7 @@
|
||||||
"upload_modal.preview_label": "Undanvísing ({ratio})",
|
"upload_modal.preview_label": "Undanvísing ({ratio})",
|
||||||
"upload_progress.label": "Leggi upp...",
|
"upload_progress.label": "Leggi upp...",
|
||||||
"upload_progress.processing": "Viðgeri…",
|
"upload_progress.processing": "Viðgeri…",
|
||||||
|
"username.taken": "That username is taken. Try another",
|
||||||
"video.close": "Lat sjónfílu aftur",
|
"video.close": "Lat sjónfílu aftur",
|
||||||
"video.download": "Tak fílu niður",
|
"video.download": "Tak fílu niður",
|
||||||
"video.exit_fullscreen": "Far úr fullum skermi",
|
"video.exit_fullscreen": "Far úr fullum skermi",
|
||||||
|
|
|
@ -20,7 +20,7 @@
|
||||||
"account.blocked": "Bloqué·e",
|
"account.blocked": "Bloqué·e",
|
||||||
"account.browse_more_on_origin_server": "Parcourir davantage sur le profil original",
|
"account.browse_more_on_origin_server": "Parcourir davantage sur le profil original",
|
||||||
"account.cancel_follow_request": "Retirer cette demande d'abonnement",
|
"account.cancel_follow_request": "Retirer cette demande d'abonnement",
|
||||||
"account.direct": "Privately mention @{name}",
|
"account.direct": "Mention privée @{name}",
|
||||||
"account.disable_notifications": "Ne plus me notifier quand @{name} publie",
|
"account.disable_notifications": "Ne plus me notifier quand @{name} publie",
|
||||||
"account.domain_blocked": "Domaine bloqué",
|
"account.domain_blocked": "Domaine bloqué",
|
||||||
"account.edit_profile": "Modifier le profil",
|
"account.edit_profile": "Modifier le profil",
|
||||||
|
@ -39,6 +39,7 @@
|
||||||
"account.follows_you": "Vous suit",
|
"account.follows_you": "Vous suit",
|
||||||
"account.go_to_profile": "Voir ce profil",
|
"account.go_to_profile": "Voir ce profil",
|
||||||
"account.hide_reblogs": "Masquer les boosts de @{name}",
|
"account.hide_reblogs": "Masquer les boosts de @{name}",
|
||||||
|
"account.in_memoriam": "In Memoriam.",
|
||||||
"account.joined_short": "Inscript en",
|
"account.joined_short": "Inscript en",
|
||||||
"account.languages": "Changer les langues abonnées",
|
"account.languages": "Changer les langues abonnées",
|
||||||
"account.link_verified_on": "La propriété de ce lien a été vérifiée le {date}",
|
"account.link_verified_on": "La propriété de ce lien a été vérifiée le {date}",
|
||||||
|
@ -102,7 +103,7 @@
|
||||||
"column.blocks": "Comptes bloqués",
|
"column.blocks": "Comptes bloqués",
|
||||||
"column.bookmarks": "Signets",
|
"column.bookmarks": "Signets",
|
||||||
"column.community": "Fil local",
|
"column.community": "Fil local",
|
||||||
"column.direct": "Private mentions",
|
"column.direct": "Mention privée",
|
||||||
"column.directory": "Parcourir les profils",
|
"column.directory": "Parcourir les profils",
|
||||||
"column.domain_blocks": "Domaines bloqués",
|
"column.domain_blocks": "Domaines bloqués",
|
||||||
"column.favourites": "Favoris",
|
"column.favourites": "Favoris",
|
||||||
|
@ -216,7 +217,7 @@
|
||||||
"empty_column.blocks": "Vous n’avez bloqué aucun compte pour le moment.",
|
"empty_column.blocks": "Vous n’avez bloqué aucun compte pour le moment.",
|
||||||
"empty_column.bookmarked_statuses": "Vous n'avez pas de publications parmi vos signets. Lorsque vous en ajouterez une, elle apparaîtra ici.",
|
"empty_column.bookmarked_statuses": "Vous n'avez pas de publications parmi vos signets. Lorsque vous en ajouterez une, elle apparaîtra ici.",
|
||||||
"empty_column.community": "Le fil local est vide. Écrivez donc quelque chose pour le remplir!",
|
"empty_column.community": "Le fil local est vide. Écrivez donc quelque chose pour le remplir!",
|
||||||
"empty_column.direct": "You don't have any private mentions yet. When you send or receive one, it will show up here.",
|
"empty_column.direct": "Vous n'avez pas encore de mentions privées. Quand vous en envoyez ou en recevez, elles apparaîtront ici.",
|
||||||
"empty_column.domain_blocks": "Il n’y a aucun domaine bloqué pour le moment.",
|
"empty_column.domain_blocks": "Il n’y a aucun domaine bloqué pour le moment.",
|
||||||
"empty_column.explore_statuses": "Rien n'est en tendance présentement. Revenez plus tard!",
|
"empty_column.explore_statuses": "Rien n'est en tendance présentement. Revenez plus tard!",
|
||||||
"empty_column.favourited_statuses": "Vous n’avez pas encore de publications favorites. Lorsque vous en ajouterez une, elle apparaîtra ici.",
|
"empty_column.favourited_statuses": "Vous n’avez pas encore de publications favorites. Lorsque vous en ajouterez une, elle apparaîtra ici.",
|
||||||
|
@ -314,7 +315,7 @@
|
||||||
"keyboard_shortcuts.column": "Se concentrer sur une colonne",
|
"keyboard_shortcuts.column": "Se concentrer sur une colonne",
|
||||||
"keyboard_shortcuts.compose": "Se concentrer sur la zone de rédaction",
|
"keyboard_shortcuts.compose": "Se concentrer sur la zone de rédaction",
|
||||||
"keyboard_shortcuts.description": "Description",
|
"keyboard_shortcuts.description": "Description",
|
||||||
"keyboard_shortcuts.direct": "to open direct messages column",
|
"keyboard_shortcuts.direct": "pour ouvrir la colonne de mentions privées",
|
||||||
"keyboard_shortcuts.down": "Descendre dans la liste",
|
"keyboard_shortcuts.down": "Descendre dans la liste",
|
||||||
"keyboard_shortcuts.enter": "Ouvrir cette publication",
|
"keyboard_shortcuts.enter": "Ouvrir cette publication",
|
||||||
"keyboard_shortcuts.favourite": "Ajouter publication aux favoris",
|
"keyboard_shortcuts.favourite": "Ajouter publication aux favoris",
|
||||||
|
@ -374,7 +375,7 @@
|
||||||
"navigation_bar.bookmarks": "Signets",
|
"navigation_bar.bookmarks": "Signets",
|
||||||
"navigation_bar.community_timeline": "Fil local",
|
"navigation_bar.community_timeline": "Fil local",
|
||||||
"navigation_bar.compose": "Rédiger un nouveau message",
|
"navigation_bar.compose": "Rédiger un nouveau message",
|
||||||
"navigation_bar.direct": "Private mentions",
|
"navigation_bar.direct": "Mention privée",
|
||||||
"navigation_bar.discover": "Découvrir",
|
"navigation_bar.discover": "Découvrir",
|
||||||
"navigation_bar.domain_blocks": "Domaines bloqués",
|
"navigation_bar.domain_blocks": "Domaines bloqués",
|
||||||
"navigation_bar.edit_profile": "Modifier le profil",
|
"navigation_bar.edit_profile": "Modifier le profil",
|
||||||
|
@ -442,6 +443,8 @@
|
||||||
"notifications_permission_banner.enable": "Activer les notifications de bureau",
|
"notifications_permission_banner.enable": "Activer les notifications de bureau",
|
||||||
"notifications_permission_banner.how_to_control": "Pour recevoir des notifications lorsque Mastodon n’est pas ouvert, activez les notifications de bureau. Vous pouvez contrôler précisément quels types d’interactions génèrent des notifications de bureau via le bouton {icon} ci-dessus une fois qu’elles sont activées.",
|
"notifications_permission_banner.how_to_control": "Pour recevoir des notifications lorsque Mastodon n’est pas ouvert, activez les notifications de bureau. Vous pouvez contrôler précisément quels types d’interactions génèrent des notifications de bureau via le bouton {icon} ci-dessus une fois qu’elles sont activées.",
|
||||||
"notifications_permission_banner.title": "Ne rien rater",
|
"notifications_permission_banner.title": "Ne rien rater",
|
||||||
|
"password_confirmation.exceeds_maxlength": "Password confirmation exceeds the maximum password length",
|
||||||
|
"password_confirmation.mismatching": "Password confirmation does not match",
|
||||||
"picture_in_picture.restore": "Remettre en place",
|
"picture_in_picture.restore": "Remettre en place",
|
||||||
"poll.closed": "Fermé",
|
"poll.closed": "Fermé",
|
||||||
"poll.refresh": "Actualiser",
|
"poll.refresh": "Actualiser",
|
||||||
|
@ -520,17 +523,17 @@
|
||||||
"report_notification.categories.spam": "Spam",
|
"report_notification.categories.spam": "Spam",
|
||||||
"report_notification.categories.violation": "Infraction aux règles du serveur",
|
"report_notification.categories.violation": "Infraction aux règles du serveur",
|
||||||
"report_notification.open": "Ouvrir le signalement",
|
"report_notification.open": "Ouvrir le signalement",
|
||||||
"search.no_recent_searches": "No recent searches",
|
"search.no_recent_searches": "Aucune recherche récente",
|
||||||
"search.placeholder": "Rechercher",
|
"search.placeholder": "Rechercher",
|
||||||
"search.quick_action.account_search": "Profiles matching {x}",
|
"search.quick_action.account_search": "Profils correspondant à {x}",
|
||||||
"search.quick_action.go_to_account": "Go to profile {x}",
|
"search.quick_action.go_to_account": "Aller au profil {x}",
|
||||||
"search.quick_action.go_to_hashtag": "Go to hashtag {x}",
|
"search.quick_action.go_to_hashtag": "Aller au hashtag {x}",
|
||||||
"search.quick_action.open_url": "Open URL in Mastodon",
|
"search.quick_action.open_url": "Ouvrir l'URL dans Mastodon",
|
||||||
"search.quick_action.status_search": "Posts matching {x}",
|
"search.quick_action.status_search": "Publications correspondant à {x}",
|
||||||
"search.search_or_paste": "Rechercher ou saisir un URL",
|
"search.search_or_paste": "Rechercher ou saisir un URL",
|
||||||
"search_popout.quick_actions": "Quick actions",
|
"search_popout.quick_actions": "Actions rapides",
|
||||||
"search_popout.recent": "Recent searches",
|
"search_popout.recent": "Recherches récentes",
|
||||||
"search_results.accounts": "Profiles",
|
"search_results.accounts": "Profils",
|
||||||
"search_results.all": "Tout",
|
"search_results.all": "Tout",
|
||||||
"search_results.hashtags": "Hashtags",
|
"search_results.hashtags": "Hashtags",
|
||||||
"search_results.nothing_found": "Aucun résultat avec ces mots-clés",
|
"search_results.nothing_found": "Aucun résultat avec ces mots-clés",
|
||||||
|
@ -557,8 +560,8 @@
|
||||||
"status.copy": "Copier un lien vers cette publication",
|
"status.copy": "Copier un lien vers cette publication",
|
||||||
"status.delete": "Supprimer",
|
"status.delete": "Supprimer",
|
||||||
"status.detailed_status": "Vue détaillée de la conversation",
|
"status.detailed_status": "Vue détaillée de la conversation",
|
||||||
"status.direct": "Privately mention @{name}",
|
"status.direct": "Mention privée @{name}",
|
||||||
"status.direct_indicator": "Private mention",
|
"status.direct_indicator": "Mention privée",
|
||||||
"status.edit": "Modifier",
|
"status.edit": "Modifier",
|
||||||
"status.edited": "Modifiée le {date}",
|
"status.edited": "Modifiée le {date}",
|
||||||
"status.edited_x_times": "Modifiée {count, plural, one {{count} fois} other {{count} fois}}",
|
"status.edited_x_times": "Modifiée {count, plural, one {{count} fois} other {{count} fois}}",
|
||||||
|
@ -597,6 +600,7 @@
|
||||||
"status.show_more": "Déplier",
|
"status.show_more": "Déplier",
|
||||||
"status.show_more_all": "Tout déplier",
|
"status.show_more_all": "Tout déplier",
|
||||||
"status.show_original": "Afficher l’original",
|
"status.show_original": "Afficher l’original",
|
||||||
|
"status.title.with_attachments": "{user} posted {attachmentCount, plural, one {an attachment} other {{attachmentCount} attachments}}",
|
||||||
"status.translate": "Traduire",
|
"status.translate": "Traduire",
|
||||||
"status.translated_from_with": "Traduit de {lang} avec {provider}",
|
"status.translated_from_with": "Traduit de {lang} avec {provider}",
|
||||||
"status.uncached_media_warning": "Indisponible",
|
"status.uncached_media_warning": "Indisponible",
|
||||||
|
@ -649,6 +653,7 @@
|
||||||
"upload_modal.preview_label": "Aperçu ({ratio})",
|
"upload_modal.preview_label": "Aperçu ({ratio})",
|
||||||
"upload_progress.label": "Envoi en cours...",
|
"upload_progress.label": "Envoi en cours...",
|
||||||
"upload_progress.processing": "Traitement en cours…",
|
"upload_progress.processing": "Traitement en cours…",
|
||||||
|
"username.taken": "That username is taken. Try another",
|
||||||
"video.close": "Fermer la vidéo",
|
"video.close": "Fermer la vidéo",
|
||||||
"video.download": "Télécharger ce fichier",
|
"video.download": "Télécharger ce fichier",
|
||||||
"video.exit_fullscreen": "Quitter le plein écran",
|
"video.exit_fullscreen": "Quitter le plein écran",
|
||||||
|
|
|
@ -20,7 +20,7 @@
|
||||||
"account.blocked": "Bloqué·e",
|
"account.blocked": "Bloqué·e",
|
||||||
"account.browse_more_on_origin_server": "Parcourir davantage sur le profil original",
|
"account.browse_more_on_origin_server": "Parcourir davantage sur le profil original",
|
||||||
"account.cancel_follow_request": "Retirer la demande d’abonnement",
|
"account.cancel_follow_request": "Retirer la demande d’abonnement",
|
||||||
"account.direct": "Privately mention @{name}",
|
"account.direct": "Mention privée @{name}",
|
||||||
"account.disable_notifications": "Ne plus me notifier quand @{name} publie quelque chose",
|
"account.disable_notifications": "Ne plus me notifier quand @{name} publie quelque chose",
|
||||||
"account.domain_blocked": "Domaine bloqué",
|
"account.domain_blocked": "Domaine bloqué",
|
||||||
"account.edit_profile": "Modifier le profil",
|
"account.edit_profile": "Modifier le profil",
|
||||||
|
@ -39,6 +39,7 @@
|
||||||
"account.follows_you": "Vous suit",
|
"account.follows_you": "Vous suit",
|
||||||
"account.go_to_profile": "Voir le profil",
|
"account.go_to_profile": "Voir le profil",
|
||||||
"account.hide_reblogs": "Masquer les partages de @{name}",
|
"account.hide_reblogs": "Masquer les partages de @{name}",
|
||||||
|
"account.in_memoriam": "In Memoriam.",
|
||||||
"account.joined_short": "Ici depuis",
|
"account.joined_short": "Ici depuis",
|
||||||
"account.languages": "Changer les langues abonnées",
|
"account.languages": "Changer les langues abonnées",
|
||||||
"account.link_verified_on": "La propriété de ce lien a été vérifiée le {date}",
|
"account.link_verified_on": "La propriété de ce lien a été vérifiée le {date}",
|
||||||
|
@ -102,7 +103,7 @@
|
||||||
"column.blocks": "Comptes bloqués",
|
"column.blocks": "Comptes bloqués",
|
||||||
"column.bookmarks": "Signets",
|
"column.bookmarks": "Signets",
|
||||||
"column.community": "Fil public local",
|
"column.community": "Fil public local",
|
||||||
"column.direct": "Private mentions",
|
"column.direct": "Mention privée",
|
||||||
"column.directory": "Parcourir les profils",
|
"column.directory": "Parcourir les profils",
|
||||||
"column.domain_blocks": "Domaines bloqués",
|
"column.domain_blocks": "Domaines bloqués",
|
||||||
"column.favourites": "Favoris",
|
"column.favourites": "Favoris",
|
||||||
|
@ -216,7 +217,7 @@
|
||||||
"empty_column.blocks": "Vous n’avez bloqué aucun compte pour le moment.",
|
"empty_column.blocks": "Vous n’avez bloqué aucun compte pour le moment.",
|
||||||
"empty_column.bookmarked_statuses": "Vous n'avez pas de message en marque-page. Lorsque vous en ajouterez un, il apparaîtra ici.",
|
"empty_column.bookmarked_statuses": "Vous n'avez pas de message en marque-page. Lorsque vous en ajouterez un, il apparaîtra ici.",
|
||||||
"empty_column.community": "Le fil public local est vide. Écrivez donc quelque chose pour le remplir !",
|
"empty_column.community": "Le fil public local est vide. Écrivez donc quelque chose pour le remplir !",
|
||||||
"empty_column.direct": "You don't have any private mentions yet. When you send or receive one, it will show up here.",
|
"empty_column.direct": "Vous n'avez pas encore de mentions privées. Quand vous en envoyez ou en recevez, elles apparaîtront ici.",
|
||||||
"empty_column.domain_blocks": "Il n’y a aucun domaine bloqué pour le moment.",
|
"empty_column.domain_blocks": "Il n’y a aucun domaine bloqué pour le moment.",
|
||||||
"empty_column.explore_statuses": "Rien n'est en tendance pour le moment. Revenez plus tard !",
|
"empty_column.explore_statuses": "Rien n'est en tendance pour le moment. Revenez plus tard !",
|
||||||
"empty_column.favourited_statuses": "Vous n’avez pas encore de message en favori. Lorsque vous en ajouterez un, il apparaîtra ici.",
|
"empty_column.favourited_statuses": "Vous n’avez pas encore de message en favori. Lorsque vous en ajouterez un, il apparaîtra ici.",
|
||||||
|
@ -314,7 +315,7 @@
|
||||||
"keyboard_shortcuts.column": "Se placer dans une colonne",
|
"keyboard_shortcuts.column": "Se placer dans une colonne",
|
||||||
"keyboard_shortcuts.compose": "Se placer dans la zone de rédaction",
|
"keyboard_shortcuts.compose": "Se placer dans la zone de rédaction",
|
||||||
"keyboard_shortcuts.description": "Description",
|
"keyboard_shortcuts.description": "Description",
|
||||||
"keyboard_shortcuts.direct": "to open direct messages column",
|
"keyboard_shortcuts.direct": "pour ouvrir la colonne de mentions privées",
|
||||||
"keyboard_shortcuts.down": "Descendre dans la liste",
|
"keyboard_shortcuts.down": "Descendre dans la liste",
|
||||||
"keyboard_shortcuts.enter": "Ouvrir le message",
|
"keyboard_shortcuts.enter": "Ouvrir le message",
|
||||||
"keyboard_shortcuts.favourite": "Ajouter le message aux favoris",
|
"keyboard_shortcuts.favourite": "Ajouter le message aux favoris",
|
||||||
|
@ -374,7 +375,7 @@
|
||||||
"navigation_bar.bookmarks": "Marque-pages",
|
"navigation_bar.bookmarks": "Marque-pages",
|
||||||
"navigation_bar.community_timeline": "Fil public local",
|
"navigation_bar.community_timeline": "Fil public local",
|
||||||
"navigation_bar.compose": "Rédiger un nouveau message",
|
"navigation_bar.compose": "Rédiger un nouveau message",
|
||||||
"navigation_bar.direct": "Private mentions",
|
"navigation_bar.direct": "Mention privée",
|
||||||
"navigation_bar.discover": "Découvrir",
|
"navigation_bar.discover": "Découvrir",
|
||||||
"navigation_bar.domain_blocks": "Domaines bloqués",
|
"navigation_bar.domain_blocks": "Domaines bloqués",
|
||||||
"navigation_bar.edit_profile": "Modifier le profil",
|
"navigation_bar.edit_profile": "Modifier le profil",
|
||||||
|
@ -442,6 +443,8 @@
|
||||||
"notifications_permission_banner.enable": "Activer les notifications de bureau",
|
"notifications_permission_banner.enable": "Activer les notifications de bureau",
|
||||||
"notifications_permission_banner.how_to_control": "Pour recevoir des notifications lorsque Mastodon n’est pas ouvert, activez les notifications du bureau. Vous pouvez contrôler précisément quels types d’interactions génèrent des notifications de bureau via le bouton {icon} ci-dessus une fois qu’elles sont activées.",
|
"notifications_permission_banner.how_to_control": "Pour recevoir des notifications lorsque Mastodon n’est pas ouvert, activez les notifications du bureau. Vous pouvez contrôler précisément quels types d’interactions génèrent des notifications de bureau via le bouton {icon} ci-dessus une fois qu’elles sont activées.",
|
||||||
"notifications_permission_banner.title": "Toujours au courant",
|
"notifications_permission_banner.title": "Toujours au courant",
|
||||||
|
"password_confirmation.exceeds_maxlength": "Password confirmation exceeds the maximum password length",
|
||||||
|
"password_confirmation.mismatching": "Password confirmation does not match",
|
||||||
"picture_in_picture.restore": "Remettre en place",
|
"picture_in_picture.restore": "Remettre en place",
|
||||||
"poll.closed": "Fermé",
|
"poll.closed": "Fermé",
|
||||||
"poll.refresh": "Actualiser",
|
"poll.refresh": "Actualiser",
|
||||||
|
@ -520,17 +523,17 @@
|
||||||
"report_notification.categories.spam": "Spam",
|
"report_notification.categories.spam": "Spam",
|
||||||
"report_notification.categories.violation": "Infraction aux règles du serveur",
|
"report_notification.categories.violation": "Infraction aux règles du serveur",
|
||||||
"report_notification.open": "Ouvrir le signalement",
|
"report_notification.open": "Ouvrir le signalement",
|
||||||
"search.no_recent_searches": "No recent searches",
|
"search.no_recent_searches": "Aucune recherche récente",
|
||||||
"search.placeholder": "Rechercher",
|
"search.placeholder": "Rechercher",
|
||||||
"search.quick_action.account_search": "Profiles matching {x}",
|
"search.quick_action.account_search": "Profils correspondant à {x}",
|
||||||
"search.quick_action.go_to_account": "Go to profile {x}",
|
"search.quick_action.go_to_account": "Aller au profil {x}",
|
||||||
"search.quick_action.go_to_hashtag": "Go to hashtag {x}",
|
"search.quick_action.go_to_hashtag": "Aller au hashtag {x}",
|
||||||
"search.quick_action.open_url": "Open URL in Mastodon",
|
"search.quick_action.open_url": "Ouvrir l'URL dans Mastodon",
|
||||||
"search.quick_action.status_search": "Posts matching {x}",
|
"search.quick_action.status_search": "Publications correspondant à {x}",
|
||||||
"search.search_or_paste": "Rechercher ou saisir une URL",
|
"search.search_or_paste": "Rechercher ou saisir une URL",
|
||||||
"search_popout.quick_actions": "Quick actions",
|
"search_popout.quick_actions": "Actions rapides",
|
||||||
"search_popout.recent": "Recherches récentes",
|
"search_popout.recent": "Recherches récentes",
|
||||||
"search_results.accounts": "Profiles",
|
"search_results.accounts": "Profils",
|
||||||
"search_results.all": "Tous les résultats",
|
"search_results.all": "Tous les résultats",
|
||||||
"search_results.hashtags": "Hashtags",
|
"search_results.hashtags": "Hashtags",
|
||||||
"search_results.nothing_found": "Aucun résultat avec ces mots-clefs",
|
"search_results.nothing_found": "Aucun résultat avec ces mots-clefs",
|
||||||
|
@ -557,7 +560,7 @@
|
||||||
"status.copy": "Copier le lien vers le message",
|
"status.copy": "Copier le lien vers le message",
|
||||||
"status.delete": "Supprimer",
|
"status.delete": "Supprimer",
|
||||||
"status.detailed_status": "Vue détaillée de la conversation",
|
"status.detailed_status": "Vue détaillée de la conversation",
|
||||||
"status.direct": "Privately mention @{name}",
|
"status.direct": "Mention privée @{name}",
|
||||||
"status.direct_indicator": "Mention privée",
|
"status.direct_indicator": "Mention privée",
|
||||||
"status.edit": "Éditer",
|
"status.edit": "Éditer",
|
||||||
"status.edited": "Édité le {date}",
|
"status.edited": "Édité le {date}",
|
||||||
|
@ -597,6 +600,7 @@
|
||||||
"status.show_more": "Déplier",
|
"status.show_more": "Déplier",
|
||||||
"status.show_more_all": "Tout déplier",
|
"status.show_more_all": "Tout déplier",
|
||||||
"status.show_original": "Afficher l’original",
|
"status.show_original": "Afficher l’original",
|
||||||
|
"status.title.with_attachments": "{user} posted {attachmentCount, plural, one {an attachment} other {{attachmentCount} attachments}}",
|
||||||
"status.translate": "Traduire",
|
"status.translate": "Traduire",
|
||||||
"status.translated_from_with": "Traduit de {lang} en utilisant {provider}",
|
"status.translated_from_with": "Traduit de {lang} en utilisant {provider}",
|
||||||
"status.uncached_media_warning": "Indisponible",
|
"status.uncached_media_warning": "Indisponible",
|
||||||
|
@ -649,6 +653,7 @@
|
||||||
"upload_modal.preview_label": "Aperçu ({ratio})",
|
"upload_modal.preview_label": "Aperçu ({ratio})",
|
||||||
"upload_progress.label": "Envoi en cours…",
|
"upload_progress.label": "Envoi en cours…",
|
||||||
"upload_progress.processing": "En cours…",
|
"upload_progress.processing": "En cours…",
|
||||||
|
"username.taken": "That username is taken. Try another",
|
||||||
"video.close": "Fermer la vidéo",
|
"video.close": "Fermer la vidéo",
|
||||||
"video.download": "Télécharger le fichier",
|
"video.download": "Télécharger le fichier",
|
||||||
"video.exit_fullscreen": "Quitter le plein écran",
|
"video.exit_fullscreen": "Quitter le plein écran",
|
||||||
|
|
|
@ -39,6 +39,7 @@
|
||||||
"account.follows_you": "Folget jo",
|
"account.follows_you": "Folget jo",
|
||||||
"account.go_to_profile": "Gean nei profyl",
|
"account.go_to_profile": "Gean nei profyl",
|
||||||
"account.hide_reblogs": "Boosts fan @{name} ferstopje",
|
"account.hide_reblogs": "Boosts fan @{name} ferstopje",
|
||||||
|
"account.in_memoriam": "Yn memoriam.",
|
||||||
"account.joined_short": "Registrearre op",
|
"account.joined_short": "Registrearre op",
|
||||||
"account.languages": "Toande talen wizigje",
|
"account.languages": "Toande talen wizigje",
|
||||||
"account.link_verified_on": "Eigendom fan dizze keppeling is kontrolearre op {date}",
|
"account.link_verified_on": "Eigendom fan dizze keppeling is kontrolearre op {date}",
|
||||||
|
@ -442,6 +443,8 @@
|
||||||
"notifications_permission_banner.enable": "Desktopmeldingen ynskeakelje",
|
"notifications_permission_banner.enable": "Desktopmeldingen ynskeakelje",
|
||||||
"notifications_permission_banner.how_to_control": "Om meldingen te ûntfangen wannear’t Mastodon net iepen stiet. Jo kinne krekt bepale hokker soarte fan ynteraksjes wol of gjin desktopmeldingen jouwe fia de boppesteande {icon} knop.",
|
"notifications_permission_banner.how_to_control": "Om meldingen te ûntfangen wannear’t Mastodon net iepen stiet. Jo kinne krekt bepale hokker soarte fan ynteraksjes wol of gjin desktopmeldingen jouwe fia de boppesteande {icon} knop.",
|
||||||
"notifications_permission_banner.title": "Mis neat",
|
"notifications_permission_banner.title": "Mis neat",
|
||||||
|
"password_confirmation.exceeds_maxlength": "Wachtwurdbefêstiging giet oer de maksimale wachtwurdlingte",
|
||||||
|
"password_confirmation.mismatching": "Wachtwurdbefêstiging komt net oerien",
|
||||||
"picture_in_picture.restore": "Tebeksette",
|
"picture_in_picture.restore": "Tebeksette",
|
||||||
"poll.closed": "Sluten",
|
"poll.closed": "Sluten",
|
||||||
"poll.refresh": "Ferfarskje",
|
"poll.refresh": "Ferfarskje",
|
||||||
|
@ -597,6 +600,7 @@
|
||||||
"status.show_more": "Mear toane",
|
"status.show_more": "Mear toane",
|
||||||
"status.show_more_all": "Alles mear toane",
|
"status.show_more_all": "Alles mear toane",
|
||||||
"status.show_original": "Orizjineel besjen",
|
"status.show_original": "Orizjineel besjen",
|
||||||
|
"status.title.with_attachments": "{user} posted {attachmentCount, plural, one {an attachment} other {{attachmentCount} attachments}}",
|
||||||
"status.translate": "Oersette",
|
"status.translate": "Oersette",
|
||||||
"status.translated_from_with": "Fan {lang} út oersetten mei {provider}",
|
"status.translated_from_with": "Fan {lang} út oersetten mei {provider}",
|
||||||
"status.uncached_media_warning": "Net beskikber",
|
"status.uncached_media_warning": "Net beskikber",
|
||||||
|
@ -649,6 +653,7 @@
|
||||||
"upload_modal.preview_label": "Foarfertoaning ({ratio})",
|
"upload_modal.preview_label": "Foarfertoaning ({ratio})",
|
||||||
"upload_progress.label": "Uploading…",
|
"upload_progress.label": "Uploading…",
|
||||||
"upload_progress.processing": "Dwaande…",
|
"upload_progress.processing": "Dwaande…",
|
||||||
|
"username.taken": "Dy brûkersnamme is al yn gebrûk. Probearje in oare",
|
||||||
"video.close": "Fideo slute",
|
"video.close": "Fideo slute",
|
||||||
"video.download": "Bestân downloade",
|
"video.download": "Bestân downloade",
|
||||||
"video.exit_fullscreen": "Folslein skerm slute",
|
"video.exit_fullscreen": "Folslein skerm slute",
|
||||||
|
|
|
@ -39,6 +39,7 @@
|
||||||
"account.follows_you": "Do do leanúint",
|
"account.follows_you": "Do do leanúint",
|
||||||
"account.go_to_profile": "Téigh go dtí próifíl",
|
"account.go_to_profile": "Téigh go dtí próifíl",
|
||||||
"account.hide_reblogs": "Folaigh moltaí ó @{name}",
|
"account.hide_reblogs": "Folaigh moltaí ó @{name}",
|
||||||
|
"account.in_memoriam": "In Memoriam.",
|
||||||
"account.joined_short": "Cláraithe",
|
"account.joined_short": "Cláraithe",
|
||||||
"account.languages": "Athraigh teangacha foscríofa",
|
"account.languages": "Athraigh teangacha foscríofa",
|
||||||
"account.link_verified_on": "Seiceáladh úinéireacht an naisc seo ar {date}",
|
"account.link_verified_on": "Seiceáladh úinéireacht an naisc seo ar {date}",
|
||||||
|
@ -442,6 +443,8 @@
|
||||||
"notifications_permission_banner.enable": "Ceadaigh fógraí ar an deasc",
|
"notifications_permission_banner.enable": "Ceadaigh fógraí ar an deasc",
|
||||||
"notifications_permission_banner.how_to_control": "To receive notifications when Mastodon isn't open, enable desktop notifications. You can control precisely which types of interactions generate desktop notifications through the {icon} button above once they're enabled.",
|
"notifications_permission_banner.how_to_control": "To receive notifications when Mastodon isn't open, enable desktop notifications. You can control precisely which types of interactions generate desktop notifications through the {icon} button above once they're enabled.",
|
||||||
"notifications_permission_banner.title": "Ná caill aon rud go deo",
|
"notifications_permission_banner.title": "Ná caill aon rud go deo",
|
||||||
|
"password_confirmation.exceeds_maxlength": "Password confirmation exceeds the maximum password length",
|
||||||
|
"password_confirmation.mismatching": "Password confirmation does not match",
|
||||||
"picture_in_picture.restore": "Cuir é ar ais",
|
"picture_in_picture.restore": "Cuir é ar ais",
|
||||||
"poll.closed": "Dúnta",
|
"poll.closed": "Dúnta",
|
||||||
"poll.refresh": "Athnuaigh",
|
"poll.refresh": "Athnuaigh",
|
||||||
|
@ -597,6 +600,7 @@
|
||||||
"status.show_more": "Taispeáin níos mó",
|
"status.show_more": "Taispeáin níos mó",
|
||||||
"status.show_more_all": "Taispeáin níos mó d'uile",
|
"status.show_more_all": "Taispeáin níos mó d'uile",
|
||||||
"status.show_original": "Taispeáin bunchóip",
|
"status.show_original": "Taispeáin bunchóip",
|
||||||
|
"status.title.with_attachments": "{user} posted {attachmentCount, plural, one {an attachment} other {{attachmentCount} attachments}}",
|
||||||
"status.translate": "Aistrigh",
|
"status.translate": "Aistrigh",
|
||||||
"status.translated_from_with": "D'Aistrigh ón {lang} ag úsáid {provider}",
|
"status.translated_from_with": "D'Aistrigh ón {lang} ag úsáid {provider}",
|
||||||
"status.uncached_media_warning": "Ní ar fáil",
|
"status.uncached_media_warning": "Ní ar fáil",
|
||||||
|
@ -649,6 +653,7 @@
|
||||||
"upload_modal.preview_label": "Preview ({ratio})",
|
"upload_modal.preview_label": "Preview ({ratio})",
|
||||||
"upload_progress.label": "Ag uaslódáil...",
|
"upload_progress.label": "Ag uaslódáil...",
|
||||||
"upload_progress.processing": "Ag próiseáil…",
|
"upload_progress.processing": "Ag próiseáil…",
|
||||||
|
"username.taken": "That username is taken. Try another",
|
||||||
"video.close": "Dún físeán",
|
"video.close": "Dún físeán",
|
||||||
"video.download": "Íoslódáil comhad",
|
"video.download": "Íoslódáil comhad",
|
||||||
"video.exit_fullscreen": "Exit full screen",
|
"video.exit_fullscreen": "Exit full screen",
|
||||||
|
|
|
@ -39,6 +39,7 @@
|
||||||
"account.follows_you": "Gad leantainn",
|
"account.follows_you": "Gad leantainn",
|
||||||
"account.go_to_profile": "Tadhail air a’ phròifil",
|
"account.go_to_profile": "Tadhail air a’ phròifil",
|
||||||
"account.hide_reblogs": "Falaich na brosnachaidhean o @{name}",
|
"account.hide_reblogs": "Falaich na brosnachaidhean o @{name}",
|
||||||
|
"account.in_memoriam": "In Memoriam.",
|
||||||
"account.joined_short": "Air ballrachd fhaighinn",
|
"account.joined_short": "Air ballrachd fhaighinn",
|
||||||
"account.languages": "Atharraich fo-sgrìobhadh nan cànan",
|
"account.languages": "Atharraich fo-sgrìobhadh nan cànan",
|
||||||
"account.link_verified_on": "Chaidh dearbhadh cò leis a tha an ceangal seo {date}",
|
"account.link_verified_on": "Chaidh dearbhadh cò leis a tha an ceangal seo {date}",
|
||||||
|
@ -442,6 +443,8 @@
|
||||||
"notifications_permission_banner.enable": "Cuir brathan deasga an comas",
|
"notifications_permission_banner.enable": "Cuir brathan deasga an comas",
|
||||||
"notifications_permission_banner.how_to_control": "Airson brathan fhaighinn nuair nach eil Mastodon fosgailte, cuir na brathan deasga an comas. Tha an smachd agad fhèin air dè na seòrsaichean de chonaltradh a ghineas brathan deasga leis a’ phutan {icon} gu h-àrd nuair a bhios iad air an cur an comas.",
|
"notifications_permission_banner.how_to_control": "Airson brathan fhaighinn nuair nach eil Mastodon fosgailte, cuir na brathan deasga an comas. Tha an smachd agad fhèin air dè na seòrsaichean de chonaltradh a ghineas brathan deasga leis a’ phutan {icon} gu h-àrd nuair a bhios iad air an cur an comas.",
|
||||||
"notifications_permission_banner.title": "Na caill dad gu bràth tuilleadh",
|
"notifications_permission_banner.title": "Na caill dad gu bràth tuilleadh",
|
||||||
|
"password_confirmation.exceeds_maxlength": "Password confirmation exceeds the maximum password length",
|
||||||
|
"password_confirmation.mismatching": "Password confirmation does not match",
|
||||||
"picture_in_picture.restore": "Thoir air ais e",
|
"picture_in_picture.restore": "Thoir air ais e",
|
||||||
"poll.closed": "Dùinte",
|
"poll.closed": "Dùinte",
|
||||||
"poll.refresh": "Ath-nuadhaich",
|
"poll.refresh": "Ath-nuadhaich",
|
||||||
|
@ -597,6 +600,7 @@
|
||||||
"status.show_more": "Seall barrachd dheth",
|
"status.show_more": "Seall barrachd dheth",
|
||||||
"status.show_more_all": "Seall barrachd dhen a h-uile",
|
"status.show_more_all": "Seall barrachd dhen a h-uile",
|
||||||
"status.show_original": "Seall an tionndadh tùsail",
|
"status.show_original": "Seall an tionndadh tùsail",
|
||||||
|
"status.title.with_attachments": "{user} posted {attachmentCount, plural, one {an attachment} other {{attachmentCount} attachments}}",
|
||||||
"status.translate": "Eadar-theangaich",
|
"status.translate": "Eadar-theangaich",
|
||||||
"status.translated_from_with": "Air eadar-theangachadh o {lang} le {provider}",
|
"status.translated_from_with": "Air eadar-theangachadh o {lang} le {provider}",
|
||||||
"status.uncached_media_warning": "Chan eil seo ri fhaighinn",
|
"status.uncached_media_warning": "Chan eil seo ri fhaighinn",
|
||||||
|
@ -649,6 +653,7 @@
|
||||||
"upload_modal.preview_label": "Ro-shealladh ({ratio})",
|
"upload_modal.preview_label": "Ro-shealladh ({ratio})",
|
||||||
"upload_progress.label": "’Ga luchdadh suas…",
|
"upload_progress.label": "’Ga luchdadh suas…",
|
||||||
"upload_progress.processing": "’Ga phròiseasadh…",
|
"upload_progress.processing": "’Ga phròiseasadh…",
|
||||||
|
"username.taken": "That username is taken. Try another",
|
||||||
"video.close": "Dùin a’ video",
|
"video.close": "Dùin a’ video",
|
||||||
"video.download": "Luchdaich am faidhle a-nuas",
|
"video.download": "Luchdaich am faidhle a-nuas",
|
||||||
"video.exit_fullscreen": "Fàg modh na làn-sgrìn",
|
"video.exit_fullscreen": "Fàg modh na làn-sgrìn",
|
||||||
|
|
|
@ -39,6 +39,7 @@
|
||||||
"account.follows_you": "Séguete",
|
"account.follows_you": "Séguete",
|
||||||
"account.go_to_profile": "Ir ao perfil",
|
"account.go_to_profile": "Ir ao perfil",
|
||||||
"account.hide_reblogs": "Agochar repeticións de @{name}",
|
"account.hide_reblogs": "Agochar repeticións de @{name}",
|
||||||
|
"account.in_memoriam": "Lembranzas.",
|
||||||
"account.joined_short": "Uniuse",
|
"account.joined_short": "Uniuse",
|
||||||
"account.languages": "Modificar os idiomas subscritos",
|
"account.languages": "Modificar os idiomas subscritos",
|
||||||
"account.link_verified_on": "A propiedade desta ligazón foi verificada o {date}",
|
"account.link_verified_on": "A propiedade desta ligazón foi verificada o {date}",
|
||||||
|
@ -442,6 +443,8 @@
|
||||||
"notifications_permission_banner.enable": "Activar notificacións de escritorio",
|
"notifications_permission_banner.enable": "Activar notificacións de escritorio",
|
||||||
"notifications_permission_banner.how_to_control": "Activa as notificacións de escritorio para recibir notificacións mentras Mastodon non está aberto. Podes controlar de xeito preciso o tipo de interaccións que crean as notificacións de escritorio a través da {icon} superior unha vez están activadas.",
|
"notifications_permission_banner.how_to_control": "Activa as notificacións de escritorio para recibir notificacións mentras Mastodon non está aberto. Podes controlar de xeito preciso o tipo de interaccións que crean as notificacións de escritorio a través da {icon} superior unha vez están activadas.",
|
||||||
"notifications_permission_banner.title": "Non perder nada",
|
"notifications_permission_banner.title": "Non perder nada",
|
||||||
|
"password_confirmation.exceeds_maxlength": "A lonxitude do contrasinal de confirmación excede o máximo permitido",
|
||||||
|
"password_confirmation.mismatching": "O contrasinal de confirmación non concorda",
|
||||||
"picture_in_picture.restore": "Devolver",
|
"picture_in_picture.restore": "Devolver",
|
||||||
"poll.closed": "Pechado",
|
"poll.closed": "Pechado",
|
||||||
"poll.refresh": "Actualizar",
|
"poll.refresh": "Actualizar",
|
||||||
|
@ -597,6 +600,7 @@
|
||||||
"status.show_more": "Amosar máis",
|
"status.show_more": "Amosar máis",
|
||||||
"status.show_more_all": "Amosar máis para todos",
|
"status.show_more_all": "Amosar máis para todos",
|
||||||
"status.show_original": "Mostrar o orixinal",
|
"status.show_original": "Mostrar o orixinal",
|
||||||
|
"status.title.with_attachments": "{user} publicou {attachmentCount, plural, one {un anexo} other {{attachmentCount} anexos}}",
|
||||||
"status.translate": "Traducir",
|
"status.translate": "Traducir",
|
||||||
"status.translated_from_with": "Traducido do {lang} usando {provider}",
|
"status.translated_from_with": "Traducido do {lang} usando {provider}",
|
||||||
"status.uncached_media_warning": "Non dispoñíbel",
|
"status.uncached_media_warning": "Non dispoñíbel",
|
||||||
|
@ -649,6 +653,7 @@
|
||||||
"upload_modal.preview_label": "Vista previa ({ratio})",
|
"upload_modal.preview_label": "Vista previa ({ratio})",
|
||||||
"upload_progress.label": "Estase a subir...",
|
"upload_progress.label": "Estase a subir...",
|
||||||
"upload_progress.processing": "Procesando…",
|
"upload_progress.processing": "Procesando…",
|
||||||
|
"username.taken": "O identificador xa está pillado. Inténtao con outro",
|
||||||
"video.close": "Pechar vídeo",
|
"video.close": "Pechar vídeo",
|
||||||
"video.download": "Baixar ficheiro",
|
"video.download": "Baixar ficheiro",
|
||||||
"video.exit_fullscreen": "Saír da pantalla completa",
|
"video.exit_fullscreen": "Saír da pantalla completa",
|
||||||
|
|
|
@ -39,6 +39,7 @@
|
||||||
"account.follows_you": "במעקב אחריך",
|
"account.follows_you": "במעקב אחריך",
|
||||||
"account.go_to_profile": "מעבר לפרופיל",
|
"account.go_to_profile": "מעבר לפרופיל",
|
||||||
"account.hide_reblogs": "להסתיר הידהודים מאת @{name}",
|
"account.hide_reblogs": "להסתיר הידהודים מאת @{name}",
|
||||||
|
"account.in_memoriam": "פרופיל זכרון.",
|
||||||
"account.joined_short": "תאריך הצטרפות",
|
"account.joined_short": "תאריך הצטרפות",
|
||||||
"account.languages": "שנה רישום לשפות",
|
"account.languages": "שנה רישום לשפות",
|
||||||
"account.link_verified_on": "בעלות על הקישור הזה נבדקה לאחרונה ב{date}",
|
"account.link_verified_on": "בעלות על הקישור הזה נבדקה לאחרונה ב{date}",
|
||||||
|
@ -442,6 +443,8 @@
|
||||||
"notifications_permission_banner.enable": "לאפשר נוטיפיקציות מסך",
|
"notifications_permission_banner.enable": "לאפשר נוטיפיקציות מסך",
|
||||||
"notifications_permission_banner.how_to_control": "כדי לקבל התראות גם כאשר מסטודון סגור יש לאפשר התראות מסך. ניתן לשלוט בדיוק איזה סוג של אינטראקציות יביא להתראות מסך דרך כפתור ה- {icon} מרגע שהן מאופשרות.",
|
"notifications_permission_banner.how_to_control": "כדי לקבל התראות גם כאשר מסטודון סגור יש לאפשר התראות מסך. ניתן לשלוט בדיוק איזה סוג של אינטראקציות יביא להתראות מסך דרך כפתור ה- {icon} מרגע שהן מאופשרות.",
|
||||||
"notifications_permission_banner.title": "לעולם אל תחמיץ דבר",
|
"notifications_permission_banner.title": "לעולם אל תחמיץ דבר",
|
||||||
|
"password_confirmation.exceeds_maxlength": "הסיסמה בשדה אימות הסיסמה ארוכה מאורך הסיסמה המירבי",
|
||||||
|
"password_confirmation.mismatching": "אימות סיסמה אינו תואם לסיסמה",
|
||||||
"picture_in_picture.restore": "החזירי למקומו",
|
"picture_in_picture.restore": "החזירי למקומו",
|
||||||
"poll.closed": "סגור",
|
"poll.closed": "סגור",
|
||||||
"poll.refresh": "רענון",
|
"poll.refresh": "רענון",
|
||||||
|
@ -597,6 +600,7 @@
|
||||||
"status.show_more": "הראה יותר",
|
"status.show_more": "הראה יותר",
|
||||||
"status.show_more_all": "להציג יותר מהכל",
|
"status.show_more_all": "להציג יותר מהכל",
|
||||||
"status.show_original": "הצגת מקור",
|
"status.show_original": "הצגת מקור",
|
||||||
|
"status.title.with_attachments": "{user} פרסם.ה {attachmentCount, plural, one {צרופה} other {{attachmentCount} צרופות}}",
|
||||||
"status.translate": "לתרגם",
|
"status.translate": "לתרגם",
|
||||||
"status.translated_from_with": "לתרגם משפה {lang} באמצעות {provider}",
|
"status.translated_from_with": "לתרגם משפה {lang} באמצעות {provider}",
|
||||||
"status.uncached_media_warning": "לא זמין",
|
"status.uncached_media_warning": "לא זמין",
|
||||||
|
@ -649,6 +653,7 @@
|
||||||
"upload_modal.preview_label": "תצוגה ({ratio})",
|
"upload_modal.preview_label": "תצוגה ({ratio})",
|
||||||
"upload_progress.label": "עולה...",
|
"upload_progress.label": "עולה...",
|
||||||
"upload_progress.processing": "מעבד…",
|
"upload_progress.processing": "מעבד…",
|
||||||
|
"username.taken": "שם המשתמש הזה תפוס. נסו אחר",
|
||||||
"video.close": "סגירת וידאו",
|
"video.close": "סגירת וידאו",
|
||||||
"video.download": "הורדת קובץ",
|
"video.download": "הורדת קובץ",
|
||||||
"video.exit_fullscreen": "יציאה ממסך מלא",
|
"video.exit_fullscreen": "יציאה ממסך מלא",
|
||||||
|
|
|
@ -39,6 +39,7 @@
|
||||||
"account.follows_you": "आपको फॉलो करता है",
|
"account.follows_you": "आपको फॉलो करता है",
|
||||||
"account.go_to_profile": "प्रोफाइल में जाएँ",
|
"account.go_to_profile": "प्रोफाइल में जाएँ",
|
||||||
"account.hide_reblogs": "@{name} के बूस्ट छुपाएं",
|
"account.hide_reblogs": "@{name} के बूस्ट छुपाएं",
|
||||||
|
"account.in_memoriam": "याद में",
|
||||||
"account.joined_short": "पुरा हुआ",
|
"account.joined_short": "पुरा हुआ",
|
||||||
"account.languages": "सब्स्क्राइब्ड भाषाओं को बदलें",
|
"account.languages": "सब्स्क्राइब्ड भाषाओं को बदलें",
|
||||||
"account.link_verified_on": "इस लिंक का स्वामित्व {date} को चेक किया गया था",
|
"account.link_verified_on": "इस लिंक का स्वामित्व {date} को चेक किया गया था",
|
||||||
|
@ -442,6 +443,8 @@
|
||||||
"notifications_permission_banner.enable": "Enable desktop notifications",
|
"notifications_permission_banner.enable": "Enable desktop notifications",
|
||||||
"notifications_permission_banner.how_to_control": "To receive notifications when Mastodon isn't open, enable desktop notifications. You can control precisely which types of interactions generate desktop notifications through the {icon} button above once they're enabled.",
|
"notifications_permission_banner.how_to_control": "To receive notifications when Mastodon isn't open, enable desktop notifications. You can control precisely which types of interactions generate desktop notifications through the {icon} button above once they're enabled.",
|
||||||
"notifications_permission_banner.title": "Never miss a thing",
|
"notifications_permission_banner.title": "Never miss a thing",
|
||||||
|
"password_confirmation.exceeds_maxlength": "Password confirmation exceeds the maximum password length",
|
||||||
|
"password_confirmation.mismatching": "Password confirmation does not match",
|
||||||
"picture_in_picture.restore": "Put it back",
|
"picture_in_picture.restore": "Put it back",
|
||||||
"poll.closed": "बंद कर दिया",
|
"poll.closed": "बंद कर दिया",
|
||||||
"poll.refresh": "रीफ्रेश करें",
|
"poll.refresh": "रीफ्रेश करें",
|
||||||
|
@ -597,6 +600,7 @@
|
||||||
"status.show_more": "और दिखाएँ",
|
"status.show_more": "और दिखाएँ",
|
||||||
"status.show_more_all": "Show more for all",
|
"status.show_more_all": "Show more for all",
|
||||||
"status.show_original": "Show original",
|
"status.show_original": "Show original",
|
||||||
|
"status.title.with_attachments": "{user} posted {attachmentCount, plural, one {an attachment} other {{attachmentCount} attachments}}",
|
||||||
"status.translate": "Translate",
|
"status.translate": "Translate",
|
||||||
"status.translated_from_with": "{provider} का उपयोग करते हुये {lang} से अनुवादित किया गया",
|
"status.translated_from_with": "{provider} का उपयोग करते हुये {lang} से अनुवादित किया गया",
|
||||||
"status.uncached_media_warning": "अनुपलब्ध",
|
"status.uncached_media_warning": "अनुपलब्ध",
|
||||||
|
@ -649,6 +653,7 @@
|
||||||
"upload_modal.preview_label": "Preview ({ratio})",
|
"upload_modal.preview_label": "Preview ({ratio})",
|
||||||
"upload_progress.label": "अपलोडिंग...",
|
"upload_progress.label": "अपलोडिंग...",
|
||||||
"upload_progress.processing": "Processing…",
|
"upload_progress.processing": "Processing…",
|
||||||
|
"username.taken": "That username is taken. Try another",
|
||||||
"video.close": "Close video",
|
"video.close": "Close video",
|
||||||
"video.download": "फाइल डाउनलोड करें",
|
"video.download": "फाइल डाउनलोड करें",
|
||||||
"video.exit_fullscreen": "Exit full screen",
|
"video.exit_fullscreen": "Exit full screen",
|
||||||
|
|
|
@ -39,6 +39,7 @@
|
||||||
"account.follows_you": "Prati te",
|
"account.follows_you": "Prati te",
|
||||||
"account.go_to_profile": "Go to profile",
|
"account.go_to_profile": "Go to profile",
|
||||||
"account.hide_reblogs": "Sakrij boostove od @{name}",
|
"account.hide_reblogs": "Sakrij boostove od @{name}",
|
||||||
|
"account.in_memoriam": "In Memoriam.",
|
||||||
"account.joined_short": "Joined",
|
"account.joined_short": "Joined",
|
||||||
"account.languages": "Change subscribed languages",
|
"account.languages": "Change subscribed languages",
|
||||||
"account.link_verified_on": "Vlasništvo ove poveznice provjereno je {date}",
|
"account.link_verified_on": "Vlasništvo ove poveznice provjereno je {date}",
|
||||||
|
@ -442,6 +443,8 @@
|
||||||
"notifications_permission_banner.enable": "Enable desktop notifications",
|
"notifications_permission_banner.enable": "Enable desktop notifications",
|
||||||
"notifications_permission_banner.how_to_control": "To receive notifications when Mastodon isn't open, enable desktop notifications. You can control precisely which types of interactions generate desktop notifications through the {icon} button above once they're enabled.",
|
"notifications_permission_banner.how_to_control": "To receive notifications when Mastodon isn't open, enable desktop notifications. You can control precisely which types of interactions generate desktop notifications through the {icon} button above once they're enabled.",
|
||||||
"notifications_permission_banner.title": "Never miss a thing",
|
"notifications_permission_banner.title": "Never miss a thing",
|
||||||
|
"password_confirmation.exceeds_maxlength": "Password confirmation exceeds the maximum password length",
|
||||||
|
"password_confirmation.mismatching": "Password confirmation does not match",
|
||||||
"picture_in_picture.restore": "Put it back",
|
"picture_in_picture.restore": "Put it back",
|
||||||
"poll.closed": "Završeno",
|
"poll.closed": "Završeno",
|
||||||
"poll.refresh": "Osvježi",
|
"poll.refresh": "Osvježi",
|
||||||
|
@ -597,6 +600,7 @@
|
||||||
"status.show_more": "Pokaži više",
|
"status.show_more": "Pokaži više",
|
||||||
"status.show_more_all": "Show more for all",
|
"status.show_more_all": "Show more for all",
|
||||||
"status.show_original": "Prikaži original",
|
"status.show_original": "Prikaži original",
|
||||||
|
"status.title.with_attachments": "{user} posted {attachmentCount, plural, one {an attachment} other {{attachmentCount} attachments}}",
|
||||||
"status.translate": "Prevedi",
|
"status.translate": "Prevedi",
|
||||||
"status.translated_from_with": "Prevedno s {lang} koristeći {provider}",
|
"status.translated_from_with": "Prevedno s {lang} koristeći {provider}",
|
||||||
"status.uncached_media_warning": "Nije dostupno",
|
"status.uncached_media_warning": "Nije dostupno",
|
||||||
|
@ -649,6 +653,7 @@
|
||||||
"upload_modal.preview_label": "Pretpregled ({ratio})",
|
"upload_modal.preview_label": "Pretpregled ({ratio})",
|
||||||
"upload_progress.label": "Prenošenje...",
|
"upload_progress.label": "Prenošenje...",
|
||||||
"upload_progress.processing": "Obrada…",
|
"upload_progress.processing": "Obrada…",
|
||||||
|
"username.taken": "That username is taken. Try another",
|
||||||
"video.close": "Zatvori video",
|
"video.close": "Zatvori video",
|
||||||
"video.download": "Preuzmi datoteku",
|
"video.download": "Preuzmi datoteku",
|
||||||
"video.exit_fullscreen": "Izađi iz cijelog zaslona",
|
"video.exit_fullscreen": "Izađi iz cijelog zaslona",
|
||||||
|
|
|
@ -39,6 +39,7 @@
|
||||||
"account.follows_you": "Követ téged",
|
"account.follows_you": "Követ téged",
|
||||||
"account.go_to_profile": "Ugrás a profilhoz",
|
"account.go_to_profile": "Ugrás a profilhoz",
|
||||||
"account.hide_reblogs": "@{name} megtolásainak elrejtése",
|
"account.hide_reblogs": "@{name} megtolásainak elrejtése",
|
||||||
|
"account.in_memoriam": "Emlékünkben.",
|
||||||
"account.joined_short": "Csatlakozott",
|
"account.joined_short": "Csatlakozott",
|
||||||
"account.languages": "Feliratkozott nyelvek módosítása",
|
"account.languages": "Feliratkozott nyelvek módosítása",
|
||||||
"account.link_verified_on": "A linket eredetiségét ebben az időpontban ellenőriztük: {date}",
|
"account.link_verified_on": "A linket eredetiségét ebben az időpontban ellenőriztük: {date}",
|
||||||
|
@ -442,6 +443,8 @@
|
||||||
"notifications_permission_banner.enable": "Asztali értesítések engedélyezése",
|
"notifications_permission_banner.enable": "Asztali értesítések engedélyezése",
|
||||||
"notifications_permission_banner.how_to_control": "Bezárt Mastononnál értesések fogadásához engedélyezni kell az asztali értesítéseket. Pontosan lehet vezérelni, hogy milyen interakciókról érkezzen értesítés fenti {icon} gombon keresztül, ha már lorábban megtörtént az engedélyezés.",
|
"notifications_permission_banner.how_to_control": "Bezárt Mastononnál értesések fogadásához engedélyezni kell az asztali értesítéseket. Pontosan lehet vezérelni, hogy milyen interakciókról érkezzen értesítés fenti {icon} gombon keresztül, ha már lorábban megtörtént az engedélyezés.",
|
||||||
"notifications_permission_banner.title": "Soha ne mulasszunk el semmit",
|
"notifications_permission_banner.title": "Soha ne mulasszunk el semmit",
|
||||||
|
"password_confirmation.exceeds_maxlength": "A jelszó megerősítése hosszabb a legnagyobb megengedett jelszóhossznál",
|
||||||
|
"password_confirmation.mismatching": "A jelszómegerősítés nem egyezik",
|
||||||
"picture_in_picture.restore": "Visszahelyezés",
|
"picture_in_picture.restore": "Visszahelyezés",
|
||||||
"poll.closed": "Lezárva",
|
"poll.closed": "Lezárva",
|
||||||
"poll.refresh": "Frissítés",
|
"poll.refresh": "Frissítés",
|
||||||
|
@ -597,6 +600,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_original": "Eredeti megjelenítése",
|
"status.show_original": "Eredeti megjelenítése",
|
||||||
|
"status.title.with_attachments": "{user} {attachmentCount, plural, one {mellékletet} other {{attachmentCount} mellékletet}} küldött be.",
|
||||||
"status.translate": "Fordítás",
|
"status.translate": "Fordítás",
|
||||||
"status.translated_from_with": "{lang} nyelvről fordítva {provider} szolgáltatással",
|
"status.translated_from_with": "{lang} nyelvről fordítva {provider} szolgáltatással",
|
||||||
"status.uncached_media_warning": "Nem érhető el",
|
"status.uncached_media_warning": "Nem érhető el",
|
||||||
|
@ -649,6 +653,7 @@
|
||||||
"upload_modal.preview_label": "Előnézet ({ratio})",
|
"upload_modal.preview_label": "Előnézet ({ratio})",
|
||||||
"upload_progress.label": "Feltöltés...",
|
"upload_progress.label": "Feltöltés...",
|
||||||
"upload_progress.processing": "Feldolgozás…",
|
"upload_progress.processing": "Feldolgozás…",
|
||||||
|
"username.taken": "Ez a felhasználónév foglalt. Válassz másikat",
|
||||||
"video.close": "Videó bezárása",
|
"video.close": "Videó bezárása",
|
||||||
"video.download": "Fájl letöltése",
|
"video.download": "Fájl letöltése",
|
||||||
"video.exit_fullscreen": "Kilépés teljes képernyőből",
|
"video.exit_fullscreen": "Kilépés teljes képernyőből",
|
||||||
|
|
|
@ -39,6 +39,7 @@
|
||||||
"account.follows_you": "Հետեւում է քեզ",
|
"account.follows_you": "Հետեւում է քեզ",
|
||||||
"account.go_to_profile": "Գնալ անձնական հաշիւ",
|
"account.go_to_profile": "Գնալ անձնական հաշիւ",
|
||||||
"account.hide_reblogs": "Թաքցնել @{name}֊ի տարածածները",
|
"account.hide_reblogs": "Թաքցնել @{name}֊ի տարածածները",
|
||||||
|
"account.in_memoriam": "In Memoriam.",
|
||||||
"account.joined_short": "Միացել է",
|
"account.joined_short": "Միացել է",
|
||||||
"account.languages": "Change subscribed languages",
|
"account.languages": "Change subscribed languages",
|
||||||
"account.link_verified_on": "Սոյն յղման տիրապետումը ստուգուած է՝ {date}֊ին",
|
"account.link_verified_on": "Սոյն յղման տիրապետումը ստուգուած է՝ {date}֊ին",
|
||||||
|
@ -442,6 +443,8 @@
|
||||||
"notifications_permission_banner.enable": "Միացնել դիտարկչից ծանուցումները",
|
"notifications_permission_banner.enable": "Միացնել դիտարկչից ծանուցումները",
|
||||||
"notifications_permission_banner.how_to_control": "Ծանուցումներ ստանալու համար, երբ Մաստոդոնը բաց չէ՝ ակտիւացրու աշխատատիրոյթի ծանուցումները։ Դու կարող ես ճշգրտօրէն վերահսկել թէ ինչպիսի փոխգործակցութիւններ առաջանան աշխատատիրոյթի ծանուցումներից՝ {icon}ի կոճակով՝ այն ակտիւացնելուց յետոյ։",
|
"notifications_permission_banner.how_to_control": "Ծանուցումներ ստանալու համար, երբ Մաստոդոնը բաց չէ՝ ակտիւացրու աշխատատիրոյթի ծանուցումները։ Դու կարող ես ճշգրտօրէն վերահսկել թէ ինչպիսի փոխգործակցութիւններ առաջանան աշխատատիրոյթի ծանուցումներից՝ {icon}ի կոճակով՝ այն ակտիւացնելուց յետոյ։",
|
||||||
"notifications_permission_banner.title": "Ոչինչ բաց մի թող",
|
"notifications_permission_banner.title": "Ոչինչ բաց մի թող",
|
||||||
|
"password_confirmation.exceeds_maxlength": "Password confirmation exceeds the maximum password length",
|
||||||
|
"password_confirmation.mismatching": "Password confirmation does not match",
|
||||||
"picture_in_picture.restore": "Յետ բերել",
|
"picture_in_picture.restore": "Յետ բերել",
|
||||||
"poll.closed": "Փակ",
|
"poll.closed": "Փակ",
|
||||||
"poll.refresh": "Թարմացնել",
|
"poll.refresh": "Թարմացնել",
|
||||||
|
@ -597,6 +600,7 @@
|
||||||
"status.show_more": "Աւելին",
|
"status.show_more": "Աւելին",
|
||||||
"status.show_more_all": "Ցուցադրել բոլոր նախազգուշացնումները",
|
"status.show_more_all": "Ցուցադրել բոլոր նախազգուշացնումները",
|
||||||
"status.show_original": "Ցոյց տալ բնօրինակը",
|
"status.show_original": "Ցոյց տալ բնօրինակը",
|
||||||
|
"status.title.with_attachments": "{user} posted {attachmentCount, plural, one {an attachment} other {{attachmentCount} attachments}}",
|
||||||
"status.translate": "Թարգմանել",
|
"status.translate": "Թարգմանել",
|
||||||
"status.translated_from_with": "Translated from {lang} using {provider}",
|
"status.translated_from_with": "Translated from {lang} using {provider}",
|
||||||
"status.uncached_media_warning": "Անհասանելի",
|
"status.uncached_media_warning": "Անհասանելի",
|
||||||
|
@ -649,6 +653,7 @@
|
||||||
"upload_modal.preview_label": "Նախադիտում ({ratio})",
|
"upload_modal.preview_label": "Նախադիտում ({ratio})",
|
||||||
"upload_progress.label": "Վերբեռնվում է…",
|
"upload_progress.label": "Վերբեռնվում է…",
|
||||||
"upload_progress.processing": "Մշակուում է...",
|
"upload_progress.processing": "Մշակուում է...",
|
||||||
|
"username.taken": "That username is taken. Try another",
|
||||||
"video.close": "Փակել տեսագրութիւնը",
|
"video.close": "Փակել տեսագրութիւնը",
|
||||||
"video.download": "Ներբեռնել նիշքը",
|
"video.download": "Ներբեռնել նիշքը",
|
||||||
"video.exit_fullscreen": "Անջատել լիաէկրան դիտումը",
|
"video.exit_fullscreen": "Անջատել լիաէկրան դիտումը",
|
||||||
|
|
|
@ -39,6 +39,7 @@
|
||||||
"account.follows_you": "Mengikuti Anda",
|
"account.follows_you": "Mengikuti Anda",
|
||||||
"account.go_to_profile": "Buka profil",
|
"account.go_to_profile": "Buka profil",
|
||||||
"account.hide_reblogs": "Sembunyikan boosts dari @{name}",
|
"account.hide_reblogs": "Sembunyikan boosts dari @{name}",
|
||||||
|
"account.in_memoriam": "In Memoriam.",
|
||||||
"account.joined_short": "Bergabung",
|
"account.joined_short": "Bergabung",
|
||||||
"account.languages": "Ubah langganan bahasa",
|
"account.languages": "Ubah langganan bahasa",
|
||||||
"account.link_verified_on": "Kepemilikan tautan ini telah dicek pada {date}",
|
"account.link_verified_on": "Kepemilikan tautan ini telah dicek pada {date}",
|
||||||
|
@ -442,6 +443,8 @@
|
||||||
"notifications_permission_banner.enable": "Aktifkan notifikasi desktop",
|
"notifications_permission_banner.enable": "Aktifkan notifikasi desktop",
|
||||||
"notifications_permission_banner.how_to_control": "Untuk menerima notifikasi saat Mastodon terbuka, aktifkan notifikasi desktop. Anda dapat mengendalikan tipe interaksi mana yang ditampilkan notifikasi desktop melalui tombol {icon} di atas saat sudah aktif.",
|
"notifications_permission_banner.how_to_control": "Untuk menerima notifikasi saat Mastodon terbuka, aktifkan notifikasi desktop. Anda dapat mengendalikan tipe interaksi mana yang ditampilkan notifikasi desktop melalui tombol {icon} di atas saat sudah aktif.",
|
||||||
"notifications_permission_banner.title": "Jangan lewatkan apa pun",
|
"notifications_permission_banner.title": "Jangan lewatkan apa pun",
|
||||||
|
"password_confirmation.exceeds_maxlength": "Password confirmation exceeds the maximum password length",
|
||||||
|
"password_confirmation.mismatching": "Password confirmation does not match",
|
||||||
"picture_in_picture.restore": "Taruh kembali",
|
"picture_in_picture.restore": "Taruh kembali",
|
||||||
"poll.closed": "Ditutup",
|
"poll.closed": "Ditutup",
|
||||||
"poll.refresh": "Segarkan",
|
"poll.refresh": "Segarkan",
|
||||||
|
@ -597,6 +600,7 @@
|
||||||
"status.show_more": "Tampilkan semua",
|
"status.show_more": "Tampilkan semua",
|
||||||
"status.show_more_all": "Tampilkan lebih banyak untuk semua",
|
"status.show_more_all": "Tampilkan lebih banyak untuk semua",
|
||||||
"status.show_original": "Tampilkan yang asli",
|
"status.show_original": "Tampilkan yang asli",
|
||||||
|
"status.title.with_attachments": "{user} posted {attachmentCount, plural, one {an attachment} other {{attachmentCount} attachments}}",
|
||||||
"status.translate": "Terjemahkan",
|
"status.translate": "Terjemahkan",
|
||||||
"status.translated_from_with": "Diterjemahkan dari {lang} menggunakan {provider}",
|
"status.translated_from_with": "Diterjemahkan dari {lang} menggunakan {provider}",
|
||||||
"status.uncached_media_warning": "Tidak tersedia",
|
"status.uncached_media_warning": "Tidak tersedia",
|
||||||
|
@ -649,6 +653,7 @@
|
||||||
"upload_modal.preview_label": "Pratinjau ({ratio})",
|
"upload_modal.preview_label": "Pratinjau ({ratio})",
|
||||||
"upload_progress.label": "Mengunggah...",
|
"upload_progress.label": "Mengunggah...",
|
||||||
"upload_progress.processing": "Memproses…",
|
"upload_progress.processing": "Memproses…",
|
||||||
|
"username.taken": "That username is taken. Try another",
|
||||||
"video.close": "Tutup video",
|
"video.close": "Tutup video",
|
||||||
"video.download": "Unduh berkas",
|
"video.download": "Unduh berkas",
|
||||||
"video.exit_fullscreen": "Keluar dari layar penuh",
|
"video.exit_fullscreen": "Keluar dari layar penuh",
|
||||||
|
|
|
@ -39,6 +39,7 @@
|
||||||
"account.follows_you": "Na-eso gị",
|
"account.follows_you": "Na-eso gị",
|
||||||
"account.go_to_profile": "Go to profile",
|
"account.go_to_profile": "Go to profile",
|
||||||
"account.hide_reblogs": "Hide boosts from @{name}",
|
"account.hide_reblogs": "Hide boosts from @{name}",
|
||||||
|
"account.in_memoriam": "In Memoriam.",
|
||||||
"account.joined_short": "Joined",
|
"account.joined_short": "Joined",
|
||||||
"account.languages": "Change subscribed languages",
|
"account.languages": "Change subscribed languages",
|
||||||
"account.link_verified_on": "Ownership of this link was checked on {date}",
|
"account.link_verified_on": "Ownership of this link was checked on {date}",
|
||||||
|
@ -442,6 +443,8 @@
|
||||||
"notifications_permission_banner.enable": "Enable desktop notifications",
|
"notifications_permission_banner.enable": "Enable desktop notifications",
|
||||||
"notifications_permission_banner.how_to_control": "To receive notifications when Mastodon isn't open, enable desktop notifications. You can control precisely which types of interactions generate desktop notifications through the {icon} button above once they're enabled.",
|
"notifications_permission_banner.how_to_control": "To receive notifications when Mastodon isn't open, enable desktop notifications. You can control precisely which types of interactions generate desktop notifications through the {icon} button above once they're enabled.",
|
||||||
"notifications_permission_banner.title": "Never miss a thing",
|
"notifications_permission_banner.title": "Never miss a thing",
|
||||||
|
"password_confirmation.exceeds_maxlength": "Password confirmation exceeds the maximum password length",
|
||||||
|
"password_confirmation.mismatching": "Password confirmation does not match",
|
||||||
"picture_in_picture.restore": "Put it back",
|
"picture_in_picture.restore": "Put it back",
|
||||||
"poll.closed": "Closed",
|
"poll.closed": "Closed",
|
||||||
"poll.refresh": "Refresh",
|
"poll.refresh": "Refresh",
|
||||||
|
@ -597,6 +600,7 @@
|
||||||
"status.show_more": "Show more",
|
"status.show_more": "Show more",
|
||||||
"status.show_more_all": "Show more for all",
|
"status.show_more_all": "Show more for all",
|
||||||
"status.show_original": "Show original",
|
"status.show_original": "Show original",
|
||||||
|
"status.title.with_attachments": "{user} posted {attachmentCount, plural, one {an attachment} other {{attachmentCount} attachments}}",
|
||||||
"status.translate": "Tụgharịa",
|
"status.translate": "Tụgharịa",
|
||||||
"status.translated_from_with": "Translated from {lang} using {provider}",
|
"status.translated_from_with": "Translated from {lang} using {provider}",
|
||||||
"status.uncached_media_warning": "Not available",
|
"status.uncached_media_warning": "Not available",
|
||||||
|
@ -649,6 +653,7 @@
|
||||||
"upload_modal.preview_label": "Preview ({ratio})",
|
"upload_modal.preview_label": "Preview ({ratio})",
|
||||||
"upload_progress.label": "Uploading…",
|
"upload_progress.label": "Uploading…",
|
||||||
"upload_progress.processing": "Processing…",
|
"upload_progress.processing": "Processing…",
|
||||||
|
"username.taken": "That username is taken. Try another",
|
||||||
"video.close": "Close video",
|
"video.close": "Close video",
|
||||||
"video.download": "Download file",
|
"video.download": "Download file",
|
||||||
"video.exit_fullscreen": "Exit full screen",
|
"video.exit_fullscreen": "Exit full screen",
|
||||||
|
|
|
@ -39,6 +39,7 @@
|
||||||
"account.follows_you": "Sequas tu",
|
"account.follows_you": "Sequas tu",
|
||||||
"account.go_to_profile": "Go to profile",
|
"account.go_to_profile": "Go to profile",
|
||||||
"account.hide_reblogs": "Celez busti de @{name}",
|
"account.hide_reblogs": "Celez busti de @{name}",
|
||||||
|
"account.in_memoriam": "In Memoriam.",
|
||||||
"account.joined_short": "Joined",
|
"account.joined_short": "Joined",
|
||||||
"account.languages": "Chanjez abonita lingui",
|
"account.languages": "Chanjez abonita lingui",
|
||||||
"account.link_verified_on": "Proprieteso di ca ligilo kontrolesis ye {date}",
|
"account.link_verified_on": "Proprieteso di ca ligilo kontrolesis ye {date}",
|
||||||
|
@ -442,6 +443,8 @@
|
||||||
"notifications_permission_banner.enable": "Aktivigez desktopavizi",
|
"notifications_permission_banner.enable": "Aktivigez desktopavizi",
|
||||||
"notifications_permission_banner.how_to_control": "Por ganar avizi kande Mastodon ne esas apertita, aktivigez dekstopavizi. Vu povas precize regularar quale interakti facas deskstopavizi tra la supera {icon} butono pos oli aktivigesis.",
|
"notifications_permission_banner.how_to_control": "Por ganar avizi kande Mastodon ne esas apertita, aktivigez dekstopavizi. Vu povas precize regularar quale interakti facas deskstopavizi tra la supera {icon} butono pos oli aktivigesis.",
|
||||||
"notifications_permission_banner.title": "Irga kozo ne pasas vu",
|
"notifications_permission_banner.title": "Irga kozo ne pasas vu",
|
||||||
|
"password_confirmation.exceeds_maxlength": "Password confirmation exceeds the maximum password length",
|
||||||
|
"password_confirmation.mismatching": "Password confirmation does not match",
|
||||||
"picture_in_picture.restore": "Retropozez",
|
"picture_in_picture.restore": "Retropozez",
|
||||||
"poll.closed": "Klozita",
|
"poll.closed": "Klozita",
|
||||||
"poll.refresh": "Rifreshez",
|
"poll.refresh": "Rifreshez",
|
||||||
|
@ -597,6 +600,7 @@
|
||||||
"status.show_more": "Montrar plue",
|
"status.show_more": "Montrar plue",
|
||||||
"status.show_more_all": "Montrez pluse por omno",
|
"status.show_more_all": "Montrez pluse por omno",
|
||||||
"status.show_original": "Montrez originalo",
|
"status.show_original": "Montrez originalo",
|
||||||
|
"status.title.with_attachments": "{user} posted {attachmentCount, plural, one {an attachment} other {{attachmentCount} attachments}}",
|
||||||
"status.translate": "Tradukez",
|
"status.translate": "Tradukez",
|
||||||
"status.translated_from_with": "Translated from {lang} using {provider}",
|
"status.translated_from_with": "Translated from {lang} using {provider}",
|
||||||
"status.uncached_media_warning": "Nedisplonebla",
|
"status.uncached_media_warning": "Nedisplonebla",
|
||||||
|
@ -649,6 +653,7 @@
|
||||||
"upload_modal.preview_label": "Previdez ({ratio})",
|
"upload_modal.preview_label": "Previdez ({ratio})",
|
||||||
"upload_progress.label": "Kargante...",
|
"upload_progress.label": "Kargante...",
|
||||||
"upload_progress.processing": "Processing…",
|
"upload_progress.processing": "Processing…",
|
||||||
|
"username.taken": "That username is taken. Try another",
|
||||||
"video.close": "Klozez video",
|
"video.close": "Klozez video",
|
||||||
"video.download": "Deschargez failo",
|
"video.download": "Deschargez failo",
|
||||||
"video.exit_fullscreen": "Ekirez plena skreno",
|
"video.exit_fullscreen": "Ekirez plena skreno",
|
||||||
|
|
|
@ -39,6 +39,7 @@
|
||||||
"account.follows_you": "Fylgir þér",
|
"account.follows_you": "Fylgir þér",
|
||||||
"account.go_to_profile": "Fara í notandasnið",
|
"account.go_to_profile": "Fara í notandasnið",
|
||||||
"account.hide_reblogs": "Fela endurbirtingar fyrir @{name}",
|
"account.hide_reblogs": "Fela endurbirtingar fyrir @{name}",
|
||||||
|
"account.in_memoriam": "Minning.",
|
||||||
"account.joined_short": "Gerðist þátttakandi",
|
"account.joined_short": "Gerðist þátttakandi",
|
||||||
"account.languages": "Breyta tungumálum í áskrift",
|
"account.languages": "Breyta tungumálum í áskrift",
|
||||||
"account.link_verified_on": "Eignarhald á þessum tengli var athugað þann {date}",
|
"account.link_verified_on": "Eignarhald á þessum tengli var athugað þann {date}",
|
||||||
|
@ -442,6 +443,8 @@
|
||||||
"notifications_permission_banner.enable": "Virkja tilkynningar á skjáborði",
|
"notifications_permission_banner.enable": "Virkja tilkynningar á skjáborði",
|
||||||
"notifications_permission_banner.how_to_control": "Til að taka á móti tilkynningum þegar Mastodon er ekki opið, skaltu virkja tilkynningar á skjáborði. Þegar þær eru orðnar virkar geturðu stýrt nákvæmlega hverskonar atvik framleiða tilkynningar með því að nota {icon}-hnappinn hér fyrir ofan.",
|
"notifications_permission_banner.how_to_control": "Til að taka á móti tilkynningum þegar Mastodon er ekki opið, skaltu virkja tilkynningar á skjáborði. Þegar þær eru orðnar virkar geturðu stýrt nákvæmlega hverskonar atvik framleiða tilkynningar með því að nota {icon}-hnappinn hér fyrir ofan.",
|
||||||
"notifications_permission_banner.title": "Aldrei missa af neinu",
|
"notifications_permission_banner.title": "Aldrei missa af neinu",
|
||||||
|
"password_confirmation.exceeds_maxlength": "Password confirmation exceeds the maximum password length",
|
||||||
|
"password_confirmation.mismatching": "Password confirmation does not match",
|
||||||
"picture_in_picture.restore": "Setja til baka",
|
"picture_in_picture.restore": "Setja til baka",
|
||||||
"poll.closed": "Lokuð",
|
"poll.closed": "Lokuð",
|
||||||
"poll.refresh": "Endurlesa",
|
"poll.refresh": "Endurlesa",
|
||||||
|
@ -597,6 +600,7 @@
|
||||||
"status.show_more": "Sýna meira",
|
"status.show_more": "Sýna meira",
|
||||||
"status.show_more_all": "Sýna meira fyrir allt",
|
"status.show_more_all": "Sýna meira fyrir allt",
|
||||||
"status.show_original": "Sýna upprunalega",
|
"status.show_original": "Sýna upprunalega",
|
||||||
|
"status.title.with_attachments": "{user} birti {attachmentCount, plural, one {viðhengi} other {{attachmentCount} viðhengi}}",
|
||||||
"status.translate": "Þýða",
|
"status.translate": "Þýða",
|
||||||
"status.translated_from_with": "Þýtt úr {lang} með {provider}",
|
"status.translated_from_with": "Þýtt úr {lang} með {provider}",
|
||||||
"status.uncached_media_warning": "Ekki tiltækt",
|
"status.uncached_media_warning": "Ekki tiltækt",
|
||||||
|
@ -649,6 +653,7 @@
|
||||||
"upload_modal.preview_label": "Forskoðun ({ratio})",
|
"upload_modal.preview_label": "Forskoðun ({ratio})",
|
||||||
"upload_progress.label": "Er að senda inn...",
|
"upload_progress.label": "Er að senda inn...",
|
||||||
"upload_progress.processing": "Meðhöndla…",
|
"upload_progress.processing": "Meðhöndla…",
|
||||||
|
"username.taken": "Þetta notandanafn er frátekið. Prófaðu eitthvað annað",
|
||||||
"video.close": "Loka myndskeiði",
|
"video.close": "Loka myndskeiði",
|
||||||
"video.download": "Sækja skrá",
|
"video.download": "Sækja skrá",
|
||||||
"video.exit_fullscreen": "Hætta í skjáfylli",
|
"video.exit_fullscreen": "Hætta í skjáfylli",
|
||||||
|
|
|
@ -39,6 +39,7 @@
|
||||||
"account.follows_you": "Ti segue",
|
"account.follows_you": "Ti segue",
|
||||||
"account.go_to_profile": "Vai al profilo",
|
"account.go_to_profile": "Vai al profilo",
|
||||||
"account.hide_reblogs": "Nascondi potenziamenti da @{name}",
|
"account.hide_reblogs": "Nascondi potenziamenti da @{name}",
|
||||||
|
"account.in_memoriam": "In memoria.",
|
||||||
"account.joined_short": "Iscritto",
|
"account.joined_short": "Iscritto",
|
||||||
"account.languages": "Modifica le lingue d'iscrizione",
|
"account.languages": "Modifica le lingue d'iscrizione",
|
||||||
"account.link_verified_on": "La proprietà di questo link è stata controllata il {date}",
|
"account.link_verified_on": "La proprietà di questo link è stata controllata il {date}",
|
||||||
|
@ -442,6 +443,8 @@
|
||||||
"notifications_permission_banner.enable": "Abilita le notifiche desktop",
|
"notifications_permission_banner.enable": "Abilita le notifiche desktop",
|
||||||
"notifications_permission_banner.how_to_control": "Per ricevere le notifiche quando Mastodon non è aperto, abilita le notifiche desktop. Puoi controllare precisamente quali tipi di interazioni generano le notifiche destkop, tramite il pulsante {icon} sopra, una volta abilitate.",
|
"notifications_permission_banner.how_to_control": "Per ricevere le notifiche quando Mastodon non è aperto, abilita le notifiche desktop. Puoi controllare precisamente quali tipi di interazioni generano le notifiche destkop, tramite il pulsante {icon} sopra, una volta abilitate.",
|
||||||
"notifications_permission_banner.title": "Non perderti mai nulla",
|
"notifications_permission_banner.title": "Non perderti mai nulla",
|
||||||
|
"password_confirmation.exceeds_maxlength": "La conferma della password supera la lunghezza massima della password",
|
||||||
|
"password_confirmation.mismatching": "Le password non corrispondono",
|
||||||
"picture_in_picture.restore": "Ripristinala",
|
"picture_in_picture.restore": "Ripristinala",
|
||||||
"poll.closed": "Chiuso",
|
"poll.closed": "Chiuso",
|
||||||
"poll.refresh": "Aggiorna",
|
"poll.refresh": "Aggiorna",
|
||||||
|
@ -597,6 +600,7 @@
|
||||||
"status.show_more": "Mostra di più",
|
"status.show_more": "Mostra di più",
|
||||||
"status.show_more_all": "Mostra di più per tutti",
|
"status.show_more_all": "Mostra di più per tutti",
|
||||||
"status.show_original": "Mostra originale",
|
"status.show_original": "Mostra originale",
|
||||||
|
"status.title.with_attachments": "{user} ha pubblicato {attachmentCount, plural, one {un allegato} other {{attachmentCount} allegati}}",
|
||||||
"status.translate": "Traduci",
|
"status.translate": "Traduci",
|
||||||
"status.translated_from_with": "Tradotto da {lang} utilizzando {provider}",
|
"status.translated_from_with": "Tradotto da {lang} utilizzando {provider}",
|
||||||
"status.uncached_media_warning": "Non disponibile",
|
"status.uncached_media_warning": "Non disponibile",
|
||||||
|
@ -649,6 +653,7 @@
|
||||||
"upload_modal.preview_label": "Anteprima ({ratio})",
|
"upload_modal.preview_label": "Anteprima ({ratio})",
|
||||||
"upload_progress.label": "Caricamento...",
|
"upload_progress.label": "Caricamento...",
|
||||||
"upload_progress.processing": "Elaborazione…",
|
"upload_progress.processing": "Elaborazione…",
|
||||||
|
"username.taken": "Quel nome utente è già in uso. Prova con un altro",
|
||||||
"video.close": "Chiudi il video",
|
"video.close": "Chiudi il video",
|
||||||
"video.download": "Scarica file",
|
"video.download": "Scarica file",
|
||||||
"video.exit_fullscreen": "Esci dallo schermo intero",
|
"video.exit_fullscreen": "Esci dallo schermo intero",
|
||||||
|
|
|
@ -39,6 +39,7 @@
|
||||||
"account.follows_you": "フォローされています",
|
"account.follows_you": "フォローされています",
|
||||||
"account.go_to_profile": "プロフィールページへ",
|
"account.go_to_profile": "プロフィールページへ",
|
||||||
"account.hide_reblogs": "@{name}さんからのブーストを非表示",
|
"account.hide_reblogs": "@{name}さんからのブーストを非表示",
|
||||||
|
"account.in_memoriam": "追悼アカウントです",
|
||||||
"account.joined_short": "登録日",
|
"account.joined_short": "登録日",
|
||||||
"account.languages": "購読言語の変更",
|
"account.languages": "購読言語の変更",
|
||||||
"account.link_verified_on": "このリンクの所有権は{date}に確認されました",
|
"account.link_verified_on": "このリンクの所有権は{date}に確認されました",
|
||||||
|
@ -444,6 +445,8 @@
|
||||||
"notifications_permission_banner.enable": "デスクトップ通知を有効にする",
|
"notifications_permission_banner.enable": "デスクトップ通知を有効にする",
|
||||||
"notifications_permission_banner.how_to_control": "Mastodonを閉じている間でも通知を受信するにはデスクトップ通知を有効にしてください。有効にすると上の {icon} ボタンから通知の内容を細かくカスタマイズできます。",
|
"notifications_permission_banner.how_to_control": "Mastodonを閉じている間でも通知を受信するにはデスクトップ通知を有効にしてください。有効にすると上の {icon} ボタンから通知の内容を細かくカスタマイズできます。",
|
||||||
"notifications_permission_banner.title": "お見逃しなく",
|
"notifications_permission_banner.title": "お見逃しなく",
|
||||||
|
"password_confirmation.exceeds_maxlength": "パスワードの最大文字数を超えています",
|
||||||
|
"password_confirmation.mismatching": "入力済みのパスワードと一致しません",
|
||||||
"picture_in_picture.restore": "元に戻す",
|
"picture_in_picture.restore": "元に戻す",
|
||||||
"poll.closed": "終了",
|
"poll.closed": "終了",
|
||||||
"poll.refresh": "更新",
|
"poll.refresh": "更新",
|
||||||
|
@ -610,6 +613,7 @@
|
||||||
"status.show_more": "もっと見る",
|
"status.show_more": "もっと見る",
|
||||||
"status.show_more_all": "全て見る",
|
"status.show_more_all": "全て見る",
|
||||||
"status.show_original": "原文を表示",
|
"status.show_original": "原文を表示",
|
||||||
|
"status.title.with_attachments": "{user} の投稿 {attachmentCount, plural, other {({attachmentCount}件のメディア)}}",
|
||||||
"status.translate": "翻訳",
|
"status.translate": "翻訳",
|
||||||
"status.translated_from_with": "{provider}を使って{lang}から翻訳",
|
"status.translated_from_with": "{provider}を使って{lang}から翻訳",
|
||||||
"status.uncached_media_warning": "利用できません",
|
"status.uncached_media_warning": "利用できません",
|
||||||
|
@ -662,6 +666,7 @@
|
||||||
"upload_modal.preview_label": "プレビュー ({ratio})",
|
"upload_modal.preview_label": "プレビュー ({ratio})",
|
||||||
"upload_progress.label": "アップロード中...",
|
"upload_progress.label": "アップロード中...",
|
||||||
"upload_progress.processing": "処理中…",
|
"upload_progress.processing": "処理中…",
|
||||||
|
"username.taken": "このユーザー名はすでに使用されています。ほかのユーザー名を入力してください",
|
||||||
"video.close": "動画を閉じる",
|
"video.close": "動画を閉じる",
|
||||||
"video.download": "ダウンロード",
|
"video.download": "ダウンロード",
|
||||||
"video.exit_fullscreen": "全画面を終了する",
|
"video.exit_fullscreen": "全画面を終了する",
|
||||||
|
|
|
@ -39,6 +39,7 @@
|
||||||
"account.follows_you": "მოგყვებათ",
|
"account.follows_you": "მოგყვებათ",
|
||||||
"account.go_to_profile": "Go to profile",
|
"account.go_to_profile": "Go to profile",
|
||||||
"account.hide_reblogs": "დაიმალოს ბუსტები @{name}-სგან",
|
"account.hide_reblogs": "დაიმალოს ბუსტები @{name}-სგან",
|
||||||
|
"account.in_memoriam": "In Memoriam.",
|
||||||
"account.joined_short": "Joined",
|
"account.joined_short": "Joined",
|
||||||
"account.languages": "Change subscribed languages",
|
"account.languages": "Change subscribed languages",
|
||||||
"account.link_verified_on": "Ownership of this link was checked on {date}",
|
"account.link_verified_on": "Ownership of this link was checked on {date}",
|
||||||
|
@ -442,6 +443,8 @@
|
||||||
"notifications_permission_banner.enable": "Enable desktop notifications",
|
"notifications_permission_banner.enable": "Enable desktop notifications",
|
||||||
"notifications_permission_banner.how_to_control": "To receive notifications when Mastodon isn't open, enable desktop notifications. You can control precisely which types of interactions generate desktop notifications through the {icon} button above once they're enabled.",
|
"notifications_permission_banner.how_to_control": "To receive notifications when Mastodon isn't open, enable desktop notifications. You can control precisely which types of interactions generate desktop notifications through the {icon} button above once they're enabled.",
|
||||||
"notifications_permission_banner.title": "Never miss a thing",
|
"notifications_permission_banner.title": "Never miss a thing",
|
||||||
|
"password_confirmation.exceeds_maxlength": "Password confirmation exceeds the maximum password length",
|
||||||
|
"password_confirmation.mismatching": "Password confirmation does not match",
|
||||||
"picture_in_picture.restore": "Put it back",
|
"picture_in_picture.restore": "Put it back",
|
||||||
"poll.closed": "Closed",
|
"poll.closed": "Closed",
|
||||||
"poll.refresh": "Refresh",
|
"poll.refresh": "Refresh",
|
||||||
|
@ -597,6 +600,7 @@
|
||||||
"status.show_more": "აჩვენე მეტი",
|
"status.show_more": "აჩვენე მეტი",
|
||||||
"status.show_more_all": "აჩვენე მეტი ყველაზე",
|
"status.show_more_all": "აჩვენე მეტი ყველაზე",
|
||||||
"status.show_original": "Show original",
|
"status.show_original": "Show original",
|
||||||
|
"status.title.with_attachments": "{user} posted {attachmentCount, plural, one {an attachment} other {{attachmentCount} attachments}}",
|
||||||
"status.translate": "Translate",
|
"status.translate": "Translate",
|
||||||
"status.translated_from_with": "Translated from {lang} using {provider}",
|
"status.translated_from_with": "Translated from {lang} using {provider}",
|
||||||
"status.uncached_media_warning": "Not available",
|
"status.uncached_media_warning": "Not available",
|
||||||
|
@ -649,6 +653,7 @@
|
||||||
"upload_modal.preview_label": "Preview ({ratio})",
|
"upload_modal.preview_label": "Preview ({ratio})",
|
||||||
"upload_progress.label": "იტვირთება...",
|
"upload_progress.label": "იტვირთება...",
|
||||||
"upload_progress.processing": "Processing…",
|
"upload_progress.processing": "Processing…",
|
||||||
|
"username.taken": "That username is taken. Try another",
|
||||||
"video.close": "ვიდეოს დახურვა",
|
"video.close": "ვიდეოს დახურვა",
|
||||||
"video.download": "Download file",
|
"video.download": "Download file",
|
||||||
"video.exit_fullscreen": "სრულ ეკრანზე ჩვენების გათიშვა",
|
"video.exit_fullscreen": "სრულ ეკრანზე ჩვენების გათიშვა",
|
||||||
|
|
|
@ -39,6 +39,7 @@
|
||||||
"account.follows_you": "Yeṭṭafaṛ-ik",
|
"account.follows_you": "Yeṭṭafaṛ-ik",
|
||||||
"account.go_to_profile": "Go to profile",
|
"account.go_to_profile": "Go to profile",
|
||||||
"account.hide_reblogs": "Ffer ayen i ibeṭṭu @{name}",
|
"account.hide_reblogs": "Ffer ayen i ibeṭṭu @{name}",
|
||||||
|
"account.in_memoriam": "In Memoriam.",
|
||||||
"account.joined_short": "Joined",
|
"account.joined_short": "Joined",
|
||||||
"account.languages": "Change subscribed languages",
|
"account.languages": "Change subscribed languages",
|
||||||
"account.link_verified_on": "Taɣara n useɣwen-a tettwasenqed ass n {date}",
|
"account.link_verified_on": "Taɣara n useɣwen-a tettwasenqed ass n {date}",
|
||||||
|
@ -442,6 +443,8 @@
|
||||||
"notifications_permission_banner.enable": "Rmed talɣutin n tnarit",
|
"notifications_permission_banner.enable": "Rmed talɣutin n tnarit",
|
||||||
"notifications_permission_banner.how_to_control": "To receive notifications when Mastodon isn't open, enable desktop notifications. You can control precisely which types of interactions generate desktop notifications through the {icon} button above once they're enabled.",
|
"notifications_permission_banner.how_to_control": "To receive notifications when Mastodon isn't open, enable desktop notifications. You can control precisely which types of interactions generate desktop notifications through the {icon} button above once they're enabled.",
|
||||||
"notifications_permission_banner.title": "Ur zeggel acemma",
|
"notifications_permission_banner.title": "Ur zeggel acemma",
|
||||||
|
"password_confirmation.exceeds_maxlength": "Password confirmation exceeds the maximum password length",
|
||||||
|
"password_confirmation.mismatching": "Password confirmation does not match",
|
||||||
"picture_in_picture.restore": "Err-it amkan-is",
|
"picture_in_picture.restore": "Err-it amkan-is",
|
||||||
"poll.closed": "Ifukk",
|
"poll.closed": "Ifukk",
|
||||||
"poll.refresh": "Smiren",
|
"poll.refresh": "Smiren",
|
||||||
|
@ -597,6 +600,7 @@
|
||||||
"status.show_more": "Ssken-d ugar",
|
"status.show_more": "Ssken-d ugar",
|
||||||
"status.show_more_all": "Ẓerr ugar lebda",
|
"status.show_more_all": "Ẓerr ugar lebda",
|
||||||
"status.show_original": "Show original",
|
"status.show_original": "Show original",
|
||||||
|
"status.title.with_attachments": "{user} posted {attachmentCount, plural, one {an attachment} other {{attachmentCount} attachments}}",
|
||||||
"status.translate": "Suqel",
|
"status.translate": "Suqel",
|
||||||
"status.translated_from_with": "Yettwasuqel seg {lang} s {provider}",
|
"status.translated_from_with": "Yettwasuqel seg {lang} s {provider}",
|
||||||
"status.uncached_media_warning": "Ulac-it",
|
"status.uncached_media_warning": "Ulac-it",
|
||||||
|
@ -649,6 +653,7 @@
|
||||||
"upload_modal.preview_label": "Taskant ({ratio})",
|
"upload_modal.preview_label": "Taskant ({ratio})",
|
||||||
"upload_progress.label": "Asali iteddu...",
|
"upload_progress.label": "Asali iteddu...",
|
||||||
"upload_progress.processing": "Processing…",
|
"upload_progress.processing": "Processing…",
|
||||||
|
"username.taken": "That username is taken. Try another",
|
||||||
"video.close": "Mdel tabidyutt",
|
"video.close": "Mdel tabidyutt",
|
||||||
"video.download": "Sidered afaylu",
|
"video.download": "Sidered afaylu",
|
||||||
"video.exit_fullscreen": "Ffeɣ seg ugdil ačuran",
|
"video.exit_fullscreen": "Ffeɣ seg ugdil ačuran",
|
||||||
|
|
Some files were not shown because too many files have changed in this diff Show more
Loading…
Add table
Add a link
Reference in a new issue