mirror of
https://github.com/glitch-soc/mastodon.git
synced 2025-12-13 07:49:29 +00:00
Compare commits
114 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
3c5f07c28e | ||
|
|
048a42b8a7 | ||
|
|
c475623418 | ||
|
|
dc6d8f8825 | ||
|
|
dd0647ca45 | ||
|
|
70e2eb49df | ||
|
|
bef28b2e51 | ||
|
|
0b66bd591f | ||
|
|
a94d7bf520 | ||
|
|
c8551a3eca | ||
|
|
df322e50c0 | ||
|
|
1f3588a5a7 | ||
|
|
06c2393805 | ||
|
|
4e85b9073b | ||
|
|
cd573a346d | ||
|
|
793296b5eb | ||
|
|
661dbede1c | ||
|
|
89f423aa00 | ||
|
|
19c89f1bbd | ||
|
|
c966d75600 | ||
|
|
6f1fd0c2a7 | ||
|
|
68c219e753 | ||
|
|
a795743c3f | ||
|
|
1ab5ea9bfb | ||
|
|
48f55e3224 | ||
|
|
6044270d69 | ||
|
|
be1bd91e6d | ||
|
|
34cd5a716f | ||
|
|
ec5128bc1f | ||
|
|
28a79eb239 | ||
|
|
1e2a9167bc | ||
|
|
1947f3a18b | ||
|
|
5a46e3a234 | ||
|
|
75ba0f757a | ||
|
|
62ed8d633e | ||
|
|
02d92d3b68 | ||
|
|
2a87fe5860 | ||
|
|
00c61317d3 | ||
|
|
c0f9e7f4c3 | ||
|
|
1137a0ca3a | ||
|
|
1faf520ce4 | ||
|
|
8777443c9b | ||
|
|
bd6d1f0e3f | ||
|
|
1a1a23f6f0 | ||
|
|
a48567784c | ||
|
|
b71216a08a | ||
|
|
36974aaa99 | ||
|
|
567f337db3 | ||
|
|
97f118013a | ||
|
|
ea5d1f0297 | ||
|
|
7a862d3308 | ||
|
|
1675eab561 | ||
|
|
5f4116a311 | ||
|
|
0741381670 | ||
|
|
e61900cadc | ||
|
|
cbb9a4dbe3 | ||
|
|
4ef0ce033e | ||
|
|
48315a719d | ||
|
|
45932983fc | ||
|
|
1ed3e4cc77 | ||
|
|
5478ef9b32 | ||
|
|
e2592419d9 | ||
|
|
e330447b0e | ||
|
|
b15861528c | ||
|
|
83dc7dc16e | ||
|
|
7d3cc51148 | ||
|
|
cabb33bc49 | ||
|
|
ba6f4de3e4 | ||
|
|
6af9646bbd | ||
|
|
fcb7917344 | ||
|
|
208cb8276a | ||
|
|
4ae47f4263 | ||
|
|
08b2f255fc | ||
|
|
8242f06eca | ||
|
|
5429351889 | ||
|
|
6ff4e83937 | ||
|
|
5e639d7384 | ||
|
|
26e524836d | ||
|
|
cfc4bb1dc0 | ||
|
|
d7099b1b38 | ||
|
|
69fb382424 | ||
|
|
47d469ec5e | ||
|
|
4d3e2efb69 | ||
|
|
92fc7a30dc | ||
|
|
4311369ab8 | ||
|
|
18653ce15d | ||
|
|
71a35d3953 | ||
|
|
e69c1479a8 | ||
|
|
77d2cdb302 | ||
|
|
c727197760 | ||
|
|
d6859c9658 | ||
|
|
7a9e98f4d6 | ||
|
|
7924a27ae7 | ||
|
|
d664b9d8ff | ||
|
|
4558cfadd8 | ||
|
|
713965467d | ||
|
|
aec6d0f807 | ||
|
|
e103815d2d | ||
|
|
d73b9fba90 | ||
|
|
a89d11bc08 | ||
|
|
a250928934 | ||
|
|
1d1b17b04b | ||
|
|
2aff51013c | ||
|
|
8c3c1faaec | ||
|
|
a2888f1bb2 | ||
|
|
77fe044f03 | ||
|
|
da0cc0f5b9 | ||
|
|
ee83f3a8b9 | ||
|
|
7ae78b1032 | ||
|
|
c4b7c3bdda | ||
|
|
a79dbf8334 | ||
|
|
ef6f5f9357 | ||
|
|
f65f6ad6f1 | ||
|
|
c0e242cb73 |
90
CHANGELOG.md
90
CHANGELOG.md
@@ -2,6 +2,96 @@
|
||||
|
||||
All notable changes to this project will be documented in this file.
|
||||
|
||||
## [4.4.5] - 2025-09-23
|
||||
|
||||
### Security
|
||||
|
||||
- Update dependencies
|
||||
|
||||
### Added
|
||||
|
||||
- Add support for `has:quote` in search (#36217 by @ClearlyClaire)
|
||||
|
||||
### Changed
|
||||
|
||||
- Change quoted posts from silenced accounts to use a click-through rather than being hidden (#36166 and #36167 by @ClearlyClaire)
|
||||
|
||||
### Fixed
|
||||
|
||||
- Fix processing of out-of-order `Update` as implicit updates (#36190 by @ClearlyClaire)
|
||||
- Fix getting `Create` and `Update` out of order (#36176 by @ClearlyClaire)
|
||||
- Fix quotes with Content Warnings but no text being shown without Content Warnings (#36150 by @ClearlyClaire)
|
||||
|
||||
## [4.4.4] - 2025-09-16
|
||||
|
||||
### Security
|
||||
|
||||
- Update dependencies
|
||||
|
||||
### Fixed
|
||||
|
||||
- Fix missing memoization in `Web::PushNotificationWorker` (#36085 by @ClearlyClaire)
|
||||
- Fix unresponsive areas around GIFV modals in some cases (#36059 by @ClearlyClaire)
|
||||
- Fix missing `beforeUnload` confirmation when a poll is being authored (#36030 by @ClearlyClaire)
|
||||
- Fix processing of remote edited statuses with new media and no text (#35970 by @unfokus)
|
||||
- Fix polls not being displayed in moderation interface (#35644 and #35933 by @ThisIsMissEm)
|
||||
- Fix WebUI handling of deleted quoted posts (#35909 and #35918 by @ClearlyClaire and @diondiondion)
|
||||
- Fix “Edit” and “Delete & Redraft” on a poll not inserting empty option (#35892 by @ClearlyClaire)
|
||||
- Fix loading of some compatibility CSS on some configurations (#35876 by @shleeable)
|
||||
- Fix HttpLog not being enabled with `RAILS_LOG_LEVEL=debug` (#35833 by @mjankowski)
|
||||
- Fix self-destruct scheduler behavior on some Redis setups (#35823 by @ClearlyClaire)
|
||||
- Fix `tootctl admin create` not bypassing reserved username checks (#35779 by @ClearlyClaire)
|
||||
- Fix interaction policy changes in implicit updates not being saved (#35751 by @ClearlyClaire)
|
||||
- Fix quote revocation not being streamed (#35710 by @ClearlyClaire)
|
||||
- Fix export of large user archives by enabling Zip64 (#35850 by @ClearlyClaire)
|
||||
|
||||
### Changed
|
||||
|
||||
- Change labels for quote policy settings (#35893 by @ClearlyClaire)
|
||||
- Change standalone “Share” page to redirect to web interface after posting (#35763 by @ChaosExAnima)
|
||||
|
||||
## [4.4.3] - 2025-08-05
|
||||
|
||||
### Security
|
||||
|
||||
- Update dependencies
|
||||
- Fix incorrect rate-limit handling [GHSA-84ch-6436-c7mg](https://github.com/mastodon/mastodon/security/advisories/GHSA-84ch-6436-c7mg)
|
||||
|
||||
### Fixed
|
||||
|
||||
- Fix race condition caused by ActiveRecord query cache in `Create` critical path (#35662 by @ClearlyClaire)
|
||||
- Fix race condition caused by quote post processing (#35657 by @ClearlyClaire)
|
||||
- Fix WebUI crashing for accounts with `null` URL (#35651 by @ClearlyClaire)
|
||||
- Fix friends-of-friends recommendations suggesting already-requested accounts (#35604 by @ClearlyClaire)
|
||||
- Fix synchronous recursive fetching of deeply-nested quoted posts (#35600 by @ClearlyClaire)
|
||||
- Fix “Expand this post” link including user `@undefined` (#35478 by @ClearlyClaire)
|
||||
|
||||
### Changed
|
||||
|
||||
- Change `StatusReachFinder` to consider quotes as well as reblogs (#35601 by @ClearlyClaire)
|
||||
- Add restrictions on which quote posts can trend (#35507 by @ClearlyClaire)
|
||||
- Change quote verification to not bypass authorization flow for mentions (#35528 by @ClearlyClaire)
|
||||
|
||||
## [4.4.2] - 2025-07-23
|
||||
|
||||
### Security
|
||||
|
||||
- Update dependencies
|
||||
|
||||
### Fixed
|
||||
|
||||
- Fix menu not clickable in Firefox (#35390 and #35414 by @diondiondion)
|
||||
- Add `lang` attribute to current composer language in alt text modal (#35412 by @diondiondion)
|
||||
- Fix quote posts styling on notifications page (#35411 by @diondiondion)
|
||||
- Improve a11y of custom select menus in notifications settings (#35403 by @diondiondion)
|
||||
- Fix selected item in poll select menus is unreadable in Firefox (#35402 by @diondiondion)
|
||||
- Update age limit wording (#35387 by @diondiondion)
|
||||
- Fix support for quote verification in implicit status updates (#35384 by @ClearlyClaire)
|
||||
- Improve `Dropdown` component accessibility (#35373 by @diondiondion)
|
||||
- Fix processing some incoming quotes failing because of missing JSON-LD context (#35354 and #35380 by @ClearlyClaire)
|
||||
- Make bio hashtags open the local page instead of the remote instance (#35349 by @ChaosExAnima)
|
||||
- Fix styling of external log-in button (#35320 by @ClearlyClaire)
|
||||
|
||||
## [4.4.1] - 2025-07-09
|
||||
|
||||
### Fixed
|
||||
|
||||
114
Gemfile.lock
114
Gemfile.lock
@@ -10,29 +10,29 @@ GIT
|
||||
GEM
|
||||
remote: https://rubygems.org/
|
||||
specs:
|
||||
actioncable (8.0.2)
|
||||
actionpack (= 8.0.2)
|
||||
activesupport (= 8.0.2)
|
||||
actioncable (8.0.2.1)
|
||||
actionpack (= 8.0.2.1)
|
||||
activesupport (= 8.0.2.1)
|
||||
nio4r (~> 2.0)
|
||||
websocket-driver (>= 0.6.1)
|
||||
zeitwerk (~> 2.6)
|
||||
actionmailbox (8.0.2)
|
||||
actionpack (= 8.0.2)
|
||||
activejob (= 8.0.2)
|
||||
activerecord (= 8.0.2)
|
||||
activestorage (= 8.0.2)
|
||||
activesupport (= 8.0.2)
|
||||
actionmailbox (8.0.2.1)
|
||||
actionpack (= 8.0.2.1)
|
||||
activejob (= 8.0.2.1)
|
||||
activerecord (= 8.0.2.1)
|
||||
activestorage (= 8.0.2.1)
|
||||
activesupport (= 8.0.2.1)
|
||||
mail (>= 2.8.0)
|
||||
actionmailer (8.0.2)
|
||||
actionpack (= 8.0.2)
|
||||
actionview (= 8.0.2)
|
||||
activejob (= 8.0.2)
|
||||
activesupport (= 8.0.2)
|
||||
actionmailer (8.0.2.1)
|
||||
actionpack (= 8.0.2.1)
|
||||
actionview (= 8.0.2.1)
|
||||
activejob (= 8.0.2.1)
|
||||
activesupport (= 8.0.2.1)
|
||||
mail (>= 2.8.0)
|
||||
rails-dom-testing (~> 2.2)
|
||||
actionpack (8.0.2)
|
||||
actionview (= 8.0.2)
|
||||
activesupport (= 8.0.2)
|
||||
actionpack (8.0.2.1)
|
||||
actionview (= 8.0.2.1)
|
||||
activesupport (= 8.0.2.1)
|
||||
nokogiri (>= 1.8.5)
|
||||
rack (>= 2.2.4)
|
||||
rack-session (>= 1.0.1)
|
||||
@@ -40,15 +40,15 @@ GEM
|
||||
rails-dom-testing (~> 2.2)
|
||||
rails-html-sanitizer (~> 1.6)
|
||||
useragent (~> 0.16)
|
||||
actiontext (8.0.2)
|
||||
actionpack (= 8.0.2)
|
||||
activerecord (= 8.0.2)
|
||||
activestorage (= 8.0.2)
|
||||
activesupport (= 8.0.2)
|
||||
actiontext (8.0.2.1)
|
||||
actionpack (= 8.0.2.1)
|
||||
activerecord (= 8.0.2.1)
|
||||
activestorage (= 8.0.2.1)
|
||||
activesupport (= 8.0.2.1)
|
||||
globalid (>= 0.6.0)
|
||||
nokogiri (>= 1.8.5)
|
||||
actionview (8.0.2)
|
||||
activesupport (= 8.0.2)
|
||||
actionview (8.0.2.1)
|
||||
activesupport (= 8.0.2.1)
|
||||
builder (~> 3.1)
|
||||
erubi (~> 1.11)
|
||||
rails-dom-testing (~> 2.2)
|
||||
@@ -58,22 +58,22 @@ GEM
|
||||
activemodel (>= 4.1)
|
||||
case_transform (>= 0.2)
|
||||
jsonapi-renderer (>= 0.1.1.beta1, < 0.3)
|
||||
activejob (8.0.2)
|
||||
activesupport (= 8.0.2)
|
||||
activejob (8.0.2.1)
|
||||
activesupport (= 8.0.2.1)
|
||||
globalid (>= 0.3.6)
|
||||
activemodel (8.0.2)
|
||||
activesupport (= 8.0.2)
|
||||
activerecord (8.0.2)
|
||||
activemodel (= 8.0.2)
|
||||
activesupport (= 8.0.2)
|
||||
activemodel (8.0.2.1)
|
||||
activesupport (= 8.0.2.1)
|
||||
activerecord (8.0.2.1)
|
||||
activemodel (= 8.0.2.1)
|
||||
activesupport (= 8.0.2.1)
|
||||
timeout (>= 0.4.0)
|
||||
activestorage (8.0.2)
|
||||
actionpack (= 8.0.2)
|
||||
activejob (= 8.0.2)
|
||||
activerecord (= 8.0.2)
|
||||
activesupport (= 8.0.2)
|
||||
activestorage (8.0.2.1)
|
||||
actionpack (= 8.0.2.1)
|
||||
activejob (= 8.0.2.1)
|
||||
activerecord (= 8.0.2.1)
|
||||
activesupport (= 8.0.2.1)
|
||||
marcel (~> 1.0)
|
||||
activesupport (8.0.2)
|
||||
activesupport (8.0.2.1)
|
||||
base64
|
||||
benchmark (>= 0.3)
|
||||
bigdecimal
|
||||
@@ -458,7 +458,7 @@ GEM
|
||||
net-smtp (0.5.1)
|
||||
net-protocol
|
||||
nio4r (2.7.4)
|
||||
nokogiri (1.18.8)
|
||||
nokogiri (1.18.9)
|
||||
mini_portile2 (~> 2.8.2)
|
||||
racc (~> 1.4)
|
||||
oj (3.16.11)
|
||||
@@ -668,20 +668,20 @@ GEM
|
||||
rack (>= 1.3)
|
||||
rackup (2.2.1)
|
||||
rack (>= 3)
|
||||
rails (8.0.2)
|
||||
actioncable (= 8.0.2)
|
||||
actionmailbox (= 8.0.2)
|
||||
actionmailer (= 8.0.2)
|
||||
actionpack (= 8.0.2)
|
||||
actiontext (= 8.0.2)
|
||||
actionview (= 8.0.2)
|
||||
activejob (= 8.0.2)
|
||||
activemodel (= 8.0.2)
|
||||
activerecord (= 8.0.2)
|
||||
activestorage (= 8.0.2)
|
||||
activesupport (= 8.0.2)
|
||||
rails (8.0.2.1)
|
||||
actioncable (= 8.0.2.1)
|
||||
actionmailbox (= 8.0.2.1)
|
||||
actionmailer (= 8.0.2.1)
|
||||
actionpack (= 8.0.2.1)
|
||||
actiontext (= 8.0.2.1)
|
||||
actionview (= 8.0.2.1)
|
||||
activejob (= 8.0.2.1)
|
||||
activemodel (= 8.0.2.1)
|
||||
activerecord (= 8.0.2.1)
|
||||
activestorage (= 8.0.2.1)
|
||||
activesupport (= 8.0.2.1)
|
||||
bundler (>= 1.15.0)
|
||||
railties (= 8.0.2)
|
||||
railties (= 8.0.2.1)
|
||||
rails-dom-testing (2.2.0)
|
||||
activesupport (>= 5.0.0)
|
||||
minitest
|
||||
@@ -692,9 +692,9 @@ GEM
|
||||
rails-i18n (8.0.1)
|
||||
i18n (>= 0.7, < 2)
|
||||
railties (>= 8.0.0, < 9)
|
||||
railties (8.0.2)
|
||||
actionpack (= 8.0.2)
|
||||
activesupport (= 8.0.2)
|
||||
railties (8.0.2.1)
|
||||
actionpack (= 8.0.2.1)
|
||||
activesupport (= 8.0.2.1)
|
||||
irb (~> 1.13)
|
||||
rackup (>= 1.0.0)
|
||||
rake (>= 12.2)
|
||||
@@ -725,7 +725,7 @@ GEM
|
||||
responders (3.1.1)
|
||||
actionpack (>= 5.2)
|
||||
railties (>= 5.2)
|
||||
rexml (3.4.1)
|
||||
rexml (3.4.4)
|
||||
rotp (6.3.0)
|
||||
rouge (4.5.2)
|
||||
rpam2 (4.0.2)
|
||||
@@ -801,7 +801,7 @@ GEM
|
||||
ruby-prof (1.7.2)
|
||||
base64
|
||||
ruby-progressbar (1.13.0)
|
||||
ruby-saml (1.18.0)
|
||||
ruby-saml (1.18.1)
|
||||
nokogiri (>= 1.13.10)
|
||||
rexml
|
||||
ruby-vips (2.2.4)
|
||||
@@ -869,7 +869,7 @@ GEM
|
||||
terrapin (1.1.0)
|
||||
climate_control
|
||||
test-prof (1.4.4)
|
||||
thor (1.3.2)
|
||||
thor (1.4.0)
|
||||
tilt (2.6.0)
|
||||
timeout (0.4.3)
|
||||
tpm-key_attestation (0.14.1)
|
||||
|
||||
@@ -66,7 +66,7 @@ module ApplicationHelper
|
||||
|
||||
def provider_sign_in_link(provider)
|
||||
label = Devise.omniauth_configs[provider]&.strategy&.display_name.presence || I18n.t("auth.providers.#{provider}", default: provider.to_s.chomp('_oauth2').capitalize)
|
||||
link_to label, omniauth_authorize_path(:user, provider), class: "button button-#{provider}", method: :post
|
||||
link_to label, omniauth_authorize_path(:user, provider), class: "btn button-#{provider}", method: :post
|
||||
end
|
||||
|
||||
def locale_direction
|
||||
@@ -102,6 +102,16 @@ module ApplicationHelper
|
||||
policy(record).public_send(:"#{action}?")
|
||||
end
|
||||
|
||||
def conditional_link_to(condition, name, options = {}, html_options = {}, &block)
|
||||
if condition && !current_page?(block_given? ? name : options)
|
||||
link_to(name, options, html_options, &block)
|
||||
elsif block_given?
|
||||
content_tag(:span, options, html_options, &block)
|
||||
else
|
||||
content_tag(:span, name, html_options)
|
||||
end
|
||||
end
|
||||
|
||||
def material_symbol(icon, attributes = {})
|
||||
safe_join(
|
||||
[
|
||||
|
||||
@@ -27,6 +27,12 @@ module ContextHelper
|
||||
suspended: { 'toot' => 'http://joinmastodon.org/ns#', 'suspended' => 'toot:suspended' },
|
||||
attribution_domains: { 'toot' => 'http://joinmastodon.org/ns#', 'attributionDomains' => { '@id' => 'toot:attributionDomains', '@type' => '@id' } },
|
||||
quote_requests: { 'QuoteRequest' => 'https://w3id.org/fep/044f#QuoteRequest' },
|
||||
quotes: {
|
||||
'quote' => 'https://w3id.org/fep/044f#quote',
|
||||
'quoteUri' => 'http://fedibird.com/ns#quoteUri',
|
||||
'_misskey_quote' => 'https://misskey-hub.net/ns#_misskey_quote',
|
||||
'quoteAuthorization' => { '@id' => 'https://w3id.org/fep/044f#quoteAuthorization', '@type' => '@id' },
|
||||
},
|
||||
interaction_policies: {
|
||||
'gts' => 'https://gotosocial.org/ns#',
|
||||
'interactionPolicy' => { '@id' => 'gts:interactionPolicy', '@type' => '@id' },
|
||||
|
||||
@@ -101,12 +101,17 @@ export const ensureComposeIsVisible = (getState) => {
|
||||
};
|
||||
|
||||
export function setComposeToStatus(status, text, spoiler_text, content_type) {
|
||||
return{
|
||||
type: COMPOSE_SET_STATUS,
|
||||
status,
|
||||
text,
|
||||
spoiler_text,
|
||||
content_type,
|
||||
return (dispatch, getState) => {
|
||||
const maxOptions = getState().server.getIn(['server', 'configuration', 'polls', 'max_options']);
|
||||
|
||||
dispatch({
|
||||
type: COMPOSE_SET_STATUS,
|
||||
status,
|
||||
text,
|
||||
spoiler_text,
|
||||
content_type,
|
||||
maxOptions
|
||||
});
|
||||
};
|
||||
}
|
||||
|
||||
@@ -193,8 +198,9 @@ export function directCompose(account) {
|
||||
|
||||
/**
|
||||
* @param {null | string} overridePrivacy
|
||||
* @param {undefined | Function} successCallback
|
||||
*/
|
||||
export function submitCompose(overridePrivacy = null) {
|
||||
export function submitCompose(overridePrivacy = null, successCallback = undefined) {
|
||||
return function (dispatch, getState) {
|
||||
let status = getState().getIn(['compose', 'text'], '');
|
||||
const media = getState().getIn(['compose', 'media_attachments']);
|
||||
@@ -259,6 +265,9 @@ export function submitCompose(overridePrivacy = null) {
|
||||
|
||||
dispatch(insertIntoTagHistory(response.data.tags, status));
|
||||
dispatch(submitComposeSuccess({ ...response.data }));
|
||||
if (typeof successCallback === 'function') {
|
||||
successCallback(response.data);
|
||||
}
|
||||
|
||||
// To make the app more responsive, immediately push the status
|
||||
// into the columns
|
||||
|
||||
@@ -21,6 +21,15 @@ export function normalizeFilterResult(result) {
|
||||
return normalResult;
|
||||
}
|
||||
|
||||
function stripQuoteFallback(text) {
|
||||
const wrapper = document.createElement('div');
|
||||
wrapper.innerHTML = text;
|
||||
|
||||
wrapper.querySelector('.quote-inline')?.remove();
|
||||
|
||||
return wrapper.innerHTML;
|
||||
}
|
||||
|
||||
export function normalizeStatus(status, normalOldStatus, settings) {
|
||||
const normalStatus = { ...status };
|
||||
|
||||
@@ -78,6 +87,11 @@ export function normalizeStatus(status, normalOldStatus, settings) {
|
||||
normalStatus.spoilerHtml = emojify(escapeTextContentForBrowser(spoilerText), emojiMap);
|
||||
normalStatus.hidden = (spoilerText.length > 0 || normalStatus.sensitive) && autoHideCW(settings, spoilerText);
|
||||
|
||||
// Remove quote fallback link from the DOM so it doesn't mess with paragraph margins
|
||||
if (normalStatus.quote) {
|
||||
normalStatus.contentHtml = stripQuoteFallback(normalStatus.contentHtml);
|
||||
}
|
||||
|
||||
if (normalStatus.url && !(normalStatus.url.startsWith('http://') || normalStatus.url.startsWith('https://'))) {
|
||||
normalStatus.url = null;
|
||||
}
|
||||
@@ -117,6 +131,11 @@ export function normalizeStatusTranslation(translation, status) {
|
||||
spoiler_text: translation.spoiler_text,
|
||||
};
|
||||
|
||||
// Remove quote fallback link from the DOM so it doesn't mess with paragraph margins
|
||||
if (status.get('quote')) {
|
||||
normalTranslation.contentHtml = stripQuoteFallback(normalTranslation.contentHtml);
|
||||
}
|
||||
|
||||
return normalTranslation;
|
||||
}
|
||||
|
||||
|
||||
@@ -3,7 +3,7 @@ import { browserHistory } from 'flavours/glitch/components/router';
|
||||
import api from '../api';
|
||||
|
||||
import { ensureComposeIsVisible, setComposeToStatus } from './compose';
|
||||
import { importFetchedStatus, importFetchedStatuses, importFetchedAccount } from './importer';
|
||||
import { importFetchedStatus, importFetchedAccount } from './importer';
|
||||
import { fetchContext } from './statuses_typed';
|
||||
import { deleteFromTimelines } from './timelines';
|
||||
|
||||
@@ -48,7 +48,18 @@ export function fetchStatusRequest(id, skipLoading) {
|
||||
};
|
||||
}
|
||||
|
||||
export function fetchStatus(id, forceFetch = false, alsoFetchContext = true) {
|
||||
/**
|
||||
* @param {string} id
|
||||
* @param {Object} [options]
|
||||
* @param {boolean} [options.forceFetch]
|
||||
* @param {boolean} [options.alsoFetchContext]
|
||||
* @param {string | null | undefined} [options.parentQuotePostId]
|
||||
*/
|
||||
export function fetchStatus(id, {
|
||||
forceFetch = false,
|
||||
alsoFetchContext = true,
|
||||
parentQuotePostId,
|
||||
} = {}) {
|
||||
return (dispatch, getState) => {
|
||||
const skipLoading = !forceFetch && getState().getIn(['statuses', id], null) !== null;
|
||||
|
||||
@@ -66,7 +77,7 @@ export function fetchStatus(id, forceFetch = false, alsoFetchContext = true) {
|
||||
dispatch(importFetchedStatus(response.data));
|
||||
dispatch(fetchStatusSuccess(skipLoading));
|
||||
}).catch(error => {
|
||||
dispatch(fetchStatusFail(id, error, skipLoading));
|
||||
dispatch(fetchStatusFail(id, error, skipLoading, parentQuotePostId));
|
||||
});
|
||||
};
|
||||
}
|
||||
@@ -78,22 +89,28 @@ export function fetchStatusSuccess(skipLoading) {
|
||||
};
|
||||
}
|
||||
|
||||
export function fetchStatusFail(id, error, skipLoading) {
|
||||
export function fetchStatusFail(id, error, skipLoading, parentQuotePostId) {
|
||||
return {
|
||||
type: STATUS_FETCH_FAIL,
|
||||
id,
|
||||
error,
|
||||
parentQuotePostId,
|
||||
skipLoading,
|
||||
skipAlert: true,
|
||||
};
|
||||
}
|
||||
|
||||
export function redraft(status, raw_text, content_type) {
|
||||
return {
|
||||
type: REDRAFT,
|
||||
status,
|
||||
raw_text,
|
||||
content_type,
|
||||
return (dispatch, getState) => {
|
||||
const maxOptions = getState().server.getIn(['server', 'configuration', 'polls', 'max_options']);
|
||||
|
||||
dispatch({
|
||||
type: REDRAFT,
|
||||
status,
|
||||
raw_text,
|
||||
content_type,
|
||||
maxOptions,
|
||||
});
|
||||
};
|
||||
}
|
||||
|
||||
|
||||
@@ -1,10 +1,11 @@
|
||||
import { apiRequestPost } from 'flavours/glitch/api';
|
||||
import type { Status, StatusVisibility } from 'flavours/glitch/models/status';
|
||||
import type { ApiStatusJSON } from 'flavours/glitch/api_types/statuses';
|
||||
import type { StatusVisibility } from 'flavours/glitch/models/status';
|
||||
|
||||
export const apiReblog = (statusId: string, visibility: StatusVisibility) =>
|
||||
apiRequestPost<{ reblog: Status }>(`v1/statuses/${statusId}/reblog`, {
|
||||
apiRequestPost<{ reblog: ApiStatusJSON }>(`v1/statuses/${statusId}/reblog`, {
|
||||
visibility,
|
||||
});
|
||||
|
||||
export const apiUnreblog = (statusId: string) =>
|
||||
apiRequestPost<Status>(`v1/statuses/${statusId}/unreblog`);
|
||||
apiRequestPost<ApiStatusJSON>(`v1/statuses/${statusId}/unreblog`);
|
||||
|
||||
@@ -1,12 +1,30 @@
|
||||
import { useCallback } from 'react';
|
||||
|
||||
import { useLinks } from 'flavours/glitch/hooks/useLinks';
|
||||
|
||||
export const AccountBio: React.FC<{
|
||||
interface AccountBioProps {
|
||||
note: string;
|
||||
className: string;
|
||||
}> = ({ note, className }) => {
|
||||
const handleClick = useLinks();
|
||||
dropdownAccountId?: string;
|
||||
}
|
||||
|
||||
if (note.length === 0 || note === '<p></p>') {
|
||||
export const AccountBio: React.FC<AccountBioProps> = ({
|
||||
note,
|
||||
className,
|
||||
dropdownAccountId,
|
||||
}) => {
|
||||
const handleClick = useLinks(!!dropdownAccountId);
|
||||
const handleNodeChange = useCallback(
|
||||
(node: HTMLDivElement | null) => {
|
||||
if (!dropdownAccountId || !node || node.childNodes.length === 0) {
|
||||
return;
|
||||
}
|
||||
addDropdownToHashtags(node, dropdownAccountId);
|
||||
},
|
||||
[dropdownAccountId],
|
||||
);
|
||||
|
||||
if (note.length === 0) {
|
||||
return null;
|
||||
}
|
||||
|
||||
@@ -15,6 +33,28 @@ export const AccountBio: React.FC<{
|
||||
className={`${className} translate`}
|
||||
dangerouslySetInnerHTML={{ __html: note }}
|
||||
onClickCapture={handleClick}
|
||||
ref={handleNodeChange}
|
||||
/>
|
||||
);
|
||||
};
|
||||
|
||||
function addDropdownToHashtags(node: HTMLElement | null, accountId: string) {
|
||||
if (!node) {
|
||||
return;
|
||||
}
|
||||
for (const childNode of node.childNodes) {
|
||||
if (!(childNode instanceof HTMLElement)) {
|
||||
continue;
|
||||
}
|
||||
if (
|
||||
childNode instanceof HTMLAnchorElement &&
|
||||
(childNode.classList.contains('hashtag') ||
|
||||
childNode.innerText.startsWith('#')) &&
|
||||
!childNode.dataset.menuHashtag
|
||||
) {
|
||||
childNode.dataset.menuHashtag = accountId;
|
||||
} else if (childNode.childNodes.length > 0) {
|
||||
addDropdownToHashtags(childNode, accountId);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -5,6 +5,7 @@ import {
|
||||
useCallback,
|
||||
cloneElement,
|
||||
Children,
|
||||
useId,
|
||||
} from 'react';
|
||||
|
||||
import classNames from 'classnames';
|
||||
@@ -16,6 +17,7 @@ import Overlay from 'react-overlays/Overlay';
|
||||
import type {
|
||||
OffsetValue,
|
||||
UsePopperOptions,
|
||||
Placement,
|
||||
} from 'react-overlays/esm/usePopper';
|
||||
|
||||
import { fetchRelationships } from 'flavours/glitch/actions/accounts';
|
||||
@@ -295,6 +297,11 @@ interface DropdownProps<Item = MenuItem> {
|
||||
title?: string;
|
||||
disabled?: boolean;
|
||||
scrollable?: boolean;
|
||||
placement?: Placement;
|
||||
/**
|
||||
* Prevent the `ScrollableList` with this scrollKey
|
||||
* from being scrolled while the dropdown is open
|
||||
*/
|
||||
scrollKey?: string;
|
||||
status?: ImmutableMap<string, unknown>;
|
||||
forceDropdown?: boolean;
|
||||
@@ -316,6 +323,7 @@ export const Dropdown = <Item = MenuItem,>({
|
||||
title = 'Menu',
|
||||
disabled,
|
||||
scrollable,
|
||||
placement = 'bottom',
|
||||
status,
|
||||
forceDropdown = false,
|
||||
renderItem,
|
||||
@@ -331,16 +339,15 @@ export const Dropdown = <Item = MenuItem,>({
|
||||
);
|
||||
const [currentId] = useState(id++);
|
||||
const open = currentId === openDropdownId;
|
||||
const activeElement = useRef<HTMLElement | null>(null);
|
||||
const targetRef = useRef<HTMLButtonElement | null>(null);
|
||||
const buttonRef = useRef<HTMLButtonElement | null>(null);
|
||||
const menuId = useId();
|
||||
const prefetchAccountId = status
|
||||
? status.getIn(['account', 'id'])
|
||||
: undefined;
|
||||
|
||||
const handleClose = useCallback(() => {
|
||||
if (activeElement.current) {
|
||||
activeElement.current.focus({ preventScroll: true });
|
||||
activeElement.current = null;
|
||||
if (buttonRef.current) {
|
||||
buttonRef.current.focus({ preventScroll: true });
|
||||
}
|
||||
|
||||
dispatch(
|
||||
@@ -375,7 +382,7 @@ export const Dropdown = <Item = MenuItem,>({
|
||||
[handleClose, onItemClick, items],
|
||||
);
|
||||
|
||||
const handleClick = useCallback(
|
||||
const toggleDropdown = useCallback(
|
||||
(e: React.MouseEvent | React.KeyboardEvent) => {
|
||||
const { type } = e;
|
||||
|
||||
@@ -423,38 +430,6 @@ export const Dropdown = <Item = MenuItem,>({
|
||||
],
|
||||
);
|
||||
|
||||
const handleMouseDown = useCallback(() => {
|
||||
if (!open && document.activeElement instanceof HTMLElement) {
|
||||
activeElement.current = document.activeElement;
|
||||
}
|
||||
}, [open]);
|
||||
|
||||
const handleButtonKeyDown = useCallback(
|
||||
(e: React.KeyboardEvent) => {
|
||||
switch (e.key) {
|
||||
case ' ':
|
||||
case 'Enter':
|
||||
handleMouseDown();
|
||||
break;
|
||||
}
|
||||
},
|
||||
[handleMouseDown],
|
||||
);
|
||||
|
||||
const handleKeyPress = useCallback(
|
||||
(e: React.KeyboardEvent) => {
|
||||
switch (e.key) {
|
||||
case ' ':
|
||||
case 'Enter':
|
||||
handleClick(e);
|
||||
e.stopPropagation();
|
||||
e.preventDefault();
|
||||
break;
|
||||
}
|
||||
},
|
||||
[handleClick],
|
||||
);
|
||||
|
||||
useEffect(() => {
|
||||
return () => {
|
||||
if (currentId === openDropdownId) {
|
||||
@@ -465,14 +440,16 @@ export const Dropdown = <Item = MenuItem,>({
|
||||
|
||||
let button: React.ReactElement;
|
||||
|
||||
const buttonProps = {
|
||||
disabled,
|
||||
onClick: toggleDropdown,
|
||||
'aria-expanded': open,
|
||||
'aria-controls': menuId,
|
||||
ref: buttonRef,
|
||||
};
|
||||
|
||||
if (children) {
|
||||
button = cloneElement(Children.only(children), {
|
||||
onClick: handleClick,
|
||||
onMouseDown: handleMouseDown,
|
||||
onKeyDown: handleButtonKeyDown,
|
||||
onKeyPress: handleKeyPress,
|
||||
ref: targetRef,
|
||||
});
|
||||
button = cloneElement(Children.only(children), buttonProps);
|
||||
} else if (icon && iconComponent) {
|
||||
button = (
|
||||
<IconButton
|
||||
@@ -480,12 +457,7 @@ export const Dropdown = <Item = MenuItem,>({
|
||||
iconComponent={iconComponent}
|
||||
title={title}
|
||||
active={open}
|
||||
disabled={disabled}
|
||||
onClick={handleClick}
|
||||
onMouseDown={handleMouseDown}
|
||||
onKeyDown={handleButtonKeyDown}
|
||||
onKeyPress={handleKeyPress}
|
||||
ref={targetRef}
|
||||
{...buttonProps}
|
||||
/>
|
||||
);
|
||||
} else {
|
||||
@@ -499,13 +471,13 @@ export const Dropdown = <Item = MenuItem,>({
|
||||
<Overlay
|
||||
show={open}
|
||||
offset={offset}
|
||||
placement='bottom'
|
||||
placement={placement}
|
||||
flip
|
||||
target={targetRef}
|
||||
target={buttonRef}
|
||||
popperConfig={popperConfig}
|
||||
>
|
||||
{({ props, arrowProps, placement }) => (
|
||||
<div {...props}>
|
||||
<div {...props} id={menuId}>
|
||||
<div className={`dropdown-animation dropdown-menu ${placement}`}>
|
||||
<div
|
||||
className={`dropdown-menu__arrow ${placement}`}
|
||||
|
||||
@@ -14,7 +14,6 @@ interface Props {
|
||||
onClick?: React.MouseEventHandler<HTMLButtonElement>;
|
||||
onMouseDown?: React.MouseEventHandler<HTMLButtonElement>;
|
||||
onKeyDown?: React.KeyboardEventHandler<HTMLButtonElement>;
|
||||
onKeyPress?: React.KeyboardEventHandler<HTMLButtonElement>;
|
||||
active?: boolean;
|
||||
expanded?: boolean;
|
||||
style?: React.CSSProperties;
|
||||
@@ -47,7 +46,6 @@ export const IconButton = forwardRef<HTMLButtonElement, Props>(
|
||||
activeStyle,
|
||||
onClick,
|
||||
onKeyDown,
|
||||
onKeyPress,
|
||||
onMouseDown,
|
||||
active = false,
|
||||
disabled = false,
|
||||
@@ -89,16 +87,6 @@ export const IconButton = forwardRef<HTMLButtonElement, Props>(
|
||||
[disabled, onClick],
|
||||
);
|
||||
|
||||
const handleKeyPress: React.KeyboardEventHandler<HTMLButtonElement> =
|
||||
useCallback(
|
||||
(e) => {
|
||||
if (!disabled) {
|
||||
onKeyPress?.(e);
|
||||
}
|
||||
},
|
||||
[disabled, onKeyPress],
|
||||
);
|
||||
|
||||
const handleMouseDown: React.MouseEventHandler<HTMLButtonElement> =
|
||||
useCallback(
|
||||
(e) => {
|
||||
@@ -166,7 +154,6 @@ export const IconButton = forwardRef<HTMLButtonElement, Props>(
|
||||
onClick={handleClick}
|
||||
onMouseDown={handleMouseDown}
|
||||
onKeyDown={handleKeyDown}
|
||||
onKeyPress={handleKeyPress} // eslint-disable-line @typescript-eslint/no-deprecated
|
||||
style={buttonStyle}
|
||||
tabIndex={tabIndex}
|
||||
disabled={disabled}
|
||||
|
||||
@@ -190,7 +190,7 @@ class StatusContent extends PureComponent {
|
||||
link.classList.add('unhandled-link');
|
||||
|
||||
link.setAttribute('target', '_blank');
|
||||
link.setAttribute('rel', 'noopener nofollow noreferrer');
|
||||
link.setAttribute('rel', 'noopener nofollow');
|
||||
|
||||
try {
|
||||
if (tagLinks && isLinkMisleading(link)) {
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
import { useEffect, useMemo } from 'react';
|
||||
import { useCallback, useEffect, useMemo } from 'react';
|
||||
|
||||
import { FormattedMessage } from 'react-intl';
|
||||
|
||||
@@ -12,12 +12,15 @@ import ArticleIcon from '@/material-icons/400-24px/article.svg?react';
|
||||
import ChevronRightIcon from '@/material-icons/400-24px/chevron_right.svg?react';
|
||||
import { Icon } from 'flavours/glitch/components/icon';
|
||||
import StatusContainer from 'flavours/glitch/containers/status_container';
|
||||
import { domain } from 'flavours/glitch/initial_state';
|
||||
import type { Status } from 'flavours/glitch/models/status';
|
||||
import type { RootState } from 'flavours/glitch/store';
|
||||
import { useAppDispatch, useAppSelector } from 'flavours/glitch/store';
|
||||
|
||||
import { revealAccount } from '../actions/accounts_typed';
|
||||
import { fetchStatus } from '../actions/statuses';
|
||||
import { makeGetStatus } from '../selectors';
|
||||
import { getAccountHidden } from '../selectors/accounts';
|
||||
|
||||
const MAX_QUOTE_POSTS_NESTING_LEVEL = 1;
|
||||
|
||||
@@ -37,9 +40,7 @@ const QuoteWrapper: React.FC<{
|
||||
);
|
||||
};
|
||||
|
||||
const NestedQuoteLink: React.FC<{
|
||||
status: Status;
|
||||
}> = ({ status }) => {
|
||||
const NestedQuoteLink: React.FC<{ status: Status }> = ({ status }) => {
|
||||
const accountId = status.get('account') as string;
|
||||
const account = useAppSelector((state) =>
|
||||
accountId ? state.accounts.get(accountId) : undefined,
|
||||
@@ -75,24 +76,74 @@ type GetStatusSelector = (
|
||||
props: { id?: string | null; contextType?: string },
|
||||
) => Status | null;
|
||||
|
||||
const LimitedAccountHint: React.FC<{ accountId: string }> = ({ accountId }) => {
|
||||
const dispatch = useAppDispatch();
|
||||
const reveal = useCallback(() => {
|
||||
dispatch(revealAccount({ id: accountId }));
|
||||
}, [dispatch, accountId]);
|
||||
|
||||
return (
|
||||
<>
|
||||
<FormattedMessage
|
||||
id='status.quote_error.limited_account_hint.title'
|
||||
defaultMessage='This account has been hidden by the moderators of {domain}.'
|
||||
values={{ domain }}
|
||||
/>
|
||||
<button onClick={reveal} className='link-button'>
|
||||
<FormattedMessage
|
||||
id='status.quote_error.limited_account_hint.action'
|
||||
defaultMessage='Show anyway'
|
||||
/>
|
||||
</button>
|
||||
</>
|
||||
);
|
||||
};
|
||||
|
||||
export const QuotedStatus: React.FC<{
|
||||
quote: QuoteMap;
|
||||
contextType?: string;
|
||||
parentQuotePostId?: string | null;
|
||||
variant?: 'full' | 'link';
|
||||
nestingLevel?: number;
|
||||
}> = ({ quote, contextType, nestingLevel = 1, variant = 'full' }) => {
|
||||
}> = ({
|
||||
quote,
|
||||
contextType,
|
||||
parentQuotePostId,
|
||||
nestingLevel = 1,
|
||||
variant = 'full',
|
||||
}) => {
|
||||
const dispatch = useAppDispatch();
|
||||
const quoteState = useAppSelector((state) =>
|
||||
parentQuotePostId
|
||||
? state.statuses.getIn([parentQuotePostId, 'quote', 'state'])
|
||||
: quote.get('state'),
|
||||
);
|
||||
|
||||
const quotedStatusId = quote.get('quoted_status');
|
||||
const quoteState = quote.get('state');
|
||||
const status = useAppSelector((state) =>
|
||||
quotedStatusId ? state.statuses.get(quotedStatusId) : undefined,
|
||||
);
|
||||
|
||||
const shouldLoadQuote = !status?.get('isLoading') && quoteState !== 'deleted';
|
||||
|
||||
const accountId: string | null = status?.get('account', null) as
|
||||
| string
|
||||
| null;
|
||||
|
||||
const hiddenAccount = useAppSelector(
|
||||
(state) => accountId && getAccountHidden(state, accountId),
|
||||
);
|
||||
|
||||
useEffect(() => {
|
||||
if (!status && quotedStatusId) {
|
||||
dispatch(fetchStatus(quotedStatusId));
|
||||
if (shouldLoadQuote && quotedStatusId) {
|
||||
dispatch(
|
||||
fetchStatus(quotedStatusId, {
|
||||
parentQuotePostId,
|
||||
alsoFetchContext: false,
|
||||
}),
|
||||
);
|
||||
}
|
||||
}, [status, quotedStatusId, dispatch]);
|
||||
}, [shouldLoadQuote, quotedStatusId, parentQuotePostId, dispatch]);
|
||||
|
||||
// In order to find out whether the quoted post should be completely hidden
|
||||
// due to a matching filter, we run it through the selector used by `status_container`.
|
||||
@@ -147,6 +198,8 @@ export const QuotedStatus: React.FC<{
|
||||
defaultMessage='This post cannot be displayed.'
|
||||
/>
|
||||
);
|
||||
} else if (hiddenAccount && accountId) {
|
||||
quoteError = <LimitedAccountHint accountId={accountId} />;
|
||||
}
|
||||
|
||||
if (quoteError) {
|
||||
@@ -173,6 +226,7 @@ export const QuotedStatus: React.FC<{
|
||||
{canRenderChildQuote && (
|
||||
<QuotedStatus
|
||||
quote={childQuote}
|
||||
parentQuotePostId={quotedStatusId}
|
||||
contextType={contextType}
|
||||
variant={
|
||||
nestingLevel === MAX_QUOTE_POSTS_NESTING_LEVEL ? 'link' : 'full'
|
||||
@@ -209,7 +263,11 @@ export const StatusQuoteManager = (props: StatusQuoteManagerProps) => {
|
||||
return (
|
||||
/* @ts-expect-error Status is not yet typed */
|
||||
<StatusContainer {...props}>
|
||||
<QuotedStatus quote={quote} contextType={props.contextType} />
|
||||
<QuotedStatus
|
||||
quote={quote}
|
||||
parentQuotePostId={status?.get('id') as string}
|
||||
contextType={props.contextType}
|
||||
/>
|
||||
</StatusContainer>
|
||||
);
|
||||
}
|
||||
|
||||
@@ -6,6 +6,7 @@ import classNames from 'classnames';
|
||||
import { Helmet } from 'react-helmet';
|
||||
import { NavLink } from 'react-router-dom';
|
||||
|
||||
import { AccountBio } from '@/flavours/glitch/components/account_bio';
|
||||
import CheckIcon from '@/material-icons/400-24px/check.svg?react';
|
||||
import LockIcon from '@/material-icons/400-24px/lock.svg?react';
|
||||
import MoreHorizIcon from '@/material-icons/400-24px/more_horiz.svg?react';
|
||||
@@ -777,7 +778,6 @@ export const AccountHeader: React.FC<{
|
||||
);
|
||||
}
|
||||
|
||||
const content = { __html: account.note_emojified };
|
||||
const displayNameHtml = { __html: account.display_name_html };
|
||||
const fields = account.fields;
|
||||
const isLocal = !account.acct.includes('@');
|
||||
@@ -901,12 +901,11 @@ export const AccountHeader: React.FC<{
|
||||
<AccountNote accountId={accountId} />
|
||||
)}
|
||||
|
||||
{account.note.length > 0 && account.note !== '<p></p>' && (
|
||||
<div
|
||||
className='account__header__content translate'
|
||||
dangerouslySetInnerHTML={content}
|
||||
/>
|
||||
)}
|
||||
<AccountBio
|
||||
note={account.note_emojified}
|
||||
dropdownAccountId={accountId}
|
||||
className='account__header__content'
|
||||
/>
|
||||
|
||||
<div className='account__header__fields'>
|
||||
<dl>
|
||||
|
||||
@@ -261,7 +261,9 @@ export const AltTextModal = forwardRef<ModalRef, Props & Partial<RestoreProps>>(
|
||||
);
|
||||
const lang = useAppSelector(
|
||||
(state) =>
|
||||
(state.compose as ImmutableMap<string, unknown>).get('lang') as string,
|
||||
(state.compose as ImmutableMap<string, unknown>).get(
|
||||
'language',
|
||||
) as string,
|
||||
);
|
||||
const focusX =
|
||||
(media?.getIn(['meta', 'focus', 'x'], 0) as number | undefined) ?? 0;
|
||||
|
||||
@@ -81,6 +81,7 @@ class ComposeForm extends ImmutablePureComponent {
|
||||
singleColumn: PropTypes.bool,
|
||||
lang: PropTypes.string,
|
||||
maxChars: PropTypes.number,
|
||||
redirectOnSuccess: PropTypes.bool,
|
||||
};
|
||||
|
||||
static defaultProps = {
|
||||
@@ -336,7 +337,7 @@ class ComposeForm extends ImmutablePureComponent {
|
||||
>
|
||||
{intl.formatMessage(
|
||||
this.props.isEditing ?
|
||||
messages.saveChanges :
|
||||
messages.saveChanges :
|
||||
(this.props.isInReply ? messages.reply : messages.publish)
|
||||
)}
|
||||
</Button>
|
||||
|
||||
@@ -56,7 +56,7 @@ const mapStateToProps = state => ({
|
||||
maxChars: state.getIn(['server', 'server', 'configuration', 'statuses', 'max_characters'], 500),
|
||||
});
|
||||
|
||||
const mapDispatchToProps = (dispatch) => ({
|
||||
const mapDispatchToProps = (dispatch, props) => ({
|
||||
|
||||
onChange (text) {
|
||||
dispatch(changeCompose(text));
|
||||
@@ -69,7 +69,11 @@ const mapDispatchToProps = (dispatch) => ({
|
||||
modalProps: { overridePrivacy },
|
||||
}));
|
||||
} else {
|
||||
dispatch(submitCompose(overridePrivacy));
|
||||
dispatch(submitCompose(overridePrivacy, (status) => {
|
||||
if (props.redirectOnSuccess) {
|
||||
window.location.assign(status.url);
|
||||
}
|
||||
}));
|
||||
}
|
||||
},
|
||||
|
||||
|
||||
@@ -53,16 +53,22 @@ export const MoreLink: React.FC = () => {
|
||||
|
||||
const menu = useMemo(() => {
|
||||
const arr: MenuItem[] = [
|
||||
{ text: intl.formatMessage(messages.filters), href: '/filters' },
|
||||
{ text: intl.formatMessage(messages.mutes), to: '/mutes' },
|
||||
{ text: intl.formatMessage(messages.blocks), to: '/blocks' },
|
||||
{
|
||||
text: intl.formatMessage(messages.domainBlocks),
|
||||
to: '/domain_blocks',
|
||||
href: '/filters',
|
||||
text: intl.formatMessage(messages.filters),
|
||||
},
|
||||
{
|
||||
to: '/mutes',
|
||||
text: intl.formatMessage(messages.mutes),
|
||||
},
|
||||
{
|
||||
to: '/blocks',
|
||||
text: intl.formatMessage(messages.blocks),
|
||||
},
|
||||
{
|
||||
to: '/domain_blocks',
|
||||
text: intl.formatMessage(messages.domainBlocks),
|
||||
},
|
||||
];
|
||||
|
||||
arr.push(
|
||||
null,
|
||||
{
|
||||
href: '/settings/privacy',
|
||||
@@ -80,7 +86,7 @@ export const MoreLink: React.FC = () => {
|
||||
href: '/settings/export',
|
||||
text: intl.formatMessage(messages.importExport),
|
||||
},
|
||||
);
|
||||
];
|
||||
|
||||
if (canManageReports(permissions)) {
|
||||
arr.push(null, {
|
||||
@@ -109,7 +115,7 @@ export const MoreLink: React.FC = () => {
|
||||
}, [intl, dispatch, permissions]);
|
||||
|
||||
return (
|
||||
<Dropdown items={menu}>
|
||||
<Dropdown items={menu} placement='bottom-start'>
|
||||
<button className='column-link column-link--transparent'>
|
||||
<Icon id='' icon={MoreHorizIcon} className='column-link__icon' />
|
||||
|
||||
|
||||
@@ -466,6 +466,7 @@ export const CollapsibleNavigationPanel: React.FC = () => {
|
||||
filterTaps: true,
|
||||
bounds: isLtrDir ? { left: 0 } : { right: 0 },
|
||||
rubberband: true,
|
||||
enabled: openable,
|
||||
},
|
||||
);
|
||||
|
||||
|
||||
@@ -122,98 +122,93 @@ export const PolicyControls: React.FC = () => {
|
||||
value={notificationPolicy.for_not_following}
|
||||
onChange={handleFilterNotFollowing}
|
||||
options={options}
|
||||
>
|
||||
<strong>
|
||||
label={
|
||||
<FormattedMessage
|
||||
id='notifications.policy.filter_not_following_title'
|
||||
defaultMessage="People you don't follow"
|
||||
/>
|
||||
</strong>
|
||||
<span className='hint'>
|
||||
}
|
||||
hint={
|
||||
<FormattedMessage
|
||||
id='notifications.policy.filter_not_following_hint'
|
||||
defaultMessage='Until you manually approve them'
|
||||
/>
|
||||
</span>
|
||||
</SelectWithLabel>
|
||||
}
|
||||
/>
|
||||
|
||||
<SelectWithLabel
|
||||
value={notificationPolicy.for_not_followers}
|
||||
onChange={handleFilterNotFollowers}
|
||||
options={options}
|
||||
>
|
||||
<strong>
|
||||
label={
|
||||
<FormattedMessage
|
||||
id='notifications.policy.filter_not_followers_title'
|
||||
defaultMessage='People not following you'
|
||||
/>
|
||||
</strong>
|
||||
<span className='hint'>
|
||||
}
|
||||
hint={
|
||||
<FormattedMessage
|
||||
id='notifications.policy.filter_not_followers_hint'
|
||||
defaultMessage='Including people who have been following you fewer than {days, plural, one {one day} other {# days}}'
|
||||
values={{ days: 3 }}
|
||||
/>
|
||||
</span>
|
||||
</SelectWithLabel>
|
||||
}
|
||||
/>
|
||||
|
||||
<SelectWithLabel
|
||||
value={notificationPolicy.for_new_accounts}
|
||||
onChange={handleFilterNewAccounts}
|
||||
options={options}
|
||||
>
|
||||
<strong>
|
||||
label={
|
||||
<FormattedMessage
|
||||
id='notifications.policy.filter_new_accounts_title'
|
||||
defaultMessage='New accounts'
|
||||
/>
|
||||
</strong>
|
||||
<span className='hint'>
|
||||
}
|
||||
hint={
|
||||
<FormattedMessage
|
||||
id='notifications.policy.filter_new_accounts.hint'
|
||||
defaultMessage='Created within the past {days, plural, one {one day} other {# days}}'
|
||||
values={{ days: 30 }}
|
||||
/>
|
||||
</span>
|
||||
</SelectWithLabel>
|
||||
}
|
||||
/>
|
||||
|
||||
<SelectWithLabel
|
||||
value={notificationPolicy.for_private_mentions}
|
||||
onChange={handleFilterPrivateMentions}
|
||||
options={options}
|
||||
>
|
||||
<strong>
|
||||
label={
|
||||
<FormattedMessage
|
||||
id='notifications.policy.filter_private_mentions_title'
|
||||
defaultMessage='Unsolicited private mentions'
|
||||
/>
|
||||
</strong>
|
||||
<span className='hint'>
|
||||
}
|
||||
hint={
|
||||
<FormattedMessage
|
||||
id='notifications.policy.filter_private_mentions_hint'
|
||||
defaultMessage="Filtered unless it's in reply to your own mention or if you follow the sender"
|
||||
/>
|
||||
</span>
|
||||
</SelectWithLabel>
|
||||
}
|
||||
/>
|
||||
|
||||
<SelectWithLabel
|
||||
value={notificationPolicy.for_limited_accounts}
|
||||
onChange={handleFilterLimitedAccounts}
|
||||
options={options}
|
||||
>
|
||||
<strong>
|
||||
label={
|
||||
<FormattedMessage
|
||||
id='notifications.policy.filter_limited_accounts_title'
|
||||
defaultMessage='Moderated accounts'
|
||||
/>
|
||||
</strong>
|
||||
<span className='hint'>
|
||||
}
|
||||
hint={
|
||||
<FormattedMessage
|
||||
id='notifications.policy.filter_limited_accounts_hint'
|
||||
defaultMessage='Limited by server moderators'
|
||||
/>
|
||||
</span>
|
||||
</SelectWithLabel>
|
||||
}
|
||||
/>
|
||||
</div>
|
||||
</section>
|
||||
);
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
import type { PropsWithChildren } from 'react';
|
||||
import { useCallback, useState, useRef } from 'react';
|
||||
import { useCallback, useState, useRef, useId } from 'react';
|
||||
|
||||
import classNames from 'classnames';
|
||||
|
||||
@@ -16,6 +16,8 @@ interface DropdownProps {
|
||||
options: SelectItem[];
|
||||
disabled?: boolean;
|
||||
onChange: (value: string) => void;
|
||||
'aria-labelledby': string;
|
||||
'aria-describedby'?: string;
|
||||
placement?: Placement;
|
||||
}
|
||||
|
||||
@@ -24,51 +26,33 @@ const Dropdown: React.FC<DropdownProps> = ({
|
||||
options,
|
||||
disabled,
|
||||
onChange,
|
||||
'aria-labelledby': ariaLabelledBy,
|
||||
'aria-describedby': ariaDescribedBy,
|
||||
placement: initialPlacement = 'bottom-end',
|
||||
}) => {
|
||||
const activeElementRef = useRef<Element | null>(null);
|
||||
const containerRef = useRef(null);
|
||||
const containerRef = useRef<HTMLDivElement>(null);
|
||||
const buttonRef = useRef<HTMLButtonElement>(null);
|
||||
const [isOpen, setOpen] = useState<boolean>(false);
|
||||
const [placement, setPlacement] = useState<Placement>(initialPlacement);
|
||||
|
||||
const handleToggle = useCallback(() => {
|
||||
if (
|
||||
isOpen &&
|
||||
activeElementRef.current &&
|
||||
activeElementRef.current instanceof HTMLElement
|
||||
) {
|
||||
activeElementRef.current.focus({ preventScroll: true });
|
||||
}
|
||||
|
||||
setOpen(!isOpen);
|
||||
}, [isOpen, setOpen]);
|
||||
|
||||
const handleMouseDown = useCallback(() => {
|
||||
if (!isOpen) activeElementRef.current = document.activeElement;
|
||||
}, [isOpen]);
|
||||
|
||||
const handleKeyDown = useCallback(
|
||||
(e: React.KeyboardEvent) => {
|
||||
switch (e.key) {
|
||||
case ' ':
|
||||
case 'Enter':
|
||||
if (!isOpen) activeElementRef.current = document.activeElement;
|
||||
break;
|
||||
}
|
||||
},
|
||||
[isOpen],
|
||||
);
|
||||
const uniqueId = useId();
|
||||
const menuId = `${uniqueId}-menu`;
|
||||
const buttonLabelId = `${uniqueId}-button`;
|
||||
|
||||
const handleClose = useCallback(() => {
|
||||
if (
|
||||
isOpen &&
|
||||
activeElementRef.current &&
|
||||
activeElementRef.current instanceof HTMLElement
|
||||
)
|
||||
activeElementRef.current.focus({ preventScroll: true });
|
||||
if (isOpen && buttonRef.current) {
|
||||
buttonRef.current.focus({ preventScroll: true });
|
||||
}
|
||||
setOpen(false);
|
||||
}, [isOpen]);
|
||||
|
||||
const handleToggle = useCallback(() => {
|
||||
if (isOpen) {
|
||||
handleClose();
|
||||
} else {
|
||||
setOpen(true);
|
||||
}
|
||||
}, [isOpen, handleClose]);
|
||||
|
||||
const handleOverlayEnter = useCallback(
|
||||
(state: Partial<PopperState>) => {
|
||||
if (state.placement) setPlacement(state.placement);
|
||||
@@ -82,13 +66,18 @@ const Dropdown: React.FC<DropdownProps> = ({
|
||||
<div ref={containerRef}>
|
||||
<button
|
||||
type='button'
|
||||
ref={buttonRef}
|
||||
onClick={handleToggle}
|
||||
onMouseDown={handleMouseDown}
|
||||
onKeyDown={handleKeyDown}
|
||||
disabled={disabled}
|
||||
aria-expanded={isOpen}
|
||||
aria-controls={menuId}
|
||||
aria-labelledby={`${ariaLabelledBy} ${buttonLabelId}`}
|
||||
aria-describedby={ariaDescribedBy}
|
||||
className={classNames('dropdown-button', { active: isOpen })}
|
||||
>
|
||||
<span className='dropdown-button__label'>{valueOption?.text}</span>
|
||||
<span id={buttonLabelId} className='dropdown-button__label'>
|
||||
{valueOption?.text}
|
||||
</span>
|
||||
<Icon id='down' icon={ArrowDropDownIcon} />
|
||||
</button>
|
||||
|
||||
@@ -101,7 +90,7 @@ const Dropdown: React.FC<DropdownProps> = ({
|
||||
popperConfig={{ strategy: 'fixed', onFirstUpdate: handleOverlayEnter }}
|
||||
>
|
||||
{({ props, placement }) => (
|
||||
<div {...props}>
|
||||
<div {...props} id={menuId}>
|
||||
<div
|
||||
className={`dropdown-animation privacy-dropdown__dropdown ${placement}`}
|
||||
>
|
||||
@@ -123,6 +112,8 @@ const Dropdown: React.FC<DropdownProps> = ({
|
||||
interface Props {
|
||||
value: string;
|
||||
options: SelectItem[];
|
||||
label: string | React.ReactElement;
|
||||
hint: string | React.ReactElement;
|
||||
disabled?: boolean;
|
||||
onChange: (value: string) => void;
|
||||
}
|
||||
@@ -130,13 +121,26 @@ interface Props {
|
||||
export const SelectWithLabel: React.FC<PropsWithChildren<Props>> = ({
|
||||
value,
|
||||
options,
|
||||
label,
|
||||
hint,
|
||||
disabled,
|
||||
children,
|
||||
onChange,
|
||||
}) => {
|
||||
const uniqueId = useId();
|
||||
const labelId = `${uniqueId}-label`;
|
||||
const descId = `${uniqueId}-desc`;
|
||||
|
||||
return (
|
||||
// This label is only used for its click-forwarding behaviour,
|
||||
// accessible names are assigned manually
|
||||
// eslint-disable-next-line jsx-a11y/label-has-associated-control
|
||||
<label className='app-form__toggle'>
|
||||
<div className='app-form__toggle__label'>{children}</div>
|
||||
<div className='app-form__toggle__label'>
|
||||
<strong id={labelId}>{label}</strong>
|
||||
<span className='hint' id={descId}>
|
||||
{hint}
|
||||
</span>
|
||||
</div>
|
||||
|
||||
<div className='app-form__toggle__toggle'>
|
||||
<div>
|
||||
@@ -144,6 +148,8 @@ export const SelectWithLabel: React.FC<PropsWithChildren<Props>> = ({
|
||||
value={value}
|
||||
onChange={onChange}
|
||||
disabled={disabled}
|
||||
aria-labelledby={labelId}
|
||||
aria-describedby={descId}
|
||||
options={options}
|
||||
/>
|
||||
</div>
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
import { useCallback } from 'react';
|
||||
import { useCallback, useMemo } from 'react';
|
||||
|
||||
import { defineMessages, useIntl } from 'react-intl';
|
||||
|
||||
@@ -24,6 +24,10 @@ import { openModal } from 'flavours/glitch/actions/modal';
|
||||
import { IconButton } from 'flavours/glitch/components/icon_button';
|
||||
import { useIdentity } from 'flavours/glitch/identity_context';
|
||||
import { me } from 'flavours/glitch/initial_state';
|
||||
import type { Account } from 'flavours/glitch/models/account';
|
||||
import type { Status } from 'flavours/glitch/models/status';
|
||||
import { makeGetStatus } from 'flavours/glitch/selectors';
|
||||
import type { RootState } from 'flavours/glitch/store';
|
||||
import { useAppSelector, useAppDispatch } from 'flavours/glitch/store';
|
||||
|
||||
const messages = defineMessages({
|
||||
@@ -50,6 +54,11 @@ const messages = defineMessages({
|
||||
open: { id: 'status.open', defaultMessage: 'Expand this status' },
|
||||
});
|
||||
|
||||
type GetStatusSelector = (
|
||||
state: RootState,
|
||||
props: { id?: string | null; contextType?: string },
|
||||
) => Status | null;
|
||||
|
||||
export const Footer: React.FC<{
|
||||
statusId: string;
|
||||
withOpenButton?: boolean;
|
||||
@@ -59,11 +68,9 @@ export const Footer: React.FC<{
|
||||
const intl = useIntl();
|
||||
const history = useHistory();
|
||||
const dispatch = useAppDispatch();
|
||||
const status = useAppSelector((state) => state.statuses.get(statusId));
|
||||
const accountId = status?.get('account') as string | undefined;
|
||||
const account = useAppSelector((state) =>
|
||||
accountId ? state.accounts.get(accountId) : undefined,
|
||||
);
|
||||
const getStatus = useMemo(() => makeGetStatus(), []) as GetStatusSelector;
|
||||
const status = useAppSelector((state) => getStatus(state, { id: statusId }));
|
||||
const account = status?.get('account') as Account | undefined;
|
||||
const askReplyConfirmation = useAppSelector(
|
||||
(state) => (state.compose.get('text') as string).trim().length !== 0,
|
||||
);
|
||||
|
||||
@@ -5,7 +5,7 @@ import ModalContainer from 'flavours/glitch/features/ui/containers/modal_contain
|
||||
|
||||
const Compose = () => (
|
||||
<>
|
||||
<ComposeFormContainer autoFocus withoutNavigation />
|
||||
<ComposeFormContainer autoFocus withoutNavigation redirectOnSuccess />
|
||||
<AlertsController />
|
||||
<ModalContainer />
|
||||
<LoadingBarContainer className='loading-bar' />
|
||||
|
||||
@@ -38,7 +38,7 @@ const Embed: React.FC<{ id: string }> = ({ id }) => {
|
||||
const dispatchRenderSignal = useRenderSignal();
|
||||
|
||||
useEffect(() => {
|
||||
dispatch(fetchStatus(id, false, false));
|
||||
dispatch(fetchStatus(id, { alsoFetchContext: false }));
|
||||
}, [dispatch, id]);
|
||||
|
||||
const handleToggleHidden = useCallback(() => {
|
||||
|
||||
@@ -418,7 +418,10 @@ export const DetailedStatus: React.FC<{
|
||||
{hashtagBar}
|
||||
|
||||
{status.get('quote') && (
|
||||
<QuotedStatus quote={status.get('quote')} />
|
||||
<QuotedStatus
|
||||
quote={status.get('quote')}
|
||||
parentQuotePostId={status.get('id')}
|
||||
/>
|
||||
)}
|
||||
</>
|
||||
)}
|
||||
|
||||
@@ -38,7 +38,7 @@ class FilterModal extends ImmutablePureComponent {
|
||||
|
||||
handleSuccess = () => {
|
||||
const { dispatch, statusId } = this.props;
|
||||
dispatch(fetchStatus(statusId, true));
|
||||
dispatch(fetchStatus(statusId, {forceFetch: true}));
|
||||
this.setState({ isSubmitting: false, isSubmitted: true, step: 'submitted' });
|
||||
};
|
||||
|
||||
|
||||
@@ -201,8 +201,6 @@ class MediaModal extends ImmutablePureComponent {
|
||||
preview={image.get('preview_url')}
|
||||
blurhash={image.get('blurhash')}
|
||||
src={image.get('url')}
|
||||
width={image.get('width')}
|
||||
height={image.get('height')}
|
||||
frameRate={image.getIn(['meta', 'original', 'frame_rate'])}
|
||||
startTime={currentTime || 0}
|
||||
startPlaying={autoPlay || false}
|
||||
@@ -218,8 +216,6 @@ class MediaModal extends ImmutablePureComponent {
|
||||
return (
|
||||
<GIFV
|
||||
src={image.get('url')}
|
||||
width={width}
|
||||
height={height}
|
||||
key={image.get('url')}
|
||||
alt={description}
|
||||
lang={lang}
|
||||
|
||||
@@ -92,8 +92,7 @@ const messages = defineMessages({
|
||||
|
||||
const mapStateToProps = state => ({
|
||||
layout: state.getIn(['meta', 'layout']),
|
||||
hasComposingText: state.getIn(['compose', 'text']).trim().length !== 0,
|
||||
hasMediaAttachments: state.getIn(['compose', 'media_attachments']).size > 0,
|
||||
hasComposingContents: state.getIn(['compose', 'text']).trim().length !== 0 || state.getIn(['compose', 'media_attachments']).size > 0 || state.getIn(['compose', 'poll']) !== null,
|
||||
canUploadMore: !state.getIn(['compose', 'media_attachments']).some(x => ['audio', 'video'].includes(x.get('type'))) && state.getIn(['compose', 'media_attachments']).size < 4,
|
||||
isWide: state.getIn(['local_settings', 'stretch']),
|
||||
fullWidthColumns: state.getIn(['local_settings', 'fullwidth_columns']),
|
||||
@@ -284,8 +283,7 @@ class UI extends PureComponent {
|
||||
fullWidthColumns: PropTypes.bool,
|
||||
systemFontUi: PropTypes.bool,
|
||||
isComposing: PropTypes.bool,
|
||||
hasComposingText: PropTypes.bool,
|
||||
hasMediaAttachments: PropTypes.bool,
|
||||
hasComposingContents: PropTypes.bool,
|
||||
canUploadMore: PropTypes.bool,
|
||||
intl: PropTypes.object.isRequired,
|
||||
unreadNotifications: PropTypes.number,
|
||||
@@ -304,11 +302,11 @@ class UI extends PureComponent {
|
||||
};
|
||||
|
||||
handleBeforeUnload = e => {
|
||||
const { intl, dispatch, hasComposingText, hasMediaAttachments } = this.props;
|
||||
const { intl, dispatch, hasComposingContents } = this.props;
|
||||
|
||||
dispatch(synchronouslySubmitMarkers());
|
||||
|
||||
if (hasComposingText || hasMediaAttachments) {
|
||||
if (hasComposingContents) {
|
||||
// Setting returnValue to any string causes confirmation dialog.
|
||||
// Many browsers no longer display this text to users,
|
||||
// but we set user-friendly message for other browsers, e.g. Edge.
|
||||
|
||||
@@ -8,13 +8,14 @@ import { openURL } from 'flavours/glitch/actions/search';
|
||||
import { useAppDispatch } from 'flavours/glitch/store';
|
||||
|
||||
const isMentionClick = (element: HTMLAnchorElement) =>
|
||||
element.classList.contains('mention');
|
||||
element.classList.contains('mention') &&
|
||||
!element.classList.contains('hashtag');
|
||||
|
||||
const isHashtagClick = (element: HTMLAnchorElement) =>
|
||||
element.textContent?.[0] === '#' ||
|
||||
element.previousSibling?.textContent?.endsWith('#');
|
||||
|
||||
export const useLinks = () => {
|
||||
export const useLinks = (skipHashtags?: boolean) => {
|
||||
const history = useHistory();
|
||||
const dispatch = useAppDispatch();
|
||||
|
||||
@@ -61,12 +62,12 @@ export const useLinks = () => {
|
||||
if (isMentionClick(target)) {
|
||||
e.preventDefault();
|
||||
void handleMentionClick(target);
|
||||
} else if (isHashtagClick(target)) {
|
||||
} else if (isHashtagClick(target) && !skipHashtags) {
|
||||
e.preventDefault();
|
||||
handleHashtagClick(target);
|
||||
}
|
||||
},
|
||||
[handleMentionClick, handleHashtagClick],
|
||||
[skipHashtags, handleMentionClick, handleHashtagClick],
|
||||
);
|
||||
|
||||
return handleClick;
|
||||
|
||||
@@ -126,6 +126,9 @@ export function createAccountFromServerJSON(serverJSON: ApiAccountJSON) {
|
||||
? accountJSON.username
|
||||
: accountJSON.display_name;
|
||||
|
||||
const accountNote =
|
||||
accountJSON.note && accountJSON.note !== '<p></p>' ? accountJSON.note : '';
|
||||
|
||||
return AccountFactory({
|
||||
...accountJSON,
|
||||
moved: moved?.id,
|
||||
@@ -142,8 +145,8 @@ export function createAccountFromServerJSON(serverJSON: ApiAccountJSON) {
|
||||
escapeTextContentForBrowser(displayName),
|
||||
emojiMap,
|
||||
),
|
||||
note_emojified: emojify(accountJSON.note, emojiMap),
|
||||
note_plain: unescapeHTML(accountJSON.note),
|
||||
note_emojified: emojify(accountNote, emojiMap),
|
||||
note_plain: unescapeHTML(accountNote),
|
||||
url:
|
||||
accountJSON.url.startsWith('http://') ||
|
||||
accountJSON.url.startsWith('https://')
|
||||
|
||||
@@ -619,8 +619,13 @@ export const composeReducer = (state = initialState, action) => {
|
||||
}
|
||||
|
||||
if (action.status.get('poll')) {
|
||||
let options = ImmutableList(action.status.get('poll').options.map(x => x.title));
|
||||
if (options.size < action.maxOptions) {
|
||||
options = options.push('');
|
||||
}
|
||||
|
||||
map.set('poll', ImmutableMap({
|
||||
options: ImmutableList(action.status.get('poll').options.map(x => x.title)),
|
||||
options: options,
|
||||
multiple: action.status.get('poll').multiple,
|
||||
expires_in: expiresInFromExpiresAt(action.status.get('poll').expires_at),
|
||||
}));
|
||||
@@ -650,8 +655,13 @@ export const composeReducer = (state = initialState, action) => {
|
||||
}
|
||||
|
||||
if (action.status.get('poll')) {
|
||||
let options = ImmutableList(action.status.get('poll').options.map(x => x.title));
|
||||
if (options.size < action.maxOptions) {
|
||||
options = options.push('');
|
||||
}
|
||||
|
||||
map.set('poll', ImmutableMap({
|
||||
options: ImmutableList(action.status.get('poll').options.map(x => x.title)),
|
||||
options: options,
|
||||
multiple: action.status.get('poll').multiple,
|
||||
expires_in: expiresInFromExpiresAt(action.status.get('poll').expires_at),
|
||||
}));
|
||||
|
||||
@@ -10,7 +10,7 @@ const initialState = ImmutableMap({
|
||||
stretch : true,
|
||||
side_arm : 'none',
|
||||
side_arm_reply_mode : 'keep',
|
||||
show_reply_count : false,
|
||||
show_reply_count : true,
|
||||
always_show_spoilers_field: false,
|
||||
confirm_boost_missing_media_description: false,
|
||||
confirm_before_clearing_draft: true,
|
||||
|
||||
@@ -73,8 +73,15 @@ export default function statuses(state = initialState, action) {
|
||||
switch(action.type) {
|
||||
case STATUS_FETCH_REQUEST:
|
||||
return state.setIn([action.id, 'isLoading'], true);
|
||||
case STATUS_FETCH_FAIL:
|
||||
return state.delete(action.id);
|
||||
case STATUS_FETCH_FAIL: {
|
||||
if (action.parentQuotePostId && action.error.status === 404) {
|
||||
return state
|
||||
.delete(action.id)
|
||||
.setIn([action.parentQuotePostId, 'quote', 'state'], 'deleted')
|
||||
} else {
|
||||
return state.delete(action.id);
|
||||
}
|
||||
}
|
||||
case STATUS_IMPORT:
|
||||
return importStatus(state, action.status);
|
||||
case STATUSES_IMPORT:
|
||||
|
||||
@@ -1893,7 +1893,7 @@ a.sparkline {
|
||||
font-size: 15px;
|
||||
line-height: 22px;
|
||||
|
||||
li {
|
||||
> li {
|
||||
counter-increment: step 1;
|
||||
padding-inline-start: 2.5rem;
|
||||
padding-bottom: 8px;
|
||||
|
||||
@@ -992,6 +992,7 @@ body > [data-popper-placement] {
|
||||
line-height: 20px;
|
||||
letter-spacing: 0.1px;
|
||||
color: $highlight-text-color;
|
||||
background-color: var(--input-background-color);
|
||||
white-space: nowrap;
|
||||
text-overflow: ellipsis;
|
||||
overflow: hidden;
|
||||
@@ -1922,7 +1923,10 @@ body > [data-popper-placement] {
|
||||
}
|
||||
|
||||
.status__quote {
|
||||
--quote-margin: 36px;
|
||||
// --status-gutter-width is currently only set inside of
|
||||
// .notification-ungrouped, so everywhere else this will fall back
|
||||
// to the pixel values
|
||||
--quote-margin: var(--status-gutter-width, 36px);
|
||||
|
||||
position: relative;
|
||||
margin-block-start: 16px;
|
||||
@@ -1933,7 +1937,7 @@ body > [data-popper-placement] {
|
||||
border: var(--nested-card-border);
|
||||
|
||||
@container (width > 460px) {
|
||||
--quote-margin: 56px;
|
||||
--quote-margin: var(--status-gutter-width, 56px);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -2394,6 +2398,7 @@ a .account__avatar {
|
||||
.detailed-status__display-name,
|
||||
.detailed-status__datetime,
|
||||
.detailed-status__application,
|
||||
.detailed-status__link,
|
||||
.account__display-name {
|
||||
text-decoration: none;
|
||||
}
|
||||
@@ -2426,7 +2431,8 @@ a.account__display-name {
|
||||
}
|
||||
|
||||
.detailed-status__application,
|
||||
.detailed-status__datetime {
|
||||
.detailed-status__datetime,
|
||||
.detailed-status__link {
|
||||
color: inherit;
|
||||
}
|
||||
|
||||
@@ -2612,8 +2618,9 @@ a.account__display-name {
|
||||
}
|
||||
|
||||
.status__relative-time,
|
||||
.detailed-status__datetime {
|
||||
&:hover {
|
||||
.detailed-status__datetime,
|
||||
.detailed-status__link {
|
||||
&:is(a):hover {
|
||||
text-decoration: underline;
|
||||
}
|
||||
}
|
||||
@@ -2913,7 +2920,6 @@ a.account__display-name {
|
||||
&__pane {
|
||||
height: 100%;
|
||||
overflow: hidden;
|
||||
pointer-events: none;
|
||||
display: flex;
|
||||
justify-content: flex-end;
|
||||
min-width: 285px;
|
||||
@@ -2925,7 +2931,6 @@ a.account__display-name {
|
||||
&__inner {
|
||||
position: fixed;
|
||||
width: 285px;
|
||||
pointer-events: auto;
|
||||
height: 100%;
|
||||
}
|
||||
}
|
||||
@@ -3939,16 +3944,18 @@ a.account__display-name {
|
||||
display: flex;
|
||||
align-items: center;
|
||||
gap: 8px;
|
||||
width: 100%;
|
||||
padding: 12px;
|
||||
font-size: 16px;
|
||||
font-weight: 400;
|
||||
padding: 12px;
|
||||
text-decoration: none;
|
||||
overflow: hidden;
|
||||
white-space: nowrap;
|
||||
border: 0;
|
||||
background: transparent;
|
||||
color: $secondary-text-color;
|
||||
background: transparent;
|
||||
border: 0;
|
||||
border-left: 4px solid transparent;
|
||||
box-sizing: border-box;
|
||||
|
||||
&:hover,
|
||||
&:focus,
|
||||
@@ -11130,21 +11137,23 @@ noscript {
|
||||
}
|
||||
}
|
||||
|
||||
.status {
|
||||
.status:not(.status--is-quote) {
|
||||
border: 0;
|
||||
padding: 0;
|
||||
|
||||
&__avatar {
|
||||
width: 40px;
|
||||
height: 40px;
|
||||
}
|
||||
}
|
||||
|
||||
.status__wrapper-direct {
|
||||
background: transparent;
|
||||
}
|
||||
|
||||
$icon-margin: 48px; // 40px avatar + 8px gap
|
||||
.status {
|
||||
// 40px avatar + 8px gap
|
||||
--status-gutter-width: 48px;
|
||||
}
|
||||
|
||||
.status--is-quote {
|
||||
--status-gutter-width: 0;
|
||||
}
|
||||
|
||||
.status__content,
|
||||
.status__action-bar,
|
||||
@@ -11158,16 +11167,16 @@ noscript {
|
||||
.hashtag-bar,
|
||||
.content-warning,
|
||||
.filter-warning {
|
||||
margin-inline-start: $icon-margin;
|
||||
width: calc(100% - $icon-margin);
|
||||
margin-inline-start: var(--status-gutter-width);
|
||||
width: calc(100% - var(--status-gutter-width));
|
||||
}
|
||||
|
||||
.more-from-author {
|
||||
width: calc(100% - $icon-margin + 2px);
|
||||
width: calc(100% - var(--status-gutter-width) + 2px);
|
||||
}
|
||||
|
||||
.status__content__read-more-button {
|
||||
margin-inline-start: $icon-margin;
|
||||
margin-inline-start: var(--status-gutter-width);
|
||||
}
|
||||
|
||||
.notification__report {
|
||||
|
||||
@@ -107,7 +107,8 @@
|
||||
cursor: pointer;
|
||||
}
|
||||
|
||||
&.editable {
|
||||
&.editable,
|
||||
&.disabled {
|
||||
align-items: center;
|
||||
overflow: visible;
|
||||
}
|
||||
@@ -165,7 +166,8 @@
|
||||
}
|
||||
}
|
||||
|
||||
&__option.editable &__input {
|
||||
&__option.editable &__input,
|
||||
&__option.disabled &__input {
|
||||
&:active,
|
||||
&:focus,
|
||||
&:hover {
|
||||
|
||||
@@ -96,12 +96,17 @@ export const ensureComposeIsVisible = (getState) => {
|
||||
};
|
||||
|
||||
export function setComposeToStatus(status, text, spoiler_text) {
|
||||
return{
|
||||
type: COMPOSE_SET_STATUS,
|
||||
status,
|
||||
text,
|
||||
spoiler_text,
|
||||
};
|
||||
return (dispatch, getState) => {
|
||||
const maxOptions = getState().server.getIn(['server', 'configuration', 'polls', 'max_options']);
|
||||
|
||||
dispatch({
|
||||
type: COMPOSE_SET_STATUS,
|
||||
status,
|
||||
text,
|
||||
spoiler_text,
|
||||
maxOptions,
|
||||
});
|
||||
}
|
||||
}
|
||||
|
||||
export function changeCompose(text) {
|
||||
@@ -183,7 +188,7 @@ export function directCompose(account) {
|
||||
};
|
||||
}
|
||||
|
||||
export function submitCompose() {
|
||||
export function submitCompose(successCallback) {
|
||||
return function (dispatch, getState) {
|
||||
const status = getState().getIn(['compose', 'text'], '');
|
||||
const media = getState().getIn(['compose', 'media_attachments']);
|
||||
@@ -239,6 +244,9 @@ export function submitCompose() {
|
||||
|
||||
dispatch(insertIntoTagHistory(response.data.tags, status));
|
||||
dispatch(submitComposeSuccess({ ...response.data }));
|
||||
if (typeof successCallback === 'function') {
|
||||
successCallback(response.data);
|
||||
}
|
||||
|
||||
// To make the app more responsive, immediately push the status
|
||||
// into the columns
|
||||
|
||||
@@ -21,6 +21,15 @@ export function normalizeFilterResult(result) {
|
||||
return normalResult;
|
||||
}
|
||||
|
||||
function stripQuoteFallback(text) {
|
||||
const wrapper = document.createElement('div');
|
||||
wrapper.innerHTML = text;
|
||||
|
||||
wrapper.querySelector('.quote-inline')?.remove();
|
||||
|
||||
return wrapper.innerHTML;
|
||||
}
|
||||
|
||||
export function normalizeStatus(status, normalOldStatus) {
|
||||
const normalStatus = { ...status };
|
||||
|
||||
@@ -72,7 +81,7 @@ export function normalizeStatus(status, normalOldStatus) {
|
||||
} else {
|
||||
// If the status has a CW but no contents, treat the CW as if it were the
|
||||
// status' contents, to avoid having a CW toggle with seemingly no effect.
|
||||
if (normalStatus.spoiler_text && !normalStatus.content) {
|
||||
if (normalStatus.spoiler_text && !normalStatus.content && !normalStatus.quote) {
|
||||
normalStatus.content = normalStatus.spoiler_text;
|
||||
normalStatus.spoiler_text = '';
|
||||
}
|
||||
@@ -86,6 +95,11 @@ export function normalizeStatus(status, normalOldStatus) {
|
||||
normalStatus.spoilerHtml = emojify(escapeTextContentForBrowser(spoilerText), emojiMap);
|
||||
normalStatus.hidden = expandSpoilers ? false : spoilerText.length > 0 || normalStatus.sensitive;
|
||||
|
||||
// Remove quote fallback link from the DOM so it doesn't mess with paragraph margins
|
||||
if (normalStatus.quote) {
|
||||
normalStatus.contentHtml = stripQuoteFallback(normalStatus.contentHtml);
|
||||
}
|
||||
|
||||
if (normalStatus.url && !(normalStatus.url.startsWith('http://') || normalStatus.url.startsWith('https://'))) {
|
||||
normalStatus.url = null;
|
||||
}
|
||||
@@ -125,6 +139,11 @@ export function normalizeStatusTranslation(translation, status) {
|
||||
spoiler_text: translation.spoiler_text,
|
||||
};
|
||||
|
||||
// Remove quote fallback link from the DOM so it doesn't mess with paragraph margins
|
||||
if (status.get('quote')) {
|
||||
normalTranslation.contentHtml = stripQuoteFallback(normalTranslation.contentHtml);
|
||||
}
|
||||
|
||||
return normalTranslation;
|
||||
}
|
||||
|
||||
|
||||
@@ -3,7 +3,7 @@ import { browserHistory } from 'mastodon/components/router';
|
||||
import api from '../api';
|
||||
|
||||
import { ensureComposeIsVisible, setComposeToStatus } from './compose';
|
||||
import { importFetchedStatus, importFetchedStatuses, importFetchedAccount } from './importer';
|
||||
import { importFetchedStatus, importFetchedAccount } from './importer';
|
||||
import { fetchContext } from './statuses_typed';
|
||||
import { deleteFromTimelines } from './timelines';
|
||||
|
||||
@@ -48,7 +48,18 @@ export function fetchStatusRequest(id, skipLoading) {
|
||||
};
|
||||
}
|
||||
|
||||
export function fetchStatus(id, forceFetch = false, alsoFetchContext = true) {
|
||||
/**
|
||||
* @param {string} id
|
||||
* @param {Object} [options]
|
||||
* @param {boolean} [options.forceFetch]
|
||||
* @param {boolean} [options.alsoFetchContext]
|
||||
* @param {string | null | undefined} [options.parentQuotePostId]
|
||||
*/
|
||||
export function fetchStatus(id, {
|
||||
forceFetch = false,
|
||||
alsoFetchContext = true,
|
||||
parentQuotePostId,
|
||||
} = {}) {
|
||||
return (dispatch, getState) => {
|
||||
const skipLoading = !forceFetch && getState().getIn(['statuses', id], null) !== null;
|
||||
|
||||
@@ -66,7 +77,7 @@ export function fetchStatus(id, forceFetch = false, alsoFetchContext = true) {
|
||||
dispatch(importFetchedStatus(response.data));
|
||||
dispatch(fetchStatusSuccess(skipLoading));
|
||||
}).catch(error => {
|
||||
dispatch(fetchStatusFail(id, error, skipLoading));
|
||||
dispatch(fetchStatusFail(id, error, skipLoading, parentQuotePostId));
|
||||
});
|
||||
};
|
||||
}
|
||||
@@ -78,21 +89,27 @@ export function fetchStatusSuccess(skipLoading) {
|
||||
};
|
||||
}
|
||||
|
||||
export function fetchStatusFail(id, error, skipLoading) {
|
||||
export function fetchStatusFail(id, error, skipLoading, parentQuotePostId) {
|
||||
return {
|
||||
type: STATUS_FETCH_FAIL,
|
||||
id,
|
||||
error,
|
||||
parentQuotePostId,
|
||||
skipLoading,
|
||||
skipAlert: true,
|
||||
};
|
||||
}
|
||||
|
||||
export function redraft(status, raw_text) {
|
||||
return {
|
||||
type: REDRAFT,
|
||||
status,
|
||||
raw_text,
|
||||
return (dispatch, getState) => {
|
||||
const maxOptions = getState().server.getIn(['server', 'configuration', 'polls', 'max_options']);
|
||||
|
||||
dispatch({
|
||||
type: REDRAFT,
|
||||
status,
|
||||
raw_text,
|
||||
maxOptions,
|
||||
});
|
||||
};
|
||||
}
|
||||
|
||||
|
||||
@@ -1,10 +1,11 @@
|
||||
import { apiRequestPost } from 'mastodon/api';
|
||||
import type { Status, StatusVisibility } from 'mastodon/models/status';
|
||||
import type { ApiStatusJSON } from 'mastodon/api_types/statuses';
|
||||
import type { StatusVisibility } from 'mastodon/models/status';
|
||||
|
||||
export const apiReblog = (statusId: string, visibility: StatusVisibility) =>
|
||||
apiRequestPost<{ reblog: Status }>(`v1/statuses/${statusId}/reblog`, {
|
||||
apiRequestPost<{ reblog: ApiStatusJSON }>(`v1/statuses/${statusId}/reblog`, {
|
||||
visibility,
|
||||
});
|
||||
|
||||
export const apiUnreblog = (statusId: string) =>
|
||||
apiRequestPost<Status>(`v1/statuses/${statusId}/unreblog`);
|
||||
apiRequestPost<ApiStatusJSON>(`v1/statuses/${statusId}/unreblog`);
|
||||
|
||||
@@ -37,7 +37,7 @@ export interface BaseApiAccountJSON {
|
||||
roles?: ApiAccountJSON[];
|
||||
statuses_count: number;
|
||||
uri: string;
|
||||
url: string;
|
||||
url?: string;
|
||||
username: string;
|
||||
moved?: ApiAccountJSON;
|
||||
suspended?: boolean;
|
||||
|
||||
@@ -1,12 +1,30 @@
|
||||
import { useCallback } from 'react';
|
||||
|
||||
import { useLinks } from 'mastodon/hooks/useLinks';
|
||||
|
||||
export const AccountBio: React.FC<{
|
||||
interface AccountBioProps {
|
||||
note: string;
|
||||
className: string;
|
||||
}> = ({ note, className }) => {
|
||||
const handleClick = useLinks();
|
||||
dropdownAccountId?: string;
|
||||
}
|
||||
|
||||
if (note.length === 0 || note === '<p></p>') {
|
||||
export const AccountBio: React.FC<AccountBioProps> = ({
|
||||
note,
|
||||
className,
|
||||
dropdownAccountId,
|
||||
}) => {
|
||||
const handleClick = useLinks(!!dropdownAccountId);
|
||||
const handleNodeChange = useCallback(
|
||||
(node: HTMLDivElement | null) => {
|
||||
if (!dropdownAccountId || !node || node.childNodes.length === 0) {
|
||||
return;
|
||||
}
|
||||
addDropdownToHashtags(node, dropdownAccountId);
|
||||
},
|
||||
[dropdownAccountId],
|
||||
);
|
||||
|
||||
if (note.length === 0) {
|
||||
return null;
|
||||
}
|
||||
|
||||
@@ -15,6 +33,28 @@ export const AccountBio: React.FC<{
|
||||
className={`${className} translate`}
|
||||
dangerouslySetInnerHTML={{ __html: note }}
|
||||
onClickCapture={handleClick}
|
||||
ref={handleNodeChange}
|
||||
/>
|
||||
);
|
||||
};
|
||||
|
||||
function addDropdownToHashtags(node: HTMLElement | null, accountId: string) {
|
||||
if (!node) {
|
||||
return;
|
||||
}
|
||||
for (const childNode of node.childNodes) {
|
||||
if (!(childNode instanceof HTMLElement)) {
|
||||
continue;
|
||||
}
|
||||
if (
|
||||
childNode instanceof HTMLAnchorElement &&
|
||||
(childNode.classList.contains('hashtag') ||
|
||||
childNode.innerText.startsWith('#')) &&
|
||||
!childNode.dataset.menuHashtag
|
||||
) {
|
||||
childNode.dataset.menuHashtag = accountId;
|
||||
} else if (childNode.childNodes.length > 0) {
|
||||
addDropdownToHashtags(childNode, accountId);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -5,6 +5,7 @@ import {
|
||||
useCallback,
|
||||
cloneElement,
|
||||
Children,
|
||||
useId,
|
||||
} from 'react';
|
||||
|
||||
import classNames from 'classnames';
|
||||
@@ -16,6 +17,7 @@ import Overlay from 'react-overlays/Overlay';
|
||||
import type {
|
||||
OffsetValue,
|
||||
UsePopperOptions,
|
||||
Placement,
|
||||
} from 'react-overlays/esm/usePopper';
|
||||
|
||||
import { fetchRelationships } from 'mastodon/actions/accounts';
|
||||
@@ -295,6 +297,11 @@ interface DropdownProps<Item = MenuItem> {
|
||||
title?: string;
|
||||
disabled?: boolean;
|
||||
scrollable?: boolean;
|
||||
placement?: Placement;
|
||||
/**
|
||||
* Prevent the `ScrollableList` with this scrollKey
|
||||
* from being scrolled while the dropdown is open
|
||||
*/
|
||||
scrollKey?: string;
|
||||
status?: ImmutableMap<string, unknown>;
|
||||
forceDropdown?: boolean;
|
||||
@@ -316,6 +323,7 @@ export const Dropdown = <Item = MenuItem,>({
|
||||
title = 'Menu',
|
||||
disabled,
|
||||
scrollable,
|
||||
placement = 'bottom',
|
||||
status,
|
||||
forceDropdown = false,
|
||||
renderItem,
|
||||
@@ -331,16 +339,15 @@ export const Dropdown = <Item = MenuItem,>({
|
||||
);
|
||||
const [currentId] = useState(id++);
|
||||
const open = currentId === openDropdownId;
|
||||
const activeElement = useRef<HTMLElement | null>(null);
|
||||
const targetRef = useRef<HTMLButtonElement | null>(null);
|
||||
const buttonRef = useRef<HTMLButtonElement | null>(null);
|
||||
const menuId = useId();
|
||||
const prefetchAccountId = status
|
||||
? status.getIn(['account', 'id'])
|
||||
: undefined;
|
||||
|
||||
const handleClose = useCallback(() => {
|
||||
if (activeElement.current) {
|
||||
activeElement.current.focus({ preventScroll: true });
|
||||
activeElement.current = null;
|
||||
if (buttonRef.current) {
|
||||
buttonRef.current.focus({ preventScroll: true });
|
||||
}
|
||||
|
||||
dispatch(
|
||||
@@ -375,7 +382,7 @@ export const Dropdown = <Item = MenuItem,>({
|
||||
[handleClose, onItemClick, items],
|
||||
);
|
||||
|
||||
const handleClick = useCallback(
|
||||
const toggleDropdown = useCallback(
|
||||
(e: React.MouseEvent | React.KeyboardEvent) => {
|
||||
const { type } = e;
|
||||
|
||||
@@ -423,38 +430,6 @@ export const Dropdown = <Item = MenuItem,>({
|
||||
],
|
||||
);
|
||||
|
||||
const handleMouseDown = useCallback(() => {
|
||||
if (!open && document.activeElement instanceof HTMLElement) {
|
||||
activeElement.current = document.activeElement;
|
||||
}
|
||||
}, [open]);
|
||||
|
||||
const handleButtonKeyDown = useCallback(
|
||||
(e: React.KeyboardEvent) => {
|
||||
switch (e.key) {
|
||||
case ' ':
|
||||
case 'Enter':
|
||||
handleMouseDown();
|
||||
break;
|
||||
}
|
||||
},
|
||||
[handleMouseDown],
|
||||
);
|
||||
|
||||
const handleKeyPress = useCallback(
|
||||
(e: React.KeyboardEvent) => {
|
||||
switch (e.key) {
|
||||
case ' ':
|
||||
case 'Enter':
|
||||
handleClick(e);
|
||||
e.stopPropagation();
|
||||
e.preventDefault();
|
||||
break;
|
||||
}
|
||||
},
|
||||
[handleClick],
|
||||
);
|
||||
|
||||
useEffect(() => {
|
||||
return () => {
|
||||
if (currentId === openDropdownId) {
|
||||
@@ -465,14 +440,16 @@ export const Dropdown = <Item = MenuItem,>({
|
||||
|
||||
let button: React.ReactElement;
|
||||
|
||||
const buttonProps = {
|
||||
disabled,
|
||||
onClick: toggleDropdown,
|
||||
'aria-expanded': open,
|
||||
'aria-controls': menuId,
|
||||
ref: buttonRef,
|
||||
};
|
||||
|
||||
if (children) {
|
||||
button = cloneElement(Children.only(children), {
|
||||
onClick: handleClick,
|
||||
onMouseDown: handleMouseDown,
|
||||
onKeyDown: handleButtonKeyDown,
|
||||
onKeyPress: handleKeyPress,
|
||||
ref: targetRef,
|
||||
});
|
||||
button = cloneElement(Children.only(children), buttonProps);
|
||||
} else if (icon && iconComponent) {
|
||||
button = (
|
||||
<IconButton
|
||||
@@ -480,12 +457,7 @@ export const Dropdown = <Item = MenuItem,>({
|
||||
iconComponent={iconComponent}
|
||||
title={title}
|
||||
active={open}
|
||||
disabled={disabled}
|
||||
onClick={handleClick}
|
||||
onMouseDown={handleMouseDown}
|
||||
onKeyDown={handleButtonKeyDown}
|
||||
onKeyPress={handleKeyPress}
|
||||
ref={targetRef}
|
||||
{...buttonProps}
|
||||
/>
|
||||
);
|
||||
} else {
|
||||
@@ -499,13 +471,13 @@ export const Dropdown = <Item = MenuItem,>({
|
||||
<Overlay
|
||||
show={open}
|
||||
offset={offset}
|
||||
placement='bottom'
|
||||
placement={placement}
|
||||
flip
|
||||
target={targetRef}
|
||||
target={buttonRef}
|
||||
popperConfig={popperConfig}
|
||||
>
|
||||
{({ props, arrowProps, placement }) => (
|
||||
<div {...props}>
|
||||
<div {...props} id={menuId}>
|
||||
<div className={`dropdown-animation dropdown-menu ${placement}`}>
|
||||
<div
|
||||
className={`dropdown-menu__arrow ${placement}`}
|
||||
|
||||
@@ -14,7 +14,6 @@ interface Props {
|
||||
onClick?: React.MouseEventHandler<HTMLButtonElement>;
|
||||
onMouseDown?: React.MouseEventHandler<HTMLButtonElement>;
|
||||
onKeyDown?: React.KeyboardEventHandler<HTMLButtonElement>;
|
||||
onKeyPress?: React.KeyboardEventHandler<HTMLButtonElement>;
|
||||
active?: boolean;
|
||||
expanded?: boolean;
|
||||
style?: React.CSSProperties;
|
||||
@@ -45,7 +44,6 @@ export const IconButton = forwardRef<HTMLButtonElement, Props>(
|
||||
activeStyle,
|
||||
onClick,
|
||||
onKeyDown,
|
||||
onKeyPress,
|
||||
onMouseDown,
|
||||
active = false,
|
||||
disabled = false,
|
||||
@@ -85,16 +83,6 @@ export const IconButton = forwardRef<HTMLButtonElement, Props>(
|
||||
[disabled, onClick],
|
||||
);
|
||||
|
||||
const handleKeyPress: React.KeyboardEventHandler<HTMLButtonElement> =
|
||||
useCallback(
|
||||
(e) => {
|
||||
if (!disabled) {
|
||||
onKeyPress?.(e);
|
||||
}
|
||||
},
|
||||
[disabled, onKeyPress],
|
||||
);
|
||||
|
||||
const handleMouseDown: React.MouseEventHandler<HTMLButtonElement> =
|
||||
useCallback(
|
||||
(e) => {
|
||||
@@ -161,7 +149,6 @@ export const IconButton = forwardRef<HTMLButtonElement, Props>(
|
||||
onClick={handleClick}
|
||||
onMouseDown={handleMouseDown}
|
||||
onKeyDown={handleKeyDown}
|
||||
onKeyPress={handleKeyPress} // eslint-disable-line @typescript-eslint/no-deprecated
|
||||
style={buttonStyle}
|
||||
tabIndex={tabIndex}
|
||||
disabled={disabled}
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
import { useEffect, useMemo } from 'react';
|
||||
import { useCallback, useEffect, useMemo } from 'react';
|
||||
|
||||
import { FormattedMessage } from 'react-intl';
|
||||
|
||||
@@ -11,13 +11,16 @@ import ArticleIcon from '@/material-icons/400-24px/article.svg?react';
|
||||
import ChevronRightIcon from '@/material-icons/400-24px/chevron_right.svg?react';
|
||||
import { Icon } from 'mastodon/components/icon';
|
||||
import StatusContainer from 'mastodon/containers/status_container';
|
||||
import { domain } from 'mastodon/initial_state';
|
||||
import type { Status } from 'mastodon/models/status';
|
||||
import type { RootState } from 'mastodon/store';
|
||||
import { useAppDispatch, useAppSelector } from 'mastodon/store';
|
||||
|
||||
import QuoteIcon from '../../images/quote.svg?react';
|
||||
import { revealAccount } from '../actions/accounts_typed';
|
||||
import { fetchStatus } from '../actions/statuses';
|
||||
import { makeGetStatus } from '../selectors';
|
||||
import { getAccountHidden } from '../selectors/accounts';
|
||||
|
||||
const MAX_QUOTE_POSTS_NESTING_LEVEL = 1;
|
||||
|
||||
@@ -37,9 +40,7 @@ const QuoteWrapper: React.FC<{
|
||||
);
|
||||
};
|
||||
|
||||
const NestedQuoteLink: React.FC<{
|
||||
status: Status;
|
||||
}> = ({ status }) => {
|
||||
const NestedQuoteLink: React.FC<{ status: Status }> = ({ status }) => {
|
||||
const accountId = status.get('account') as string;
|
||||
const account = useAppSelector((state) =>
|
||||
accountId ? state.accounts.get(accountId) : undefined,
|
||||
@@ -75,24 +76,74 @@ type GetStatusSelector = (
|
||||
props: { id?: string | null; contextType?: string },
|
||||
) => Status | null;
|
||||
|
||||
const LimitedAccountHint: React.FC<{ accountId: string }> = ({ accountId }) => {
|
||||
const dispatch = useAppDispatch();
|
||||
const reveal = useCallback(() => {
|
||||
dispatch(revealAccount({ id: accountId }));
|
||||
}, [dispatch, accountId]);
|
||||
|
||||
return (
|
||||
<>
|
||||
<FormattedMessage
|
||||
id='status.quote_error.limited_account_hint.title'
|
||||
defaultMessage='This account has been hidden by the moderators of {domain}.'
|
||||
values={{ domain }}
|
||||
/>
|
||||
<button onClick={reveal} className='link-button'>
|
||||
<FormattedMessage
|
||||
id='status.quote_error.limited_account_hint.action'
|
||||
defaultMessage='Show anyway'
|
||||
/>
|
||||
</button>
|
||||
</>
|
||||
);
|
||||
};
|
||||
|
||||
export const QuotedStatus: React.FC<{
|
||||
quote: QuoteMap;
|
||||
contextType?: string;
|
||||
parentQuotePostId?: string | null;
|
||||
variant?: 'full' | 'link';
|
||||
nestingLevel?: number;
|
||||
}> = ({ quote, contextType, nestingLevel = 1, variant = 'full' }) => {
|
||||
}> = ({
|
||||
quote,
|
||||
contextType,
|
||||
parentQuotePostId,
|
||||
nestingLevel = 1,
|
||||
variant = 'full',
|
||||
}) => {
|
||||
const dispatch = useAppDispatch();
|
||||
const quoteState = useAppSelector((state) =>
|
||||
parentQuotePostId
|
||||
? state.statuses.getIn([parentQuotePostId, 'quote', 'state'])
|
||||
: quote.get('state'),
|
||||
);
|
||||
|
||||
const quotedStatusId = quote.get('quoted_status');
|
||||
const quoteState = quote.get('state');
|
||||
const status = useAppSelector((state) =>
|
||||
quotedStatusId ? state.statuses.get(quotedStatusId) : undefined,
|
||||
);
|
||||
|
||||
const shouldLoadQuote = !status?.get('isLoading') && quoteState !== 'deleted';
|
||||
|
||||
const accountId: string | null = status?.get('account', null) as
|
||||
| string
|
||||
| null;
|
||||
|
||||
const hiddenAccount = useAppSelector(
|
||||
(state) => accountId && getAccountHidden(state, accountId),
|
||||
);
|
||||
|
||||
useEffect(() => {
|
||||
if (!status && quotedStatusId) {
|
||||
dispatch(fetchStatus(quotedStatusId));
|
||||
if (shouldLoadQuote && quotedStatusId) {
|
||||
dispatch(
|
||||
fetchStatus(quotedStatusId, {
|
||||
parentQuotePostId,
|
||||
alsoFetchContext: false,
|
||||
}),
|
||||
);
|
||||
}
|
||||
}, [status, quotedStatusId, dispatch]);
|
||||
}, [shouldLoadQuote, quotedStatusId, parentQuotePostId, dispatch]);
|
||||
|
||||
// In order to find out whether the quoted post should be completely hidden
|
||||
// due to a matching filter, we run it through the selector used by `status_container`.
|
||||
@@ -147,6 +198,8 @@ export const QuotedStatus: React.FC<{
|
||||
defaultMessage='This post cannot be displayed.'
|
||||
/>
|
||||
);
|
||||
} else if (hiddenAccount && accountId) {
|
||||
quoteError = <LimitedAccountHint accountId={accountId} />;
|
||||
}
|
||||
|
||||
if (quoteError) {
|
||||
@@ -173,6 +226,7 @@ export const QuotedStatus: React.FC<{
|
||||
{canRenderChildQuote && (
|
||||
<QuotedStatus
|
||||
quote={childQuote}
|
||||
parentQuotePostId={quotedStatusId}
|
||||
contextType={contextType}
|
||||
variant={
|
||||
nestingLevel === MAX_QUOTE_POSTS_NESTING_LEVEL ? 'link' : 'full'
|
||||
@@ -208,7 +262,11 @@ export const StatusQuoteManager = (props: StatusQuoteManagerProps) => {
|
||||
if (quote) {
|
||||
return (
|
||||
<StatusContainer {...props}>
|
||||
<QuotedStatus quote={quote} contextType={props.contextType} />
|
||||
<QuotedStatus
|
||||
quote={quote}
|
||||
parentQuotePostId={status?.get('id') as string}
|
||||
contextType={props.contextType}
|
||||
/>
|
||||
</StatusContainer>
|
||||
);
|
||||
}
|
||||
|
||||
@@ -6,6 +6,7 @@ import classNames from 'classnames';
|
||||
import { Helmet } from 'react-helmet';
|
||||
import { NavLink } from 'react-router-dom';
|
||||
|
||||
import { AccountBio } from '@/mastodon/components/account_bio';
|
||||
import CheckIcon from '@/material-icons/400-24px/check.svg?react';
|
||||
import LockIcon from '@/material-icons/400-24px/lock.svg?react';
|
||||
import MoreHorizIcon from '@/material-icons/400-24px/more_horiz.svg?react';
|
||||
@@ -773,7 +774,6 @@ export const AccountHeader: React.FC<{
|
||||
);
|
||||
}
|
||||
|
||||
const content = { __html: account.note_emojified };
|
||||
const displayNameHtml = { __html: account.display_name_html };
|
||||
const fields = account.fields;
|
||||
const isLocal = !account.acct.includes('@');
|
||||
@@ -897,12 +897,11 @@ export const AccountHeader: React.FC<{
|
||||
<AccountNote accountId={accountId} />
|
||||
)}
|
||||
|
||||
{account.note.length > 0 && account.note !== '<p></p>' && (
|
||||
<div
|
||||
className='account__header__content translate'
|
||||
dangerouslySetInnerHTML={content}
|
||||
/>
|
||||
)}
|
||||
<AccountBio
|
||||
note={account.note_emojified}
|
||||
dropdownAccountId={accountId}
|
||||
className='account__header__content'
|
||||
/>
|
||||
|
||||
<div className='account__header__fields'>
|
||||
<dl>
|
||||
|
||||
@@ -261,7 +261,9 @@ export const AltTextModal = forwardRef<ModalRef, Props & Partial<RestoreProps>>(
|
||||
);
|
||||
const lang = useAppSelector(
|
||||
(state) =>
|
||||
(state.compose as ImmutableMap<string, unknown>).get('lang') as string,
|
||||
(state.compose as ImmutableMap<string, unknown>).get(
|
||||
'language',
|
||||
) as string,
|
||||
);
|
||||
const focusX =
|
||||
(media?.getIn(['meta', 'focus', 'x'], 0) as number | undefined) ?? 0;
|
||||
|
||||
@@ -73,6 +73,7 @@ class ComposeForm extends ImmutablePureComponent {
|
||||
singleColumn: PropTypes.bool,
|
||||
lang: PropTypes.string,
|
||||
maxChars: PropTypes.number,
|
||||
redirectOnSuccess: PropTypes.bool,
|
||||
};
|
||||
|
||||
static defaultProps = {
|
||||
@@ -310,7 +311,7 @@ class ComposeForm extends ImmutablePureComponent {
|
||||
>
|
||||
{intl.formatMessage(
|
||||
this.props.isEditing ?
|
||||
messages.saveChanges :
|
||||
messages.saveChanges :
|
||||
(this.props.isInReply ? messages.reply : messages.publish)
|
||||
)}
|
||||
</Button>
|
||||
|
||||
@@ -34,7 +34,7 @@ const mapStateToProps = state => ({
|
||||
maxChars: state.getIn(['server', 'server', 'configuration', 'statuses', 'max_characters'], 500),
|
||||
});
|
||||
|
||||
const mapDispatchToProps = (dispatch) => ({
|
||||
const mapDispatchToProps = (dispatch, props) => ({
|
||||
|
||||
onChange (text) {
|
||||
dispatch(changeCompose(text));
|
||||
@@ -47,7 +47,11 @@ const mapDispatchToProps = (dispatch) => ({
|
||||
modalProps: {},
|
||||
}));
|
||||
} else {
|
||||
dispatch(submitCompose());
|
||||
dispatch(submitCompose((status) => {
|
||||
if (props.redirectOnSuccess) {
|
||||
window.location.assign(status.url);
|
||||
}
|
||||
}));
|
||||
}
|
||||
},
|
||||
|
||||
|
||||
@@ -50,16 +50,22 @@ export const MoreLink: React.FC = () => {
|
||||
|
||||
const menu = useMemo(() => {
|
||||
const arr: MenuItem[] = [
|
||||
{ text: intl.formatMessage(messages.filters), href: '/filters' },
|
||||
{ text: intl.formatMessage(messages.mutes), to: '/mutes' },
|
||||
{ text: intl.formatMessage(messages.blocks), to: '/blocks' },
|
||||
{
|
||||
text: intl.formatMessage(messages.domainBlocks),
|
||||
to: '/domain_blocks',
|
||||
href: '/filters',
|
||||
text: intl.formatMessage(messages.filters),
|
||||
},
|
||||
{
|
||||
to: '/mutes',
|
||||
text: intl.formatMessage(messages.mutes),
|
||||
},
|
||||
{
|
||||
to: '/blocks',
|
||||
text: intl.formatMessage(messages.blocks),
|
||||
},
|
||||
{
|
||||
to: '/domain_blocks',
|
||||
text: intl.formatMessage(messages.domainBlocks),
|
||||
},
|
||||
];
|
||||
|
||||
arr.push(
|
||||
null,
|
||||
{
|
||||
href: '/settings/privacy',
|
||||
@@ -77,7 +83,7 @@ export const MoreLink: React.FC = () => {
|
||||
href: '/settings/export',
|
||||
text: intl.formatMessage(messages.importExport),
|
||||
},
|
||||
);
|
||||
];
|
||||
|
||||
if (canManageReports(permissions)) {
|
||||
arr.push(null, {
|
||||
@@ -106,7 +112,7 @@ export const MoreLink: React.FC = () => {
|
||||
}, [intl, dispatch, permissions]);
|
||||
|
||||
return (
|
||||
<Dropdown items={menu}>
|
||||
<Dropdown items={menu} placement='bottom-start'>
|
||||
<button className='column-link column-link--transparent'>
|
||||
<Icon id='' icon={MoreHorizIcon} className='column-link__icon' />
|
||||
|
||||
|
||||
@@ -431,6 +431,7 @@ export const CollapsibleNavigationPanel: React.FC = () => {
|
||||
filterTaps: true,
|
||||
bounds: isLtrDir ? { left: 0 } : { right: 0 },
|
||||
rubberband: true,
|
||||
enabled: openable,
|
||||
},
|
||||
);
|
||||
|
||||
|
||||
@@ -122,98 +122,93 @@ export const PolicyControls: React.FC = () => {
|
||||
value={notificationPolicy.for_not_following}
|
||||
onChange={handleFilterNotFollowing}
|
||||
options={options}
|
||||
>
|
||||
<strong>
|
||||
label={
|
||||
<FormattedMessage
|
||||
id='notifications.policy.filter_not_following_title'
|
||||
defaultMessage="People you don't follow"
|
||||
/>
|
||||
</strong>
|
||||
<span className='hint'>
|
||||
}
|
||||
hint={
|
||||
<FormattedMessage
|
||||
id='notifications.policy.filter_not_following_hint'
|
||||
defaultMessage='Until you manually approve them'
|
||||
/>
|
||||
</span>
|
||||
</SelectWithLabel>
|
||||
}
|
||||
/>
|
||||
|
||||
<SelectWithLabel
|
||||
value={notificationPolicy.for_not_followers}
|
||||
onChange={handleFilterNotFollowers}
|
||||
options={options}
|
||||
>
|
||||
<strong>
|
||||
label={
|
||||
<FormattedMessage
|
||||
id='notifications.policy.filter_not_followers_title'
|
||||
defaultMessage='People not following you'
|
||||
/>
|
||||
</strong>
|
||||
<span className='hint'>
|
||||
}
|
||||
hint={
|
||||
<FormattedMessage
|
||||
id='notifications.policy.filter_not_followers_hint'
|
||||
defaultMessage='Including people who have been following you fewer than {days, plural, one {one day} other {# days}}'
|
||||
values={{ days: 3 }}
|
||||
/>
|
||||
</span>
|
||||
</SelectWithLabel>
|
||||
}
|
||||
/>
|
||||
|
||||
<SelectWithLabel
|
||||
value={notificationPolicy.for_new_accounts}
|
||||
onChange={handleFilterNewAccounts}
|
||||
options={options}
|
||||
>
|
||||
<strong>
|
||||
label={
|
||||
<FormattedMessage
|
||||
id='notifications.policy.filter_new_accounts_title'
|
||||
defaultMessage='New accounts'
|
||||
/>
|
||||
</strong>
|
||||
<span className='hint'>
|
||||
}
|
||||
hint={
|
||||
<FormattedMessage
|
||||
id='notifications.policy.filter_new_accounts.hint'
|
||||
defaultMessage='Created within the past {days, plural, one {one day} other {# days}}'
|
||||
values={{ days: 30 }}
|
||||
/>
|
||||
</span>
|
||||
</SelectWithLabel>
|
||||
}
|
||||
/>
|
||||
|
||||
<SelectWithLabel
|
||||
value={notificationPolicy.for_private_mentions}
|
||||
onChange={handleFilterPrivateMentions}
|
||||
options={options}
|
||||
>
|
||||
<strong>
|
||||
label={
|
||||
<FormattedMessage
|
||||
id='notifications.policy.filter_private_mentions_title'
|
||||
defaultMessage='Unsolicited private mentions'
|
||||
/>
|
||||
</strong>
|
||||
<span className='hint'>
|
||||
}
|
||||
hint={
|
||||
<FormattedMessage
|
||||
id='notifications.policy.filter_private_mentions_hint'
|
||||
defaultMessage="Filtered unless it's in reply to your own mention or if you follow the sender"
|
||||
/>
|
||||
</span>
|
||||
</SelectWithLabel>
|
||||
}
|
||||
/>
|
||||
|
||||
<SelectWithLabel
|
||||
value={notificationPolicy.for_limited_accounts}
|
||||
onChange={handleFilterLimitedAccounts}
|
||||
options={options}
|
||||
>
|
||||
<strong>
|
||||
label={
|
||||
<FormattedMessage
|
||||
id='notifications.policy.filter_limited_accounts_title'
|
||||
defaultMessage='Moderated accounts'
|
||||
/>
|
||||
</strong>
|
||||
<span className='hint'>
|
||||
}
|
||||
hint={
|
||||
<FormattedMessage
|
||||
id='notifications.policy.filter_limited_accounts_hint'
|
||||
defaultMessage='Limited by server moderators'
|
||||
/>
|
||||
</span>
|
||||
</SelectWithLabel>
|
||||
}
|
||||
/>
|
||||
</div>
|
||||
</section>
|
||||
);
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
import type { PropsWithChildren } from 'react';
|
||||
import { useCallback, useState, useRef } from 'react';
|
||||
import { useCallback, useState, useRef, useId } from 'react';
|
||||
|
||||
import classNames from 'classnames';
|
||||
|
||||
@@ -16,6 +16,8 @@ interface DropdownProps {
|
||||
options: SelectItem[];
|
||||
disabled?: boolean;
|
||||
onChange: (value: string) => void;
|
||||
'aria-labelledby': string;
|
||||
'aria-describedby'?: string;
|
||||
placement?: Placement;
|
||||
}
|
||||
|
||||
@@ -24,51 +26,33 @@ const Dropdown: React.FC<DropdownProps> = ({
|
||||
options,
|
||||
disabled,
|
||||
onChange,
|
||||
'aria-labelledby': ariaLabelledBy,
|
||||
'aria-describedby': ariaDescribedBy,
|
||||
placement: initialPlacement = 'bottom-end',
|
||||
}) => {
|
||||
const activeElementRef = useRef<Element | null>(null);
|
||||
const containerRef = useRef(null);
|
||||
const containerRef = useRef<HTMLDivElement>(null);
|
||||
const buttonRef = useRef<HTMLButtonElement>(null);
|
||||
const [isOpen, setOpen] = useState<boolean>(false);
|
||||
const [placement, setPlacement] = useState<Placement>(initialPlacement);
|
||||
|
||||
const handleToggle = useCallback(() => {
|
||||
if (
|
||||
isOpen &&
|
||||
activeElementRef.current &&
|
||||
activeElementRef.current instanceof HTMLElement
|
||||
) {
|
||||
activeElementRef.current.focus({ preventScroll: true });
|
||||
}
|
||||
|
||||
setOpen(!isOpen);
|
||||
}, [isOpen, setOpen]);
|
||||
|
||||
const handleMouseDown = useCallback(() => {
|
||||
if (!isOpen) activeElementRef.current = document.activeElement;
|
||||
}, [isOpen]);
|
||||
|
||||
const handleKeyDown = useCallback(
|
||||
(e: React.KeyboardEvent) => {
|
||||
switch (e.key) {
|
||||
case ' ':
|
||||
case 'Enter':
|
||||
if (!isOpen) activeElementRef.current = document.activeElement;
|
||||
break;
|
||||
}
|
||||
},
|
||||
[isOpen],
|
||||
);
|
||||
const uniqueId = useId();
|
||||
const menuId = `${uniqueId}-menu`;
|
||||
const buttonLabelId = `${uniqueId}-button`;
|
||||
|
||||
const handleClose = useCallback(() => {
|
||||
if (
|
||||
isOpen &&
|
||||
activeElementRef.current &&
|
||||
activeElementRef.current instanceof HTMLElement
|
||||
)
|
||||
activeElementRef.current.focus({ preventScroll: true });
|
||||
if (isOpen && buttonRef.current) {
|
||||
buttonRef.current.focus({ preventScroll: true });
|
||||
}
|
||||
setOpen(false);
|
||||
}, [isOpen]);
|
||||
|
||||
const handleToggle = useCallback(() => {
|
||||
if (isOpen) {
|
||||
handleClose();
|
||||
} else {
|
||||
setOpen(true);
|
||||
}
|
||||
}, [isOpen, handleClose]);
|
||||
|
||||
const handleOverlayEnter = useCallback(
|
||||
(state: Partial<PopperState>) => {
|
||||
if (state.placement) setPlacement(state.placement);
|
||||
@@ -82,13 +66,18 @@ const Dropdown: React.FC<DropdownProps> = ({
|
||||
<div ref={containerRef}>
|
||||
<button
|
||||
type='button'
|
||||
ref={buttonRef}
|
||||
onClick={handleToggle}
|
||||
onMouseDown={handleMouseDown}
|
||||
onKeyDown={handleKeyDown}
|
||||
disabled={disabled}
|
||||
aria-expanded={isOpen}
|
||||
aria-controls={menuId}
|
||||
aria-labelledby={`${ariaLabelledBy} ${buttonLabelId}`}
|
||||
aria-describedby={ariaDescribedBy}
|
||||
className={classNames('dropdown-button', { active: isOpen })}
|
||||
>
|
||||
<span className='dropdown-button__label'>{valueOption?.text}</span>
|
||||
<span id={buttonLabelId} className='dropdown-button__label'>
|
||||
{valueOption?.text}
|
||||
</span>
|
||||
<Icon id='down' icon={ArrowDropDownIcon} />
|
||||
</button>
|
||||
|
||||
@@ -101,7 +90,7 @@ const Dropdown: React.FC<DropdownProps> = ({
|
||||
popperConfig={{ strategy: 'fixed', onFirstUpdate: handleOverlayEnter }}
|
||||
>
|
||||
{({ props, placement }) => (
|
||||
<div {...props}>
|
||||
<div {...props} id={menuId}>
|
||||
<div
|
||||
className={`dropdown-animation privacy-dropdown__dropdown ${placement}`}
|
||||
>
|
||||
@@ -123,6 +112,8 @@ const Dropdown: React.FC<DropdownProps> = ({
|
||||
interface Props {
|
||||
value: string;
|
||||
options: SelectItem[];
|
||||
label: string | React.ReactElement;
|
||||
hint: string | React.ReactElement;
|
||||
disabled?: boolean;
|
||||
onChange: (value: string) => void;
|
||||
}
|
||||
@@ -130,13 +121,26 @@ interface Props {
|
||||
export const SelectWithLabel: React.FC<PropsWithChildren<Props>> = ({
|
||||
value,
|
||||
options,
|
||||
label,
|
||||
hint,
|
||||
disabled,
|
||||
children,
|
||||
onChange,
|
||||
}) => {
|
||||
const uniqueId = useId();
|
||||
const labelId = `${uniqueId}-label`;
|
||||
const descId = `${uniqueId}-desc`;
|
||||
|
||||
return (
|
||||
// This label is only used for its click-forwarding behaviour,
|
||||
// accessible names are assigned manually
|
||||
// eslint-disable-next-line jsx-a11y/label-has-associated-control
|
||||
<label className='app-form__toggle'>
|
||||
<div className='app-form__toggle__label'>{children}</div>
|
||||
<div className='app-form__toggle__label'>
|
||||
<strong id={labelId}>{label}</strong>
|
||||
<span className='hint' id={descId}>
|
||||
{hint}
|
||||
</span>
|
||||
</div>
|
||||
|
||||
<div className='app-form__toggle__toggle'>
|
||||
<div>
|
||||
@@ -144,6 +148,8 @@ export const SelectWithLabel: React.FC<PropsWithChildren<Props>> = ({
|
||||
value={value}
|
||||
onChange={onChange}
|
||||
disabled={disabled}
|
||||
aria-labelledby={labelId}
|
||||
aria-describedby={descId}
|
||||
options={options}
|
||||
/>
|
||||
</div>
|
||||
|
||||
@@ -21,6 +21,7 @@ import { openModal } from 'mastodon/actions/modal';
|
||||
import { IconButton } from 'mastodon/components/icon_button';
|
||||
import { useIdentity } from 'mastodon/identity_context';
|
||||
import { me } from 'mastodon/initial_state';
|
||||
import type { Account } from 'mastodon/models/account';
|
||||
import type { Status } from 'mastodon/models/status';
|
||||
import { makeGetStatus } from 'mastodon/selectors';
|
||||
import type { RootState } from 'mastodon/store';
|
||||
@@ -66,10 +67,7 @@ export const Footer: React.FC<{
|
||||
const dispatch = useAppDispatch();
|
||||
const getStatus = useMemo(() => makeGetStatus(), []) as GetStatusSelector;
|
||||
const status = useAppSelector((state) => getStatus(state, { id: statusId }));
|
||||
const accountId = status?.get('account') as string | undefined;
|
||||
const account = useAppSelector((state) =>
|
||||
accountId ? state.accounts.get(accountId) : undefined,
|
||||
);
|
||||
const account = status?.get('account') as Account | undefined;
|
||||
const askReplyConfirmation = useAppSelector(
|
||||
(state) => (state.compose.get('text') as string).trim().length !== 0,
|
||||
);
|
||||
|
||||
@@ -5,7 +5,7 @@ import ModalContainer from 'mastodon/features/ui/containers/modal_container';
|
||||
|
||||
const Compose = () => (
|
||||
<>
|
||||
<ComposeFormContainer autoFocus withoutNavigation />
|
||||
<ComposeFormContainer autoFocus withoutNavigation redirectOnSuccess />
|
||||
<AlertsController />
|
||||
<ModalContainer />
|
||||
<LoadingBarContainer className='loading-bar' />
|
||||
|
||||
@@ -32,7 +32,7 @@ const Embed: React.FC<{ id: string }> = ({ id }) => {
|
||||
const dispatchRenderSignal = useRenderSignal();
|
||||
|
||||
useEffect(() => {
|
||||
dispatch(fetchStatus(id, false, false));
|
||||
dispatch(fetchStatus(id, { alsoFetchContext: false }));
|
||||
}, [dispatch, id]);
|
||||
|
||||
const handleToggleHidden = useCallback(() => {
|
||||
|
||||
@@ -381,7 +381,10 @@ export const DetailedStatus: React.FC<{
|
||||
{hashtagBar}
|
||||
|
||||
{status.get('quote') && (
|
||||
<QuotedStatus quote={status.get('quote')} />
|
||||
<QuotedStatus
|
||||
quote={status.get('quote')}
|
||||
parentQuotePostId={status.get('id')}
|
||||
/>
|
||||
)}
|
||||
</>
|
||||
)}
|
||||
|
||||
@@ -38,7 +38,7 @@ class FilterModal extends ImmutablePureComponent {
|
||||
|
||||
handleSuccess = () => {
|
||||
const { dispatch, statusId } = this.props;
|
||||
dispatch(fetchStatus(statusId, true));
|
||||
dispatch(fetchStatus(statusId, {forceFetch: true}));
|
||||
this.setState({ isSubmitting: false, isSubmitted: true, step: 'submitted' });
|
||||
};
|
||||
|
||||
|
||||
@@ -201,8 +201,6 @@ class MediaModal extends ImmutablePureComponent {
|
||||
preview={image.get('preview_url')}
|
||||
blurhash={image.get('blurhash')}
|
||||
src={image.get('url')}
|
||||
width={image.get('width')}
|
||||
height={image.get('height')}
|
||||
frameRate={image.getIn(['meta', 'original', 'frame_rate'])}
|
||||
aspectRatio={`${image.getIn(['meta', 'original', 'width'])} / ${image.getIn(['meta', 'original', 'height'])}`}
|
||||
startTime={currentTime || 0}
|
||||
@@ -219,8 +217,6 @@ class MediaModal extends ImmutablePureComponent {
|
||||
return (
|
||||
<GIFV
|
||||
src={image.get('url')}
|
||||
width={width}
|
||||
height={height}
|
||||
key={image.get('url')}
|
||||
alt={description}
|
||||
lang={lang}
|
||||
|
||||
@@ -90,8 +90,7 @@ const messages = defineMessages({
|
||||
const mapStateToProps = state => ({
|
||||
layout: state.getIn(['meta', 'layout']),
|
||||
isComposing: state.getIn(['compose', 'is_composing']),
|
||||
hasComposingText: state.getIn(['compose', 'text']).trim().length !== 0,
|
||||
hasMediaAttachments: state.getIn(['compose', 'media_attachments']).size > 0,
|
||||
hasComposingContents: state.getIn(['compose', 'text']).trim().length !== 0 || state.getIn(['compose', 'media_attachments']).size > 0 || state.getIn(['compose', 'poll']) !== null,
|
||||
canUploadMore: !state.getIn(['compose', 'media_attachments']).some(x => ['audio', 'video'].includes(x.get('type'))) && state.getIn(['compose', 'media_attachments']).size < state.getIn(['server', 'server', 'configuration', 'statuses', 'max_media_attachments']),
|
||||
firstLaunch: state.getIn(['settings', 'introductionVersion'], 0) < INTRODUCTION_VERSION,
|
||||
newAccount: !state.getIn(['accounts', me, 'note']) && !state.getIn(['accounts', me, 'bot']) && state.getIn(['accounts', me, 'following_count'], 0) === 0 && state.getIn(['accounts', me, 'statuses_count'], 0) === 0,
|
||||
@@ -272,8 +271,7 @@ class UI extends PureComponent {
|
||||
dispatch: PropTypes.func.isRequired,
|
||||
children: PropTypes.node,
|
||||
isComposing: PropTypes.bool,
|
||||
hasComposingText: PropTypes.bool,
|
||||
hasMediaAttachments: PropTypes.bool,
|
||||
hasComposingContents: PropTypes.bool,
|
||||
canUploadMore: PropTypes.bool,
|
||||
intl: PropTypes.object.isRequired,
|
||||
layout: PropTypes.string.isRequired,
|
||||
@@ -288,11 +286,11 @@ class UI extends PureComponent {
|
||||
};
|
||||
|
||||
handleBeforeUnload = e => {
|
||||
const { intl, dispatch, isComposing, hasComposingText, hasMediaAttachments } = this.props;
|
||||
const { intl, dispatch, isComposing, hasComposingContents } = this.props;
|
||||
|
||||
dispatch(synchronouslySubmitMarkers());
|
||||
|
||||
if (isComposing && (hasComposingText || hasMediaAttachments)) {
|
||||
if (isComposing && hasComposingContents) {
|
||||
e.preventDefault();
|
||||
// Setting returnValue to any string causes confirmation dialog.
|
||||
// Many browsers no longer display this text to users,
|
||||
|
||||
@@ -8,13 +8,14 @@ import { openURL } from 'mastodon/actions/search';
|
||||
import { useAppDispatch } from 'mastodon/store';
|
||||
|
||||
const isMentionClick = (element: HTMLAnchorElement) =>
|
||||
element.classList.contains('mention');
|
||||
element.classList.contains('mention') &&
|
||||
!element.classList.contains('hashtag');
|
||||
|
||||
const isHashtagClick = (element: HTMLAnchorElement) =>
|
||||
element.textContent?.[0] === '#' ||
|
||||
element.previousSibling?.textContent?.endsWith('#');
|
||||
|
||||
export const useLinks = () => {
|
||||
export const useLinks = (skipHashtags?: boolean) => {
|
||||
const history = useHistory();
|
||||
const dispatch = useAppDispatch();
|
||||
|
||||
@@ -61,12 +62,12 @@ export const useLinks = () => {
|
||||
if (isMentionClick(target)) {
|
||||
e.preventDefault();
|
||||
void handleMentionClick(target);
|
||||
} else if (isHashtagClick(target)) {
|
||||
} else if (isHashtagClick(target) && !skipHashtags) {
|
||||
e.preventDefault();
|
||||
handleHashtagClick(target);
|
||||
}
|
||||
},
|
||||
[handleMentionClick, handleHashtagClick],
|
||||
[skipHashtags, handleMentionClick, handleHashtagClick],
|
||||
);
|
||||
|
||||
return handleClick;
|
||||
|
||||
@@ -1,6 +1,7 @@
|
||||
{
|
||||
"about.blocks": "Gemodereerde bedieners",
|
||||
"about.contact": "Kontak:",
|
||||
"about.default_locale": "Verstek",
|
||||
"about.disclaimer": "Mastodon is gratis oopbronsagteware en ’n handelsmerk van Mastodon gGmbH.",
|
||||
"about.domain_blocks.no_reason_available": "Rede nie beskikbaar nie",
|
||||
"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.",
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
{
|
||||
"about.blocks": "خوادم تحت الإشراف",
|
||||
"about.contact": "للاتصال:",
|
||||
"about.default_locale": "افتراضيالافتراضية",
|
||||
"about.default_locale": "افتراضي",
|
||||
"about.disclaimer": "ماستدون برنامج حر ومفتوح المصدر وعلامة تجارية لـ Mastodon GmbH.",
|
||||
"about.domain_blocks.no_reason_available": "السبب غير متوفر",
|
||||
"about.domain_blocks.preamble": "يتيح مَستُدون عمومًا لمستخدميه مطالعة المحتوى من المستخدمين من الخواديم الأخرى في الفدرالية والتفاعل معهم. وهذه هي الاستثناءات التي وضعت على هذا الخادوم.",
|
||||
@@ -110,7 +110,7 @@
|
||||
"announcement.announcement": "إعلان",
|
||||
"annual_report.summary.archetype.booster": "The cool-hunter",
|
||||
"annual_report.summary.archetype.lurker": "المتصفح الصامت",
|
||||
"annual_report.summary.archetype.oracle": "حكيم",
|
||||
"annual_report.summary.archetype.oracle": "الحكيم",
|
||||
"annual_report.summary.archetype.pollster": "مستطلع للرأي",
|
||||
"annual_report.summary.archetype.replier": "الفراشة الاجتماعية",
|
||||
"annual_report.summary.followers.followers": "المُتابِعُون",
|
||||
|
||||
@@ -1,13 +1,15 @@
|
||||
{
|
||||
"about.blocks": "Moderasiya olunan serverlər",
|
||||
"about.blocks": "Moderasiya edilmiş serverlər",
|
||||
"about.contact": "Əlaqə:",
|
||||
"about.disclaimer": "Mastodon pulsuz, açıq-mənbəli proqram təminatıdır və Mastodon gGmbH-nin əmtəə nişanıdır.",
|
||||
"about.domain_blocks.no_reason_available": "Səbəb naməlumdur",
|
||||
"about.domain_blocks.preamble": "Mastodon adətən fediversedəki hər hansısa bir serverdən olan məzmuna baxmaq və istifadəçilərlə qarşılıqlı əlaqədə olmaq imkanı verir. Bunlar bu serverdə edilmiş istisnalardır.",
|
||||
"about.default_locale": "İlkin",
|
||||
"about.disclaimer": "Mastodon ödənişsiz, açıq-mənbəli yazılımdır və Mastodon gGmbH-nin əmtəə nişanıdır.",
|
||||
"about.domain_blocks.no_reason_available": "Səbəb mövcud deyil",
|
||||
"about.domain_blocks.preamble": "Mastodon, adətən fediverse-dəki hər hansısa bir serverdən məzmuna baxmağınıza və istifadəçilərlə qarşılıqlı əlaqədə olmağınıza imkanı verir. Bunlar, bu serverdə edilmiş istisnalardır.",
|
||||
"about.domain_blocks.silenced.explanation": "Siz bu serverdəki profilləri və məzmunu xüsusi olaraq axtarmasanız və ya izləməsəniz ümumiyyətlə görməyəcəksiniz.",
|
||||
"about.domain_blocks.silenced.title": "Məhdudlaşdırılmış",
|
||||
"about.domain_blocks.suspended.explanation": "Bu serverdən heç bir data emal edilməyəcək, saxlanılmayacaq və ya mübadilə edilməyəcək və bu serverdən olan istifadəçilərlə hər hansı qarşılıqlı əlaqə qeyri-mümkün olacaq.",
|
||||
"about.domain_blocks.suspended.explanation": "Bu serverdəki heç bir veri emal edilməyəcək, saxlanılmayacaq və ya mübadilə edilməyəcək, bu serverdəki istifadəçilərlə hər hansısa bir qarşılıqlı əlaqə və ya ünsiyyət mümkünsüz olacaq.",
|
||||
"about.domain_blocks.suspended.title": "Qadağa qoyulub",
|
||||
"about.language_label": "Dil",
|
||||
"about.not_available": "Bu məlumat bu serverdə əlçatan edilməyib.",
|
||||
"about.powered_by": "{mastodon} tərəfindən təchiz edilən desentralizasiya edilmiş sosial media",
|
||||
"about.rules": "Server qaydaları",
|
||||
@@ -19,6 +21,7 @@
|
||||
"account.block_domain": "{domain} domenini blokla",
|
||||
"account.block_short": "Blok",
|
||||
"account.blocked": "Bloklanıb",
|
||||
"account.blocking": "Əngəlləmə",
|
||||
"account.cancel_follow_request": "İzləməni ləğv et",
|
||||
"account.copy": "Profil linkini kopyala",
|
||||
"account.direct": "@{name} istifadəçisini fərdi olaraq etiketlə",
|
||||
@@ -27,6 +30,11 @@
|
||||
"account.edit_profile": "Profili redaktə et",
|
||||
"account.enable_notifications": "@{name} paylaşım edəndə mənə bildiriş göndər",
|
||||
"account.endorse": "Profildə seçilmişlərə əlavə et",
|
||||
"account.familiar_followers_many": "{name1}, {name2} və tanıdığınız digər {othersCount, plural, one {digər bir nəfər} other {# nəfər}} izləyir",
|
||||
"account.familiar_followers_one": "{name1} izləyir",
|
||||
"account.familiar_followers_two": "{name1} və {name2} izləyir",
|
||||
"account.featured": "Seçilmiş",
|
||||
"account.featured.accounts": "Profillər",
|
||||
"account.featured.hashtags": "Etiketler",
|
||||
"account.featured_tags.last_status_at": "Son paylaşım {date} tarixində olub",
|
||||
"account.featured_tags.last_status_never": "Paylaşım yoxdur",
|
||||
@@ -35,16 +43,18 @@
|
||||
"account.followers": "İzləyicilər",
|
||||
"account.followers.empty": "Bu istifadəçini hələ ki, heç kim izləmir.",
|
||||
"account.followers_counter": "{count, plural, one {{counter} izləyici} other {{counter} izləyici}}",
|
||||
"account.followers_you_know_counter": "bildiyiniz {counter}",
|
||||
"account.following": "İzləyir",
|
||||
"account.following_counter": "{count, plural, one {{counter} izləyir} other {{counter} izləyir}}",
|
||||
"account.follows.empty": "Bu istifadəçi hələ ki, heç kimi izləmir.",
|
||||
"account.follows_you": "Sizi izləyir",
|
||||
"account.go_to_profile": "Profilə get",
|
||||
"account.hide_reblogs": "@{name} istifadəçisindən olan gücləndirmələri gizlət",
|
||||
"account.hide_reblogs": "@{name} - təkrar paylaşımlarını gizlət",
|
||||
"account.in_memoriam": "Xatirə.",
|
||||
"account.joined_short": "Qoşulub",
|
||||
"account.languages": "Abunə olunmuş dilləri dəyiş",
|
||||
"account.link_verified_on": "Bu linkin dəqiqliyi {date} tarixində yoxlanılıb",
|
||||
"account.locked_info": "Bu hesabın məxfilik statusu kilidlənib. Hesabın sahibi onu kimin izləyə biləcəyini manual olaraq təyin edir.",
|
||||
"account.locked_info": "Bu hesabın məxfilik statusu kilidlənib. Sahibi, onu kimin izləyə biləcəyini manual olaraq incələyir.",
|
||||
"account.media": "Media",
|
||||
"account.mention": "@{name} istifadəçisini teq et",
|
||||
"account.moved_to": "{name} onun yeni hesabının artıq bu olduğunu bildirdi:",
|
||||
@@ -52,18 +62,23 @@
|
||||
"account.mute_notifications_short": "Bildirişləri səssizləşdir",
|
||||
"account.mute_short": "Səssizləşdir",
|
||||
"account.muted": "Səssizləşdirilib",
|
||||
"account.muting": "Səssizə alınır",
|
||||
"account.mutual": "Bir-birinizi izləyirsiniz",
|
||||
"account.no_bio": "Təsvir göstərilməyib.",
|
||||
"account.open_original_page": "Orijinal səhifəni aç",
|
||||
"account.posts": "Paylaşım",
|
||||
"account.posts_with_replies": "Paylaşım və cavablar",
|
||||
"account.remove_from_followers": "{name} - izləyicilərdən çıxart",
|
||||
"account.report": "@{name} istifadəçisini şikayət et",
|
||||
"account.requested": "Təsdiq edilməsi gözlənilir. İzləmə sorğusunu ləğv etmək üçün kliklə",
|
||||
"account.requested_follow": "{name} sizi izləmək sorğusu göndərib",
|
||||
"account.requests_to_follow_you": "Sizi izləmək istəyir",
|
||||
"account.share": "@{name} profilini paylaş",
|
||||
"account.show_reblogs": "@{name} istifadəçisindən olan gücləndirmələri göstər",
|
||||
"account.show_reblogs": "@{name} - təkrar paylaşımlarını göstər",
|
||||
"account.statuses_counter": "{count, plural, one {{counter} paylaşım} other {{counter} paylaşım}}",
|
||||
"account.unblock": "@{name} blokunu aç",
|
||||
"account.unblock_domain": "{domain} domeninin blokunu aç",
|
||||
"account.unblock_domain_short": "Əngəldən çıxart",
|
||||
"account.unblock_short": "Bloku aç",
|
||||
"account.unendorse": "Profildə seçilmişlərə əlavə etmə",
|
||||
"account.unfollow": "İzləmədən çıxar",
|
||||
@@ -102,7 +117,7 @@
|
||||
"annual_report.summary.followers.total": "Cəmi {count}",
|
||||
"annual_report.summary.here_it_is": "{year} icmalınız:",
|
||||
"annual_report.summary.highlighted_post.by_favourites": "ən çox sevilən postu",
|
||||
"annual_report.summary.highlighted_post.by_reblogs": "ən çox gücləndirilən paylaşımı",
|
||||
"annual_report.summary.highlighted_post.by_reblogs": "ən çox təkrar paylaşılan göndəriş",
|
||||
"annual_report.summary.highlighted_post.by_replies": "ən çox cavabı olan paylaşımı",
|
||||
"annual_report.summary.highlighted_post.possessive": "{name} istifadəçisinin",
|
||||
"annual_report.summary.most_used_app.most_used_app": "ən çox istifadə etdiyi tətbiq",
|
||||
@@ -114,7 +129,7 @@
|
||||
"annual_report.summary.thanks": "Mastodonun bir parçası olduğunuz üçün təşəkkür edirik!",
|
||||
"attachments_list.unprocessed": "(emal edilməyib)",
|
||||
"audio.hide": "Audionu gizlət",
|
||||
"block_modal.remote_users_caveat": "Biz {domain} serverindən qərarınıza hörmət etməsini xahiş edəcəyik. Bununla belə, bəzi serverlər blokları fərqli şəkildə idarə edə bildiyi üçün uyğunluğa zəmanət verilmir. İctimai paylaşımlar hələ də daxil olmayan istifadəçilərə görünə bilər.",
|
||||
"block_modal.remote_users_caveat": "{domain} serverindən qərarınıza hörmət etməsini xahiş edəcəyik. Ancaq, bəzi serverlər əngəlləmələri fərqli şəkildə idarə edə bilər deyə, qərarınıza uymağına zəmanət verilmir. Hər kəsə açıq göndərişlər, hələ də sistemə giriş etməmiş istifadəçilərə görünə bilər.",
|
||||
"block_modal.show_less": "Daha az göstər",
|
||||
"block_modal.show_more": "Daha çox göstər",
|
||||
"block_modal.they_cant_mention": "O səni teq edə bilməz və ya izləyə bilməz.",
|
||||
@@ -123,8 +138,8 @@
|
||||
"block_modal.title": "İstifadəçi bloklansın?",
|
||||
"block_modal.you_wont_see_mentions": "Onu teq edən postları görməyəcəksən.",
|
||||
"boost_modal.combo": "Növbəti dəfə bunu atlamaq üçün {combo} klikləyə bilərsən",
|
||||
"boost_modal.reblog": "Paylaşım gücləndirilsin?",
|
||||
"boost_modal.undo_reblog": "Paylaşımın gücləndirilməsi ləğv edilsin?",
|
||||
"boost_modal.reblog": "Paylaşım təkrar paylaşılsın?",
|
||||
"boost_modal.undo_reblog": "Təkrar paylaşım ləğv edilsin?",
|
||||
"bundle_column_error.copy_stacktrace": "Xəta hesabatını kopyala",
|
||||
"bundle_column_error.error.body": "Tələb olunan səhifəni göstərmək mümkün olmadı. Bu, kodumuzdakı səhv və ya brauzer uyğunluğu problemi ilə bağlı ola bilər.",
|
||||
"bundle_column_error.error.title": "Ah, yox!",
|
||||
@@ -159,14 +174,14 @@
|
||||
"column.lists": "Siyahılar",
|
||||
"column.mutes": "Səssizləşdirilmiş istifadəçilər",
|
||||
"column.notifications": "Bildirişlər",
|
||||
"column.pins": "Bərkidilmiş paylaşımlar",
|
||||
"column.pins": "Sancılmış göndərişlər",
|
||||
"column.public": "Federasiya zaman qrafiki",
|
||||
"column_back_button.label": "Geriyə",
|
||||
"column_header.hide_settings": "Parametrləri gizlət",
|
||||
"column_header.hide_settings": "Ayarları gizlət",
|
||||
"column_header.moveLeft_settings": "Sütunu sola köçür",
|
||||
"column_header.moveRight_settings": "Sütunu sağa köçür",
|
||||
"column_header.pin": "Bərkit",
|
||||
"column_header.show_settings": "Parametrləri göstər",
|
||||
"column_header.show_settings": "Ayarları göstər",
|
||||
"column_header.unpin": "Bərkitmə",
|
||||
"column_search.cancel": "İmtina",
|
||||
"community.column_settings.local_only": "Sadəcə lokalda",
|
||||
@@ -192,7 +207,7 @@
|
||||
"compose_form.poll.type": "Stil",
|
||||
"compose_form.publish": "Paylaş",
|
||||
"compose_form.reply": "Cavabla",
|
||||
"compose_form.save_changes": "Yenilə",
|
||||
"compose_form.save_changes": "Güncəllə",
|
||||
"compose_form.spoiler.marked": "Məzmun xəbərdarlığını sil",
|
||||
"compose_form.spoiler.unmarked": "Məzmun xəbərdarlığı əlavə et",
|
||||
"compose_form.spoiler_placeholder": "Məzmun xəbərdarlığı (məcburi deyil)",
|
||||
@@ -204,6 +219,13 @@
|
||||
"confirmations.delete_list.confirm": "Sil",
|
||||
"confirmations.delete_list.message": "Bu siyahını həmişəlik silmək istədiyinizə əminsiniz?",
|
||||
"confirmations.delete_list.title": "Siyahı silinsin?",
|
||||
"confirmations.discard_draft.confirm": "Silib davam et",
|
||||
"confirmations.discard_draft.edit.cancel": "Düzəliş etməyə davam",
|
||||
"confirmations.discard_draft.edit.message": "Davam etsəniz, hazırda düzəliş etdiyiniz göndərişdəki bütün dəyişikliklər silinəcək.",
|
||||
"confirmations.discard_draft.edit.title": "Göndərişinizə etdiyiniz bütün dəyişikliklər silinsin?",
|
||||
"confirmations.discard_draft.post.cancel": "Qaralama kimi davam etdir",
|
||||
"confirmations.discard_draft.post.message": "Davam etsəniz, hazırda tərtib etdiyiniz göndəriş silinəcək.",
|
||||
"confirmations.discard_draft.post.title": "Qaralama göndərişiniz silinsin?",
|
||||
"confirmations.discard_edit_media.confirm": "Ləğv et",
|
||||
"confirmations.discard_edit_media.message": "Media təsvirində və ya önizləmədə yadda saxlanmamış dəyişiklikləriniz var, ləğv edilsin?",
|
||||
"confirmations.follow_to_list.confirm": "İzlə və siyahıya əlavə et",
|
||||
@@ -213,13 +235,16 @@
|
||||
"confirmations.logout.message": "Çıxmaq istədiyinizə əminsiniz?",
|
||||
"confirmations.logout.title": "Çıxış edilsin?",
|
||||
"confirmations.missing_alt_text.confirm": "Alternativ mətn əlavə et",
|
||||
"confirmations.missing_alt_text.message": "Paylaşımınız alternativ mətn ehtiva etmir. Təsvir əlavə etmək onun daha çox insan üçün əlçatan olmasına kömək edir.",
|
||||
"confirmations.missing_alt_text.message": "Göndərişinizdə alternativ mətn yoxdur. Daha çox insanın məzmununuza erişməsinə kömək etmək üçün açıqlama əlavə edin.",
|
||||
"confirmations.missing_alt_text.secondary": "Yenə də paylaş",
|
||||
"confirmations.missing_alt_text.title": "Alternativ mətn əlavə edilsin?",
|
||||
"confirmations.mute.confirm": "Səssizləşdir",
|
||||
"confirmations.redraft.confirm": "Sil və qaralamaya köçür",
|
||||
"confirmations.redraft.message": "Bu paylaşımı silmək və qaralamaya köçürmək istədiyinizə əminsiniz? Bəyənmələr və gücləndirmələr itəcək və orijinal paylaşıma olan cavablar tənha qalacaq.",
|
||||
"confirmations.redraft.message": "Bu göndərişi silib yenidən qaralama kimi saxlamaq istədiyinizə əminsiniz? Sevimlilər və təkrar paylaşımlar silinəcək, orijinal göndərişə verilən cavablar isə əlaqəsiz qalacaq.",
|
||||
"confirmations.redraft.title": "Paylaşım silinsin & qaralamaya köçürülsün?",
|
||||
"confirmations.remove_from_followers.confirm": "İzləyicini çıxart",
|
||||
"confirmations.remove_from_followers.message": "{name} sizi izləməyəcək. Davam etmək istədiyinizə əminsiniz?",
|
||||
"confirmations.remove_from_followers.title": "İzləyici çıxarılsın?",
|
||||
"confirmations.unfollow.confirm": "İzləmədən çıxar",
|
||||
"confirmations.unfollow.message": "{name} izləmədən çıxmaq istədiyinizə əminsiniz?",
|
||||
"confirmations.unfollow.title": "İstifadəçi izləmədən çıxarılsın?",
|
||||
@@ -232,12 +257,12 @@
|
||||
"conversation.with": "{names} ilə",
|
||||
"copy_icon_button.copied": "Mübadilə buferinə köçürüldü",
|
||||
"copypaste.copied": "Kopyalandı",
|
||||
"copypaste.copy_to_clipboard": "Kopyala",
|
||||
"copypaste.copy_to_clipboard": "Lövhəyə kopyala",
|
||||
"directory.federated": "Bilinən fediversedən",
|
||||
"directory.local": "Sadəcə {domain}",
|
||||
"directory.new_arrivals": "Yeni gələnlər",
|
||||
"directory.recently_active": "Bayaq aktiv olanlar",
|
||||
"disabled_account_banner.account_settings": "Hesab parametrləri",
|
||||
"disabled_account_banner.account_settings": "Hesab ayarları",
|
||||
"disabled_account_banner.text": "Sizin hesabınız {disabledAccount} hal-hazırda deaktiv edilib.",
|
||||
"dismissable_banner.community_timeline": "Bunlar, hesabları {domain} serverində yerləşən insanların ən son ictimai paylaşımlarıdır.",
|
||||
"dismissable_banner.dismiss": "Bağla",
|
||||
@@ -273,7 +298,7 @@
|
||||
"emoji_button.food": "Yemək və içki",
|
||||
"emoji_button.label": "Emoji daxil et",
|
||||
"emoji_button.nature": "Təbiət",
|
||||
"emoji_button.not_found": "Uyğun emoji tapılmadı",
|
||||
"emoji_button.not_found": "Uyuşan emoji tapılmadı",
|
||||
"emoji_button.objects": "Obyektlər",
|
||||
"emoji_button.people": "İnsanlar",
|
||||
"emoji_button.recent": "Tez-tez istifadə edilən",
|
||||
@@ -296,6 +321,620 @@
|
||||
"empty_column.follow_requests": "İzləmə sorğularınız yoxdur. Qəbul etdikdə burada görəcəksiniz.",
|
||||
"empty_column.followed_tags": "Heç bir heşteq izləmirsiniz. İzlədikdə burada görünəcək.",
|
||||
"empty_column.hashtag": "Bu heşteqdə hələ ki, heç nə yoxdur.",
|
||||
"empty_column.home": "Əsas zaman xəttiniz boşdur! Doldurmaq üçün bir neçə istifadəçini izləyin.",
|
||||
"empty_column.list": "Hələ bu siyahıda heç nə yoxdur. Bu siyahıdakı üzvlər yeni göndəriş paylaşdığı zaman burada görünəcək.",
|
||||
"empty_column.mutes": "Hələ heç bir istifadəçini səssizə almamısınız.",
|
||||
"empty_column.notification_requests": "Hamısı hazırdır! Burada heç nə yoxdur. Yeni bildiriş aldığınız zaman, ayarlarınıza görə burada görünəcək.",
|
||||
"empty_column.notifications": "Hələ heç bir bildirişiniz yoxdur. Başqaları sizinlə qarşılıqlı əlaqə qurduğu zaman, onu burada görəcəksiniz.",
|
||||
"empty_column.public": "Burada hələ heç nə yoxdur! Buranı doldurmaq üçün hər kəsə açıq bir şey yazın və ya digər serverlərdəki istifadəçiləri izləyin.",
|
||||
"error.unexpected_crash.explanation": "Kodumuzdakı bir xətaya, ya da brauzer uyumluluq probleminə görə, bu səhifə düzgün nümayiş etdirilə bilmədi.",
|
||||
"error.unexpected_crash.explanation_addons": "Bu səhifə düzgün nümayiş etdirilə bilmədi. Bu xəta, yəqin ki, brauzer əlavəsi və ya avtomatik tərcümə alətlərindən qaynaqlanır.",
|
||||
"error.unexpected_crash.next_steps": "Səhifəni təzələməyi sınayın. Bu kömək etməzsə, Mastodon-u başqa bir brauzer və ya yerli tətbiq vasitəsilə istifadə edə bilərsiniz.",
|
||||
"error.unexpected_crash.next_steps_addons": "Onları sıradan çıxartmağı və səhifəni təzələməyi sınayın. Bu kömək etməzsə, Mastodon-u başqa bir brauzer və ya yerli tətbiq vasitəsilə istifadə edə bilərsiniz.",
|
||||
"errors.unexpected_crash.report_issue": "Problemi bildir",
|
||||
"explore.suggested_follows": "İnsanlar",
|
||||
"explore.title": "Trendlər",
|
||||
"explore.trending_links": "Xəbərlər",
|
||||
"explore.trending_statuses": "Göndərişlər",
|
||||
"explore.trending_tags": "Mövzu etiketləri",
|
||||
"featured_carousel.header": "{count, plural, one {Sancılmış göndəriş} other {Sancılmış göndərişlər}}",
|
||||
"featured_carousel.next": "Növbəti",
|
||||
"featured_carousel.post": "Göndəriş",
|
||||
"featured_carousel.previous": "Əvvəlki",
|
||||
"featured_carousel.slide": "{index}/{total}",
|
||||
"filter_modal.added.context_mismatch_explanation": "Bu filtr kateqoriyası, bu göndərişdə erişdiyiniz kontekstə aid deyil. Əgər göndərişin bu kontekstdə də filtrlənməsini istəyirsinizsə, filtrə düzəliş etməyiniz lazımdır.",
|
||||
"filter_modal.added.context_mismatch_title": "Kontekst uyuşmur!",
|
||||
"filter_modal.added.expired_explanation": "Bu filtr kateqoriyasının vaxtı bitib, filtri tətbiq etmək üçün bitmə tarixini dəyişdirməlisiniz.",
|
||||
"filter_modal.added.expired_title": "Vaxtı bitmiş filtr!",
|
||||
"filter_modal.added.review_and_configure": "Bu filt kateqoriyasını incələmək və daha detallı konfiqurasiya etmək üçün {settings_link} ünvanına gedin.",
|
||||
"filter_modal.added.review_and_configure_title": "Filtr ayarları",
|
||||
"filter_modal.added.settings_link": "ayarlar səhifəsi",
|
||||
"filter_modal.added.short_explanation": "Bu göndəriş, aşağıdakı filtr kateqoriyasına əlavə edilib: {title}.",
|
||||
"filter_modal.added.title": "Filtr əlavə edilib!",
|
||||
"filter_modal.select_filter.context_mismatch": "bu kontektsə tətbiq olunmur",
|
||||
"filter_modal.select_filter.expired": "müddəti bitib",
|
||||
"filter_modal.select_filter.prompt_new": "Yeni kateqoriya: {name}",
|
||||
"filter_modal.select_filter.search": "Axtar və ya yarat",
|
||||
"filter_modal.select_filter.subtitle": "Mövcud bir kateqoriyanı istifadə et, ya da yenisini yarat",
|
||||
"filter_modal.select_filter.title": "Bu göndərişi filtrlə",
|
||||
"filter_modal.title.status": "Bir göndərişi filtrlə",
|
||||
"filter_warning.matches_filter": "“<span>{title}</span>” filtri ilə uyuşur",
|
||||
"filtered_notifications_banner.pending_requests": "Tanıdığınız {count, plural, =0 {heç kimdən} one {bir şəxsdən} other {# şəxsdən}}",
|
||||
"filtered_notifications_banner.title": "Filtrlənmiş bildirişlər",
|
||||
"firehose.all": "Hamısı",
|
||||
"firehose.local": "Bu server",
|
||||
"firehose.remote": "Digər serverlər",
|
||||
"follow_request.authorize": "Səlahiyyət ver",
|
||||
"follow_request.reject": "Rədd et",
|
||||
"follow_requests.unlocked_explanation": "Hesabınız kilidli olmasa da, {domain} heyəti bu hesabların izləmə tələblərini manual olaraq incələmək istəyə biləcəyinizi düşündü.",
|
||||
"follow_suggestions.curated_suggestion": "Heyətin seçimi",
|
||||
"follow_suggestions.dismiss": "Təkrar göstərmə",
|
||||
"follow_suggestions.featured_longer": "{domain} komandası tərəfindən əllə seçildi",
|
||||
"follow_suggestions.friends_of_friends_longer": "İzlədiyiniz insanlar arasında məşhur",
|
||||
"follow_suggestions.hints.featured": "Bu profil {domain} komandası tərəfindən əllə seçilib.",
|
||||
"follow_suggestions.hints.friends_of_friends": "Bu profil izlədiyiniz insanlar arasında populyardır.",
|
||||
"follow_suggestions.hints.most_followed": "Bu profil {domain} serverində ən çox izlənilənlərdən biridir."
|
||||
"follow_suggestions.hints.most_followed": "Bu profil {domain} serverində ən çox izlənilənlərdən biridir.",
|
||||
"follow_suggestions.hints.most_interactions": "Bu profil son zamanlar {domain} üzərində çox diqqət çəkir.",
|
||||
"follow_suggestions.hints.similar_to_recently_followed": "Bu profil, son vaxtlar izlədiyiniz profillərə bənzəyir.",
|
||||
"follow_suggestions.personalized_suggestion": "Fərdiləşdirilmiş təklif",
|
||||
"follow_suggestions.popular_suggestion": "Məşhur təklif",
|
||||
"follow_suggestions.popular_suggestion_longer": "{domain} üzərində məşhur",
|
||||
"follow_suggestions.similar_to_recently_followed_longer": "Son zaman izlədiyiniz profillərə oxşar",
|
||||
"follow_suggestions.view_all": "Hamısına bax",
|
||||
"follow_suggestions.who_to_follow": "İzləyə bilərsən",
|
||||
"followed_tags": "İzlənilən mövzu etiketləri",
|
||||
"footer.about": "Haqqında",
|
||||
"footer.directory": "Profil kataloqu",
|
||||
"footer.get_app": "Tətbiqi əldə et",
|
||||
"footer.keyboard_shortcuts": "Klaviatura qısayolları",
|
||||
"footer.privacy_policy": "Gizlilik siyasəti",
|
||||
"footer.source_code": "Mənbə koduna bax",
|
||||
"footer.status": "Status",
|
||||
"footer.terms_of_service": "Xidmət şərtləri",
|
||||
"generic.saved": "Saxlanıldı",
|
||||
"getting_started.heading": "Başlayaq",
|
||||
"hashtag.admin_moderation": "#{name} üçün moderasiya interfeysini aç",
|
||||
"hashtag.browse": "#{hashtag} göndərişlərinə bax",
|
||||
"hashtag.browse_from_account": "@{name} - #{hashtag} göndərişlərinə bax",
|
||||
"hashtag.column_header.tag_mode.all": "və {additional}",
|
||||
"hashtag.column_header.tag_mode.any": "və ya {additional}",
|
||||
"hashtag.column_header.tag_mode.none": "{additional} olmadan",
|
||||
"hashtag.column_settings.select.no_options_message": "Heç bir təklif tapılmadı",
|
||||
"hashtag.column_settings.select.placeholder": "Mövzu etiketlərini daxil edin…",
|
||||
"hashtag.column_settings.tag_mode.all": "Bunların hamısı",
|
||||
"hashtag.column_settings.tag_mode.any": "Bunlardan hər hansısa biri",
|
||||
"hashtag.column_settings.tag_mode.none": "Bunların heç biri",
|
||||
"hashtag.column_settings.tag_toggle": "Bu sütun üçün əlavə etiketləri daxil et",
|
||||
"hashtag.counter_by_accounts": "{count, plural, one {{counter} iştirakçı} other {{counter} iştirakçı}}",
|
||||
"hashtag.counter_by_uses": "{count, plural, one {{counter} göndəriş} other {{counter} göndəriş}}",
|
||||
"hashtag.counter_by_uses_today": "Bu gün {count, plural, one {{counter} göndəriş} other {{counter} göndəriş}}",
|
||||
"hashtag.feature": "Profildə önə çıxart",
|
||||
"hashtag.follow": "Mövzu etiketini izlə",
|
||||
"hashtag.mute": "#{hashtag} - səssizə al",
|
||||
"hashtag.unfeature": "Profildə önə çıxarılmasın",
|
||||
"hashtag.unfollow": "Mövzu etiketini izləmə",
|
||||
"hashtags.and_other": "…və daha {count, plural, one {}other {# ədəd}}",
|
||||
"hints.profiles.followers_may_be_missing": "Bu profilin izləyiciləri əskik ola bilər.",
|
||||
"hints.profiles.follows_may_be_missing": "Bu profilin izləyənləri əskik ola bilər.",
|
||||
"hints.profiles.posts_may_be_missing": "Bu profilin bəzi göndərişləri əskik ola bilər.",
|
||||
"hints.profiles.see_more_followers": "{domain} üzərində daha çox izləyici gör",
|
||||
"hints.profiles.see_more_follows": "{domain} üzərində izlənilən gör",
|
||||
"hints.profiles.see_more_posts": "{domain} üzərində daha çox göndəriş gör",
|
||||
"hints.threads.replies_may_be_missing": "Digər serverlərdən gələn cavablar əskik ola bilər.",
|
||||
"hints.threads.see_more": "{domain} üzərində daha çox cavabı gör",
|
||||
"home.column_settings.show_quotes": "Sitatları göstər",
|
||||
"home.column_settings.show_reblogs": "Təkrar paylaşmaları göstər",
|
||||
"home.column_settings.show_replies": "Cavabları göstər",
|
||||
"home.hide_announcements": "Elanları gizlət",
|
||||
"home.pending_critical_update.body": "Lütfən Mastodon serverinizi mümkün olan ən qısa müddətdə güncəlləyin!",
|
||||
"home.pending_critical_update.link": "Güncəlləmələrə bax",
|
||||
"home.pending_critical_update.title": "Kritik güvənlik güncəlləməsi mövcuddur!",
|
||||
"home.show_announcements": "Elanları göstər",
|
||||
"ignore_notifications_modal.disclaimer": "Mastodon, bildirişlərini yox saydığınız istifadəçiləri məlumatlandırmır. Bildirişləri yox saymaq, mesajların göndərilməsini dayandırmayacaq.",
|
||||
"ignore_notifications_modal.filter_instead": "Əvəzinə filtrlə",
|
||||
"ignore_notifications_modal.filter_to_act_users": "Hələ də istifadəçiləri qəbul edə, rədd edə və ya bildirə bilərsiniz",
|
||||
"ignore_notifications_modal.filter_to_avoid_confusion": "Filtrləmə, mümkün çaşqınlığın qarşısını almağa kömək edir.",
|
||||
"ignore_notifications_modal.filter_to_review_separately": "Filtrlənmiş bildirişləri ayrı-ayrı incələyə bilərsiniz",
|
||||
"ignore_notifications_modal.ignore": "Bildirişləri yox say",
|
||||
"ignore_notifications_modal.limited_accounts_title": "Moderasiya edilmiş hesabların bildirişləri yox sayılsın?",
|
||||
"ignore_notifications_modal.new_accounts_title": "Yeni hesabların bildirişləri yox sayılsın?",
|
||||
"ignore_notifications_modal.not_followers_title": "Sizi izləməyən şəxslərin bildirişləri yox sayılsın?",
|
||||
"ignore_notifications_modal.not_following_title": "İzləmədiyiniz şəxslərin bildirişləri yox sayılsın?",
|
||||
"ignore_notifications_modal.private_mentions_title": "İstənilməyən Şəxsi Adçəkmələrdən gələn bildirişlər yox sayılsın?",
|
||||
"info_button.label": "Kömək",
|
||||
"interaction_modal.action.favourite": "Davam etmək üçün hesabınızdan sevimlilərə əlavə etməlisiniz.",
|
||||
"interaction_modal.action.follow": "Davam etmək üçün hesabınızdan izləməlisiniz.",
|
||||
"interaction_modal.action.reblog": "Davam etmək üçün hesabınızdan təkrar göndərməlisiniz.",
|
||||
"interaction_modal.action.reply": "Davam etmək üçün hesabınızdan cavab verməlisiniz.",
|
||||
"interaction_modal.action.vote": "Davam etmək üçün hesabınızdan səs verməlisiniz.",
|
||||
"interaction_modal.go": "Get",
|
||||
"interaction_modal.no_account_yet": "Hələ heç bir hesabınız yoxdur?",
|
||||
"interaction_modal.on_another_server": "Fərqli bir serverdə",
|
||||
"interaction_modal.on_this_server": "Bu serverdə",
|
||||
"interaction_modal.title.favourite": "{name} - göndərişini sevimlilərə əlavə et",
|
||||
"interaction_modal.title.follow": "{name} - izlə",
|
||||
"interaction_modal.title.reblog": "{name} - göndərişini təkrar paylaş",
|
||||
"interaction_modal.title.reply": "{name} - göndərişinə cavab ver",
|
||||
"interaction_modal.title.vote": "{name} - anketində səs ver",
|
||||
"interaction_modal.username_prompt": "Məs: {example}",
|
||||
"intervals.full.days": "{number, plural, one {# gün} other {# gün}}",
|
||||
"intervals.full.hours": "{number, plural, one {# saat} other {# saat}}",
|
||||
"intervals.full.minutes": "{number, plural, one {# dəqiqə} other {# dəqiqə}}",
|
||||
"keyboard_shortcuts.back": "Geri get",
|
||||
"keyboard_shortcuts.blocked": "Əngəllənən istifadəçilərin siyahısını aç",
|
||||
"keyboard_shortcuts.boost": "Göndərişi təkrar paylaş",
|
||||
"keyboard_shortcuts.column": "Sütuna fokuslan",
|
||||
"keyboard_shortcuts.compose": "Mətn yazma sahəsinə fokuslan",
|
||||
"keyboard_shortcuts.description": "Açıqlama",
|
||||
"keyboard_shortcuts.direct": "şəxsi adçəkmələr sütununu açmaq üçün",
|
||||
"keyboard_shortcuts.down": "Siyahıda aşağı daşı",
|
||||
"keyboard_shortcuts.enter": "Göndərişi aç",
|
||||
"keyboard_shortcuts.favourite": "Göndərişi sevimlilərə əlavə et",
|
||||
"keyboard_shortcuts.favourites": "Sevimli siyahını aç",
|
||||
"keyboard_shortcuts.heading": "Klaviatura qısayolları",
|
||||
"keyboard_shortcuts.home": "Əsas ekran zaman xəttini aç",
|
||||
"keyboard_shortcuts.hotkey": "Qısayol düyməsi",
|
||||
"keyboard_shortcuts.legend": "Bu əfsanəni nümayiş etdir",
|
||||
"keyboard_shortcuts.local": "Lokal zaman xəttini aç",
|
||||
"keyboard_shortcuts.mention": "Müəllifin adını çək",
|
||||
"keyboard_shortcuts.muted": "Səssizdəki istifadəçilərin siyahısını aç",
|
||||
"keyboard_shortcuts.my_profile": "Profilinizi açın",
|
||||
"keyboard_shortcuts.notifications": "Bildirişlər sütununu aç",
|
||||
"keyboard_shortcuts.open_media": "Medianı aç",
|
||||
"keyboard_shortcuts.pinned": "Sancılmış göndərişlərin siyahısını aç",
|
||||
"keyboard_shortcuts.profile": "Müəllifin profilini aç",
|
||||
"keyboard_shortcuts.reply": "Göndərişə cavab ver",
|
||||
"keyboard_shortcuts.requests": "İzləmə istəyi siyahısını aç",
|
||||
"keyboard_shortcuts.search": "Axtarış çubuğuna fokuslan",
|
||||
"keyboard_shortcuts.spoilers": "CW xanasını göstər/gizlət",
|
||||
"keyboard_shortcuts.start": "\"Başlayaq\" sütununu aç",
|
||||
"keyboard_shortcuts.toggle_hidden": "CW arxasındakı mətni göstər/gizlət",
|
||||
"keyboard_shortcuts.toggle_sensitivity": "Medianı göstər/gizlət",
|
||||
"keyboard_shortcuts.toot": "Yeni bir göndəriş başlat",
|
||||
"keyboard_shortcuts.translate": "bir göndərişi tərcümə etmək üçün",
|
||||
"keyboard_shortcuts.unfocus": "Fokusu göndəriş yazma xanasından/axtarışdan götür",
|
||||
"keyboard_shortcuts.up": "Siyahıda yuxarı daşı",
|
||||
"lightbox.close": "Bağla",
|
||||
"lightbox.next": "Növbəti",
|
||||
"lightbox.previous": "Əvvəlki",
|
||||
"lightbox.zoom_in": "Həqiqi ölçüyə qayıt",
|
||||
"lightbox.zoom_out": "Sığacaq şəkildə yaxınlaşdır",
|
||||
"limited_account_hint.action": "Yenə də profili göstər",
|
||||
"limited_account_hint.title": "Bu profil, {domain} moderatorları tərəfindən gizlədildi.",
|
||||
"link_preview.author": "Müəllif: {name}",
|
||||
"link_preview.more_from_author": "{name} - daha çox",
|
||||
"link_preview.shares": "{count, plural, one {{counter} göndəriş} other {{counter} göndəriş}}",
|
||||
"lists.add_member": "Əlavə et",
|
||||
"lists.add_to_list": "Siyahıya əlavə et",
|
||||
"lists.add_to_lists": "{name} - siyahılara əlavə et",
|
||||
"lists.create": "Yarat",
|
||||
"lists.create_a_list_to_organize": "Əsas ekran lentinizi təşkil etmək üçün yeni bir siyahı yaradın",
|
||||
"lists.create_list": "Siyahı yarat",
|
||||
"lists.delete": "Siyahını sil",
|
||||
"lists.done": "Hazırdır",
|
||||
"lists.edit": "Siyahıya düzəliş et",
|
||||
"lists.exclusive": "Əsas ekranda üzvləri gizlət",
|
||||
"lists.exclusive_hint": "Kimsə bu siyahıdadırsa, onun göndərişləri bir dəfədən çox görünməməsi üçün Əsas ekran lentində gizlədilir.",
|
||||
"lists.find_users_to_add": "Əlavə ediləcək istifadəçiləri tap",
|
||||
"lists.list_members_count": "{count, plural, one {# üzv} other {# üzv}}",
|
||||
"lists.list_name": "Siyahı adı",
|
||||
"lists.new_list_name": "Yeni siyahı adı",
|
||||
"lists.no_lists_yet": "Hələ siyahı yoxdur.",
|
||||
"lists.no_members_yet": "Hələ üzv yoxdur.",
|
||||
"lists.no_results_found": "Heç bir nəticə tapılmadı.",
|
||||
"lists.remove_member": "Çıxart",
|
||||
"lists.replies_policy.followed": "İstənilən izlənilən istifadəçi",
|
||||
"lists.replies_policy.list": "Siyahıdakı üzvlər",
|
||||
"lists.replies_policy.none": "Heç kim",
|
||||
"lists.save": "Saxla",
|
||||
"lists.search": "Axtar",
|
||||
"lists.show_replies_to": "Siyahı üzvlərinin cavablarını daxil et",
|
||||
"load_pending": "{count, plural, one {# yeni element} other {# yeni element}}",
|
||||
"loading_indicator.label": "Yüklənir…",
|
||||
"media_gallery.hide": "Gizlət",
|
||||
"moved_to_account_banner.text": "{disabledAccount} hesabınız, {movedToAccount} hesabına keçdiyiniz üçün hazırda sıradan çıxarılıb.",
|
||||
"mute_modal.hide_from_notifications": "Bildirişlərdə gizlət",
|
||||
"mute_modal.hide_options": "Seçimləri gizlət",
|
||||
"mute_modal.indefinite": "Mən səsini açana qədər",
|
||||
"mute_modal.show_options": "Seçimləri göstər",
|
||||
"mute_modal.they_can_mention_and_follow": "Sizin adınızı çəkə və sizi izləyə bilər, ancaq siz onları görə bilməzsiniz.",
|
||||
"mute_modal.they_wont_know": "Onlar, səssizə alındıqlarını bilməyəcəklər.",
|
||||
"mute_modal.title": "İstifadəçi səssizə alınsın?",
|
||||
"mute_modal.you_wont_see_mentions": "Onların adı çəkilən göndərişləri görməyəcəksiniz.",
|
||||
"mute_modal.you_wont_see_posts": "Onlar hələ də göndərişlərinizi görə biləcək, ancaq onların göndərişlərini görməyəcəksiniz.",
|
||||
"navigation_bar.about": "Haqqında",
|
||||
"navigation_bar.account_settings": "Parol və təhlükəsizlik",
|
||||
"navigation_bar.administration": "Administrasiya",
|
||||
"navigation_bar.advanced_interface": "Qabaqcıl veb interfeysində aç",
|
||||
"navigation_bar.automated_deletion": "Göndərişin avtomatik silinməsi",
|
||||
"navigation_bar.blocks": "Əngəllənmiş istifadəçilər",
|
||||
"navigation_bar.bookmarks": "Əlfəcinlər",
|
||||
"navigation_bar.direct": "Şəxsi adçəkmələr",
|
||||
"navigation_bar.domain_blocks": "Əngəllənmiş domenlər",
|
||||
"navigation_bar.favourites": "Sevimlilər",
|
||||
"navigation_bar.filters": "Səssizə alınmış sözlər",
|
||||
"navigation_bar.follow_requests": "İzləmə istəkləri",
|
||||
"navigation_bar.followed_tags": "İzlənilən mövzu etiketləri",
|
||||
"navigation_bar.follows_and_followers": "İzlənilənlər və izləyicilər",
|
||||
"navigation_bar.import_export": "Daxilə və xaricə köçürmə",
|
||||
"navigation_bar.lists": "Siyahılar",
|
||||
"navigation_bar.live_feed_local": "Canlı lent (lokal)",
|
||||
"navigation_bar.live_feed_public": "Canlı lent (hər kəsə açıq)",
|
||||
"navigation_bar.logout": "Çıxış",
|
||||
"navigation_bar.moderation": "Moderasiya",
|
||||
"navigation_bar.more": "Daha çox",
|
||||
"navigation_bar.mutes": "Səssizə alınmış istifadəçilər",
|
||||
"navigation_bar.opened_in_classic_interface": "Göndərişlər, hesablar və digər müəyyən səhifələr klassik veb interfeysində ilkin olaraq açılır.",
|
||||
"navigation_bar.preferences": "Tərcihlər",
|
||||
"navigation_bar.privacy_and_reach": "Gizlilik və əlçatanlıq",
|
||||
"navigation_bar.search": "Axtar",
|
||||
"navigation_bar.search_trends": "Axtar / Trendlər",
|
||||
"navigation_panel.collapse_followed_tags": "İzlənilən mövzu etiketləri menyusunu yığcamlaşdır",
|
||||
"navigation_panel.collapse_lists": "Siyahı menyusunu yığcamlaşdır",
|
||||
"navigation_panel.expand_followed_tags": "İzlənilən mövzu etiketləri menyusunu genişləndir",
|
||||
"navigation_panel.expand_lists": "Siyahı menyusunu genişləndir",
|
||||
"not_signed_in_indicator.not_signed_in": "Bu resursa erişmək üçün giriş etməlisiniz.",
|
||||
"notification.admin.report": "{name} şikayət etdi: {target}",
|
||||
"notification.admin.report_account": "{name}, {category} üçün şikayət etdi: {target} - {count, plural, one {bir göndəriş} other {# göndəriş}}",
|
||||
"notification.admin.report_account_other": "{name} şikayət etdi: {target} - {count, plural, one {bir göndəriş} other {# göndəriş}}",
|
||||
"notification.admin.report_statuses": "{name}, {category} üçün şikayət etdi: {target}",
|
||||
"notification.admin.report_statuses_other": "{name} şikayət etdi: {target}",
|
||||
"notification.admin.sign_up": "{name} qeydiyyatdan keçib",
|
||||
"notification.admin.sign_up.name_and_others": "{name} və digər {count, plural, one {# nəfər} other {# nəfər}} qeydiyyatdan keçib",
|
||||
"notification.annual_report.view": "#Wrapstodon-a bax",
|
||||
"notification.favourite": "{name} göndərişinizi sevimlilərinə əlavə etdi",
|
||||
"notification.favourite.name_and_others_with_link": "{name} və digər <a>{count, plural, one {# nəfər} other {# nəfər}}</a> göndərişinizi sevimlilərinə əlavə etdi",
|
||||
"notification.favourite_pm": "{name}, şəxsi adçəkmənizi sevimlilərinə əlavə etdi",
|
||||
"notification.favourite_pm.name_and_others_with_link": "{name} və digər <a>{count, plural, one {# nəfər} other {# nəfər}}</a> şəxsi adçəkmənizi sevimlilərinə əlavə etdi",
|
||||
"notification.follow": "{name} sizi izləyir",
|
||||
"notification.follow.name_and_others": "{name} və digər <a>{count, plural, one {# nəfər} other {# nəfər}}</a> sizi izləyir",
|
||||
"notification.follow_request": "{name} sizi izləmək üçün istək göndərdi",
|
||||
"notification.follow_request.name_and_others": "{name} və digər {count, plural, one {# nəfər} other {# nəfər}} sizi izləmək üçün istək göndərdi",
|
||||
"notification.label.mention": "Adçəkmə",
|
||||
"notification.label.private_mention": "Şəxsi adçəkmə",
|
||||
"notification.label.private_reply": "Şəxsi cavab",
|
||||
"notification.label.reply": "Cavab",
|
||||
"notification.mention": "Adçəkmə",
|
||||
"notification.mentioned_you": "{name} adınızı çəkdi",
|
||||
"notification.moderation-warning.learn_more": "Daha ətraflı",
|
||||
"notification.moderation_warning": "Bir moderasiya xəbərdarlığı aldınız",
|
||||
"notification.moderation_warning.action_delete_statuses": "Bəzi göndərişləriniz silindi.",
|
||||
"notification.moderation_warning.action_disable": "Hesabınız sıradan çıxarılıb.",
|
||||
"notification.moderation_warning.action_mark_statuses_as_sensitive": "Bəzi göndərişləriniz həssas olaraq işarələnib.",
|
||||
"notification.moderation_warning.action_none": "Hesabınız bir moderasiya xəbərdarlığı aldı.",
|
||||
"notification.moderation_warning.action_sensitive": "Göndərişləriniz artıq həssas olaraq işarələnəcək.",
|
||||
"notification.moderation_warning.action_silence": "Hesabınız məhdudlaşdırılıb.",
|
||||
"notification.moderation_warning.action_suspend": "Hesabınızın fəaliyyəti dayandırılıb.",
|
||||
"notification.own_poll": "Anketiniz bitdi",
|
||||
"notification.poll": "Səs verdiyiniz anket bitdi",
|
||||
"notification.reblog": "{name} göndərişinizi təkrar paylaşdı",
|
||||
"notification.reblog.name_and_others_with_link": "{name} və <a>{count, plural, one {digər # nəfər} other {digər # nəfər}}</a> göndərişinizi təkrar paylaşdı",
|
||||
"notification.relationships_severance_event": "{name} ilə bağlantı qopdu",
|
||||
"notification.relationships_severance_event.account_suspension": "{from} admini {target} fəaliyyətini dayandırıb, bu da o deməkdir ki, artıq onlardan güncəlləmələr ala və ya onlarla qarşılıqlı əlaqə qura bilməyəcəyiniz.",
|
||||
"notification.relationships_severance_event.domain_block": "{target}, {from} admini tərəfindən əngəllənib, buna {followersCount} izləyiciniz və izlədiyiniz {followingCount, plural, one {# hesab} other {# hesab}} daxildir.",
|
||||
"notification.relationships_severance_event.learn_more": "Daha ətraflı",
|
||||
"notification.relationships_severance_event.user_domain_block": "{target} əngəlləmisiniz, bununla {followersCount} izləyiciniz və izlədiyiniz {followingCount, plural, one {# hesab} other {# hesab}} silinib.",
|
||||
"notification.status": "{name} indicə paylaşdı",
|
||||
"notification.update": "{name} bir göndərişə düzəliş etdi",
|
||||
"notification_requests.accept": "Qəbul et",
|
||||
"notification_requests.accept_multiple": "{count, plural, one {# istəyi qəbul et…} other {# istəyi qəbul et…}}",
|
||||
"notification_requests.confirm_accept_multiple.button": "{count, plural, one {İstəyi qəbul et} other {İstəkləri qəbul et}}",
|
||||
"notification_requests.confirm_accept_multiple.message": "{count, plural, one {Bir bildiriş istəyini} other {# bildiriş istəklərini}} qəbul etmək üzrəsiniz. Davam etmək istədiyinizə əminsiniz?",
|
||||
"notification_requests.confirm_accept_multiple.title": "Bildiriş istəkləri qəbul edilsin?",
|
||||
"notification_requests.confirm_dismiss_multiple.button": "{count, plural, one {İstəyi rədd et} other {İstəkləri rədd et}}",
|
||||
"notification_requests.confirm_dismiss_multiple.message": "{count, plural, one {bir bildiriş sorğusunu} other {# bildiriş sorğusunu}} bağlamaq üzrəsiniz. {count, plural, one {Ona} other {Onlara}} yenidən asanlıqla erişə bilməyəcəksiniz. Davam etmək istədiyinizə əminsiniz?",
|
||||
"notification_requests.confirm_dismiss_multiple.title": "Bildiriş istəklərinə rədd cavabı verilsin?",
|
||||
"notification_requests.dismiss": "Rədd et",
|
||||
"notification_requests.dismiss_multiple": "{count, plural, one {# istəyi rədd et…} other {# istəyi rədd et…}}",
|
||||
"notification_requests.edit_selection": "Düzəliş et",
|
||||
"notification_requests.exit_selection": "Hazırdır",
|
||||
"notification_requests.explainer_for_limited_account": "Hesab, bir moderator tərəfindən məhdudlaşdırıldığı üçün bu hesabın bildirişləri filtrləndi.",
|
||||
"notification_requests.explainer_for_limited_remote_account": "Hesab və ya onun serveri, bir moderator tərəfindən məhdudlaşdırıldığı üçün bu hesabın bildirişləri filtrləndi.",
|
||||
"notification_requests.maximize": "Böyüt",
|
||||
"notification_requests.minimize_banner": "Filtrlənmiş bildirişlər bannerini kiçilt",
|
||||
"notification_requests.notifications_from": "{name} - bildirişləri",
|
||||
"notification_requests.title": "Filtrlənmiş bildirişlər",
|
||||
"notification_requests.view": "Bildirişlərə bax",
|
||||
"notifications.clear": "Bildirişləri təmizlə",
|
||||
"notifications.clear_confirmation": "Bütün bildirişlərinizi həmişəlik təmizləmək istədiyinizə əminsiniz?",
|
||||
"notifications.clear_title": "Bildirişlər təmizlənsin?",
|
||||
"notifications.column_settings.admin.report": "Yeni hesabatlar:",
|
||||
"notifications.column_settings.admin.sign_up": "Yeni qeydiyyatlar:",
|
||||
"notifications.column_settings.alert": "Masaüstü bildirişlər",
|
||||
"notifications.column_settings.favourite": "Sevimlilər:",
|
||||
"notifications.column_settings.filter_bar.advanced": "Bütün kateqoriyaları nümayiş etdir",
|
||||
"notifications.column_settings.filter_bar.category": "Cəld filtr çubuğu",
|
||||
"notifications.column_settings.follow": "Yeni izləyicilər:",
|
||||
"notifications.column_settings.follow_request": "Yeni izləmə istəkləri:",
|
||||
"notifications.column_settings.group": "Qrup",
|
||||
"notifications.column_settings.mention": "Adçəkmələr:",
|
||||
"notifications.column_settings.poll": "Anket nəticələri:",
|
||||
"notifications.column_settings.push": "Ani bildirişlər",
|
||||
"notifications.column_settings.reblog": "Təkrar paylaşmalar:",
|
||||
"notifications.column_settings.show": "Sütunda göstər",
|
||||
"notifications.column_settings.sound": "Səs oxut",
|
||||
"notifications.column_settings.status": "Yeni göndərişlər:",
|
||||
"notifications.column_settings.unread_notifications.category": "Oxunmamış bildirişlər",
|
||||
"notifications.column_settings.unread_notifications.highlight": "Oxunmamış bildirişləri vurğula",
|
||||
"notifications.column_settings.update": "Düzəlişlər:",
|
||||
"notifications.filter.all": "Hamısı",
|
||||
"notifications.filter.boosts": "Təkrar paylaşmalar",
|
||||
"notifications.filter.favourites": "Sevimlilər",
|
||||
"notifications.filter.follows": "İzlənilənlər",
|
||||
"notifications.filter.mentions": "Adçəkmələr",
|
||||
"notifications.filter.polls": "Anket nəticələri",
|
||||
"notifications.filter.statuses": "İzlədiyiniz şəxslərdən güncəlləmələr",
|
||||
"notifications.grant_permission": "İcazəni ver.",
|
||||
"notifications.group": "{count} bildiriş",
|
||||
"notifications.mark_as_read": "Hər bir bildiriş oxunmuş olaraq işarələ",
|
||||
"notifications.permission_denied": "Brauzer icazələri istəyinə daha əvvəl rədd cavabı verildiyi üçün masaüstü bildirişləri əlçatmazdır",
|
||||
"notifications.permission_denied_alert": "Brauzer icazəsinə daha əvvəl rədd cavabı verildiyi üçün masaüstü bildirişləri fəallaşdırıla bilmir",
|
||||
"notifications.permission_required": "Tələb olunan icazə verilmədiyi üçün masaüstü bildirişləri əlçatmazdır.",
|
||||
"notifications.policy.accept": "Qəbul et",
|
||||
"notifications.policy.accept_hint": "Bildirişlərdə göstər",
|
||||
"notifications.policy.drop": "Yox say",
|
||||
"notifications.policy.filter": "Filtr",
|
||||
"notifications.policy.filter_hint": "Filtrlənmiş bildirişlər gələn qutusuna göndər",
|
||||
"notifications.policy.filter_limited_accounts_hint": "Server moderatorları tərəfindən məhdudlaşdırılıb",
|
||||
"notifications.policy.filter_limited_accounts_title": "Moderasiya edilmiş hesablar",
|
||||
"notifications.policy.filter_new_accounts.hint": "Son {days, plural, one {bir gündə} other {# gündə}} yaradıldı",
|
||||
"notifications.policy.filter_new_accounts_title": "Yeni hesablar",
|
||||
"notifications.policy.filter_not_followers_hint": "Sizi {days, plural, one {bir gündən} other {# gündən}} az müddətdir izləyən insanlar daxildir",
|
||||
"notifications.policy.filter_not_followers_title": "Sizi izləməyən insanlar",
|
||||
"notifications.policy.filter_not_following_hint": "Onları manual qəbul edənə qədər",
|
||||
"notifications.policy.filter_not_following_title": "İzləmədiyiniz insanlar",
|
||||
"notifications.policy.title": "Bildirişləri idarə et…",
|
||||
"notifications_permission_banner.enable": "Masaüstü bildirişləri fəallaşdır",
|
||||
"notifications_permission_banner.title": "Heç nəyi buraxmayın",
|
||||
"onboarding.follows.back": "Geri",
|
||||
"onboarding.follows.done": "Hazırdır",
|
||||
"onboarding.follows.search": "Axtar",
|
||||
"onboarding.follows.title": "Başlamaq üçün insanları izləyin",
|
||||
"onboarding.profile.discoverable": "Profilimi kəşf edilə bilən et",
|
||||
"onboarding.profile.discoverable_hint": "Mastodon-da kəşf edilə bilməni aktivləşdirsəniz, göndərişləriniz axtarış nəticələrində və trendlərdə görünə bilər və profiliniz sizinlə oxşar maraqlara sahib şəxslərə təklif edilə bilər.",
|
||||
"onboarding.profile.display_name": "Ekran adı",
|
||||
"onboarding.profile.display_name_hint": "Tam adınız və ya ləqəbiniz…",
|
||||
"onboarding.profile.note": "Bioqrafiya",
|
||||
"onboarding.profile.note_hint": "Digər insanların @adını_çəkə və ya #mövzu_etiketləri istifadə edə bilərsiniz…",
|
||||
"onboarding.profile.save_and_continue": "Saxla və davam et",
|
||||
"onboarding.profile.title": "Profili ayarla",
|
||||
"onboarding.profile.upload_avatar": "Profil şəkli yüklə",
|
||||
"onboarding.profile.upload_header": "Profil başlığı yüklə",
|
||||
"password_confirmation.exceeds_maxlength": "Parol təsdiqi, maksimum parol uzunluğunu aşır",
|
||||
"password_confirmation.mismatching": "Parol təsdiqi uyuşmur",
|
||||
"picture_in_picture.restore": "Geri qoy",
|
||||
"poll.closed": "Bağlandı",
|
||||
"poll.refresh": "Təzələ",
|
||||
"poll.reveal": "Nəticələrə bax",
|
||||
"poll.total_people": "{count, plural, one {# nəfər} other {# nəfər}}",
|
||||
"poll.total_votes": "{count, plural, one {# səs} other {# səs}}",
|
||||
"poll.vote": "Səs ver",
|
||||
"poll.voted": "Bu cavaba səs verdiniz",
|
||||
"poll.votes": "{votes, plural, one {# səs} other {# səs}}",
|
||||
"poll_button.add_poll": "Bir anket əlavə et",
|
||||
"poll_button.remove_poll": "Anketi sil",
|
||||
"privacy.change": "Göndəriş gizliliyini dəyişdir",
|
||||
"privacy.direct.long": "Göndərişdə adı çəkilən hər kəs",
|
||||
"privacy.direct.short": "Şəxsi adçəkmə",
|
||||
"privacy.private.long": "Yalnız izləyiciləriniz",
|
||||
"privacy.private.short": "İzləyicilər",
|
||||
"privacy.public.long": "Mastodon-da olan və olmayan hər kəs",
|
||||
"privacy.public.short": "Hər kəsə açıq",
|
||||
"privacy.unlisted.short": "Səssiz hər kəsə açıq",
|
||||
"privacy_policy.last_updated": "Son güncəlləmə {date}",
|
||||
"privacy_policy.title": "Gizlilik Siyasəti",
|
||||
"recommended": "Tövsiyə edilən",
|
||||
"refresh": "Təzələ",
|
||||
"regeneration_indicator.please_stand_by": "Lütfən gözləyin.",
|
||||
"regeneration_indicator.preparing_your_home_feed": "Əsas ekran lentiniz hazırlanır…",
|
||||
"relative_time.days": "{number} gü",
|
||||
"relative_time.full.days": "{number, plural, one {# gün} other {# gün}} əvvəl",
|
||||
"relative_time.full.hours": "{number, plural, one {# saat} other {# saat}} əvvəl",
|
||||
"relative_time.full.just_now": "indicə",
|
||||
"relative_time.full.minutes": "{number, plural, one {# dəqiqə} other {# dəqiqə}} əvvəl",
|
||||
"relative_time.full.seconds": "{number, plural, one {# saniyə} other {# saniyə}} əvvəl",
|
||||
"relative_time.hours": "{number} sa",
|
||||
"relative_time.just_now": "indi",
|
||||
"relative_time.minutes": "{number} dəq",
|
||||
"relative_time.seconds": "{number} san",
|
||||
"relative_time.today": "bu gün",
|
||||
"reply_indicator.attachments": "{count, plural, one {# qoşma} other {# qoşma}}",
|
||||
"reply_indicator.cancel": "İmtina",
|
||||
"reply_indicator.poll": "Anket",
|
||||
"report.block": "Əngəllə",
|
||||
"report.block_explanation": "Onun göndərişlərini görməyəcəksiniz. O, göndərişlərinizi görə və ya sizi izləyə bilməz. Əngəllədiyinizi anlaya biləcək.",
|
||||
"report.categories.legal": "Hüquqi",
|
||||
"report.categories.other": "Digər",
|
||||
"report.categories.spam": "Spam",
|
||||
"report.categories.violation": "Məzmun, bir və ya daha çox server qaydasını pozur",
|
||||
"report.category.subtitle": "Ən çox uyuşanı seçin",
|
||||
"report.category.title": "Bu {type} ilə bağlı nələrin baş verdiyini bizə deyin",
|
||||
"report.category.title_account": "profil",
|
||||
"report.category.title_status": "göndəriş",
|
||||
"report.close": "Hazırdır",
|
||||
"report.comment.title": "Bilməyimizi istədiyiniz başqa nəsə var?",
|
||||
"report.forward": "Bura yönləndir: {target}",
|
||||
"report.forward_hint": "Hesab, başqa bir serverdəndir. Hesabatın anonim bir kopyası ora da göndərilsin?",
|
||||
"report.mute": "Səssizə al",
|
||||
"report.mute_explanation": "Onun göndərişlərini görməyəcəksiniz. O, sizi izləməyə və göndərişlərinizi görməyə davam edə bilər, ancaq səssizə alındığını bilməyəcək.",
|
||||
"report.next": "Növbəti",
|
||||
"report.placeholder": "Əlavə rəylər",
|
||||
"report.reasons.dislike": "Bunu bəyənmədim",
|
||||
"report.reasons.dislike_description": "Bu, görmək istədiyiniz bir şey deyil",
|
||||
"report.reasons.legal": "Qanunsuzdur",
|
||||
"report.reasons.legal_description": "Sizin və ya serverinizin olduğu ölkənin qanunlarını pozduğuna inanırsınız",
|
||||
"report.reasons.other": "Başqa bir şeydir",
|
||||
"report.reasons.other_description": "Problem, digər kateqoriyalara uyğun gəlmir",
|
||||
"report.reasons.spam": "Spamdır",
|
||||
"report.reasons.spam_description": "Zərərli keçidlər, saxta qarşılıqlı əlaqə və ya təkrarlanan cavablar",
|
||||
"report.reasons.violation": "Server qaydalarını pozur",
|
||||
"report.reasons.violation_description": "Müəyyən qaydaları pozduğundan xəbərdarsınız",
|
||||
"report.rules.subtitle": "Uyğun olanların hamısını seçin",
|
||||
"report.rules.title": "Hansı qaydalar pozulub?",
|
||||
"report.statuses.subtitle": "Uyğun olanların hamısını seçin",
|
||||
"report.statuses.title": "Bu şikayəti dəstəkləyən hər hansısa bir göndəriş var?",
|
||||
"report.submit": "Təqdim et",
|
||||
"report.target": "{target} şikayət edilir",
|
||||
"report.thanks.take_action": "Mastodon-da nə görə biləcəyinizi idarə etmək üçün seçimləriniz bunlardır:",
|
||||
"report.thanks.take_action_actionable": "Biz bunu incələdiyimiz müddətdə, siz @{name} ilə bağlı bunları edə bilərsiniz:",
|
||||
"report.thanks.title": "Bunu görmək istəmirsiniz?",
|
||||
"report.thanks.title_actionable": "Şikayət etdiyiniz üçün təşəkkürlər, məsələyə baxacağıq.",
|
||||
"report.unfollow": "@{name} - izləmədən çıxart",
|
||||
"report.unfollow_explanation": "Bu hesabı izləyirsiniz. Əsas ekran lentinizdə onun göndərişlərini artıq görmək istəmirsinizsə, onu izləmədən çıxarın.",
|
||||
"report_notification.attached_statuses": "{count, plural, one {{count} göndəriş} other {{count} göndəriş}} əlavə edildi",
|
||||
"report_notification.categories.legal": "Hüquqi",
|
||||
"report_notification.categories.legal_sentence": "qanunsuz məzmun",
|
||||
"report_notification.categories.other": "Digər",
|
||||
"report_notification.categories.other_sentence": "digər",
|
||||
"report_notification.categories.spam": "Spam",
|
||||
"report_notification.categories.spam_sentence": "spam",
|
||||
"report_notification.categories.violation": "Qayda pozuntusu",
|
||||
"report_notification.categories.violation_sentence": "qayda pozuntusu",
|
||||
"report_notification.open": "Hesabatı aç",
|
||||
"search.clear": "Axtarışı təmizlə",
|
||||
"search.no_recent_searches": "Son axtarışlar yoxdur",
|
||||
"search.placeholder": "Axtar",
|
||||
"search.quick_action.account_search": "Uyuşan profillər {x}",
|
||||
"search.quick_action.go_to_account": "{x} profilinə get",
|
||||
"search.quick_action.go_to_hashtag": "{x} mövzu etiketinə get",
|
||||
"search.quick_action.open_url": "URL-ni Mastodon-da aç",
|
||||
"search.quick_action.status_search": "Uyuşan göndərişlər {x}",
|
||||
"search.search_or_paste": "Axtar və ya URL-ni yapışdır",
|
||||
"search_popout.full_text_search_disabled_message": "{domain} domenində mövcud deyil.",
|
||||
"search_popout.full_text_search_logged_out_message": "Yalnız giriş edildiyi zaman əlçatandır.",
|
||||
"search_popout.language_code": "ISO dil kodu",
|
||||
"search_popout.options": "Axtarış seçimləri",
|
||||
"search_popout.quick_actions": "Cəld əməliyyatlar",
|
||||
"search_popout.recent": "Son axtarışlar",
|
||||
"search_popout.specific_date": "müəyyən tarix",
|
||||
"search_popout.user": "istifadəçi",
|
||||
"search_results.accounts": "Profillər",
|
||||
"search_results.all": "Hamısı",
|
||||
"search_results.hashtags": "Mövzu etiketləri",
|
||||
"search_results.no_results": "Nəticə yoxdur.",
|
||||
"search_results.no_search_yet": "Göndərişləri, profilləri və ya mövzu etiketlərini axtarmağa çalışın.",
|
||||
"search_results.see_all": "Hamısına bax",
|
||||
"search_results.statuses": "Göndərişlər",
|
||||
"search_results.title": "\"{q}\" axtar",
|
||||
"server_banner.about_active_users": "Son 30 gündə bu serveri istifadə edənlər (aylıq aktiv istifadəçilər)",
|
||||
"server_banner.active_users": "aktiv istifadəçilər",
|
||||
"server_banner.administered_by": "Administrasiya:",
|
||||
"server_banner.is_one_of_many": "{domain}, fediverse-də iştirak etmək üçün istifadə edə biləcəyiniz bir neçə müstəqil Mastodon serverlərindən biridir.",
|
||||
"server_banner.server_stats": "Server statistikaları:",
|
||||
"sign_in_banner.create_account": "Hesab yarat",
|
||||
"sign_in_banner.follow_anyone": "fediverse-dəki hər kəsi izləyin və hamısına xronoloji ardıcıllıqla baxın. Heç bir alqoritm, reklam və ya klikləmə tələsi yoxdur.",
|
||||
"sign_in_banner.mastodon_is": "Mastodon, baş verənlərdən xəbərdar olmağın ən yaxşı yoldur.",
|
||||
"sign_in_banner.sign_in": "Giriş",
|
||||
"sign_in_banner.sso_redirect": "Giriş və ya Qeydiyyat",
|
||||
"status.admin_account": "@{name} üçün moderasiya interfeysini aç",
|
||||
"status.admin_domain": "{domain} üçün moderasiya interfeysini aç",
|
||||
"status.admin_status": "Moderasiya interfeysində bu göndərişi aç",
|
||||
"status.block": "Əngəllə: @{name}",
|
||||
"status.bookmark": "Əlfəcin",
|
||||
"status.cancel_reblog_private": "Təkrar paylaşımı geri al",
|
||||
"status.cannot_reblog": "Bu göndəriş təkrar paylaşıla bilməz",
|
||||
"status.continued_thread": "Davam edən mövzu",
|
||||
"status.copy": "Göndəriş keçidini kopyala",
|
||||
"status.delete": "Sil",
|
||||
"status.detailed_status": "Detallı danışıq görünüşü",
|
||||
"status.direct": "Şəxsi olaraq adını çək: @{name}",
|
||||
"status.direct_indicator": "Şəxsi olaraq adını çək",
|
||||
"status.edit": "Düzəliş et",
|
||||
"status.edited": "Son düzəliş {date}",
|
||||
"status.edited_x_times": "{count, plural, one {{count} dəfə} other {{count} dəfə}} düzəliş edilib",
|
||||
"status.favourite": "Sevimli",
|
||||
"status.favourites": "{count, plural, one {sevimli} other {sevimli}}",
|
||||
"status.filter": "Bu göndərişi filtrlə",
|
||||
"status.history.created": "{name}, {date} yaratdı",
|
||||
"status.history.edited": "{name}, {date} düzəliş etdi",
|
||||
"status.load_more": "Daha çoxunu yüklə",
|
||||
"status.media.open": "Açmaq üçün kliklə",
|
||||
"status.media.show": "Göstərmək üçün kliklə",
|
||||
"status.media_hidden": "Media gizlidir",
|
||||
"status.mention": "Adını çək: @{name}",
|
||||
"status.more": "Daha çox",
|
||||
"status.mute": "@{name} - səssizə al",
|
||||
"status.mute_conversation": "Danışığın səsini kəs",
|
||||
"status.open": "Bu göndərişi genişləndir",
|
||||
"status.pin": "Profildə sanc",
|
||||
"status.quote_error.filtered": "Bəzi filtrlərinizə görə gizlidir",
|
||||
"status.quote_error.not_found": "Bu göndəriş nümayiş edilə bilməz.",
|
||||
"status.quote_error.pending_approval": "Bu göndəriş, orijinal müəllifin təsdiqini gözləyir.",
|
||||
"status.quote_error.rejected": "Orijinal müəllif, bundan sitat gətirməyə icazə vermədiyi üçün bu göndəriş nümayiş etdirilə bilməz.",
|
||||
"status.quote_error.removed": "Bu göndəriş, müəllifi tərəfindən silinib.",
|
||||
"status.quote_error.unauthorized": "Baxmağa səlahiyyətiniz olmadığı üçün bu göndəriş nümayiş etdirilə bilməz.",
|
||||
"status.quote_post_author": "{name} - göndərişi",
|
||||
"status.read_more": "Daha çoxunu oxu",
|
||||
"status.reblog": "Təkrar paylaş",
|
||||
"status.reblog_private": "Orijinal görünmə ilə təkrar paylaş",
|
||||
"status.reblogged_by": "{name} təkrar paylaşdı",
|
||||
"status.reblogs": "{count, plural, one {təkrar paylaşma} other {təkrar paylaşma}}",
|
||||
"status.reblogs.empty": "Hələ heç kim bu göndərişi təkrar paylaşmayıb. Kimsə paylaşdığı zaman, burada görünəcək.",
|
||||
"status.remove_bookmark": "Əlfəcini sil",
|
||||
"status.remove_favourite": "Sevimlilərdən sil",
|
||||
"status.replied_in_thread": "Mövzuda cavablandırıldı",
|
||||
"status.replied_to": "Cavab verildi: {name}",
|
||||
"status.reply": "Cavabla",
|
||||
"status.replyAll": "Mövzuda cavab ver",
|
||||
"status.report": "Bildir: @{name}",
|
||||
"status.sensitive_warning": "Həssas məzmun",
|
||||
"status.share": "Paylaş",
|
||||
"status.show_less_all": "Hamısı üçün daha az göstər",
|
||||
"status.show_more_all": "Hamısı üçün daha çox göstər",
|
||||
"status.show_original": "Orijinalı göstər",
|
||||
"status.title.with_attachments": "{user} {attachmentCount, plural, one {bir qoşma} other {{attachmentCount} qoşma}} paylaşdı",
|
||||
"status.translate": "Tərcümə et",
|
||||
"status.translated_from_with": "{provider} ilə {lang} dilindən tərcümə edilib",
|
||||
"status.uncached_media_warning": "Önizləmə mövcud deyil",
|
||||
"status.unmute_conversation": "Danışığın səsini aç",
|
||||
"status.unpin": "Profil sancağı götür",
|
||||
"subscribed_languages.lead": "Dəyişiklikdən sonra əsas ekran və siyahı zaman xəttinizdə yalnız seçdiyiniz dillərdəki göndərişlər görünəcək. Bütün dillərdə göndəriş almaq üçün heç birini seçməyin.",
|
||||
"subscribed_languages.save": "Dəyişiklikləri saxla",
|
||||
"subscribed_languages.target": "{target} üçün abunə olunmuş dilləri dəyişdir",
|
||||
"tabs_bar.home": "Ana səhifə",
|
||||
"tabs_bar.menu": "Menyu",
|
||||
"tabs_bar.notifications": "Bildirişlər",
|
||||
"tabs_bar.publish": "Yeni göndəriş",
|
||||
"tabs_bar.search": "Axtar",
|
||||
"terms_of_service.effective_as_of": "{date} etibarilə qüvvədə",
|
||||
"terms_of_service.title": "Xidmət Şərtləri",
|
||||
"terms_of_service.upcoming_changes_on": "{date} tarixində ediləcək dəyişikliklər",
|
||||
"time_remaining.days": "{number, plural, one {# gün} other {# gün}} qalıb",
|
||||
"time_remaining.hours": "{number, plural, one {# saat} other {# saat}} qalıb",
|
||||
"time_remaining.minutes": "{number, plural, one {# dəqiqə} other {# dəqiqə}} qalıb",
|
||||
"time_remaining.moments": "Bir neçə dəqiqə qalıb",
|
||||
"time_remaining.seconds": "{number, plural, one {# saniyə} other {# saniyə}} qalıb",
|
||||
"trends.counter_by_accounts": "Son {days, plural, one {bir gündə} other {{days} gündə}} {count, plural, one {{counter} nəfər} other {{counter} nəfər}}",
|
||||
"trends.trending_now": "İndi trenddədir",
|
||||
"ui.beforeunload": "Mastodon-u tərk etsəniz, qaralamanız itəcək.",
|
||||
"units.short.billion": "{count} mlyrd",
|
||||
"units.short.million": "{count} mlyn",
|
||||
"units.short.thousand": "{count} min",
|
||||
"upload_area.title": "Yükləmək üçün sürüklə və burax",
|
||||
"upload_button.label": "Təsvir, video və ya səs faylı əlavə et",
|
||||
"upload_error.limit": "Fayl yükləmə limiti aşılıb.",
|
||||
"upload_error.poll": "Anketlərdə fayl yükləməyə icazə verilmir.",
|
||||
"upload_form.drag_and_drop.instructions": "Bir media qoşmasını daşımaq üçün boşluq və ya enter düyməsinə basın. Sürükləmə zamanı, media qoşmasını hər hansısa bir yönə hərəkət etdirmək üçün ox düymələrini istifadə edin. Media qoşmasını yeni mövqeyinə buraxmaq üçün təkrar boşluq və ya enter düyməsinə basın, ləğv etmək üçün escape düyməsinə basın.",
|
||||
"upload_form.drag_and_drop.on_drag_cancel": "Sürükləmə ləğv edilib. {item} media qoşması buraxıldı.",
|
||||
"upload_form.drag_and_drop.on_drag_end": "{item} media qoşması buraxıldı.",
|
||||
"upload_form.drag_and_drop.on_drag_over": "{item} media qoşması daşındı.",
|
||||
"upload_form.drag_and_drop.on_drag_start": "{item} media qoşması alındı.",
|
||||
"upload_form.edit": "Düzəliş et",
|
||||
"upload_progress.label": "Yüklənir...",
|
||||
"upload_progress.processing": "Emal edilir…",
|
||||
"username.taken": "Bu istifadəçi adı götürülüb. Başqasını sınayın",
|
||||
"video.close": "Videonu bağla",
|
||||
"video.download": "Faylı endir",
|
||||
"video.exit_fullscreen": "Tam ekrandan çıx",
|
||||
"video.expand": "Videonu genişləndir",
|
||||
"video.fullscreen": "Tam ekran",
|
||||
"video.hide": "Videonu gizlət",
|
||||
"video.mute": "Səsi kəs",
|
||||
"video.pause": "Fasilə ver",
|
||||
"video.play": "Oxut",
|
||||
"video.skip_backward": "Geri ötür",
|
||||
"video.skip_forward": "İrəli ötür",
|
||||
"video.unmute": "Səsi aç",
|
||||
"video.volume_down": "Həcmi azalt",
|
||||
"video.volume_up": "Həcmi artır"
|
||||
}
|
||||
|
||||
@@ -1,6 +1,7 @@
|
||||
{
|
||||
"about.blocks": "Мадэраваныя серверы",
|
||||
"about.contact": "Кантакт:",
|
||||
"about.default_locale": "Прадвызначаная",
|
||||
"about.disclaimer": "Mastodon - свабоднае праграмнае забеспячэнне, з адкрытым зыходным кодам, і гандлёвай маркай Mastodon gGmbH.",
|
||||
"about.domain_blocks.no_reason_available": "Прычына недаступная",
|
||||
"about.domain_blocks.preamble": "Mastodon, у асноўным, дазваляе вам праглядаць кантэнт і ўзаемадзейнічаць з карыстальнікамі з іншых сервераў у федэсвету. Гэтыя выключэнні былі зроблены дакладна на гэтым серверы.",
|
||||
@@ -8,6 +9,7 @@
|
||||
"about.domain_blocks.silenced.title": "Абмежаваны",
|
||||
"about.domain_blocks.suspended.explanation": "Ніякая інфармацыя з гэтага сервера не будзе апрацавана, захавана або абменена, узаемадзеянне або камунікацыя з карыстальнікамі гэтага сервера немагчымы.",
|
||||
"about.domain_blocks.suspended.title": "Прыпынены",
|
||||
"about.language_label": "Мова",
|
||||
"about.not_available": "Дадзеная інфармацыя не дасяжная на гэтым серверы.",
|
||||
"about.powered_by": "Дэцэнтралізаваная сацыяльная сетка, створаная {mastodon}",
|
||||
"about.rules": "Правілы сервера",
|
||||
@@ -19,13 +21,21 @@
|
||||
"account.block_domain": "Заблакіраваць дамен {domain}",
|
||||
"account.block_short": "Заблакіраваць",
|
||||
"account.blocked": "Заблакіраваны",
|
||||
"account.blocking": "Блакіраванне",
|
||||
"account.cancel_follow_request": "Скасаваць запыт на падпіску",
|
||||
"account.copy": "Скапіраваць спасылку на профіль",
|
||||
"account.direct": "Згадаць асабіста @{name}",
|
||||
"account.disable_notifications": "Не паведамляць мне пра публікацыі @{name}",
|
||||
"account.domain_blocking": "Блакіраванне дамена",
|
||||
"account.edit_profile": "Рэдагаваць профіль",
|
||||
"account.enable_notifications": "Апавяшчаць мяне пра допісы @{name}",
|
||||
"account.endorse": "Паказваць у профілі",
|
||||
"account.familiar_followers_many": "Мае сярод падпісчыкаў {name1}, {name2}, і {othersCount, plural, one {яшчэ # чалавека, знаёмага вам} few {яшчэ # чалавекі, знаёмыя вам} many {яшчэ # чалавек, знаёмых вам} other {яшчэ # чалавекі, знаёмыя вам}}",
|
||||
"account.familiar_followers_one": "Мае сярод падпісчыкаў {name1}",
|
||||
"account.familiar_followers_two": "Мае сярод падпісчыкаў {name1} і {name2}",
|
||||
"account.featured": "Рэкамендаванае",
|
||||
"account.featured.accounts": "Профілі",
|
||||
"account.featured.hashtags": "Хэштэгі",
|
||||
"account.featured_tags.last_status_at": "Апошні допіс ад {date}",
|
||||
"account.featured_tags.last_status_never": "Няма допісаў",
|
||||
"account.follow": "Падпісацца",
|
||||
@@ -33,9 +43,11 @@
|
||||
"account.followers": "Падпісчыкі",
|
||||
"account.followers.empty": "Ніхто пакуль не падпісаны на гэтага карыстальніка.",
|
||||
"account.followers_counter": "{count, plural, one {{counter} падпісчык} few {{counter} падпісчыкі} many {{counter} падпісчыкаў} other {{counter} падпісчыка}}",
|
||||
"account.followers_you_know_counter": "{count, plural, one {{counter}, знаёмы вам} other {{counter}, знаёмых вам}}",
|
||||
"account.following": "Падпіскі",
|
||||
"account.following_counter": "{count, plural, one {{counter} падпіска} few {{counter} падпіскі} many {{counter} падпісак} other {{counter} падпіскі}}",
|
||||
"account.follows.empty": "Карыстальнік ні на каго не падпісаны.",
|
||||
"account.follows_you": "Падпісаны на вас",
|
||||
"account.go_to_profile": "Перайсці да профілю",
|
||||
"account.hide_reblogs": "Схаваць пашырэнні ад @{name}",
|
||||
"account.in_memoriam": "У памяць.",
|
||||
@@ -50,18 +62,23 @@
|
||||
"account.mute_notifications_short": "Не апавяшчаць",
|
||||
"account.mute_short": "Ігнараваць",
|
||||
"account.muted": "Ігнаруецца",
|
||||
"account.muting": "Ігнараванне",
|
||||
"account.mutual": "Вы падпісаны адно на аднаго",
|
||||
"account.no_bio": "Апісанне адсутнічае.",
|
||||
"account.open_original_page": "Адкрыць арыгінальную старонку",
|
||||
"account.posts": "Допісы",
|
||||
"account.posts_with_replies": "Допісы і адказы",
|
||||
"account.remove_from_followers": "Выдаліць карыстальніка {name} з падпісчыкаў",
|
||||
"account.report": "Паскардзіцца на @{name}",
|
||||
"account.requested": "Чакаецца ўхваленне. Націсніце, каб скасаваць запыт на падпіску",
|
||||
"account.requested_follow": "{name} адправіў запыт на падпіску",
|
||||
"account.requests_to_follow_you": "Хоча падпісацца на вас",
|
||||
"account.share": "Абагуліць профіль @{name}",
|
||||
"account.show_reblogs": "Паказаць падштурхоўванні ад @{name}",
|
||||
"account.statuses_counter": "{count, plural, one {{counter} допіс} few {{counter} допісы} many {{counter} допісаў} other {{counter} допісу}}",
|
||||
"account.unblock": "Разблакіраваць @{name}",
|
||||
"account.unblock_domain": "Разблакіраваць дамен {domain}",
|
||||
"account.unblock_domain_short": "Разблакіраваць",
|
||||
"account.unblock_short": "Разблакіраваць",
|
||||
"account.unendorse": "Не паказваць у профілі",
|
||||
"account.unfollow": "Адпісацца",
|
||||
@@ -83,34 +100,40 @@
|
||||
"alert.unexpected.message": "Узнікла нечаканая памылка.",
|
||||
"alert.unexpected.title": "Вой!",
|
||||
"alt_text_badge.title": "Альтэрнатыўны тэкст",
|
||||
"alt_text_modal.add_alt_text": "Дадаць альтэрнатыўны тэкст",
|
||||
"alt_text_modal.add_text_from_image": "Дадаць тэкст з відарыса",
|
||||
"alt_text_modal.cancel": "Скасаваць",
|
||||
"alt_text_modal.change_thumbnail": "Змяніць мініяцюру",
|
||||
"alt_text_modal.describe_for_people_with_hearing_impairments": "Апішыце гэта людзям з праблемамі са слыхам…",
|
||||
"alt_text_modal.describe_for_people_with_visual_impairments": "Апішыце гэта людзям з праблемамі са зрокам…",
|
||||
"alt_text_modal.done": "Гатова",
|
||||
"announcement.announcement": "Аб'ява",
|
||||
"annual_report.summary.archetype.booster": "Трэнда-сьледнік",
|
||||
"annual_report.summary.archetype.booster": "Паляўнічы на трэнды",
|
||||
"annual_report.summary.archetype.lurker": "Назіральнік",
|
||||
"annual_report.summary.archetype.oracle": "Аракул",
|
||||
"annual_report.summary.archetype.pollster": "Апытвальнік",
|
||||
"annual_report.summary.archetype.replier": "Душа кампанійі",
|
||||
"annual_report.summary.followers.followers": "падпісанты",
|
||||
"annual_report.summary.followers.total": "Усяго {count}",
|
||||
"annual_report.summary.here_it_is": "Вось вашыя вынікі {year} году:",
|
||||
"annual_report.summary.archetype.replier": "Душа кампаніі",
|
||||
"annual_report.summary.followers.followers": "падпісчыкі",
|
||||
"annual_report.summary.followers.total": "Агулам {count}",
|
||||
"annual_report.summary.here_it_is": "Вось Вашы вынікі {year} за год:",
|
||||
"annual_report.summary.highlighted_post.by_favourites": "самы ўпадабаны допіс",
|
||||
"annual_report.summary.highlighted_post.by_reblogs": "самы пашыраны допіс",
|
||||
"annual_report.summary.highlighted_post.by_replies": "самы каментаваны допіс",
|
||||
"annual_report.summary.highlighted_post.possessive": "{name}",
|
||||
"annual_report.summary.most_used_app.most_used_app": "самая выкарыстоўваная аплікацыя",
|
||||
"annual_report.summary.most_used_hashtag.most_used_hashtag": "самы выкарыстоўваны гэштаґ",
|
||||
"annual_report.summary.most_used_app.most_used_app": "праграма, якой карысталіся найчасцей",
|
||||
"annual_report.summary.most_used_hashtag.most_used_hashtag": "хэштэг, якім карысталіся найчасцей",
|
||||
"annual_report.summary.most_used_hashtag.none": "Няма",
|
||||
"annual_report.summary.new_posts.new_posts": "новыя допісы",
|
||||
"annual_report.summary.percentile.text": "<topLabel>Мэта месьціць вас у топ</topLabel><percentage></percentage><bottomLabel> карыстальнікаў {domain}.</bottomLabel>",
|
||||
"annual_report.summary.percentile.we_wont_tell_bernie": "Мы ня скажам аб гэтым Сіняпальцаму.",
|
||||
"annual_report.summary.percentile.text": "<topLabel>Гэта падымае Вас у топ</topLabel><percentage></percentage><bottomLabel> карыстальнікаў {domain}.</bottomLabel>",
|
||||
"annual_report.summary.percentile.we_wont_tell_bernie": "КДБ пра гэта не даведаецца.",
|
||||
"annual_report.summary.thanks": "Дзякуй за ўдзел у Mastodon!",
|
||||
"attachments_list.unprocessed": "(неапрацаваны)",
|
||||
"audio.hide": "Схаваць аўдыя",
|
||||
"block_modal.remote_users_caveat": "Мы папросім сервер {domain} паважаць ваш выбар. Аднак гэта не гарантуецца, паколькі некаторыя серверы могуць апрацоўваць блакіроўкі іншым чынам. Публічныя паведамленні могуць заставацца бачнымі для ананімных карыстальнікаў.",
|
||||
"block_modal.remote_users_caveat": "Мы папросім сервер {domain} паважаць Ваш выбар. Аднак гэта не гарантуецца, паколькі некаторыя серверы могуць апрацоўваць блакіроўкі іншым чынам. Публічныя паведамленні могуць заставацца бачнымі для ананімных карыстальнікаў.",
|
||||
"block_modal.show_less": "Паказаць меньш",
|
||||
"block_modal.show_more": "Паказаць больш",
|
||||
"block_modal.they_cant_mention": "Карыстальнік не зможа згадваць або сачыць за вамі.",
|
||||
"block_modal.they_cant_see_posts": "Карыстальнік не будзе бачыць вашых допісаў, а вы — карыстальніка.",
|
||||
"block_modal.they_cant_see_posts": "Карыстальнік не будзе бачыць Вашых допісаў, а Вы — ягоных.",
|
||||
"block_modal.they_will_know": "Карыстальнік убачыць, што адбылася блакіроўка.",
|
||||
"block_modal.title": "Заблакіраваць карыстальніка?",
|
||||
"block_modal.you_wont_see_mentions": "Вы не ўбачыце паведамленняў са згадваннем карыстальніка.",
|
||||
@@ -127,7 +150,7 @@
|
||||
"bundle_column_error.routing.body": "Запытаная старонка не знойдзена. Вы ўпэўнены, што URL у адрасным радку правільны?",
|
||||
"bundle_column_error.routing.title": "404",
|
||||
"bundle_modal_error.close": "Закрыць",
|
||||
"bundle_modal_error.message": "Падчас загрузкі гэтага экрана штосьці пайшло ня так.",
|
||||
"bundle_modal_error.message": "Падчас загрузкі гэтага экрана штосьці пайшло не так.",
|
||||
"bundle_modal_error.retry": "Паспрабуйце зноў",
|
||||
"closed_registrations.other_server_instructions": "Паколькі Mastodon дэцэнтралізаваны, вы можаце стварыць уліковы запіс на іншым серверы і працягваць узаемадзейнічаць з ім.",
|
||||
"closed_registrations_modal.description": "Стварэнне ўліковага запісу на {domain} цяпер немагчыма. Заўважце, што няма неабходнасці мець уліковы запіс менавіта на {domain}, каб выкарыстоўваць Mastodon.",
|
||||
@@ -139,7 +162,7 @@
|
||||
"column.bookmarks": "Закладкі",
|
||||
"column.community": "Лакальная стужка",
|
||||
"column.create_list": "Стварыць спіс",
|
||||
"column.direct": "Асабістыя згадванні",
|
||||
"column.direct": "Прыватныя згадванні",
|
||||
"column.directory": "Праглядзець профілі",
|
||||
"column.domain_blocks": "Заблакіраваныя дамены",
|
||||
"column.edit_list": "Рэдагаваць спіс",
|
||||
@@ -147,7 +170,7 @@
|
||||
"column.firehose": "Стужкі",
|
||||
"column.follow_requests": "Запыты на падпіску",
|
||||
"column.home": "Галоўная",
|
||||
"column.list_members": "Кіраванне ўдзельнікамі спісу",
|
||||
"column.list_members": "Кіраванне ўдзельнікамі спіса",
|
||||
"column.lists": "Спісы",
|
||||
"column.mutes": "Ігнараваныя карыстальнікі",
|
||||
"column.notifications": "Апавяшчэнні",
|
||||
@@ -194,21 +217,34 @@
|
||||
"confirmations.delete.message": "Вы ўпэўненыя, што хочаце выдаліць гэты допіс?",
|
||||
"confirmations.delete.title": "Выдаліць допіс?",
|
||||
"confirmations.delete_list.confirm": "Выдаліць",
|
||||
"confirmations.delete_list.message": "Вы ўпэўненыя, што хочаце беззваротна выдаліць гэты чарнавік?",
|
||||
"confirmations.delete_list.message": "Вы ўпэўненыя, што хочаце беззваротна выдаліць гэты спіс?",
|
||||
"confirmations.delete_list.title": "Выдаліць спіс?",
|
||||
"confirmations.discard_draft.confirm": "Адмовіцца і працягнуць",
|
||||
"confirmations.discard_draft.edit.cancel": "Працягнуць рэдагаванне",
|
||||
"confirmations.discard_draft.edit.message": "Калі працягнуць, то ўсе змены, што Вы зрабілі ў гэтым допісе, будуць адмененыя.",
|
||||
"confirmations.discard_draft.edit.title": "Адмовіцца ад змен у Вашым допісе?",
|
||||
"confirmations.discard_draft.post.cancel": "Працягнуць чарнавік",
|
||||
"confirmations.discard_draft.post.message": "Калі працягнуць, то допіс, які Вы зараз пішаце, не будзе апублікаваны.",
|
||||
"confirmations.discard_draft.post.title": "Скасаваць чарнавік?",
|
||||
"confirmations.discard_edit_media.confirm": "Адмяніць",
|
||||
"confirmations.discard_edit_media.message": "У вас ёсць незахаваныя змены ў апісанні або прэв'ю, усе роўна скасаваць іх?",
|
||||
"confirmations.follow_to_list.confirm": "Падпісацца й дадаць у сьпіс",
|
||||
"confirmations.follow_to_list.message": "Вы мусіце быць падпісаныя на {name} каб дадаць яго ў сьпіс.",
|
||||
"confirmations.follow_to_list.confirm": "Падпісацца і дадаць у спіс",
|
||||
"confirmations.follow_to_list.message": "Вам трэба падпісацца на карыстальніка {name}, каб дадаць яго ў спіс.",
|
||||
"confirmations.follow_to_list.title": "Падпісацца на карыстальніка?",
|
||||
"confirmations.logout.confirm": "Выйсці",
|
||||
"confirmations.logout.message": "Вы ўпэўненыя, што хочаце выйсці?",
|
||||
"confirmations.logout.title": "Выйсці?",
|
||||
"confirmations.missing_alt_text.title": "Дадаць апісаньне?",
|
||||
"confirmations.missing_alt_text.confirm": "Дадаць альтэрнатыўны тэкст",
|
||||
"confirmations.missing_alt_text.message": "У Вашым допісе ёсць медыя без альтэрнатыўнага тэксту. Дадаванне апісання дапамагае зрабіць Ваш допіс даступным для большай колькасці людзей.",
|
||||
"confirmations.missing_alt_text.secondary": "Усё адно апублікаваць",
|
||||
"confirmations.missing_alt_text.title": "Дадаць альтэрнатыўны тэкст?",
|
||||
"confirmations.mute.confirm": "Ігнараваць",
|
||||
"confirmations.redraft.confirm": "Выдаліць і перапісаць",
|
||||
"confirmations.redraft.message": "Вы ўпэўнены, што хочаце выдаліць допіс і перапісаць яго? Упадабанні і пашырэнні згубяцца, а адказы да арыгінальнага допісу асірацеюць.",
|
||||
"confirmations.redraft.title": "Выдаліць і перапісаць допіс?",
|
||||
"confirmations.remove_from_followers.confirm": "Выдаліць падпісчыка",
|
||||
"confirmations.remove_from_followers.message": "Карыстальнік {name} больш не будзе падпісаны на Вас. Упэўненыя, што хочаце працягнуць?",
|
||||
"confirmations.remove_from_followers.title": "Выдаліць падпісчыка?",
|
||||
"confirmations.unfollow.confirm": "Адпісацца",
|
||||
"confirmations.unfollow.message": "Вы ўпэўненыя, што хочаце адпісацца ад {name}?",
|
||||
"confirmations.unfollow.title": "Адпісацца ад карыстальніка?",
|
||||
@@ -221,8 +257,8 @@
|
||||
"conversation.with": "З {names}",
|
||||
"copy_icon_button.copied": "Скапіявана ў буфер абмену",
|
||||
"copypaste.copied": "Скапіравана",
|
||||
"copypaste.copy_to_clipboard": "Капіраваць у буфер абмену",
|
||||
"directory.federated": "З вядомага федэсвету",
|
||||
"copypaste.copy_to_clipboard": "Скапіяваць у буфер абмену",
|
||||
"directory.federated": "З вядомага федэральнага сусвету",
|
||||
"directory.local": "Толькі з {domain}",
|
||||
"directory.new_arrivals": "Новыя карыстальнікі",
|
||||
"directory.recently_active": "Нядаўна актыўныя",
|
||||
@@ -230,7 +266,7 @@
|
||||
"disabled_account_banner.text": "Ваш уліковы запіс {disabledAccount} часова адключаны.",
|
||||
"dismissable_banner.community_timeline": "Гэта самыя апошнія допісы ад людзей, уліковыя запісы якіх размяшчаюцца на {domain}.",
|
||||
"dismissable_banner.dismiss": "Адхіліць",
|
||||
"dismissable_banner.public_timeline": "Гэта самыя новыя публічныя допісы ад карыстальнікаў фэдывёрсу на якіх падпісаныя карыстальнікі {domain}.",
|
||||
"dismissable_banner.public_timeline": "Вось апошнія публічныя допісы ад карыстальнікаў федэральнага сусвету, на якіх падпісаныя карыстальнікі {domain}.",
|
||||
"domain_block_modal.block": "Заблакіраваць сервер",
|
||||
"domain_block_modal.block_account_instead": "Заблакіраваць @{name} замест гэтага",
|
||||
"domain_block_modal.they_can_interact_with_old_posts": "Людзі з гэтага сервера змогуць узаемадзейнічаць з вашымі старымі допісамі.",
|
||||
@@ -248,12 +284,12 @@
|
||||
"domain_pill.their_username": "Унікальны ідэнтыфікатар карыстальніка на серверы. Можна знайсці карыстальнікаў з аднолькавым іменем карыстальніка на розных серверах.",
|
||||
"domain_pill.username": "Імя карыстальніка",
|
||||
"domain_pill.whats_in_a_handle": "Што такое ідэнтыфікатар карыстальніка?",
|
||||
"domain_pill.who_they_are": "Паколькі ідэнтыфікатары кажуць аб тым, хто гэты чалавек і якім серверам ён карыстаецца, вы можаце ўзаемадзейнічаць з карыстальнікамі <button> платформ, якія падтрымліваюць ActivityPub</button>.",
|
||||
"domain_pill.who_you_are": "Паколькі ваш ідэнтыфікатар кажа аб тым, хто вы і дзе знаходзіцеся, людзі могуць узаемадзейнічаць з вамі ў сацыяльнай сетцы <button> на платформах, якія падтрымліваюць ActivityPub</button>.",
|
||||
"domain_pill.who_they_are": "Паколькі ідэнтыфікатары кажуць аб тым, хто гэты чалавек і якім серверам ён карыстаецца, Вы можаце ўзаемадзейнічаць з карыстальнікамі <button> платформ, якія падтрымліваюць ActivityPub</button>.",
|
||||
"domain_pill.who_you_are": "Паколькі Ваш ідэнтыфікатар кажа аб тым, хто Вы і дзе знаходзіцеся, людзі могуць узаемадзейнічаць з вамі ў сацыяльнай сетцы <button> на платформах, якія падтрымліваюць ActivityPub</button>.",
|
||||
"domain_pill.your_handle": "Ваш ідэнтыфікатар:",
|
||||
"domain_pill.your_server": "Ваш лічбавы дом, дзе захоўваюцца ўсе вашыя допісы. Не падабаецца гэты сервер? Змяніце сервер у любы час з захаваннем сваіх падпісчыкаў.",
|
||||
"domain_pill.your_username": "Ваш унікальны ідэнтыфікатар на гэтым серверы. Можна знайсці карыстальнікаў з аднолькавым іменем карыстальніка на розных серверах.",
|
||||
"embed.instructions": "Убудуйце гэты пост на свой сайт, скапіраваўшы прыведзены ніжэй код",
|
||||
"embed.instructions": "Убудуйце гэты допіс на свой сайт, скапіраваўшы прыведзены ніжэй код.",
|
||||
"embed.preview": "Вось як гэта будзе выглядаць:",
|
||||
"emoji_button.activity": "Актыўнасць",
|
||||
"emoji_button.clear": "Ачысціць",
|
||||
@@ -265,50 +301,59 @@
|
||||
"emoji_button.not_found": "Адпаведныя эмодзі не знойдзены",
|
||||
"emoji_button.objects": "Прадметы",
|
||||
"emoji_button.people": "Людзі",
|
||||
"emoji_button.recent": "Чата выкарыстаныя",
|
||||
"emoji_button.recent": "Часта выкарыстоўваемыя",
|
||||
"emoji_button.search": "Пошук...",
|
||||
"emoji_button.search_results": "Вынікі пошуку",
|
||||
"emoji_button.symbols": "Сімвалы",
|
||||
"emoji_button.travel": "Падарожжы і месцы",
|
||||
"empty_column.account_featured.me": "Вы яшчэ нічога не паказалі. Ці ведалі Вы, што ў сваім профілі Вы можаце паказаць свае хэштэгі, якімі найбольш карыстаецеся, і нават профілі сваіх сяброў?",
|
||||
"empty_column.account_featured.other": "{acct} яшчэ нічога не паказаў. Ці ведалі Вы, што ў сваім профілі Вы можаце паказаць свае хэштэгі, якімі найбольш карыстаецеся, і нават профілі сваіх сяброў?",
|
||||
"empty_column.account_featured_other.unknown": "Гэты ўліковы запіс яшчэ нічога не паказаў.",
|
||||
"empty_column.account_hides_collections": "Гэты карыстальнік вырашыў схаваць гэтую інфармацыю",
|
||||
"empty_column.account_suspended": "Уліковы запіс прыпынены",
|
||||
"empty_column.account_timeline": "Тут няма допісаў!",
|
||||
"empty_column.account_unavailable": "Профіль недаступны",
|
||||
"empty_column.blocks": "Вы яшчэ нікога не заблакіравалі.",
|
||||
"empty_column.bookmarked_statuses": "У вас яшчэ няма паведамленняў з закладкамі. Калі вы дадасце закладку, яна з'явіцца тут.",
|
||||
"empty_column.community": "Мясцовая стужка пустая. Напішыце што-небудзь публічна, каб зрушыць з месца!",
|
||||
"empty_column.direct": "Пакуль у вас няма асабістых згадак. Калі вы дашляце або атрымаеце штось, яно з'явіцца тут.",
|
||||
"empty_column.bookmarked_statuses": "У Вашых закладках яшчэ няма допісаў. Калі Вы дадасце закладку, яна з’явіцца тут.",
|
||||
"empty_column.community": "Мясцовая стужка пустая. Напішыце нешта публічнае, каб разварушыць справу!",
|
||||
"empty_column.direct": "Пакуль у Вас няма асабістых згадванняў. Калі Вы дашляце або атрымаеце штосьці, яно з’явіцца тут.",
|
||||
"empty_column.domain_blocks": "Заблакіраваных даменаў пакуль няма.",
|
||||
"empty_column.explore_statuses": "Зараз не ў трэндзе. Праверце пазней",
|
||||
"empty_column.favourited_statuses": "Вы яшчэ не ўпадабалі ніводны допіс. Калі гэта адбудзецца, вы ўбачыце яго тут.",
|
||||
"empty_column.favourites": "Ніхто яшчэ не ўпадабаў гэты допіс. Калі гэта адбудзецца, вы ўбачыце гэтых людзей тут.",
|
||||
"empty_column.follow_requests": "У вас яшчэ няма запытаў на падпіскуі. Калі вы атрымаеце запыт, ён з'явяцца тут.",
|
||||
"empty_column.followed_tags": "Вы пакуль не падпісаны ні на адзін хэштэг. Калі падпішацеся, яны з'явяцца тут.",
|
||||
"empty_column.favourited_statuses": "Вы яшчэ не ўпадабалі ніводны допіс. Калі гэта адбудзецца, Вы ўбачыце яго тут.",
|
||||
"empty_column.favourites": "Ніхто яшчэ не ўпадабаў гэты допіс. Калі гэта адбудзецца, Вы ўбачыце гэтых людзей тут.",
|
||||
"empty_column.follow_requests": "У Вас яшчэ няма запытаў на падпіску. Калі Вы атрымаеце запыт, ён з’явіцца тут.",
|
||||
"empty_column.followed_tags": "Вы пакуль не падпісаны ні на адзін хэштэг. Калі падпішацеся, яны з’явяцца тут.",
|
||||
"empty_column.hashtag": "Па гэтаму хэштэгу пакуль што нічога няма.",
|
||||
"empty_column.home": "Галоўная стужка пустая! Падпішыцеся на іншых людзей, каб запоўніць яе. {suggestions}",
|
||||
"empty_column.list": "У гэтым спісе пакуль што нічога няма. Калі члены лісту апублікуюць новыя запісы, яны з'явяцца тут.",
|
||||
"empty_column.list": "У гэтым спісе пакуль што нічога няма. Калі члены спіса апублікуюць новыя запісы, яны з'явяцца тут.",
|
||||
"empty_column.mutes": "Вы яшчэ нікога не ігнаруеце.",
|
||||
"empty_column.notification_requests": "Чысціня! Тут нічога няма. Калі вы будзеце атрымліваць новыя апавяшчэння, яны будуць з'яўляцца тут у адпаведнасці з вашымі наладамі.",
|
||||
"empty_column.notifications": "У вас няма ніякіх апавяшчэнняў. Калі іншыя людзі ўзаемадзейнічаюць з вамі, вы ўбачыце гэта тут.",
|
||||
"empty_column.notification_requests": "Чысціня! Тут нічога няма. Калі Вы будзеце атрымліваць новыя апавяшчэнні, яны будуць з'яўляцца тут у адпаведнасці з Вашымі наладамі.",
|
||||
"empty_column.notifications": "У Вас няма ніякіх апавяшчэнняў. Калі іншыя людзі захочуць узаемадзейнічаць з Вамі, Вы ўбачыце гэта тут.",
|
||||
"empty_column.public": "Тут нічога няма! Апублікуйце што-небудзь, або падпішыцеся на карыстальнікаў з другіх сервераў",
|
||||
"error.unexpected_crash.explanation": "Гэта старонка не можа быць адлюстравана карэктна з-за памылкі ў нашым кодзе, або праблемы з сумяшчальнасцю браўзера.",
|
||||
"error.unexpected_crash.explanation_addons": "Гэтая старонка не можа быць адлюстравана карэктна. Верагодна, гэтая памылка выклікана дадатковым кампанентам браўзера або інструментамі аўтаматычнага перакладу",
|
||||
"error.unexpected_crash.next_steps": "Паспрабуйце абнавіць старонку. Калі гэта не дапаможа, вы можаце паспрабаваць іншы браўзер, альбо выкарыстаць усталяваную праграму.",
|
||||
"error.unexpected_crash.next_steps_addons": "Паспрабуйце выключыць іх і аднавіць старонку. Калі гэта не дапаможа, вы можаце карыстацца Мастадонт праз другі браўзер ці аплікацыю.",
|
||||
"error.unexpected_crash.explanation_addons": "Гэтая старонка не можа быць адлюстравана карэктна. Верагодна, гэтая памылка выкліканая дадатковым кампанентам браўзера або інструментамі аўтаматычнага перакладу.",
|
||||
"error.unexpected_crash.next_steps": "Паспрабуйце абнавіць старонку. Калі гэта не дапаможа, Вы можаце паспрабаваць іншы браўзер, альбо выкарыстаць усталяваную праграму.",
|
||||
"error.unexpected_crash.next_steps_addons": "Паспрабуйце выключыць іх і абнавіць старонку. Калі гэта не дапамагае, Вы ўсё яшчэ можаце карыстацца Mastodon праз іншы браўзер ці асобную праграму.",
|
||||
"errors.unexpected_crash.copy_stacktrace": "Дадаць дыягнастычны стэк у буфер абмену",
|
||||
"errors.unexpected_crash.report_issue": "Паведаміць аб праблеме",
|
||||
"explore.suggested_follows": "Людзі",
|
||||
"explore.title": "Трэндавае",
|
||||
"explore.trending_links": "Навіны",
|
||||
"explore.trending_statuses": "Допісы",
|
||||
"explore.trending_tags": "Хэштэгі",
|
||||
"filter_modal.added.context_mismatch_explanation": "Гэтая катэгорыя фільтра не прымяняецца да кантэксту, у якім вы адкрылі гэты пост. Калі вы хочаце, каб паведамленне таксама было адфільтравана ў гэтым кантэксце, вам трэба будзе адрэдагаваць фільтр",
|
||||
"featured_carousel.header": "{count, plural,one {Замацаваны допіс} other {Замацаваныя допісы}}",
|
||||
"featured_carousel.next": "Далей",
|
||||
"featured_carousel.post": "Допіс",
|
||||
"featured_carousel.previous": "Назад",
|
||||
"featured_carousel.slide": "{index} з {total}",
|
||||
"filter_modal.added.context_mismatch_explanation": "Гэтая катэгорыя фільтра не прымяняецца да кантэксту, у якім Вы адкрылі гэты допіс. Калі Вы хочаце, каб паведамленне таксама было адфільтраванае ў гэтым кантэксце, Вам трэба будзе адрэдагаваць фільтр.",
|
||||
"filter_modal.added.context_mismatch_title": "Неадпаведны кантэкст!",
|
||||
"filter_modal.added.expired_explanation": "Тэрмін дзеяння гэтай катэгорыі фільтраў скончыўся, вам трэба будзе змяніць дату заканчэння тэрміну дзеяння, каб яна прымянялася",
|
||||
"filter_modal.added.expired_title": "Пратэрмінаваны фільтр!",
|
||||
"filter_modal.added.review_and_configure": "Для прагляду і наступнай канфігурацыі фільтра катэгорый, перайдзіце на {settings_link}.",
|
||||
"filter_modal.added.review_and_configure_title": "Налады фільтра",
|
||||
"filter_modal.added.settings_link": "старонка наладаў",
|
||||
"filter_modal.added.short_explanation": "Гэты пост быў дабаўлены ў катэгорыю з наступным фільтрам: {title}.",
|
||||
"filter_modal.added.short_explanation": "Гэты допіс быў дададзены ў катэгорыю з наступным фільтрам: {title}.",
|
||||
"filter_modal.added.title": "Фільтр дабаўлены!",
|
||||
"filter_modal.select_filter.context_mismatch": "Не мае дачынення да кантэксту ",
|
||||
"filter_modal.select_filter.expired": "пратэрмінавана",
|
||||
@@ -318,27 +363,27 @@
|
||||
"filter_modal.select_filter.title": "Фільтраваць гэты допіс",
|
||||
"filter_modal.title.status": "Фільтраваць допіс",
|
||||
"filter_warning.matches_filter": "Адпавядае фільтру \"<span>{title}</span>\"",
|
||||
"filtered_notifications_banner.pending_requests": "Ад {count, plural, =0 {# людзей якіх} one {# чалавека якіх} few {# чалавек якіх} many {# людзей якіх} other {# чалавека якіх}} вы магчыма ведаеце",
|
||||
"filtered_notifications_banner.pending_requests": "Ад {count, plural, =0 {# людзей якіх} one {# чалавека якіх} few {# чалавек якіх} many {# людзей якіх} other {# чалавека якіх}} Вы магчыма ведаеце",
|
||||
"filtered_notifications_banner.title": "Адфільтраваныя апавяшчэнні",
|
||||
"firehose.all": "Усе",
|
||||
"firehose.local": "Гэты сервер",
|
||||
"firehose.remote": "Іншыя серверы",
|
||||
"follow_request.authorize": "Аўтарызацыя",
|
||||
"follow_request.reject": "Адхіліць",
|
||||
"follow_requests.unlocked_explanation": "Ваш акаўнт не схаваны, аднак прадстаўнікі {domain} палічылі, што вы можаце захацець праглядзець запыты на падпіску з гэтых профіляў уручную.",
|
||||
"follow_requests.unlocked_explanation": "Ваш уліковы запіс не схаваны, аднак прадстаўнікі {domain} палічылі, што Вы можаце захацець праглядзець запыты на падпіску з гэтых уліковых запісаў уручную.",
|
||||
"follow_suggestions.curated_suggestion": "Выбар адміністрацыі",
|
||||
"follow_suggestions.dismiss": "Не паказваць зноў",
|
||||
"follow_suggestions.featured_longer": "Адабраныя камандай {domain} уручную",
|
||||
"follow_suggestions.friends_of_friends_longer": "Папулярнае сярод людзей, на якіх Вы падпісаны",
|
||||
"follow_suggestions.friends_of_friends_longer": "Папулярнае сярод людзей, на якіх Вы падпісаныя",
|
||||
"follow_suggestions.hints.featured": "Гэты профіль быў выбраны ўручную камандай {domain}.",
|
||||
"follow_suggestions.hints.friends_of_friends": "Гэты профіль папулярны сярод людзей, на якіх вы падпісаліся.",
|
||||
"follow_suggestions.hints.friends_of_friends": "Гэты профіль папулярны сярод людзей, на якіх Вы падпісаліся.",
|
||||
"follow_suggestions.hints.most_followed": "Гэты профіль - адзін з профіляў з самай вялікай колькасцю падпісак на {domain}.",
|
||||
"follow_suggestions.hints.most_interactions": "У апошні час гэты профіль прыцягвае шмат увагі на {domain}.",
|
||||
"follow_suggestions.hints.similar_to_recently_followed": "Гэты профіль падобны на профілі, на якія вы нядаўна падпісаліся.",
|
||||
"follow_suggestions.hints.similar_to_recently_followed": "Гэты профіль падобны на профілі, на якія Вы нядаўна падпісаліся.",
|
||||
"follow_suggestions.personalized_suggestion": "Персаналізаваная прапанова",
|
||||
"follow_suggestions.popular_suggestion": "Папулярная прапанова",
|
||||
"follow_suggestions.popular_suggestion_longer": "Папулярнае на {domain}",
|
||||
"follow_suggestions.similar_to_recently_followed_longer": "Падобныя профілі, за якімі вы нядаўна сачылі",
|
||||
"follow_suggestions.similar_to_recently_followed_longer": "Падобныя профілі, за якімі Вы нядаўна сачылі",
|
||||
"follow_suggestions.view_all": "Праглядзець усё",
|
||||
"follow_suggestions.who_to_follow": "На каго падпісацца",
|
||||
"followed_tags": "Падпіскі",
|
||||
@@ -349,10 +394,12 @@
|
||||
"footer.privacy_policy": "Палітыка прыватнасці",
|
||||
"footer.source_code": "Прагледзець зыходны код",
|
||||
"footer.status": "Статус",
|
||||
"footer.terms_of_service": "Умовы абслугоўваньня",
|
||||
"footer.terms_of_service": "Умовы выкарыстання",
|
||||
"generic.saved": "Захавана",
|
||||
"getting_started.heading": "Пачатак працы",
|
||||
"hashtag.admin_moderation": "Адкрыць інтэрфэйс мадаратара для #{name}",
|
||||
"hashtag.admin_moderation": "Адкрыць інтэрфейс мадэратара для #{name}",
|
||||
"hashtag.browse": "Праглядзець допісы ў #{hashtag}",
|
||||
"hashtag.browse_from_account": "Праглядзець допісы ад @{name} у #{hashtag}",
|
||||
"hashtag.column_header.tag_mode.all": "і {additional}",
|
||||
"hashtag.column_header.tag_mode.any": "або {additional}",
|
||||
"hashtag.column_header.tag_mode.none": "без {additional}",
|
||||
@@ -365,7 +412,10 @@
|
||||
"hashtag.counter_by_accounts": "{count, plural, one {{counter} удзельнік} few {{counter} удзельніка} many {{counter} удзельнікаў} other {{counter} удзельніка}}",
|
||||
"hashtag.counter_by_uses": "{count, plural, one {{counter} допіс} few {{counter} допісы} many {{counter} допісаў} other {{counter} допісу}}",
|
||||
"hashtag.counter_by_uses_today": "{count, plural, one {{counter} допіс} few {{counter} допісы} many {{counter} допісаў} other {{counter} допісу}} за сёння",
|
||||
"hashtag.feature": "Паказваць у профілі",
|
||||
"hashtag.follow": "Падпісацца на хэштэг",
|
||||
"hashtag.mute": "Ігнараваць #{hashtag}",
|
||||
"hashtag.unfeature": "Не паказваць у профілі",
|
||||
"hashtag.unfollow": "Адпісацца ад хэштэга",
|
||||
"hashtags.and_other": "…і яшчэ {count, plural, other {#}}",
|
||||
"hints.profiles.followers_may_be_missing": "Падпісчыкі гэтага профілю могуць адсутнічаць.",
|
||||
@@ -374,35 +424,44 @@
|
||||
"hints.profiles.see_more_followers": "Глядзець больш падпісаных на {domain}",
|
||||
"hints.profiles.see_more_follows": "Глядзець больш падпісак на {domain}",
|
||||
"hints.profiles.see_more_posts": "Глядзець больш допісаў на {domain}",
|
||||
"hints.threads.replies_may_be_missing": "Адказы зь іншых сэрвэраў могуць адсутнічаць.",
|
||||
"hints.threads.replies_may_be_missing": "Адказы з іншых сервераў могуць адсутнічаць.",
|
||||
"hints.threads.see_more": "Глядзіце больш адказаў на {domain}",
|
||||
"home.column_settings.show_quotes": "Паказаць цытаты",
|
||||
"home.column_settings.show_reblogs": "Паказваць пашырэнні",
|
||||
"home.column_settings.show_replies": "Паказваць адказы",
|
||||
"home.hide_announcements": "Схаваць аб'явы",
|
||||
"home.pending_critical_update.body": "Калі ласка, абнавіце свой сервер Mastodon як мага хутчэй!",
|
||||
"home.pending_critical_update.body": "Абнавіце свой сервер Mastodon як мага хутчэй!",
|
||||
"home.pending_critical_update.link": "Прагледзець абнаўленні",
|
||||
"home.pending_critical_update.title": "Даступна крытычнае абнаўленне бяспекі!",
|
||||
"home.show_announcements": "Паказаць аб'явы",
|
||||
"ignore_notifications_modal.disclaimer": "Mastodon ня можа йнфармаваць карыстальнікаў аб тым, што вы прайігнаравалі йх паведамленьні. Ігнараваньне паведамленьняў не спыніць іх адпраўку.",
|
||||
"ignore_notifications_modal.disclaimer": "Mastodon не можа паведамляць карыстальнікам, што Вы праігнаравалі апавяшчэнні ад іх. Ігнараванне апавяшчэнняў не спыніць адпраўку саміх паведамленняў.",
|
||||
"ignore_notifications_modal.filter_instead": "Замест гэтага адфільтраваць",
|
||||
"ignore_notifications_modal.filter_to_act_users": "Вы па-ранейшаму зможаце прымаць, адхіляць ці скардзіцца на карыстальнікаў",
|
||||
"ignore_notifications_modal.filter_to_avoid_confusion": "Фільтраваньне дапамагае пазьбегнуць патэнцыйнай блытаніны",
|
||||
"ignore_notifications_modal.filter_to_review_separately": "Вы можаце прагледзець адфільтраваныя паведамленьні асобна",
|
||||
"ignore_notifications_modal.ignore": "Ігнараваць паведамленьні",
|
||||
"ignore_notifications_modal.limited_accounts_title": "Ігнараваць паведамленьні ад абмежаваных уліковых запісаў?",
|
||||
"ignore_notifications_modal.new_accounts_title": "Ігнараваць паведамленьні ад новых уліковых запісаў?",
|
||||
"ignore_notifications_modal.not_followers_title": "Ігнараваць паведамленьні ад людзей, якія ня падпісаныя на вас?",
|
||||
"ignore_notifications_modal.not_following_title": "Ігнараваць апавяшчэнні ад людзей на якіх вы не падпісаны?",
|
||||
"ignore_notifications_modal.private_mentions_title": "Ігнараваць паведамленьні аб непажаданых прыватных згадках?",
|
||||
"ignore_notifications_modal.filter_to_avoid_confusion": "Выкарыстанне фільтраў дапамагае пазбягаць патэнцыйнай блытаніны",
|
||||
"ignore_notifications_modal.filter_to_review_separately": "Вы можаце прагледзець адфільтраваныя апавяшчэнні асобна",
|
||||
"ignore_notifications_modal.ignore": "Ігнараваць апавяшчэнні",
|
||||
"ignore_notifications_modal.limited_accounts_title": "Ігнараваць апавяшчэнні ад уліковых запісаў пад мадэрацыяй?",
|
||||
"ignore_notifications_modal.new_accounts_title": "Ігнараваць апавяшчэнні ад новых уліковых запісаў?",
|
||||
"ignore_notifications_modal.not_followers_title": "Ігнараваць апавяшчэнні ад людзей, якія не падпісаныя на вас?",
|
||||
"ignore_notifications_modal.not_following_title": "Ігнараваць апавяшчэнні ад людзей, на якіх Вы не падпісаныя?",
|
||||
"ignore_notifications_modal.private_mentions_title": "Ігнараваць апавяшчэнні пра непажаданыя прыватныя згадванні?",
|
||||
"info_button.label": "Даведка",
|
||||
"interaction_modal.action.favourite": "Каб працягнуць, вы мусіце ўпадабаць з вашага ўліковага запісу.",
|
||||
"interaction_modal.action.follow": "Каб працягнуць, вы мусіце падпісацца з вашага ўліковага запісу.",
|
||||
"info_button.what_is_alt_text": "<h1>Што такое альтэрнатыўны тэкст?</h1> <p>Альтэрнатыўны тэкст апісвае відарыс людзям з парушэннем зроку, павольным злучэннем або тым, каму патрэбны дадатковы кантэкст.</p> <p>Вы можаце зрабіць відарыс больш дасяжным і зразумелым для ўсіх, напісаўшы зразумелы, сціслы і аб'ектыўны альтэрнатыўны тэкст.</p> <ul><li>Ахоплівайце важныя элементы</li> <li>Тлумачце тэкст на відарысе</li> <li>Карыстайцеся звычайнымі сказамі</li> <li>Пазбягайце залішняй інфармацыі</li> <li>Засяроджвайцеся на тэндэнцыях і ключавых высновах у цяжкіх для разумення візуальных матэрыялах (напрыклад, дыяграмах або картах)</li></ul>",
|
||||
"interaction_modal.action.favourite": "Каб працягнуць, Вы мусіце ўпадабаць нешта са свайго ўліковага запісу.",
|
||||
"interaction_modal.action.follow": "Каб працягнуць, Вы мусіце падпісацца на некага са свайго ўліковага запісу.",
|
||||
"interaction_modal.action.reblog": "Каб працягнуць, Вам трэба пашырыць допіс са свайго ўліковага запісу.",
|
||||
"interaction_modal.action.reply": "Каб працягнуць, Вам трэба адказаць са свайго ўліковага запісу.",
|
||||
"interaction_modal.action.vote": "Каб працягнуць, Вам трэба прагаласаваць са свайго ўліковага запісу.",
|
||||
"interaction_modal.go": "Перайсці",
|
||||
"interaction_modal.no_account_yet": "Не маеце ўліковага запісу?",
|
||||
"interaction_modal.on_another_server": "На іншым серверы",
|
||||
"interaction_modal.on_this_server": "На гэтым серверы",
|
||||
"interaction_modal.title.favourite": "Упадабаць допіс {name}",
|
||||
"interaction_modal.title.follow": "Падпісацца на {name}",
|
||||
"interaction_modal.title.reblog": "Пашырыць допіс ад {name}",
|
||||
"interaction_modal.title.reply": "Адказаць на допіс {name}",
|
||||
"interaction_modal.title.vote": "Прагаласуйце ў апытанні {name}",
|
||||
"interaction_modal.username_prompt": "Напр., {example}",
|
||||
"intervals.full.days": "{number, plural, one {# дзень} few {# дні} many {# дзён} other {# дня}}",
|
||||
"intervals.full.hours": "{number, plural, one {# гадзіна} few {# гадзіны} many {# гадзін} other {# гадзіны}}",
|
||||
"intervals.full.minutes": "{number, plural, one {# хвіліна} few {# хвіліны} many {# хвілін} other {# хвіліны}}",
|
||||
@@ -438,58 +497,88 @@
|
||||
"keyboard_shortcuts.toggle_hidden": "Паказаць/схаваць тэкст за папярэджаннем пра кантэнт",
|
||||
"keyboard_shortcuts.toggle_sensitivity": "Паказаць/схаваць медыя",
|
||||
"keyboard_shortcuts.toot": "Стварыць новы допіс",
|
||||
"keyboard_shortcuts.unfocus": "Расфакусаваць тэкставую вобласць/пошукавы радок",
|
||||
"keyboard_shortcuts.translate": "каб перакласці допіс",
|
||||
"keyboard_shortcuts.unfocus": "Расфакусіраваць тэкставую вобласць/пошукавы радок",
|
||||
"keyboard_shortcuts.up": "Перамясціцца ўверх па спісе",
|
||||
"lightbox.close": "Закрыць",
|
||||
"lightbox.next": "Далей",
|
||||
"lightbox.previous": "Назад",
|
||||
"lightbox.zoom_in": "Маштабаваць да фактычнага памеру",
|
||||
"lightbox.zoom_out": "Дапасаваць усё змесціва пад памеры экрана",
|
||||
"limited_account_hint.action": "Усе роўна паказваць профіль",
|
||||
"limited_account_hint.title": "Гэты профіль быў схаваны мадэратарамі",
|
||||
"limited_account_hint.title": "Гэты профіль быў схаваны мадэратарамі {domain}.",
|
||||
"link_preview.author": "Ад {name}",
|
||||
"link_preview.more_from_author": "Больш ад {name}",
|
||||
"link_preview.shares": "{count, plural, one {{counter} допіс} few {{counter} допісы} many {{counter} допісаў} other {{counter} допісу}}",
|
||||
"lists.add_member": "Дадаць",
|
||||
"lists.add_to_list": "Дадаць у спіс",
|
||||
"lists.add_to_lists": "Дадаць {name} у спісы",
|
||||
"lists.create": "Стварыць",
|
||||
"lists.create_a_list_to_organize": "Стварыце новы спіс, каб арганізаваць сваю Галоўную старонку",
|
||||
"lists.create_list": "Стварыць спіс",
|
||||
"lists.delete": "Выдаліць спіс",
|
||||
"lists.done": "Гатова",
|
||||
"lists.edit": "Рэдагаваць спіс",
|
||||
"lists.exclusive": "Схаваць карыстальнікаў на Галоўнай старонцы",
|
||||
"lists.exclusive_hint": "Калі ў гэтым спісе нехта ёсць, схавайце яго на сваёй Галоўнай старонцы, каб не бачыць яго допісы двойчы.",
|
||||
"lists.find_users_to_add": "Знайсці карыстальнікаў, каб дадаць",
|
||||
"lists.list_members_count": "{count, plural,one {# карыстальнік}other {# карыстальнікі}}",
|
||||
"lists.list_name": "Назва спіса",
|
||||
"lists.new_list_name": "Назва новага спіса",
|
||||
"lists.no_lists_yet": "Пакуль няма спісаў.",
|
||||
"lists.no_members_yet": "Пакуль няма ўдзельнікаў.",
|
||||
"lists.no_results_found": "Нічога не знойдзена.",
|
||||
"lists.remove_member": "Выдаліць",
|
||||
"lists.replies_policy.followed": "Любы карыстальнік, на якога вы падпісаліся",
|
||||
"lists.replies_policy.followed": "Любы карыстальнік, на якога Вы падпісаліся",
|
||||
"lists.replies_policy.list": "Удзельнікі гэтага спісу",
|
||||
"lists.replies_policy.none": "Нікога",
|
||||
"lists.save": "Захаваць",
|
||||
"lists.search": "Пошук",
|
||||
"lists.show_replies_to": "Уключыць адказы ад карыстальнікаў са спіса",
|
||||
"load_pending": "{count, plural, one {# новы элемент} few {# новыя элементы} many {# новых элементаў} other {# новых элементаў}}",
|
||||
"loading_indicator.label": "Загрузка…",
|
||||
"loading_indicator.label": "Ідзе загрузка…",
|
||||
"media_gallery.hide": "Схаваць",
|
||||
"moved_to_account_banner.text": "Ваш уліковы запіс {disabledAccount} зараз адключаны таму што вы перанесены на {movedToAccount}.",
|
||||
"moved_to_account_banner.text": "Ваш уліковы запіс {disabledAccount} зараз адключаны, таму што Вы перайшлі на {movedToAccount}.",
|
||||
"mute_modal.hide_from_notifications": "Схаваць з апавяшчэнняў",
|
||||
"mute_modal.hide_options": "Схаваць опцыі",
|
||||
"mute_modal.indefinite": "Пакуль я не прыбяру ігнараванне",
|
||||
"mute_modal.show_options": "Паказаць опцыі",
|
||||
"mute_modal.they_can_mention_and_follow": "Карыстальнік зможа згадваць вас і падпісацца на вас, але вы гэтага не ўбачыце.",
|
||||
"mute_modal.they_can_mention_and_follow": "Карыстальнік зможа згадваць Вас і падпісацца на Вас, але Вы гэтага не ўбачыце.",
|
||||
"mute_modal.they_wont_know": "Карыстальнік не будзе ведаць пра ігнараванне.",
|
||||
"mute_modal.title": "Ігнараваць карыстальніка?",
|
||||
"mute_modal.you_wont_see_mentions": "Вы не ўбачыце паведамленняў са згадваннем карыстальніка.",
|
||||
"mute_modal.you_wont_see_posts": "Карыстальнік па-ранейшаму будзе бачыць вашыя паведамленні, але вы не будзеце паведамленні карыстальніка.",
|
||||
"mute_modal.you_wont_see_posts": "Карыстальнік па-ранейшаму будзе бачыць Вашыя допісы, але Вы не будзеце бачыць ягоныя.",
|
||||
"navigation_bar.about": "Пра нас",
|
||||
"navigation_bar.account_settings": "Пароль і бяспека",
|
||||
"navigation_bar.administration": "Адміністрацыя",
|
||||
"navigation_bar.advanced_interface": "Адкрыць у пашыраным вэб-інтэрфейсе",
|
||||
"navigation_bar.automated_deletion": "Аўтаматычнае выдаленне допісаў",
|
||||
"navigation_bar.blocks": "Заблакіраваныя карыстальнікі",
|
||||
"navigation_bar.bookmarks": "Закладкі",
|
||||
"navigation_bar.direct": "Асабістыя згадванні",
|
||||
"navigation_bar.direct": "Прыватныя згадванні",
|
||||
"navigation_bar.domain_blocks": "Заблакіраваныя дамены",
|
||||
"navigation_bar.favourites": "Упадабанае",
|
||||
"navigation_bar.filters": "Ігнараваныя словы",
|
||||
"navigation_bar.follow_requests": "Запыты на падпіску",
|
||||
"navigation_bar.followed_tags": "Падпіскі",
|
||||
"navigation_bar.follows_and_followers": "Падпіскі і падпісчыкі",
|
||||
"navigation_bar.import_export": "Імпарт і экспарт",
|
||||
"navigation_bar.lists": "Спісы",
|
||||
"navigation_bar.live_feed_local": "Жывая стужка (лакальная)",
|
||||
"navigation_bar.live_feed_public": "Жывая стужка (публічная)",
|
||||
"navigation_bar.logout": "Выйсці",
|
||||
"navigation_bar.moderation": "Мадэрацыя",
|
||||
"navigation_bar.more": "Больш",
|
||||
"navigation_bar.mutes": "Ігнараваныя карыстальнікі",
|
||||
"navigation_bar.opened_in_classic_interface": "Допісы, уліковыя запісы і іншыя спецыфічныя старонкі па змоўчанні адчыняюцца ў класічным вэб-інтэрфейсе.",
|
||||
"navigation_bar.preferences": "Налады",
|
||||
"navigation_bar.privacy_and_reach": "Прыватнасць і пошук",
|
||||
"navigation_bar.search": "Пошук",
|
||||
"navigation_bar.search_trends": "Пошук / Трэндавае",
|
||||
"navigation_panel.collapse_followed_tags": "Згарнуць меню падпісак на хэштэгі",
|
||||
"navigation_panel.collapse_lists": "Згарнуць меню спісаў",
|
||||
"navigation_panel.expand_followed_tags": "Разгарнуць меню падпісак на хэштэгі",
|
||||
"navigation_panel.expand_lists": "Разгарнуць меню спіса",
|
||||
"not_signed_in_indicator.not_signed_in": "Вам трэба ўвайсці каб атрымаць доступ да гэтага рэсурсу.",
|
||||
"notification.admin.report": "{name} паскардзіўся на {target}",
|
||||
"notification.admin.report_account": "{name} паскардзіўся на {count, plural, one {# допіс} many {# допісаў} other {# допіса}} ад {target} з прычыны {category}",
|
||||
@@ -497,8 +586,15 @@
|
||||
"notification.admin.report_statuses": "{name} паскардзіўся на {target} з прычыны {category}",
|
||||
"notification.admin.report_statuses_other": "{name} паскардзіўся на {target}",
|
||||
"notification.admin.sign_up": "{name} зарэгістраваўся",
|
||||
"notification.favourite": "Ваш допіс упадабаны {name}",
|
||||
"notification.admin.sign_up.name_and_others": "{name} і {count, plural, one {# іншы} other {# іншых}} зарэгістраваліся",
|
||||
"notification.annual_report.message": "Вас чакае Ваш #Wrapstodon нумар {year}! Падзяліцеся сваімі галоўнымі падзеямі і запамінальнымі момантамі ў Mastodon!",
|
||||
"notification.annual_report.view": "Перайсці да #Wrapstodon",
|
||||
"notification.favourite": "Карыстальнік {name} упадабаў Ваш допіс",
|
||||
"notification.favourite.name_and_others_with_link": "{name} і <a>{count, plural, one {# іншы} other {# іншыя}}</a> ўпадабалі Ваш допіс",
|
||||
"notification.favourite_pm": "Ваша асабістае згадванне ўпадабана {name}",
|
||||
"notification.favourite_pm.name_and_others_with_link": "{name} і <a>{count, plural, one {# іншы} few {# іншыя} many {# іншых} other {# іншых}}</a> ўпадабалі ваша асабістае згадванне",
|
||||
"notification.follow": "{name} падпісаўся на вас",
|
||||
"notification.follow.name_and_others": "{name} і <a>{count, plural, one {# іншы} other {# іншыя}}</a> падпісаліся на Вас",
|
||||
"notification.follow_request": "{name} адправіў запыт на падпіску",
|
||||
"notification.follow_request.name_and_others": "{name} і {count, plural, one {# іншы} many {# іншых} other {# іншых}} запыталіся падпісацца на вас",
|
||||
"notification.label.mention": "Згадванне",
|
||||
@@ -508,38 +604,46 @@
|
||||
"notification.mention": "Згадванне",
|
||||
"notification.mentioned_you": "{name} згадаў вас",
|
||||
"notification.moderation-warning.learn_more": "Даведацца больш",
|
||||
"notification.moderation_warning": "Вы атрымалі папярэджанне аб мадэрацыі",
|
||||
"notification.moderation_warning.action_delete_statuses": "Некаторыя вашыя допісы былі выдаленыя.",
|
||||
"notification.moderation_warning": "Вы атрымалі папярэджанне ад мадэратараў",
|
||||
"notification.moderation_warning.action_delete_statuses": "Некаторыя Вашыя допісы былі выдаленыя.",
|
||||
"notification.moderation_warning.action_disable": "Ваш уліковы запіс быў адключаны.",
|
||||
"notification.moderation_warning.action_mark_statuses_as_sensitive": "Некаторыя з вашых допісаў былі пазначаныя як далікатныя.",
|
||||
"notification.moderation_warning.action_none": "Ваш уліковы запіс атрымаў папярэджанне ад мадэратараў.",
|
||||
"notification.moderation_warning.action_sensitive": "З гэтага моманту вашыя допісы будуць пазначаныя як далікатныя.",
|
||||
"notification.moderation_warning.action_silence": "Ваш уліковы запіс быў абмежаваны.",
|
||||
"notification.moderation_warning.action_suspend": "Ваш уліковы запіс быў прыпынены.",
|
||||
"notification.moderation_warning.action_suspend": "Ваш уліковы запіс быў заблакіраваны.",
|
||||
"notification.own_poll": "Ваша апытанне скончылася",
|
||||
"notification.poll": "Апытанне, дзе вы прынялі ўдзел, скончылася",
|
||||
"notification.poll": "Апытанне, дзе Вы прынялі ўдзел, скончылася",
|
||||
"notification.reblog": "{name} пашырыў ваш допіс",
|
||||
"notification.reblog.name_and_others_with_link": "{name} і <a>{count, plural, one {# іншы} many {# іншых} other {# іншых}}</a> абагулілі ваш допіс",
|
||||
"notification.reblog.name_and_others_with_link": "{name} і <a>{count, plural, one {# іншы} many {# іншых} other {# іншых}}</a> пашырылі ваш допіс",
|
||||
"notification.relationships_severance_event": "Страціў сувязь з {name}",
|
||||
"notification.relationships_severance_event.account_suspension": "Адміністратар з {from} прыпыніў працу {target}, што азначае, што вы больш не можаце атрымліваць ад іх абнаўлення ці ўзаемадзейнічаць з імі.",
|
||||
"notification.relationships_severance_event.account_suspension": "Адміністратар з {from} прыпыніў працу ўліковага запісу {target}, што азначае, што Вы больш не можаце атрымліваць ад іх абнаўленні ці ўзаемадзейнічаць з імі.",
|
||||
"notification.relationships_severance_event.domain_block": "Адміністратар з {from} заблакіраваў {target}, у тым ліку {followersCount} вашых падпісчыка(-аў) і {followingCount, plural, one {# уліковы запіс} few {# уліковыя запісы} many {# уліковых запісаў} other {# уліковых запісаў}}.",
|
||||
"notification.relationships_severance_event.learn_more": "Даведацца больш",
|
||||
"notification.relationships_severance_event.user_domain_block": "Вы заблакіравалі {target} выдаліўшы {followersCount} сваіх падпісчыкаў і {followingCount, plural, one {# уліковы запіс} few {# уліковыя запісы} many {# уліковых запісаў} other {# уліковых запісаў}}, за якімі вы сочыце.",
|
||||
"notification.relationships_severance_event.user_domain_block": "Вы заблакіравалі {target} выдаліўшы {followersCount} сваіх падпісчыкаў і {followingCount, plural, one {# уліковы запіс} few {# уліковыя запісы} many {# уліковых запісаў} other {# уліковых запісаў}}, за якімі Вы сочыце.",
|
||||
"notification.status": "Новы допіс ад {name}",
|
||||
"notification.update": "Допіс {name} адрэдагаваны",
|
||||
"notification_requests.accept": "Прыняць",
|
||||
"notification_requests.accept_multiple": "{count, plural,one {Прыняць # запыт…} other {Прыняць # запытаў…}}",
|
||||
"notification_requests.confirm_accept_multiple.button": "{count, plural,one {Прыняць запыт} other {Прыняць запыты}}",
|
||||
"notification_requests.confirm_accept_multiple.message": "Вы збіраецеся прыняць {count, plural, one {адзін запыт на апавяшчэнне} other {# запытаў на апавяшчэнне}}. Упэўненыя, што хочаце працягнуць?",
|
||||
"notification_requests.confirm_accept_multiple.title": "Прыняць запыты на апавяшчэнні?",
|
||||
"notification_requests.confirm_dismiss_multiple.button": "{count, plural,one {Адмовіцца ад запыту} other {Адмовіцца ад запытаў}}",
|
||||
"notification_requests.confirm_dismiss_multiple.message": "Вы збіраецеся адмовіцца ад {count, plural, one {аднаго запыту на апавяшчэнне} other {# запытаў на апавяшчэнне}}. Вы не зможаце зноў лёгка атрымаць доступ да {count, plural, one {яго} other {іх}}. Упэўненыя, што хочаце працягнуць?",
|
||||
"notification_requests.confirm_dismiss_multiple.title": "Адхіліць запыты на апавяшчэнні?",
|
||||
"notification_requests.dismiss": "Адхіліць",
|
||||
"notification_requests.dismiss_multiple": "{count, plural,one {Адмовіцца ад запыту…} other {Адмовіцца ад запытаў…}}",
|
||||
"notification_requests.edit_selection": "Рэдагаваць",
|
||||
"notification_requests.exit_selection": "Гатова",
|
||||
"notification_requests.explainer_for_limited_account": "Апавяшчэнне з гэтага ўліковага запісу было адфільтраванае, бо гэты ўліковы запіс абмежаваў мадэратар.",
|
||||
"notification_requests.explainer_for_limited_remote_account": "Апавяшчэнні з гэтага ўліковага запісу былі адфільтраваныя, бо гэты ўліковы запіс абмежаваў мадэратар.",
|
||||
"notification_requests.maximize": "Разгарнуць",
|
||||
"notification_requests.minimize_banner": "Згарнуць банер адфільтраваных апавяшчэнняў",
|
||||
"notification_requests.notifications_from": "Апавяшчэнні ад {name}",
|
||||
"notification_requests.title": "Адфільтраваныя апавяшчэнні",
|
||||
"notification_requests.view": "Прагляд апавяшчэнняў",
|
||||
"notifications.clear": "Ачысціць апавяшчэнні",
|
||||
"notifications.clear_confirmation": "Вы ўпэўнены, што жадаеце назаўсёды сцерці ўсё паведамленні?",
|
||||
"notifications.clear_confirmation": "Вы ўпэўнены, што хочаце назаўсёды сцерці ўсе свае паведамленні?",
|
||||
"notifications.clear_title": "Ачысціць апавяшчэнні?",
|
||||
"notifications.column_settings.admin.report": "Новыя скаргі:",
|
||||
"notifications.column_settings.admin.sign_up": "Новыя ўваходы:",
|
||||
@@ -549,7 +653,7 @@
|
||||
"notifications.column_settings.filter_bar.category": "Панэль хуткай фільтрацыі",
|
||||
"notifications.column_settings.follow": "Новыя падпісчыкі:",
|
||||
"notifications.column_settings.follow_request": "Новыя запыты на падпіску:",
|
||||
"notifications.column_settings.group": "Аб'яднаць апавяшчэнні ад падпісчыкаў",
|
||||
"notifications.column_settings.group": "Аб’яднаць апавяшчэнні ад падпісчыкаў",
|
||||
"notifications.column_settings.mention": "Згадванні:",
|
||||
"notifications.column_settings.poll": "Вынікі апытання:",
|
||||
"notifications.column_settings.push": "Push-апавяшчэнні",
|
||||
@@ -566,46 +670,49 @@
|
||||
"notifications.filter.follows": "Падпісаны на",
|
||||
"notifications.filter.mentions": "Згадванні",
|
||||
"notifications.filter.polls": "Вынікі апытання",
|
||||
"notifications.filter.statuses": "Навіны ад людзей, на якіх вы падпісаны",
|
||||
"notifications.filter.statuses": "Навіны ад людзей, на якіх Вы падпісаныя",
|
||||
"notifications.grant_permission": "Дазволіць.",
|
||||
"notifications.group": "{count} Апавяшчэнняў",
|
||||
"notifications.mark_as_read": "Пазначыць усе апавяшчэнні як прачытаныя",
|
||||
"notifications.permission_denied": "Апавяшчэнні на працоўным стале недаступныя з-за папярэдне адхіленага запыта праў браўзера",
|
||||
"notifications.permission_denied_alert": "Апавяшчэнні на працоўным стале не могуць быць уключаныя, з-за таго што запыт браўзера быў адхілены",
|
||||
"notifications.permission_denied_alert": "З-за таго, што запыт браўзера быў раней адхілены, немагчыма ўключыць апавяшчэнні на працоўным стале",
|
||||
"notifications.permission_required": "Апавяшчэнні на працоўным стале недаступныя, з-за таго што неабходны дазвол не быў дадзены.",
|
||||
"notifications.policy.accept": "Прыняць",
|
||||
"notifications.policy.accept_hint": "Паказваць у апавяшчэннях",
|
||||
"notifications.policy.drop": "Iгнараваць",
|
||||
"notifications.policy.drop_hint": "Адправіць у бездань, адкуль больш ніколі не ўбачыце",
|
||||
"notifications.policy.filter": "Фільтраваць",
|
||||
"notifications.policy.filter_limited_accounts_title": "Абмежаваныя ўліковыя запісы",
|
||||
"notifications.policy.filter_hint": "Адправіць у скрыню адфільтраваных апавяшчэнняў",
|
||||
"notifications.policy.filter_limited_accounts_hint": "Абмежавана мадэратарамі сервера",
|
||||
"notifications.policy.filter_limited_accounts_title": "Уліковыя запісы пад мадэрацыяй",
|
||||
"notifications.policy.filter_new_accounts.hint": "Створаныя на працягу {days, plural, one {апошняга # дня} few {апошніх # дзён} many {апошніх # дзён} other {апошняй # дня}}",
|
||||
"notifications.policy.filter_new_accounts_title": "Новыя ўліковыя запісы",
|
||||
"notifications.policy.filter_not_followers_hint": "Уключаючы людзей, якія падпісаны на вас менш, чым {days, plural, one {# дзень} few {# дні} many {# дзён} other {# дня}}",
|
||||
"notifications.policy.filter_not_followers_title": "Людзі, якія не падпісаны на вас",
|
||||
"notifications.policy.filter_not_following_hint": "Пакуль вы не пацвердзіце іх уручную",
|
||||
"notifications.policy.filter_not_following_title": "Людзі, на якіх вы не падпісаны",
|
||||
"notifications.policy.filter_private_mentions_hint": "Фільтруецца за выключэннем адказу на вашае згадванне ці калі вы падпісаны на адпраўніка",
|
||||
"notifications.policy.filter_private_mentions_title": "Непажаданыя асаблівыя згадванні",
|
||||
"notifications.policy.filter_not_following_title": "Людзі, на якіх Вы не падпісаныя",
|
||||
"notifications.policy.filter_private_mentions_hint": "Фільтруецца, за выключэннем адказу на Вашае згадванне ці калі Вы падпісаныя на адпраўніка",
|
||||
"notifications.policy.filter_private_mentions_title": "Непажаданыя прыватныя згадванні",
|
||||
"notifications.policy.title": "Наладзіць апавяшчэнні ад…",
|
||||
"notifications_permission_banner.enable": "Уключыць апавяшчэнні на працоўным стале",
|
||||
"notifications_permission_banner.how_to_control": "Каб атрымліваць апавяшчэнні, калі Mastodon не адкрыты, уключыце апавяшчэнні працоўнага стала. Вы зможаце дакладна кантраляваць, якія падзеі будуць ствараць апавяшчэнні з дапамогай {icon} кнопкі, як толькі яны будуць уключаны.",
|
||||
"notifications_permission_banner.title": "Не прапусціце нічога",
|
||||
"onboarding.follows.back": "Назад",
|
||||
"onboarding.follows.done": "Гатова",
|
||||
"onboarding.follows.empty": "На жаль, зараз немагчыма паказаць вынікі. Вы можаце паспрабаваць выкарыстоўваць пошук і праглядзець старонку агляду, каб знайсці людзей, на якіх можна падпісацца, або паўтарыце спробу пазней.",
|
||||
"onboarding.follows.empty": "На жаль, зараз немагчыма паказаць вынікі. Вы можаце паспрабаваць выкарыстоўваць пошук і праглядзець старонку агляду, каб знайсці людзей, на якіх можна падпісацца, або паўтарыць спробу пазней.",
|
||||
"onboarding.follows.search": "Пошук",
|
||||
"onboarding.follows.title": "Падпішыцеся каб пачаць",
|
||||
"onboarding.follows.title": "Падпішыцеся на некага, каб пачаць",
|
||||
"onboarding.profile.discoverable": "Зрабіць мой профіль бачным",
|
||||
"onboarding.profile.discoverable_hint": "Калі вы звяртаецеся да адкрытасці на Mastodon, вашы паведамленні могуць з'яўляцца ў выніках пошуку і тэндэнцый, а ваш профіль можа быць прапанаваны людзям з такімі ж інтарэсамі.",
|
||||
"onboarding.profile.discoverable_hint": "Калі Вы звяртаецеся да адкрытасці на Mastodon, Вашы допісы могуць з'яўляцца ў выніках пошуку і трэндах, а Ваш профіль можа быць прапанаваны людзям з такімі ж інтарэсамі.",
|
||||
"onboarding.profile.display_name": "Бачнае імя",
|
||||
"onboarding.profile.display_name_hint": "Ваша поўнае імя або ваш псеўданім…",
|
||||
"onboarding.profile.note": "Біяграфія",
|
||||
"onboarding.profile.note_hint": "Вы можаце @згадаць іншых людзей або выкарыстоўваць #хэштэгі…",
|
||||
"onboarding.profile.note_hint": "Вы можаце @згадваць іншых людзей або выкарыстоўваць #хэштэгі…",
|
||||
"onboarding.profile.save_and_continue": "Захаваць і працягнуць",
|
||||
"onboarding.profile.title": "Налады профілю",
|
||||
"onboarding.profile.upload_avatar": "Загрузіць фота профілю",
|
||||
"onboarding.profile.upload_header": "Загрузіць шапку профілю",
|
||||
"password_confirmation.exceeds_maxlength": "Пароль пацьверджання перавышае максімальна дапушчальную даўжыню",
|
||||
"password_confirmation.exceeds_maxlength": "Пароль пацвярджэння перавышае максімальна дапушчальную даўжыню",
|
||||
"password_confirmation.mismatching": "Пароль пацьверджання не супадае",
|
||||
"picture_in_picture.restore": "Вярніце назад",
|
||||
"poll.closed": "Закрыта",
|
||||
@@ -620,19 +727,20 @@
|
||||
"poll_button.remove_poll": "Выдаліць апытанне",
|
||||
"privacy.change": "Змяніць прыватнасць допісу",
|
||||
"privacy.direct.long": "Усе згаданыя ў допісе",
|
||||
"privacy.direct.short": "Асабістае згадванне",
|
||||
"privacy.private.long": "Толькі вашыя падпісчыкі",
|
||||
"privacy.private.short": "Падпісчыкі",
|
||||
"privacy.public.long": "Усе, хто ёсць і каго няма ў Mastodon",
|
||||
"privacy.public.short": "Публічны",
|
||||
"privacy.unlisted.additional": "Паводзіць сябе гэтак жа, як і публічны, за выключэннем таго, што пост не будзе адлюстроўвацца ў жывой стужцы, хэштэгах, аглядзе або ў пошуку Mastodon, нават калі вы ўключылі бачнасць у пошуку ў наладах.",
|
||||
"privacy.unlisted.additional": "Паводзіць сябе гэтак жа, як і публічны, за выключэннем таго, што допіс не будзе адлюстроўвацца ў жывой стужцы, хэштэгах, аглядзе або ў пошуку Mastodon, нават калі Вы ўключылі бачнасць у пошуку ў наладах.",
|
||||
"privacy.unlisted.long": "Менш фанфар ад алгарытмаў",
|
||||
"privacy.unlisted.short": "Ціхі публічны",
|
||||
"privacy_policy.last_updated": "Адноўлена {date}",
|
||||
"privacy_policy.title": "Палітыка канфідэнцыйнасці",
|
||||
"recommended": "Рэкамендуем",
|
||||
"recommended": "Рэкамендаванае",
|
||||
"refresh": "Абнавiць",
|
||||
"regeneration_indicator.please_stand_by": "Калі ласка, пачакайце.",
|
||||
"regeneration_indicator.preparing_your_home_feed": "Рыхтуем вашую стужку…",
|
||||
"regeneration_indicator.please_stand_by": "Пачакайце.",
|
||||
"regeneration_indicator.preparing_your_home_feed": "Рыхтуем вашу галоўную стужку…",
|
||||
"relative_time.days": "{number} д",
|
||||
"relative_time.full.days": "{number, plural, one {# дзень} few {# дні} many {# дзён} other {# дня}} таму",
|
||||
"relative_time.full.hours": "{number, plural, one {# гадзіна} few {# гадзіны} many {# гадзін} other {# гадзіны}} таму",
|
||||
@@ -648,8 +756,8 @@
|
||||
"reply_indicator.cancel": "Скасаваць",
|
||||
"reply_indicator.poll": "Апытанне",
|
||||
"report.block": "Заблакіраваць",
|
||||
"report.block_explanation": "Вы перастанеце бачыць допісы гэтага карыстальніка. Ён не зможа сачыць за вамі і бачыць вашы допісы. Ён зможа зразумець, што яго заблакіравалі.",
|
||||
"report.categories.legal": "Права",
|
||||
"report.block_explanation": "Вы перастанеце бачыць допісы гэтага карыстальніка. Ён не зможа сачыць за Вамі і бачыць Вашы допісы. Ён зможа зразумець, што яго заблакіравалі.",
|
||||
"report.categories.legal": "Звязанае з правам",
|
||||
"report.categories.other": "Іншае",
|
||||
"report.categories.spam": "Спам",
|
||||
"report.categories.violation": "Змест парушае адно ці некалькі правілаў сервера",
|
||||
@@ -662,9 +770,9 @@
|
||||
"report.forward": "Пераслаць на {target}",
|
||||
"report.forward_hint": "Гэты ўліковы запіс з іншага сервера. Даслаць ананімную копію скаргі і туды?",
|
||||
"report.mute": "Ігнараваць",
|
||||
"report.mute_explanation": "Вы не будзеце бачыць допісы гэтага карыстальніка. Ён усё яшчэ зможа сачыць за вамі і бачыць вашы допісы, не ведаючы, што яго ігнаруюць.",
|
||||
"report.mute_explanation": "Вы не будзеце бачыць допісы гэтага карыстальніка. Ён усё яшчэ зможа сачыць за Вамі і бачыць Вашы допісы, не ведаючы, што яго ігнаруюць.",
|
||||
"report.next": "Далей",
|
||||
"report.placeholder": "Дадатковы каментар",
|
||||
"report.placeholder": "Дадатковыя каментарыі",
|
||||
"report.reasons.dislike": "Мне ён не падабаецца",
|
||||
"report.reasons.dislike_description": "Гэта тое, што Вы не хочаце бачыць",
|
||||
"report.reasons.legal": "Гэта незаконна",
|
||||
@@ -681,9 +789,9 @@
|
||||
"report.statuses.title": "Ці ёсць допісы, каб падмацаваць гэтую скаргу?",
|
||||
"report.submit": "Адправіць",
|
||||
"report.target": "Скарга на {target}",
|
||||
"report.thanks.take_action": "Вось вашыя варыянты кантролю над тым, што вы бачыце в Mastodon:",
|
||||
"report.thanks.take_action_actionable": "Пакуль мы разглядаем яе, вы можаце распачаць дзеянні супраць @{name}:",
|
||||
"report.thanks.title": "Ці хочаце вы бачыць гэта?",
|
||||
"report.thanks.take_action": "Вось Вашыя варыянты кантролю над тым, што Вы бачыце в Mastodon:",
|
||||
"report.thanks.take_action_actionable": "Пакуль мы разглядаем яе, Вы можаце распачаць дзеянні супраць @{name}:",
|
||||
"report.thanks.title": "Ці хочаце Вы бачыць гэта?",
|
||||
"report.thanks.title_actionable": "Дзякуем за зварот, мы разбяромся з гэтым.",
|
||||
"report.unfollow": "Адпісацца ад @{name}",
|
||||
"report.unfollow_explanation": "Вы падпісаныя на гэты ўліковы запіс. Каб не бачыць допісы з яго ў вашай стужцы, адпішыцеся.",
|
||||
@@ -697,6 +805,7 @@
|
||||
"report_notification.categories.violation": "Парушэнне правілаў",
|
||||
"report_notification.categories.violation_sentence": "парушэнне правілаў",
|
||||
"report_notification.open": "Адкрыць скаргу",
|
||||
"search.clear": "Ачысціць пошук",
|
||||
"search.no_recent_searches": "Гісторыя пошуку пустая",
|
||||
"search.placeholder": "Пошук",
|
||||
"search.quick_action.account_search": "Супадзенне профіляў {x}",
|
||||
@@ -716,19 +825,19 @@
|
||||
"search_results.accounts": "Профілі",
|
||||
"search_results.all": "Усё",
|
||||
"search_results.hashtags": "Хэштэгі",
|
||||
"search_results.no_results": "Анічога ня знойдзена.",
|
||||
"search_results.no_search_yet": "Паспрабуйце пашукаць допісы, профілі або гэштаґі.",
|
||||
"search_results.no_results": "Няма вынікаў.",
|
||||
"search_results.no_search_yet": "Паспрабуйце пашукаць допісы, профілі або хэштэгі.",
|
||||
"search_results.see_all": "Праглядзець усе",
|
||||
"search_results.statuses": "Допісы",
|
||||
"search_results.title": "Шукаць \"{q}\"",
|
||||
"server_banner.about_active_users": "Людзі, якія карыстаюцца гэтым сервера на працягу апошніх 30 дзён (Штомесячна Актыўныя Карыстальнікі)",
|
||||
"server_banner.about_active_users": "Людзі, якія карысталіся гэтым серверам на працягу апошніх 30 дзён (штомесячна актыўныя карыстальнікі)",
|
||||
"server_banner.active_users": "актыўныя карыстальнікі",
|
||||
"server_banner.administered_by": "Адміністратар:",
|
||||
"server_banner.is_one_of_many": "{domain} - гэта адзін з многіх незалежных сервераў Mastodon, якія вы можаце выкарыстоўваць для ўдзелу ў fediverse.",
|
||||
"server_banner.is_one_of_many": "{domain} - гэта адзін з многіх незалежных сервераў Mastodon, які Вы можаце выкарыстоўваць для ўдзелу ў федэральным сусвеце.",
|
||||
"server_banner.server_stats": "Статыстыка сервера:",
|
||||
"sign_in_banner.create_account": "Стварыць уліковы запіс",
|
||||
"sign_in_banner.follow_anyone": "Сачыце за кім заўгодна ва ўсім fediverse і глядзіце ўсё ў храналагічным парадку. Ніякіх алгарытмаў, рэкламы або клікбэйту.",
|
||||
"sign_in_banner.mastodon_is": "Mastodon - лепшы спосаб быць у курсе ўсяго, што адбываецца.",
|
||||
"sign_in_banner.follow_anyone": "Падпісвайцеся на каго захочаце ва ўсім федэральным сусвеце і глядзіце ўсё ў храналагічным парадку. Ніякіх алгарытмаў, рэкламы або клікбэйту.",
|
||||
"sign_in_banner.mastodon_is": "Mastodon - найлепшы спосаб быць у курсе ўсяго, што адбываецца.",
|
||||
"sign_in_banner.sign_in": "Увайсці",
|
||||
"sign_in_banner.sso_redirect": "Уваход ці рэгістрацыя",
|
||||
"status.admin_account": "Адкрыць інтэрфейс мадэратара для @{name}",
|
||||
@@ -737,8 +846,8 @@
|
||||
"status.block": "Заблакаваць @{name}",
|
||||
"status.bookmark": "Дадаць закладку",
|
||||
"status.cancel_reblog_private": "Прыбраць",
|
||||
"status.cannot_reblog": "Гэты пост нельга пашырыць",
|
||||
"status.continued_thread": "Працяг тэмы",
|
||||
"status.cannot_reblog": "Гэты допіс нельга пашырыць",
|
||||
"status.continued_thread": "Працяг ланцужка",
|
||||
"status.copy": "Скапіраваць спасылку на допіс",
|
||||
"status.delete": "Выдаліць",
|
||||
"status.detailed_status": "Дэтальны агляд размовы",
|
||||
@@ -749,7 +858,7 @@
|
||||
"status.edited_x_times": "Рэдагавана {count, plural, one {{count} раз} few {{count} разы} many {{count} разоў} other {{count} разу}}",
|
||||
"status.embed": "Атрымаць убудаваны код",
|
||||
"status.favourite": "Упадабанае",
|
||||
"status.favourites": "{count, plural, one {# упадабанае} few {# упадабаныя} many {# упадабаных} other {# упадабанага}}",
|
||||
"status.favourites": "{count, plural, one {упадабанне} few {упадабанні} other {упадабанняў}}",
|
||||
"status.filter": "Фільтраваць гэты допіс",
|
||||
"status.history.created": "Створана {name} {date}",
|
||||
"status.history.edited": "Адрэдагавана {name} {date}",
|
||||
@@ -763,16 +872,24 @@
|
||||
"status.mute_conversation": "Ігнараваць размову",
|
||||
"status.open": "Разгарнуць гэты допіс",
|
||||
"status.pin": "Замацаваць у профілі",
|
||||
"status.quote_error.filtered": "Схавана адным з Вашых фільтраў",
|
||||
"status.quote_error.not_found": "Гэты допіс немагчыма паказаць.",
|
||||
"status.quote_error.pending_approval": "Гэты допіс чакае ўхвалення ад аўтара арыгінала.",
|
||||
"status.quote_error.rejected": "Гэты допіс немагчыма паказаць, паколькі аўтар арыгінала не дазваляе цытаваць яго.",
|
||||
"status.quote_error.removed": "Гэты допіс быў выдалены аўтарам.",
|
||||
"status.quote_error.unauthorized": "Гэты допіс немагчыма паказаць, паколькі Вы не аўтарызаваныя, каб праглядаць яго.",
|
||||
"status.quote_post_author": "Допіс карыстальніка @{name}",
|
||||
"status.read_more": "Чытаць болей",
|
||||
"status.reblog": "Пашырыць",
|
||||
"status.reblog_private": "Пашырыць з першапачатковай бачнасцю",
|
||||
"status.reblogged_by": "{name} пашырыў(-ла)",
|
||||
"status.reblogs": "{count, plural, one {# пашырэнне} few {# пашырэнні} many {# пашырэнняў} other {# пашырэння}}",
|
||||
"status.reblogs": "{count, plural, one {пашырэнне} few {пашырэнні} many {пашырэнняў} other {пашырэння}}",
|
||||
"status.reblogs.empty": "Гэты допіс яшчэ ніхто не пашырыў. Калі гэта адбудзецца, гэтых людзей будзе бачна тут.",
|
||||
"status.redraft": "Выдаліць і паправіць",
|
||||
"status.redraft": "Выдаліць і перапісаць",
|
||||
"status.remove_bookmark": "Выдаліць закладку",
|
||||
"status.replied_in_thread": "Адказаў у тэме",
|
||||
"status.replied_to": "Адказаў {name}",
|
||||
"status.remove_favourite": "Выдаліць з упадабаных",
|
||||
"status.replied_in_thread": "Адказаў(-ла) у ланцужку",
|
||||
"status.replied_to": "Адказаў(-ла) {name}",
|
||||
"status.reply": "Адказаць",
|
||||
"status.replyAll": "Адказаць у ланцугу",
|
||||
"status.report": "Паскардзіцца на @{name}",
|
||||
@@ -791,8 +908,13 @@
|
||||
"subscribed_languages.save": "Захаваць змены",
|
||||
"subscribed_languages.target": "Змяніць мовы падпіскі для {target}",
|
||||
"tabs_bar.home": "Галоўная",
|
||||
"tabs_bar.menu": "Меню",
|
||||
"tabs_bar.notifications": "Апавяшчэнні",
|
||||
"terms_of_service.title": "Умовы абслугоўваньня",
|
||||
"tabs_bar.publish": "Новы допіс",
|
||||
"tabs_bar.search": "Пошук",
|
||||
"terms_of_service.effective_as_of": "Дзейнічае да {date}",
|
||||
"terms_of_service.title": "Умовы выкарыстання",
|
||||
"terms_of_service.upcoming_changes_on": "Змены, якія адбудуцца {date}",
|
||||
"time_remaining.days": "{number, plural, one {застаўся # дзень} few {засталося # дні} many {засталося # дзён} other {засталося # дня}}",
|
||||
"time_remaining.hours": "{number, plural, one {засталася # гадзіна} few {засталося # гадзіны} many {засталося # гадзін} other {засталося # гадзіны}}",
|
||||
"time_remaining.minutes": "{number, plural, one {засталася # хвіліна} few {засталося # хвіліны} many {засталося # хвілін} other {засталося # хвіліны}}",
|
||||
@@ -800,7 +922,7 @@
|
||||
"time_remaining.seconds": "{number, plural, one {засталася # секунда} few {засталося # секунды} many {засталося # секунд} other {засталося # секунды}}",
|
||||
"trends.counter_by_accounts": "{count, plural, one {{counter} чалавек} few {{counter} чалавекі} many {{counter} людзей} other {{counter} чалавек}} за {days, plural, one {{days} апошні дзень} few {{days} апошнія дні} many {{days} апошніх дзён} other {{days} апошніх дзён}}",
|
||||
"trends.trending_now": "Актуальнае",
|
||||
"ui.beforeunload": "Ваш чарнавік знішчыцца калі вы пакінеце Mastodon.",
|
||||
"ui.beforeunload": "Ваш чарнавік будзе страчаны, калі Вы пакінеце Mastodon.",
|
||||
"units.short.billion": "{count} млрд.",
|
||||
"units.short.million": "{count} міл.",
|
||||
"units.short.thousand": "{count} тыс.",
|
||||
@@ -808,6 +930,11 @@
|
||||
"upload_button.label": "Дадаць выяву, відэа- ці аўдыяфайл",
|
||||
"upload_error.limit": "Перавышана колькасць файлаў.",
|
||||
"upload_error.poll": "Немагчыма прымацаваць файл да апытання.",
|
||||
"upload_form.drag_and_drop.instructions": "Каб абраць медыя ўлажэнне, націсніце прабел ці Enter. Падчас перасоўвання выкарыстоўвайце кнопкі са стрэлкамі, каб пасунуць медыя далучэнне ў любым напрамку. Націсніце прабел ці Enter зноў, каб перасунуць медыя далучэнне ў новае месца, або Escape для адмены.",
|
||||
"upload_form.drag_and_drop.on_drag_cancel": "Перасоўванне адмененае. Медыя ўлажэнне {item} на месцы.",
|
||||
"upload_form.drag_and_drop.on_drag_end": "Медыя ўлажэнне {item} на месцы.",
|
||||
"upload_form.drag_and_drop.on_drag_over": "Медыя ўлажэнне {item} перасунутае.",
|
||||
"upload_form.drag_and_drop.on_drag_start": "Абранае медыя ўлажэнне {item}.",
|
||||
"upload_form.edit": "Рэдагаваць",
|
||||
"upload_progress.label": "Запампоўванне...",
|
||||
"upload_progress.processing": "Апрацоўка…",
|
||||
@@ -818,6 +945,12 @@
|
||||
"video.expand": "Разгарнуць відэа",
|
||||
"video.fullscreen": "Увесь экран",
|
||||
"video.hide": "Схаваць відэа",
|
||||
"video.mute": "Выключыць гук",
|
||||
"video.pause": "Паўза",
|
||||
"video.play": "Прайграць"
|
||||
"video.play": "Прайграць",
|
||||
"video.skip_backward": "Праматаць назад",
|
||||
"video.skip_forward": "Праматаць уперад",
|
||||
"video.unmute": "Уключыць гук",
|
||||
"video.volume_down": "Паменшыць гучнасць",
|
||||
"video.volume_up": "Павялічыць гучнасць"
|
||||
}
|
||||
|
||||
@@ -1,6 +1,7 @@
|
||||
{
|
||||
"about.blocks": "Модерирани сървъри",
|
||||
"about.contact": "За контакти:",
|
||||
"about.default_locale": "По подразбиране",
|
||||
"about.disclaimer": "Mastodon е безплатен софтуер с отворен изходен код и търговска марка на Mastodon gGmbH.",
|
||||
"about.domain_blocks.no_reason_available": "Няма налична причина",
|
||||
"about.domain_blocks.preamble": "Mastodon обикновено позволява да разглеждате съдържание и да взаимодействате с други потребители от всякакви сървъри във Федивселената. Има изключения, направени конкретно за този сървър.",
|
||||
@@ -188,7 +189,7 @@
|
||||
"community.column_settings.remote_only": "Само отдалечено",
|
||||
"compose.language.change": "Смяна на езика",
|
||||
"compose.language.search": "Търсене на езици...",
|
||||
"compose.published.body": "Публикувана публикация.",
|
||||
"compose.published.body": "Публикувано.",
|
||||
"compose.published.open": "Отваряне",
|
||||
"compose.saved.body": "Запазена публикация.",
|
||||
"compose_form.direct_message_warning_learn_more": "Още информация",
|
||||
|
||||
@@ -7,12 +7,13 @@
|
||||
"about.domain_blocks.preamble": "Gant Mastodon e c'hellit gwelet danvez hag eskemm gant implijerien·ezed eus forzh peseurt servijer er fedibed peurliesañ. Setu an nemedennoù a zo bet graet evit ar servijer-mañ e-unan.",
|
||||
"about.domain_blocks.silenced.explanation": "Ne vo ket gwelet profiloù eus ar servijer-mañ ganeoc'h peurliesañ, nemet ma vefec'h o klask war o lec'h pe choazfec'h o heuliañ.",
|
||||
"about.domain_blocks.silenced.title": "Bevennet",
|
||||
"about.domain_blocks.suspended.explanation": "Roadenn ebet eus ar servijer-mañ ne vo keweriet, kadavet pe eskemmet, ar pezh a lako an etreweriañ pe ar c'hehentiñ gant implijerien adalek ar servijer-mañ dibosupl.",
|
||||
"about.domain_blocks.suspended.explanation": "Roadenn ebet eus ar servijer-mañ ne vo keweriet, kadavet pe eskemmet, ar pezh a lako an etreweriañ pe ar c'hehentiñ gant implijerien·ezed adalek ar servijer-mañ dibosupl.",
|
||||
"about.domain_blocks.suspended.title": "Astalet",
|
||||
"about.language_label": "Yezh",
|
||||
"about.not_available": "An titour-mañ ne c'heller ket gwelet war ar servijer-mañ.",
|
||||
"about.powered_by": "Rouedad sokial digreizenned kaset gant {mastodon}",
|
||||
"about.rules": "Reolennoù ar servijer",
|
||||
"account.account_note_header": "Notenn bersonel",
|
||||
"account.add_or_remove_from_list": "Ouzhpenn pe dilemel eus al listennadoù",
|
||||
"account.badges.bot": "Robot",
|
||||
"account.badges.group": "Strollad",
|
||||
@@ -20,17 +21,22 @@
|
||||
"account.block_domain": "Stankañ an domani {domain}",
|
||||
"account.block_short": "Stankañ",
|
||||
"account.blocked": "Stanket",
|
||||
"account.blocking": "Stanket",
|
||||
"account.cancel_follow_request": "Nullañ ar reked heuliañ",
|
||||
"account.copy": "Eilañ al liamm war-zu ho profil",
|
||||
"account.direct": "Menegiñ @{name} ent-prevez",
|
||||
"account.disable_notifications": "Paouez d'am c'hemenn pa vez embannet traoù gant @{name}",
|
||||
"account.domain_blocking": "Domani stanket",
|
||||
"account.edit_profile": "Kemmañ ar profil",
|
||||
"account.enable_notifications": "Ma c'hemenn pa vez embannet traoù gant @{name}",
|
||||
"account.endorse": "Lakaat war-wel war ar profil",
|
||||
"account.familiar_followers_one": "Heuilhet gant {name1}",
|
||||
"account.familiar_followers_two": "Heuilhet gant {name1} ha {name2}",
|
||||
"account.featured_tags.last_status_at": "Toud diwezhañ : {date}",
|
||||
"account.featured_tags.last_status_never": "Embannadur ebet",
|
||||
"account.endorse": "Lakaat en a-raok war ar profil",
|
||||
"account.familiar_followers_one": "Heuliet gant {name1}",
|
||||
"account.familiar_followers_two": "Heuliet gant {name1} ha {name2}",
|
||||
"account.featured": "En a-raok",
|
||||
"account.featured.accounts": "Profiloù",
|
||||
"account.featured.hashtags": "Gerioù-klik",
|
||||
"account.featured_tags.last_status_at": "Embann diwezhañ: {date}",
|
||||
"account.featured_tags.last_status_never": "Embann ebet",
|
||||
"account.follow": "Heuliañ",
|
||||
"account.follow_back": "Heuliañ d'ho tro",
|
||||
"account.followers": "Tud koumanantet",
|
||||
@@ -39,6 +45,7 @@
|
||||
"account.followers_you_know_counter": "{counter} a anavezit",
|
||||
"account.following": "Koumanantoù",
|
||||
"account.follows.empty": "An implijer·ez-mañ na heul den ebet.",
|
||||
"account.follows_you": "Ho heuilh",
|
||||
"account.go_to_profile": "Gwelet ar profil",
|
||||
"account.hide_reblogs": "Kuzh skignadennoù gant @{name}",
|
||||
"account.in_memoriam": "E koun.",
|
||||
@@ -53,20 +60,25 @@
|
||||
"account.mute_notifications_short": "Kuzhat ar c'hemennoù",
|
||||
"account.mute_short": "Kuzhat",
|
||||
"account.muted": "Kuzhet",
|
||||
"account.muting": "O kuzhat",
|
||||
"account.mutual": "Heuliañ a rit an eil egile",
|
||||
"account.no_bio": "Deskrivadur ebet da gaout.",
|
||||
"account.open_original_page": "Digeriñ ar bajenn orin",
|
||||
"account.posts": "Embannadurioù",
|
||||
"account.posts_with_replies": "Embannadurioù ha respontoù",
|
||||
"account.remove_from_followers": "Dilemel {name} eus an heulierien·ezed",
|
||||
"account.report": "Disklêriañ @{name}",
|
||||
"account.requested": "O c'hortoz an asant. Klikit evit nullañ ar goulenn heuliañ",
|
||||
"account.requested_follow": "Gant {name} eo bet goulennet ho heuliañ",
|
||||
"account.requests_to_follow_you": "Rekedoù d'ho heuliañ",
|
||||
"account.share": "Skignañ profil @{name}",
|
||||
"account.show_reblogs": "Diskouez skignadennoù @{name}",
|
||||
"account.statuses_counter": "{count, plural, one {{counter} embannadur} two {{counter} embannadur} few {{counter} embannadur} many {{counter} embannadur} other {{counter} embannadur}}",
|
||||
"account.unblock": "Diverzañ @{name}",
|
||||
"account.unblock_domain": "Diverzañ an domani {domain}",
|
||||
"account.unblock": "Distankañ @{name}",
|
||||
"account.unblock_domain": "Distankañ an domani {domain}",
|
||||
"account.unblock_domain_short": "Distankañ",
|
||||
"account.unblock_short": "Distankañ",
|
||||
"account.unendorse": "Paouez da lakaat war-wel war ar profil",
|
||||
"account.unendorse": "Na lakaat ket en a-raok war ar profil",
|
||||
"account.unfollow": "Diheuliañ",
|
||||
"account.unmute": "Diguzhat @{name}",
|
||||
"account.unmute_notifications_short": "Diguzhat ar c'hemennoù",
|
||||
@@ -76,27 +88,39 @@
|
||||
"admin.dashboard.monthly_retention": "Feur azdalc'h an implijerien·ezed dre viz goude bezañ lakaet o anv",
|
||||
"admin.dashboard.retention.average": "Keidenn",
|
||||
"admin.dashboard.retention.cohort": "Miz an enrolladur",
|
||||
"admin.dashboard.retention.cohort_size": "Implijerien.erezed nevez",
|
||||
"admin.dashboard.retention.cohort_size": "Implijerien·ezed nevez",
|
||||
"admin.impact_report.instance_accounts": "Profiloù kontoù a vefe dilamet",
|
||||
"admin.impact_report.instance_followers": "Heulierien a gollfe hon implijerien",
|
||||
"admin.impact_report.instance_follows": "Heulierien a gollfe o implijerien",
|
||||
"admin.impact_report.instance_followers": "Heulierien a gollfe hon implijerien·ezed",
|
||||
"admin.impact_report.instance_follows": "Heulierien a gollfe o implijerien·ezed",
|
||||
"alert.rate_limited.message": "Klaskit en-dro a-benn {retry_time, time, medium}.",
|
||||
"alert.rate_limited.title": "Feur bevennet",
|
||||
"alert.unexpected.message": "Ur fazi dic'hortozet zo degouezhet.",
|
||||
"alert.unexpected.title": "Hopala !",
|
||||
"alt_text_badge.title": "Eiltestenn",
|
||||
"alt_text_modal.add_alt_text": "Ouzhpennañ un eiltestenn",
|
||||
"alt_text_modal.cancel": "Nullañ",
|
||||
"alt_text_modal.change_thumbnail": "Kemmañ ar velvenn",
|
||||
"alt_text_modal.done": "Graet",
|
||||
"announcement.announcement": "Kemennad",
|
||||
"annual_report.summary.followers.followers": "heulier",
|
||||
"annual_report.summary.followers.total": "{count} en holl",
|
||||
"annual_report.summary.highlighted_post.by_favourites": "embannadur karet ar muiañ",
|
||||
"annual_report.summary.highlighted_post.by_reblogs": "embannadur skignet ar muiañ",
|
||||
"annual_report.summary.highlighted_post.by_replies": "embannadur gant ar muiañ a respontoù",
|
||||
"annual_report.summary.highlighted_post.possessive": "{name}",
|
||||
"annual_report.summary.most_used_app.most_used_app": "arload muiañ implijet",
|
||||
"annual_report.summary.most_used_hashtag.most_used_hashtag": "ar gerioù-klik implijet ar muiañ",
|
||||
"annual_report.summary.most_used_hashtag.none": "Hini ebet",
|
||||
"annual_report.summary.new_posts.new_posts": "toudoù nevez",
|
||||
"annual_report.summary.new_posts.new_posts": "embannadurioù nevez",
|
||||
"attachments_list.unprocessed": "(ket meret)",
|
||||
"audio.hide": "Kuzhat ar c'hleved",
|
||||
"block_modal.show_less": "Diskouez nebeutoc'h",
|
||||
"block_modal.show_more": "Diskouez muioc'h",
|
||||
"block_modal.they_cant_mention": "Ne c'hall na menegiñ na heuliañ ac'hanoc'h.",
|
||||
"block_modal.title": "Stankañ an implijer·ez?",
|
||||
"boost_modal.combo": "Ar wezh kentañ e c'halliot gwaskañ war {combo} evit tremen hebiou",
|
||||
"boost_modal.reblog": "Skignañ an embannadur?",
|
||||
"boost_modal.undo_reblog": "Paouez da skignañ an embannadur?",
|
||||
"bundle_column_error.copy_stacktrace": "Eilañ an danevell fazi",
|
||||
"bundle_column_error.error.body": "N'haller ket skrammañ ar bajenn goulennet. Gallout a ra bezañ abalamour d'ur beug er c'hod pe d'ur gudenn keverlec'hded gant ar merdeer.",
|
||||
"bundle_column_error.error.title": "Chaous !",
|
||||
@@ -114,20 +138,20 @@
|
||||
"closed_registrations_modal.preamble": "Digreizennet eo Mastodon, forzh pelec'h e vefe krouet ho kont e viot gouest da heuliañ hag etreweriañ gant an holl war ar servijer-mañ. Gallout a rit herbec'hiañ anezhañ hoc'h-unan zoken!",
|
||||
"closed_registrations_modal.title": "Enskrivadurioù war Mastodon",
|
||||
"column.about": "Diwar-benn",
|
||||
"column.blocks": "Implijer·ezed·ien berzet",
|
||||
"column.blocks": "Implijerien·ezed stanket",
|
||||
"column.bookmarks": "Sinedoù",
|
||||
"column.community": "Red-amzer lec'hel",
|
||||
"column.create_list": "Krouiñ ul listenn",
|
||||
"column.direct": "Menegoù prevez",
|
||||
"column.directory": "Mont a-dreuz ar profiloù",
|
||||
"column.domain_blocks": "Domani berzet",
|
||||
"column.domain_blocks": "Domani stanket",
|
||||
"column.edit_list": "Kemmañ al listenn",
|
||||
"column.favourites": "Muiañ-karet",
|
||||
"column.firehose": "Redoù war-eeun",
|
||||
"column.follow_requests": "Rekedoù heuliañ",
|
||||
"column.home": "Degemer",
|
||||
"column.lists": "Listennoù",
|
||||
"column.mutes": "Implijer·ion·ezed kuzhet",
|
||||
"column.mutes": "Implijerien·ezed kuzhet",
|
||||
"column.notifications": "Kemennoù",
|
||||
"column.pins": "Embannadurioù spilhennet",
|
||||
"column.public": "Red-amzer kevredet",
|
||||
@@ -148,9 +172,9 @@
|
||||
"compose.published.open": "Digeriñ",
|
||||
"compose.saved.body": "Enrollet.",
|
||||
"compose_form.direct_message_warning_learn_more": "Gouzout hiroc'h",
|
||||
"compose_form.encryption_warning": "Toudoù war Mastodon na vezont ket sifret penn-da-benn. Na rannit ket titouroù kizidik dre 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": "N'eo ket {locked} ho kont. An holl a c'hal ho heuliañ evit gwelet ho toudoù prevez.",
|
||||
"compose_form.encryption_warning": "Embannadurioù war Mastodon na vezont ket sifret a-benn-da-benn. Na rannit ket titouroù kizidik dre Mastodon.",
|
||||
"compose_form.hashtag_warning": "Ne vo ket listennet an embannadur-mañ dindan gerioù-klik ebet dre m'eo anlistennet. N'eus nemet an embannadurioù foran a c'hall bezañ klasket dre c'her-klik.",
|
||||
"compose_form.lock_disclaimer": "N'eo ket {locked} ho kont. An holl a c'hal ho heuliañ evit gwelet hoc'h embannadurioù prevez.",
|
||||
"compose_form.lock_disclaimer.lock": "prennet",
|
||||
"compose_form.placeholder": "Petra emaoc'h o soñjal e-barzh ?",
|
||||
"compose_form.poll.duration": "Pad ar sontadeg",
|
||||
@@ -167,23 +191,39 @@
|
||||
"confirmation_modal.cancel": "Nullañ",
|
||||
"confirmations.block.confirm": "Stankañ",
|
||||
"confirmations.delete.confirm": "Dilemel",
|
||||
"confirmations.delete.message": "Ha sur oc'h e fell deoc'h dilemel an toud-mañ ?",
|
||||
"confirmations.delete.message": "Ha sur oc'h e fell deoc'h dilemel an embannadur-mañ?",
|
||||
"confirmations.delete.title": "Dilemel an embannadur?",
|
||||
"confirmations.delete_list.confirm": "Dilemel",
|
||||
"confirmations.delete_list.message": "Ha sur eo hoc'h eus c'hoant da zilemel ar roll-mañ da vat ?",
|
||||
"confirmations.delete_list.title": "Dilemel al listenn?",
|
||||
"confirmations.discard_draft.confirm": "Diverkañ ha kenderc'hel",
|
||||
"confirmations.discard_draft.edit.cancel": "Distreiñ d'an embann",
|
||||
"confirmations.discard_draft.post.cancel": "Distreiñ d'ar brouilhed",
|
||||
"confirmations.discard_draft.post.title": "Dilemel ho prouilhed?",
|
||||
"confirmations.discard_edit_media.confirm": "Nac'hañ",
|
||||
"confirmations.discard_edit_media.message": "Bez ez eus kemmoù n'int ket enrollet e deskrivadur ar media pe ar rakwel, nullañ anezho evelato?",
|
||||
"confirmations.follow_to_list.confirm": "Heuliañ hag ouzhpennañ d'al listenn",
|
||||
"confirmations.follow_to_list.title": "Heuliañ an implijer·ez?",
|
||||
"confirmations.logout.confirm": "Digevreañ",
|
||||
"confirmations.logout.message": "Ha sur oc'h e fell deoc'h digevreañ ?",
|
||||
"confirmations.logout.title": "Digevreañ?",
|
||||
"confirmations.missing_alt_text.confirm": "Ouzhpennañ un eiltestenn",
|
||||
"confirmations.missing_alt_text.secondary": "Embann memes tra",
|
||||
"confirmations.missing_alt_text.title": "Ouzhpennañ an eiltestenn?",
|
||||
"confirmations.mute.confirm": "Kuzhat",
|
||||
"confirmations.redraft.confirm": "Diverkañ ha skrivañ en-dro",
|
||||
"confirmations.redraft.title": "Diverkañ ha skrivañ an embann en-dro?",
|
||||
"confirmations.remove_from_followers.confirm": "Dilemel an heulier·ez",
|
||||
"confirmations.remove_from_followers.title": "Dilemel an heulier·ez?",
|
||||
"confirmations.unfollow.confirm": "Diheuliañ",
|
||||
"confirmations.unfollow.message": "Ha sur oc'h e fell deoc'h paouez da heuliañ {name} ?",
|
||||
"confirmations.unfollow.title": "Paouez da heuliañ an implijer·ez?",
|
||||
"content_warning.hide": "Kuzhat an embannadur",
|
||||
"content_warning.show": "Diskwel memes tra",
|
||||
"content_warning.show_more": "Diskouez muioc'h",
|
||||
"conversation.delete": "Dilemel ar gaozeadenn",
|
||||
"conversation.mark_as_read": "Merkañ evel lennet",
|
||||
"conversation.open": "Gwelout ar gaozeadenn",
|
||||
"conversation.open": "Gwelet ar gaozeadenn",
|
||||
"conversation.with": "Gant {names}",
|
||||
"copy_icon_button.copied": "Eilet er golver",
|
||||
"copypaste.copied": "Eilet",
|
||||
@@ -194,11 +234,16 @@
|
||||
"directory.recently_active": "Oberiant nevez zo",
|
||||
"disabled_account_banner.account_settings": "Arventennoù ar gont",
|
||||
"disabled_account_banner.text": "Ho kont {disabledAccount} zo divev evit bremañ.",
|
||||
"dismissable_banner.community_timeline": "Setu toudoù foran nevesañ an dud a zo herberc’hiet o c'hontoù gant {domain}.",
|
||||
"dismissable_banner.community_timeline": "Setu embannadurioù foran nevesañ an dud a zo herberc’hiet o c’hontoù gant {domain}.",
|
||||
"dismissable_banner.dismiss": "Diverkañ",
|
||||
"domain_block_modal.block": "Stankañ ar servijer",
|
||||
"domain_block_modal.block_account_instead": "Stankañ @{name} kentoc'h",
|
||||
"domain_block_modal.title": "Stankañ an domani?",
|
||||
"domain_pill.server": "Dafariad",
|
||||
"domain_pill.username": "Anv-implijer",
|
||||
"embed.instructions": "Enframmit an toud-mañ en ho lec'hienn en ur eilañ ar c'hod amañ-dindan.",
|
||||
"domain_pill.whats_in_a_handle": "Petra eo an anaouder?",
|
||||
"domain_pill.your_handle": "Hoc'h anaouder:",
|
||||
"embed.instructions": "Enframmit an embannadur-mañ en ho lec’hienn en ur eilañ ar c’hod amañ-dindan.",
|
||||
"embed.preview": "Setu penaos e teuio war wel :",
|
||||
"emoji_button.activity": "Obererezh",
|
||||
"emoji_button.clear": "Diverkañ",
|
||||
@@ -215,22 +260,22 @@
|
||||
"emoji_button.search_results": "Disoc'hoù an enklask",
|
||||
"emoji_button.symbols": "Arouezioù",
|
||||
"emoji_button.travel": "Beajiñ & Lec'hioù",
|
||||
"empty_column.account_suspended": "Kont ehanet",
|
||||
"empty_column.account_timeline": "Toud ebet amañ !",
|
||||
"empty_column.account_suspended": "Kont astalet",
|
||||
"empty_column.account_timeline": "Embannadur ebet amañ!",
|
||||
"empty_column.account_unavailable": "Profil dihegerz",
|
||||
"empty_column.blocks": "N'eus ket bet berzet implijer·ez ganeoc'h c'hoazh.",
|
||||
"empty_column.blocks": "N'eus ket bet stanket implijer·ez ganeoc'h c'hoazh.",
|
||||
"empty_column.bookmarked_statuses": "N'ho peus embannadur ebet enrollet en ho sinedoù c'hoazh. Pa vo ouzhpennet unan e teuio war wel amañ.",
|
||||
"empty_column.community": "Goulo eo ar red-amzer lec'hel. Skrivit'ta un dra evit lakaat tan dezhi !",
|
||||
"empty_column.domain_blocks": "N'eus domani kuzh ebet c'hoazh.",
|
||||
"empty_column.domain_blocks": "N'eus domani stanket ebet c'hoazh.",
|
||||
"empty_column.explore_statuses": "N'eus tuadur ebet evit c'hoazh. Distroit diwezhatoc'h !",
|
||||
"empty_column.follow_requests": "N'ho peus reked heuliañ ebet c'hoazh. Pa vo resevet unan e teuio war wel amañ.",
|
||||
"empty_column.followed_tags": "N'emaoc'h oc'h heuliañ hashtag ebet evit poent. Pa vioc'h e vo d'o gwelet amañ.",
|
||||
"empty_column.hashtag": "N'eus netra en hashtag-mañ c'hoazh.",
|
||||
"empty_column.followed_tags": "N'emaoc'h oc'h heuliañ ger-klik ebet evit poent. Pa vioc'h e vo d'o gwelet amañ.",
|
||||
"empty_column.hashtag": "N'eus netra er ger-klik-mañ c'hoazh.",
|
||||
"empty_column.home": "Goullo eo ho red-amzer degemer! Kit da weladenniñ {public} pe implijit ar c'hlask evit kregiñ ganti ha kejañ gant implijer·ien·ezed all.",
|
||||
"empty_column.list": "Goullo eo al listenn-mañ evit c'hoazh. Pa vo embannet toudoù nevez gant e izili e teuint war wel amañ.",
|
||||
"empty_column.mutes": "N'ho peus kuzhet implijer ebet c'hoazh.",
|
||||
"empty_column.list": "Goullo eo al listenn-mañ evit c'hoazh. Pa vo embannet un dra nevez gant e izili e teuio war wel amañ.",
|
||||
"empty_column.mutes": "N'ho peus kuzhet implijer·ez ebet c'hoazh.",
|
||||
"empty_column.notifications": "N'ho peus kemenn ebet c'hoazh. Grit gant implijer·ezed·ien all evit loc'hañ ar gomz.",
|
||||
"empty_column.public": "N'eus netra amañ! Skrivit un dra bennak foran pe heuilhit implijer·ien·ezed eus dafariadoù all evit leuniañ",
|
||||
"empty_column.public": "N'eus netra amañ! Skrivit un dra bennak foran pe heuilhit implijerien·ezed eus servijerioù all evit leuniañ",
|
||||
"error.unexpected_crash.explanation": "Abalamour d'ur beug en hor c'hod pe d'ur gudenn geverlec'hded n'hallomp ket skrammañ ar bajenn-mañ en un doare dereat.",
|
||||
"error.unexpected_crash.explanation_addons": "Ar bajenn-mañ ne c'hell ket bezañ skrammet mat. Ar fazi-se a zo kaoz d'un astenn pe d'un ostilh troidigezh emgefreek war ho merdeer.",
|
||||
"error.unexpected_crash.next_steps": "Klaskit azbevaat ar bajenn. Ma n'a ket en-dro e c'hallit klask ober gant Mastodon dre ur merdeer disheñvel pe dre an arload genidik.",
|
||||
@@ -241,24 +286,24 @@
|
||||
"explore.title": "Diouzh ar c'hiz",
|
||||
"explore.trending_links": "Keleier",
|
||||
"explore.trending_statuses": "Embannadurioù",
|
||||
"explore.trending_tags": "Hashtagoù",
|
||||
"explore.trending_tags": "Gerioù-klik",
|
||||
"featured_carousel.next": "War-raok",
|
||||
"featured_carousel.post": "Embannadenn",
|
||||
"featured_carousel.post": "Embannadur",
|
||||
"featured_carousel.previous": "War-gil",
|
||||
"featured_carousel.slide": "{index} diwar {total}",
|
||||
"filter_modal.added.context_mismatch_title": "Kenarroud digenglotus !",
|
||||
"filter_modal.added.expired_title": "Sil deuet d'e dermen !",
|
||||
"filter_modal.added.review_and_configure_title": "Arventennoù ar sil",
|
||||
"filter_modal.added.settings_link": "pajenn an arventennoù",
|
||||
"filter_modal.added.short_explanation": "An toud-mañ zo bet ouzhpennet d'ar rummad sil-mañ : {title}.",
|
||||
"filter_modal.added.short_explanation": "Ouzhpennet eo bet an embannadur-mañ d'ar rummad sil-mañ: {title}.",
|
||||
"filter_modal.added.title": "Sil ouzhpennet !",
|
||||
"filter_modal.select_filter.context_mismatch": "na glot ket gant ar c'henarroud-mañ",
|
||||
"filter_modal.select_filter.expired": "zo deuet d'e dermen",
|
||||
"filter_modal.select_filter.prompt_new": "Rummad nevez : {name}",
|
||||
"filter_modal.select_filter.search": "Klask pe krouiñ",
|
||||
"filter_modal.select_filter.subtitle": "Implijout ur rummad a zo anezhañ pe krouiñ unan nevez",
|
||||
"filter_modal.select_filter.title": "Silañ an toud-mañ",
|
||||
"filter_modal.title.status": "Silañ un toud",
|
||||
"filter_modal.select_filter.title": "Silañ an embannadur-mañ",
|
||||
"filter_modal.title.status": "Silañ un embannadur",
|
||||
"filter_warning.matches_filter": "A glot gant ar sil “<span>{title}</span>”",
|
||||
"firehose.all": "Pep tra",
|
||||
"firehose.local": "Ar servijer-mañ",
|
||||
@@ -266,10 +311,12 @@
|
||||
"follow_request.authorize": "Aotren",
|
||||
"follow_request.reject": "Nac'hañ",
|
||||
"follow_requests.unlocked_explanation": "Daoust ma n'eo ket ho kont prennet, skipailh {domain} a soñj e fellfe deoc'h gwiriekaat pedadennoù heuliañ deus ar c'hontoù-se diwar-zorn.",
|
||||
"follow_suggestions.dismiss": "Na ziskouez ket ken",
|
||||
"follow_suggestions.friends_of_friends_longer": "Diouzh ar c'hiz e-touez an dud heuliet ganeoc'h",
|
||||
"follow_suggestions.popular_suggestion_longer": "Diouzh ar c'hiz war {domain}",
|
||||
"follow_suggestions.view_all": "Gwelet pep tra",
|
||||
"followed_tags": "Hashtagoù o heuliañ",
|
||||
"follow_suggestions.who_to_follow": "Piv heuliañ",
|
||||
"followed_tags": "Gerioù-klik o heuliañ",
|
||||
"footer.about": "Diwar-benn",
|
||||
"footer.directory": "Kavlec'h ar profiloù",
|
||||
"footer.get_app": "Pellgargañ an arload",
|
||||
@@ -281,20 +328,26 @@
|
||||
"generic.saved": "Enrollet",
|
||||
"getting_started.heading": "Loc'hañ",
|
||||
"hashtag.admin_moderation": "Digeriñ an etrefas evezhiañ evit #{name}",
|
||||
"hashtag.browse": "Furchal dre an embannadurioù gant #{hashtag}",
|
||||
"hashtag.browse_from_account": "Furchal dre an embannadurioù gant @{name} gant #{hashtag}",
|
||||
"hashtag.column_header.tag_mode.all": "ha(g) {additional}",
|
||||
"hashtag.column_header.tag_mode.any": "pe {additional}",
|
||||
"hashtag.column_header.tag_mode.none": "hep {additional}",
|
||||
"hashtag.column_settings.select.no_options_message": "N'eus bet kavet ali ebet",
|
||||
"hashtag.column_settings.select.placeholder": "Ouzhpennañ hashtagoù…",
|
||||
"hashtag.column_settings.select.placeholder": "Ouzhpennañ gerioù-klik…",
|
||||
"hashtag.column_settings.tag_mode.all": "An holl anezho",
|
||||
"hashtag.column_settings.tag_mode.any": "Unan e mesk anezho",
|
||||
"hashtag.column_settings.tag_mode.none": "Hini ebet anezho",
|
||||
"hashtag.column_settings.tag_toggle": "Endelc'her gerioù-alc'hwez ouzhpenn evit ar bannad-mañ",
|
||||
"hashtag.counter_by_uses": "{count, plural, one {{counter} embannadur} other {{counter} embannadur}}",
|
||||
"hashtag.counter_by_uses_today": "{count, plural, one {{counter} embannadur} other {{counter} embannadur}} hiziv",
|
||||
"hashtag.feature": "Lakaat en a-raok war ar profil",
|
||||
"hashtag.follow": "Heuliañ ar ger-klik",
|
||||
"hashtag.unfollow": "Paouez heuliañ an hashtag",
|
||||
"hashtag.mute": "Kuzhat #{hashtag}",
|
||||
"hashtag.unfeature": "Na lakaat ket en a-raok war ar profil",
|
||||
"hashtag.unfollow": "Diheuliañ ar ger-klik",
|
||||
"hashtags.and_other": "…{count, plural, one {hag # all} other {ha # all}}",
|
||||
"hints.profiles.see_more_posts": "Gwelet embannadurioù ouzhpenn eus {domain}",
|
||||
"home.column_settings.show_quotes": "Diskouez an arroudennoù",
|
||||
"home.column_settings.show_reblogs": "Diskouez ar skignadennoù",
|
||||
"home.column_settings.show_replies": "Diskouez ar respontoù",
|
||||
@@ -302,24 +355,27 @@
|
||||
"home.pending_critical_update.body": "Hizivait ho servijer Mastodon kerkent ha ma c'hallit mar plij!",
|
||||
"home.pending_critical_update.link": "Gwelet an hizivadennoù",
|
||||
"home.show_announcements": "Diskouez ar c'hemennoù",
|
||||
"interaction_modal.go": "Mont di",
|
||||
"interaction_modal.no_account_yet": "N'ho peus ket ur gont c'hoazh?",
|
||||
"interaction_modal.on_another_server": "War ur servijer all",
|
||||
"interaction_modal.on_this_server": "War ar servijer-mañ",
|
||||
"interaction_modal.title.favourite": "Ouzhpennañ embannadur {name} d'ar re vuiañ-karet",
|
||||
"interaction_modal.title.follow": "Heuliañ {name}",
|
||||
"interaction_modal.title.reblog": "Skignañ toud {name}",
|
||||
"interaction_modal.title.reblog": "Skignañ embannadur {name}",
|
||||
"interaction_modal.title.reply": "Respont da doud {name}",
|
||||
"interaction_modal.username_prompt": "D.s. {example}",
|
||||
"intervals.full.days": "{number, plural, one {# devezh} other{# a zevezhioù}}",
|
||||
"intervals.full.hours": "{number, plural, one {# eurvezh} other{# eurvezh}}",
|
||||
"intervals.full.minutes": "{number, plural, one {# munut} other{# a vunutoù}}",
|
||||
"keyboard_shortcuts.back": "Distreiñ",
|
||||
"keyboard_shortcuts.blocked": "Digeriñ roll an implijer.ezed.rien stanket",
|
||||
"keyboard_shortcuts.boost": "Skignañ an toud",
|
||||
"keyboard_shortcuts.blocked": "Digeriñ roll an implijerien·ezed stanket",
|
||||
"keyboard_shortcuts.boost": "Skignañ an embannadur",
|
||||
"keyboard_shortcuts.column": "Fokus ar bann",
|
||||
"keyboard_shortcuts.compose": "Fokus an takad testenn",
|
||||
"keyboard_shortcuts.description": "Deskrivadur",
|
||||
"keyboard_shortcuts.direct": "to open direct messages column",
|
||||
"keyboard_shortcuts.down": "Diskennañ er roll",
|
||||
"keyboard_shortcuts.enter": "Digeriñ an toud",
|
||||
"keyboard_shortcuts.enter": "Digeriñ an embannadur",
|
||||
"keyboard_shortcuts.favourite": "Ouzhpennañ an embannadur d'ar re vuiañ-karet",
|
||||
"keyboard_shortcuts.favourites": "Digeriñ roll an embannadurioù muiañ-karet",
|
||||
"keyboard_shortcuts.federated": "Digeriñ ar red-amzer kevredet",
|
||||
@@ -329,74 +385,97 @@
|
||||
"keyboard_shortcuts.legend": "Skrammañ ar skrid-se",
|
||||
"keyboard_shortcuts.local": "Digeriñ red-amzer lec'hel",
|
||||
"keyboard_shortcuts.mention": "Menegiñ an aozer.ez",
|
||||
"keyboard_shortcuts.muted": "Digeriñ roll an implijer.ezed.ien kuzhet",
|
||||
"keyboard_shortcuts.muted": "Digeriñ roll an implijerien·ezed kuzhet",
|
||||
"keyboard_shortcuts.my_profile": "Digeriñ ho profil",
|
||||
"keyboard_shortcuts.notifications": "Digeriñ bann ar c'hemennoù",
|
||||
"keyboard_shortcuts.open_media": "Digeriñ ar media",
|
||||
"keyboard_shortcuts.pinned": "Digeriñ listenn an toudoù spilhennet",
|
||||
"keyboard_shortcuts.pinned": "Digeriñ listenn an embannadurioù spilhennet",
|
||||
"keyboard_shortcuts.profile": "Digeriñ profil an aozer.ez",
|
||||
"keyboard_shortcuts.reply": "Respont d'an toud",
|
||||
"keyboard_shortcuts.reply": "Respont d'an embannadur",
|
||||
"keyboard_shortcuts.requests": "Digeriñ roll goulennoù heuliañ",
|
||||
"keyboard_shortcuts.search": "Fokus barenn klask",
|
||||
"keyboard_shortcuts.spoilers": "da guzhat/ziguzhat tachenn CW",
|
||||
"keyboard_shortcuts.start": "Digeriñ bann \"Kregiñ\"",
|
||||
"keyboard_shortcuts.toggle_hidden": "da guzhat/ziguzhat an desten a-dreñv CW",
|
||||
"keyboard_shortcuts.toggle_sensitivity": "da guzhat/ziguzhat ur media",
|
||||
"keyboard_shortcuts.toot": "Kregiñ gant un toud nevez",
|
||||
"keyboard_shortcuts.toot": "Kregiñ gant un embannadur nevez",
|
||||
"keyboard_shortcuts.translate": "da dreiñ un embannadur",
|
||||
"keyboard_shortcuts.unfocus": "Difokus an dachenn testenn/klask",
|
||||
"keyboard_shortcuts.up": "Pignat er roll",
|
||||
"lightbox.close": "Serriñ",
|
||||
"lightbox.next": "Da-heul",
|
||||
"lightbox.previous": "A-raok",
|
||||
"limited_account_hint.action": "Diskouez an aelad memes tra",
|
||||
"limited_account_hint.action": "Diskouez ar profil memes tra",
|
||||
"limited_account_hint.title": "Kuzhet eo bet ar profil-mañ gant an evezhierien eus {domain}.",
|
||||
"link_preview.author": "Gant {name}",
|
||||
"link_preview.more_from_author": "Muioc'h gant {name}",
|
||||
"link_preview.shares": "{count, plural, one {{counter} embannadur} two {{counter} embannadur} few {{counter} embannadur} many {{counter} embannadur} other {{counter} embannadur}}",
|
||||
"lists.add_member": "Ouzhpennañ",
|
||||
"lists.add_to_list": "Ouzhpennañ d'al listenn",
|
||||
"lists.create": "Krouiñ",
|
||||
"lists.create_a_list_to_organize": "Krouit ul listenn evit renkañ ho red degemer",
|
||||
"lists.create_list": "Krouiñ ul listenn",
|
||||
"lists.delete": "Dilemel al listenn",
|
||||
"lists.done": "Graet",
|
||||
"lists.edit": "Kemmañ al listenn",
|
||||
"lists.list_name": "Anv al listenn",
|
||||
"lists.replies_policy.followed": "Pep implijer.ez heuliet",
|
||||
"lists.new_list_name": "Anv nevez al listenn",
|
||||
"lists.no_lists_yet": "Listenn ebet c'hoazh.",
|
||||
"lists.remove_member": "Dilemel",
|
||||
"lists.replies_policy.followed": "Pep implijer·ez heuliet",
|
||||
"lists.replies_policy.list": "Izili ar roll",
|
||||
"lists.replies_policy.none": "Den ebet",
|
||||
"lists.save": "Enrollañ",
|
||||
"lists.search": "Klask",
|
||||
"load_pending": "{count, plural, one {# dra nevez} other {# dra nevez}}",
|
||||
"loading_indicator.label": "O kargañ…",
|
||||
"media_gallery.hide": "Kuzhat",
|
||||
"mute_modal.hide_from_notifications": "Kuzhat er c'hemennoù",
|
||||
"mute_modal.hide_options": "Dibarzhioù ar c'huzhat",
|
||||
"mute_modal.show_options": "Dibarzhioù an diskwel",
|
||||
"mute_modal.title": "Kuzhat an implijer·ez?",
|
||||
"navigation_bar.about": "Diwar-benn",
|
||||
"navigation_bar.account_settings": "Ger-tremen ha surentez",
|
||||
"navigation_bar.administration": "Merañ",
|
||||
"navigation_bar.automated_deletion": "Dilemel an embannadenn ent-emgefreek",
|
||||
"navigation_bar.blocks": "Implijer·ezed·ien berzet",
|
||||
"navigation_bar.blocks": "Implijerien·ezed stanket",
|
||||
"navigation_bar.bookmarks": "Sinedoù",
|
||||
"navigation_bar.direct": "Menegoù prevez",
|
||||
"navigation_bar.domain_blocks": "Domanioù kuzhet",
|
||||
"navigation_bar.domain_blocks": "Domanioù stanket",
|
||||
"navigation_bar.favourites": "Muiañ-karet",
|
||||
"navigation_bar.filters": "Gerioù kuzhet",
|
||||
"navigation_bar.follow_requests": "Pedadoù heuliañ",
|
||||
"navigation_bar.followed_tags": "Hashtagoù o heuliañ",
|
||||
"navigation_bar.follow_requests": "Rekedoù heuliañ",
|
||||
"navigation_bar.followed_tags": "Gerioù-klik o heuliañ",
|
||||
"navigation_bar.follows_and_followers": "Heuliadennoù ha heulier·ezed·ien",
|
||||
"navigation_bar.import_export": "Enporzhiañ hag ezporzhiañ",
|
||||
"navigation_bar.lists": "Listennoù",
|
||||
"navigation_bar.logout": "Digennaskañ",
|
||||
"navigation_bar.live_feed_local": "Red war-eeun (lec'hel)",
|
||||
"navigation_bar.live_feed_public": "Red war-eeun (foran)",
|
||||
"navigation_bar.logout": "Digevreañ",
|
||||
"navigation_bar.moderation": "Habaskadur",
|
||||
"navigation_bar.more": "Muioc'h",
|
||||
"navigation_bar.mutes": "Implijer·ion·ezed kuzhet",
|
||||
"navigation_bar.mutes": "Implijerien·ezed kuzhet",
|
||||
"navigation_bar.preferences": "Gwellvezioù",
|
||||
"navigation_bar.search": "Klask",
|
||||
"navigation_bar.search_trends": "Klask / Diouzh ar c'hiz",
|
||||
"not_signed_in_indicator.not_signed_in": "Ret eo deoc'h kevreañ evit tizhout an danvez-se.",
|
||||
"notification.admin.report": "Disklêriet eo bet {target} gant {name}",
|
||||
"notification.admin.sign_up": "{name} en·he deus lakaet e·hec'h anv",
|
||||
"notification.favourite": "Gant {name} eo bet ouzhpennet hoc'h embannadur d'h·e re vuiañ-karet",
|
||||
"notification.follow": "heuliañ a ra {name} ac'hanoc'h",
|
||||
"notification.follow.name_and_others": "{name} <a>{count, plural, one {hag # den all} two {ha # zen all} few {ha # den all} many {ha # den all} other {ha # den all}}</a> zo o heuliañ ac'hanoc'h",
|
||||
"notification.follow_request": "Gant {name} eo bet goulennet ho heuliañ",
|
||||
"notification.label.reply": "Respont",
|
||||
"notification.mention": "Meneg",
|
||||
"notification.mentioned_you": "Gant {name} oc'h bet meneget",
|
||||
"notification.moderation-warning.learn_more": "Gouzout hiroc'h",
|
||||
"notification.moderation_warning.action_disable": "Diweredekaet eo bet ho kont.",
|
||||
"notification.moderation_warning.action_suspend": "Astalet eo bet ho kont.",
|
||||
"notification.own_poll": "Echu eo ho sontadeg",
|
||||
"notification.reblog": "Gant {name} eo bet skignet ho toud",
|
||||
"notification.reblog": "Gant {name} eo bet skignet hoc'h embannadur",
|
||||
"notification.relationships_severance_event.learn_more": "Gouzout hiroc'h",
|
||||
"notification.status": "Emañ {name} o paouez toudañ",
|
||||
"notification.update": "Gant {name} ez eus bet kemmet un toud",
|
||||
"notification.status": "Emañ {name} o paouez embann",
|
||||
"notification.update": "Gant {name} ez eus bet kemmet un embannadur",
|
||||
"notification_requests.accept": "Asantiñ",
|
||||
"notification_requests.dismiss": "Diverkañ",
|
||||
"notification_requests.edit_selection": "Kemmañ",
|
||||
@@ -408,7 +487,7 @@
|
||||
"notifications.column_settings.alert": "Kemennoù war ar burev",
|
||||
"notifications.column_settings.favourite": "Muiañ-karet:",
|
||||
"notifications.column_settings.follow": "Heulierien nevez:",
|
||||
"notifications.column_settings.follow_request": "Pedadoù heuliañ nevez :",
|
||||
"notifications.column_settings.follow_request": "Rekedoù heuliañ nevez:",
|
||||
"notifications.column_settings.group": "Strollañ",
|
||||
"notifications.column_settings.mention": "Menegoù:",
|
||||
"notifications.column_settings.poll": "Disoc'hoù ar sontadeg:",
|
||||
@@ -416,10 +495,10 @@
|
||||
"notifications.column_settings.reblog": "Skignadennoù:",
|
||||
"notifications.column_settings.show": "Diskouez er bann",
|
||||
"notifications.column_settings.sound": "Seniñ",
|
||||
"notifications.column_settings.status": "Toudoù nevez :",
|
||||
"notifications.column_settings.status": "Embannadurioù nevez:",
|
||||
"notifications.column_settings.unread_notifications.category": "Kemennoù anlennet",
|
||||
"notifications.column_settings.unread_notifications.highlight": "Uslinennañ ar c'hemennoù anlennet",
|
||||
"notifications.column_settings.update": "Kemmoù :",
|
||||
"notifications.column_settings.update": "Kemmoù:",
|
||||
"notifications.filter.all": "Pep tra",
|
||||
"notifications.filter.boosts": "Skignadennoù",
|
||||
"notifications.filter.favourites": "Muiañ-karet",
|
||||
@@ -438,6 +517,8 @@
|
||||
"notifications.policy.drop": "Tremen e-bioù",
|
||||
"notifications.policy.filter": "Silañ",
|
||||
"notifications.policy.filter_new_accounts_title": "Kontoù nevez",
|
||||
"notifications.policy.filter_not_followers_title": "Tud na heuliont ket ac'hanoc'h",
|
||||
"notifications.policy.filter_not_following_title": "Tud n'int ket heuliet ganeoc'h",
|
||||
"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.title": "Na vankit netra morse",
|
||||
@@ -447,8 +528,9 @@
|
||||
"onboarding.profile.display_name": "Anv diskouezet",
|
||||
"onboarding.profile.display_name_hint": "Hoc'h anv klok pe hoc'h anv fentus…",
|
||||
"onboarding.profile.note": "Berr-ha-berr",
|
||||
"onboarding.profile.note_hint": "Gallout a rit @menegiñ tud all pe #hashtagoù…",
|
||||
"onboarding.profile.note_hint": "Gallout a rit @menegiñ tud all pe #gerioù-klik…",
|
||||
"onboarding.profile.save_and_continue": "Enrollañ ha kenderc'hel",
|
||||
"onboarding.profile.title": "Kefluniañ ar profil",
|
||||
"onboarding.profile.upload_avatar": "Enporzhiañ ur skeudenn profil",
|
||||
"password_confirmation.mismatching": "Disheñvel eo an daou c'her-termen-se",
|
||||
"picture_in_picture.restore": "Adlakaat",
|
||||
@@ -463,12 +545,15 @@
|
||||
"poll_button.add_poll": "Ouzhpennañ ur sontadeg",
|
||||
"poll_button.remove_poll": "Dilemel ar sontadeg",
|
||||
"privacy.change": "Cheñch prevezded an embannadur",
|
||||
"privacy.direct.long": "Pep hini meneget en embannadur",
|
||||
"privacy.private.long": "Hoc'h heulierien·ezed hepken",
|
||||
"privacy.private.short": "Heulierien",
|
||||
"privacy.public.short": "Publik",
|
||||
"privacy_policy.last_updated": "Hizivadenn ziwezhañ {date}",
|
||||
"privacy_policy.title": "Reolennoù Prevezded",
|
||||
"recommended": "Erbedet",
|
||||
"refresh": "Freskaat",
|
||||
"regeneration_indicator.preparing_your_home_feed": "O prientiñ ho red degemer…",
|
||||
"relative_time.days": "{number}d",
|
||||
"relative_time.full.days": "{number, plural, one {# devezh} two {# zevezh} few {# devezh} many {# a devezh} other {# devezh}} zo",
|
||||
"relative_time.full.hours": "{number, plural, one {# eurvezh} two {# eurvezh} few {# eurvezh} many {# eur} other {# eurvezh}} zo",
|
||||
@@ -483,7 +568,7 @@
|
||||
"reply_indicator.cancel": "Nullañ",
|
||||
"reply_indicator.poll": "Sontadeg",
|
||||
"report.block": "Stankañ",
|
||||
"report.block_explanation": "Ne vo ket gwelet toudoù ar gont-se ken. Ne welo ket ho toudoù ha ne c'hello ket ho heuliañ ken. Gouzout a raio eo bet stanket ganeoc'h.",
|
||||
"report.block_explanation": "Ne vo ket gwelet embannadurioù ar gont-se ken. Ne welo ket hoc'h embannadurioù ha ne c'hello ket ho heuliañ ken. Gouzout a raio eo bet stanket ganeoc'h.",
|
||||
"report.categories.legal": "Lezennel",
|
||||
"report.categories.other": "All",
|
||||
"report.categories.spam": "Spam",
|
||||
@@ -491,13 +576,13 @@
|
||||
"report.category.subtitle": "Choazit ar pezh a glot ar gwellañ",
|
||||
"report.category.title": "Lârit deomp petra c'hoarvez gant {type}",
|
||||
"report.category.title_account": "profil",
|
||||
"report.category.title_status": "an toud-mañ",
|
||||
"report.category.title_status": "an embannadur-mañ",
|
||||
"report.close": "Graet",
|
||||
"report.comment.title": "Ha traoù all a rankfemp gouzout ?",
|
||||
"report.forward": "Treuzkas da: {target}",
|
||||
"report.forward_hint": "War ur servijer all emañ ar c'hont-se. Kas dezhañ un adskrid disanv eus an danevell ivez?",
|
||||
"report.mute": "Kuzhat",
|
||||
"report.mute_explanation": "Ne vo ket gwelet toudoù ar gont-se ken. Gwelet ho toudoù ha ho heuliañ a c'hello ha ne ouezo ket eo bet kuzhet ganeoc'h.",
|
||||
"report.mute_explanation": "Ne vo ket gwelet embannadurioù ar gont-se ken. Gwelet hoc'h embannadurioù ha ho heuliañ a c'hello ha ne ouezo ket eo bet kuzhet ganeoc'h.",
|
||||
"report.next": "War-raok",
|
||||
"report.placeholder": "Askelennoù ouzhpenn",
|
||||
"report.reasons.dislike": "Ne blij ket din",
|
||||
@@ -512,7 +597,7 @@
|
||||
"report.rules.subtitle": "Diuzit an holl draoù a glot",
|
||||
"report.rules.title": "Pesort reolennoù zo bet torret ?",
|
||||
"report.statuses.subtitle": "Diuzit an holl draoù a glot",
|
||||
"report.statuses.title": "Ha toudoù all zo a c'hallfe nerzhañ an disklêriadenn-se ?",
|
||||
"report.statuses.title": "Hag embannadurioù all zo a c'hallfe nerzhañ an disklêriadenn-se?",
|
||||
"report.submit": "Kinnig",
|
||||
"report.target": "O tisklêriañ {target}",
|
||||
"report.thanks.title": "Ne fell ket deoc'h gwelet an dra-se ?",
|
||||
@@ -528,9 +613,9 @@
|
||||
"search.placeholder": "Klask",
|
||||
"search.quick_action.account_search": "Profiloù a glot gant {x}",
|
||||
"search.quick_action.go_to_account": "Mont d'ar profil {x}",
|
||||
"search.quick_action.go_to_hashtag": "Mont d'an hashtag {x}",
|
||||
"search.quick_action.go_to_hashtag": "Mont d'ar ger-klik {x}",
|
||||
"search.quick_action.open_url": "Digeriñ an URL e-barzh Mastodon",
|
||||
"search.quick_action.status_search": "Embannadurioù a glot gant {x}",
|
||||
"search.quick_action.status_search": "Toudoù a glot gant {x}",
|
||||
"search.search_or_paste": "Klask pe pegañ un URL",
|
||||
"search_popout.full_text_search_disabled_message": "N'eo ket da gaout war {domain}.",
|
||||
"search_popout.language_code": "Kod yezh ISO",
|
||||
@@ -541,7 +626,7 @@
|
||||
"search_popout.user": "implijer·ez",
|
||||
"search_results.accounts": "Profiloù",
|
||||
"search_results.all": "Pep tra",
|
||||
"search_results.hashtags": "Hashtagoù",
|
||||
"search_results.hashtags": "Gerioù-klik",
|
||||
"search_results.no_results": "Disoc'h ebet.",
|
||||
"search_results.see_all": "Gwelet pep tra",
|
||||
"search_results.statuses": "Toudoù",
|
||||
@@ -550,11 +635,11 @@
|
||||
"server_banner.server_stats": "Stadegoù ar servijer :",
|
||||
"sign_in_banner.create_account": "Krouiñ ur gont",
|
||||
"sign_in_banner.sign_in": "Kevreañ",
|
||||
"sign_in_banner.sso_redirect": "Kennaskañ pe lakaat hoc'h anv",
|
||||
"sign_in_banner.sso_redirect": "Kevreañ pe lakaat hoc'h anv",
|
||||
"status.admin_account": "Digeriñ etrefas evezhiañ evit @{name}",
|
||||
"status.admin_domain": "Digeriñ an etrefas evezhiañ evit {domain}",
|
||||
"status.admin_status": "Digeriñ an embannadenn e-barzh an etrefas evezhiañ",
|
||||
"status.block": "Berzañ @{name}",
|
||||
"status.block": "Stankañ @{name}",
|
||||
"status.bookmark": "Ouzhpennañ d'ar sinedoù",
|
||||
"status.cancel_reblog_private": "Nac'hañ ar skignadenn",
|
||||
"status.cannot_reblog": "Ar c'hannad-se na c'hall ket bezañ skignet",
|
||||
@@ -580,7 +665,9 @@
|
||||
"status.mute_conversation": "Kuzhat ar gaozeadenn",
|
||||
"status.open": "Digeriñ ar c'hannad-mañ",
|
||||
"status.pin": "Spilhennañ d'ar profil",
|
||||
"status.quote_post_author": "Embannadenn gant {name}",
|
||||
"status.quote_error.not_found": "N'haller ket diskouez an embannadur-mañ.",
|
||||
"status.quote_error.removed": "Dilamet eo bet an embannadur-mañ gant e aozer·ez.",
|
||||
"status.quote_post_author": "Embannadur gant {name}",
|
||||
"status.read_more": "Lenn muioc'h",
|
||||
"status.reblog": "Skignañ",
|
||||
"status.reblog_private": "Skignañ gant ar weledenn gentañ",
|
||||
@@ -588,6 +675,7 @@
|
||||
"status.reblogs.empty": "Den ebet n'eus skignet ar c'hannad-mañ c'hoazh. Pa vo graet gant unan bennak e teuio war wel amañ.",
|
||||
"status.redraft": "Diverkañ ha skrivañ en-dro",
|
||||
"status.remove_bookmark": "Dilemel ar sined",
|
||||
"status.remove_favourite": "Dilemel eus ar re vuiañ-karet",
|
||||
"status.replied_to": "Respont da {name}",
|
||||
"status.reply": "Respont",
|
||||
"status.replyAll": "Respont d'ar gaozeadenn",
|
||||
@@ -606,6 +694,7 @@
|
||||
"subscribed_languages.save": "Enrollañ ar cheñchamantoù",
|
||||
"subscribed_languages.target": "Cheñch ar yezhoù koumanantet evit {target}",
|
||||
"tabs_bar.home": "Degemer",
|
||||
"tabs_bar.menu": "Lañser",
|
||||
"tabs_bar.notifications": "Kemennoù",
|
||||
"tabs_bar.publish": "Embannadenn nevez",
|
||||
"tabs_bar.search": "Klask",
|
||||
|
||||
@@ -219,6 +219,13 @@
|
||||
"confirmations.delete_list.confirm": "Elimina",
|
||||
"confirmations.delete_list.message": "Segur que vols suprimir permanentment aquesta llista?",
|
||||
"confirmations.delete_list.title": "Eliminar la llista?",
|
||||
"confirmations.discard_draft.confirm": "Descarta i continua",
|
||||
"confirmations.discard_draft.edit.cancel": "Continua l'edició",
|
||||
"confirmations.discard_draft.edit.message": "Continuar descartarà tots els canvis que hàgiu fet a la publicació que editeu.",
|
||||
"confirmations.discard_draft.edit.title": "Descartar els canvis a la publicació?",
|
||||
"confirmations.discard_draft.post.cancel": "Reprendre l'esborrany",
|
||||
"confirmations.discard_draft.post.message": "Continuar descartarà la publicació que escriviu.",
|
||||
"confirmations.discard_draft.post.title": "Descartar l'esborrany?",
|
||||
"confirmations.discard_edit_media.confirm": "Descarta",
|
||||
"confirmations.discard_edit_media.message": "Tens canvis no desats en la descripció del contingut o en la previsualització, els vols descartar?",
|
||||
"confirmations.follow_to_list.confirm": "Seguir i afegir a una llista",
|
||||
@@ -556,6 +563,8 @@
|
||||
"navigation_bar.follows_and_followers": "Seguint i seguidors",
|
||||
"navigation_bar.import_export": "Importació i exportació",
|
||||
"navigation_bar.lists": "Llistes",
|
||||
"navigation_bar.live_feed_local": "Canal en directe (local)",
|
||||
"navigation_bar.live_feed_public": "Canal en directe (públic)",
|
||||
"navigation_bar.logout": "Tanca la sessió",
|
||||
"navigation_bar.moderation": "Moderació",
|
||||
"navigation_bar.more": "Més",
|
||||
@@ -564,7 +573,10 @@
|
||||
"navigation_bar.preferences": "Preferències",
|
||||
"navigation_bar.privacy_and_reach": "Privacitat i abast",
|
||||
"navigation_bar.search": "Cerca",
|
||||
"navigation_bar.search_trends": "Cerca / En tendència",
|
||||
"navigation_panel.collapse_followed_tags": "Comprimeix el menú d'etiquetes seguides",
|
||||
"navigation_panel.collapse_lists": "Tanca el menú",
|
||||
"navigation_panel.expand_followed_tags": "Expandeix el menú d'etiquetes seguides",
|
||||
"navigation_panel.expand_lists": "Expandeix el menú",
|
||||
"not_signed_in_indicator.not_signed_in": "Cal que iniciïs la sessió per a accedir a aquest recurs.",
|
||||
"notification.admin.report": "{name} ha reportat {target}",
|
||||
@@ -792,6 +804,7 @@
|
||||
"report_notification.categories.violation": "Violació de norma",
|
||||
"report_notification.categories.violation_sentence": "violació de normes",
|
||||
"report_notification.open": "Obre l'informe",
|
||||
"search.clear": "Esborra la cerca",
|
||||
"search.no_recent_searches": "No hi ha cerques recents",
|
||||
"search.placeholder": "Cerca",
|
||||
"search.quick_action.account_search": "Perfils coincidint amb {x}",
|
||||
|
||||
@@ -507,7 +507,7 @@
|
||||
"lightbox.zoom_out": "Přizpůsobit velikost",
|
||||
"limited_account_hint.action": "Přesto profil zobrazit",
|
||||
"limited_account_hint.title": "Tento profil byl skryt moderátory {domain}.",
|
||||
"link_preview.author": "Podle {name}",
|
||||
"link_preview.author": "Od {name}",
|
||||
"link_preview.more_from_author": "Více od {name}",
|
||||
"link_preview.shares": "{count, plural, one {{counter} příspěvek} few {{counter} příspěvky} many {{counter} příspěvků} other {{counter} příspěvků}}",
|
||||
"lists.add_member": "Přidat",
|
||||
|
||||
@@ -560,7 +560,7 @@
|
||||
"navigation_bar.favourites": "Ffefrynnau",
|
||||
"navigation_bar.filters": "Geiriau wedi'u tewi",
|
||||
"navigation_bar.follow_requests": "Ceisiadau dilyn",
|
||||
"navigation_bar.followed_tags": "Hashnodau a ddilynir",
|
||||
"navigation_bar.followed_tags": "Hashnodau sy'n cael eu dilyn",
|
||||
"navigation_bar.follows_and_followers": "Yn dilyn a dilynwyr",
|
||||
"navigation_bar.import_export": "Mewnforio ac allforio",
|
||||
"navigation_bar.lists": "Rhestrau",
|
||||
|
||||
@@ -62,7 +62,7 @@
|
||||
"account.mute_notifications_short": "Sluk for notifikationer",
|
||||
"account.mute_short": "Skjul",
|
||||
"account.muted": "Skjult",
|
||||
"account.muting": "Tavsgørelse",
|
||||
"account.muting": "Skjuler",
|
||||
"account.mutual": "I følger hinanden",
|
||||
"account.no_bio": "Ingen beskrivelse til rådighed.",
|
||||
"account.open_original_page": "Åbn oprindelig side",
|
||||
@@ -324,7 +324,7 @@
|
||||
"empty_column.follow_requests": "Du har endnu ingen følgeanmodninger. Når du modtager én, vil den dukke op her.",
|
||||
"empty_column.followed_tags": "Ingen hashtags følges endnu. Når det sker, vil de fremgå her.",
|
||||
"empty_column.hashtag": "Der er intet med dette hashtag endnu.",
|
||||
"empty_column.home": "Din hjemmetidslinje er tom! Følg nogle personer, for at fylde den op.",
|
||||
"empty_column.home": "Din hjem-tidslinje er tom! Følg nogle personer, for at fylde den op.",
|
||||
"empty_column.list": "Der er ikke noget på denne liste endnu. Når medlemmer af denne liste udgiver nye indlæg, vil de blive vist her.",
|
||||
"empty_column.mutes": "Du har endnu ikke skjult nogle brugere.",
|
||||
"empty_column.notification_requests": "Alt er klar! Der er intet her. Når der modtages nye notifikationer, fremgår de her jævnfør dine indstillinger.",
|
||||
@@ -350,7 +350,7 @@
|
||||
"filter_modal.added.context_mismatch_title": "Kontekstmisforhold!",
|
||||
"filter_modal.added.expired_explanation": "Denne filterkategori er udløbet. Ændr dens udløbsdato, for at anvende den.",
|
||||
"filter_modal.added.expired_title": "Udløbet filter!",
|
||||
"filter_modal.added.review_and_configure": "Gå til {settings_link} for at gennemse og yderligere opsætte denne filterkategori.",
|
||||
"filter_modal.added.review_and_configure": "Gå til {settings_link} for at gennemgå og konfigurere denne filterkategori yderligere.",
|
||||
"filter_modal.added.review_and_configure_title": "Filterindstillinger",
|
||||
"filter_modal.added.settings_link": "indstillingsside",
|
||||
"filter_modal.added.short_explanation": "Dette indlæg er nu føjet til følgende filterkategori: {title}.",
|
||||
@@ -386,7 +386,7 @@
|
||||
"follow_suggestions.similar_to_recently_followed_longer": "Minder om profiler, du har fulgt for nylig",
|
||||
"follow_suggestions.view_all": "Vis alle",
|
||||
"follow_suggestions.who_to_follow": "Hvem, som skal følges",
|
||||
"followed_tags": "Hashtag, som følges",
|
||||
"followed_tags": "Hashtags, som følges",
|
||||
"footer.about": "Om",
|
||||
"footer.directory": "Profiloversigt",
|
||||
"footer.get_app": "Hent appen",
|
||||
@@ -478,7 +478,7 @@
|
||||
"keyboard_shortcuts.favourites": "Åbn favoritlisten",
|
||||
"keyboard_shortcuts.federated": "Åbn fødereret tidslinje",
|
||||
"keyboard_shortcuts.heading": "Tastaturgenveje",
|
||||
"keyboard_shortcuts.home": "Åbn hjemmetidslinje",
|
||||
"keyboard_shortcuts.home": "Åbn hjem-tidslinje",
|
||||
"keyboard_shortcuts.hotkey": "Hurtigtast",
|
||||
"keyboard_shortcuts.legend": "Vis dette symbol",
|
||||
"keyboard_shortcuts.local": "Åbn lokal tidslinje",
|
||||
@@ -520,7 +520,7 @@
|
||||
"lists.done": "Færdig",
|
||||
"lists.edit": "Redigér liste",
|
||||
"lists.exclusive": "Skjul medlemmer i Hjem",
|
||||
"lists.exclusive_hint": "Er nogen er på denne liste, skjul personen i hjemme-feeds for at undgå at se vedkommendes indlæg to gange.",
|
||||
"lists.exclusive_hint": "Hvis nogen er på denne liste, så skjul dem i hjem-feed for at undgå at se deres indlæg to gange.",
|
||||
"lists.find_users_to_add": "Find brugere at tilføje",
|
||||
"lists.list_members_count": "{count, plural, one {# medlem} other {# medlemmer}}",
|
||||
"lists.list_name": "Listetitel",
|
||||
@@ -560,7 +560,7 @@
|
||||
"navigation_bar.favourites": "Favoritter",
|
||||
"navigation_bar.filters": "Skjulte ord",
|
||||
"navigation_bar.follow_requests": "Følgeanmodninger",
|
||||
"navigation_bar.followed_tags": "Hashtag, som følges",
|
||||
"navigation_bar.followed_tags": "Hashtags, som følges",
|
||||
"navigation_bar.follows_and_followers": "Følges og følgere",
|
||||
"navigation_bar.import_export": "Import og eksport",
|
||||
"navigation_bar.lists": "Lister",
|
||||
@@ -572,7 +572,7 @@
|
||||
"navigation_bar.mutes": "Skjulte brugere",
|
||||
"navigation_bar.opened_in_classic_interface": "Indlæg, konti og visse andre sider åbnes som standard i den klassiske webgrænseflade.",
|
||||
"navigation_bar.preferences": "Præferencer",
|
||||
"navigation_bar.privacy_and_reach": "Fortrolighed og udbredelse",
|
||||
"navigation_bar.privacy_and_reach": "Fortrolighed og rækkevidde",
|
||||
"navigation_bar.search": "Søg",
|
||||
"navigation_bar.search_trends": "Søg/Trender",
|
||||
"navigation_panel.collapse_followed_tags": "Sammenfold menuen Fulgte hashtags",
|
||||
@@ -794,7 +794,7 @@
|
||||
"report.thanks.title": "Ønsker ikke at se dette?",
|
||||
"report.thanks.title_actionable": "Tak for anmeldelsen, der vil blive set nærmere på dette.",
|
||||
"report.unfollow": "Følg ikke længere @{name}",
|
||||
"report.unfollow_explanation": "Du følger denne konto. For ikke længere at se vedkommendes indlæg i din hjemmestrøm, kan du stoppe med at følge dem.",
|
||||
"report.unfollow_explanation": "Du følger denne konto. Hvis du ikke længere vil se vedkommendes indlæg i dit hjem-feed, så stop med at følge dem.",
|
||||
"report_notification.attached_statuses": "{count, plural, one {{count} indlæg} other {{count} indlæg}} vedhæftet",
|
||||
"report_notification.categories.legal": "Juridisk",
|
||||
"report_notification.categories.legal_sentence": "ikke-tilladt indhold",
|
||||
|
||||
@@ -6,7 +6,7 @@
|
||||
"about.domain_blocks.no_reason_available": "Grund unbekannt",
|
||||
"about.domain_blocks.preamble": "Mastodon erlaubt es dir grundsätzlich, alle Inhalte von allen Nutzer*innen auf allen Servern im Fediverse zu sehen und mit ihnen zu interagieren. Für diesen Server gibt es aber ein paar Ausnahmen.",
|
||||
"about.domain_blocks.silenced.explanation": "Standardmäßig werden von diesem Server keine Inhalte oder Profile angezeigt. Du kannst die Profile und Inhalte aber dennoch sehen, wenn du explizit nach diesen suchst oder diesen folgst.",
|
||||
"about.domain_blocks.silenced.title": "Stummgeschaltet",
|
||||
"about.domain_blocks.silenced.title": "Ausgeblendet",
|
||||
"about.domain_blocks.suspended.explanation": "Es werden keine Daten von diesem Server verarbeitet, gespeichert oder ausgetauscht, sodass eine Interaktion oder Kommunikation mit Nutzer*innen dieses Servers nicht möglich ist.",
|
||||
"about.domain_blocks.suspended.title": "Gesperrt",
|
||||
"about.language_label": "Sprache",
|
||||
@@ -225,7 +225,7 @@
|
||||
"confirmations.discard_draft.edit.title": "Änderungen an diesem Beitrag verwerfen?",
|
||||
"confirmations.discard_draft.post.cancel": "Entwurf fortsetzen",
|
||||
"confirmations.discard_draft.post.message": "Beim Fortfahren wird der gerade verfasste Beitrag verworfen.",
|
||||
"confirmations.discard_draft.post.title": "Beitragsentwurf verwerfen?",
|
||||
"confirmations.discard_draft.post.title": "Entwurf verwerfen?",
|
||||
"confirmations.discard_edit_media.confirm": "Verwerfen",
|
||||
"confirmations.discard_edit_media.message": "Du hast Änderungen an der Medienbeschreibung oder -vorschau vorgenommen, die noch nicht gespeichert sind. Trotzdem verwerfen?",
|
||||
"confirmations.follow_to_list.confirm": "Folgen und zur Liste hinzufügen",
|
||||
@@ -362,7 +362,7 @@
|
||||
"filter_modal.select_filter.subtitle": "Einem vorhandenen Filter hinzufügen oder einen neuen erstellen",
|
||||
"filter_modal.select_filter.title": "Diesen Beitrag filtern",
|
||||
"filter_modal.title.status": "Beitrag per Filter ausblenden",
|
||||
"filter_warning.matches_filter": "Übereinstimmend mit dem Filter „<span>{title}</span>“",
|
||||
"filter_warning.matches_filter": "Ausgeblendet wegen des Filters „<span>{title}</span>“",
|
||||
"filtered_notifications_banner.pending_requests": "Von {count, plural, =0 {keinem Profil, das dir möglicherweise bekannt ist} one {einem Profil, das dir möglicherweise bekannt ist} other {# Profilen, die dir möglicherweise bekannt sind}}",
|
||||
"filtered_notifications_banner.title": "Gefilterte Benachrichtigungen",
|
||||
"firehose.all": "Alle Server",
|
||||
|
||||
@@ -4,7 +4,7 @@
|
||||
"about.default_locale": "Προεπιλογή",
|
||||
"about.disclaimer": "Το Mastodon είναι ελεύθερο λογισμικό ανοιχτού κώδικα και εμπορικό σήμα της Mastodon gGmbH.",
|
||||
"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.title": "Περιορισμένος",
|
||||
"about.domain_blocks.suspended.explanation": "Τα δεδομένα αυτού του διακομιστή, δε θα επεξεργάζονται, δε θα αποθηκεύονται και δε θα ανταλλάσσονται, καθιστώντας οποιαδήποτε αλληλεπίδραση ή επικοινωνία με χρήστες από αυτόν το διακομιστή αδύνατη.",
|
||||
@@ -65,7 +65,7 @@
|
||||
"account.muting": "Σίγαση",
|
||||
"account.mutual": "Ακολουθείτε ο ένας τον άλλο",
|
||||
"account.no_bio": "Δεν υπάρχει περιγραφή.",
|
||||
"account.open_original_page": "Ανοικτό",
|
||||
"account.open_original_page": "Άνοιγμα αυθεντικής σελίδας",
|
||||
"account.posts": "Τουτ",
|
||||
"account.posts_with_replies": "Τουτ και απαντήσεις",
|
||||
"account.remove_from_followers": "Κατάργηση {name} από τους ακόλουθους",
|
||||
@@ -194,9 +194,9 @@
|
||||
"compose.saved.body": "Η ανάρτηση αποθηκεύτηκε.",
|
||||
"compose_form.direct_message_warning_learn_more": "Μάθε περισσότερα",
|
||||
"compose_form.encryption_warning": "Οι δημοσιεύσεις στο Mastodon δεν είναι κρυπτογραφημένες από άκρο σε άκρο. Μη μοιράζεσαι ευαίσθητες πληροφορίες μέσω του Mastodon.",
|
||||
"compose_form.hashtag_warning": "Αυτή η δημοσίευση δεν θα εμφανίζεται κάτω από οποιαδήποτε ετικέτα καθώς δεν είναι δημόσια. Μόνο οι δημόσιες δημοσιεύσεις μπορούν να αναζητηθούν με ετικέτα.",
|
||||
"compose_form.hashtag_warning": "Αυτή η ανάρτηση δεν θα εμφανίζεται κάτω από οποιαδήποτε ετικέτα καθώς δεν είναι δημόσια. Μόνο οι δημόσιες αναρτήσεις μπορούν να αναζητηθούν με ετικέτα.",
|
||||
"compose_form.lock_disclaimer": "Ο λογαριασμός σου δεν είναι {locked}. Οποιοσδήποτε μπορεί να σε ακολουθήσει για να δει τις δημοσιεύσεις σου προς τους ακολούθους σου.",
|
||||
"compose_form.lock_disclaimer.lock": "κλειδωμένο",
|
||||
"compose_form.lock_disclaimer.lock": "κλειδωμένος",
|
||||
"compose_form.placeholder": "Τι σκέφτεσαι;",
|
||||
"compose_form.poll.duration": "Διάρκεια δημοσκόπησης",
|
||||
"compose_form.poll.multiple": "Πολλαπλή επιλογή",
|
||||
@@ -214,13 +214,18 @@
|
||||
"confirmation_modal.cancel": "Άκυρο",
|
||||
"confirmations.block.confirm": "Αποκλεισμός",
|
||||
"confirmations.delete.confirm": "Διαγραφή",
|
||||
"confirmations.delete.message": "Σίγουρα θες να διαγράψεις αυτή τη δημοσίευση;",
|
||||
"confirmations.delete.message": "Σίγουρα θες να διαγράψεις αυτή την ανάρτηση;",
|
||||
"confirmations.delete.title": "Διαγραφή ανάρτησης;",
|
||||
"confirmations.delete_list.confirm": "Διαγραφή",
|
||||
"confirmations.delete_list.message": "Σίγουρα θες να διαγράψεις οριστικά αυτή τη λίστα;",
|
||||
"confirmations.delete_list.title": "Διαγραφή λίστας;",
|
||||
"confirmations.discard_draft.confirm": "Απόρριψη και συνέχεια",
|
||||
"confirmations.discard_draft.edit.cancel": "Συνέχιση επεξεργασίας",
|
||||
"confirmations.discard_draft.edit.message": "Συνεχίζοντας θα απορρίψει τυχόν αλλαγές που έχετε κάνει στην ανάρτηση που επεξεργάζεστε.",
|
||||
"confirmations.discard_draft.edit.title": "Απόρριψη αλλαγών στην ανάρτηση σας;",
|
||||
"confirmations.discard_draft.post.cancel": "Συνέχιση προχείρου",
|
||||
"confirmations.discard_draft.post.message": "Συνεχίζοντας θα απορρίψει την ανάρτηση που συνθέτετε.",
|
||||
"confirmations.discard_draft.post.title": "Απόρριψη της πρόχειρης ανάρτησης σας;",
|
||||
"confirmations.discard_edit_media.confirm": "Απόρριψη",
|
||||
"confirmations.discard_edit_media.message": "Έχεις μη αποθηκευμένες αλλαγές στην περιγραφή πολυμέσων ή στην προεπισκόπηση, απόρριψη ούτως ή άλλως;",
|
||||
"confirmations.follow_to_list.confirm": "Ακολούθησε και πρόσθεσε στη λίστα",
|
||||
@@ -232,7 +237,7 @@
|
||||
"confirmations.missing_alt_text.confirm": "Προσθήκη εναλ κειμένου",
|
||||
"confirmations.missing_alt_text.message": "Η ανάρτησή σου περιέχει πολυμέσα χωρίς εναλλακτικό κείμενο. Η προσθήκη περιγραφών βοηθά να γίνει το περιεχόμενό σου προσβάσιμο σε περισσότερους ανθρώπους.",
|
||||
"confirmations.missing_alt_text.secondary": "Δημοσίευση όπως και να ΄χει",
|
||||
"confirmations.missing_alt_text.title": "Προσθήκη alt κειμένου;",
|
||||
"confirmations.missing_alt_text.title": "Προσθήκη εναλλακτικού κειμένου;",
|
||||
"confirmations.mute.confirm": "Αποσιώπηση",
|
||||
"confirmations.redraft.confirm": "Διαγραφή & ξαναγράψιμο",
|
||||
"confirmations.redraft.message": "Σίγουρα θέλεις να σβήσεις αυτή την ανάρτηση και να την ξαναγράψεις; Οι προτιμήσεις και προωθήσεις θα χαθούν και οι απαντήσεις στην αρχική ανάρτηση θα μείνουν ορφανές.",
|
||||
@@ -271,7 +276,7 @@
|
||||
"domain_block_modal.you_will_lose_num_followers": "Θα χάσετε {followersCount, plural, one {{followersCountDisplay} ακόλουθο} other {{followersCountDisplay} ακόλουθους}} και {followingCount, plural, one {{followingCountDisplay} άτομο που ακολουθείτε} other {{followingCountDisplay} άτομα που ακολουθείτε}}.",
|
||||
"domain_block_modal.you_will_lose_relationships": "Θα χάσετε όλους τους ακόλουθους και τα άτομα που ακολουθείτε από αυτόν τον διακομιστή.",
|
||||
"domain_block_modal.you_wont_see_posts": "Δεν θα βλέπεις αναρτήσεις ή ειδοποιήσεις από χρήστες σε αυτόν το διακομιστή.",
|
||||
"domain_pill.activitypub_lets_connect": "Σού επιτρέπει να συνδεθείς και να αλληλεπιδράσεις με τους ανθρώπους όχι μόνο στο Mastodon, αλλά και σε διαφορετικές κοινωνικές εφαρμογές.",
|
||||
"domain_pill.activitypub_lets_connect": "Σου επιτρέπει να συνδεθείς και να αλληλεπιδράσεις με τους ανθρώπους όχι μόνο στο Mastodon, αλλά και σε διαφορετικές κοινωνικές εφαρμογές.",
|
||||
"domain_pill.activitypub_like_language": "Το ActivityPub είναι σαν τη γλώσσα Mastodon μιλάει με άλλα κοινωνικά δίκτυα.",
|
||||
"domain_pill.server": "Διακομιστής",
|
||||
"domain_pill.their_handle": "Το πλήρες όνομα χρήστη:",
|
||||
@@ -310,14 +315,14 @@
|
||||
"empty_column.account_unavailable": "Μη διαθέσιμο προφίλ",
|
||||
"empty_column.blocks": "Δεν έχεις αποκλείσει κανέναν χρήστη ακόμα.",
|
||||
"empty_column.bookmarked_statuses": "Δεν έχεις καμία ανάρτηση με σελιδοδείκτη ακόμα. Μόλις βάλεις κάποιον, θα εμφανιστεί εδώ.",
|
||||
"empty_column.community": "Η τοπική ροή είναι κενή. Γράψε κάτι δημόσιο παραμύθι ν' αρχινίσει!",
|
||||
"empty_column.community": "Η τοπική ροή είναι κενή. Γράψε κάτι δημόσια για να αρχίσει να κυλά η μπάλα!",
|
||||
"empty_column.direct": "Δεν έχεις καμία προσωπική επισήμανση ακόμα. Όταν στείλεις ή λάβεις μία, θα εμφανιστεί εδώ.",
|
||||
"empty_column.domain_blocks": "Δεν υπάρχουν αποκλεισμένοι τομείς ακόμα.",
|
||||
"empty_column.explore_statuses": "Τίποτα δεν βρίσκεται στις τάσεις αυτή τη στιγμή. Έλεγξε αργότερα!",
|
||||
"empty_column.favourited_statuses": "Δεν έχεις καμία αγαπημένη ανάρτηση ακόμα. Μόλις αγαπήσεις κάποια, θα εμφανιστεί εδώ.",
|
||||
"empty_column.favourites": "Κανείς δεν έχει αγαπήσει αυτή την ανάρτηση ακόμα. Μόλις το κάνει κάποιος, θα εμφανιστεί εδώ.",
|
||||
"empty_column.follow_requests": "Δεν έχεις κανένα αίτημα παρακολούθησης ακόμα. Μόλις λάβεις κάποιο, θα εμφανιστεί εδώ.",
|
||||
"empty_column.followed_tags": "Δεν έχετε παρακολουθήσει ακόμα καμία ετικέτα. Όταν το κάνετε, θα εμφανιστούν εδώ.",
|
||||
"empty_column.followed_tags": "Δεν έχετε ακολουθήσει ακόμα καμία ετικέτα. Όταν το κάνετε, θα εμφανιστούν εδώ.",
|
||||
"empty_column.hashtag": "Δεν υπάρχει ακόμα κάτι για αυτή την ετικέτα.",
|
||||
"empty_column.home": "Η τοπική σου ροή είναι κενή! Πήγαινε στο {public} ή κάνε αναζήτηση για να ξεκινήσεις και να γνωρίσεις άλλους χρήστες.",
|
||||
"empty_column.list": "Δεν υπάρχει τίποτα σε αυτή τη λίστα ακόμα. Όταν τα μέλη της δημοσιεύσουν νέες καταστάσεις, θα εμφανιστούν εδώ.",
|
||||
@@ -381,7 +386,7 @@
|
||||
"follow_suggestions.similar_to_recently_followed_longer": "Παρόμοια με προφίλ που ακολούθησες πρόσφατα",
|
||||
"follow_suggestions.view_all": "Εμφάνιση όλων",
|
||||
"follow_suggestions.who_to_follow": "Ποιον να ακολουθήσεις",
|
||||
"followed_tags": "Ετικέτες που ακολουθούνται",
|
||||
"followed_tags": "Ακολουθούμενες ετικέτες",
|
||||
"footer.about": "Σχετικά με",
|
||||
"footer.directory": "Κατάλογος προφίλ",
|
||||
"footer.get_app": "Αποκτήστε την εφαρμογή",
|
||||
@@ -412,7 +417,7 @@
|
||||
"hashtag.mute": "Σίγαση #{hashtag}",
|
||||
"hashtag.unfeature": "Να μην αναδεικνύεται στο προφίλ",
|
||||
"hashtag.unfollow": "Διακοπή παρακολούθησης ετικέτας",
|
||||
"hashtags.and_other": "…και {count, plural, one {}other {# ακόμη}}",
|
||||
"hashtags.and_other": "…και {count, plural, other {# ακόμη}}",
|
||||
"hints.profiles.followers_may_be_missing": "Μπορεί να λείπουν ακόλουθοι για αυτό το προφίλ.",
|
||||
"hints.profiles.follows_may_be_missing": "Άτομα που ακολουθούνται μπορεί να λείπουν απ' αυτό το προφίλ.",
|
||||
"hints.profiles.posts_may_be_missing": "Κάποιες αναρτήσεις από αυτό το προφίλ μπορεί να λείπουν.",
|
||||
@@ -420,7 +425,7 @@
|
||||
"hints.profiles.see_more_follows": "Δες περισσότερα άτομα που ακολουθούνται στο {domain}",
|
||||
"hints.profiles.see_more_posts": "Δες περισσότερες αναρτήσεις στο {domain}",
|
||||
"hints.threads.replies_may_be_missing": "Απαντήσεις από άλλους διακομιστές μπορεί να λείπουν.",
|
||||
"hints.threads.see_more": "Δες περισσότερες αναρτήσεις στο {domain}",
|
||||
"hints.threads.see_more": "Δες περισσότερες απαντήσεις στο {domain}",
|
||||
"home.column_settings.show_quotes": "Εμφάνιση παραθεμάτων",
|
||||
"home.column_settings.show_reblogs": "Εμφάνιση προωθήσεων",
|
||||
"home.column_settings.show_replies": "Εμφάνιση απαντήσεων",
|
||||
@@ -451,7 +456,7 @@
|
||||
"interaction_modal.no_account_yet": "Δεν έχεις ακόμη λογαριασμό;",
|
||||
"interaction_modal.on_another_server": "Σε διαφορετικό διακομιστή",
|
||||
"interaction_modal.on_this_server": "Σε αυτόν τον διακομιστή",
|
||||
"interaction_modal.title.favourite": "Favorite {name}'s post\nΠροτίμησε την ανάρτηση της/του {name}",
|
||||
"interaction_modal.title.favourite": "Αγάπησε την ανάρτηση του χρήστη {name}",
|
||||
"interaction_modal.title.follow": "Ακολούθησε {name}",
|
||||
"interaction_modal.title.reblog": "Ενίσχυσε την ανάρτηση του {name}",
|
||||
"interaction_modal.title.reply": "Απάντηση στην ανάρτηση του {name}",
|
||||
@@ -463,36 +468,36 @@
|
||||
"keyboard_shortcuts.back": "Μετάβαση πίσω",
|
||||
"keyboard_shortcuts.blocked": "Άνοιγμα λίστας αποκλεισμένων χρηστών",
|
||||
"keyboard_shortcuts.boost": "Ενίσχυση ανάρτησης",
|
||||
"keyboard_shortcuts.column": "Στήλη εστίασης",
|
||||
"keyboard_shortcuts.compose": "Περιοχή συγγραφής κειμένου εστίασης",
|
||||
"keyboard_shortcuts.column": "Εστίαση στη στήλη",
|
||||
"keyboard_shortcuts.compose": "Εστίαση στην περιοχή συγγραφής κειμένου",
|
||||
"keyboard_shortcuts.description": "Περιγραφή",
|
||||
"keyboard_shortcuts.direct": "για το άνοιγμα της στήλης ιδιωτικών επισημάνσεων",
|
||||
"keyboard_shortcuts.down": "κίνηση προς τα κάτω στη λίστα",
|
||||
"keyboard_shortcuts.enter": "Εμφάνιση ανάρτησης",
|
||||
"keyboard_shortcuts.favourite": "Αγαπημένη δημοσίευση",
|
||||
"keyboard_shortcuts.down": "Μετακίνηση προς τα κάτω στη λίστα",
|
||||
"keyboard_shortcuts.enter": "Άνοιγμα ανάρτησης",
|
||||
"keyboard_shortcuts.favourite": "Αγάπησε την ανάρτηση",
|
||||
"keyboard_shortcuts.favourites": "Άνοιγμα λίστας αγαπημένων",
|
||||
"keyboard_shortcuts.federated": "Άνοιγμα ροής συναλλαγών",
|
||||
"keyboard_shortcuts.federated": "Άνοιγμα ομοσπονδιακής ροής",
|
||||
"keyboard_shortcuts.heading": "Συντομεύσεις πληκτρολογίου",
|
||||
"keyboard_shortcuts.home": "Άνοιγμα ροής αρχικής σελίδας",
|
||||
"keyboard_shortcuts.hotkey": "Συντόμευση",
|
||||
"keyboard_shortcuts.legend": "Εμφάνιση αυτού του οδηγού",
|
||||
"keyboard_shortcuts.local": "Άνοιγμα τοπικής ροής",
|
||||
"keyboard_shortcuts.mention": "Επισήμανση συγγραφέα",
|
||||
"keyboard_shortcuts.mention": "Επισήμανση συντάκτη",
|
||||
"keyboard_shortcuts.muted": "Άνοιγμα λίστας αποσιωπημένων χρηστών",
|
||||
"keyboard_shortcuts.my_profile": "Άνοιγμα του προφίλ σου",
|
||||
"keyboard_shortcuts.notifications": "Άνοιγμα στήλης ειδοποιήσεων",
|
||||
"keyboard_shortcuts.open_media": "Άνοιγμα πολυμέσων",
|
||||
"keyboard_shortcuts.pinned": "Άνοιγμα λίστας καρφιτσωμένων αναρτήσεων",
|
||||
"keyboard_shortcuts.profile": "Άνοιγμα προφίλ συγγραφέα",
|
||||
"keyboard_shortcuts.profile": "Άνοιγμα προφίλ συντάκτη",
|
||||
"keyboard_shortcuts.reply": "Απάντηση στην ανάρτηση",
|
||||
"keyboard_shortcuts.requests": "Άνοιγμα λίστας αιτημάτων ακολούθησης",
|
||||
"keyboard_shortcuts.search": "Γραμμή αναζήτησης εστίασης",
|
||||
"keyboard_shortcuts.search": "Εστίαση στη γραμμή αναζήτησης",
|
||||
"keyboard_shortcuts.spoilers": "Εμφάνιση/απόκρυψη πεδίου CW",
|
||||
"keyboard_shortcuts.start": "Άνοιγμα της στήλης \"Ας ξεκινήσουμε\"",
|
||||
"keyboard_shortcuts.toggle_hidden": "Εμφάνιση/απόκρυψη κειμένου πίσω από το CW",
|
||||
"keyboard_shortcuts.toggle_sensitivity": "Εμφάνιση/απόκρυψη πολυμέσων",
|
||||
"keyboard_shortcuts.toot": "Δημιουργία νέας ανάρτησης",
|
||||
"keyboard_shortcuts.translate": "να μεταφράσει μια δημοσίευση",
|
||||
"keyboard_shortcuts.translate": "για να μεταφραστεί μια ανάρτηση",
|
||||
"keyboard_shortcuts.unfocus": "Αποεστίαση του πεδίου σύνθεσης/αναζήτησης",
|
||||
"keyboard_shortcuts.up": "Μετακίνηση προς τα πάνω στη λίστα",
|
||||
"lightbox.close": "Κλείσιμο",
|
||||
@@ -555,10 +560,12 @@
|
||||
"navigation_bar.favourites": "Αγαπημένα",
|
||||
"navigation_bar.filters": "Αποσιωπημένες λέξεις",
|
||||
"navigation_bar.follow_requests": "Αιτήματα ακολούθησης",
|
||||
"navigation_bar.followed_tags": "Ετικέτες που ακολουθούνται",
|
||||
"navigation_bar.followed_tags": "Ακολουθούμενες ετικέτες",
|
||||
"navigation_bar.follows_and_followers": "Ακολουθείς και σε ακολουθούν",
|
||||
"navigation_bar.import_export": "Εισαγωγή και εξαγωγή",
|
||||
"navigation_bar.lists": "Λίστες",
|
||||
"navigation_bar.live_feed_local": "Ζωντανή ροή (τοπική)",
|
||||
"navigation_bar.live_feed_public": "Ζωντανή ροή (δημόσια)",
|
||||
"navigation_bar.logout": "Αποσύνδεση",
|
||||
"navigation_bar.moderation": "Συντονισμός",
|
||||
"navigation_bar.more": "Περισσότερα",
|
||||
@@ -568,9 +575,9 @@
|
||||
"navigation_bar.privacy_and_reach": "Ιδιωτικότητα και προσιτότητα",
|
||||
"navigation_bar.search": "Αναζήτηση",
|
||||
"navigation_bar.search_trends": "Αναζήτηση / Τάσεις",
|
||||
"navigation_panel.collapse_followed_tags": "Σύμπτυξη μενού ετικετών που ακολουθούνται",
|
||||
"navigation_panel.collapse_followed_tags": "Σύμπτυξη μενού ετικετών που ακολουθείτε",
|
||||
"navigation_panel.collapse_lists": "Σύμπτυξη μενού λίστας",
|
||||
"navigation_panel.expand_followed_tags": "Επέκταση μενού ετικετών που ακολουθούνται",
|
||||
"navigation_panel.expand_followed_tags": "Επέκταση μενού ετικετών που ακολουθείτε",
|
||||
"navigation_panel.expand_lists": "Επέκταση μενού λίστας",
|
||||
"not_signed_in_indicator.not_signed_in": "Πρέπει να συνδεθείς για να αποκτήσεις πρόσβαση σε αυτόν τον πόρο.",
|
||||
"notification.admin.report": "Ο/Η {name} ανέφερε τον {target}",
|
||||
@@ -582,11 +589,11 @@
|
||||
"notification.admin.sign_up.name_and_others": "{name} και {count, plural, one {# ακόμη} other {# ακόμη}} έχουν εγγραφεί",
|
||||
"notification.annual_report.message": "Το #Wrapstodon {year} σε περιμένει! Αποκάλυψε τα στιγμιότυπα της χρονιάς και αξέχαστες στιγμές σου στο Mastodon!",
|
||||
"notification.annual_report.view": "Προβολή #Wrapstodon",
|
||||
"notification.favourite": "{name} favorited your post\n{name} προτίμησε την ανάρτηση σου",
|
||||
"notification.favourite": "{name} αγάπησε την ανάρτηση σου",
|
||||
"notification.favourite.name_and_others_with_link": "{name} και <a>{count, plural, one {# ακόμη} other {# ακόμη}}</a> αγάπησαν την ανάρτησή σου",
|
||||
"notification.favourite_pm": "Ο χρήστης {name} αγάπησε την ιδιωτική σου επισήμανση",
|
||||
"notification.favourite_pm.name_and_others_with_link": "Ο χρήστης {name} και <a>{count, plural, one {# ακόμη} other {# ακόμη}}</a> αγάπησαν την ιδωτική σου επισήμανση",
|
||||
"notification.follow": "Ο/Η {name} σε ακολούθησε",
|
||||
"notification.follow": "Ο χρήστης {name} σε ακολούθησε",
|
||||
"notification.follow.name_and_others": "Ο χρήστης {name} και <a>{count, plural, one {# ακόμη} other {# ακόμη}}</a> σε ακολούθησαν",
|
||||
"notification.follow_request": "Ο/H {name} ζήτησε να σε ακολουθήσει",
|
||||
"notification.follow_request.name_and_others": "{name} και {count, plural, one {# άλλος} other {# άλλοι}} ζήτησαν να σε ακολουθήσουν",
|
||||
@@ -607,7 +614,7 @@
|
||||
"notification.moderation_warning.action_suspend": "Ο λογαριασμός σου έχει ανασταλεί.",
|
||||
"notification.own_poll": "Η δημοσκόπησή σου έληξε",
|
||||
"notification.poll": "Μία ψηφοφορία στην οποία συμμετείχες έχει τελειώσει",
|
||||
"notification.reblog": "Ο/Η {name} ενίσχυσε τη δημοσίευσή σου",
|
||||
"notification.reblog": "Ο/Η {name} ενίσχυσε την ανάρτηση σου",
|
||||
"notification.reblog.name_and_others_with_link": "{name} και <a>{count, plural, one {# ακόμη} other {# ακόμη}}</a> ενίσχυσαν την ανάρτησή σου",
|
||||
"notification.relationships_severance_event": "Χάθηκε η σύνδεση με το {name}",
|
||||
"notification.relationships_severance_event.account_suspension": "Ένας διαχειριστής από το {from} ανέστειλε το {target}, πράγμα που σημαίνει ότι δεν μπορείς πλέον να λαμβάνεις ενημερώσεις από αυτούς ή να αλληλεπιδράς μαζί τους.",
|
||||
@@ -719,7 +726,7 @@
|
||||
"poll_button.add_poll": "Προσθήκη δημοσκόπησης",
|
||||
"poll_button.remove_poll": "Αφαίρεση δημοσκόπησης",
|
||||
"privacy.change": "Προσαρμογή ιδιωτικότητας ανάρτησης",
|
||||
"privacy.direct.long": "Όλοι όσοι αναφέρθηκαν στη δημοσίευση",
|
||||
"privacy.direct.long": "Όλοι όσοι αναφέρθηκαν στην ανάρτηση",
|
||||
"privacy.direct.short": "Ιδιωτική επισήμανση",
|
||||
"privacy.private.long": "Μόνο οι ακόλουθοί σας",
|
||||
"privacy.private.short": "Ακόλουθοι",
|
||||
@@ -797,7 +804,7 @@
|
||||
"report_notification.categories.spam_sentence": "ανεπιθύμητα",
|
||||
"report_notification.categories.violation": "Παραβίαση κανόνα",
|
||||
"report_notification.categories.violation_sentence": "παραβίαση κανόνα",
|
||||
"report_notification.open": "Ανοιχτή αναφορά",
|
||||
"report_notification.open": "Άνοιγμα αναφοράς",
|
||||
"search.clear": "Εκκαθάριση αναζήτησης",
|
||||
"search.no_recent_searches": "Καμία πρόσφατη αναζήτηση",
|
||||
"search.placeholder": "Αναζήτηση",
|
||||
@@ -851,7 +858,7 @@
|
||||
"status.edited_x_times": "Επεξεργάστηκε {count, plural, one {{count} φορά} other {{count} φορές}}",
|
||||
"status.embed": "Απόκτηση κώδικα ενσωμάτωσης",
|
||||
"status.favourite": "Αγαπημένα",
|
||||
"status.favourites": "{count, plural, one {# αγαπημένο} other {# αγαπημένα}}",
|
||||
"status.favourites": "{count, plural, one {αγαπημένο} other {αγαπημένα}}",
|
||||
"status.filter": "Φιλτράρισμα αυτής της ανάρτησης",
|
||||
"status.history.created": "{name} δημιούργησε στις {date}",
|
||||
"status.history.edited": "{name} επεξεργάστηκε στις {date}",
|
||||
@@ -876,7 +883,7 @@
|
||||
"status.reblog": "Ενίσχυση",
|
||||
"status.reblog_private": "Ενίσχυση με αρχική ορατότητα",
|
||||
"status.reblogged_by": "{name} προώθησε",
|
||||
"status.reblogs": "{count, plural, one {# ενίσχυση} other {# ενισχύσεις}}",
|
||||
"status.reblogs": "{count, plural, one {ενίσχυση} other {ενισχύσεις}}",
|
||||
"status.reblogs.empty": "Κανείς δεν ενίσχυσε αυτή την ανάρτηση ακόμα. Μόλις το κάνει κάποιος, θα εμφανιστεί εδώ.",
|
||||
"status.redraft": "Σβήσε & ξαναγράψε",
|
||||
"status.remove_bookmark": "Αφαίρεση σελιδοδείκτη",
|
||||
@@ -888,8 +895,8 @@
|
||||
"status.report": "Αναφορά @{name}",
|
||||
"status.sensitive_warning": "Ευαίσθητο περιεχόμενο",
|
||||
"status.share": "Κοινοποίηση",
|
||||
"status.show_less_all": "Δείξε λιγότερα για όλα",
|
||||
"status.show_more_all": "Δείξε περισσότερα για όλα",
|
||||
"status.show_less_all": "Δείξε λιγότερο για όλες",
|
||||
"status.show_more_all": "Δείξε περισσότερο για όλες",
|
||||
"status.show_original": "Εμφάνιση αρχικού",
|
||||
"status.title.with_attachments": "{user} δημοσίευσε {attachmentCount, plural, one {ένα συνημμένο} other {{attachmentCount} συνημμένα}}",
|
||||
"status.translate": "Μετάφραση",
|
||||
@@ -897,7 +904,7 @@
|
||||
"status.uncached_media_warning": "Μη διαθέσιμη προεπισκόπηση",
|
||||
"status.unmute_conversation": "Αναίρεση σίγασης συνομιλίας",
|
||||
"status.unpin": "Ξεκαρφίτσωσε από το προφίλ",
|
||||
"subscribed_languages.lead": "Μόνο αναρτήσεις σε επιλεγμένες γλώσσες θα εμφανίζονται στην αρχική σου και θα παραθέτονται χρονοδιαγράμματα μετά την αλλαγή. Επέλεξε καμία για να λαμβάνεις αναρτήσεις σε όλες τις γλώσσες.",
|
||||
"subscribed_languages.lead": "Μόνο αναρτήσεις σε επιλεγμένες γλώσσες θα εμφανίζονται στην αρχική σου και θα παραθέτονται ροές μετά την αλλαγή. Επέλεξε καμία για να λαμβάνεις αναρτήσεις σε όλες τις γλώσσες.",
|
||||
"subscribed_languages.save": "Αποθήκευση αλλαγών",
|
||||
"subscribed_languages.target": "Αλλαγή εγγεγραμμένων γλωσσών για {target}",
|
||||
"tabs_bar.home": "Αρχική",
|
||||
|
||||
@@ -219,6 +219,13 @@
|
||||
"confirmations.delete_list.confirm": "Delete",
|
||||
"confirmations.delete_list.message": "Are you sure you want to permanently delete this list?",
|
||||
"confirmations.delete_list.title": "Delete list?",
|
||||
"confirmations.discard_draft.confirm": "Discard and continue",
|
||||
"confirmations.discard_draft.edit.cancel": "Resume editing",
|
||||
"confirmations.discard_draft.edit.message": "Continuing will discard any changes you have made to the post you are currently editing.",
|
||||
"confirmations.discard_draft.edit.title": "Discard changes to your post?",
|
||||
"confirmations.discard_draft.post.cancel": "Resume draft",
|
||||
"confirmations.discard_draft.post.message": "Continuing will discard the post you are currently composing.",
|
||||
"confirmations.discard_draft.post.title": "Discard your draft post?",
|
||||
"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.follow_to_list.confirm": "Follow and add to list",
|
||||
@@ -330,6 +337,7 @@
|
||||
"errors.unexpected_crash.copy_stacktrace": "Copy stacktrace to clipboard",
|
||||
"errors.unexpected_crash.report_issue": "Report issue",
|
||||
"explore.suggested_follows": "People",
|
||||
"explore.title": "Trending",
|
||||
"explore.trending_links": "News",
|
||||
"explore.trending_statuses": "Posts",
|
||||
"explore.trending_tags": "Hashtags",
|
||||
@@ -541,8 +549,10 @@
|
||||
"mute_modal.you_wont_see_mentions": "You won't see posts that mention them.",
|
||||
"mute_modal.you_wont_see_posts": "They can still see your posts, but you won't see theirs.",
|
||||
"navigation_bar.about": "About",
|
||||
"navigation_bar.account_settings": "Password and security",
|
||||
"navigation_bar.administration": "Administration",
|
||||
"navigation_bar.advanced_interface": "Open in advanced web interface",
|
||||
"navigation_bar.automated_deletion": "Automated post deletion",
|
||||
"navigation_bar.blocks": "Blocked users",
|
||||
"navigation_bar.bookmarks": "Bookmarks",
|
||||
"navigation_bar.direct": "Private mentions",
|
||||
@@ -552,13 +562,23 @@
|
||||
"navigation_bar.follow_requests": "Follow requests",
|
||||
"navigation_bar.followed_tags": "Followed hashtags",
|
||||
"navigation_bar.follows_and_followers": "Follows and followers",
|
||||
"navigation_bar.import_export": "Import and export",
|
||||
"navigation_bar.lists": "Lists",
|
||||
"navigation_bar.live_feed_local": "Live feed (local)",
|
||||
"navigation_bar.live_feed_public": "Live feed (public)",
|
||||
"navigation_bar.logout": "Logout",
|
||||
"navigation_bar.moderation": "Moderation",
|
||||
"navigation_bar.more": "More",
|
||||
"navigation_bar.mutes": "Muted users",
|
||||
"navigation_bar.opened_in_classic_interface": "Posts, accounts, and other specific pages are opened by default in the classic web interface.",
|
||||
"navigation_bar.preferences": "Preferences",
|
||||
"navigation_bar.privacy_and_reach": "Privacy and reach",
|
||||
"navigation_bar.search": "Search",
|
||||
"navigation_bar.search_trends": "Search / Trending",
|
||||
"navigation_panel.collapse_followed_tags": "Collapse followed hashtags menu",
|
||||
"navigation_panel.collapse_lists": "Collapse list menu",
|
||||
"navigation_panel.expand_followed_tags": "Expand followed hashtags menu",
|
||||
"navigation_panel.expand_lists": "Expand list menu",
|
||||
"not_signed_in_indicator.not_signed_in": "You need to sign in to access this resource.",
|
||||
"notification.admin.report": "{name} reported {target}",
|
||||
"notification.admin.report_account": "{name} reported {count, plural, one {one post} other {# posts}} from {target} for {category}",
|
||||
@@ -594,7 +614,7 @@
|
||||
"notification.moderation_warning.action_suspend": "Your account has been suspended.",
|
||||
"notification.own_poll": "Your poll has ended",
|
||||
"notification.poll": "A poll you voted in has ended",
|
||||
"notification.reblog": "{name} boosted your status",
|
||||
"notification.reblog": "{name} boosted your post",
|
||||
"notification.reblog.name_and_others_with_link": "{name} and <a>{count, plural, one {# other} other {# others}}</a> boosted your post",
|
||||
"notification.relationships_severance_event": "Lost connections with {name}",
|
||||
"notification.relationships_severance_event.account_suspension": "An admin from {from} has suspended {target}, which means you can no longer receive updates from them or interact with them.",
|
||||
@@ -785,6 +805,7 @@
|
||||
"report_notification.categories.violation": "Rule violation",
|
||||
"report_notification.categories.violation_sentence": "rule violation",
|
||||
"report_notification.open": "Open report",
|
||||
"search.clear": "Clear search",
|
||||
"search.no_recent_searches": "No recent searches",
|
||||
"search.placeholder": "Search",
|
||||
"search.quick_action.account_search": "Profiles matching {x}",
|
||||
@@ -887,7 +908,10 @@
|
||||
"subscribed_languages.save": "Save changes",
|
||||
"subscribed_languages.target": "Change subscribed languages for {target}",
|
||||
"tabs_bar.home": "Home",
|
||||
"tabs_bar.menu": "Menu",
|
||||
"tabs_bar.notifications": "Notifications",
|
||||
"tabs_bar.publish": "New Post",
|
||||
"tabs_bar.search": "Search",
|
||||
"terms_of_service.effective_as_of": "Effective as of {date}",
|
||||
"terms_of_service.title": "Terms of Service",
|
||||
"terms_of_service.upcoming_changes_on": "Upcoming changes on {date}",
|
||||
|
||||
@@ -873,6 +873,8 @@
|
||||
"status.open": "Expand this post",
|
||||
"status.pin": "Pin on profile",
|
||||
"status.quote_error.filtered": "Hidden due to one of your filters",
|
||||
"status.quote_error.limited_account_hint.action": "Show anyway",
|
||||
"status.quote_error.limited_account_hint.title": "This account has been hidden by the moderators of {domain}.",
|
||||
"status.quote_error.not_found": "This post cannot be displayed.",
|
||||
"status.quote_error.pending_approval": "This post is pending approval from the original author.",
|
||||
"status.quote_error.rejected": "This post cannot be displayed as the original author does not allow it to be quoted.",
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
{
|
||||
"about.blocks": "Reguligitaj serviloj",
|
||||
"about.contact": "Kontakto:",
|
||||
"about.default_locale": "기본",
|
||||
"about.default_locale": "Defaŭlta",
|
||||
"about.disclaimer": "Mastodon estas libera, malfermitkoda programo kaj varmarko de la firmao Mastodon gGmbH.",
|
||||
"about.domain_blocks.no_reason_available": "Kialo ne disponeblas",
|
||||
"about.domain_blocks.preamble": "Mastodon ĝenerale rajtigas vidi la enhavojn de uzantoj el aliaj serviloj en la fediverso, kaj komuniki kun ili. Jen la limigoj deciditaj de tiu ĉi servilo mem.",
|
||||
@@ -30,6 +30,8 @@
|
||||
"account.edit_profile": "Redakti la profilon",
|
||||
"account.enable_notifications": "Sciigu min kiam @{name} afiŝos",
|
||||
"account.endorse": "Montri en profilo",
|
||||
"account.familiar_followers_one": "Sekvita de {name1}",
|
||||
"account.familiar_followers_two": "Sekvita de {name1} kaj {name2}",
|
||||
"account.featured": "Montrita",
|
||||
"account.featured.accounts": "Profiloj",
|
||||
"account.featured.hashtags": "Kradvortoj",
|
||||
@@ -40,6 +42,7 @@
|
||||
"account.followers": "Sekvantoj",
|
||||
"account.followers.empty": "Ankoraŭ neniu sekvas ĉi tiun uzanton.",
|
||||
"account.followers_counter": "{count, plural, one{{counter} sekvanto} other {{counter} sekvantoj}}",
|
||||
"account.followers_you_know_counter": "Vi scias {counter}",
|
||||
"account.following": "Sekvatoj",
|
||||
"account.following_counter": "{count, plural, one {{counter} sekvato} other {{counter} sekvatoj}}",
|
||||
"account.follows.empty": "La uzanto ankoraŭ ne sekvas iun ajn.",
|
||||
@@ -215,6 +218,11 @@
|
||||
"confirmations.delete_list.confirm": "Forigi",
|
||||
"confirmations.delete_list.message": "Ĉu vi certas, ke vi volas porĉiame forigi ĉi tiun liston?",
|
||||
"confirmations.delete_list.title": "Ĉu forigi liston?",
|
||||
"confirmations.discard_draft.confirm": "Forĵetu kaj daŭrigu",
|
||||
"confirmations.discard_draft.edit.cancel": "Daŭrigi redaktadon",
|
||||
"confirmations.discard_draft.edit.title": "Ĉu forĵeti ŝanĝojn al via afiŝo?",
|
||||
"confirmations.discard_draft.post.cancel": "Daŭrigi malneton",
|
||||
"confirmations.discard_draft.post.title": "Ĉu forĵeti vian malneton?",
|
||||
"confirmations.discard_edit_media.confirm": "Forĵeti",
|
||||
"confirmations.discard_edit_media.message": "Vi havas nekonservitajn ŝanĝojn de la priskribo aŭ la antaŭvidigo de la vidaŭdaĵo, ĉu vi forĵetu ilin malgraŭe?",
|
||||
"confirmations.follow_to_list.confirm": "Sekvi kaj aldoni al listo",
|
||||
@@ -295,6 +303,7 @@
|
||||
"emoji_button.search_results": "Serĉaj rezultoj",
|
||||
"emoji_button.symbols": "Simboloj",
|
||||
"emoji_button.travel": "Vojaĝoj kaj lokoj",
|
||||
"empty_column.account_featured.me": "Vi ankoraŭ nenion prezentis. Ĉu vi sciis, ke vi povas prezenti viajn plej ofte uzatajn kradvortojn, kaj eĉ la kontojn de viaj amikoj sur via profilo?",
|
||||
"empty_column.account_featured_other.unknown": "Ĉi tiu konto ankoraŭ ne montris ion ajn.",
|
||||
"empty_column.account_hides_collections": "Ĉi tiu uzanto elektis ne disponebligi ĉi tiu informon",
|
||||
"empty_column.account_suspended": "Konto suspendita",
|
||||
@@ -328,9 +337,11 @@
|
||||
"explore.trending_links": "Novaĵoj",
|
||||
"explore.trending_statuses": "Afiŝoj",
|
||||
"explore.trending_tags": "Kradvortoj",
|
||||
"featured_carousel.header": "{count, plural, one {Alpinglita afiŝo} other {Alpinglitaj afiŝoj}}",
|
||||
"featured_carousel.next": "Antaŭen",
|
||||
"featured_carousel.post": "Afiŝi",
|
||||
"featured_carousel.previous": "Malantaŭen",
|
||||
"featured_carousel.slide": "{index} de {total}",
|
||||
"filter_modal.added.context_mismatch_explanation": "Ĉi tiu filtrilkategorio ne kongruas kun la kunteksto en kiu vi akcesis ĉi tiun afiŝon. Se vi volas ke la afiŝo estas ankaŭ filtrita en ĉi tiu kunteksto, vi devus redakti la filtrilon.",
|
||||
"filter_modal.added.context_mismatch_title": "Ne kongruas la kunteksto!",
|
||||
"filter_modal.added.expired_explanation": "Ĉi tiu filtrilkategorio eksvalidiĝis, vu bezonos ŝanĝi la eksvaliddaton por ĝi.",
|
||||
@@ -411,6 +422,7 @@
|
||||
"hints.profiles.see_more_posts": "Vidi pli da afiŝoj sur {domain}",
|
||||
"hints.threads.replies_may_be_missing": "Respondoj de aliaj serviloj eble mankas.",
|
||||
"hints.threads.see_more": "Vidi pli da respondoj sur {domain}",
|
||||
"home.column_settings.show_quotes": "Montri citaĵojn",
|
||||
"home.column_settings.show_reblogs": "Montri diskonigojn",
|
||||
"home.column_settings.show_replies": "Montri respondojn",
|
||||
"home.hide_announcements": "Kaŝi la anoncojn",
|
||||
@@ -533,8 +545,10 @@
|
||||
"mute_modal.you_wont_see_mentions": "Vi ne vidos afiŝojn, kiuj mencias ilin.",
|
||||
"mute_modal.you_wont_see_posts": "Ili ankoraŭ povas vidi viajn afiŝojn, sed vi ne vidos iliajn.",
|
||||
"navigation_bar.about": "Pri",
|
||||
"navigation_bar.account_settings": "Pasvorto kaj sekureco",
|
||||
"navigation_bar.administration": "Administrado",
|
||||
"navigation_bar.advanced_interface": "Malfermi altnivelan retpaĝan interfacon",
|
||||
"navigation_bar.automated_deletion": "Aŭtomata forigo de afiŝoj",
|
||||
"navigation_bar.blocks": "Blokitaj uzantoj",
|
||||
"navigation_bar.bookmarks": "Legosignoj",
|
||||
"navigation_bar.direct": "Privataj mencioj",
|
||||
@@ -544,6 +558,7 @@
|
||||
"navigation_bar.follow_requests": "Petoj de sekvado",
|
||||
"navigation_bar.followed_tags": "Sekvataj kradvortoj",
|
||||
"navigation_bar.follows_and_followers": "Sekvatoj kaj sekvantoj",
|
||||
"navigation_bar.import_export": "Importo kaj eksporto",
|
||||
"navigation_bar.lists": "Listoj",
|
||||
"navigation_bar.logout": "Elsaluti",
|
||||
"navigation_bar.moderation": "Modereco",
|
||||
@@ -551,7 +566,10 @@
|
||||
"navigation_bar.mutes": "Silentigitaj uzantoj",
|
||||
"navigation_bar.opened_in_classic_interface": "Afiŝoj, kontoj, kaj aliaj specifaj paĝoj kiuj estas malfermititaj defaulta en la klasika reta interfaco.",
|
||||
"navigation_bar.preferences": "Preferoj",
|
||||
"navigation_bar.privacy_and_reach": "Privateco kaj atingo",
|
||||
"navigation_bar.search": "Serĉi",
|
||||
"navigation_panel.expand_followed_tags": "Malfermi la menuon de sekvataj haŝetikedoj",
|
||||
"navigation_panel.expand_lists": "Malfermi la listmenuon",
|
||||
"not_signed_in_indicator.not_signed_in": "Necesas saluti por aliri tiun rimedon.",
|
||||
"notification.admin.report": "{name} raportis {target}",
|
||||
"notification.admin.report_account": "{name} raportis {count, plural, one {afiŝon} other {# afiŝojn}} de {target} por {category}",
|
||||
@@ -787,7 +805,7 @@
|
||||
"search.quick_action.open_url": "Malfermi URL en Mastodono",
|
||||
"search.quick_action.status_search": "Afiŝoj kiuj konformas kun {x}",
|
||||
"search.search_or_paste": "Serĉu aŭ algluu URL-on",
|
||||
"search_popout.full_text_search_disabled_message": "Ne havebla sur {domain}.",
|
||||
"search_popout.full_text_search_disabled_message": "Ne disponebla sur {domain}.",
|
||||
"search_popout.full_text_search_logged_out_message": "Disponebla nur kiam ensalutinte.",
|
||||
"search_popout.language_code": "ISO-lingva kodo",
|
||||
"search_popout.options": "Serĉaj opcioj",
|
||||
@@ -845,6 +863,13 @@
|
||||
"status.mute_conversation": "Silentigi konversacion",
|
||||
"status.open": "Pligrandigu ĉi tiun afiŝon",
|
||||
"status.pin": "Alpingli al la profilo",
|
||||
"status.quote_error.filtered": "Kaŝita pro unu el viaj filtriloj",
|
||||
"status.quote_error.not_found": "Ĉi tiu afiŝo ne povas esti montrata.",
|
||||
"status.quote_error.pending_approval": "Ĉi tiu afiŝo atendas aprobon de la originala aŭtoro.",
|
||||
"status.quote_error.rejected": "Ĉi tiu afiŝo ne povas esti montrata ĉar la originala aŭtoro ne permesas ĝian citadon.",
|
||||
"status.quote_error.removed": "Ĉi tiu afiŝo estis forigita de ĝia aŭtoro.",
|
||||
"status.quote_error.unauthorized": "Ĉi tiu afiŝo ne povas esti montrata ĉar vi ne rajtas rigardi ĝin.",
|
||||
"status.quote_post_author": "Afiŝo de {name}",
|
||||
"status.read_more": "Legi pli",
|
||||
"status.reblog": "Diskonigi",
|
||||
"status.reblog_private": "Diskonigi kun la sama videbleco",
|
||||
@@ -876,6 +901,7 @@
|
||||
"tabs_bar.home": "Hejmo",
|
||||
"tabs_bar.menu": "Menuo",
|
||||
"tabs_bar.notifications": "Sciigoj",
|
||||
"tabs_bar.publish": "Nova afiŝo",
|
||||
"tabs_bar.search": "Serĉi",
|
||||
"terms_of_service.effective_as_of": "Ĝi ekvalidas de {date}",
|
||||
"terms_of_service.title": "Kondiĉoj de uzado",
|
||||
|
||||
@@ -51,7 +51,7 @@
|
||||
"account.go_to_profile": "Ir al perfil",
|
||||
"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 el",
|
||||
"account.languages": "Cambiar idiomas suscritos",
|
||||
"account.link_verified_on": "La propiedad de este enlace fue verificada el {date}",
|
||||
"account.locked_info": "Esta cuenta es privada. El propietario manualmente revisa quién puede seguirle.",
|
||||
@@ -564,8 +564,8 @@
|
||||
"navigation_bar.follows_and_followers": "Cuentas seguidas y seguidores",
|
||||
"navigation_bar.import_export": "Importación y exportación",
|
||||
"navigation_bar.lists": "Listas",
|
||||
"navigation_bar.live_feed_local": "Cronología local",
|
||||
"navigation_bar.live_feed_public": "Cronología pública",
|
||||
"navigation_bar.live_feed_local": "Línea temporal (local)",
|
||||
"navigation_bar.live_feed_public": "Línea temporal (federada)",
|
||||
"navigation_bar.logout": "Cerrar sesión",
|
||||
"navigation_bar.moderation": "Moderación",
|
||||
"navigation_bar.more": "Más",
|
||||
@@ -732,7 +732,7 @@
|
||||
"privacy.private.short": "Seguidores",
|
||||
"privacy.public.long": "Cualquier persona dentro y fuera de Mastodon",
|
||||
"privacy.public.short": "Público",
|
||||
"privacy.unlisted.additional": "Esto se comporta exactamente igual que con la configuración de privacidad de mensaje \"Público\", excepto que el mensaje no aparecerá en los líneas temporales en vivo, ni en las etiquetas, ni en la línea temporal \"Explorá\", ni en la búsqueda de Mastodon; incluso si optaste por hacer tu cuenta visible.",
|
||||
"privacy.unlisted.additional": "Esto se comporta exactamente igual que con la configuración de privacidad de mensaje «Público», excepto que el mensaje no aparecerá en las líneas temporales en vivo, ni en las etiquetas, ni en la línea temporal «Explorá», ni en la búsqueda de Mastodon; incluso si optaste por hacer tu cuenta visible.",
|
||||
"privacy.unlisted.long": "Menos fanfarrias algorítmicas",
|
||||
"privacy.unlisted.short": "Público silencioso",
|
||||
"privacy_policy.last_updated": "Última actualización: {date}",
|
||||
@@ -858,7 +858,7 @@
|
||||
"status.edited_x_times": "Editado {count, plural, one {{count} vez} other {{count} veces}}",
|
||||
"status.embed": "Obtener código para insertar",
|
||||
"status.favourite": "Marcar como favorito",
|
||||
"status.favourites": "{count, plural, one {# vez marcado como favorito} other {# veces marcado como favorito}}",
|
||||
"status.favourites": "{count, plural, one {vez marcado como favorito} other {veces marcado como favorito}}",
|
||||
"status.filter": "Filtrar este mensaje",
|
||||
"status.history.created": "Creado por {name}, {date}",
|
||||
"status.history.edited": "Editado por {name}, {date}",
|
||||
|
||||
@@ -240,8 +240,8 @@
|
||||
"confirmations.missing_alt_text.title": "¿Añadir texto alternativo?",
|
||||
"confirmations.mute.confirm": "Silenciar",
|
||||
"confirmations.redraft.confirm": "Borrar y volver a borrador",
|
||||
"confirmations.redraft.message": "¿Estás seguro que quieres borrar esta publicación y editarla? Los favoritos e impulsos se perderán, y las respuestas a la publicación original quedarán separadas.",
|
||||
"confirmations.redraft.title": "¿Borrar y volver a redactar la publicación?",
|
||||
"confirmations.redraft.message": "¿Estás seguro de que quieres borrar esta publicación y editarla? Los favoritos e impulsos se perderán, y las respuestas a la publicación original quedarán separadas.",
|
||||
"confirmations.redraft.title": "¿Deseas borrar y volver a redactar la publicación?",
|
||||
"confirmations.remove_from_followers.confirm": "Eliminar seguidor",
|
||||
"confirmations.remove_from_followers.message": "{name} dejará de seguirte. ¿Estás seguro de que quieres continuar?",
|
||||
"confirmations.remove_from_followers.title": "¿Eliminar seguidor?",
|
||||
@@ -315,7 +315,7 @@
|
||||
"empty_column.account_unavailable": "Perfil no disponible",
|
||||
"empty_column.blocks": "Aún no has bloqueado a ningún usuario.",
|
||||
"empty_column.bookmarked_statuses": "Aún no tienes ninguna publicación guardada como marcador. Cuando guardes una, se mostrará aquí.",
|
||||
"empty_column.community": "La línea de tiempo local está vacía. ¡Escribe algo para empezar la fiesta!",
|
||||
"empty_column.community": "La cronología local está vacía. ¡Escribe algo públicamente para ponerla en marcha!",
|
||||
"empty_column.direct": "Aún no tienes menciones privadas. Cuando envíes o recibas una, aparecerán aquí.",
|
||||
"empty_column.domain_blocks": "Todavía no hay dominios ocultos.",
|
||||
"empty_column.explore_statuses": "Nada es tendencia en este momento. ¡Revisa más tarde!",
|
||||
@@ -329,7 +329,7 @@
|
||||
"empty_column.mutes": "Aún no has silenciado a ningún usuario.",
|
||||
"empty_column.notification_requests": "¡Todo limpio! No hay nada aquí. Cuando recibas nuevas notificaciones, aparecerán aquí conforme a tu configuración.",
|
||||
"empty_column.notifications": "No tienes ninguna notificación aún. Interactúa con otros para empezar una conversación.",
|
||||
"empty_column.public": "¡No hay nada aquí! Escribe algo públicamente, o sigue usuarios de otras instancias manualmente para llenarlo",
|
||||
"empty_column.public": "¡Aquí no hay nada! Escribe algo públicamente o sigue manualmente a usuarios de otros servidores para llenarlo",
|
||||
"error.unexpected_crash.explanation": "Debido a un error en nuestro código o a un problema de compatibilidad con el navegador, esta página no se ha podido mostrar correctamente.",
|
||||
"error.unexpected_crash.explanation_addons": "No se pudo mostrar correctamente esta página. Este error probablemente fue causado por un complemento del navegador web o por herramientas de traducción automática.",
|
||||
"error.unexpected_crash.next_steps": "Intenta actualizar la página. Si eso no ayuda, es posible que puedas usar Mastodon a través de otro navegador o aplicación nativa.",
|
||||
@@ -734,7 +734,7 @@
|
||||
"privacy.public.short": "Público",
|
||||
"privacy.unlisted.additional": "Esto se comporta exactamente igual que el público, excepto que el post no aparecerá en las cronologías en directo o en las etiquetas, la exploración o busquedas en Mastodon, incluso si está optado por activar la cuenta de usuario.",
|
||||
"privacy.unlisted.long": "Menos fanfares algorítmicos",
|
||||
"privacy.unlisted.short": "Público silencioso",
|
||||
"privacy.unlisted.short": "Pública, pero discreta",
|
||||
"privacy_policy.last_updated": "Actualizado por última vez {date}",
|
||||
"privacy_policy.title": "Política de Privacidad",
|
||||
"recommended": "Recomendado",
|
||||
|
||||
@@ -795,7 +795,7 @@
|
||||
"report.thanks.title_actionable": "Gracias por informar, estudiaremos esto.",
|
||||
"report.unfollow": "Dejar de seguir a @{name}",
|
||||
"report.unfollow_explanation": "Estás siguiendo esta cuenta. Para dejar de ver sus publicaciones en tu página de inicio, deja de seguirla.",
|
||||
"report_notification.attached_statuses": "{count, plural, one {{count} publicación} other {{count} publicaciones}} adjunta(s)",
|
||||
"report_notification.attached_statuses": "{count, plural, one {{count} publicación adjunta} other {{count} publicaciones adjuntas}}",
|
||||
"report_notification.categories.legal": "Legal",
|
||||
"report_notification.categories.legal_sentence": "contenido ilegal",
|
||||
"report_notification.categories.other": "Otros",
|
||||
|
||||
@@ -269,7 +269,7 @@
|
||||
"dismissable_banner.public_timeline": "Need on värskeimad avalikud postitused inimestelt fediversiumis, mida domeeni {domain} inimesed jälgivad.",
|
||||
"domain_block_modal.block": "Blokeeri server",
|
||||
"domain_block_modal.block_account_instead": "Selle asemel blokeeri @{name}",
|
||||
"domain_block_modal.they_can_interact_with_old_posts": "Inimesed sellest serverist saavad interakteeruda sinu vanade postitustega.",
|
||||
"domain_block_modal.they_can_interact_with_old_posts": "Inimesed sellest serverist saavad suhestuda sinu vanade postitustega.",
|
||||
"domain_block_modal.they_cant_follow": "Sellest serverist ei saa keegi sind jälgida.",
|
||||
"domain_block_modal.they_wont_know": "Nad ei tea, et nad on blokeeritud.",
|
||||
"domain_block_modal.title": "Blokeerida domeen?",
|
||||
@@ -320,7 +320,7 @@
|
||||
"empty_column.domain_blocks": "Siin ei ole veel peidetud domeene.",
|
||||
"empty_column.explore_statuses": "Praegu pole ühtegi trendi. Tule hiljem tagasi!",
|
||||
"empty_column.favourited_statuses": "Pole veel lemmikpostitusi. Kui märgid mõne, näed neid siin.",
|
||||
"empty_column.favourites": "Keegi pole veel seda postitust lemmikuks märkinud. Kui keegi seda teeb, näed seda siin.",
|
||||
"empty_column.favourites": "Keegi pole veel seda postitust lemmikuks märkinud. Kui keegi seda teeb, siis on ta nähtav siin.",
|
||||
"empty_column.follow_requests": "Pole hetkel ühtegi jälgimistaotlust. Kui saad mõne, näed neid siin.",
|
||||
"empty_column.followed_tags": "Sa ei jälgi veel ühtegi märksõna. Kui jälgid, ilmuvad need siia.",
|
||||
"empty_column.hashtag": "Selle sildi all ei ole ühtegi postitust.",
|
||||
@@ -862,7 +862,7 @@
|
||||
"status.filter": "Filtreeri seda postitust",
|
||||
"status.history.created": "{name} lõi {date}",
|
||||
"status.history.edited": "{name} muutis {date}",
|
||||
"status.load_more": "Lae rohkem",
|
||||
"status.load_more": "Laadi veel",
|
||||
"status.media.open": "Avamiseks klõpsa",
|
||||
"status.media.show": "Näitamiseks klõpsa",
|
||||
"status.media_hidden": "Meedia peidetud",
|
||||
@@ -884,7 +884,7 @@
|
||||
"status.reblog_private": "Jaga algse nähtavusega",
|
||||
"status.reblogged_by": "{name} jagas",
|
||||
"status.reblogs": "{count, plural, one {jagamine} other {jagamist}}",
|
||||
"status.reblogs.empty": "Keegi pole seda postitust veel jaganud. Kui keegi seda teeb, näeb seda siin.",
|
||||
"status.reblogs.empty": "Keegi pole seda postitust veel jaganud. Kui keegi seda teeb, siis on ta nähtav siin.",
|
||||
"status.redraft": "Kustuta & alga uuesti",
|
||||
"status.remove_bookmark": "Eemalda järjehoidja",
|
||||
"status.remove_favourite": "Eemalda lemmikute seast",
|
||||
@@ -926,11 +926,11 @@
|
||||
"units.short.billion": "{count} mld",
|
||||
"units.short.million": "{count} mln",
|
||||
"units.short.thousand": "{count} tuh",
|
||||
"upload_area.title": "Lohista & aseta üleslaadimiseks",
|
||||
"upload_button.label": "Lisa meedia (JPEG, PNG, GIF, WebM, MP4, MOV)",
|
||||
"upload_error.limit": "Faili üleslaadimise limiit ületatud.",
|
||||
"upload_area.title": "Lohista ja aseta üleslaadimiseks",
|
||||
"upload_button.label": "Lisa pilte, üks video- või helifail",
|
||||
"upload_error.limit": "Faili üleslaadimise piir ületatud.",
|
||||
"upload_error.poll": "Küsitlustes pole faili üleslaadimine lubatud.",
|
||||
"upload_form.drag_and_drop.instructions": "Vajuta tühikut või enterit, et tõsta manus. Lohistamise ajal kasuta nooleklahve, et manust liigutada teatud suunas. Vajuta tühikut või enterit uuesti, et paigutada manus oma uuele kohale, või escape tühistamiseks.",
|
||||
"upload_form.drag_and_drop.instructions": "Manuse valimiseks vajuta tühikut või sisestusklahvi. Lohistamise ajal kasuta nooleklahve, et manust liigutada teatud suunas. Vajuta tühikut või enterit uuesti, et paigutada manus oma uuele kohale, või escape tühistamiseks.",
|
||||
"upload_form.drag_and_drop.on_drag_cancel": "Lohistamine tühistati. Manus {item} on asetatud.",
|
||||
"upload_form.drag_and_drop.on_drag_end": "Manus {item} on asetatud.",
|
||||
"upload_form.drag_and_drop.on_drag_over": "Manus {item} on liigutatud.",
|
||||
@@ -940,7 +940,7 @@
|
||||
"upload_progress.processing": "Töötlen…",
|
||||
"username.taken": "See kasutajanimi on juba kasutusel. Proovi teist",
|
||||
"video.close": "Sulge video",
|
||||
"video.download": "Faili allalaadimine",
|
||||
"video.download": "Laadi fail alla",
|
||||
"video.exit_fullscreen": "Välju täisekraanist",
|
||||
"video.expand": "Suurenda video",
|
||||
"video.fullscreen": "Täisekraan",
|
||||
|
||||
@@ -30,6 +30,7 @@
|
||||
"account.edit_profile": "Editatu profila",
|
||||
"account.enable_notifications": "Jakinarazi @{name} erabiltzaileak argitaratzean",
|
||||
"account.endorse": "Nabarmendu profilean",
|
||||
"account.familiar_followers_many": "Jarraitzaileak: {name1}, {name2} eta beste {othersCount, plural, one {ezagun bat} other {# ezagun}}",
|
||||
"account.familiar_followers_one": "{name1}-k jarraitzen du",
|
||||
"account.familiar_followers_two": "{name1}-k eta {name2}-k jarraitzen dute",
|
||||
"account.featured": "Gailenak",
|
||||
@@ -118,6 +119,8 @@
|
||||
"annual_report.summary.most_used_hashtag.most_used_hashtag": "traola erabiliena",
|
||||
"annual_report.summary.most_used_hashtag.none": "Bat ere ez",
|
||||
"annual_report.summary.new_posts.new_posts": "bidalketa berriak",
|
||||
"annual_report.summary.percentile.text": "<topLabel>Horrek jartzen zaitu top </topLabel> <percentage> </percentage>(e)an <bottomLabel> {domain} erabiltzaileen artean </bottomLabel>",
|
||||
"annual_report.summary.percentile.we_wont_tell_bernie": "Bernieri ez diogu ezer esango ;)..",
|
||||
"annual_report.summary.thanks": "Eskerrik asko Mastodonen parte izateagatik!",
|
||||
"attachments_list.unprocessed": "(prozesatu gabe)",
|
||||
"audio.hide": "Ezkutatu audioa",
|
||||
@@ -216,6 +219,7 @@
|
||||
"confirmations.discard_draft.edit.message": "Jarraitzeak editatzen ari zaren mezuan egindako aldaketak baztertuko ditu.",
|
||||
"confirmations.discard_draft.edit.title": "Baztertu zure argitalpenari egindako aldaketak?",
|
||||
"confirmations.discard_draft.post.cancel": "Zirriborroa berrekin",
|
||||
"confirmations.discard_draft.post.message": "Jarraituz gero, idazten ari zaren sarrera bertan behera geratuko da.",
|
||||
"confirmations.discard_draft.post.title": "Zure argitalpenaren zirriborroa baztertu nahi duzu?",
|
||||
"confirmations.discard_edit_media.confirm": "Baztertu",
|
||||
"confirmations.discard_edit_media.message": "Multimediaren deskribapen edo aurrebistan gorde gabeko aldaketak daude, baztertu nahi dituzu?",
|
||||
@@ -435,6 +439,7 @@
|
||||
"ignore_notifications_modal.not_following_title": "Jarraitzen ez dituzun pertsonen jakinarazpenei ez ikusiarena egin?",
|
||||
"ignore_notifications_modal.private_mentions_title": "Eskatu gabeko aipamen pribatuen jakinarazpenei ez ikusiarena egin?",
|
||||
"info_button.label": "Laguntza",
|
||||
"info_button.what_is_alt_text": "<h1>Zer da Alt testua?</h1><p>Alt testuak irudiak deskribatzeko aukera ematen du, ikusmen-urritasunak, banda-zabalera txikiko konexioak edo testuinguru gehigarria nahi duten pertsonentzat.</p><p>Alt testu argi, zehatz eta objektiboen bidez, guztion irisgarritasuna eta ulermena hobetu ditzakezu.</p><ul><li>Hartu elementu garrantzitsuenak</li><li>Laburbildu irudietako testua</li><li>Erabili esaldien egitura erregularra</li><li>Baztertu informazio erredundantea.</li><li>Enfokatu joeretan eta funtsezko elementuetan irudi konplexuetan (diagrametan edo mapetan, adibidez)</li></ul>",
|
||||
"interaction_modal.action.favourite": "Jarraitzeko, zure kontutik atsegindu behar duzu.",
|
||||
"interaction_modal.action.follow": "Jarraitzeko zure kontutik jarraitu behar duzu.",
|
||||
"interaction_modal.action.reply": "Jarraitzeko zure kontutik erantzun behar duzu.",
|
||||
@@ -569,6 +574,7 @@
|
||||
"notification.admin.sign_up.name_and_others": "{name} eta {count, plural, one {erabiltzaile # gehiago} other {# erabiltzaile gehiago}} erregistratu dira",
|
||||
"notification.favourite": "{name}(e)k zure bidalketa gogoko du",
|
||||
"notification.favourite.name_and_others_with_link": "{name} eta <a>{count, plural, one {erabiltzaile # gehiagok} other {# erabiltzaile gehiagok}}</a> zure bidalketa gogoko dute",
|
||||
"notification.favourite_pm": "{name}-ek zure aipamen pribatua gogokoetan jarri du",
|
||||
"notification.follow": "{name}(e)k jarraitzen dizu",
|
||||
"notification.follow_request": "{name}(e)k zu jarraitzeko eskaera egin du",
|
||||
"notification.follow_request.name_and_others": "{name} eta {count, plural, one {erabiltzaile # gehiagok} other {# erabiltzaile gehiagok}} zu jarraitzeko eskaera egin dute",
|
||||
@@ -902,5 +908,8 @@
|
||||
"video.hide": "Ezkutatu bideoa",
|
||||
"video.pause": "Pausatu",
|
||||
"video.play": "Jo",
|
||||
"video.skip_forward": "Jauzi aurrerantz",
|
||||
"video.unmute": "Soinua ezarri",
|
||||
"video.volume_down": "Bolumena jaitsi",
|
||||
"video.volume_up": "Bolumena Igo"
|
||||
}
|
||||
|
||||
@@ -39,11 +39,11 @@
|
||||
"account.featured_tags.last_status_at": "آخرین فرسته در {date}",
|
||||
"account.featured_tags.last_status_never": "بدون فرسته",
|
||||
"account.follow": "پیگرفتن",
|
||||
"account.follow_back": "دنبال کردن متقابل",
|
||||
"account.follow_back": "پیگیری متقابل",
|
||||
"account.followers": "پیگیرندگان",
|
||||
"account.followers.empty": "هنوز کسی پیگیر این کاربر نیست.",
|
||||
"account.followers_counter": "{count, plural, one {{counter} پیگیرنده} other {{counter} پیگیرنده}}",
|
||||
"account.followers_you_know_counter": "{counter} را میشناسید",
|
||||
"account.followers_you_know_counter": "{counter} نفر را میشناسید",
|
||||
"account.following": "پی میگیرید",
|
||||
"account.following_counter": "{count, plural, one {{counter} پیگرفته} other {{counter} پیگرفته}}",
|
||||
"account.follows.empty": "این کاربر هنوز پیگیر کسی نیست.",
|
||||
@@ -62,7 +62,7 @@
|
||||
"account.mute_notifications_short": "خموشی آگاهیها",
|
||||
"account.mute_short": "خموشی",
|
||||
"account.muted": "خموش",
|
||||
"account.muting": "خموش کرده",
|
||||
"account.muting": "خموشش کردهاید",
|
||||
"account.mutual": "یکدیگر را پی میگیرید",
|
||||
"account.no_bio": "شرحی فراهم نشده.",
|
||||
"account.open_original_page": "گشودن صفحهٔ اصلی",
|
||||
@@ -129,14 +129,14 @@
|
||||
"annual_report.summary.thanks": "سپاس که بخشی از ماستودون هستید!",
|
||||
"attachments_list.unprocessed": "(پردازش نشده)",
|
||||
"audio.hide": "نهفتن صدا",
|
||||
"block_modal.remote_users_caveat": "ما از کارساز {domain} خواهیم خواست که به تصمیم شما احترام بگذارد. با این حال، تضمینی برای رعایت آن وجود ندارد زیرا برخی کارسازها ممکن است بلوکها را بهطور متفاوتی مدیریت کنند. فرستههای عمومی ممکن است همچنان برای کاربران که وارد نشده قابل مشاهده باشند.",
|
||||
"block_modal.remote_users_caveat": "از کارساز {domain} خواهیم خواست که به تصمیمتان احترام بگذارد. با این حال تضمینی برای رعایتش وجود ندارد؛ زیرا برخی کارسازها ممکن است مسدودی را متفاوت مدیریت کنند. ممکن است فرستههای عمومی همچنان برای کاربران وارد نشده نمایان باشند.",
|
||||
"block_modal.show_less": "نمایش کمتر",
|
||||
"block_modal.show_more": "نمایش بیشتر",
|
||||
"block_modal.they_cant_mention": "نمیتوانند نامتان را برده یا پیتان بگیرند.",
|
||||
"block_modal.they_cant_see_posts": "نمیتوانند فرستههایتان را دیده و فرستههایشان را نمیبینید.",
|
||||
"block_modal.they_will_know": "میتوانند ببینند که مسدود شدهاند.",
|
||||
"block_modal.they_cant_mention": "نمیتواند نامتان را برده یا پیتان بگیرد.",
|
||||
"block_modal.they_cant_see_posts": "نمیتواند فرستههایتان را ببیند و فرستههایش را نمیبینید.",
|
||||
"block_modal.they_will_know": "میتواند ببینند که مسدود شده.",
|
||||
"block_modal.title": "انسداد کاربر؟",
|
||||
"block_modal.you_wont_see_mentions": "فرستههایی که از اون نام برده را نخواهید دید.",
|
||||
"block_modal.you_wont_see_mentions": "فرستههایی که به او اشاره کردهاند را نخواهید دید.",
|
||||
"boost_modal.combo": "دکمهٔ {combo} را بزنید تا دیگر این را نبینید",
|
||||
"boost_modal.reblog": "تقویت فرسته؟",
|
||||
"boost_modal.undo_reblog": "ناتقویت فرسته؟",
|
||||
@@ -235,7 +235,7 @@
|
||||
"confirmations.logout.message": "مطمئنید میخواهید خارج شوید؟",
|
||||
"confirmations.logout.title": "خروج؟",
|
||||
"confirmations.missing_alt_text.confirm": "متن جایگزین را اضافه کنید",
|
||||
"confirmations.missing_alt_text.message": "پست شما حاوی رسانه بدون متن جایگزین است. افزودن توضیحات کمک می کند تا محتوای شما برای افراد بیشتری قابل دسترسی باشد.",
|
||||
"confirmations.missing_alt_text.message": "فرستهتان رسانههایی بدون متن جایگزین دارد. افزودن شرح به دسترسپذیر شدن محتوایتان برای افراد بیشتری کمک میکند.",
|
||||
"confirmations.missing_alt_text.secondary": "به هر حال پست کن",
|
||||
"confirmations.missing_alt_text.title": "متن جایگزین اضافه شود؟",
|
||||
"confirmations.mute.confirm": "خموش",
|
||||
@@ -269,9 +269,9 @@
|
||||
"dismissable_banner.public_timeline": "اینها جدیدترین فرستههای عمومی از افرادی روی وب اجتماعیند که اعضای {domain} پی میگیرندشان.",
|
||||
"domain_block_modal.block": "انسداد کارساز",
|
||||
"domain_block_modal.block_account_instead": "انسداد @{name} به جایش",
|
||||
"domain_block_modal.they_can_interact_with_old_posts": "افزارد روی این کراساز میتوانند با فرستههای قدیمیتان تعامل داشته باشند.",
|
||||
"domain_block_modal.they_can_interact_with_old_posts": "افزارد روی این کارساز میتوانند با فرستههای قدیمیتان تعامل داشته باشند.",
|
||||
"domain_block_modal.they_cant_follow": "هیچکسی از این کارساز نمیتواند پیتان بگیرد.",
|
||||
"domain_block_modal.they_wont_know": "نخواهند دانست که مسدود شدهاند.",
|
||||
"domain_block_modal.they_wont_know": "نخواهد دانست که مسدود شده.",
|
||||
"domain_block_modal.title": "انسداد دامنه؟",
|
||||
"domain_block_modal.you_will_lose_num_followers": "شما {followersCount, plural, one {{followersCountDisplay} پیگیرنده} other {{followersCountDisplay} پیگیرنده}} و {followingCount, plural, one {{followingCountDisplay} فرد پیگرفتهشده} other {{followingCountDisplay} فرد پیگرفتهشده}} را از دست خواهید داد.",
|
||||
"domain_block_modal.you_will_lose_relationships": "شما تمام پیگیرکنندگان و افرادی که از این کارساز پیگیری میکنید را از دست خواهید داد.",
|
||||
@@ -426,7 +426,7 @@
|
||||
"hints.profiles.see_more_posts": "دیدن فرستههای بیشتر روی {domain}",
|
||||
"hints.threads.replies_may_be_missing": "شاید پاسخها از دیگر کارسازها نباشند.",
|
||||
"hints.threads.see_more": "دیدن پاسخهای بیشتر روی {domain}",
|
||||
"home.column_settings.show_quotes": "نمایش نقلقولها",
|
||||
"home.column_settings.show_quotes": "نمایش نقلها",
|
||||
"home.column_settings.show_reblogs": "نمایش تقویتها",
|
||||
"home.column_settings.show_replies": "نمایش پاسخها",
|
||||
"home.hide_announcements": "نهفتن اعلامیهها",
|
||||
@@ -543,11 +543,11 @@
|
||||
"mute_modal.hide_options": "گزینههای نهفتن",
|
||||
"mute_modal.indefinite": "تا وقتی ناخموشش کنم",
|
||||
"mute_modal.show_options": "نمایش گزینهها",
|
||||
"mute_modal.they_can_mention_and_follow": "میتوانند به شما اشاره کرده و پیتان بگیرند، ولی نخواهید دیدشان.",
|
||||
"mute_modal.they_wont_know": "نخواهند دانست که خموش شدهاند.",
|
||||
"mute_modal.they_can_mention_and_follow": "میتواند به شما اشاره کرده و پیتان بگیرد؛ ولی نخواهید دیدش.",
|
||||
"mute_modal.they_wont_know": "نخواهد دانست که خموش شده.",
|
||||
"mute_modal.title": "خموشی کاربر؟",
|
||||
"mute_modal.you_wont_see_mentions": "فرستههایی که به او اشاره کردهاند را نخواهید دید.",
|
||||
"mute_modal.you_wont_see_posts": "هنوز میتوانند فرستههایتان را ببینند، ولی فرستههایشان را نمیبینید.",
|
||||
"mute_modal.you_wont_see_posts": "همچنان میتواند فرستههایتان را ببینند؛ ولی فرستههایش را نمیبینید.",
|
||||
"navigation_bar.about": "درباره",
|
||||
"navigation_bar.account_settings": "گذرواژه و امنیت",
|
||||
"navigation_bar.administration": "مدیریت",
|
||||
@@ -687,7 +687,7 @@
|
||||
"notifications.policy.filter_limited_accounts_title": "حسابهای مدیریت شده",
|
||||
"notifications.policy.filter_new_accounts.hint": "ساخته شده در {days, plural, one {یک} other {#}} روز اخیر",
|
||||
"notifications.policy.filter_new_accounts_title": "حسابهای جدید",
|
||||
"notifications.policy.filter_not_followers_hint": "از جمله کسانی که کمتر از {days, plural, one {یک} other {#}} روز است پیتان میگیرند",
|
||||
"notifications.policy.filter_not_followers_hint": "از جمله کسانی که کمتر از {days, plural, one {یک} other {#}} روز است پیتان میگیرند",
|
||||
"notifications.policy.filter_not_followers_title": "کسانی که شما را دنبال میکنند",
|
||||
"notifications.policy.filter_not_following_hint": "تا به صورت دستی تأییدشان کنید",
|
||||
"notifications.policy.filter_not_following_title": "کسانی که پی نمیگیرید",
|
||||
@@ -756,7 +756,7 @@
|
||||
"reply_indicator.cancel": "لغو",
|
||||
"reply_indicator.poll": "نظرسنجی",
|
||||
"report.block": "انسداد",
|
||||
"report.block_explanation": "شما فرستههایشان را نخواهید دید. آنها نمیتوانند فرستههایتان را ببینند یا شما را پیبگیرند. آنها میتوانند بگویند که مسدود شدهاند.",
|
||||
"report.block_explanation": "فرستههایش را نخواهید دید. نخواهد توانست فرستههایتان را دیده یا پیتان بگیرد. قادر است تشخیص دهد مسدود شده.",
|
||||
"report.categories.legal": "حقوقی",
|
||||
"report.categories.other": "غیره",
|
||||
"report.categories.spam": "هرزنامه",
|
||||
@@ -770,7 +770,7 @@
|
||||
"report.forward": "فرستادن به {target}",
|
||||
"report.forward_hint": "این حساب در کارساز دیگری ثبت شده. آیا میخواهید رونوشتی ناشناس از این گزارش به آنجا هم فرستاده شود؟",
|
||||
"report.mute": "خموش",
|
||||
"report.mute_explanation": "شما فرستههای آنها را نخواهید دید. آنها همچنان میتوانند شما را پیبگیرند و فرستههایتان را ببینند و نمیدانند که خموش شدهاند.",
|
||||
"report.mute_explanation": "فرستههایش را نخواهید دید. همچنان خواهد توانست پیتان گرفته و فرستههایتان را ببیند. نخواهد دانست که خموش شده.",
|
||||
"report.next": "بعدی",
|
||||
"report.placeholder": "توضیحات اضافه",
|
||||
"report.reasons.dislike": "من آن را دوست ندارم",
|
||||
@@ -875,10 +875,10 @@
|
||||
"status.quote_error.filtered": "نهفته بنا بر یکی از پالایههایتان",
|
||||
"status.quote_error.not_found": "این فرسته قابل نمایش نیست.",
|
||||
"status.quote_error.pending_approval": "این فرسته منظر تأیید نگارندهٔ اصلی است.",
|
||||
"status.quote_error.rejected": "از آنجا که نگارندهٔ اصلی فرسته اجازهٔ نقل قولش را نمیدهد این فرسته قابل نمایش نیست.",
|
||||
"status.quote_error.rejected": "از آنجا که نگارندهٔ اصلی این فرسته اجازهٔ نقلش را نمیدهد قابل نمایش نیست.",
|
||||
"status.quote_error.removed": "این فرسته به دست نگارندهاش برداشته شده.",
|
||||
"status.quote_error.unauthorized": "از آنجا که اجازهٔ دیدن این فرسته را ندارید قابل نمایش نیست.",
|
||||
"status.quote_post_author": "فرسته توسط {name}",
|
||||
"status.quote_post_author": "پست شده توسط {name}",
|
||||
"status.read_more": "بیشتر بخوانید",
|
||||
"status.reblog": "تقویت",
|
||||
"status.reblog_private": "تقویت برای مخاطبان نخستین",
|
||||
|
||||
@@ -311,7 +311,7 @@
|
||||
"empty_column.account_featured_other.unknown": "Tämä tili ei suosittele vielä mitään.",
|
||||
"empty_column.account_hides_collections": "Käyttäjä on päättänyt pitää nämä tiedot yksityisinä",
|
||||
"empty_column.account_suspended": "Tili jäädytetty",
|
||||
"empty_column.account_timeline": "Ei viestejä täällä.",
|
||||
"empty_column.account_timeline": "Ei julkaisuja täällä!",
|
||||
"empty_column.account_unavailable": "Profiilia ei ole saatavilla",
|
||||
"empty_column.blocks": "Et ole vielä estänyt käyttäjiä.",
|
||||
"empty_column.bookmarked_statuses": "Et ole vielä lisännyt julkaisuja kirjanmerkkeihisi. Kun lisäät yhden, se näkyy tässä.",
|
||||
@@ -734,7 +734,7 @@
|
||||
"privacy.public.short": "Julkinen",
|
||||
"privacy.unlisted.additional": "Tämä toimii muuten kuin julkinen, mutta julkaisut eivät näy livesyöte-, aihetunniste- tai selausnäkymissä eivätkä Mastodonin hakutuloksissa, vaikka ne olisivat käyttäjätililläsi yleisesti sallittuina.",
|
||||
"privacy.unlisted.long": "Vähemmän algoritmiperusteista sisältöä",
|
||||
"privacy.unlisted.short": "Vaivihkaisesti julkinen",
|
||||
"privacy.unlisted.short": "Vaivihkaa julkinen",
|
||||
"privacy_policy.last_updated": "Päivitetty viimeksi {date}",
|
||||
"privacy_policy.title": "Tietosuojakäytäntö",
|
||||
"recommended": "Suositellaan",
|
||||
@@ -756,7 +756,7 @@
|
||||
"reply_indicator.cancel": "Peruuta",
|
||||
"reply_indicator.poll": "Äänestys",
|
||||
"report.block": "Estä",
|
||||
"report.block_explanation": "Et näe hänen viestejään, eikä hän voi nähdä viestejäsi tai seurata sinua. Hän näkee, että olet estänyt hänet.",
|
||||
"report.block_explanation": "Et näe hänen julkaisujaan. Hän ei voi nähdä julkaisujasi eikä seurata sinua. Hän näkee, että olet estänyt hänet.",
|
||||
"report.categories.legal": "Lakiseikat",
|
||||
"report.categories.other": "Muu",
|
||||
"report.categories.spam": "Roskaposti",
|
||||
|
||||
@@ -26,6 +26,9 @@
|
||||
"account.edit_profile": "Baguhin ang profile",
|
||||
"account.enable_notifications": "Ipaalam sa akin kapag nag-post si @{name}",
|
||||
"account.endorse": "I-tampok sa profile",
|
||||
"account.familiar_followers_many": "Sinusundan nina {name1}, {name2}, at {othersCount, plural, one {# iba pa na kilala mo} other {# na iba pa na kilala mo}}",
|
||||
"account.familiar_followers_one": "Sinusindan ni/ng {name1}",
|
||||
"account.familiar_followers_two": "Sinusindan nina {name1} at {name2}",
|
||||
"account.featured": "Itinatampok",
|
||||
"account.featured_tags.last_status_at": "Huling post noong {date}",
|
||||
"account.featured_tags.last_status_never": "Walang mga post",
|
||||
@@ -34,9 +37,11 @@
|
||||
"account.followers": "Mga tagasunod",
|
||||
"account.followers.empty": "Wala pang sumusunod sa tagagamit na ito.",
|
||||
"account.followers_counter": "{count, plural, one {{counter} tagasunod} other {{counter} tagasunod}}",
|
||||
"account.followers_you_know_counter": "{counter} (na) kilala mo",
|
||||
"account.following": "Sinusundan",
|
||||
"account.following_counter": "{count, plural, one {{counter} sinusundan} other {{counter} sinusundan}}",
|
||||
"account.follows.empty": "Wala pang sinusundan ang tagagamit na ito.",
|
||||
"account.follows_you": "Sinusundan ka",
|
||||
"account.go_to_profile": "Pumunta sa profile",
|
||||
"account.hide_reblogs": "Itago ang mga pagpapalakas mula sa {name}",
|
||||
"account.in_memoriam": "Sa Alaala Ni.",
|
||||
@@ -127,12 +132,14 @@
|
||||
"compose_form.reply": "Tumugon",
|
||||
"compose_form.spoiler.marked": "Tanggalin ang babala sa nilalaman",
|
||||
"compose_form.spoiler.unmarked": "Idagdag ang babala sa nilalaman",
|
||||
"compose_form.spoiler_placeholder": "Babala sa nilalaman (hindi kinailangan)",
|
||||
"confirmation_modal.cancel": "Pagpaliban",
|
||||
"confirmations.block.confirm": "Harangan",
|
||||
"confirmations.delete.message": "Sigurado ka bang gusto mong burahin ang post na ito?",
|
||||
"confirmations.delete_list.confirm": "Tanggalin",
|
||||
"confirmations.delete_list.message": "Sigurado ka bang gusto mong burahin ang listahang ito?",
|
||||
"confirmations.discard_edit_media.confirm": "Ipagpaliban",
|
||||
"content_warning.hide": "Itago ang post",
|
||||
"content_warning.show_more": "Magpakita ng higit pa",
|
||||
"conversation.mark_as_read": "Markahan bilang nabasa na",
|
||||
"conversation.open": "Tingnan ang pag-uusap",
|
||||
@@ -255,6 +262,8 @@
|
||||
"notification.mentioned_you": "Binanggit ka ni {name}",
|
||||
"notification.moderation-warning.learn_more": "Matuto nang higit pa",
|
||||
"notification.moderation_warning": "Mayroong kang natanggap na babala sa pagtitimpi",
|
||||
"notification.reblog": "Pinalakas ang iyong post ni {name}",
|
||||
"notification.reblog.name_and_others_with_link": "Pinalakas ang iyong post ni/ng {name} at <a>{count, plural,one {# iba pa} other {# na iba pa}}</a>",
|
||||
"notification.relationships_severance_event.learn_more": "Matuto nang higit pa",
|
||||
"notification_requests.accept": "Tanggapin",
|
||||
"notification_requests.maximize": "Palakihin",
|
||||
@@ -342,6 +351,7 @@
|
||||
"search_results.see_all": "Ipakita lahat",
|
||||
"server_banner.server_stats": "Katayuan ng serbiro:",
|
||||
"status.block": "Harangan si @{name}",
|
||||
"status.cannot_reblog": "Hindi maaring mapalakas ang post na ito",
|
||||
"status.delete": "Tanggalin",
|
||||
"status.direct": "Palihim na banggitin si/ang @{name}",
|
||||
"status.direct_indicator": "Palihim na banggit",
|
||||
@@ -354,6 +364,7 @@
|
||||
"status.mention": "Banggitin ang/si @{name}",
|
||||
"status.more": "Higit pa",
|
||||
"status.read_more": "Basahin ang higit pa",
|
||||
"status.reblogged_by": "Pinapalakas ni/ng {name}",
|
||||
"status.reblogs.empty": "Wala pang nagpalakas ng post na ito. Kung may sinumang nagpalakas, makikita sila rito.",
|
||||
"status.remove_favourite": "Tanggalin sa mga paborito",
|
||||
"status.reply": "Tumugon",
|
||||
|
||||
@@ -551,7 +551,7 @@
|
||||
"navigation_bar.account_settings": "Mot de passe et sécurité",
|
||||
"navigation_bar.administration": "Administration",
|
||||
"navigation_bar.advanced_interface": "Ouvrir dans l’interface avancée",
|
||||
"navigation_bar.automated_deletion": "Suppression automatique du message",
|
||||
"navigation_bar.automated_deletion": "Suppression automatique de messages",
|
||||
"navigation_bar.blocks": "Comptes bloqués",
|
||||
"navigation_bar.bookmarks": "Signets",
|
||||
"navigation_bar.direct": "Mention privée",
|
||||
@@ -800,6 +800,7 @@
|
||||
"report_notification.categories.violation": "Infraction aux règles du serveur",
|
||||
"report_notification.categories.violation_sentence": "infraction de règle",
|
||||
"report_notification.open": "Ouvrir le signalement",
|
||||
"search.clear": "Effacer la recherche",
|
||||
"search.no_recent_searches": "Aucune recherche récente",
|
||||
"search.placeholder": "Rechercher",
|
||||
"search.quick_action.account_search": "Profils correspondant à {x}",
|
||||
@@ -866,6 +867,10 @@
|
||||
"status.mute_conversation": "Masquer la conversation",
|
||||
"status.open": "Afficher la publication entière",
|
||||
"status.pin": "Épingler sur profil",
|
||||
"status.quote_error.filtered": "Caché en raison de l'un de vos filtres",
|
||||
"status.quote_error.not_found": "La publication ne peut pas être affichée.",
|
||||
"status.quote_error.pending_approval": "La publication est en attente de validation par l'auteur·ice original⋅e.",
|
||||
"status.quote_error.rejected": "La publication ne peut pas être affichée car l'auteur·ice original⋅e n'autorise pas la citation.",
|
||||
"status.quote_error.removed": "Ce message a été retiré par son auteur·ice.",
|
||||
"status.quote_error.unauthorized": "Ce message ne peut pas être affiché car vous n'êtes pas autorisé·e à le voir.",
|
||||
"status.quote_post_author": "Message par {name}",
|
||||
@@ -938,6 +943,7 @@
|
||||
"video.mute": "Couper le son",
|
||||
"video.pause": "Pause",
|
||||
"video.play": "Lecture",
|
||||
"video.skip_backward": "Revenir en arrière",
|
||||
"video.unmute": "Rétablir le son",
|
||||
"video.volume_down": "Baisser le volume",
|
||||
"video.volume_up": "Augmenter le volume"
|
||||
|
||||
@@ -551,7 +551,7 @@
|
||||
"navigation_bar.account_settings": "Mot de passe et sécurité",
|
||||
"navigation_bar.administration": "Administration",
|
||||
"navigation_bar.advanced_interface": "Ouvrir dans l’interface avancée",
|
||||
"navigation_bar.automated_deletion": "Suppression automatique du message",
|
||||
"navigation_bar.automated_deletion": "Suppression automatique de messages",
|
||||
"navigation_bar.blocks": "Comptes bloqués",
|
||||
"navigation_bar.bookmarks": "Marque-pages",
|
||||
"navigation_bar.direct": "Mention privée",
|
||||
@@ -800,6 +800,7 @@
|
||||
"report_notification.categories.violation": "Infraction aux règles du serveur",
|
||||
"report_notification.categories.violation_sentence": "infraction de règle",
|
||||
"report_notification.open": "Ouvrir le signalement",
|
||||
"search.clear": "Effacer la recherche",
|
||||
"search.no_recent_searches": "Aucune recherche récente",
|
||||
"search.placeholder": "Rechercher",
|
||||
"search.quick_action.account_search": "Profils correspondant à {x}",
|
||||
@@ -866,6 +867,10 @@
|
||||
"status.mute_conversation": "Masquer la conversation",
|
||||
"status.open": "Afficher le message entier",
|
||||
"status.pin": "Épingler sur le profil",
|
||||
"status.quote_error.filtered": "Caché en raison de l'un de vos filtres",
|
||||
"status.quote_error.not_found": "La publication ne peut pas être affichée.",
|
||||
"status.quote_error.pending_approval": "La publication est en attente de validation par l'auteur·ice original⋅e.",
|
||||
"status.quote_error.rejected": "La publication ne peut pas être affichée car l'auteur·ice original⋅e n'autorise pas la citation.",
|
||||
"status.quote_error.removed": "Ce message a été retiré par son auteur·ice.",
|
||||
"status.quote_error.unauthorized": "Ce message ne peut pas être affiché car vous n'êtes pas autorisé·e à le voir.",
|
||||
"status.quote_post_author": "Message par {name}",
|
||||
@@ -938,6 +943,7 @@
|
||||
"video.mute": "Couper le son",
|
||||
"video.pause": "Pause",
|
||||
"video.play": "Lecture",
|
||||
"video.skip_backward": "Revenir en arrière",
|
||||
"video.unmute": "Rétablir le son",
|
||||
"video.volume_down": "Baisser le volume",
|
||||
"video.volume_up": "Augmenter le volume"
|
||||
|
||||
@@ -564,6 +564,8 @@
|
||||
"navigation_bar.follows_and_followers": "Folgers en folgjenden",
|
||||
"navigation_bar.import_export": "Ymportearje en eksportearje",
|
||||
"navigation_bar.lists": "Listen",
|
||||
"navigation_bar.live_feed_local": "Livefeed (lokaal)",
|
||||
"navigation_bar.live_feed_public": "Livefeed (iepenbier)",
|
||||
"navigation_bar.logout": "Ofmelde",
|
||||
"navigation_bar.moderation": "Moderaasje",
|
||||
"navigation_bar.more": "Mear",
|
||||
@@ -803,6 +805,7 @@
|
||||
"report_notification.categories.violation": "Skeinde regels",
|
||||
"report_notification.categories.violation_sentence": "skeinde regels",
|
||||
"report_notification.open": "Rapport iepenje",
|
||||
"search.clear": "Sykopdracht wiskje",
|
||||
"search.no_recent_searches": "Gjin resinte sykopdrachten",
|
||||
"search.placeholder": "Sykje",
|
||||
"search.quick_action.account_search": "Accounts dy’t oerienkomme mei {x}",
|
||||
|
||||
@@ -734,7 +734,7 @@
|
||||
"privacy.public.short": "Público",
|
||||
"privacy.unlisted.additional": "Do mesmo xeito que público, menos que a publicación non aparecerá nas cronoloxías en directo ou nos cancelos, en descubrir ou nas buscas de Mastodon, incluso se estivese establecido nas opcións xerais da conta.",
|
||||
"privacy.unlisted.long": "Menor implicación dos algoritmos",
|
||||
"privacy.unlisted.short": "Público limitado",
|
||||
"privacy.unlisted.short": "Pública limitada",
|
||||
"privacy_policy.last_updated": "Actualizado por última vez no {date}",
|
||||
"privacy_policy.title": "Política de Privacidade",
|
||||
"recommended": "Aconsellable",
|
||||
|
||||
@@ -346,7 +346,7 @@
|
||||
"featured_carousel.post": "הודעה",
|
||||
"featured_carousel.previous": "הקודם",
|
||||
"featured_carousel.slide": "{index} מתוך {total}",
|
||||
"filter_modal.added.context_mismatch_explanation": "קטגוריית המסנן הזאת לא חלה על ההקשר שממנו הגעת אל ההודעה הזו. אם תרצה/י שההודעה תסונן גם בהקשר זה, תצטרך/י לערוך את הסנן.",
|
||||
"filter_modal.added.context_mismatch_explanation": "קטגוריית הסנן הזאת לא חלה על ההקשר שממנו הגעת אל ההודעה הזו. אם תרצה/י שההודעה תסונן גם בהקשר זה, תצטרך/י לערוך את הסנן.",
|
||||
"filter_modal.added.context_mismatch_title": "אין התאמה להקשר!",
|
||||
"filter_modal.added.expired_explanation": "פג תוקפה של קטגוריית הסינון הזו, יש צורך לשנות את תאריך התפוגה כדי שהסינון יוחל.",
|
||||
"filter_modal.added.expired_title": "פג תוקף המסנן!",
|
||||
@@ -862,7 +862,7 @@
|
||||
"status.filter": "סנן הודעה זו",
|
||||
"status.history.created": "{name} יצר/ה {date}",
|
||||
"status.history.edited": "{name} ערך/ה {date}",
|
||||
"status.load_more": "עוד",
|
||||
"status.load_more": "טען עוד",
|
||||
"status.media.open": "לחץ לפתיחה",
|
||||
"status.media.show": "לחץ להצגה",
|
||||
"status.media_hidden": "מדיה מוסתרת",
|
||||
@@ -881,7 +881,7 @@
|
||||
"status.quote_post_author": "פרסום מאת {name}",
|
||||
"status.read_more": "לקרוא עוד",
|
||||
"status.reblog": "הדהוד",
|
||||
"status.reblog_private": "להדהד ברמת הנראות המקורית",
|
||||
"status.reblog_private": "להדהד ברמת החשיפה המקורית",
|
||||
"status.reblogged_by": "{name} הידהד/ה:",
|
||||
"status.reblogs": "{count, plural, one {הדהוד אחד} two {שני הדהודים} other {# הדהודים}}",
|
||||
"status.reblogs.empty": "עוד לא הידהדו את ההודעה הזו. כאשר זה יקרה, ההדהודים יופיעו כאן.",
|
||||
|
||||
@@ -1,6 +1,7 @@
|
||||
{
|
||||
"about.blocks": "Servitores moderate",
|
||||
"about.contact": "Contacto:",
|
||||
"about.default_locale": "Default",
|
||||
"about.disclaimer": "Mastodon es software libere, de codice aperte, e un marca de Mastodon gGmbH.",
|
||||
"about.domain_blocks.no_reason_available": "Ration non disponibile",
|
||||
"about.domain_blocks.preamble": "Mastodon generalmente permitte vider le contento de, e interager con, usatores de qualcunque altere servitor in le fediverso. Istes es le exceptiones que ha essite facite sur iste servitor particular.",
|
||||
@@ -8,6 +9,7 @@
|
||||
"about.domain_blocks.silenced.title": "Limitate",
|
||||
"about.domain_blocks.suspended.explanation": "Nulle datos de iste servitor essera processate, immagazinate o excambiate, rendente omne interaction o communication con usatores de iste servitor impossibile.",
|
||||
"about.domain_blocks.suspended.title": "Suspendite",
|
||||
"about.language_label": "Lingua",
|
||||
"about.not_available": "Iste information non ha essite rendite disponibile sur iste servitor.",
|
||||
"about.powered_by": "Rete social decentralisate, actionate per {mastodon}",
|
||||
"about.rules": "Regulas del servitor",
|
||||
@@ -41,6 +43,7 @@
|
||||
"account.followers": "Sequitores",
|
||||
"account.followers.empty": "Necuno seque ancora iste usator.",
|
||||
"account.followers_counter": "{count, plural, one {{counter} sequitor} other {{counter} sequitores}}",
|
||||
"account.followers_you_know_counter": "{counter} que tu cognosce",
|
||||
"account.following": "Sequente",
|
||||
"account.following_counter": "{count, plural, one {{counter} sequite} other {{counter} sequites}}",
|
||||
"account.follows.empty": "Iste usator non seque ancora alcuno.",
|
||||
@@ -216,6 +219,13 @@
|
||||
"confirmations.delete_list.confirm": "Deler",
|
||||
"confirmations.delete_list.message": "Es tu secur que tu vole deler permanentemente iste lista?",
|
||||
"confirmations.delete_list.title": "Deler lista?",
|
||||
"confirmations.discard_draft.confirm": "Discartar e continuar",
|
||||
"confirmations.discard_draft.edit.cancel": "Reprender le modification",
|
||||
"confirmations.discard_draft.edit.message": "Si tu continua, tu perdera tote le modificatione que tu ha apportate al message que tu modifica in iste momento.",
|
||||
"confirmations.discard_draft.edit.title": "Discartar le modificationes de tu message?",
|
||||
"confirmations.discard_draft.post.cancel": "Retornar al esbosso",
|
||||
"confirmations.discard_draft.post.message": "Si tu continua, tu perdera le message que tu compone in iste momento.",
|
||||
"confirmations.discard_draft.post.title": "Discartar tu esbosso de message?",
|
||||
"confirmations.discard_edit_media.confirm": "Abandonar",
|
||||
"confirmations.discard_edit_media.message": "Tu ha cambiamentos non salvate in le description o previsualisation del objecto multimedial. Abandonar los?",
|
||||
"confirmations.follow_to_list.confirm": "Sequer e adder al lista",
|
||||
@@ -296,6 +306,8 @@
|
||||
"emoji_button.search_results": "Resultatos de recerca",
|
||||
"emoji_button.symbols": "Symbolos",
|
||||
"emoji_button.travel": "Viages e locos",
|
||||
"empty_column.account_featured.me": "Tu non ha ancora mittite alcun cosa in evidentia. Sapeva tu que tu pote mitter in evidentia sur tu profilo le hashtags que tu usa le plus e mesmo le contos de tu amicos?",
|
||||
"empty_column.account_featured.other": "{acct} non ha ancora mittite alcun cosa in evidentia. Sapeva tu que tu pote mitter in evidentia sur tu profilo le hashtags que tu usa le plus e mesmo le contos de tu amicos?",
|
||||
"empty_column.account_featured_other.unknown": "Iste conto non ha ancora mittite alcun cosa in evidentia.",
|
||||
"empty_column.account_hides_collections": "Le usator non ha rendite iste information disponibile",
|
||||
"empty_column.account_suspended": "Conto suspendite",
|
||||
@@ -325,9 +337,15 @@
|
||||
"errors.unexpected_crash.copy_stacktrace": "Copiar le traciamento del pila al area de transferentia",
|
||||
"errors.unexpected_crash.report_issue": "Reportar problema",
|
||||
"explore.suggested_follows": "Personas",
|
||||
"explore.title": "In tendentia",
|
||||
"explore.trending_links": "Novas",
|
||||
"explore.trending_statuses": "Messages",
|
||||
"explore.trending_tags": "Hashtags",
|
||||
"featured_carousel.header": "{count, plural, one {Message fixate} other {Messages fixate}}",
|
||||
"featured_carousel.next": "Sequente",
|
||||
"featured_carousel.post": "Message",
|
||||
"featured_carousel.previous": "Precedente",
|
||||
"featured_carousel.slide": "{index} de {total}",
|
||||
"filter_modal.added.context_mismatch_explanation": "Iste categoria de filtros non se applica al contexto in le qual tu ha accedite a iste message. Pro filtrar le message in iste contexto tamben, modifica le filtro.",
|
||||
"filter_modal.added.context_mismatch_title": "Contexto incoherente!",
|
||||
"filter_modal.added.expired_explanation": "Iste categoria de filtros ha expirate. Tu debe modificar le data de expiration pro applicar lo.",
|
||||
@@ -380,6 +398,8 @@
|
||||
"generic.saved": "Salvate",
|
||||
"getting_started.heading": "Prime passos",
|
||||
"hashtag.admin_moderation": "Aperir le interfacie de moderation pro #{name}",
|
||||
"hashtag.browse": "Percurrer messages in #{hashtag}",
|
||||
"hashtag.browse_from_account": "Percurrer le messages de @{name} in #{hashtag}",
|
||||
"hashtag.column_header.tag_mode.all": "e {additional}",
|
||||
"hashtag.column_header.tag_mode.any": "o {additional}",
|
||||
"hashtag.column_header.tag_mode.none": "sin {additional}",
|
||||
@@ -396,7 +416,7 @@
|
||||
"hashtag.follow": "Sequer hashtag",
|
||||
"hashtag.mute": "Silentiar #{hashtag}",
|
||||
"hashtag.unfeature": "Non evidentiar sur le profilo",
|
||||
"hashtag.unfollow": "Non sequer plus le hashtag",
|
||||
"hashtag.unfollow": "Non plus sequer le hashtag",
|
||||
"hashtags.and_other": "…e {count, plural, one {un altere} other {# alteres}}",
|
||||
"hints.profiles.followers_may_be_missing": "Le sequitores de iste profilo pote mancar.",
|
||||
"hints.profiles.follows_may_be_missing": "Le profilos sequite per iste profilo pote mancar.",
|
||||
@@ -406,6 +426,7 @@
|
||||
"hints.profiles.see_more_posts": "Vider plus de messages sur {domain}",
|
||||
"hints.threads.replies_may_be_missing": "Responsas de altere servitores pote mancar.",
|
||||
"hints.threads.see_more": "Vider plus de responsas sur {domain}",
|
||||
"home.column_settings.show_quotes": "Monstrar citationes",
|
||||
"home.column_settings.show_reblogs": "Monstrar impulsos",
|
||||
"home.column_settings.show_replies": "Monstrar responsas",
|
||||
"home.hide_announcements": "Celar annuncios",
|
||||
@@ -528,8 +549,10 @@
|
||||
"mute_modal.you_wont_see_mentions": "Tu non videra le messages que mentiona iste persona.",
|
||||
"mute_modal.you_wont_see_posts": "Iste persona pote totevia vider tu messages, ma tu non videra le sues.",
|
||||
"navigation_bar.about": "A proposito",
|
||||
"navigation_bar.account_settings": "Contrasigno e securitate",
|
||||
"navigation_bar.administration": "Administration",
|
||||
"navigation_bar.advanced_interface": "Aperir in le interfacie web avantiate",
|
||||
"navigation_bar.automated_deletion": "Deletion automatic del message",
|
||||
"navigation_bar.blocks": "Usatores blocate",
|
||||
"navigation_bar.bookmarks": "Marcapaginas",
|
||||
"navigation_bar.direct": "Mentiones private",
|
||||
@@ -539,13 +562,23 @@
|
||||
"navigation_bar.follow_requests": "Requestas de sequimento",
|
||||
"navigation_bar.followed_tags": "Hashtags sequite",
|
||||
"navigation_bar.follows_and_followers": "Sequites e sequitores",
|
||||
"navigation_bar.import_export": "Importar e exportar",
|
||||
"navigation_bar.lists": "Listas",
|
||||
"navigation_bar.live_feed_local": "Canal in directo (local)",
|
||||
"navigation_bar.live_feed_public": "Canal in directo (public)",
|
||||
"navigation_bar.logout": "Clauder session",
|
||||
"navigation_bar.moderation": "Moderation",
|
||||
"navigation_bar.more": "Plus",
|
||||
"navigation_bar.mutes": "Usatores silentiate",
|
||||
"navigation_bar.opened_in_classic_interface": "Messages, contos e altere paginas specific es aperite per predefinition in le interfacie web classic.",
|
||||
"navigation_bar.preferences": "Preferentias",
|
||||
"navigation_bar.privacy_and_reach": "Confidentialitate e portata",
|
||||
"navigation_bar.search": "Cercar",
|
||||
"navigation_bar.search_trends": "Cercar / In tendentia",
|
||||
"navigation_panel.collapse_followed_tags": "Contraher le menu de hashtags sequite",
|
||||
"navigation_panel.collapse_lists": "Contraher le menu de listas",
|
||||
"navigation_panel.expand_followed_tags": "Expander le menu de hashtags sequite",
|
||||
"navigation_panel.expand_lists": "Expander le menu de listas",
|
||||
"not_signed_in_indicator.not_signed_in": "Es necessari aperir session pro acceder a iste ressource.",
|
||||
"notification.admin.report": "{name} ha reportate {target}",
|
||||
"notification.admin.report_account": "{name} ha reportate {count, plural, one {un message} other {# messages}} de {target} per {category}",
|
||||
@@ -772,6 +805,7 @@
|
||||
"report_notification.categories.violation": "Violation del regulas",
|
||||
"report_notification.categories.violation_sentence": "violation del regulas",
|
||||
"report_notification.open": "Aperir reporto",
|
||||
"search.clear": "Rader le recerca",
|
||||
"search.no_recent_searches": "Nulle recercas recente",
|
||||
"search.placeholder": "Cercar",
|
||||
"search.quick_action.account_search": "Profilos correspondente a {x}",
|
||||
@@ -838,6 +872,13 @@
|
||||
"status.mute_conversation": "Silentiar conversation",
|
||||
"status.open": "Expander iste message",
|
||||
"status.pin": "Fixar sur profilo",
|
||||
"status.quote_error.filtered": "Celate a causa de un de tu filtros",
|
||||
"status.quote_error.not_found": "Iste message non pote esser monstrate.",
|
||||
"status.quote_error.pending_approval": "Iste message attende le approbation del autor original.",
|
||||
"status.quote_error.rejected": "Iste message non pote esser monstrate perque le autor original non permitte citar lo.",
|
||||
"status.quote_error.removed": "Iste message ha essite removite per su autor.",
|
||||
"status.quote_error.unauthorized": "Iste message non pote esser monstrate perque tu non es autorisate a vider lo.",
|
||||
"status.quote_post_author": "Message de {name}",
|
||||
"status.read_more": "Leger plus",
|
||||
"status.reblog": "Impulsar",
|
||||
"status.reblog_private": "Impulsar con visibilitate original",
|
||||
@@ -847,8 +888,8 @@
|
||||
"status.redraft": "Deler e reconciper",
|
||||
"status.remove_bookmark": "Remover marcapagina",
|
||||
"status.remove_favourite": "Remover del favoritos",
|
||||
"status.replied_in_thread": "Respondite in le discussion",
|
||||
"status.replied_to": "Respondite a {name}",
|
||||
"status.replied_in_thread": "Responsa in discussion",
|
||||
"status.replied_to": "Responsa a {name}",
|
||||
"status.reply": "Responder",
|
||||
"status.replyAll": "Responder al discussion",
|
||||
"status.report": "Reportar @{name}",
|
||||
@@ -867,9 +908,13 @@
|
||||
"subscribed_languages.save": "Salvar le cambiamentos",
|
||||
"subscribed_languages.target": "Cambiar le linguas subscribite pro {target}",
|
||||
"tabs_bar.home": "Initio",
|
||||
"tabs_bar.menu": "Menu",
|
||||
"tabs_bar.notifications": "Notificationes",
|
||||
"tabs_bar.publish": "Nove message",
|
||||
"tabs_bar.search": "Cercar",
|
||||
"terms_of_service.effective_as_of": "In vigor a partir de {date}",
|
||||
"terms_of_service.title": "Conditiones de servicio",
|
||||
"terms_of_service.upcoming_changes_on": "Cambiamentos a venir le {date}",
|
||||
"time_remaining.days": "{number, plural, one {# die} other {# dies}} restante",
|
||||
"time_remaining.hours": "{number, plural, one {# hora} other {# horas}} restante",
|
||||
"time_remaining.minutes": "{number, plural, one {# minuta} other {# minutas}} restante",
|
||||
@@ -877,7 +922,7 @@
|
||||
"time_remaining.seconds": "{number, plural, one {# secunda} other {# secundas}} restante",
|
||||
"trends.counter_by_accounts": "{count, plural, one {{counter} persona} other {{counter} personas}} in le passate {days, plural, one {die} other {{days} dies}}",
|
||||
"trends.trending_now": "Ora in tendentias",
|
||||
"ui.beforeunload": "Tu esbosso essera predite si tu exi de Mastodon.",
|
||||
"ui.beforeunload": "Tu esbosso essera perdite si tu exi de Mastodon.",
|
||||
"units.short.billion": "{count}B",
|
||||
"units.short.million": "{count}M",
|
||||
"units.short.thousand": "{count}K",
|
||||
@@ -904,6 +949,7 @@
|
||||
"video.pause": "Pausa",
|
||||
"video.play": "Reproducer",
|
||||
"video.skip_backward": "Saltar a retro",
|
||||
"video.skip_forward": "Avantiar",
|
||||
"video.unmute": "Non plus silentiar",
|
||||
"video.volume_down": "Abassar le volumine",
|
||||
"video.volume_up": "Augmentar le volumine"
|
||||
|
||||
@@ -1,13 +1,15 @@
|
||||
{
|
||||
"about.blocks": "Server yang dimoderasi",
|
||||
"about.contact": "Kontak:",
|
||||
"about.disclaimer": "perangkat lunak sumber terbuperangkat lunak sumber terbukaka184124.",
|
||||
"about.default_locale": "Default",
|
||||
"about.disclaimer": "Mastodon adalah perangkat lunak bebas dan sumber terbuka, serta merek dagang milik Mastodon gGmbH.",
|
||||
"about.domain_blocks.no_reason_available": "Alasan tidak tersedia",
|
||||
"about.domain_blocks.preamble": "Mastodon umumnya mengizinkan Anda untuk melihat konten dan berinteraksi dengan pengguna dari server lain di fediverse. Ini adalah pengecualian yang dibuat untuk beberapa server.",
|
||||
"about.domain_blocks.silenced.explanation": "Anda secara umum tidak melihat profil dan konten dari server ini, kecuali jika Anda mencarinya atau memilihnya dengan mengikuti secara eksplisit.",
|
||||
"about.domain_blocks.silenced.title": "Terbatas",
|
||||
"about.domain_blocks.suspended.explanation": "Tidak ada data yang diproses, disimpan, atau ditukarkan dari server ini, membuat interaksi atau komunikasi dengan pengguna dari server ini tidak mungkin dilakukan.",
|
||||
"about.domain_blocks.suspended.title": "Ditangguhkan",
|
||||
"about.language_label": "Bahasa",
|
||||
"about.not_available": "Informasi ini belum tersedia di server ini.",
|
||||
"about.powered_by": "Media sosial terdesentralisasi diberdayakan oleh {mastodon}",
|
||||
"about.rules": "Aturan server",
|
||||
@@ -28,6 +30,10 @@
|
||||
"account.edit_profile": "Ubah profil",
|
||||
"account.enable_notifications": "Beritahu saya saat @{name} memposting",
|
||||
"account.endorse": "Tampilkan di profil",
|
||||
"account.familiar_followers_one": "Diikuti oleh {name1}",
|
||||
"account.familiar_followers_two": "Diikuti oleh {name1} dan {name2}",
|
||||
"account.featured": "Unggulan",
|
||||
"account.featured.accounts": "Profil",
|
||||
"account.featured_tags.last_status_at": "Kiriman terakhir pada {date}",
|
||||
"account.featured_tags.last_status_never": "Tidak ada kiriman",
|
||||
"account.follow": "Ikuti",
|
||||
@@ -267,7 +273,7 @@
|
||||
"explore.trending_links": "Berita",
|
||||
"explore.trending_statuses": "Kiriman",
|
||||
"explore.trending_tags": "Tagar",
|
||||
"filter_modal.added.context_mismatch_explanation": "Indonesia Translate",
|
||||
"filter_modal.added.context_mismatch_explanation": "Kategori filter ini tidak berlaku untuk konteks di mana Anda mengakses postingan ini. Jika Anda ingin postingan tersebut difilter juga dalam konteks ini, Anda perlu mengedit filter.",
|
||||
"filter_modal.added.context_mismatch_title": "Konteks tidak cocok!",
|
||||
"filter_modal.added.expired_explanation": "Kategori saringan ini telah kedaluwarsa, Anda harus mengubah tanggal kedaluwarsa untuk diterapkan.",
|
||||
"filter_modal.added.expired_title": "Saringan kedaluwarsa!",
|
||||
@@ -335,38 +341,38 @@
|
||||
"intervals.full.days": "{number, plural, other {# hari}}",
|
||||
"intervals.full.hours": "{number, plural, other {# jam}}",
|
||||
"intervals.full.minutes": "{number, plural, other {# menit}}",
|
||||
"keyboard_shortcuts.back": "untuk kembali",
|
||||
"keyboard_shortcuts.blocked": "buka daftar pengguna terblokir",
|
||||
"keyboard_shortcuts.boost": "untuk menyebarkan",
|
||||
"keyboard_shortcuts.back": "Kembali ke belakang",
|
||||
"keyboard_shortcuts.blocked": "Buka daftar pengguna yang diblokir",
|
||||
"keyboard_shortcuts.boost": "Tingkatkan postingan",
|
||||
"keyboard_shortcuts.column": "Fokus kolom",
|
||||
"keyboard_shortcuts.compose": "untuk fokus ke area penulisan",
|
||||
"keyboard_shortcuts.compose": "Fokus pada kotak teks",
|
||||
"keyboard_shortcuts.description": "Deskripsi",
|
||||
"keyboard_shortcuts.direct": "to open direct messages column",
|
||||
"keyboard_shortcuts.down": "untuk pindah ke bawah dalam sebuah daftar",
|
||||
"keyboard_shortcuts.down": "Pindah ke bawah dalam daftar",
|
||||
"keyboard_shortcuts.enter": "Buka kiriman",
|
||||
"keyboard_shortcuts.federated": "buka linimasa gabungan",
|
||||
"keyboard_shortcuts.federated": "Buka linimasa terpadu",
|
||||
"keyboard_shortcuts.heading": "Pintasan keyboard",
|
||||
"keyboard_shortcuts.home": "Buka linimasa beranda",
|
||||
"keyboard_shortcuts.hotkey": "Pintasan",
|
||||
"keyboard_shortcuts.legend": "tampilkan legenda ini",
|
||||
"keyboard_shortcuts.local": "buka linimasa lokal",
|
||||
"keyboard_shortcuts.mention": "sebut pencipta",
|
||||
"keyboard_shortcuts.muted": "buka daftar pengguna terbisukan",
|
||||
"keyboard_shortcuts.legend": "Tampilkan legenda ini",
|
||||
"keyboard_shortcuts.local": "Buka linimasa lokal",
|
||||
"keyboard_shortcuts.mention": "Sebutkan penulis",
|
||||
"keyboard_shortcuts.muted": "Buka daftar pengguna yang dibisukan",
|
||||
"keyboard_shortcuts.my_profile": "Buka profil Anda",
|
||||
"keyboard_shortcuts.notifications": "buka kolom notifikasi",
|
||||
"keyboard_shortcuts.open_media": "membuka media",
|
||||
"keyboard_shortcuts.notifications": "Buka kolom pemberitahuan",
|
||||
"keyboard_shortcuts.open_media": "Buka media",
|
||||
"keyboard_shortcuts.pinned": "buka daftar toot tersemat",
|
||||
"keyboard_shortcuts.profile": "buka profil pencipta",
|
||||
"keyboard_shortcuts.reply": "balas",
|
||||
"keyboard_shortcuts.requests": "buka daftar permintaan ikuti",
|
||||
"keyboard_shortcuts.search": "untuk fokus mencari",
|
||||
"keyboard_shortcuts.spoilers": "untuk menampilkan/menyembunyikan bidang CW",
|
||||
"keyboard_shortcuts.start": "buka kolom \"memulai\"",
|
||||
"keyboard_shortcuts.toggle_hidden": "tampilkan/sembunyikan teks di belakang CW",
|
||||
"keyboard_shortcuts.toggle_sensitivity": "tampilkan/sembunyikan media",
|
||||
"keyboard_shortcuts.toot": "mulai toot baru",
|
||||
"keyboard_shortcuts.unfocus": "untuk tidak fokus pada area teks/pencarian",
|
||||
"keyboard_shortcuts.up": "untuk memindah ke atas pada daftar",
|
||||
"keyboard_shortcuts.profile": "Buka profil penulis",
|
||||
"keyboard_shortcuts.reply": "Balas posting",
|
||||
"keyboard_shortcuts.requests": "Buka daftar permintaan mengikuti",
|
||||
"keyboard_shortcuts.search": "Fokus ke kotak pencarian",
|
||||
"keyboard_shortcuts.spoilers": "Tampilkan/sembunyikan bidang CW",
|
||||
"keyboard_shortcuts.start": "Buka kolom “Mulai”",
|
||||
"keyboard_shortcuts.toggle_hidden": "Tampilkan/sembunyikan teks di belakang CW",
|
||||
"keyboard_shortcuts.toggle_sensitivity": "Tampilkan/sembunyikan media",
|
||||
"keyboard_shortcuts.toot": "Buat posting baru",
|
||||
"keyboard_shortcuts.unfocus": "Hapus fokus pada kotak teks/kotak pencarian",
|
||||
"keyboard_shortcuts.up": "Naik ke posisi atas dalam daftar",
|
||||
"lightbox.close": "Tutup",
|
||||
"lightbox.next": "Selanjutnya",
|
||||
"lightbox.previous": "Sebelumnya",
|
||||
@@ -495,7 +501,7 @@
|
||||
"report.statuses.subtitle": "Pilih semua yang berlaku",
|
||||
"report.statuses.title": "Adakah kiriman yang mendukung pelaporan ini?",
|
||||
"report.submit": "Kirim",
|
||||
"report.target": "Melaporkan",
|
||||
"report.target": "Melaporkan {target}",
|
||||
"report.thanks.take_action": "Berikut adalah pilihan Anda untuk mengatur apa yang Anda lihat di Mastodon:",
|
||||
"report.thanks.take_action_actionable": "Ketika kami meninjau ini, Anda dapat mengambil tindakan terhadap @{name}:",
|
||||
"report.thanks.title": "Tidak ingin melihat ini?",
|
||||
|
||||
@@ -219,6 +219,13 @@
|
||||
"confirmations.delete_list.confirm": "削除",
|
||||
"confirmations.delete_list.message": "本当にこのリストを完全に削除しますか?",
|
||||
"confirmations.delete_list.title": "リストを削除しようとしています",
|
||||
"confirmations.discard_draft.confirm": "破棄して続ける",
|
||||
"confirmations.discard_draft.edit.cancel": "編集を再開",
|
||||
"confirmations.discard_draft.edit.message": "続行すると、現在編集している投稿に加えた変更は破棄されます。",
|
||||
"confirmations.discard_draft.edit.title": "投稿の変更を破棄しますか?",
|
||||
"confirmations.discard_draft.post.cancel": "下書きを再開",
|
||||
"confirmations.discard_draft.post.message": "続行すると、現在作成中の投稿が破棄されます。",
|
||||
"confirmations.discard_draft.post.title": "下書きを破棄しますか?",
|
||||
"confirmations.discard_edit_media.confirm": "破棄",
|
||||
"confirmations.discard_edit_media.message": "メディアの説明またはプレビューに保存されていない変更があります。それでも破棄しますか?",
|
||||
"confirmations.follow_to_list.confirm": "フォローしてリストに追加",
|
||||
@@ -330,6 +337,7 @@
|
||||
"errors.unexpected_crash.copy_stacktrace": "スタックトレースをクリップボードにコピー",
|
||||
"errors.unexpected_crash.report_issue": "問題を報告",
|
||||
"explore.suggested_follows": "ユーザー",
|
||||
"explore.title": "トレンド",
|
||||
"explore.trending_links": "ニュース",
|
||||
"explore.trending_statuses": "投稿",
|
||||
"explore.trending_tags": "ハッシュタグ",
|
||||
@@ -417,6 +425,7 @@
|
||||
"hints.profiles.see_more_posts": "{domain} でその他の投稿を見る",
|
||||
"hints.threads.replies_may_be_missing": "リモートの返信は表示されない場合があります。",
|
||||
"hints.threads.see_more": "{domain} でその他の返信を見る",
|
||||
"home.column_settings.show_quotes": "引用を表示",
|
||||
"home.column_settings.show_reblogs": "ブースト表示",
|
||||
"home.column_settings.show_replies": "返信表示",
|
||||
"home.hide_announcements": "お知らせを隠す",
|
||||
@@ -539,8 +548,10 @@
|
||||
"mute_modal.you_wont_see_mentions": "宛先に相手が入っている投稿も閲覧できなくなります。",
|
||||
"mute_modal.you_wont_see_posts": "相手はあなたの投稿を今までどおり閲覧できますが、あなたは相手の投稿を閲覧できなくなります。",
|
||||
"navigation_bar.about": "概要",
|
||||
"navigation_bar.account_settings": "パスワードとセキュリティ",
|
||||
"navigation_bar.administration": "管理",
|
||||
"navigation_bar.advanced_interface": "上級者向けUIに戻る",
|
||||
"navigation_bar.automated_deletion": "投稿の自動削除",
|
||||
"navigation_bar.blocks": "ブロックしたユーザー",
|
||||
"navigation_bar.bookmarks": "ブックマーク",
|
||||
"navigation_bar.direct": "非公開の返信",
|
||||
@@ -550,13 +561,21 @@
|
||||
"navigation_bar.follow_requests": "フォローリクエスト",
|
||||
"navigation_bar.followed_tags": "フォロー中のハッシュタグ",
|
||||
"navigation_bar.follows_and_followers": "フォロー・フォロワー",
|
||||
"navigation_bar.import_export": "インポートとエクスポート",
|
||||
"navigation_bar.lists": "リスト",
|
||||
"navigation_bar.logout": "ログアウト",
|
||||
"navigation_bar.moderation": "モデレーション",
|
||||
"navigation_bar.more": "もっと見る",
|
||||
"navigation_bar.mutes": "ミュートしたユーザー",
|
||||
"navigation_bar.opened_in_classic_interface": "投稿やプロフィールを直接開いた場合は一時的に標準UIで表示されます。",
|
||||
"navigation_bar.preferences": "ユーザー設定",
|
||||
"navigation_bar.privacy_and_reach": "プライバシーとつながりやすさ",
|
||||
"navigation_bar.search": "検索",
|
||||
"navigation_bar.search_trends": "検索 / トレンド",
|
||||
"navigation_panel.collapse_followed_tags": "フォロー中のハッシュタグメニューを閉じる",
|
||||
"navigation_panel.collapse_lists": "リストメニューを閉じる",
|
||||
"navigation_panel.expand_followed_tags": "フォロー中のハッシュタグメニューを展開",
|
||||
"navigation_panel.expand_lists": "リストメニューを展開",
|
||||
"not_signed_in_indicator.not_signed_in": "この機能を使うにはログインする必要があります。",
|
||||
"notification.admin.report": "{name}さんが{target}さんを通報しました",
|
||||
"notification.admin.report_account": "{name}さんが{target}さんの投稿{count, plural, other {#件}}を「{category}」として通報しました",
|
||||
@@ -783,6 +802,7 @@
|
||||
"report_notification.categories.violation": "ルール違反",
|
||||
"report_notification.categories.violation_sentence": "ルール違反",
|
||||
"report_notification.open": "通報を開く",
|
||||
"search.clear": "検索をクリア",
|
||||
"search.no_recent_searches": "検索履歴はありません",
|
||||
"search.placeholder": "検索",
|
||||
"search.quick_action.account_search": "{x}に該当するプロフィール",
|
||||
@@ -885,7 +905,10 @@
|
||||
"subscribed_languages.save": "変更を保存",
|
||||
"subscribed_languages.target": "{target}さんの購読言語を変更します",
|
||||
"tabs_bar.home": "ホーム",
|
||||
"tabs_bar.menu": "メニュー",
|
||||
"tabs_bar.notifications": "通知",
|
||||
"tabs_bar.publish": "新しい投稿",
|
||||
"tabs_bar.search": "検索",
|
||||
"terms_of_service.effective_as_of": "{date}より有効",
|
||||
"terms_of_service.title": "サービス利用規約",
|
||||
"terms_of_service.upcoming_changes_on": "{date}から適用される変更",
|
||||
|
||||
@@ -6,6 +6,7 @@
|
||||
"about.domain_blocks.preamble": "Maṣṭudun s umata yeḍmen-ak ad teẓreḍ agbur, ad tesdemreḍ akked yimseqdacen-nniḍen seg yal aqeddac deg fedivers. Ha-tent-an ɣur-k tsuraf i yellan deg uqeddac-agi.",
|
||||
"about.domain_blocks.silenced.title": "Ɣur-s talast",
|
||||
"about.domain_blocks.suspended.title": "Yettwaḥbes",
|
||||
"about.language_label": "Tutlayt",
|
||||
"about.not_available": "Talɣut-a ur tettwabder ara deg uqeddac-a.",
|
||||
"about.powered_by": "Azeṭṭa inmetti yettwasɣelsen sɣur {mastodon}",
|
||||
"about.rules": "Ilugan n uqeddac",
|
||||
@@ -24,6 +25,9 @@
|
||||
"account.edit_profile": "Ẓreg amaɣnu",
|
||||
"account.enable_notifications": "Azen-iyi-d ilɣa mi ara d-isuffeɣ @{name}",
|
||||
"account.endorse": "Welleh fell-as deg umaɣnu-inek",
|
||||
"account.familiar_followers_many": "Yeṭṭafaṛ-it {name1} d {name2}, akked {othersCount, plural, one {yiwen nniḍen i tessneḍ} other {# nniḍen i tessneḍ}}",
|
||||
"account.familiar_followers_one": "Yeṭṭafar-it {name1}",
|
||||
"account.familiar_followers_two": "Yeṭṭafar-it {name1} akked {name2}",
|
||||
"account.featured.accounts": "Imeɣna",
|
||||
"account.featured.hashtags": "Ihacṭagen",
|
||||
"account.featured_tags.last_status_at": "Tasuffeɣt taneggarut ass n {date}",
|
||||
@@ -33,6 +37,7 @@
|
||||
"account.followers": "Imeḍfaren",
|
||||
"account.followers.empty": "Ar tura, ulac yiwen i yeṭṭafaṛen amseqdac-agi.",
|
||||
"account.followers_counter": "{count, plural, one {{counter} n umḍfar} other {{counter} n yimeḍfaren}}",
|
||||
"account.followers_you_know_counter": "Tessneḍ {counter}",
|
||||
"account.following": "Yeṭṭafaṛ",
|
||||
"account.following_counter": "{count, plural, one {{counter} yettwaḍfaren} other {{counter} yettwaḍfaren}}",
|
||||
"account.follows.empty": "Ar tura, amseqdac-agi ur yeṭṭafaṛ yiwen.",
|
||||
@@ -50,10 +55,12 @@
|
||||
"account.mute_notifications_short": "Susem ilɣa",
|
||||
"account.mute_short": "Sgugem",
|
||||
"account.muted": "Yettwasgugem",
|
||||
"account.mutual": "Temmeḍfaṛem",
|
||||
"account.no_bio": "Ulac aglam i d-yettunefken.",
|
||||
"account.open_original_page": "Ldi asebter anasli",
|
||||
"account.posts": "Tisuffaɣ",
|
||||
"account.posts_with_replies": "Tisuffaɣ d tririyin",
|
||||
"account.remove_from_followers": "Kkes {name} seg ineḍfaren",
|
||||
"account.report": "Cetki ɣef @{name}",
|
||||
"account.requested": "Di laɛḍil ad yettwaqbel. Ssit i wakken ad yefsex usuter n uḍfar",
|
||||
"account.requested_follow": "{name} yessuter ad k·m-yeḍfer",
|
||||
@@ -81,9 +88,12 @@
|
||||
"alt_text_modal.cancel": "Semmet",
|
||||
"alt_text_modal.done": "Immed",
|
||||
"announcement.announcement": "Ulɣu",
|
||||
"annual_report.summary.followers.followers": "imeḍfaṛen",
|
||||
"annual_report.summary.most_used_app.most_used_app": "asnas yettwasqedcen s waṭas",
|
||||
"annual_report.summary.most_used_hashtag.none": "Ula yiwen",
|
||||
"annual_report.summary.new_posts.new_posts": "tisuffaɣ timaynutin",
|
||||
"annual_report.summary.percentile.we_wont_tell_bernie": "Ur as-neqqar i yiwen.",
|
||||
"annual_report.summary.thanks": "Tanemmirt imi i tettekkiḍ deg Mastodon!",
|
||||
"audio.hide": "Ffer amesli",
|
||||
"block_modal.show_less": "Ssken-d drus",
|
||||
"block_modal.show_more": "Ssken-d ugar",
|
||||
@@ -115,8 +125,10 @@
|
||||
"column.domain_blocks": "Taɣulin yeffren",
|
||||
"column.edit_list": "Ẓreg tabdart",
|
||||
"column.favourites": "Imenyafen",
|
||||
"column.firehose": "Isuddam usriden",
|
||||
"column.follow_requests": "Isuturen n teḍfeṛt",
|
||||
"column.home": "Agejdan",
|
||||
"column.list_members": "Sefrek iεeggalen n tebdart",
|
||||
"column.lists": "Tibdarin",
|
||||
"column.mutes": "Imiḍanen yettwasgugmen",
|
||||
"column.notifications": "Ilɣa",
|
||||
@@ -154,6 +166,7 @@
|
||||
"compose_form.save_changes": "Leqqem",
|
||||
"compose_form.spoiler.marked": "Kkes aḍris yettwaffren deffir n walɣu",
|
||||
"compose_form.spoiler.unmarked": "Rnu aḍris yettwaffren deffir n walɣu",
|
||||
"compose_form.spoiler_placeholder": "Alɣu n ugbur (afrayan)",
|
||||
"confirmation_modal.cancel": "Sefsex",
|
||||
"confirmations.block.confirm": "Sewḥel",
|
||||
"confirmations.delete.confirm": "Kkes",
|
||||
@@ -162,8 +175,10 @@
|
||||
"confirmations.delete_list.confirm": "Kkes",
|
||||
"confirmations.delete_list.message": "Tebɣiḍ s tidet ad tekkseḍ umuɣ-agi i lebda?",
|
||||
"confirmations.delete_list.title": "Tukksa n tebdart?",
|
||||
"confirmations.discard_draft.confirm": "Ttu-t u kemmel",
|
||||
"confirmations.discard_edit_media.confirm": "Sefsex",
|
||||
"confirmations.follow_to_list.confirm": "Ḍfeṛ-it sakin rnu-t ɣer tebdart",
|
||||
"confirmations.follow_to_list.title": "Ḍfer aseqdac?",
|
||||
"confirmations.logout.confirm": "Ffeɣ",
|
||||
"confirmations.logout.message": "D tidet tebɣiḍ ad teffɣeḍ?",
|
||||
"confirmations.logout.title": "Tebɣiḍ ad teffɣeḍ ssya?",
|
||||
@@ -172,6 +187,7 @@
|
||||
"confirmations.missing_alt_text.title": "Rnu aḍris amlellay?",
|
||||
"confirmations.mute.confirm": "Sgugem",
|
||||
"confirmations.redraft.confirm": "Kkes sakin ɛiwed tira",
|
||||
"confirmations.remove_from_followers.confirm": "Kkes aneḍfar",
|
||||
"confirmations.unfollow.confirm": "Ur ḍḍafaṛ ara",
|
||||
"confirmations.unfollow.message": "Tetḥeqqeḍ belli tebɣiḍ ur teṭafaṛeḍ ara {name}?",
|
||||
"content_warning.hide": "Ffer tasuffeɣt",
|
||||
@@ -197,7 +213,12 @@
|
||||
"domain_block_modal.you_wont_see_posts": "Ur tettuɣaleḍ ara ttwaliḍ tisuffaɣ neɣ ulɣuten n iseqdacen n uqeddac-a.",
|
||||
"domain_pill.activitypub_like_language": "ActivityPub am tutlayt yettmeslay Mastodon d izeḍwan inmettiyen nniḍen.",
|
||||
"domain_pill.server": "Aqeddac",
|
||||
"domain_pill.their_handle": "Asulay-is:",
|
||||
"domain_pill.username": "Isem n useqdac",
|
||||
"domain_pill.whats_in_a_handle": "D acu i yellan deg usulay?",
|
||||
"domain_pill.who_they_are": "Imi isulayen qqaren-d anwa i d yiwen d wanda yella, tzemreḍ ad temyigweḍ d yemdanen deg web anmetti yebnan s <button>tɣeṛɣaṛ yemmugen s ActivityPub</button>.",
|
||||
"domain_pill.who_you_are": "Imi isulay-ik·im yeqqar-d anwa i d kečč·kemmi d wanda i telliḍ, zemren medden ad myigwen yid-k·m deg web anmetti yebnan s <button>tɣeṛɣaṛ yemmugen s ActivityPub</button>.",
|
||||
"domain_pill.your_handle": "Asulay-ik·im:",
|
||||
"domain_pill.your_server": "D axxam-inek·inem umḍin, anda i zedɣent akk tsuffaɣ-ik·im. Ur k·m-yeεǧib ara wa? Ssenfel-d iqeddacen melmi i ak·m-yehwa, awi-d daɣen ineḍfaren-ik·im yid-k·m.",
|
||||
"embed.instructions": "Ẓẓu addad-agi deg usmel-inek·inem s wenɣal n tangalt yellan sdaw-agi.",
|
||||
"embed.preview": "Akka ara d-iban:",
|
||||
@@ -223,6 +244,7 @@
|
||||
"empty_column.bookmarked_statuses": "Ulac kra n tsuffeɣt i terniḍ ɣer yismenyifen-ik·im ar tura. Ticki terniḍ yiwet, ad d-tettwasken da.",
|
||||
"empty_column.community": "Tasuddemt tazayezt tadigant n yisallen d tilemt. Aru ihi kra akken ad tt-teččareḍ!",
|
||||
"empty_column.domain_blocks": "Ulac kra n taɣult yettwaffren ar tura.",
|
||||
"empty_column.explore_statuses": "Ulac ayen yellan d anezzuɣ akka tura. Uɣal-d ticki!",
|
||||
"empty_column.follow_requests": "Ulac ɣur-k·m ula yiwen n usuter n teḍfeṛt. Ticki teṭṭfeḍ-d yiwen ad d-yettwasken da.",
|
||||
"empty_column.hashtag": "Ar tura ulac kra n ugbur yesɛan assaɣ ɣer uhacṭag-agi.",
|
||||
"empty_column.home": "Tasuddemt tagejdant n yisallen d tilemt! Ẓer {public} neɣ nadi ad tafeḍ imseqdacen-nniḍen ad ten-ḍefṛeḍ.",
|
||||
@@ -234,9 +256,14 @@
|
||||
"errors.unexpected_crash.copy_stacktrace": "Nɣel stacktrace ɣef wafus",
|
||||
"errors.unexpected_crash.report_issue": "Mmel ugur",
|
||||
"explore.suggested_follows": "Imdanen",
|
||||
"explore.title": "Inezzaɣ",
|
||||
"explore.trending_links": "Isallen",
|
||||
"explore.trending_statuses": "Tisuffaɣ",
|
||||
"explore.trending_tags": "Ihacṭagen",
|
||||
"featured_carousel.next": "Uḍfiṛ",
|
||||
"featured_carousel.post": "Tasuffeɣt",
|
||||
"featured_carousel.previous": "Uzwir",
|
||||
"featured_carousel.slide": "{index} ɣef {total}",
|
||||
"filter_modal.added.review_and_configure_title": "Iɣewwaṛen n imzizdig",
|
||||
"filter_modal.added.settings_link": "asebter n yiɣewwaṛen",
|
||||
"filter_modal.added.short_explanation": "Tasuffeɣt-a tettwarna ɣer taggayt-a n yimsizdegen: {title}.",
|
||||
@@ -252,6 +279,7 @@
|
||||
"firehose.remote": "Iqeddacen nniḍen",
|
||||
"follow_request.authorize": "Ssireg",
|
||||
"follow_request.reject": "Agi",
|
||||
"follow_suggestions.curated_suggestion": "Yettwafren sɣur tarbaɛt",
|
||||
"follow_suggestions.dismiss": "Dayen ur t-id-skan ara",
|
||||
"follow_suggestions.featured_longer": "Yettwafraned s ufus sɣur agraw n {domain}",
|
||||
"follow_suggestions.friends_of_friends_longer": "D aɣeṛfan ar wid i teṭṭafareḍ",
|
||||
@@ -289,14 +317,17 @@
|
||||
"hashtag.follow": "Ḍfeṛ ahacṭag",
|
||||
"hashtag.mute": "Sgugem #{hashtag}",
|
||||
"hashtags.and_other": "…d {count, plural, one {}other {# nniḍen}}",
|
||||
"hints.profiles.see_more_posts": "Wali ugar n tsuffaɣ ɣef {domain}",
|
||||
"hints.threads.replies_may_be_missing": "Tiririyin d-yusan deg iqeddacen nniḍen, yezmer ur d-ddant ara.",
|
||||
"hints.threads.see_more": "Wali ugar n tririt deg {domain}",
|
||||
"home.column_settings.show_quotes": "Sken-d tibdarin",
|
||||
"home.column_settings.show_reblogs": "Ssken-d beṭṭu",
|
||||
"home.column_settings.show_replies": "Ssken-d tiririyin",
|
||||
"home.hide_announcements": "Ffer ulɣuyen",
|
||||
"home.pending_critical_update.body": "Ma ulac aɣilif, leqqem aqeddac-ik Mastodon akken kan tzemreḍ !",
|
||||
"home.pending_critical_update.link": "Wali ileqman",
|
||||
"home.show_announcements": "Ssken-d ulɣuyen",
|
||||
"ignore_notifications_modal.ignore": "Ttu ilɣa",
|
||||
"info_button.label": "Tallelt",
|
||||
"interaction_modal.action.favourite": "I wakken ad tkemmleḍ, yessefk ad d-tḥemmleḍ seg umiḍan-ik·im.",
|
||||
"interaction_modal.action.follow": "I wakken ad tkemmleḍ, yessefk ad d-tḍefreḍ seg umiḍan-ik·im.",
|
||||
@@ -308,6 +339,7 @@
|
||||
"interaction_modal.on_another_server": "Deg uqeddac nniḍen",
|
||||
"interaction_modal.on_this_server": "Deg uqeddac-ayi",
|
||||
"interaction_modal.title.follow": "Ḍfer {name}",
|
||||
"interaction_modal.title.reblog": "Zuzer tsuffeɣt n {name}",
|
||||
"interaction_modal.title.reply": "Tiririt i tsuffeɣt n {name}",
|
||||
"interaction_modal.username_prompt": "Amedya: {example}",
|
||||
"intervals.full.days": "{number, plural, one {# wass} other {# wussan}}",
|
||||
@@ -344,6 +376,7 @@
|
||||
"keyboard_shortcuts.toggle_hidden": "i uskan/tuffra n uḍris deffir CW",
|
||||
"keyboard_shortcuts.toggle_sensitivity": "i teskent/tuffra n yimidyaten",
|
||||
"keyboard_shortcuts.toot": "i wakken attebdud tajewwaqt tamaynut",
|
||||
"keyboard_shortcuts.translate": "i usuqel n tsuffeɣt",
|
||||
"keyboard_shortcuts.unfocus": "to un-focus compose textarea/search",
|
||||
"keyboard_shortcuts.up": "i tulin ɣer d asawen n tebdart",
|
||||
"lightbox.close": "Mdel",
|
||||
@@ -357,9 +390,11 @@
|
||||
"lists.add_to_list": "Rnu ɣer tebdart",
|
||||
"lists.add_to_lists": "Rnu {name} ɣer tebdarin",
|
||||
"lists.create": "Snulfu-d",
|
||||
"lists.create_list": "Snulfu-d tabdart",
|
||||
"lists.delete": "Kkes tabdart",
|
||||
"lists.done": "Immed",
|
||||
"lists.edit": "Ẓreg tabdart",
|
||||
"lists.find_users_to_add": "Af-d iseqdacen ara ternuḍ",
|
||||
"lists.list_name": "Isem n tebdart",
|
||||
"lists.new_list_name": "Isem n tebdart tamaynut",
|
||||
"lists.no_lists_yet": "Ulac tibdarin akka tura.",
|
||||
@@ -383,6 +418,7 @@
|
||||
"mute_modal.you_wont_see_mentions": "Ur tezmireḍ ara ad twaliḍ tisuffaɣ anda d-yettwabdar.",
|
||||
"mute_modal.you_wont_see_posts": "Yezmer ad yettwali tisuffaɣ-ik·im, maca ur tettwaliḍ ara tidak-is.",
|
||||
"navigation_bar.about": "Ɣef",
|
||||
"navigation_bar.account_settings": "Awal n uɛeddi akked tɣellist",
|
||||
"navigation_bar.administration": "Tadbelt",
|
||||
"navigation_bar.advanced_interface": "Ldi deg ugrudem n web leqqayen",
|
||||
"navigation_bar.blocks": "Iseqdacen yettusḥebsen",
|
||||
@@ -394,18 +430,26 @@
|
||||
"navigation_bar.follow_requests": "Isuturen n teḍfeṛt",
|
||||
"navigation_bar.followed_tags": "Ihacṭagen yettwaḍfaren",
|
||||
"navigation_bar.follows_and_followers": "Imeḍfaṛen akked wid i teṭṭafaṛeḍ",
|
||||
"navigation_bar.import_export": "Taktert d usifeḍ",
|
||||
"navigation_bar.lists": "Tibdarin",
|
||||
"navigation_bar.live_feed_local": "Asuddem usrid (adigan)",
|
||||
"navigation_bar.live_feed_public": "Asuddem usrid (azayaz)",
|
||||
"navigation_bar.logout": "Ffeɣ",
|
||||
"navigation_bar.moderation": "Aseɣyed",
|
||||
"navigation_bar.more": "Ugar",
|
||||
"navigation_bar.mutes": "Iseqdacen yettwasusmen",
|
||||
"navigation_bar.opened_in_classic_interface": "Tisuffaɣ, imiḍanen akked isebtar-nniḍen igejdanen ldin-d s wudem amezwer deg ugrudem web aklasiki.",
|
||||
"navigation_bar.preferences": "Imenyafen",
|
||||
"navigation_bar.privacy_and_reach": "Tabḍnit akked wagwaḍ",
|
||||
"navigation_bar.search": "Nadi",
|
||||
"navigation_bar.search_trends": "Anadi / Anezzuɣ",
|
||||
"not_signed_in_indicator.not_signed_in": "You need to sign in to access this resource.",
|
||||
"notification.admin.report": "Yemla-t-id {name} {target}",
|
||||
"notification.admin.sign_up": "Ijerred {name}",
|
||||
"notification.annual_report.view": "Wali #Wrapstodon",
|
||||
"notification.favourite": "{name} yesmenyaf addad-ik·im",
|
||||
"notification.favourite_pm": "{name} yesmenyef abdar-ik·im uslig",
|
||||
"notification.favourite_pm.name_and_others_with_link": "{name} akked <a>{count, plural, one {# nnayeḍ} other {# nniḍen}}</a> rnan abdar-ik·im uslig ar ismenyafen-nsen",
|
||||
"notification.follow": "iṭṭafar-ik·em-id {name}",
|
||||
"notification.follow.name_and_others": "{name} akked <a>{count, plural, one {# nniḍen} other {# nniḍen}}</a> iḍfeṛ-k·m-id",
|
||||
"notification.follow_request": "{name} yessuter-d ad k·m-yeḍfeṛ",
|
||||
@@ -414,6 +458,7 @@
|
||||
"notification.label.private_reply": "Tiririt tusligt",
|
||||
"notification.label.reply": "Tiririt",
|
||||
"notification.mention": "Abdar",
|
||||
"notification.mentioned_you": "{name} yebder-ik·em-id",
|
||||
"notification.moderation-warning.learn_more": "Issin ugar",
|
||||
"notification.moderation_warning.action_suspend": "Yettwaseḥbes umiḍan-ik.",
|
||||
"notification.own_poll": "Tafrant-ik·im tfuk",
|
||||
@@ -426,8 +471,10 @@
|
||||
"notification_requests.exit_selection": "Immed",
|
||||
"notification_requests.notifications_from": "Ilɣa sɣur {name}",
|
||||
"notification_requests.title": "Ilɣa yettwasizdgen",
|
||||
"notification_requests.view": "Wali ilɣa",
|
||||
"notifications.clear": "Sfeḍ ilɣa",
|
||||
"notifications.clear_confirmation": "Tebɣiḍ s tidet ad tekkseḍ akk ilɣa-inek·em i lebda?",
|
||||
"notifications.clear_title": "Sfeḍ ilɣa?",
|
||||
"notifications.column_settings.admin.report": "Ineqqisen imaynuten:",
|
||||
"notifications.column_settings.alert": "Ilɣa n tnarit",
|
||||
"notifications.column_settings.favourite": "Imenyafen:",
|
||||
@@ -505,6 +552,7 @@
|
||||
"recommended": "Yettuwelleh",
|
||||
"refresh": "Smiren",
|
||||
"regeneration_indicator.please_stand_by": "Ttxil rǧu.",
|
||||
"regeneration_indicator.preparing_your_home_feed": "Ha-tt-an tsuddemt-ik·im tagejdant tettwaheggay…",
|
||||
"relative_time.days": "{number}u",
|
||||
"relative_time.full.just_now": "tura kan",
|
||||
"relative_time.hours": "{number}isr",
|
||||
@@ -512,6 +560,7 @@
|
||||
"relative_time.minutes": "{number}tis",
|
||||
"relative_time.seconds": "{number}tas",
|
||||
"relative_time.today": "ass-a",
|
||||
"reply_indicator.attachments": "{count, plural, one {# n umedday} other {# n imeddayen}}",
|
||||
"reply_indicator.cancel": "Sefsex",
|
||||
"reply_indicator.poll": "Afmiḍi",
|
||||
"report.block": "Sewḥel",
|
||||
@@ -545,6 +594,7 @@
|
||||
"report.thanks.title": "Ur tebɣiḍ ara ad twaliḍ aya?",
|
||||
"report.thanks.title_actionable": "Tanemmirt ɣef uneqqis, ad nwali deg waya.",
|
||||
"report.unfollow": "Seḥbes aḍfar n @{name}",
|
||||
"report.unfollow_explanation": "Aql-ik·ikem teṭṭafareḍ amiḍan-a. I wakken ur tettwaliḍ ara akk, akka d asawen, tisuffaɣ-is deg tsuddemt-ik·im tagejdant, ur teṭṭafar ara.",
|
||||
"report_notification.attached_statuses": "{count, plural, one {{count} n tsuffeɣt} other {{count} n tsuffiɣin}} ttwaqnent",
|
||||
"report_notification.categories.legal": "Azerfan",
|
||||
"report_notification.categories.other": "Ayen nniḍen",
|
||||
@@ -610,6 +660,9 @@
|
||||
"status.mute_conversation": "Sgugem adiwenni",
|
||||
"status.open": "Semɣeṛ tasuffeɣt-ayi",
|
||||
"status.pin": "Senteḍ-itt deg umaɣnu",
|
||||
"status.quote_error.not_found": "Tasuffeɣt-a ur tezmir ara ad d-tettwasken.",
|
||||
"status.quote_error.removed": "Tasuffeɣt-a yekkes-itt umeskar-is.",
|
||||
"status.quote_post_author": "Izen sɣur {name}",
|
||||
"status.read_more": "Issin ugar",
|
||||
"status.reblog": "Bḍu",
|
||||
"status.reblogged_by": "Yebḍa-tt {name}",
|
||||
@@ -629,13 +682,16 @@
|
||||
"status.show_original": "Sken aɣbalu",
|
||||
"status.title.with_attachments": "{user} posted {attachmentCount, plural, one {an attachment} other {# attachments}}",
|
||||
"status.translate": "Suqel",
|
||||
"status.translated_from_with": "Yettwasuqel seg {lang} s {provider}",
|
||||
"status.translated_from_with": "Tettwasuqel seg {lang} s {provider}",
|
||||
"status.uncached_media_warning": "Ulac taskant",
|
||||
"status.unmute_conversation": "Kkes asgugem n udiwenni",
|
||||
"status.unpin": "Kkes asenteḍ seg umaɣnu",
|
||||
"subscribed_languages.save": "Sekles ibeddilen",
|
||||
"tabs_bar.home": "Agejdan",
|
||||
"tabs_bar.menu": "Umuɣ",
|
||||
"tabs_bar.notifications": "Ilɣa",
|
||||
"tabs_bar.publish": "Tasuffeɣt tamaynut",
|
||||
"tabs_bar.search": "Nadi",
|
||||
"terms_of_service.title": "Tiwtilin n useqdec",
|
||||
"time_remaining.days": "Mazal {number, plural, one {# wass} other {# wussan}}",
|
||||
"time_remaining.hours": "Mazal {number, plural, one {# usarag} other {# yisragen}}",
|
||||
@@ -643,7 +699,7 @@
|
||||
"time_remaining.moments": "Akuden i d-yeqqimen",
|
||||
"time_remaining.seconds": "Mazal {number, plural, one {# n tasint} other {# n tsinin}} id yugran",
|
||||
"trends.counter_by_accounts": "{count, plural, one {{counter} wemdan} other {{counter} medden}} deg {days, plural, one {ass} other {{days} wussan}} iɛeddan",
|
||||
"trends.trending_now": "Ayen mucaɛen tura",
|
||||
"trends.trending_now": "Anezzuɣ tura",
|
||||
"ui.beforeunload": "Arewway-ik·im ad iruḥ ma yella tefeɣ-d deg Maṣṭudun.",
|
||||
"units.short.billion": "{count}B",
|
||||
"units.short.million": "{count}M",
|
||||
|
||||
@@ -1,6 +1,7 @@
|
||||
{
|
||||
"about.blocks": "Модерацияланған серверлер",
|
||||
"about.contact": "Байланыс:",
|
||||
"about.default_locale": "Әдепкі",
|
||||
"about.disclaimer": "Mastodon деген тегін, бастапқы коды ашық бағдарламалық жасақтама және Mastodon gGmbH-тің сауда маркасы.",
|
||||
"about.domain_blocks.no_reason_available": "Себеп қолжетімсіз",
|
||||
"about.domain_blocks.preamble": "Mastodon әдетте сізге Fediverse'тің кез келген серверінің қолданушыларының контентін көріп, олармен байланысуға мүмкіндік береді. Осы белгілі серверде жасалған ережеден тыс жағдайлар міне.",
|
||||
|
||||
@@ -63,7 +63,7 @@
|
||||
"account.mute_short": "뮤트",
|
||||
"account.muted": "뮤트됨",
|
||||
"account.muting": "뮤트함",
|
||||
"account.mutual": "서로 팔로우 중입니다",
|
||||
"account.mutual": "서로 팔로우",
|
||||
"account.no_bio": "제공된 설명이 없습니다.",
|
||||
"account.open_original_page": "원본 페이지 열기",
|
||||
"account.posts": "게시물",
|
||||
@@ -515,7 +515,7 @@
|
||||
"lists.add_to_lists": "리스트에 {name} 추가",
|
||||
"lists.create": "생성",
|
||||
"lists.create_a_list_to_organize": "새 리스트를 만들어 홈 피드를 정리하세요",
|
||||
"lists.create_list": "리스트 생성",
|
||||
"lists.create_list": "리스트 만들기",
|
||||
"lists.delete": "리스트 삭제",
|
||||
"lists.done": "완료",
|
||||
"lists.edit": "리스트 편집",
|
||||
|
||||
@@ -1,6 +1,7 @@
|
||||
{
|
||||
"about.blocks": "Servī moderātī",
|
||||
"about.contact": "Ratio:",
|
||||
"about.default_locale": "Default",
|
||||
"about.disclaimer": "Mastodon est software līberum, apertum fontem, et nōtam commercium Mastodon gGmbH.",
|
||||
"about.domain_blocks.no_reason_available": "Ratio abdere est",
|
||||
"about.domain_blocks.preamble": "Mastodon genērāliter sinit tē contentum ex aliīs servientibus in fedīversō vidēre et cum usoribus ab iīs interāgere. Haē sunt exceptionēs quae in hōc particulārī servientē factae sunt.",
|
||||
@@ -8,6 +9,7 @@
|
||||
"about.domain_blocks.silenced.title": "Limitātus",
|
||||
"about.domain_blocks.suspended.explanation": "Nulla data ab hōc servientē processābuntur, servābuntur aut commūtābuntur, faciendumque omnem interactionem aut communicātiōnem cum usoribus ab hōc servientē impossibilem.",
|
||||
"about.domain_blocks.suspended.title": "suspensus",
|
||||
"about.language_label": "Linguae",
|
||||
"about.not_available": "Haec informātiō in hōc servientē nōn praebita est.",
|
||||
"about.powered_by": "Nuntii socīālēs decentralizātī ā {mastodon} sustentātī.",
|
||||
"about.rules": "Servo praecepta",
|
||||
@@ -41,7 +43,12 @@
|
||||
"account.followers": "Sectatores",
|
||||
"account.followers.empty": "Nemo hunc usorem adhuc sequitur.",
|
||||
"account.followers_counter": "{count, plural, one {{counter} sectator} other {{counter} sectatores}}",
|
||||
"account.followers_you_know_counter": "{counter} scis",
|
||||
"account.following": "Sequentia",
|
||||
"account.following_counter": "{count, plural, one {{counter} sectans} other {{counter} sectans}}",
|
||||
"account.follows.empty": "Hic usor adhuc neminem sequitur.",
|
||||
"account.follows_you": "Sequitur te",
|
||||
"account.go_to_profile": "Vade ad profile",
|
||||
"account.moved_to": "{name} significavit eum suam rationem novam nunc esse:",
|
||||
"account.muted": "Confutatus",
|
||||
"account.requested_follow": "{name} postulavit ut te sequeretur",
|
||||
|
||||
@@ -356,6 +356,7 @@
|
||||
"hashtag.counter_by_accounts": "{count, plural, one {{counter} partisipante} other {{counter} partisipantes}}",
|
||||
"hashtag.counter_by_uses": "{count, plural, one {{counter} publikasyon} other {{counter} publikasyones}}",
|
||||
"hashtag.counter_by_uses_today": "{count, plural, one {{counter} publikasyon} other {{counter} publikasyones}} oy",
|
||||
"hashtag.feature": "Avalia en profil",
|
||||
"hashtag.follow": "Sige etiketa",
|
||||
"hashtag.mute": "Silensia #{hashtag}",
|
||||
"hashtag.unfeature": "No avalia en profil",
|
||||
@@ -390,6 +391,7 @@
|
||||
"interaction_modal.title.reblog": "Repartaja publikasyon de {name}",
|
||||
"interaction_modal.title.reply": "Arisponde a publikasyon de {name}",
|
||||
"interaction_modal.title.vote": "Vota en la anketa de {name}",
|
||||
"interaction_modal.username_prompt": "Por enshemplo {example}",
|
||||
"intervals.full.days": "{number, plural, one {# diya} other {# diyas}}",
|
||||
"intervals.full.hours": "{number, plural, one {# ora} other {# oras}}",
|
||||
"intervals.full.minutes": "{number, plural, one {# minuto} other {# minutos}}",
|
||||
@@ -442,6 +444,7 @@
|
||||
"lists.delete": "Efasa lista",
|
||||
"lists.done": "Fecho",
|
||||
"lists.edit": "Edita lista",
|
||||
"lists.list_name": "Nombre de lista",
|
||||
"lists.new_list_name": "Nombre de mueva lista",
|
||||
"lists.replies_policy.followed": "Kualseker utilizador segido",
|
||||
"lists.replies_policy.list": "Miembros de la lista",
|
||||
@@ -738,6 +741,7 @@
|
||||
"status.reblogs.empty": "Ainda nadie tiene repartajado esta publikasyon. Kuando algien lo aga, se amostrara aki.",
|
||||
"status.redraft": "Efasa i eskrive de muevo",
|
||||
"status.remove_bookmark": "Kita markador",
|
||||
"status.remove_favourite": "Kita de los favoritos",
|
||||
"status.replied_in_thread": "Arispondo en filo",
|
||||
"status.replied_to": "Arispondio a {name}",
|
||||
"status.reply": "Arisponde",
|
||||
@@ -758,6 +762,7 @@
|
||||
"subscribed_languages.save": "Guadra trokamientos",
|
||||
"subscribed_languages.target": "Troka linguas abonadas para {target}",
|
||||
"tabs_bar.home": "Linya prinsipala",
|
||||
"tabs_bar.menu": "Menu",
|
||||
"tabs_bar.notifications": "Avizos",
|
||||
"tabs_bar.publish": "Mueva publikasyon",
|
||||
"tabs_bar.search": "Bushkeda",
|
||||
|
||||
@@ -292,6 +292,7 @@
|
||||
"emoji_button.search_results": "Paieškos rezultatai",
|
||||
"emoji_button.symbols": "Simboliai",
|
||||
"emoji_button.travel": "Kelionės ir vietos",
|
||||
"empty_column.account_featured_other.unknown": "Ši paskyra dar nieko neparodė.",
|
||||
"empty_column.account_hides_collections": "Šis (-i) naudotojas (-a) pasirinko nepadaryti šią informaciją prieinamą.",
|
||||
"empty_column.account_suspended": "Paskyra pristabdyta.",
|
||||
"empty_column.account_timeline": "Nėra čia įrašų.",
|
||||
@@ -396,7 +397,7 @@
|
||||
"hints.profiles.see_more_followers": "Žiūrėti daugiau sekėjų serveryje {domain}",
|
||||
"hints.profiles.see_more_follows": "Žiūrėti daugiau sekimų serveryje {domain}",
|
||||
"hints.profiles.see_more_posts": "Žiūrėti daugiau įrašų serveryje {domain}",
|
||||
"hints.threads.replies_may_be_missing": "Atsakymai iš kitų serverių gali būti nepateikti.",
|
||||
"hints.threads.replies_may_be_missing": "Atsakymai iš kitų serverių gali būti trūkstami.",
|
||||
"hints.threads.see_more": "Žiūrėti daugiau atsakymų serveryje {domain}",
|
||||
"home.column_settings.show_reblogs": "Rodyti pakėlimus",
|
||||
"home.column_settings.show_replies": "Rodyti atsakymus",
|
||||
@@ -820,6 +821,12 @@
|
||||
"status.mute_conversation": "Nutildyti pokalbį",
|
||||
"status.open": "Išplėsti šį įrašą",
|
||||
"status.pin": "Prisegti prie profilio",
|
||||
"status.quote_error.not_found": "Šis įrašas negali būti rodomas.",
|
||||
"status.quote_error.pending_approval": "Šis įrašas laukia patvirtinimo iš originalaus autoriaus.",
|
||||
"status.quote_error.rejected": "Šis įrašas negali būti rodomas, nes originalus autorius neleidžia jo cituoti.",
|
||||
"status.quote_error.removed": "Šis įrašas buvo pašalintas jo autoriaus.",
|
||||
"status.quote_error.unauthorized": "Šis įrašas negali būti rodomas, nes neturite leidimo jo peržiūrėti.",
|
||||
"status.quote_post_author": "Įrašą sukūrė {name}",
|
||||
"status.read_more": "Skaityti daugiau",
|
||||
"status.reblog": "Pakelti",
|
||||
"status.reblog_private": "Pakelti su originaliu matomumu",
|
||||
|
||||
@@ -1,6 +1,7 @@
|
||||
{
|
||||
"about.blocks": "Moderētie serveri",
|
||||
"about.contact": "Kontakts:",
|
||||
"about.default_locale": "Noklusējums",
|
||||
"about.disclaimer": "Mastodon ir bezmaksas atklātā pirmkoda programmatūra un Mastodon gGmbH preču zīme.",
|
||||
"about.domain_blocks.no_reason_available": "Iemesls nav norādīts",
|
||||
"about.domain_blocks.preamble": "Mastodon parasti ļauj apskatīt saturu un mijiedarboties ar lietotājiem no jebkura cita fediversa servera. Šie ir izņēmumi, kas veikti tieši šajā serverī.",
|
||||
@@ -8,6 +9,7 @@
|
||||
"about.domain_blocks.silenced.title": "Ierobežotie",
|
||||
"about.domain_blocks.suspended.explanation": "Nekādi dati no šī servera netiks apstrādāti, uzglabāti vai apmainīti, padarot neiespējamu jebkādu mijiedarbību vai saziņu ar šī servera lietotājiem.",
|
||||
"about.domain_blocks.suspended.title": "Apturētie",
|
||||
"about.language_label": "Valoda",
|
||||
"about.not_available": "Šī informācija nav padarīta pieejama šajā serverī.",
|
||||
"about.powered_by": "Decentralizētu sabiedrisko tīklu darbina {mastodon}",
|
||||
"about.rules": "Servera noteikumi",
|
||||
@@ -95,8 +97,8 @@
|
||||
"admin.impact_report.title": "Ietekmes kopsavilkums",
|
||||
"alert.rate_limited.message": "Lūdzu, mēģini vēlreiz pēc {retry_time, time, medium}.",
|
||||
"alert.rate_limited.title": "Biežums ierobežots",
|
||||
"alert.unexpected.message": "Radās negaidīta kļūda.",
|
||||
"alert.unexpected.title": "Ups!",
|
||||
"alert.unexpected.message": "Atgadījās neparedzēta kļūda.",
|
||||
"alert.unexpected.title": "Ak vai!",
|
||||
"alt_text_badge.title": "Alt teksts",
|
||||
"alt_text_modal.add_alt_text": "Pievienot aprakstošo tekstu",
|
||||
"alt_text_modal.add_text_from_image": "Pievienot tekstu no attēla",
|
||||
@@ -138,13 +140,14 @@
|
||||
"bundle_column_error.copy_stacktrace": "Ievietot kļūdu ziņojumu starpliktuvē",
|
||||
"bundle_column_error.error.body": "Pieprasīto lapu nevarēja atveidot. Tas varētu būt saistīts ar kļūdu mūsu kodā, vai tā ir pārlūkprogrammas saderības problēma.",
|
||||
"bundle_column_error.error.title": "Ak vai!",
|
||||
"bundle_column_error.network.body": "Mēģinot ielādēt šo lapu, radās kļūda. Tas varētu būt saistīts ar īslaicīgu interneta savienojuma vai šī servera problēmu.",
|
||||
"bundle_column_error.network.body": "Kļūda lapas ielādēšanas laikā. Tas varētu būt īzlaicīgs sarežģījums ar interneta savienojumu vai šo serveri.",
|
||||
"bundle_column_error.network.title": "Tīkla kļūda",
|
||||
"bundle_column_error.retry": "Mēģināt vēlreiz",
|
||||
"bundle_column_error.return": "Atgriezties",
|
||||
"bundle_column_error.routing.body": "Pieprasīto lapu nevarēja atrast. Vai esi pārliecināts, ka URL adreses joslā ir pareizs?",
|
||||
"bundle_column_error.routing.title": "404",
|
||||
"bundle_modal_error.close": "Aizvērt",
|
||||
"bundle_modal_error.message": "Kaut kas nogāja greizi šī ekrāna ielādēšanas laikā.",
|
||||
"bundle_modal_error.retry": "Mēģināt vēlreiz",
|
||||
"closed_registrations.other_server_instructions": "Tā kā Mastodon ir decentralizēts, tu vari izveidot kontu citā serverī un joprojām mijiedarboties ar šo.",
|
||||
"closed_registrations_modal.description": "Pašlaik nav iespējams izveidot kontu {domain}, bet, lūdzu, ņem vērā, ka Tev nav nepieciešams tieši {domain} konts, lai lietotu Mastodon!",
|
||||
@@ -199,7 +202,7 @@
|
||||
"compose_form.poll.switch_to_multiple": "Mainīt aptaujas veidu, lai atļautu vairākas izvēles",
|
||||
"compose_form.poll.switch_to_single": "Mainīt aptaujas veidu, lai atļautu vienu izvēli",
|
||||
"compose_form.poll.type": "Stils",
|
||||
"compose_form.publish": "Nosūtīt",
|
||||
"compose_form.publish": "Iesūtīt",
|
||||
"compose_form.reply": "Atbildēt",
|
||||
"compose_form.save_changes": "Atjaunināt",
|
||||
"compose_form.spoiler.marked": "Noņemt satura brīdinājumu",
|
||||
@@ -213,6 +216,11 @@
|
||||
"confirmations.delete_list.confirm": "Dzēst",
|
||||
"confirmations.delete_list.message": "Vai tiešām neatgriezeniski izdzēst šo sarakstu?",
|
||||
"confirmations.delete_list.title": "Izdzēst sarakstu?",
|
||||
"confirmations.discard_draft.confirm": "Atmest un turpināt",
|
||||
"confirmations.discard_draft.edit.cancel": "Atsākt labošanu",
|
||||
"confirmations.discard_draft.post.cancel": "Atsākt melnrakstu",
|
||||
"confirmations.discard_draft.post.message": "Turpinot tiks atmests pašreiz sastādītais ieraksts.",
|
||||
"confirmations.discard_draft.post.title": "Atmest melnraksta ierakstu?",
|
||||
"confirmations.discard_edit_media.confirm": "Atmest",
|
||||
"confirmations.discard_edit_media.message": "Ir nesaglabātas izmaiņas informācijas nesēja aprakstā vai priekšskatījumā. Vēlies tās atmest tik un tā?",
|
||||
"confirmations.follow_to_list.confirm": "Sekot un pievienot sarakstam",
|
||||
@@ -317,6 +325,7 @@
|
||||
"explore.trending_statuses": "Ieraksti",
|
||||
"explore.trending_tags": "Tēmturi",
|
||||
"featured_carousel.next": "Tālāk",
|
||||
"featured_carousel.post": "Ieraksts",
|
||||
"featured_carousel.previous": "Atpakaļ",
|
||||
"featured_carousel.slide": "{index} / {total}",
|
||||
"filter_modal.added.context_mismatch_explanation": "Šī atlases kategorija neattiecas uz kontekstu, kurā esi piekļuvis šim ierakstam. Ja vēlies, lai ieraksts tiktu atlasīts arī šajā kontekstā, Tev būs jālabo atlase.",
|
||||
@@ -335,6 +344,7 @@
|
||||
"filter_modal.select_filter.subtitle": "Izmanto esošu kategoriju vai izveido jaunu",
|
||||
"filter_modal.select_filter.title": "Atlasīt šo ierakstu",
|
||||
"filter_modal.title.status": "Atlasīt ziņu",
|
||||
"filter_warning.matches_filter": "Atbilst atlasītājam “<span>{title}</span>”",
|
||||
"filtered_notifications_banner.title": "Filtrētie paziņojumi",
|
||||
"firehose.all": "Visi",
|
||||
"firehose.local": "Šis serveris",
|
||||
@@ -468,6 +478,7 @@
|
||||
"lists.delete": "Izdzēst sarakstu",
|
||||
"lists.done": "Gatavs",
|
||||
"lists.edit": "Labot sarakstu",
|
||||
"lists.find_users_to_add": "Atrast lietotājus, kurus pievienot",
|
||||
"lists.list_name": "Saraksta nosaukums",
|
||||
"lists.remove_member": "Noņemt",
|
||||
"lists.replies_policy.followed": "Jebkuram sekotajam lietotājam",
|
||||
@@ -494,10 +505,11 @@
|
||||
"navigation_bar.filters": "Apklusinātie vārdi",
|
||||
"navigation_bar.follow_requests": "Sekošanas pieprasījumi",
|
||||
"navigation_bar.followed_tags": "Sekojamie tēmturi",
|
||||
"navigation_bar.follows_and_followers": "Sekojamie un sekotāji",
|
||||
"navigation_bar.follows_and_followers": "Seko un sekotāji",
|
||||
"navigation_bar.lists": "Saraksti",
|
||||
"navigation_bar.logout": "Iziet",
|
||||
"navigation_bar.moderation": "Satura pārraudzība",
|
||||
"navigation_bar.more": "Vairāk",
|
||||
"navigation_bar.mutes": "Apklusinātie lietotāji",
|
||||
"navigation_bar.opened_in_classic_interface": "Ieraksti, konti un citas noteiktas lapas pēc noklusējuma tiek atvērtas klasiskajā tīmekļa saskarnē.",
|
||||
"navigation_bar.preferences": "Iestatījumi",
|
||||
@@ -533,6 +545,8 @@
|
||||
"notification_requests.dismiss": "Noraidīt",
|
||||
"notification_requests.edit_selection": "Labot",
|
||||
"notification_requests.exit_selection": "Gatavs",
|
||||
"notification_requests.explainer_for_limited_account": "Paziņojumi no šī konta tika atsijāti, jo pārvaldītājs ierobežoja kontu.",
|
||||
"notification_requests.explainer_for_limited_remote_account": "Paziņojumi no šī konta tika atsijāti, jo pārvaldītājs ierobežoja kontu vai tā serveri.",
|
||||
"notification_requests.notifications_from": "Paziņojumi no {name}",
|
||||
"notification_requests.title": "Atlasītie paziņojumi",
|
||||
"notification_requests.view": "Skatīt paziņojumus",
|
||||
@@ -572,6 +586,7 @@
|
||||
"notifications.permission_required": "Darbvirsmas paziņojumi nav pieejami, jo nav piešķirta nepieciešamā atļauja.",
|
||||
"notifications.policy.accept": "Pieņemt",
|
||||
"notifications.policy.drop": "Ignorēt",
|
||||
"notifications.policy.filter_limited_accounts_hint": "Servera satura pārraudzītāju ierobežots",
|
||||
"notifications.policy.filter_new_accounts_title": "Jauni konti",
|
||||
"notifications.policy.filter_not_followers_title": "Cilvēki, kuri Tev neseko",
|
||||
"notifications.policy.filter_not_following_hint": "Līdz tos pašrocīgi apstiprināsi",
|
||||
@@ -775,6 +790,7 @@
|
||||
"subscribed_languages.target": "Mainīt abonētās valodas priekš {target}",
|
||||
"tabs_bar.home": "Sākums",
|
||||
"tabs_bar.notifications": "Paziņojumi",
|
||||
"terms_of_service.effective_as_of": "Spēkā no {date}",
|
||||
"terms_of_service.title": "Pakalpojuma izmantošanas noteikumi",
|
||||
"time_remaining.days": "{number, plural, one {Atlikusi # diena} other {Atlikušas # dienas}}",
|
||||
"time_remaining.hours": "{number, plural, one {Atlikusi # stunda} other {Atlikušas # stundas}}",
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
{
|
||||
"about.blocks": "Siū 管制 ê 服侍器",
|
||||
"about.contact": "聯絡lâng:",
|
||||
"about.contact": "聯絡方法:",
|
||||
"about.default_locale": "預設",
|
||||
"about.disclaimer": "Mastodon是自由、開放原始碼ê軟體,mā是Mastodon gGmbH ê商標。",
|
||||
"about.domain_blocks.no_reason_available": "原因bē-tàng用",
|
||||
@@ -567,7 +567,7 @@
|
||||
"navigation_bar.live_feed_local": "即時ê內容(本地)",
|
||||
"navigation_bar.live_feed_public": "即時ê內容(公開)",
|
||||
"navigation_bar.logout": "登出",
|
||||
"navigation_bar.moderation": "審核",
|
||||
"navigation_bar.moderation": "管理",
|
||||
"navigation_bar.more": "其他",
|
||||
"navigation_bar.mutes": "消音ê用者",
|
||||
"navigation_bar.opened_in_classic_interface": "PO文、口座kap其他指定ê頁面,預設ē佇經典ê網頁界面內phah開。",
|
||||
@@ -604,11 +604,11 @@
|
||||
"notification.mention": "提起",
|
||||
"notification.mentioned_you": "{name}kā lí提起",
|
||||
"notification.moderation-warning.learn_more": "看詳細",
|
||||
"notification.moderation_warning": "Lí有收著審核ê警告",
|
||||
"notification.moderation_warning": "Lí有收著管理ê警告",
|
||||
"notification.moderation_warning.action_delete_statuses": "Lí ê一寡PO文hōo lâng thâi掉ah。",
|
||||
"notification.moderation_warning.action_disable": "Lí ê口座hōo lâng停止使用ah。",
|
||||
"notification.moderation_warning.action_mark_statuses_as_sensitive": "Lí ê一寡PO文,hōo lâng標做敏感ê內容。",
|
||||
"notification.moderation_warning.action_none": "Lí ê口座有收著審核ê警告。",
|
||||
"notification.moderation_warning.action_none": "Lí ê口座有收著管理ê警告。",
|
||||
"notification.moderation_warning.action_sensitive": "Tuì tsit-má開始,lí êPO文ē標做敏感ê內容。",
|
||||
"notification.moderation_warning.action_silence": "Lí ê口座hōo lâng限制ah。",
|
||||
"notification.moderation_warning.action_suspend": "Lí ê口座ê權限已經停止ah。",
|
||||
@@ -734,7 +734,7 @@
|
||||
"privacy.public.short": "公開ê",
|
||||
"privacy.unlisted.additional": "Tse ê行為kap公開相siâng,m̄-koh 就算lí佇口座設定phah開有關ê公開功能,PO文mā bē顯示佇即時ê動態、hashtag、探索kap Mastodon ê搜尋結果。",
|
||||
"privacy.unlisted.long": "減少演算法ê宣傳",
|
||||
"privacy.unlisted.short": "恬靜ê公開",
|
||||
"privacy.unlisted.short": "恬靜公開",
|
||||
"privacy_policy.last_updated": "上尾更新tī:{date}",
|
||||
"privacy_policy.title": "隱私權政策",
|
||||
"recommended": "推薦",
|
||||
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user