mirror of
https://github.com/glitch-soc/mastodon.git
synced 2024-11-27 10:30:15 -05:00
Merge commit 'c645490d553124d800d30488595f7d2d9d61584d' into glitch-soc/merge-upstream
Conflicts: - `Gemfile.lock`: Changes were already cherry-picked and updated further in glitch-soc. Kept glitch-soc's version. - `README.md`: Upstream updated its README, we have a completely different one. Kept glitch-soc's README. - `app/models/account.rb`: Not a real conflict, upstream updated some lines textually adjacent to glitch-soc-specific lines. Ported upstream's changes.
This commit is contained in:
commit
ef3d15554b
2
.github/workflows/crowdin-download.yml
vendored
2
.github/workflows/crowdin-download.yml
vendored
@ -53,7 +53,7 @@ jobs:
|
||||
|
||||
# Create or update the pull request
|
||||
- name: Create Pull Request
|
||||
uses: peter-evans/create-pull-request@v5.0.2
|
||||
uses: peter-evans/create-pull-request@v6.0.0
|
||||
with:
|
||||
commit-message: 'New Crowdin translations'
|
||||
title: 'New Crowdin Translations (automated)'
|
||||
|
4
.github/workflows/test-ruby.yml
vendored
4
.github/workflows/test-ruby.yml
vendored
@ -224,7 +224,7 @@ jobs:
|
||||
if: failure()
|
||||
with:
|
||||
name: e2e-screenshots
|
||||
path: tmp/screenshots/
|
||||
path: tmp/capybara/
|
||||
|
||||
test-search:
|
||||
name: Elastic Search integration testing
|
||||
@ -328,4 +328,4 @@ jobs:
|
||||
if: failure()
|
||||
with:
|
||||
name: test-search-screenshots
|
||||
path: tmp/screenshots/
|
||||
path: tmp/capybara/
|
||||
|
11
.rubocop.yml
11
.rubocop.yml
@ -96,12 +96,6 @@ Rails/FilePath:
|
||||
Rails/HttpStatus:
|
||||
EnforcedStyle: numeric
|
||||
|
||||
# Reason: Allowed in boot ENV checker
|
||||
# https://docs.rubocop.org/rubocop-rails/cops_rails.html#railsexit
|
||||
Rails/Exit:
|
||||
Exclude:
|
||||
- 'config/boot.rb'
|
||||
|
||||
# Reason: Conflicts with `Lint/UselessMethodDefinition` for inherited controller actions
|
||||
# https://docs.rubocop.org/rubocop-rails/cops_rails.html#railslexicallyscopedactionfilter
|
||||
Rails/LexicallyScopedActionFilter:
|
||||
@ -134,6 +128,11 @@ Rails/UnusedIgnoredColumns:
|
||||
Rails/NegateInclude:
|
||||
Enabled: false
|
||||
|
||||
# Reason: Enforce default limit, but allow some elements to span lines
|
||||
# https://docs.rubocop.org/rubocop-rspec/cops_rspec.html#rspecexamplelength
|
||||
RSpec/ExampleLength:
|
||||
CountAsOne: ['array', 'heredoc', 'method_call']
|
||||
|
||||
# Reason: Deprecated cop, will be removed in 3.0, replaced by SpecFilePathFormat
|
||||
# https://docs.rubocop.org/rubocop-rspec/cops_rspec.html#rspecfilepath
|
||||
RSpec/FilePath:
|
||||
|
@ -36,7 +36,7 @@ Metrics/PerceivedComplexity:
|
||||
|
||||
# Configuration parameters: CountAsOne.
|
||||
RSpec/ExampleLength:
|
||||
Max: 22
|
||||
Max: 20 # Override default of 5
|
||||
|
||||
RSpec/MultipleExpectations:
|
||||
Max: 7
|
||||
|
@ -62,11 +62,10 @@ class ActivityPub::InboxesController < ActivityPub::BaseController
|
||||
return if raw_params.blank? || ENV['DISABLE_FOLLOWERS_SYNCHRONIZATION'] == 'true' || signed_request_account.nil?
|
||||
|
||||
# Re-using the syntax for signature parameters
|
||||
tree = SignatureParamsParser.new.parse(raw_params)
|
||||
params = SignatureParamsTransformer.new.apply(tree)
|
||||
params = SignatureParser.parse(raw_params)
|
||||
|
||||
ActivityPub::PrepareFollowersSynchronizationService.new.call(signed_request_account, params)
|
||||
rescue Parslet::ParseFailed
|
||||
rescue SignatureParser::ParsingError
|
||||
Rails.logger.warn 'Error parsing Collection-Synchronization header'
|
||||
end
|
||||
|
||||
|
@ -188,7 +188,9 @@ class Auth::SessionsController < Devise::SessionsController
|
||||
)
|
||||
|
||||
# Only send a notification email every hour at most
|
||||
return if redis.set("2fa_failure_notification:#{user.id}", '1', ex: 1.hour, get: true).present?
|
||||
return if redis.get("2fa_failure_notification:#{user.id}").present?
|
||||
|
||||
redis.set("2fa_failure_notification:#{user.id}", '1', ex: 1.hour)
|
||||
|
||||
UserMailer.failed_2fa(user, request.remote_ip, request.user_agent, Time.now.utc).deliver_later!
|
||||
end
|
||||
|
@ -12,39 +12,6 @@ module SignatureVerification
|
||||
|
||||
class SignatureVerificationError < StandardError; end
|
||||
|
||||
class SignatureParamsParser < Parslet::Parser
|
||||
rule(:token) { match("[0-9a-zA-Z!#$%&'*+.^_`|~-]").repeat(1).as(:token) }
|
||||
rule(:quoted_string) { str('"') >> (qdtext | quoted_pair).repeat.as(:quoted_string) >> str('"') }
|
||||
# qdtext and quoted_pair are not exactly according to spec but meh
|
||||
rule(:qdtext) { match('[^\\\\"]') }
|
||||
rule(:quoted_pair) { str('\\') >> any }
|
||||
rule(:bws) { match('\s').repeat }
|
||||
rule(:param) { (token.as(:key) >> bws >> str('=') >> bws >> (token | quoted_string).as(:value)).as(:param) }
|
||||
rule(:comma) { bws >> str(',') >> bws }
|
||||
# Old versions of node-http-signature add an incorrect "Signature " prefix to the header
|
||||
rule(:buggy_prefix) { str('Signature ') }
|
||||
rule(:params) { buggy_prefix.maybe >> (param >> (comma >> param).repeat).as(:params) }
|
||||
root(:params)
|
||||
end
|
||||
|
||||
class SignatureParamsTransformer < Parslet::Transform
|
||||
rule(params: subtree(:param)) do
|
||||
(param.is_a?(Array) ? param : [param]).each_with_object({}) { |(key, value), hash| hash[key] = value }
|
||||
end
|
||||
|
||||
rule(param: { key: simple(:key), value: simple(:val) }) do
|
||||
[key, val]
|
||||
end
|
||||
|
||||
rule(quoted_string: simple(:string)) do
|
||||
string.to_s
|
||||
end
|
||||
|
||||
rule(token: simple(:string)) do
|
||||
string.to_s
|
||||
end
|
||||
end
|
||||
|
||||
def require_account_signature!
|
||||
render json: signature_verification_failure_reason, status: signature_verification_failure_code unless signed_request_account
|
||||
end
|
||||
@ -135,12 +102,8 @@ module SignatureVerification
|
||||
end
|
||||
|
||||
def signature_params
|
||||
@signature_params ||= begin
|
||||
raw_signature = request.headers['Signature']
|
||||
tree = SignatureParamsParser.new.parse(raw_signature)
|
||||
SignatureParamsTransformer.new.apply(tree)
|
||||
end
|
||||
rescue Parslet::ParseFailed
|
||||
@signature_params ||= SignatureParser.parse(request.headers['Signature'])
|
||||
rescue SignatureParser::ParsingError
|
||||
raise SignatureVerificationError, 'Error parsing signature parameters'
|
||||
end
|
||||
|
||||
|
@ -65,6 +65,7 @@ class UploadButton extends ImmutablePureComponent {
|
||||
key={resetFileKey}
|
||||
ref={this.setRef}
|
||||
type='file'
|
||||
name='file-upload-input'
|
||||
multiple
|
||||
accept={acceptContentTypes.toArray().join(',')}
|
||||
onChange={this.handleChange}
|
||||
|
@ -21,6 +21,7 @@ import { DisplayName } from 'mastodon/components/display_name';
|
||||
import { Icon } from 'mastodon/components/icon';
|
||||
import { IconButton } from 'mastodon/components/icon_button';
|
||||
import { VerifiedBadge } from 'mastodon/components/verified_badge';
|
||||
import { domain } from 'mastodon/initial_state';
|
||||
|
||||
const messages = defineMessages({
|
||||
follow: { id: 'account.follow', defaultMessage: 'Follow' },
|
||||
@ -28,27 +29,43 @@ const messages = defineMessages({
|
||||
previous: { id: 'lightbox.previous', defaultMessage: 'Previous' },
|
||||
next: { id: 'lightbox.next', defaultMessage: 'Next' },
|
||||
dismiss: { id: 'follow_suggestions.dismiss', defaultMessage: "Don't show again" },
|
||||
friendsOfFriendsHint: { id: 'follow_suggestions.hints.friends_of_friends', defaultMessage: 'This profile is popular among the people you follow.' },
|
||||
similarToRecentlyFollowedHint: { id: 'follow_suggestions.hints.similar_to_recently_followed', defaultMessage: 'This profile is similar to the profiles you have most recently followed.' },
|
||||
featuredHint: { id: 'follow_suggestions.hints.featured', defaultMessage: 'This profile has been hand-picked by the {domain} team.' },
|
||||
mostFollowedHint: { id: 'follow_suggestions.hints.most_followed', defaultMessage: 'This profile is one of the most followed on {domain}.'},
|
||||
mostInteractionsHint: { id: 'follow_suggestions.hints.most_interactions', defaultMessage: 'This profile has been recently getting a lot of attention on {domain}.' },
|
||||
});
|
||||
|
||||
const Source = ({ id }) => {
|
||||
let label;
|
||||
const intl = useIntl();
|
||||
|
||||
let label, hint;
|
||||
|
||||
switch (id) {
|
||||
case 'friends_of_friends':
|
||||
hint = intl.formatMessage(messages.friendsOfFriendsHint);
|
||||
label = <FormattedMessage id='follow_suggestions.personalized_suggestion' defaultMessage='Personalized suggestion' />;
|
||||
break;
|
||||
case 'similar_to_recently_followed':
|
||||
hint = intl.formatMessage(messages.similarToRecentlyFollowedHint);
|
||||
label = <FormattedMessage id='follow_suggestions.personalized_suggestion' defaultMessage='Personalized suggestion' />;
|
||||
break;
|
||||
case 'featured':
|
||||
label = <FormattedMessage id='follow_suggestions.curated_suggestion' defaultMessage="Editors' Choice" />;
|
||||
hint = intl.formatMessage(messages.featuredHint, { domain });
|
||||
label = <FormattedMessage id='follow_suggestions.curated_suggestion' defaultMessage='Staff pick' />;
|
||||
break;
|
||||
case 'most_followed':
|
||||
hint = intl.formatMessage(messages.mostFollowedHint, { domain });
|
||||
label = <FormattedMessage id='follow_suggestions.popular_suggestion' defaultMessage='Popular suggestion' />;
|
||||
break;
|
||||
case 'most_interactions':
|
||||
hint = intl.formatMessage(messages.mostInteractionsHint, { domain });
|
||||
label = <FormattedMessage id='follow_suggestions.popular_suggestion' defaultMessage='Popular suggestion' />;
|
||||
break;
|
||||
}
|
||||
|
||||
return (
|
||||
<div className='inline-follow-suggestions__body__scrollable__card__text-stack__source'>
|
||||
<div className='inline-follow-suggestions__body__scrollable__card__text-stack__source' title={hint}>
|
||||
<Icon icon={InfoIcon} />
|
||||
{label}
|
||||
</div>
|
||||
@ -92,7 +109,7 @@ const Card = ({ id, sources }) => {
|
||||
{firstVerifiedField ? <VerifiedBadge link={firstVerifiedField.get('value')} /> : <Source id={sources.get(0)} />}
|
||||
</div>
|
||||
|
||||
<Button text={intl.formatMessage(following ? messages.unfollow : messages.follow)} onClick={handleFollow} />
|
||||
<Button text={intl.formatMessage(following ? messages.unfollow : messages.follow)} secondary={following} onClick={handleFollow} />
|
||||
</div>
|
||||
);
|
||||
};
|
||||
|
@ -152,8 +152,8 @@
|
||||
"compose_form.poll.switch_to_multiple": "Змяніце апытанне, каб дазволіць некалькі варыянтаў адказу",
|
||||
"compose_form.poll.switch_to_single": "Змяніце апытанне, каб дазволіць адзіны варыянт адказу",
|
||||
"compose_form.poll.type": "Стыль",
|
||||
"compose_form.publish": "Допіс",
|
||||
"compose_form.publish_form": "Апублікаваць",
|
||||
"compose_form.publish": "Даслаць",
|
||||
"compose_form.publish_form": "Новы допіс",
|
||||
"compose_form.reply": "Адказаць",
|
||||
"compose_form.save_changes": "Абнавіць",
|
||||
"compose_form.spoiler.marked": "Выдаліць папярэджанне аб змесціве",
|
||||
|
@ -3,7 +3,7 @@
|
||||
"about.contact": "За контакти:",
|
||||
"about.disclaimer": "Mastodon е безплатен софтуер с отворен изходен код и търговска марка на Mastodon gGmbH.",
|
||||
"about.domain_blocks.no_reason_available": "Няма налична причина",
|
||||
"about.domain_blocks.preamble": "Mastodon обикновено позволява да разглеждате съдържание и да взаимодействате с други потребители от всякакви сървъри във Федивърс. Има изключения, направени конкретно за този сървър.",
|
||||
"about.domain_blocks.preamble": "Mastodon обикновено позволява да разглеждате съдържание и да взаимодействате с други потребители от всякакви сървъри във Федивселената. Има изключения, направени конкретно за този сървър.",
|
||||
"about.domain_blocks.silenced.explanation": "Обикновено няма да виждате профили и съдържание, освен ако изрично не го потърсите или се включете в него, следвайки го.",
|
||||
"about.domain_blocks.silenced.title": "Ограничено",
|
||||
"about.domain_blocks.suspended.explanation": "Никакви данни от този сървър няма да се обработват, съхраняват или обменят, правещи невъзможно всяко взаимодействие или комуникация с потребители от тези сървъри.",
|
||||
@ -110,7 +110,7 @@
|
||||
"column.about": "Относно",
|
||||
"column.blocks": "Блокирани потребители",
|
||||
"column.bookmarks": "Отметки",
|
||||
"column.community": "Локална часова ос",
|
||||
"column.community": "Локален инфопоток",
|
||||
"column.direct": "Частни споменавания",
|
||||
"column.directory": "Разглеждане на профили",
|
||||
"column.domain_blocks": "Блокирани домейни",
|
||||
@ -201,7 +201,7 @@
|
||||
"disabled_account_banner.text": "Вашият акаунт {disabledAccount} сега е изключен.",
|
||||
"dismissable_banner.community_timeline": "Ето най-скорошните публични публикации от хора, чиито акаунти са разположени в {domain}.",
|
||||
"dismissable_banner.dismiss": "Отхвърляне",
|
||||
"dismissable_banner.explore_links": "Тези новини се разказват от хората в този и други сървъри на децентрализираната мрежа точно сега.",
|
||||
"dismissable_banner.explore_links": "Това са най-споделяните новини в социалната мрежа днес. По-нови истории, споделени от повече хора се показват по-напред.",
|
||||
"dismissable_banner.explore_statuses": "Има публикации през социалната мрежа, които днес набират популярност. По-новите публикации с повече подсилвания и любими са класирани по-високо.",
|
||||
"dismissable_banner.explore_tags": "Тези хаштагове сега набират популярност сред хората в този и други сървъри на децентрализирата мрежа.",
|
||||
"dismissable_banner.public_timeline": "Ето най-новите обществени публикации от хора в социална мрежа, която хората в {domain} следват.",
|
||||
@ -228,10 +228,10 @@
|
||||
"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.explore_statuses": "Няма тенденции в момента. Проверете пак по-късно!",
|
||||
"empty_column.favourited_statuses": "Още нямате никакви любими публикации. Правейки любима, то тя ще се покаже тук.",
|
||||
"empty_column.favourites": "Още никого не е слагал публикацията в любими. Когато някой го направи, този човек ще се покаже тук.",
|
||||
"empty_column.follow_requests": "Още нямате заявки за последване. Получавайки такава, то тя ще се покаже тук.",
|
||||
@ -348,10 +348,10 @@
|
||||
"keyboard_shortcuts.favourites": "Отваряне на списъка с любими",
|
||||
"keyboard_shortcuts.federated": "Отваряне на федерирания инфопоток",
|
||||
"keyboard_shortcuts.heading": "Клавишни съчетания",
|
||||
"keyboard_shortcuts.home": "Отваряне на началната часова ос",
|
||||
"keyboard_shortcuts.home": "Отваряне на личния инфопоток",
|
||||
"keyboard_shortcuts.hotkey": "Бърз клавиш",
|
||||
"keyboard_shortcuts.legend": "Показване на тази легенда",
|
||||
"keyboard_shortcuts.local": "Отваряне на местна часова ос",
|
||||
"keyboard_shortcuts.local": "Отваряне на локалния инфопоток",
|
||||
"keyboard_shortcuts.mention": "Споменаване на автора",
|
||||
"keyboard_shortcuts.muted": "Отваряне на списъка със заглушени потребители",
|
||||
"keyboard_shortcuts.my_profile": "Отваряне на профила ви",
|
||||
@ -402,12 +402,12 @@
|
||||
"navigation_bar.advanced_interface": "Отваряне в разширен уебинтерфейс",
|
||||
"navigation_bar.blocks": "Блокирани потребители",
|
||||
"navigation_bar.bookmarks": "Отметки",
|
||||
"navigation_bar.community_timeline": "Локална часова ос",
|
||||
"navigation_bar.community_timeline": "Локален инфопоток",
|
||||
"navigation_bar.compose": "Съставяне на нова публикация",
|
||||
"navigation_bar.direct": "Частни споменавания",
|
||||
"navigation_bar.discover": "Откриване",
|
||||
"navigation_bar.domain_blocks": "Блокирани домейни",
|
||||
"navigation_bar.explore": "Изследване",
|
||||
"navigation_bar.explore": "Разглеждане",
|
||||
"navigation_bar.favourites": "Любими",
|
||||
"navigation_bar.filters": "Заглушени думи",
|
||||
"navigation_bar.follow_requests": "Заявки за последване",
|
||||
@ -474,10 +474,10 @@
|
||||
"notifications_permission_banner.title": "Никога не пропускате нещо",
|
||||
"onboarding.action.back": "Върнете ме обратно",
|
||||
"onboarding.actions.back": "Върнете ме обратно",
|
||||
"onboarding.actions.go_to_explore": "Вижте какво изгрява",
|
||||
"onboarding.actions.go_to_explore": "Виж тенденции",
|
||||
"onboarding.actions.go_to_home": "Към началния ви инфоканал",
|
||||
"onboarding.compose.template": "Здравейте, #Mastodon!",
|
||||
"onboarding.follows.empty": "За съжаление, в момента не могат да се показват резултати. Може да опитате да употребявате търсене или да прегледате страницата за изследване, за да намерите страница за последване, или да опитате пак по-късно.",
|
||||
"onboarding.follows.empty": "За съжаление, в момента не могат да бъдат показани резултати. Може да опитате да търсите или да разгледате, за да намерите кого да последвате, или опитайте отново по-късно.",
|
||||
"onboarding.follows.lead": "Може да бъдете куратор на началния си инфоканал. Последвайки повече хора, по-деен и по-интересен ще става. Тези профили може да са добра начална точка, от която винаги по-късно да спрете да следвате!",
|
||||
"onboarding.follows.title": "Популярно в Mastodon",
|
||||
"onboarding.profile.discoverable": "Правене на моя профил откриваем",
|
||||
@ -524,13 +524,13 @@
|
||||
"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": "Последователи",
|
||||
"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}",
|
||||
|
@ -532,7 +532,7 @@
|
||||
"privacy.public.short": "Públic",
|
||||
"privacy.unlisted.additional": "Es comporta igual que públic, excepte que la publicació no apareixerà als canals en directe o etiquetes, l'explora o a la cerca de Mastodon, fins i tot si ho heu activat a nivell de compte.",
|
||||
"privacy.unlisted.long": "Menys fanfàrries algorísmiques",
|
||||
"privacy.unlisted.short": "Públic tranquil",
|
||||
"privacy.unlisted.short": "Públic silenciós",
|
||||
"privacy_policy.last_updated": "Darrera actualització {date}",
|
||||
"privacy_policy.title": "Política de Privacitat",
|
||||
"recommended": "Recomanat",
|
||||
|
@ -237,7 +237,7 @@
|
||||
"empty_column.follow_requests": "Zatím nemáte žádné žádosti o sledování. Až nějakou obdržíte, zobrazí se zde.",
|
||||
"empty_column.followed_tags": "Zatím jste nesledovali žádné hashtagy. Až to uděláte, objeví se zde.",
|
||||
"empty_column.hashtag": "Pod tímto hashtagem zde zatím nic není.",
|
||||
"empty_column.home": "Vaše domovská časová osa je prázdná! Naplňte ji sledováním dalších lidí. {suggestions}",
|
||||
"empty_column.home": "Vaše domovská časová osa je prázdná! Naplňte ji sledováním dalších lidí.",
|
||||
"empty_column.list": "V tomto seznamu zatím nic není. Až nějaký člen z tohoto seznamu zveřejní nový příspěvek, objeví se zde.",
|
||||
"empty_column.lists": "Zatím nemáte žádné seznamy. Až nějaký vytvoříte, zobrazí se zde.",
|
||||
"empty_column.mutes": "Zatím jste neskryli žádného uživatele.",
|
||||
@ -277,8 +277,11 @@
|
||||
"follow_request.authorize": "Autorizovat",
|
||||
"follow_request.reject": "Zamítnout",
|
||||
"follow_requests.unlocked_explanation": "Přestože váš účet není zamčený, administrátor {domain} usoudil, že byste mohli chtít tyto žádosti o sledování zkontrolovat ručně.",
|
||||
"follow_suggestions.curated_suggestion": "Návrh serveru",
|
||||
"follow_suggestions.dismiss": "Znovu nezobrazovat",
|
||||
"follow_suggestions.personalized_suggestion": "Přizpůsobený návrh",
|
||||
"follow_suggestions.popular_suggestion": "Populární návrh",
|
||||
"follow_suggestions.view_all": "Zobrazit vše",
|
||||
"follow_suggestions.who_to_follow": "Koho sledovat",
|
||||
"followed_tags": "Sledované hashtagy",
|
||||
"footer.about": "O aplikaci",
|
||||
@ -300,8 +303,12 @@
|
||||
"hashtag.column_settings.tag_mode.any": "Jakýkoliv z těchto",
|
||||
"hashtag.column_settings.tag_mode.none": "Žádný z těchto",
|
||||
"hashtag.column_settings.tag_toggle": "Zahrnout v tomto sloupci další štítky",
|
||||
"hashtag.counter_by_accounts": "{count, plural, one {{counter} účastník} few {{counter} účastníci} other {{counter} účastníků}}",
|
||||
"hashtag.counter_by_uses": "{count, plural, one {{counter} příspěvek} few {{counter} příspěvky} other {{counter} příspěvků}}",
|
||||
"hashtag.counter_by_uses_today": "Dnes {count, plural, one {{counter} příspěvek} few {{counter} příspěvky} other {{counter} příspěvků}}",
|
||||
"hashtag.follow": "Sledovat hashtag",
|
||||
"hashtag.unfollow": "Přestat sledovat hashtag",
|
||||
"hashtags.and_other": "…a {count, plural, one {# další} few {# další} other {# dalších}}",
|
||||
"home.column_settings.basic": "Základní",
|
||||
"home.column_settings.show_reblogs": "Zobrazit boosty",
|
||||
"home.column_settings.show_replies": "Zobrazit odpovědi",
|
||||
@ -471,8 +478,8 @@
|
||||
"onboarding.actions.go_to_home": "Přejít na svůj domovský feed",
|
||||
"onboarding.compose.template": "Ahoj #Mastodon!",
|
||||
"onboarding.follows.empty": "Bohužel, žádné výsledky nelze momentálně zobrazit. Můžete zkusit vyhledat nebo procházet stránku s průzkumem a najít lidi, kteří budou sledovat, nebo to zkuste znovu později.",
|
||||
"onboarding.follows.lead": "You curate your own home feed. The more people you follow, the more active and interesting it will be. These profiles may be a good starting point—you can always unfollow them later!",
|
||||
"onboarding.follows.title": "Populární na Mastodonu",
|
||||
"onboarding.follows.lead": "Domovský kanál je hlavní metodou zažívání Mastodonu. Čím více lidí sledujete, tím aktivnější a zajímavější bude. Pro začnutí, zde máte několik návrhů:",
|
||||
"onboarding.follows.title": "Přispůsobit vlastní domovský kanál",
|
||||
"onboarding.profile.discoverable": "Udělat svůj profil vyhledatelným",
|
||||
"onboarding.profile.discoverable_hint": "Když se rozhodnete být vyhledatelný na Mastodonu, vaše příspěvky se mohou objevit ve výsledcích vyhledávání a v populárních, a váš profil může být navrhován lidem s podobnými zájmy.",
|
||||
"onboarding.profile.display_name": "Zobrazované jméno",
|
||||
@ -491,13 +498,13 @@
|
||||
"onboarding.start.lead": "Your new Mastodon account is ready to go. Here's how you can make the most of it:",
|
||||
"onboarding.start.skip": "Want to skip right ahead?",
|
||||
"onboarding.start.title": "Dokázali jste to!",
|
||||
"onboarding.steps.follow_people.body": "You curate your own feed. Lets fill it with interesting people.",
|
||||
"onboarding.steps.follow_people.title": "Follow {count, plural, one {one person} other {# people}}",
|
||||
"onboarding.steps.publish_status.body": "Řekněte světu Ahoj.",
|
||||
"onboarding.steps.follow_people.body": "Mastodon je o sledování zajimavých lidí.",
|
||||
"onboarding.steps.follow_people.title": "Přispůsobit vlastní domovský kanál",
|
||||
"onboarding.steps.publish_status.body": "Řekněte světu ahoj s pomocí textem, fotografiemi, videami nebo anketami {emoji}",
|
||||
"onboarding.steps.publish_status.title": "Vytvořte svůj první příspěvek",
|
||||
"onboarding.steps.setup_profile.body": "Others are more likely to interact with you with a filled out profile.",
|
||||
"onboarding.steps.setup_profile.title": "Přizpůsobit svůj profil",
|
||||
"onboarding.steps.share_profile.body": "Let your friends know how to find you on Mastodon!",
|
||||
"onboarding.steps.share_profile.body": "Dejte blízkým lidem vědět, jak vás mohou najít na Mastodonu",
|
||||
"onboarding.steps.share_profile.title": "Sdílejte svůj profil",
|
||||
"onboarding.tips.2fa": "<strong>Víte, že?</strong> Svůj účet můžete zabezpečit nastavením dvoufaktorového ověřování v nastavení účtu. Funguje s jakoukoli TOTP aplikací podle vašeho výběru, telefonní číslo není nutné!",
|
||||
"onboarding.tips.accounts_from_other_servers": "<strong>Víte, že?</strong> Protože je Mastodon decentralizovaný, některé profily, na které narazíte, budou hostovány na jiných serverech, než je ten váš. A přesto s nimi můžete bezproblémově komunikovat! Jejich server se nachází v druhé polovině uživatelského jména!",
|
||||
@ -525,6 +532,7 @@
|
||||
"privacy.public.short": "Veřejné",
|
||||
"privacy.unlisted.additional": "Chová se stejně jako veřejný, až na to, že se příspěvek neobjeví v živých kanálech nebo hashtazích, v objevování nebo vyhledávání na Mastodonu, a to i když je účet nastaven tak, aby se zde všude tyto příspěvky zobrazovaly.",
|
||||
"privacy.unlisted.long": "Méně algoritmických fanfár",
|
||||
"privacy.unlisted.short": "Ztišené veřejné",
|
||||
"privacy_policy.last_updated": "Naposledy aktualizováno {date}",
|
||||
"privacy_policy.title": "Zásady ochrany osobních údajů",
|
||||
"recommended": "Doporučeno",
|
||||
@ -542,6 +550,7 @@
|
||||
"relative_time.minutes": "{number} m",
|
||||
"relative_time.seconds": "{number} s",
|
||||
"relative_time.today": "dnes",
|
||||
"reply_indicator.attachments": "{count, plural, one {{counter} příloha} few {{counter} přílohy} other {{counter} přilohů}}",
|
||||
"reply_indicator.cancel": "Zrušit",
|
||||
"reply_indicator.poll": "Anketa",
|
||||
"report.block": "Blokovat",
|
||||
|
@ -146,12 +146,12 @@
|
||||
"compose_form.lock_disclaimer.lock": "geschützt",
|
||||
"compose_form.placeholder": "Was gibt’s Neues?",
|
||||
"compose_form.poll.duration": "Umfragedauer",
|
||||
"compose_form.poll.multiple": "Mehrfachauswahl",
|
||||
"compose_form.poll.option_placeholder": "{number}. Auswahlmöglichkeit",
|
||||
"compose_form.poll.multiple": "Multiple-Choice",
|
||||
"compose_form.poll.option_placeholder": "Option {number}",
|
||||
"compose_form.poll.single": "Einfachauswahl",
|
||||
"compose_form.poll.switch_to_multiple": "Mehrfachauswahl erlauben",
|
||||
"compose_form.poll.switch_to_single": "Nur Einfachauswahl erlauben",
|
||||
"compose_form.poll.type": "Art",
|
||||
"compose_form.poll.type": "Stil",
|
||||
"compose_form.publish": "Veröffentlichen",
|
||||
"compose_form.publish_form": "Neuer Beitrag",
|
||||
"compose_form.reply": "Antworten",
|
||||
@ -277,9 +277,9 @@
|
||||
"follow_request.authorize": "Genehmigen",
|
||||
"follow_request.reject": "Ablehnen",
|
||||
"follow_requests.unlocked_explanation": "Auch wenn dein Konto öffentlich bzw. nicht geschützt ist, haben die Moderator*innen von {domain} gedacht, dass du diesen Follower lieber manuell bestätigen solltest.",
|
||||
"follow_suggestions.curated_suggestion": "Vom Server empfohlen",
|
||||
"follow_suggestions.curated_suggestion": "Auswahl des Herausgebers",
|
||||
"follow_suggestions.dismiss": "Nicht mehr anzeigen",
|
||||
"follow_suggestions.personalized_suggestion": "Personalisierte Empfehlung",
|
||||
"follow_suggestions.personalized_suggestion": "Persönliche Empfehlung",
|
||||
"follow_suggestions.popular_suggestion": "Beliebte Empfehlung",
|
||||
"follow_suggestions.view_all": "Alle anzeigen",
|
||||
"follow_suggestions.who_to_follow": "Empfohlene Profile",
|
||||
@ -528,7 +528,7 @@
|
||||
"privacy.direct.short": "Bestimmte Profile",
|
||||
"privacy.private.long": "Nur deine Follower",
|
||||
"privacy.private.short": "Follower",
|
||||
"privacy.public.long": "Alle auf und außerhalb von Mastodon",
|
||||
"privacy.public.long": "Alle in und außerhalb von Mastodon",
|
||||
"privacy.public.short": "Öffentlich",
|
||||
"privacy.unlisted.additional": "Das Verhalten ist wie bei „Öffentlich“, jedoch erscheint dieser Beitrag nicht in „Live-Feeds“, „Erkunden“, Hashtags oder über die Mastodon-Suchfunktion – selbst wenn du das in den Einstellungen aktiviert hast.",
|
||||
"privacy.unlisted.long": "Weniger im Algorithmus berücksichtigt",
|
||||
|
@ -308,7 +308,7 @@
|
||||
"hashtag.counter_by_uses_today": "{count, plural, one {{counter} post} other {{counter} posts}} today",
|
||||
"hashtag.follow": "Follow hashtag",
|
||||
"hashtag.unfollow": "Unfollow hashtag",
|
||||
"hashtags.and_other": "…and {count, plural, one {}other {# more}}",
|
||||
"hashtags.and_other": "…and {count, plural, one {one more} other {# more}}",
|
||||
"home.column_settings.basic": "Basic",
|
||||
"home.column_settings.show_reblogs": "Show boosts",
|
||||
"home.column_settings.show_replies": "Show replies",
|
||||
|
@ -277,8 +277,13 @@
|
||||
"follow_request.authorize": "Authorize",
|
||||
"follow_request.reject": "Reject",
|
||||
"follow_requests.unlocked_explanation": "Even though your account is not locked, the {domain} staff thought you might want to review follow requests from these accounts manually.",
|
||||
"follow_suggestions.curated_suggestion": "Editors' Choice",
|
||||
"follow_suggestions.curated_suggestion": "Staff pick",
|
||||
"follow_suggestions.dismiss": "Don't show again",
|
||||
"follow_suggestions.hints.featured": "This profile has been hand-picked by the {domain} team.",
|
||||
"follow_suggestions.hints.friends_of_friends": "This profile is popular among the people you follow.",
|
||||
"follow_suggestions.hints.most_followed": "This profile is one of the most followed on {domain}.",
|
||||
"follow_suggestions.hints.most_interactions": "This profile has been recently getting a lot of attention on {domain}.",
|
||||
"follow_suggestions.hints.similar_to_recently_followed": "This profile is similar to the profiles you have most recently followed.",
|
||||
"follow_suggestions.personalized_suggestion": "Personalized suggestion",
|
||||
"follow_suggestions.popular_suggestion": "Popular suggestion",
|
||||
"follow_suggestions.view_all": "View all",
|
||||
|
@ -115,7 +115,7 @@
|
||||
"column.directory": "Foliumi la profilojn",
|
||||
"column.domain_blocks": "Blokitaj domajnoj",
|
||||
"column.favourites": "Stelumoj",
|
||||
"column.firehose": "Vivantaj fluoj",
|
||||
"column.firehose": "Rektaj fluoj",
|
||||
"column.follow_requests": "Petoj de sekvado",
|
||||
"column.home": "Hejmo",
|
||||
"column.lists": "Listoj",
|
||||
|
@ -530,6 +530,8 @@
|
||||
"privacy.private.short": "Seguidores",
|
||||
"privacy.public.long": "Cualquiera dentro y fuera de Mastodon",
|
||||
"privacy.public.short": "Público",
|
||||
"privacy.unlisted.additional": "Esto se comporta exactamente igual que el público, excepto que la publicación no aparecerá en la cronología en directo o en las etiquetas, la exploración o búsqueda de Mastodon, incluso si está optado por activar la cuenta de usuario.",
|
||||
"privacy.unlisted.long": "Menos fanfares algorítmicos",
|
||||
"privacy.unlisted.short": "Público tranquilo",
|
||||
"privacy_policy.last_updated": "Actualizado por última vez {date}",
|
||||
"privacy_policy.title": "Política de Privacidad",
|
||||
|
@ -46,7 +46,9 @@
|
||||
"account.report": "I-ulat si/ang @{name}",
|
||||
"account.requested_follow": "Hinihiling ni {name} na sundan ka",
|
||||
"account.show_reblogs": "Ipakita ang mga pagpapalakas mula sa/kay {name}",
|
||||
"account.unendorse": "Huwag itampok sa profile",
|
||||
"admin.dashboard.retention.cohort_size": "Mga bagong tagagamit",
|
||||
"alert.rate_limited.message": "Mangyaring subukan muli pagkatapos ng {retry_time, time, medium}.",
|
||||
"bundle_column_error.error.title": "Naku!",
|
||||
"bundle_column_error.network.body": "Nagkaroon ng kamalian habang sinusubukang i-karga ang pahinang ito. Maaaring dahil ito sa pansamantalang problema ng iyong koneksyon sa internet o ang server na ito.",
|
||||
"bundle_column_error.network.title": "Kamaliang network",
|
||||
@ -107,6 +109,7 @@
|
||||
"confirmations.block.message": "Sigurado ka bang gusto mong harangan si {name}?",
|
||||
"confirmations.cancel_follow_request.confirm": "Bawiin ang kahilingan",
|
||||
"confirmations.cancel_follow_request.message": "Sigurdo ka bang gusto mong bawiin ang kahilingang sundan si/ang {name}?",
|
||||
"confirmations.discard_edit_media.confirm": "Ipagpaliban",
|
||||
"confirmations.domain_block.confirm": "Harangan ang buong domain",
|
||||
"confirmations.edit.confirm": "Baguhin",
|
||||
"confirmations.reply.confirm": "Tumugon",
|
||||
@ -175,10 +178,14 @@
|
||||
"hashtag.column_header.tag_mode.all": "at {additional}",
|
||||
"hashtag.column_header.tag_mode.any": "o {additional}",
|
||||
"home.pending_critical_update.body": "Mangyaring i-update ang iyong serbiro ng Mastodon sa lalong madaling panahon!",
|
||||
"interaction_modal.login.action": "Iuwi mo ako",
|
||||
"interaction_modal.no_account_yet": "Wala sa Mastodon?",
|
||||
"interaction_modal.on_another_server": "Sa ibang serbiro",
|
||||
"interaction_modal.on_this_server": "Sa serbirong ito",
|
||||
"interaction_modal.title.follow": "Sundan si {name}",
|
||||
"intervals.full.days": "{number, plural, one {# araw} other {# na araw}}",
|
||||
"intervals.full.hours": "{number, plural, one {# oras} other {# na oras}}",
|
||||
"intervals.full.minutes": "{number, plural, one {# minuto} other {# na minuto}}",
|
||||
"keyboard_shortcuts.description": "Paglalarawan",
|
||||
"keyboard_shortcuts.down": "Ilipat pababa sa talaan",
|
||||
"keyboard_shortcuts.requests": "Buksan ang talaan ng mga kahilingan sa pagsunod",
|
||||
@ -186,35 +193,72 @@
|
||||
"lightbox.close": "Isara",
|
||||
"lightbox.next": "Susunod",
|
||||
"lightbox.previous": "Nakaraan",
|
||||
"link_preview.author": "Ni/ng {name}",
|
||||
"lists.account.add": "Idagdag sa talaan",
|
||||
"lists.account.remove": "Tanggalin mula sa talaan",
|
||||
"lists.new.create": "Idagdag sa talaan",
|
||||
"lists.new.title_placeholder": "Bagong pangalan ng talaan",
|
||||
"lists.replies_policy.title": "Ipakita ang mga tugon sa:",
|
||||
"lists.subheading": "Iyong mga talaan",
|
||||
"loading_indicator.label": "Kumakarga…",
|
||||
"navigation_bar.about": "Tungkol dito",
|
||||
"navigation_bar.blocks": "Nakaharang na mga tagagamit",
|
||||
"navigation_bar.favourites": "Mga paborito",
|
||||
"navigation_bar.lists": "Mga listahan",
|
||||
"navigation_bar.search": "Maghanap",
|
||||
"notification.admin.report": "Iniulat ni {name} si {target}",
|
||||
"notification.follow": "Sinundan ka ni {name}",
|
||||
"notification.follow_request": "Hinihiling ni {name} na sundan ka",
|
||||
"notification.mention": "Binanggit ka ni {name}",
|
||||
"notifications.column_settings.admin.report": "Mga bagong ulat:",
|
||||
"notifications.column_settings.favourite": "Mga paborito:",
|
||||
"notifications.column_settings.follow": "Mga bagong tagasunod:",
|
||||
"notifications.column_settings.update": "Mga pagbago:",
|
||||
"notifications.filter.all": "Lahat",
|
||||
"onboarding.action.back": "Ibalik mo ako",
|
||||
"onboarding.actions.back": "Ibalik mo ako",
|
||||
"onboarding.profile.save_and_continue": "Iimbak at magpatuloy",
|
||||
"onboarding.share.next_steps": "Mga posibleng susunod na hakbang:",
|
||||
"poll.voted": "Binoto mo para sa sagot na ito",
|
||||
"poll_button.remove_poll": "Tanggalin ang boto",
|
||||
"relative_time.days": "{number}a",
|
||||
"relative_time.full.days": "{number, plural, one {# araw} other {# na araw}} ang nakalipas",
|
||||
"relative_time.full.hours": "{number, plural, one {# oras} other {# na oras}} ang nakalipas",
|
||||
"relative_time.full.just_now": "ngayon lang",
|
||||
"relative_time.full.minutes": "{number, plural, one {# minuto} other {# na minuto}} ang nakalipas",
|
||||
"relative_time.full.seconds": "{number, plural, one {# segundo} other {# na segundo}} ang nakalipas",
|
||||
"relative_time.hours": "{number}o",
|
||||
"relative_time.just_now": "ngayon",
|
||||
"relative_time.minutes": "{number}m",
|
||||
"relative_time.seconds": "{number}s",
|
||||
"reply_indicator.cancel": "Ipagpaliban",
|
||||
"report.block": "Harangan",
|
||||
"report.categories.other": "Iba pa",
|
||||
"report.category.title": "Sabihin mo sa amin kung anong nangyari sa {type} na ito",
|
||||
"report.close": "Tapos na",
|
||||
"report.next": "Sunod",
|
||||
"report.reasons.violation": "Lumalabag ito sa mga panuntunan ng serbiro",
|
||||
"report.reasons.violation_description": "Alam mo na lumalabag ito sa mga partikular na panuntunan",
|
||||
"report.rules.title": "Aling mga patakaran ang nilabag?",
|
||||
"report.submit": "Isumite",
|
||||
"report.target": "Iniulat si/ang {target}",
|
||||
"report.thanks.take_action_actionable": "Habang sinusuri namin ito, maaari kang gumawa ng aksyon laban kay/sa {name}:",
|
||||
"report.thanks.title": "Ayaw mo bang makita ito?",
|
||||
"report.thanks.title_actionable": "Salamat sa pag-uulat, titingnan namin ito.",
|
||||
"report_notification.categories.other": "Iba pa",
|
||||
"search_results.all": "Lahat",
|
||||
"server_banner.learn_more": "Matuto nang higit pa",
|
||||
"status.direct_indicator": "Palihim na banggit",
|
||||
"status.edit": "Baguhin",
|
||||
"status.edited": "Binago noong {date}",
|
||||
"status.edited_x_times": "Binago {count, plural, one {{count} beses} other {{count} na beses}}",
|
||||
"status.history.created": "Nilikha ni/ng {name} {date}",
|
||||
"status.history.edited": "Binago ni/ng {name} {date}",
|
||||
"status.mention": "Banggitin ang/si @{name}",
|
||||
"status.more": "Higit pa",
|
||||
"status.reply": "Tumugon",
|
||||
"status.report": "I-ulat si/ang @{name}",
|
||||
"status.sensitive_warning": "Sensitibong nilalaman",
|
||||
"status.share": "Ibahagi",
|
||||
"status.show_less": "Magpakita ng mas kaunti",
|
||||
"status.show_less_all": "Magpakita ng mas kaunti para sa lahat",
|
||||
@ -222,5 +266,12 @@
|
||||
"status.show_more_all": "Magpakita ng higit pa para sa lahat",
|
||||
"status.translate": "Isalin",
|
||||
"status.translated_from_with": "Isalin mula sa {lang} gamit ang {provider}",
|
||||
"status.uncached_media_warning": "Hindi makuha ang paunang tigin"
|
||||
"status.uncached_media_warning": "Hindi makuha ang paunang tigin",
|
||||
"time_remaining.days": "{number, plural, one {# araw} other {# na araw}} ang natitira",
|
||||
"time_remaining.hours": "{number, plural, one {# oras} other {# na oras}} ang natitira",
|
||||
"time_remaining.minutes": "{number, plural, one {# minuto} other {# na minuto}} ang natitira",
|
||||
"time_remaining.seconds": "{number, plural, one {# segundo} other {# na segundo}} ang natitira",
|
||||
"timeline_hint.remote_resource_not_displayed": "Hindi ipinapakita ang {resource} mula sa ibang mga serbiro.",
|
||||
"timeline_hint.resources.followers": "Mga tagasunod",
|
||||
"timeline_hint.resources.follows": "Mga sinusundan"
|
||||
}
|
||||
|
@ -2,6 +2,10 @@
|
||||
"about.blocks": "Servitores moderate",
|
||||
"about.contact": "Contacto:",
|
||||
"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.silenced.title": "Limitate",
|
||||
"about.domain_blocks.suspended.title": "Suspendite",
|
||||
"about.not_available": "Iste information non faceva disponibile in iste servitor.",
|
||||
"about.rules": "Regulas del servitor",
|
||||
"account.account_note_header": "Nota",
|
||||
"account.add_or_remove_from_list": "Adder o remover ab listas",
|
||||
@ -12,6 +16,7 @@
|
||||
"account.blocked": "Blocate",
|
||||
"account.browse_more_on_origin_server": "Navigar plus sur le profilo original",
|
||||
"account.copy": "Copiar ligamine a profilo",
|
||||
"account.direct": "Mentionar privatemente a @{name}",
|
||||
"account.disable_notifications": "Stoppar le notificationes quando @{name} publica",
|
||||
"account.domain_blocked": "Dominio blocate",
|
||||
"account.edit_profile": "Modificar profilo",
|
||||
@ -33,6 +38,7 @@
|
||||
"account.languages": "Cambiar le linguas subscribite",
|
||||
"account.link_verified_on": "Le proprietate de iste ligamine esseva verificate le {date}",
|
||||
"account.locked_info": "Le stato de confidentialitate de iste conto es definite a blocate. Le proprietario revisa manualmente qui pote sequer lo.",
|
||||
"account.media": "Multimedia",
|
||||
"account.mention": "Mentionar @{name}",
|
||||
"account.moved_to": "{name} indicava que lor nove conto ora es:",
|
||||
"account.mute": "Silentiar @{name}",
|
||||
@ -57,6 +63,7 @@
|
||||
"account.unmute_notifications_short": "Non plus silentiar le notificationes",
|
||||
"account.unmute_short": "Non plus silentiar",
|
||||
"account_note.placeholder": "Clicca pro adder un nota",
|
||||
"admin.dashboard.retention.average": "Median",
|
||||
"admin.dashboard.retention.cohort_size": "Nove usatores",
|
||||
"admin.impact_report.instance_followers": "Sequitores que nostre usatores poterea perder",
|
||||
"admin.impact_report.instance_follows": "Sequitores que lor usatores poterea perder",
|
||||
@ -69,6 +76,7 @@
|
||||
"bundle_column_error.return": "Retornar al initio",
|
||||
"bundle_modal_error.close": "Clauder",
|
||||
"bundle_modal_error.retry": "Tentar novemente",
|
||||
"closed_registrations_modal.description": "Crear un conto in {domain} actualmente non es possibile, ma considera que tu non besonia un conto specific in {domain} pro usar Mastodon.",
|
||||
"closed_registrations_modal.find_another_server": "Trovar altere servitor",
|
||||
"column.about": "A proposito de",
|
||||
"column.blocks": "Usatores blocate",
|
||||
@ -105,6 +113,7 @@
|
||||
"compose_form.poll.option_placeholder": "Option {number}",
|
||||
"compose_form.poll.single": "Seliger un",
|
||||
"compose_form.poll.switch_to_multiple": "Cambiar inquesta pro permitter selectiones multiple",
|
||||
"compose_form.poll.switch_to_single": "Cambiar inquesta pro permitter selection singule",
|
||||
"compose_form.poll.type": "Stylo",
|
||||
"compose_form.publish": "Publicar",
|
||||
"compose_form.publish_form": "Nove message",
|
||||
@ -117,6 +126,8 @@
|
||||
"confirmations.block.block_and_report": "Blocar e signalar",
|
||||
"confirmations.block.confirm": "Blocar",
|
||||
"confirmations.block.message": "Es tu secur que tu vole blocar {name}?",
|
||||
"confirmations.cancel_follow_request.confirm": "Retirar requesta",
|
||||
"confirmations.cancel_follow_request.message": "Es tu secur que tu vole retirar tu requesta a sequer a {name}?",
|
||||
"confirmations.delete.confirm": "Deler",
|
||||
"confirmations.delete.message": "Es tu secur que tu vole deler iste message?",
|
||||
"confirmations.delete_list.confirm": "Deler",
|
||||
@ -144,6 +155,7 @@
|
||||
"disabled_account_banner.account_settings": "Parametros de conto",
|
||||
"disabled_account_banner.text": "Tu conto {disabledAccount} es actualmente disactivate.",
|
||||
"dismissable_banner.dismiss": "Dimitter",
|
||||
"embed.preview": "Hic es como il parera:",
|
||||
"emoji_button.activity": "Activitate",
|
||||
"emoji_button.clear": "Rader",
|
||||
"emoji_button.custom": "Personalisate",
|
||||
@ -162,6 +174,11 @@
|
||||
"empty_column.account_timeline": "Nulle messages hic!",
|
||||
"empty_column.account_unavailable": "Profilo non disponibile",
|
||||
"empty_column.blocks": "Tu non ha blocate alcun usator ancora.",
|
||||
"empty_column.domain_blocks": "Il non ha dominios blocate ancora.",
|
||||
"empty_column.explore_statuses": "Nihil es in tendentias ora mesme. Retorna postea!",
|
||||
"empty_column.favourited_statuses": "Tu non ha necun messages favorite ancora. Quando tu marca un como favorito, ille essera monstrate hic.",
|
||||
"empty_column.followed_tags": "Tu ancora non ha sequite necun hashtags. Quando tu lo face, illes essera monstrate hic.",
|
||||
"empty_column.hashtag": "Ancora non il ha nihil in iste hashtag.",
|
||||
"errors.unexpected_crash.report_issue": "Signalar un defecto",
|
||||
"explore.search_results": "Resultatos de recerca",
|
||||
"explore.suggested_follows": "Personas",
|
||||
@ -320,6 +337,8 @@
|
||||
"report.placeholder": "Commentos additional",
|
||||
"report.reasons.dislike": "Non me place",
|
||||
"report_notification.categories.other": "Alteres",
|
||||
"report_notification.open": "Aperir reporto",
|
||||
"search.no_recent_searches": "Nulle recercas recente",
|
||||
"search.quick_action.go_to_account": "Vader al profilo {x}",
|
||||
"search.quick_action.go_to_hashtag": "Vader al hashtag {x}",
|
||||
"search.quick_action.open_url": "Aperir URL in Mastodon",
|
||||
@ -333,14 +352,20 @@
|
||||
"search_results.hashtags": "Hashtags",
|
||||
"search_results.see_all": "Vider toto",
|
||||
"search_results.statuses": "Messages",
|
||||
"server_banner.active_users": "usatores active",
|
||||
"server_banner.learn_more": "Apprender plus",
|
||||
"server_banner.server_stats": "Statos del servitor:",
|
||||
"sign_in_banner.create_account": "Crear un conto",
|
||||
"sign_in_banner.sign_in": "Initiar le session",
|
||||
"status.block": "Blocar @{name}",
|
||||
"status.copy": "Copiar ligamine a message",
|
||||
"status.delete": "Deler",
|
||||
"status.direct": "Mentionar privatemente a @{name}",
|
||||
"status.direct_indicator": "Mention private",
|
||||
"status.edit": "Modificar",
|
||||
"status.edited": "Modificate le {date}",
|
||||
"status.edited_x_times": "Modificate {count, plural, one {{count} tempore} other {{count} tempores}}",
|
||||
"status.favourite": "Adder al favoritos",
|
||||
"status.filter": "Filtrar iste message",
|
||||
"status.hide": "Celar le message",
|
||||
"status.history.created": "create per {name} le {date}",
|
||||
@ -351,12 +376,17 @@
|
||||
"status.mute_conversation": "Silentiar conversation",
|
||||
"status.read_more": "Leger plus",
|
||||
"status.share": "Compartir",
|
||||
"status.show_less": "Monstrar minus",
|
||||
"status.show_more": "Monstrar plus",
|
||||
"status.translate": "Traducer",
|
||||
"status.translated_from_with": "Traducite ab {lang} usante {provider}",
|
||||
"status.uncached_media_warning": "Previsualisation non disponibile",
|
||||
"subscribed_languages.save": "Salveguardar le cambiamentos",
|
||||
"tabs_bar.home": "Initio",
|
||||
"tabs_bar.notifications": "Notificationes",
|
||||
"timeline_hint.resources.statuses": "Messages ancian",
|
||||
"trends.trending_now": "Ora in tendentias",
|
||||
"upload_button.label": "Adde imagines, un video o un file de audio",
|
||||
"upload_modal.choose_image": "Seliger un imagine",
|
||||
"upload_modal.detect_text": "Deteger texto ab un pictura",
|
||||
"video.close": "Clauder le video",
|
||||
|
@ -158,6 +158,7 @@
|
||||
"compose_form.save_changes": "Actualisar",
|
||||
"compose_form.spoiler.marked": "Remover avise pri li contenete",
|
||||
"compose_form.spoiler.unmarked": "Adjunter avise pri li contenete",
|
||||
"compose_form.spoiler_placeholder": "Advertiment de contenete (optional)",
|
||||
"confirmation_modal.cancel": "Anullar",
|
||||
"confirmations.block.block_and_report": "Bloccar & Raportar",
|
||||
"confirmations.block.confirm": "Bloccar",
|
||||
@ -276,6 +277,12 @@
|
||||
"follow_request.authorize": "Autorisar",
|
||||
"follow_request.reject": "Rejecter",
|
||||
"follow_requests.unlocked_explanation": "Benque tu conto ne es cludet, li administratores de {domain} pensat que tu fórsan vell voler tractar seque-petitiones de tis-ci contos manualmen.",
|
||||
"follow_suggestions.curated_suggestion": "Selection del Servitor",
|
||||
"follow_suggestions.dismiss": "Ne monstrar plu",
|
||||
"follow_suggestions.personalized_suggestion": "Personalisat suggestion",
|
||||
"follow_suggestions.popular_suggestion": "Populari suggestion",
|
||||
"follow_suggestions.view_all": "Vider omnicos",
|
||||
"follow_suggestions.who_to_follow": "Persones a sequer",
|
||||
"followed_tags": "Sequet hashtags",
|
||||
"footer.about": "Information",
|
||||
"footer.directory": "Profilarium",
|
||||
@ -517,11 +524,15 @@
|
||||
"poll_button.add_poll": "Adjunter un balotation",
|
||||
"poll_button.remove_poll": "Remover balotation",
|
||||
"privacy.change": "Changear li privatie del posta",
|
||||
"privacy.direct.long": "Omnes mentionat in li posta",
|
||||
"privacy.direct.short": "Specific persones",
|
||||
"privacy.private.long": "Solmen tui sequitores",
|
||||
"privacy.private.short": "Sequitores",
|
||||
"privacy.public.long": "Quicunc in e ex Mastodon",
|
||||
"privacy.public.short": "Public",
|
||||
"privacy.unlisted.additional": "It acte just quam public, except que li posta ne va aparir in tendentie o hashtags, explorar, o sercha de Mastodon, mem si tu ha optet por les sur tui tot conto.",
|
||||
"privacy.unlisted.long": "Minu fanfare algoritmic",
|
||||
"privacy.unlisted.short": "Quiet public",
|
||||
"privacy_policy.last_updated": "Ultimmen actualisat ye {date}",
|
||||
"privacy_policy.title": "Politica pri Privatie",
|
||||
"recommended": "Recomandat",
|
||||
@ -539,7 +550,9 @@
|
||||
"relative_time.minutes": "{number}m",
|
||||
"relative_time.seconds": "{number}s",
|
||||
"relative_time.today": "hodie",
|
||||
"reply_indicator.attachments": "{count, plural, one {# atachament} other {# atachamentes}}",
|
||||
"reply_indicator.cancel": "Anullar",
|
||||
"reply_indicator.poll": "Balotar",
|
||||
"report.block": "Bloccar",
|
||||
"report.block_explanation": "Tu ne va vider su postas. Li usator ni va posser vider tui postas, ni sequer te, ni va posser saver pri li statu de esser bloccat.",
|
||||
"report.categories.legal": "Legal",
|
||||
|
@ -11,11 +11,13 @@
|
||||
"account.blocked": "Yettusewḥel",
|
||||
"account.browse_more_on_origin_server": "Snirem ugar deg umeɣnu aneẓli",
|
||||
"account.cancel_follow_request": "Withdraw follow request",
|
||||
"account.copy": "Nɣel assaɣ ɣer umaɣnu",
|
||||
"account.disable_notifications": "Ḥbes ur iyi-d-ttazen ara ilɣa mi ara d-isuffeɣ @{name}",
|
||||
"account.domain_blocked": "Taɣult yeffren",
|
||||
"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.featured_tags.last_status_never": "Ulac tisuffaɣ",
|
||||
"account.follow": "Ḍfer",
|
||||
"account.followers": "Imeḍfaren",
|
||||
"account.followers.empty": "Ar tura, ulac yiwen i yeṭṭafaṛen amseqdac-agi.",
|
||||
@ -24,6 +26,7 @@
|
||||
"account.follows.empty": "Ar tura, amseqdac-agi ur yeṭṭafaṛ yiwen.",
|
||||
"account.go_to_profile": "Ddu ɣer umaɣnu",
|
||||
"account.hide_reblogs": "Ffer ayen i ibeṭṭu @{name}",
|
||||
"account.joined_short": "Izeddi da",
|
||||
"account.link_verified_on": "Taɣara n useɣwen-a tettwasenqed ass n {date}",
|
||||
"account.locked_info": "Amiḍan-agi uslig isekweṛ. D bab-is kan i izemren ad yeǧǧ, s ufus-is, win ara t-iḍefṛen.",
|
||||
"account.media": "Timidyatin",
|
||||
@ -65,7 +68,8 @@
|
||||
"bundle_modal_error.message": "Tella-d kra n tuccḍa mi d-yettali ugbur-agi.",
|
||||
"bundle_modal_error.retry": "Ɛreḍ tikelt-nniḍen",
|
||||
"closed_registrations_modal.find_another_server": "Aff-d aqeddac nniḍen",
|
||||
"column.about": "Γef",
|
||||
"closed_registrations_modal.title": "Ajerred deg Masṭudun",
|
||||
"column.about": "Ɣef",
|
||||
"column.blocks": "Imiḍanen yettusḥebsen",
|
||||
"column.bookmarks": "Ticraḍ",
|
||||
"column.community": "Tasuddemt tadigant",
|
||||
@ -77,7 +81,7 @@
|
||||
"column.lists": "Tibdarin",
|
||||
"column.mutes": "Imiḍanen yettwasgugmen",
|
||||
"column.notifications": "Tilɣa",
|
||||
"column.pins": "Tijewwaqin yettwasenṭḍen",
|
||||
"column.pins": "Tisuffaɣ yettwasenṭḍen",
|
||||
"column.public": "Tasuddemt tamatut",
|
||||
"column_back_button.label": "Tuɣalin",
|
||||
"column_header.hide_settings": "Ffer iɣewwaṛen",
|
||||
@ -88,32 +92,38 @@
|
||||
"column_header.unpin": "Kkes asenteḍ",
|
||||
"column_subheading.settings": "Iɣewwaṛen",
|
||||
"community.column_settings.local_only": "Adigan kan",
|
||||
"community.column_settings.media_only": "Allal n teywalt kan",
|
||||
"community.column_settings.media_only": "Imidyaten kan",
|
||||
"community.column_settings.remote_only": "Anmeggag kan",
|
||||
"compose.language.change": "Beddel tutlayt",
|
||||
"compose.language.search": "Nadi tutlayin …",
|
||||
"compose.published.open": "Ldi",
|
||||
"compose.saved.body": "Tettwasekles tsuffeɣt.",
|
||||
"compose_form.direct_message_warning_learn_more": "Issin ugar",
|
||||
"compose_form.encryption_warning": "Posts on Mastodon are not end-to-end encrypted. Do not share any dangerous information over Mastodon.",
|
||||
"compose_form.hashtag_warning": "This post won't be listed under any hashtag as it is unlisted. Only public posts can be searched by hashtag.",
|
||||
"compose_form.encryption_warning": "",
|
||||
"compose_form.hashtag_warning": "",
|
||||
"compose_form.lock_disclaimer": "Amiḍan-ik·im ur yelli ara {locked}. Menwala yezmer ad k·kem-yeḍfeṛ akken ad iẓer acu tbeṭṭuḍ akked yimeḍfaṛen-ik·im.",
|
||||
"compose_form.lock_disclaimer.lock": "yettwacekkel",
|
||||
"compose_form.placeholder": "D acu i itezzin deg wallaɣ?",
|
||||
"compose_form.poll.duration": "Tanzagt n tefrant",
|
||||
"compose_form.poll.option_placeholder": "Taxtiṛt {number}",
|
||||
"compose_form.poll.single": "Fren yiwen",
|
||||
"compose_form.publish_form": "Suffeɣ",
|
||||
"compose_form.publish": "Suffeɣ",
|
||||
"compose_form.publish_form": "Tasuffeɣt tamaynut",
|
||||
"compose_form.reply": "Err",
|
||||
"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",
|
||||
"confirmation_modal.cancel": "Sefsex",
|
||||
"confirmations.block.block_and_report": "Sewḥel & sewɛed",
|
||||
"confirmations.block.confirm": "Sewḥel",
|
||||
"confirmations.block.message": "Tebγiḍ s tidet ad tesḥebseḍ {name}?",
|
||||
"confirmations.block.message": "Tebɣiḍ s tidet ad tesḥebseḍ {name}?",
|
||||
"confirmations.delete.confirm": "Kkes",
|
||||
"confirmations.delete.message": "Tebɣiḍ s tidet ad tekkseḍ tasuffeɣt-agi?",
|
||||
"confirmations.delete_list.confirm": "Kkes",
|
||||
"confirmations.delete_list.message": "Tebɣiḍ s tidet ad tekkseḍ umuɣ-agi i lebda?",
|
||||
"confirmations.discard_edit_media.confirm": "Sefsex",
|
||||
"confirmations.domain_block.confirm": "Ffer taɣult meṛṛa",
|
||||
"confirmations.edit.confirm": "Ẓreg",
|
||||
"confirmations.logout.confirm": "Ffeɣ",
|
||||
"confirmations.logout.message": "D tidet tebɣiḍ ad teffɣeḍ?",
|
||||
"confirmations.mute.confirm": "Sgugem",
|
||||
@ -133,12 +143,13 @@
|
||||
"directory.local": "Seg {domain} kan",
|
||||
"directory.new_arrivals": "Imaynuten id yewḍen",
|
||||
"directory.recently_active": "Yermed xas melmi kan",
|
||||
"disabled_account_banner.account_settings": "Iγewwaṛen n umiḍan",
|
||||
"disabled_account_banner.account_settings": "Iɣewwaṛen n umiḍan",
|
||||
"dismissable_banner.explore_links": "These news stories are being talked about by people on this and other servers of the decentralized network right now.",
|
||||
"dismissable_banner.explore_tags": "These hashtags are gaining traction among people on this and other servers of the decentralized network right now.",
|
||||
"embed.instructions": "Ẓẓu addad-agi deg usmel-inek s wenγal n tangalt yellan sdaw-agi.",
|
||||
"embed.preview": "Akka ara d-iban:",
|
||||
"emoji_button.activity": "Aqeddic",
|
||||
"emoji_button.clear": "Sfeḍ",
|
||||
"emoji_button.custom": "Udmawan",
|
||||
"emoji_button.flags": "Innayen",
|
||||
"emoji_button.food": "Tegwella & Tissit",
|
||||
@ -153,10 +164,10 @@
|
||||
"emoji_button.symbols": "Izamulen",
|
||||
"emoji_button.travel": "Imeḍqan d Yinigen",
|
||||
"empty_column.account_suspended": "Amiḍan yettwaḥbas",
|
||||
"empty_column.account_timeline": "Ulac tijewwaqin dagi!",
|
||||
"empty_column.account_timeline": "Ulac tisuffaɣ da !",
|
||||
"empty_column.account_unavailable": "Ur nufi ara amaɣnu-ayi",
|
||||
"empty_column.blocks": "Ur tesḥebseḍ ula yiwen n umseqdac ar tura.",
|
||||
"empty_column.bookmarked_statuses": "Ulac tijewwaqin i terniḍ ɣer yismenyifen-ik ar tura. Ticki terniḍ yiwet, ad d-tettwasken da.",
|
||||
"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.follow_requests": "Ulac ɣur-k ula yiwen n usuter n teḍfeṛt. Ticki teṭṭfeḍ-d yiwen ad d-yettwasken da.",
|
||||
@ -174,7 +185,7 @@
|
||||
"explore.suggested_follows": "Imdanen",
|
||||
"explore.title": "Snirem",
|
||||
"explore.trending_links": "Isallen",
|
||||
"explore.trending_statuses": "Tisuffiɣin",
|
||||
"explore.trending_statuses": "Tisuffaɣ",
|
||||
"explore.trending_tags": "Ihacṭagen",
|
||||
"filter_modal.added.settings_link": "asebter n yiɣewwaṛen",
|
||||
"filter_modal.select_filter.prompt_new": "Taggayt tamaynutt : {name}",
|
||||
@ -183,8 +194,10 @@
|
||||
"firehose.local": "Deg uqeddac-ayi",
|
||||
"follow_request.authorize": "Ssireg",
|
||||
"follow_request.reject": "Agi",
|
||||
"footer.about": "Γef",
|
||||
"footer.directory": "Akaram n imaγnuten",
|
||||
"follow_suggestions.who_to_follow": "Menhu ara ḍefṛeḍ",
|
||||
"followed_tags": "Ihacṭagen yettwaḍfaren",
|
||||
"footer.about": "Ɣef",
|
||||
"footer.directory": "Akaram n imaɣnuten",
|
||||
"footer.get_app": "Awi-d asnas",
|
||||
"footer.invite": "Ɛreḍ-d kra n yimdanen",
|
||||
"footer.keyboard_shortcuts": "Inegzumen n unasiw",
|
||||
@ -201,12 +214,15 @@
|
||||
"hashtag.column_settings.tag_mode.any": "Yiwen seg-sen",
|
||||
"hashtag.column_settings.tag_mode.none": "Yiwen ala seg-sen",
|
||||
"hashtag.column_settings.tag_toggle": "Glu-d s yihacṭagen imerna i ujgu-agi",
|
||||
"hashtag.counter_by_uses": "{count, plural, one {{counter} n tsuffeɣt} other {{counter} n tsuffaɣ}}",
|
||||
"hashtag.counter_by_uses_today": "{count, plural, one {{counter} n tsuffeɣt} other {{counter} n tsuffaɣ}} assa",
|
||||
"hashtag.follow": "Ḍfeṛ ahacṭag",
|
||||
"home.column_settings.basic": "Igejdanen",
|
||||
"home.column_settings.show_reblogs": "Ssken-d beṭṭu",
|
||||
"home.column_settings.show_replies": "Ssken-d tiririyin",
|
||||
"home.hide_announcements": "Ffer ulɣuyen",
|
||||
"home.show_announcements": "Ssken-d ulɣuyen",
|
||||
"interaction_modal.no_account_yet": "Ulac-ik·ikem deg Maṣṭudun?",
|
||||
"interaction_modal.on_this_server": "Deg uqeddac-ayi",
|
||||
"interaction_modal.title.follow": "Ḍfer {name}",
|
||||
"intervals.full.days": "{number, plural, one {# n wass} other {# n wussan}}",
|
||||
@ -247,8 +263,8 @@
|
||||
"lightbox.close": "Mdel",
|
||||
"lightbox.compress": "Ḥemmeẓ tamnaḍt n uskan n tugna",
|
||||
"lightbox.expand": "Simeɣer tamnaḍt n uskan n tugna",
|
||||
"lightbox.next": "Γer zdat",
|
||||
"lightbox.previous": "Γer deffir",
|
||||
"lightbox.next": "Ɣer zdat",
|
||||
"lightbox.previous": "Ɣer deffir",
|
||||
"link_preview.author": "S-ɣur {name}",
|
||||
"lists.account.add": "Rnu ɣer tebdart",
|
||||
"lists.account.remove": "Kkes seg tebdart",
|
||||
@ -264,11 +280,12 @@
|
||||
"lists.search": "Nadi gar yemdanen i teṭṭafaṛeḍ",
|
||||
"lists.subheading": "Tibdarin-ik·im",
|
||||
"load_pending": "{count, plural, one {# n uferdis amaynut} other {# n yiferdisen imaynuten}}",
|
||||
"media_gallery.toggle_visible": "Ffer {number, plural, one {tugna} other {tugniwin}}",
|
||||
"loading_indicator.label": "Yessalay-d …",
|
||||
"media_gallery.toggle_visible": "{number, plural, one {Ffer tugna} other {Ffer tugniwin}}",
|
||||
"mute_modal.duration": "Tanzagt",
|
||||
"mute_modal.hide_notifications": "Tebɣiḍ ad teffreḍ talɣutin n umseqdac-a?",
|
||||
"mute_modal.indefinite": "Ur yettwasbadu ara",
|
||||
"navigation_bar.about": "Γef",
|
||||
"navigation_bar.about": "Ɣef",
|
||||
"navigation_bar.blocks": "Imseqdacen yettusḥebsen",
|
||||
"navigation_bar.bookmarks": "Ticraḍ",
|
||||
"navigation_bar.community_timeline": "Tasuddemt tadigant",
|
||||
@ -279,18 +296,19 @@
|
||||
"navigation_bar.favourites": "Imenyafen",
|
||||
"navigation_bar.filters": "Awalen i yettwasgugmen",
|
||||
"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.lists": "Tibdarin",
|
||||
"navigation_bar.logout": "Ffeɣ",
|
||||
"navigation_bar.mutes": "Iseqdacen yettwasusmen",
|
||||
"navigation_bar.personal": "Udmawan",
|
||||
"navigation_bar.pins": "Tijewwiqin yettwasentḍen",
|
||||
"navigation_bar.pins": "Tisuffaɣ yettwasenṭḍen",
|
||||
"navigation_bar.preferences": "Imenyafen",
|
||||
"navigation_bar.public_timeline": "Tasuddemt tazayezt tamatut",
|
||||
"navigation_bar.search": "Nadi",
|
||||
"navigation_bar.security": "Taɣellist",
|
||||
"not_signed_in_indicator.not_signed_in": "You need to sign in to access this resource.",
|
||||
"notification.follow": "{name} yeṭṭafaṛ-ik",
|
||||
"notification.follow": "iṭṭafar-ik·em-id {name}",
|
||||
"notification.follow_request": "{name} yessuter-d ad k-yeḍfeṛ",
|
||||
"notification.mention": "{name} yebder-ik-id",
|
||||
"notification.own_poll": "Tafrant-ik·im tfuk",
|
||||
@ -311,7 +329,7 @@
|
||||
"notifications.column_settings.reblog": "Seǧhed:",
|
||||
"notifications.column_settings.show": "Ssken-d tilɣa deg ujgu",
|
||||
"notifications.column_settings.sound": "Rmed imesli",
|
||||
"notifications.column_settings.status": "Tiẓenẓunin timaynutin:",
|
||||
"notifications.column_settings.status": "Tisuffaɣ timaynutin :",
|
||||
"notifications.filter.all": "Akk",
|
||||
"notifications.filter.boosts": "Seǧhed",
|
||||
"notifications.filter.favourites": "Imenyafen",
|
||||
@ -325,11 +343,15 @@
|
||||
"notifications.permission_denied": "D awezɣi ad yili wermad n yilɣa n tnarit axateṛ turagt tettwagdel.",
|
||||
"notifications_permission_banner.enable": "Rmed talɣutin n tnarit",
|
||||
"notifications_permission_banner.title": "Ur zeggel acemma",
|
||||
"onboarding.action.back": "Tuɣalin ɣer deffir",
|
||||
"onboarding.actions.back": "Tuɣalin ɣer deffir",
|
||||
"onboarding.actions.go_to_explore": "See what's trending",
|
||||
"onboarding.actions.go_to_home": "Go to your home feed",
|
||||
"onboarding.compose.template": "Azul a #Mastodon!",
|
||||
"onboarding.follows.lead": "You curate your own home feed. The more people you follow, the more active and interesting it will be. These profiles may be a good starting point—you can always unfollow them later!",
|
||||
"onboarding.follows.title": "Popular on Mastodon",
|
||||
"onboarding.profile.display_name": "Isem ara d-yettwaskanen",
|
||||
"onboarding.share.title": "Bḍu amaɣnu-inek·inem",
|
||||
"onboarding.start.lead": "Your new Mastodon account is ready to go. Here's how you can make the most of it:",
|
||||
"onboarding.start.skip": "Want to skip right ahead?",
|
||||
"onboarding.steps.follow_people.body": "You curate your own feed. Lets fill it with interesting people.",
|
||||
@ -340,7 +362,7 @@
|
||||
"onboarding.steps.share_profile.body": "Let your friends know how to find you on Mastodon!",
|
||||
"onboarding.steps.share_profile.title": "Share your profile",
|
||||
"picture_in_picture.restore": "Err-it amkan-is",
|
||||
"poll.closed": "Ifukk",
|
||||
"poll.closed": "Tfukk",
|
||||
"poll.refresh": "Smiren",
|
||||
"poll.total_people": "{count, plural, one {# n wemdan} other {# n yemdanen}}",
|
||||
"poll.total_votes": "{count, plural, one {# n udɣaṛ} other {# n yedɣaṛen}}",
|
||||
@ -349,6 +371,7 @@
|
||||
"poll_button.add_poll": "Rnu asenqed",
|
||||
"poll_button.remove_poll": "Kkes asenqed",
|
||||
"privacy.change": "Seggem tabaḍnit n yizen",
|
||||
"privacy.private.short": "Imeḍfaren",
|
||||
"privacy.public.short": "Azayez",
|
||||
"privacy_policy.title": "Tasertit tabaḍnit",
|
||||
"refresh": "Smiren",
|
||||
@ -365,7 +388,7 @@
|
||||
"report.block": "Sewḥel",
|
||||
"report.categories.other": "Tiyyaḍ",
|
||||
"report.categories.spam": "Aspam",
|
||||
"report.category.title_account": "ameγnu",
|
||||
"report.category.title_account": "ameɣnu",
|
||||
"report.category.title_status": "tasuffeɣt",
|
||||
"report.close": "Immed",
|
||||
"report.forward": "Bren-it ɣeṛ {target}",
|
||||
@ -383,8 +406,10 @@
|
||||
"report_notification.open": "Ldi aneqqis",
|
||||
"search.placeholder": "Nadi",
|
||||
"search.search_or_paste": "Nadi neɣ senṭeḍ URL",
|
||||
"search_popout.user": "amseqdac",
|
||||
"search_results.all": "Akk",
|
||||
"search_results.hashtags": "Ihacṭagen",
|
||||
"search_results.see_all": "Wali-ten akk",
|
||||
"search_results.statuses": "Tisuffaɣ",
|
||||
"search_results.title": "Anadi ɣef {q}",
|
||||
"server_banner.administered_by": "Yettwadbel sɣur :",
|
||||
@ -404,8 +429,9 @@
|
||||
"status.edited_x_times": "Tettwaẓreg {count, plural, one {{count} n tikkelt} other {{count} n tikkal}}",
|
||||
"status.embed": "Seddu",
|
||||
"status.filtered": "Yettwasizdeg",
|
||||
"status.hide": "Ffer tasuffeɣt",
|
||||
"status.load_more": "Sali ugar",
|
||||
"status.media_hidden": "Taɣwalt tettwaffer",
|
||||
"status.media_hidden": "Amidya yettwaffer",
|
||||
"status.mention": "Bder-d @{name}",
|
||||
"status.more": "Ugar",
|
||||
"status.mute": "Sussem @{name}",
|
||||
@ -425,7 +451,7 @@
|
||||
"status.sensitive_warning": "Agbur amḥulfu",
|
||||
"status.share": "Bḍu",
|
||||
"status.show_less": "Ssken-d drus",
|
||||
"status.show_less_all": "Semẓi akk tisuffγin",
|
||||
"status.show_less_all": "Semẓi akk tisuffɣin",
|
||||
"status.show_more": "Ssken-d ugar",
|
||||
"status.show_more_all": "Ẓerr ugar lebda",
|
||||
"status.title.with_attachments": "{user} posted {attachmentCount, plural, one {an attachment} other {# attachments}}",
|
||||
@ -444,7 +470,7 @@
|
||||
"timeline_hint.remote_resource_not_displayed": "{resource} seg yiqeddacen-nniḍen ur d-ttwaskanent ara.",
|
||||
"timeline_hint.resources.followers": "Imeḍfaṛen",
|
||||
"timeline_hint.resources.follows": "T·Yeṭafaṛ",
|
||||
"timeline_hint.resources.statuses": "Tijewwaqin tiqdimin",
|
||||
"timeline_hint.resources.statuses": "Tisuffaɣ tiqdimin",
|
||||
"trends.counter_by_accounts": "{count, plural, one {{counter} person} other {{counter} people}} in the past {days, plural, one {day} other {# days}}",
|
||||
"trends.trending_now": "Ayen mucaɛen tura",
|
||||
"ui.beforeunload": "Arewway-ik·im ad iruḥ ma yella tefeɣ-d deg Maṣṭudun.",
|
||||
@ -465,7 +491,7 @@
|
||||
"upload_modal.choose_image": "Fren tugna",
|
||||
"upload_modal.description_placeholder": "Aberraɣ arurad ineggez nnig n uqjun amuṭṭis",
|
||||
"upload_modal.detect_text": "Sefru-d aḍris seg tugna",
|
||||
"upload_modal.edit_media": "Ẓreg taɣwalt",
|
||||
"upload_modal.edit_media": "Ẓreg amidya",
|
||||
"upload_modal.preparing_ocr": "Aheyyi n OCR…",
|
||||
"upload_modal.preview_label": "Taskant ({ratio})",
|
||||
"upload_progress.label": "Asali iteddu...",
|
||||
|
@ -21,6 +21,7 @@
|
||||
"account.blocked": "Disekat",
|
||||
"account.browse_more_on_origin_server": "Layari selebihnya di profil asal",
|
||||
"account.cancel_follow_request": "Menarik balik permintaan mengikut",
|
||||
"account.copy": "Salin pautan ke profil",
|
||||
"account.direct": "Sebut secara persendirian @{name}",
|
||||
"account.disable_notifications": "Berhenti maklumkan saya apabila @{name} mengirim hantaran",
|
||||
"account.domain_blocked": "Domain disekat",
|
||||
@ -31,6 +32,7 @@
|
||||
"account.featured_tags.last_status_never": "Tiada hantaran",
|
||||
"account.featured_tags.title": "Tanda pagar pilihan {name}",
|
||||
"account.follow": "Ikuti",
|
||||
"account.follow_back": "Ikut balik",
|
||||
"account.followers": "Pengikut",
|
||||
"account.followers.empty": "Belum ada yang mengikuti pengguna ini.",
|
||||
"account.followers_counter": "{count, plural, one {{counter} Pengikut} other {{counter} Pengikut}}",
|
||||
@ -51,6 +53,7 @@
|
||||
"account.mute_notifications_short": "Redam pemberitahuan",
|
||||
"account.mute_short": "Redam",
|
||||
"account.muted": "Dibisukan",
|
||||
"account.mutual": "Rakan kongsi",
|
||||
"account.no_bio": "Tiada penerangan diberikan.",
|
||||
"account.open_original_page": "Buka halaman asal",
|
||||
"account.posts": "Hantaran",
|
||||
@ -143,11 +146,19 @@
|
||||
"compose_form.lock_disclaimer.lock": "dikunci",
|
||||
"compose_form.placeholder": "Apakah yang sedang anda fikirkan?",
|
||||
"compose_form.poll.duration": "Tempoh undian",
|
||||
"compose_form.poll.multiple": "Pelbagai pilihan",
|
||||
"compose_form.poll.option_placeholder": "Pilihan {number}",
|
||||
"compose_form.poll.single": "Pilih satu",
|
||||
"compose_form.poll.switch_to_multiple": "Ubah kepada membenarkan aneka undian",
|
||||
"compose_form.poll.switch_to_single": "Ubah kepada undian pilihan tunggal",
|
||||
"compose_form.poll.type": "Gaya",
|
||||
"compose_form.publish": "Siaran",
|
||||
"compose_form.publish_form": "Terbit",
|
||||
"compose_form.reply": "Balas",
|
||||
"compose_form.save_changes": "Kemas kini",
|
||||
"compose_form.spoiler.marked": "Buang amaran kandungan",
|
||||
"compose_form.spoiler.unmarked": "Tambah amaran kandungan",
|
||||
"compose_form.spoiler_placeholder": "Amaran kandungan (pilihan)",
|
||||
"confirmation_modal.cancel": "Batal",
|
||||
"confirmations.block.block_and_report": "Sekat & Lapor",
|
||||
"confirmations.block.confirm": "Sekat",
|
||||
@ -179,6 +190,7 @@
|
||||
"conversation.mark_as_read": "Tanda sudah dibaca",
|
||||
"conversation.open": "Lihat perbualan",
|
||||
"conversation.with": "Dengan {names}",
|
||||
"copy_icon_button.copied": "Disalin ke papan klip",
|
||||
"copypaste.copied": "Disalin",
|
||||
"copypaste.copy_to_clipboard": "Salin ke papan klip",
|
||||
"directory.federated": "Dari fediverse yang diketahui",
|
||||
@ -210,6 +222,7 @@
|
||||
"emoji_button.search_results": "Hasil carian",
|
||||
"emoji_button.symbols": "Simbol",
|
||||
"emoji_button.travel": "Kembara & Tempat",
|
||||
"empty_column.account_hides_collections": "Pengguna ini telah memilih untuk tidak menyediakan informasi tersebut",
|
||||
"empty_column.account_suspended": "Akaun digantung",
|
||||
"empty_column.account_timeline": "Tiada hantaran di sini!",
|
||||
"empty_column.account_unavailable": "Profil tidak tersedia",
|
||||
@ -264,6 +277,11 @@
|
||||
"follow_request.authorize": "Benarkan",
|
||||
"follow_request.reject": "Tolak",
|
||||
"follow_requests.unlocked_explanation": "Walaupun akaun anda tidak dikunci, kakitangan {domain} merasakan anda mungkin ingin menyemak permintaan ikutan daripada akaun ini secara manual.",
|
||||
"follow_suggestions.curated_suggestion": "Pilihan Editor",
|
||||
"follow_suggestions.dismiss": "Jangan papar lagi",
|
||||
"follow_suggestions.personalized_suggestion": "Cadangan peribadi",
|
||||
"follow_suggestions.popular_suggestion": "Cadangan terkenal",
|
||||
"follow_suggestions.view_all": "Lihat semua",
|
||||
"followed_tags": "Topik terpilih",
|
||||
"footer.about": "Perihal",
|
||||
"footer.directory": "Direktori profil",
|
||||
@ -284,6 +302,9 @@
|
||||
"hashtag.column_settings.tag_mode.any": "Mana-mana daripada yang ini",
|
||||
"hashtag.column_settings.tag_mode.none": "Tiada apa pun daripada yang ini",
|
||||
"hashtag.column_settings.tag_toggle": "Sertakan tag tambahan untuk lajur ini",
|
||||
"hashtag.counter_by_accounts": "{count, plural, other {{counter} peserta}}",
|
||||
"hashtag.counter_by_uses": "{count, plural, other {{counter} siaran}}",
|
||||
"hashtag.counter_by_uses_today": "{count, plural, other {{counter} siaran}} hari ini",
|
||||
"hashtag.follow": "Ikuti hashtag",
|
||||
"hashtag.unfollow": "Nyahikut tanda pagar",
|
||||
"hashtags.and_other": "…dan {count, plural, other {# more}}",
|
||||
@ -370,6 +391,7 @@
|
||||
"lists.search": "Cari dalam kalangan orang yang anda ikuti",
|
||||
"lists.subheading": "Senarai anda",
|
||||
"load_pending": "{count, plural, one {# item baharu} other {# item baharu}}",
|
||||
"loading_indicator.label": "Memuatkan…",
|
||||
"media_gallery.toggle_visible": "{number, plural, other {Sembunyikan imej}}",
|
||||
"moved_to_account_banner.text": "Akaun anda {disabledAccount} kini dinyahdayakan kerana anda berpindah ke {movedToAccount}.",
|
||||
"mute_modal.duration": "Tempoh",
|
||||
@ -457,6 +479,11 @@
|
||||
"onboarding.follows.empty": "Malangnya, tiada hasil dapat ditunjukkan sekarang. Anda boleh cuba menggunakan carian atau menyemak imbas halaman teroka untuk mencari orang untuk diikuti atau cuba lagi kemudian.",
|
||||
"onboarding.follows.lead": "You curate your own home feed. The more people you follow, the more active and interesting it will be. These profiles may be a good starting point—you can always unfollow them later!",
|
||||
"onboarding.follows.title": "Popular on Mastodon",
|
||||
"onboarding.profile.display_name": "Nama paparan",
|
||||
"onboarding.profile.display_name_hint": "Nama penuh anda atau nama anda yang menyeronokkan…",
|
||||
"onboarding.profile.note_hint": "Anda boleh @menyebut orang lain atau #hashtags…",
|
||||
"onboarding.profile.save_and_continue": "Simpan dan teruskan",
|
||||
"onboarding.profile.upload_avatar": "Muat naik gambar profil",
|
||||
"onboarding.share.lead": "Beritahu orang ramai bagaimana mereka boleh menemui anda di Mastodon!",
|
||||
"onboarding.share.message": "Saya {username} di #Mastodon! Jom ikut saya di {url}",
|
||||
"onboarding.share.next_steps": "Langkah seterusnya yang mungkin:",
|
||||
@ -490,9 +517,14 @@
|
||||
"poll_button.add_poll": "Tambah undian",
|
||||
"poll_button.remove_poll": "Buang undian",
|
||||
"privacy.change": "Ubah privasi hantaran",
|
||||
"privacy.direct.long": "Semua orang yang disebutkan dalam siaran",
|
||||
"privacy.direct.short": "Orang tertentu",
|
||||
"privacy.private.long": "Pengikut anda sahaja",
|
||||
"privacy.private.short": "Pengikut",
|
||||
"privacy.public.short": "Awam",
|
||||
"privacy_policy.last_updated": "Dikemaskini {date}",
|
||||
"privacy_policy.title": "Dasar Privasi",
|
||||
"recommended": "Disyorkan",
|
||||
"refresh": "Muat semula",
|
||||
"regeneration_indicator.label": "Memuatkan…",
|
||||
"regeneration_indicator.sublabel": "Suapan rumah anda sedang disediakan!",
|
||||
@ -507,7 +539,9 @@
|
||||
"relative_time.minutes": "{number}m",
|
||||
"relative_time.seconds": "{number}s",
|
||||
"relative_time.today": "hari ini",
|
||||
"reply_indicator.attachments": "{count, plural, other {# lampiran}}",
|
||||
"reply_indicator.cancel": "Batal",
|
||||
"reply_indicator.poll": "Undian",
|
||||
"report.block": "Sekat",
|
||||
"report.block_explanation": "Anda tidak akan melihat hantaran mereka. Mereka tidak dapat melihat hantaran anda atau mengikuti anda. Mereka akan sedar bahawa mereka disekat.",
|
||||
"report.categories.legal": "Sah",
|
||||
|
@ -113,7 +113,7 @@
|
||||
"column.community": "Lokale tijdlijn",
|
||||
"column.direct": "Privéberichten",
|
||||
"column.directory": "Gebruikersgids",
|
||||
"column.domain_blocks": "Geblokkeerde domeinen",
|
||||
"column.domain_blocks": "Geblokkeerde servers",
|
||||
"column.favourites": "Favorieten",
|
||||
"column.firehose": "Openbare tijdlijnen",
|
||||
"column.follow_requests": "Volgverzoeken",
|
||||
@ -230,7 +230,7 @@
|
||||
"empty_column.bookmarked_statuses": "Jij hebt nog geen berichten aan je bladwijzers toegevoegd. Wanneer je er een aan jouw bladwijzers toevoegt, valt deze hier te zien.",
|
||||
"empty_column.community": "De lokale tijdlijn is nog leeg. Plaats een openbaar bericht om de spits af te bijten!",
|
||||
"empty_column.direct": "Je hebt nog geen privéberichten. Wanneer je er een verstuurt of ontvangt, zullen deze hier verschijnen.",
|
||||
"empty_column.domain_blocks": "Er zijn nog geen geblokkeerde domeinen.",
|
||||
"empty_column.domain_blocks": "Er zijn nog geen geblokkeerde servers.",
|
||||
"empty_column.explore_statuses": "Momenteel zijn er geen trends. Kom later terug!",
|
||||
"empty_column.favourited_statuses": "Jij hebt nog geen favoriete berichten. Wanneer je een bericht als favoriet markeert, valt deze hier te zien.",
|
||||
"empty_column.favourites": "Niemand heeft dit bericht nog als favoriet gemarkeerd. Wanneer iemand dit doet, valt dat hier te zien.",
|
||||
@ -406,7 +406,7 @@
|
||||
"navigation_bar.compose": "Nieuw bericht schrijven",
|
||||
"navigation_bar.direct": "Privéberichten",
|
||||
"navigation_bar.discover": "Ontdekken",
|
||||
"navigation_bar.domain_blocks": "Geblokkeerde domeinen",
|
||||
"navigation_bar.domain_blocks": "Geblokkeerde servers",
|
||||
"navigation_bar.explore": "Verkennen",
|
||||
"navigation_bar.favourites": "Favorieten",
|
||||
"navigation_bar.filters": "Filters",
|
||||
|
@ -21,6 +21,8 @@
|
||||
"account.blocked": "Blocat",
|
||||
"account.browse_more_on_origin_server": "Vezi mai multe pe profilul original",
|
||||
"account.cancel_follow_request": "Retrage cererea de urmărire",
|
||||
"account.copy": "Copiază link-ul profilului",
|
||||
"account.direct": "Menționează pe @{name} în privat",
|
||||
"account.disable_notifications": "Nu îmi mai trimite notificări când postează @{name}",
|
||||
"account.domain_blocked": "Domeniu blocat",
|
||||
"account.edit_profile": "Modifică profilul",
|
||||
@ -30,6 +32,7 @@
|
||||
"account.featured_tags.last_status_never": "Fără postări",
|
||||
"account.featured_tags.title": "Haștagurile recomandate de {name}",
|
||||
"account.follow": "Abonează-te",
|
||||
"account.follow_back": "Urmăreşte înapoi",
|
||||
"account.followers": "Urmăritori",
|
||||
"account.followers.empty": "Acest utilizator nu are încă urmăritori.",
|
||||
"account.followers_counter": "{count, plural, one {Un abonat} few {{counter} abonați} other {{counter} de abonați}}",
|
||||
@ -38,6 +41,7 @@
|
||||
"account.follows.empty": "Momentan acest utilizator nu are niciun abonament.",
|
||||
"account.go_to_profile": "Mergi la profil",
|
||||
"account.hide_reblogs": "Ascunde distribuirile de la @{name}",
|
||||
"account.in_memoriam": "În Memoriam.",
|
||||
"account.joined_short": "Înscris",
|
||||
"account.languages": "Schimbă limbile abonate",
|
||||
"account.link_verified_on": "Proprietatea acestui link a fost verificată pe {date}",
|
||||
@ -46,7 +50,10 @@
|
||||
"account.mention": "Menționează pe @{name}",
|
||||
"account.moved_to": "{name} a indicat că noul său cont este acum:",
|
||||
"account.mute": "Pune pe @{name} pe silențios",
|
||||
"account.mute_notifications_short": "Amuțește notificările",
|
||||
"account.mute_short": "Ignoră",
|
||||
"account.muted": "Pus pe silențios",
|
||||
"account.no_bio": "Nicio descriere furnizată.",
|
||||
"account.open_original_page": "Deschide pagina originală",
|
||||
"account.posts": "Postări",
|
||||
"account.posts_with_replies": "Postări și răspunsuri",
|
||||
@ -69,6 +76,7 @@
|
||||
"admin.dashboard.retention.average": "În medie",
|
||||
"admin.dashboard.retention.cohort": "Înregistrări lunar",
|
||||
"admin.dashboard.retention.cohort_size": "Utilizatori noi",
|
||||
"admin.impact_report.title": "Rezumatul impactului",
|
||||
"alert.rate_limited.message": "Vă rugăm să reîncercați după {retry_time, time, medium}.",
|
||||
"alert.rate_limited.title": "Debit limitat",
|
||||
"alert.unexpected.message": "A apărut o eroare neașteptată.",
|
||||
@ -98,9 +106,11 @@
|
||||
"column.blocks": "Utilizatori blocați",
|
||||
"column.bookmarks": "Marcaje",
|
||||
"column.community": "Cronologie locală",
|
||||
"column.direct": "Mențiuni private",
|
||||
"column.directory": "Explorează profiluri",
|
||||
"column.domain_blocks": "Domenii blocate",
|
||||
"column.favourites": "Favorite",
|
||||
"column.firehose": "Fluxuri live",
|
||||
"column.follow_requests": "Cereri de abonare",
|
||||
"column.home": "Acasă",
|
||||
"column.lists": "Liste",
|
||||
@ -131,11 +141,19 @@
|
||||
"compose_form.lock_disclaimer.lock": "privat",
|
||||
"compose_form.placeholder": "La ce te gândești?",
|
||||
"compose_form.poll.duration": "Durata sondajului",
|
||||
"compose_form.poll.multiple": "Alegeri multiple",
|
||||
"compose_form.poll.option_placeholder": "Opțiune {number}",
|
||||
"compose_form.poll.single": "Alegeți unul",
|
||||
"compose_form.poll.switch_to_multiple": "Modifică sondajul pentru a permite mai multe opțiuni",
|
||||
"compose_form.poll.switch_to_single": "Modifică sondajul pentru a permite o singură opțiune",
|
||||
"compose_form.poll.type": "Stil",
|
||||
"compose_form.publish": "Postare",
|
||||
"compose_form.publish_form": "Publică",
|
||||
"compose_form.reply": "Răspundeți",
|
||||
"compose_form.save_changes": "Actualizare",
|
||||
"compose_form.spoiler.marked": "Elimină avertismentul privind conținutul",
|
||||
"compose_form.spoiler.unmarked": "Adaugă un avertisment privind conținutul",
|
||||
"compose_form.spoiler_placeholder": "Atenționare de conținut (opțional)",
|
||||
"confirmation_modal.cancel": "Anulează",
|
||||
"confirmations.block.block_and_report": "Blochează și raportează",
|
||||
"confirmations.block.confirm": "Blochează",
|
||||
@ -151,6 +169,7 @@
|
||||
"confirmations.domain_block.confirm": "Blochează întregul domeniu",
|
||||
"confirmations.domain_block.message": "Ești absolut sigur că vrei să blochezi tot domeniul {domain}? În cele mai multe cazuri, raportarea sau blocarea anumitor lucruri este suficientă și de preferat. Nu vei mai vedea niciun conținut din acest domeniu în vreun flux public sau în vreo notificare. Abonații tăi din acest domeniu vor fi eliminați.",
|
||||
"confirmations.edit.confirm": "Modifică",
|
||||
"confirmations.edit.message": "Editarea acum va suprascrie mesajul pe care îl compuneți în prezent. Sunteți sigur că vreți să continuați?",
|
||||
"confirmations.logout.confirm": "Deconectare",
|
||||
"confirmations.logout.message": "Ești sigur că vrei să te deconectezi?",
|
||||
"confirmations.mute.confirm": "Ignoră",
|
||||
@ -165,6 +184,7 @@
|
||||
"conversation.mark_as_read": "Marchează ca citit",
|
||||
"conversation.open": "Vizualizează conversația",
|
||||
"conversation.with": "Cu {names}",
|
||||
"copy_icon_button.copied": "Copiat în clipboard",
|
||||
"copypaste.copied": "Copiat",
|
||||
"copypaste.copy_to_clipboard": "Copiază în clipboard",
|
||||
"directory.federated": "Din fediversul cunoscut",
|
||||
@ -240,10 +260,17 @@
|
||||
"filter_modal.select_filter.title": "Filtrează această postare",
|
||||
"filter_modal.title.status": "Filtrează o postare",
|
||||
"firehose.all": "Toate",
|
||||
"firehose.local": "Acest Server",
|
||||
"firehose.remote": "Alte servere",
|
||||
"follow_request.authorize": "Acceptă",
|
||||
"follow_request.reject": "Respinge",
|
||||
"follow_requests.unlocked_explanation": "Chiar dacă contul tău nu este blocat, personalul {domain} a considerat că ai putea prefera să consulți manual cererile de abonare de la aceste conturi.",
|
||||
"follow_suggestions.curated_suggestion": "Alegerile Editorilor",
|
||||
"follow_suggestions.dismiss": "Nu mai afișa din nou",
|
||||
"follow_suggestions.personalized_suggestion": "Sugestie personalizată",
|
||||
"follow_suggestions.popular_suggestion": "Sugestie populară",
|
||||
"follow_suggestions.view_all": "Vizualizați tot",
|
||||
"follow_suggestions.who_to_follow": "Pe cine să urmăriți",
|
||||
"followed_tags": "Hastaguri urmărite",
|
||||
"footer.about": "Despre",
|
||||
"footer.directory": "Catalogul de profiluri",
|
||||
@ -272,12 +299,15 @@
|
||||
"home.hide_announcements": "Ascunde anunțurile",
|
||||
"home.pending_critical_update.body": "Te rugăm să-ți actualizezi serverul de Mastodon cat mai curând posibil!",
|
||||
"home.pending_critical_update.link": "Vezi noutăți",
|
||||
"home.pending_critical_update.title": "Actualizare critică de securitate disponibilă!",
|
||||
"home.show_announcements": "Afișează anunțurile",
|
||||
"interaction_modal.description.favourite": "Cu un cont pe Mastodon, poți adăuga această postare la favorite pentru a-l informa pe autorul ei că o apreciezi și pentru a o salva pentru mai târziu.",
|
||||
"interaction_modal.description.follow": "Cu un cont Mastodon, poți urmări pe {name} pentru a vedea postările sale în cronologia ta principală.",
|
||||
"interaction_modal.description.reblog": "Cu un cont pe Mastodon, poți distribui această postare pentru a le-o arăta și celor abonați ție.",
|
||||
"interaction_modal.description.reply": "Cu un cont pe Mastodon, poți răspunde acestei postări.",
|
||||
"interaction_modal.login.action": "Du-mă acasă",
|
||||
"interaction_modal.login.prompt": "Adresa serverului tău acasă, de ex. mastodon.social",
|
||||
"interaction_modal.no_account_yet": "Nu ești încă pe Mastodon?",
|
||||
"interaction_modal.on_another_server": "Pe un alt server",
|
||||
"interaction_modal.on_this_server": "Pe acest server",
|
||||
"interaction_modal.title.follow": "Urmărește pe {name}",
|
||||
|
@ -277,8 +277,10 @@
|
||||
"follow_request.authorize": "Povoľ prístup",
|
||||
"follow_request.reject": "Odmietni",
|
||||
"follow_requests.unlocked_explanation": "Síce Váš učet nie je uzamknutý, ale {domain} tím si myslel že môžete chcieť skontrolovať žiadosti o sledovanie z týchto účtov manuálne.",
|
||||
"follow_suggestions.curated_suggestion": "Výber zo servera",
|
||||
"follow_suggestions.dismiss": "Znovu nezobrazuj",
|
||||
"follow_suggestions.personalized_suggestion": "Prispôsobené odporúčania",
|
||||
"follow_suggestions.popular_suggestion": "Populárne návrhy",
|
||||
"follow_suggestions.view_all": "Zobraz všetky",
|
||||
"follow_suggestions.who_to_follow": "Koho nasledovať",
|
||||
"followed_tags": "Nasledované haštagy",
|
||||
@ -354,7 +356,7 @@
|
||||
"keyboard_shortcuts.muted": "otvor zoznam stíšených užívateľov",
|
||||
"keyboard_shortcuts.my_profile": "otvor svoj profil",
|
||||
"keyboard_shortcuts.notifications": "Otvor panel oznámení",
|
||||
"keyboard_shortcuts.open_media": "na otvorenie médií",
|
||||
"keyboard_shortcuts.open_media": "Otvorenie médií",
|
||||
"keyboard_shortcuts.pinned": "otvor zoznam pripnutých príspevkov",
|
||||
"keyboard_shortcuts.profile": "otvor autorov profil",
|
||||
"keyboard_shortcuts.reply": "odpovedať",
|
||||
@ -363,7 +365,7 @@
|
||||
"keyboard_shortcuts.spoilers": "to show/hide CW field",
|
||||
"keyboard_shortcuts.start": "otvor panel ''začíname''",
|
||||
"keyboard_shortcuts.toggle_hidden": "ukáž/skry text za CW",
|
||||
"keyboard_shortcuts.toggle_sensitivity": "pre zobrazenie/skrytie médií",
|
||||
"keyboard_shortcuts.toggle_sensitivity": "Ukáž/skry médiá",
|
||||
"keyboard_shortcuts.toot": "začni úplne nový príspevok",
|
||||
"keyboard_shortcuts.unfocus": "nesústreď sa na písaciu plochu, alebo hľadanie",
|
||||
"keyboard_shortcuts.up": "posuň sa vyššie v zozname",
|
||||
@ -492,7 +494,7 @@
|
||||
"onboarding.share.message": "Na Mastodone som {username}. Príď ma nasledovať na {url}",
|
||||
"onboarding.share.next_steps": "Ďalšie možné kroky:",
|
||||
"onboarding.share.title": "Zdieľaj svoj profil",
|
||||
"onboarding.start.lead": "Your new Mastodon account is ready to go. Here's how you can make the most of it:",
|
||||
"onboarding.start.lead": "Teraz si súčasťou Mastodonu, unikátnej, decentralizovanej sociálnej platformy, kde ty, nie algoritmus, spravuješ svoj vlastný zážitok. Poďme ťa naštartovať na tomto novom sociálnom pomedzí:",
|
||||
"onboarding.start.skip": "Want to skip right ahead?",
|
||||
"onboarding.start.title": "Zvládli ste to!",
|
||||
"onboarding.steps.follow_people.body": "You curate your own feed. Lets fill it with interesting people.",
|
||||
@ -521,8 +523,13 @@
|
||||
"poll_button.add_poll": "Pridaj anketu",
|
||||
"poll_button.remove_poll": "Odstráň anketu",
|
||||
"privacy.change": "Uprav súkromie príspevku",
|
||||
"privacy.direct.long": "Všetci spomenutí v príspevku",
|
||||
"privacy.direct.short": "Konkrétni ľudia",
|
||||
"privacy.private.long": "Iba tvoji nasledovatelia",
|
||||
"privacy.private.short": "Sledovatelia",
|
||||
"privacy.public.long": "Ktokoľvek na, aj mimo Mastodonu",
|
||||
"privacy.public.short": "Verejné",
|
||||
"privacy.unlisted.short": "Verejný v tichosti",
|
||||
"privacy_policy.last_updated": "Posledná úprava {date}",
|
||||
"privacy_policy.title": "Zásady súkromia",
|
||||
"recommended": "Odporúčané",
|
||||
@ -700,7 +707,7 @@
|
||||
"units.short.million": "{count}mil.",
|
||||
"units.short.thousand": "{count}tis.",
|
||||
"upload_area.title": "Pretiahni a pusť pre nahratie",
|
||||
"upload_button.label": "Pridaj médiálny súbor (JPEG, PNG, GIF, WebM, MP4, MOV)",
|
||||
"upload_button.label": "Pridaj obrázky, video, alebo zvukový súbor",
|
||||
"upload_error.limit": "Limit pre nahrávanie súborov bol prekročený.",
|
||||
"upload_error.poll": "Nahrávanie súborov pri anketách nieje možné.",
|
||||
"upload_form.audio_description": "Popíš, pre ľudí so stratou sluchu",
|
||||
|
@ -148,6 +148,7 @@
|
||||
"compose_form.poll.duration": "Varaktighet för omröstning",
|
||||
"compose_form.poll.multiple": "Flera val",
|
||||
"compose_form.poll.option_placeholder": "Alternativ {number}",
|
||||
"compose_form.poll.single": "Välj en",
|
||||
"compose_form.poll.switch_to_multiple": "Ändra enkät för att tillåta flera val",
|
||||
"compose_form.poll.switch_to_single": "Ändra enkät för att tillåta ett enda val",
|
||||
"compose_form.poll.type": "Stil",
|
||||
|
@ -279,8 +279,8 @@
|
||||
"follow_requests.unlocked_explanation": "แม้ว่าไม่มีการล็อคบัญชีของคุณ พนักงานของ {domain} คิดว่าคุณอาจต้องการตรวจทานคำขอติดตามจากบัญชีเหล่านี้ด้วยตนเอง",
|
||||
"follow_suggestions.curated_suggestion": "คัดสรรโดยบรรณาธิการ",
|
||||
"follow_suggestions.dismiss": "ไม่ต้องแสดงอีก",
|
||||
"follow_suggestions.personalized_suggestion": "คำแนะนำเฉพาะบุคคล",
|
||||
"follow_suggestions.popular_suggestion": "คำแนะนำยอดนิยม",
|
||||
"follow_suggestions.personalized_suggestion": "ข้อเสนอแนะเฉพาะบุคคล",
|
||||
"follow_suggestions.popular_suggestion": "ข้อเสนอแนะยอดนิยม",
|
||||
"follow_suggestions.view_all": "ดูทั้งหมด",
|
||||
"follow_suggestions.who_to_follow": "ติดตามใครดี",
|
||||
"followed_tags": "แฮชแท็กที่ติดตาม",
|
||||
|
356
app/javascript/mastodon/locales/tok.json
Normal file
356
app/javascript/mastodon/locales/tok.json
Normal file
@ -0,0 +1,356 @@
|
||||
{
|
||||
"about.blocks": "ma lawa",
|
||||
"about.contact": "toki:",
|
||||
"about.domain_blocks.no_reason_available": "mi sona ala e tan",
|
||||
"about.domain_blocks.preamble": "ilo Masoton li ken e ni: sina lukin e toki jan pi ma ilo mute. sina ken toki tawa ona lon kulupu ma. taso, ma ni li ken ala e ni tawa ma ni:",
|
||||
"about.domain_blocks.silenced.explanation": "sina lukin ala e toki e jan tan ma ni. taso, sina wile la, sina ken ni.",
|
||||
"about.domain_blocks.silenced.title": "ken lili lukin",
|
||||
"about.domain_blocks.suspended.title": "weka",
|
||||
"about.not_available": "lon kulupu ni la sina ken alasa ala e sona ni.",
|
||||
"about.rules": "lawa kulupu",
|
||||
"account.account_note_header": "sona awen",
|
||||
"account.add_or_remove_from_list": "o ante e lipu jan",
|
||||
"account.badges.bot": "ilo nanpa li lawa e ni",
|
||||
"account.badges.group": "kulupu",
|
||||
"account.block": "o weka e @{name}",
|
||||
"account.block_domain": "o weka e ma {domain}",
|
||||
"account.block_short": "o weka e jan tawa mi",
|
||||
"account.blocked": "jan li weka tawa mi",
|
||||
"account.browse_more_on_origin_server": "sina tawa ma tan pi jan ni la sina ken lukin e mute",
|
||||
"account.cancel_follow_request": "o pini kute",
|
||||
"account.copy": "o pali same e linja pi lipu jan",
|
||||
"account.direct": "len la o mu e @{name}",
|
||||
"account.disable_notifications": "@{name} li toki la o mu ala e mi",
|
||||
"account.domain_blocked": "ma ni li weka tawa sina",
|
||||
"account.edit_profile": "o ante e lipu mi",
|
||||
"account.enable_notifications": "@{name} li toki la o toki e toki ona tawa mi",
|
||||
"account.endorse": "lipu jan la o suli e ni",
|
||||
"account.featured_tags.last_status_at": "sitelen pini pi jan ni li lon tenpo {date}",
|
||||
"account.featured_tags.last_status_never": "toki ala li lon",
|
||||
"account.follow": "o kute",
|
||||
"account.follow_back": "jan ni li kute e sina. o kute",
|
||||
"account.followers": "jan kute",
|
||||
"account.followers.empty": "jan ala li kute e jan ni",
|
||||
"account.following": "sina kute e jan ni",
|
||||
"account.follows.empty": "jan ni li kute e jan ala",
|
||||
"account.go_to_profile": "o tawa lipu jan",
|
||||
"account.hide_reblogs": "o lukin ala e pana toki tan @{name}",
|
||||
"account.in_memoriam": "jan ni li moli. pona o tawa ona.",
|
||||
"account.languages": "sina wile lukin e sitelen pi toki seme",
|
||||
"account.locked_info": "sina wile kute e jan ni la ona o toki e ken",
|
||||
"account.media": "sitelen",
|
||||
"account.mention": "o toki e jan @{name}",
|
||||
"account.moved_to": "lipu jan sin pi jan {name} li ni:",
|
||||
"account.mute": "o len e @{name}",
|
||||
"account.mute_notifications_short": "o kute ala e mu tan jan ni",
|
||||
"account.mute_short": "o kute ala",
|
||||
"account.muted": "sina len e jan ni",
|
||||
"account.no_bio": "lipu li weka",
|
||||
"account.open_original_page": "o open e lipu open",
|
||||
"account.posts": "toki suli",
|
||||
"account.posts_with_replies": "toki ale",
|
||||
"account.report": "jan @{name} la o toki tawa lawa",
|
||||
"account.requested": "jan ni o ken e kute sina. sina pini wile kute la o luka e ni",
|
||||
"account.requested_follow": "{name} li wile kute e sina",
|
||||
"account.share": "o pana e lipu jan @{name}",
|
||||
"account.show_reblogs": "o lukin e pana toki tan @{name}",
|
||||
"account.unblock": "o weka ala e jan {name}",
|
||||
"account.unblock_domain": "o weka ala e ma {domain}",
|
||||
"account.unblock_short": "o pini weka",
|
||||
"account.unendorse": "lipu jan la o suli ala e ni",
|
||||
"account.unfollow": "o pini kute",
|
||||
"account.unmute": "o len ala e @{name}",
|
||||
"account.unmute_notifications_short": "o kute e mu tan jan ni",
|
||||
"account.unmute_short": "o len ala",
|
||||
"admin.dashboard.retention.average": "sama",
|
||||
"admin.dashboard.retention.cohort": "tenpo mun open",
|
||||
"admin.dashboard.retention.cohort_size": "jan sin",
|
||||
"alert.rate_limited.message": "tenpo {retry_time, time, medium} la o pali awen",
|
||||
"alert.unexpected.message": "pakala li lon",
|
||||
"alert.unexpected.title": "pakala a!",
|
||||
"announcement.announcement": "toki suli",
|
||||
"audio.hide": "o len e kalama",
|
||||
"boost_modal.combo": "sina ken luka e nena {combo} tawa ni: sina wile ala luka e nena lon tenpo kama",
|
||||
"bundle_column_error.copy_stacktrace": "o awen e sona pakala lon ilo sina",
|
||||
"bundle_column_error.error.body": "ilo li ken ala pana e lipu ni. ni li ken tan pakala ilo.",
|
||||
"bundle_column_error.error.title": "ike a!",
|
||||
"bundle_column_error.network.title": "pakala la ilo sina li toki ala tawa ilo ante",
|
||||
"bundle_column_error.retry": "o ni sin",
|
||||
"bundle_column_error.return": "o tawa tomo",
|
||||
"bundle_column_error.routing.body": "ilo li sona ala e lipu wile. sina pana ala pana e nasin pona tawa lipu?",
|
||||
"bundle_column_error.routing.title": "pakala nanpa 404",
|
||||
"bundle_modal_error.close": "o pini",
|
||||
"bundle_modal_error.message": "ilo li wile kama e ijo ni, taso pakala li lon.",
|
||||
"bundle_modal_error.retry": "o ni sin",
|
||||
"closed_registrations_modal.find_another_server": "o alasa e ma ante",
|
||||
"column.about": "sona",
|
||||
"column.blocks": "kulupu pi jan weka",
|
||||
"column.bookmarks": "awen toki",
|
||||
"column.home": "lipu open",
|
||||
"column.lists": "kulupu lipu",
|
||||
"column.mutes": "jan len",
|
||||
"column.pins": "toki sewi",
|
||||
"column_header.hide_settings": "o len e lawa",
|
||||
"column_header.pin": "o sewi",
|
||||
"column_header.show_settings": "o lukin e lawa",
|
||||
"column_header.unpin": "o sewi ala",
|
||||
"column_subheading.settings": "ken ilo",
|
||||
"community.column_settings.local_only": "toki tan ni taso",
|
||||
"community.column_settings.media_only": "sitelen taso",
|
||||
"community.column_settings.remote_only": "toki tan ante taso",
|
||||
"compose.language.change": "o ante e nasin toki",
|
||||
"compose.language.search": "o alasa e nasin toki...",
|
||||
"compose.published.body": "toki li pana.",
|
||||
"compose.published.open": "o lukin",
|
||||
"compose.saved.body": "ilo li awen e ijo pana sina.",
|
||||
"compose_form.direct_message_warning_learn_more": "o kama sona e ijo ante",
|
||||
"compose_form.encryption_warning": "toki li len ala lon ilo Masoton ꞏ o pana ala e sona suli len lon ilo Masoton",
|
||||
"compose_form.placeholder": "sina wile toki e seme?",
|
||||
"compose_form.poll.duration": "tenpo pana",
|
||||
"compose_form.poll.multiple": "pana mute",
|
||||
"compose_form.poll.option_placeholder": "ken nanpa {number}",
|
||||
"compose_form.poll.single": "pana pi wan taso",
|
||||
"compose_form.poll.switch_to_multiple": "o ante e nasin pana. pana mute o ken",
|
||||
"compose_form.poll.switch_to_single": "o ante e nasin pana. pana wan taso o lon",
|
||||
"compose_form.poll.type": "nasin",
|
||||
"compose_form.publish": "o toki",
|
||||
"compose_form.publish_form": "o open toki sin",
|
||||
"compose_form.reply": "o toki lon ijo ni",
|
||||
"compose_form.save_changes": "o sin e ni",
|
||||
"compose_form.spoiler.marked": "o weka e toki pi ijo ike ken",
|
||||
"confirmation_modal.cancel": "o pini",
|
||||
"confirmations.block.confirm": "o weka",
|
||||
"confirmations.block.message": "sina o wile ala wile weka e jan {name}?",
|
||||
"confirmations.cancel_follow_request.confirm": "o weka e wile sina",
|
||||
"confirmations.cancel_follow_request.message": "sina awen ala awen wile weka e wile kute sina lon {name}?",
|
||||
"confirmations.delete.confirm": "o weka",
|
||||
"confirmations.delete.message": "sina wile ala wile weka e toki ni?",
|
||||
"confirmations.delete_list.confirm": "o weka",
|
||||
"confirmations.delete_list.message": "sina wile ala wile weka e lipu ni?",
|
||||
"confirmations.discard_edit_media.confirm": "o weka",
|
||||
"confirmations.discard_edit_media.message": "toki sitelen anu lukin lili sitelen la ante pi awen ala li lon. sina wile weka e ante ni?",
|
||||
"confirmations.domain_block.confirm": "o weka.",
|
||||
"confirmations.domain_block.message": "sina wile ala a wile a len e ma {domain} ꞏ ken suli la len jan taso li pona ꞏ len pi ma ni la sina ken ala lukin e ijo pi ma ni lon lipu toki ale anu lukin toki ꞏ len ni la jan kute sina pi ma ni li weka",
|
||||
"confirmations.edit.confirm": "o ante",
|
||||
"confirmations.logout.confirm": "o weka",
|
||||
"confirmations.logout.message": "sina wile ala wile weka",
|
||||
"confirmations.mute.confirm": "o len",
|
||||
"confirmations.mute.message": "sina awen ala awen wile kute ala e {name}?",
|
||||
"confirmations.redraft.confirm": "o weka o pali sin e toki",
|
||||
"confirmations.redraft.message": "pali sin e toki ni la sina wile ala wile weka e ona? sina ni la suli pi toki ni en wawa pi toki ni li weka. kin la toki lon toki ni li jo e mama ala.",
|
||||
"confirmations.reply.confirm": "toki lon toki ni",
|
||||
"confirmations.reply.message": "toki tawa ona li weka e toki pali sina ꞏ sina wile ala wile ni",
|
||||
"confirmations.unfollow.confirm": "o pini kute",
|
||||
"confirmations.unfollow.message": "sina o wile ala wile pini kute e jan {name}?",
|
||||
"conversation.delete": "o weka e toki ni",
|
||||
"conversation.mark_as_read": "ni o sin ala",
|
||||
"conversation.open": "o lukin e toki",
|
||||
"conversation.with": "lon {names}",
|
||||
"directory.local": "tan {domain} taso",
|
||||
"directory.new_arrivals": "jan pi kama sin",
|
||||
"directory.recently_active": "jan lon tenpo poka",
|
||||
"disabled_account_banner.account_settings": "wile pi lipu jan",
|
||||
"disabled_account_banner.text": "sina ken ala kepeken e lipu jan sina pi nimi {disabledAccount}.",
|
||||
"dismissable_banner.community_timeline": "ni li toki pi tenpo poka tawa ale tan jan lon ma lawa pi nimi {domain}.",
|
||||
"dismissable_banner.dismiss": "o weka",
|
||||
"dismissable_banner.explore_links": "ni li toki pi ijo sin ꞏ jan mute li pana e ni lon tenpo suno ni ꞏ sin la jan mute li pana la ni li kama suli",
|
||||
"embed.preview": "ni li jo e sitelen ni:",
|
||||
"emoji_button.activity": "musi",
|
||||
"emoji_button.flags": "len ma",
|
||||
"emoji_button.food": "moku",
|
||||
"emoji_button.label": "o pana e sitelen pilin",
|
||||
"emoji_button.nature": "soweli en kasi",
|
||||
"emoji_button.not_found": "sitelen pilin ala li lon",
|
||||
"emoji_button.objects": "ijo",
|
||||
"emoji_button.people": "jan",
|
||||
"emoji_button.search": "o alasa...",
|
||||
"emoji_button.search_results": "ijo pi alasa ni",
|
||||
"emoji_button.symbols": "sitelen",
|
||||
"emoji_button.travel": "ma en tawa",
|
||||
"empty_column.account_hides_collections": "jan ni li wile len e sona ni",
|
||||
"empty_column.account_timeline": "toki ala li lon!",
|
||||
"empty_column.account_unavailable": "ken ala lukin e lipu jan",
|
||||
"empty_column.blocks": "jan ala li weka tawa sina.",
|
||||
"empty_column.followed_tags": "sina alasa ala e toki ꞏ sina alasa e toki la toki li lon ni",
|
||||
"empty_column.hashtag": "ala li lon toki ni",
|
||||
"empty_column.mutes": "jan ala li len tawa sina.",
|
||||
"errors.unexpected_crash.report_issue": "o toki e pakala tawa lawa",
|
||||
"explore.search_results": "ijo pi alasa ni",
|
||||
"explore.suggested_follows": "jan",
|
||||
"explore.title": "o alasa",
|
||||
"explore.trending_links": "sin",
|
||||
"explore.trending_statuses": "toki",
|
||||
"filter_modal.select_filter.expired": "tenpo pini",
|
||||
"filter_modal.select_filter.search": "o alasa anu pali",
|
||||
"firehose.all": "ale",
|
||||
"firehose.local": "kulupu ni",
|
||||
"firehose.remote": "kulupu ante",
|
||||
"follow_request.authorize": "o ken",
|
||||
"follow_request.reject": "o ala",
|
||||
"follow_suggestions.view_all": "o lukin e ale",
|
||||
"follow_suggestions.who_to_follow": "sina o kute e ni",
|
||||
"footer.about": "sona",
|
||||
"footer.directory": "lipu jan",
|
||||
"footer.get_app": "o jo e ilo",
|
||||
"footer.privacy_policy": "lawa len",
|
||||
"footer.source_code": "o lukin e toki ilo",
|
||||
"footer.status": "lon",
|
||||
"generic.saved": "ni li awen",
|
||||
"hashtag.column_header.tag_mode.all": "en {additional}",
|
||||
"hashtag.column_header.tag_mode.any": "anu {additional}",
|
||||
"hashtag.column_header.tag_mode.none": "en {additional} ala",
|
||||
"hashtag.column_settings.tag_mode.all": "ale ni",
|
||||
"hashtag.column_settings.tag_mode.any": "wan ni",
|
||||
"hashtag.column_settings.tag_mode.none": "ala ni",
|
||||
"home.pending_critical_update.link": "o lukin e ijo ilo sin",
|
||||
"interaction_modal.on_another_server": "lon ma ante",
|
||||
"interaction_modal.on_this_server": "lon ma ni",
|
||||
"interaction_modal.title.favourite": "o suli e toki {name}",
|
||||
"interaction_modal.title.follow": "o kute e {name}",
|
||||
"interaction_modal.title.reblog": "o wawa e toki {name}",
|
||||
"keyboard_shortcuts.blocked": "o lukin e lipu sina pi jan weka",
|
||||
"keyboard_shortcuts.boost": "o pana sin e toki",
|
||||
"keyboard_shortcuts.down": "o tawa anpa lon lipu",
|
||||
"keyboard_shortcuts.enter": "o lukin e toki",
|
||||
"keyboard_shortcuts.favourite": "o suli e toki",
|
||||
"keyboard_shortcuts.favourites": "o lukin e lipu sina pi toki suli",
|
||||
"keyboard_shortcuts.muted": "o lukin e lipu sina pi jan len",
|
||||
"keyboard_shortcuts.my_profile": "o lukin e lipu sina",
|
||||
"keyboard_shortcuts.open_media": "o lukin e sitelen",
|
||||
"keyboard_shortcuts.pinned": "o lukin pi lipu sina pi toki sewi",
|
||||
"keyboard_shortcuts.toggle_sensitivity": "o ante e ken lukin",
|
||||
"keyboard_shortcuts.toot": "o toki",
|
||||
"keyboard_shortcuts.up": "o tawa sewi lon lipu",
|
||||
"lightbox.close": "o pini",
|
||||
"lightbox.compress": "o lili e sitelen",
|
||||
"lightbox.expand": "o suli e sitelen",
|
||||
"lightbox.next": "sinpin",
|
||||
"lightbox.previous": "monsi",
|
||||
"link_preview.author": "tan {name}",
|
||||
"lists.account.add": "o pana tawa kulupu lipu",
|
||||
"lists.account.remove": "o weka tan kulupu lipu",
|
||||
"lists.delete": "o weka e kulupu lipu",
|
||||
"lists.edit": "o ante e kulupu lipu",
|
||||
"lists.edit.submit": "o ante e nimi",
|
||||
"lists.exclusive": "o len e toki lon lipu open",
|
||||
"lists.new.create": "o sin e kulupu lipu",
|
||||
"lists.replies_policy.followed": "jan kute ale",
|
||||
"lists.replies_policy.list": "jan pi kulupu ni taso",
|
||||
"lists.replies_policy.none": "jan ala",
|
||||
"lists.subheading": "kulupu lipu sina",
|
||||
"load_pending": "{count, plural, other {ijo sin #}}",
|
||||
"loading_indicator.label": "ni li kama…",
|
||||
"media_gallery.toggle_visible": "{number, plural, other {o len e sitelen}}",
|
||||
"mute_modal.duration": "tenpo",
|
||||
"mute_modal.indefinite": "tenpo ale",
|
||||
"navigation_bar.about": "sona",
|
||||
"navigation_bar.blocks": "jan weka",
|
||||
"navigation_bar.compose": "o pali e toki sin",
|
||||
"navigation_bar.favourites": "toki suli",
|
||||
"navigation_bar.filters": "nimi len",
|
||||
"navigation_bar.lists": "kulupu lipu",
|
||||
"navigation_bar.mutes": "sina wile ala kute e jan ni",
|
||||
"navigation_bar.pins": "toki sewi",
|
||||
"navigation_bar.preferences": "wile sina",
|
||||
"navigation_bar.search": "o alasa",
|
||||
"notification.admin.sign_up": "{name} li kama",
|
||||
"notification.favourite": "{name} li suli e toki sina",
|
||||
"notification.follow": " {name} li kute e sina",
|
||||
"notification.follow_request": "{name} li wile kute e sina",
|
||||
"notification.mention": "jan {name} li toki e sina",
|
||||
"notification.reblog": "{name} li wawa e toki sina",
|
||||
"notification.status": "{name} li toki",
|
||||
"notification.update": "{name} li ante e toki",
|
||||
"notifications.column_settings.follow": "jan kute sin",
|
||||
"notifications.filter.all": "ale",
|
||||
"onboarding.compose.template": "toki a, #Mastodon o!",
|
||||
"onboarding.start.title": "sina o kama pona a!",
|
||||
"poll.total_people": "{count, plural, other {jan #}}",
|
||||
"privacy.public.short": "tawa ale",
|
||||
"relative_time.full.just_now": "tenpo ni",
|
||||
"relative_time.just_now": "tenpo ni",
|
||||
"relative_time.today": "tenpo suno ni",
|
||||
"report.block": "o weka e jan",
|
||||
"report.block_explanation": "sina kama lukin ala e toki ona. ona li kama ala ken lukin e toki sina li kama ala ken kute e sina. ona li ken sona e kama ni.",
|
||||
"report.category.title": "ike seme li lon {type} ni",
|
||||
"report.category.title_account": "lipu",
|
||||
"report.category.title_status": "toki",
|
||||
"report.close": "o pini",
|
||||
"report.mute": "o kute ala e ona",
|
||||
"report.mute_explanation": "sina kama ala lukin e ijo pana ona. ona li awen ken kute e sina li awen ken lukin e sina li sona ala e weka kute sina e weka lukin sina.",
|
||||
"report.next": "awen",
|
||||
"report.reasons.dislike": "ni li ike tawa mi",
|
||||
"report.reasons.legal": "ni li ike tawa lawa",
|
||||
"report.reasons.other": "ni li ike tan ante",
|
||||
"report.reasons.spam": "ni li ike tan toki mute",
|
||||
"report.thanks.title": "sina wile ala lukin e ni anu seme?",
|
||||
"report.unfollow": "o pini kute e {name}",
|
||||
"report_notification.categories.legal": "ike tawa nasin lawa",
|
||||
"search.placeholder": "o alasa",
|
||||
"search.quick_action.go_to_account": "o tawa lipu jan {x}",
|
||||
"search_popout.language_code": "nimi toki kepeken nasin ISO",
|
||||
"search_results.all": "ale",
|
||||
"search_results.see_all": "ale",
|
||||
"search_results.statuses": "toki",
|
||||
"search_results.title": "o alasa e {q}",
|
||||
"status.block": "o weka e @{name}",
|
||||
"status.cancel_reblog_private": "o pini e pana",
|
||||
"status.delete": "o weka",
|
||||
"status.edit": "o ante",
|
||||
"status.edited": "ni li ante lon {date}",
|
||||
"status.embed": "ni o lon insa pi lipu ante",
|
||||
"status.favourite": "o suli",
|
||||
"status.hide": "o len",
|
||||
"status.history.created": "{name} li pali e ni lon {date}",
|
||||
"status.history.edited": "{name} li ante lon {date}",
|
||||
"status.load_more": "o kama e ijo ante",
|
||||
"status.media.open": "o open",
|
||||
"status.media.show": "o lukin",
|
||||
"status.media_hidden": "sitelen li len",
|
||||
"status.mute": "o len e @{name}",
|
||||
"status.mute_conversation": "o kute ala e ijo pi toki ni",
|
||||
"status.pin": "o sewi lon lipu sina",
|
||||
"status.pinned": "toki sewi",
|
||||
"status.reblog": "o wawa",
|
||||
"status.share": "o pana tawa ante",
|
||||
"status.show_less": "o lili e ni",
|
||||
"status.show_less_all": "o lili e ale",
|
||||
"status.show_more": "o suli e ni",
|
||||
"status.show_more_all": "o suli e ale",
|
||||
"status.show_original": "o lukin e mama",
|
||||
"status.translate": "o ante pi nasin toki",
|
||||
"status.translated_from_with": "toki li ante tan {lang} kepeken {provider}",
|
||||
"status.uncached_media_warning": "lukin lili li weka",
|
||||
"status.unmute_conversation": "o ken kute e ijo pi toki ni",
|
||||
"status.unpin": "o sewi ala lon lipu sina",
|
||||
"subscribed_languages.save": "o awen e ante",
|
||||
"tabs_bar.home": "lipu open",
|
||||
"timeline_hint.resources.followers": "jan kute",
|
||||
"timeline_hint.resources.follows": "jan lukin",
|
||||
"timeline_hint.resources.statuses": "ijo pi tenpo suli",
|
||||
"trends.trending_now": "jan mute li toki",
|
||||
"units.short.million": "{count}AAA",
|
||||
"upload_button.label": "o pana e sitelen anu kalama",
|
||||
"upload_error.limit": "ilo li ken ala e suli pi ijo ni.",
|
||||
"upload_form.audio_description": "o toki e ijo kute tawa jan pi kute ala, tawa jan pi kute lili",
|
||||
"upload_form.description": "o toki e ijo lukin tawa jan pi lukin ala, tawa jan pi lukin lili",
|
||||
"upload_form.edit": "o ante",
|
||||
"upload_form.thumbnail": "o ante e sitelen lili",
|
||||
"upload_form.video_description": "o toki e ijo kute tawa jan pi kute ala, tawa jan pi kute lili, e ijo lukin tawa jan pi lukin ala, tawa jan pi lukin lili",
|
||||
"upload_modal.choose_image": "o wile e sitelen",
|
||||
"upload_modal.description_placeholder": "mi pu jaki tan soweli",
|
||||
"upload_modal.detect_text": "ilo o alasa e nimi tan sitelen",
|
||||
"upload_modal.edit_media": "o ante e sitelen",
|
||||
"upload_modal.preparing_ocr": "ilo li open e alasa nimi lon sitelen…",
|
||||
"upload_progress.label": "ilo li kama jo e ijo sina...",
|
||||
"upload_progress.processing": "ilo li pali…",
|
||||
"username.taken": "jan ante li kepeken e nimi ni. sina o kepeken e nimi sin",
|
||||
"video.close": "o weka e ni",
|
||||
"video.download": "o jo e ni",
|
||||
"video.exit_fullscreen": "o weka tan sitelen suli",
|
||||
"video.expand": "o suli e ni",
|
||||
"video.hide": "o len e sitelen",
|
||||
"video.mute": "o kalama ala",
|
||||
"video.pause": "o lape e ni",
|
||||
"video.unmute": "o kalama"
|
||||
}
|
@ -274,7 +274,7 @@
|
||||
"firehose.all": "Toàn bộ",
|
||||
"firehose.local": "Máy chủ này",
|
||||
"firehose.remote": "Máy chủ khác",
|
||||
"follow_request.authorize": "Cho phép",
|
||||
"follow_request.authorize": "Chấp nhận",
|
||||
"follow_request.reject": "Từ chối",
|
||||
"follow_requests.unlocked_explanation": "Mặc dù tài khoản của bạn đang ở chế độ công khai, quản trị viên của {domain} vẫn tin rằng bạn sẽ muốn xem lại yêu cầu theo dõi từ những người khác.",
|
||||
"follow_suggestions.curated_suggestion": "Lựa chọn của máy chủ",
|
||||
|
@ -315,8 +315,8 @@ export default function compose(state = initialState, action) {
|
||||
map.set('spoiler', !state.get('spoiler'));
|
||||
map.set('idempotencyKey', uuid());
|
||||
|
||||
if (!state.get('sensitive') && state.get('media_attachments').size >= 1) {
|
||||
map.set('sensitive', true);
|
||||
if (state.get('media_attachments').size >= 1 && !state.get('default_sensitive')) {
|
||||
map.set('sensitive', !state.get('spoiler'));
|
||||
}
|
||||
});
|
||||
case COMPOSE_SPOILER_TEXT_CHANGE:
|
||||
|
@ -4711,43 +4711,6 @@ a.status-card {
|
||||
animation: heartbeat 1.5s ease-in-out infinite both;
|
||||
}
|
||||
|
||||
@keyframes shake-bottom {
|
||||
0%,
|
||||
100% {
|
||||
transform: rotate(0deg);
|
||||
transform-origin: 50% 100%;
|
||||
}
|
||||
|
||||
10% {
|
||||
transform: rotate(2deg);
|
||||
}
|
||||
|
||||
20%,
|
||||
40%,
|
||||
60% {
|
||||
transform: rotate(-4deg);
|
||||
}
|
||||
|
||||
30%,
|
||||
50%,
|
||||
70% {
|
||||
transform: rotate(4deg);
|
||||
}
|
||||
|
||||
80% {
|
||||
transform: rotate(-2deg);
|
||||
}
|
||||
|
||||
90% {
|
||||
transform: rotate(2deg);
|
||||
}
|
||||
}
|
||||
|
||||
.no-reduce-motion .shake-bottom {
|
||||
transform-origin: 50% 100%;
|
||||
animation: shake-bottom 0.8s cubic-bezier(0.455, 0.03, 0.515, 0.955) 2s 2 both;
|
||||
}
|
||||
|
||||
.emoji-picker-dropdown__menu {
|
||||
position: relative;
|
||||
margin-top: 5px;
|
||||
@ -5353,20 +5316,6 @@ a.status-card {
|
||||
}
|
||||
}
|
||||
|
||||
.search-results__hashtag {
|
||||
display: block;
|
||||
padding: 10px;
|
||||
color: $secondary-text-color;
|
||||
text-decoration: none;
|
||||
|
||||
&:hover,
|
||||
&:active,
|
||||
&:focus {
|
||||
color: lighten($secondary-text-color, 4%);
|
||||
text-decoration: underline;
|
||||
}
|
||||
}
|
||||
|
||||
.search-results__info {
|
||||
padding: 20px;
|
||||
color: $darker-text-color;
|
||||
@ -5394,6 +5343,8 @@ a.status-card {
|
||||
inset-inline-start: 0;
|
||||
width: 100%;
|
||||
height: 100%;
|
||||
max-width: 100vw;
|
||||
max-height: 100vh;
|
||||
box-sizing: border-box;
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
@ -9465,6 +9416,7 @@ noscript {
|
||||
flex-direction: column;
|
||||
gap: 12px;
|
||||
padding: 16px 0;
|
||||
padding-bottom: 0;
|
||||
border-bottom: 1px solid mix($ui-base-color, $ui-highlight-color, 75%);
|
||||
background: mix($ui-base-color, $ui-highlight-color, 95%);
|
||||
|
||||
@ -9503,6 +9455,7 @@ noscript {
|
||||
cursor: pointer;
|
||||
top: 0;
|
||||
color: $primary-text-color;
|
||||
opacity: 0.5;
|
||||
|
||||
&.left {
|
||||
left: 0;
|
||||
@ -9530,6 +9483,8 @@ noscript {
|
||||
&:hover,
|
||||
&:focus,
|
||||
&:active {
|
||||
opacity: 1;
|
||||
|
||||
.inline-follow-suggestions__body__scroll-button__icon {
|
||||
background: lighten($ui-highlight-color, 4%);
|
||||
}
|
||||
@ -9541,11 +9496,10 @@ noscript {
|
||||
flex-wrap: nowrap;
|
||||
gap: 16px;
|
||||
padding: 16px;
|
||||
padding-bottom: 0;
|
||||
scroll-snap-type: x mandatory;
|
||||
scroll-padding: 16px;
|
||||
scroll-behavior: smooth;
|
||||
overflow-x: hidden;
|
||||
overflow-x: scroll;
|
||||
|
||||
&__card {
|
||||
background: darken($ui-base-color, 4%);
|
||||
@ -9570,6 +9524,7 @@ noscript {
|
||||
position: absolute;
|
||||
inset-inline-end: 8px;
|
||||
top: 8px;
|
||||
opacity: 0.75;
|
||||
}
|
||||
|
||||
&__avatar {
|
||||
@ -9607,6 +9562,7 @@ noscript {
|
||||
gap: 4px;
|
||||
overflow: hidden;
|
||||
white-space: nowrap;
|
||||
cursor: help;
|
||||
|
||||
> span {
|
||||
overflow: hidden;
|
||||
|
40
app/lib/signature_parser.rb
Normal file
40
app/lib/signature_parser.rb
Normal file
@ -0,0 +1,40 @@
|
||||
# frozen_string_literal: true
|
||||
|
||||
class SignatureParser
|
||||
class ParsingError < StandardError; end
|
||||
|
||||
# The syntax of this header is defined in:
|
||||
# https://datatracker.ietf.org/doc/html/draft-cavage-http-signatures-12#section-4
|
||||
# See https://datatracker.ietf.org/doc/html/rfc7235#appendix-C
|
||||
# and https://datatracker.ietf.org/doc/html/rfc7230#section-3.2.6
|
||||
|
||||
# In addition, ignore a `Signature ` string prefix that was added by old versions
|
||||
# of `node-http-signatures`
|
||||
|
||||
TOKEN_RE = /[0-9a-zA-Z!#$%&'*+.^_`|~-]+/
|
||||
# qdtext and quoted_pair are not exactly according to spec but meh
|
||||
QUOTED_STRING_RE = /"([^\\"]|(\\.))*"/
|
||||
PARAM_RE = /(?<key>#{TOKEN_RE})\s*=\s*((?<value>#{TOKEN_RE})|(?<quoted_value>#{QUOTED_STRING_RE}))/
|
||||
|
||||
def self.parse(raw_signature)
|
||||
# Old versions of node-http-signature add an incorrect "Signature " prefix to the header
|
||||
raw_signature = raw_signature.delete_prefix('Signature ')
|
||||
|
||||
params = {}
|
||||
scanner = StringScanner.new(raw_signature)
|
||||
|
||||
# Use `skip` instead of `scan` as we only care about the subgroups
|
||||
while scanner.skip(PARAM_RE)
|
||||
# This is not actually correct with regards to quoted pairs, but it's consistent
|
||||
# with our previous implementation, and good enough in practice.
|
||||
params[scanner[:key]] = scanner[:value] || scanner[:quoted_value][1...-1]
|
||||
|
||||
scanner.skip(/\s*/)
|
||||
return params if scanner.eos?
|
||||
|
||||
raise ParsingError unless scanner.skip(/\s*,\s*/)
|
||||
end
|
||||
|
||||
raise ParsingError
|
||||
end
|
||||
end
|
@ -64,6 +64,7 @@ class Account < ApplicationRecord
|
||||
)
|
||||
|
||||
BACKGROUND_REFRESH_INTERVAL = 1.week.freeze
|
||||
INSTANCE_ACTOR_ID = -99
|
||||
|
||||
USERNAME_RE = /[a-z0-9_]+([a-z0-9_.-]+[a-z0-9_]+)?/i
|
||||
MENTION_RE = %r{(?<![=/[:word:]])@((#{USERNAME_RE})(?:@[[:word:].-]+[[:word:]]+)?)}i
|
||||
@ -89,8 +90,8 @@ class Account < ApplicationRecord
|
||||
MAX_NOTE_LENGTH = (ENV['MAX_BIO_CHARS'] || 500).to_i
|
||||
DEFAULT_FIELDS_SIZE = (ENV['MAX_PROFILE_FIELDS'] || 4).to_i
|
||||
|
||||
enum protocol: { ostatus: 0, activitypub: 1 }
|
||||
enum suspension_origin: { local: 0, remote: 1 }, _prefix: true
|
||||
enum :protocol, { ostatus: 0, activitypub: 1 }
|
||||
enum :suspension_origin, { local: 0, remote: 1 }, prefix: true
|
||||
|
||||
validates :username, presence: true
|
||||
validates_with UniqueUsernameValidator, if: -> { will_save_change_to_username? }
|
||||
@ -122,7 +123,7 @@ class Account < ApplicationRecord
|
||||
scope :sensitized, -> { where.not(sensitized_at: nil) }
|
||||
scope :without_suspended, -> { where(suspended_at: nil) }
|
||||
scope :without_silenced, -> { where(silenced_at: nil) }
|
||||
scope :without_instance_actor, -> { where.not(id: -99) }
|
||||
scope :without_instance_actor, -> { where.not(id: INSTANCE_ACTOR_ID) }
|
||||
scope :recent, -> { reorder(id: :desc) }
|
||||
scope :bots, -> { where(actor_type: %w(Application Service)) }
|
||||
scope :groups, -> { where(actor_type: 'Group') }
|
||||
@ -180,7 +181,7 @@ class Account < ApplicationRecord
|
||||
end
|
||||
|
||||
def instance_actor?
|
||||
id == -99
|
||||
id == INSTANCE_ACTOR_ID
|
||||
end
|
||||
|
||||
alias bot bot?
|
||||
|
@ -17,7 +17,7 @@
|
||||
#
|
||||
|
||||
class AccountWarning < ApplicationRecord
|
||||
enum action: {
|
||||
enum :action, {
|
||||
none: 0,
|
||||
disable: 1_000,
|
||||
mark_statuses_as_sensitive: 1_250,
|
||||
@ -25,7 +25,7 @@ class AccountWarning < ApplicationRecord
|
||||
sensitive: 2_000,
|
||||
silence: 3_000,
|
||||
suspend: 4_000,
|
||||
}, _suffix: :action
|
||||
}, suffix: :action
|
||||
|
||||
normalizes :text, with: ->(text) { text.to_s }, apply_to_nil: true
|
||||
|
||||
|
@ -24,7 +24,7 @@ class BulkImport < ApplicationRecord
|
||||
belongs_to :account
|
||||
has_many :rows, class_name: 'BulkImportRow', inverse_of: :bulk_import, dependent: :delete_all
|
||||
|
||||
enum type: {
|
||||
enum :type, {
|
||||
following: 0,
|
||||
blocking: 1,
|
||||
muting: 2,
|
||||
@ -33,7 +33,7 @@ class BulkImport < ApplicationRecord
|
||||
lists: 5,
|
||||
}
|
||||
|
||||
enum state: {
|
||||
enum :state, {
|
||||
unconfirmed: 0,
|
||||
scheduled: 1,
|
||||
in_progress: 2,
|
||||
|
@ -13,11 +13,11 @@ module Account::FinderConcern
|
||||
end
|
||||
|
||||
def representative
|
||||
actor = Account.find(-99).tap(&:ensure_keys!)
|
||||
actor = Account.find(Account::INSTANCE_ACTOR_ID).tap(&:ensure_keys!)
|
||||
actor.update!(username: 'mastodon.internal') if actor.username.include?(':')
|
||||
actor
|
||||
rescue ActiveRecord::RecordNotFound
|
||||
Account.create!(id: -99, actor_type: 'Application', locked: true, username: 'mastodon.internal')
|
||||
Account.create!(id: Account::INSTANCE_ACTOR_ID, actor_type: 'Application', locked: true, username: 'mastodon.internal')
|
||||
end
|
||||
|
||||
def find_local(username)
|
||||
|
@ -31,7 +31,7 @@ class CustomFilter < ApplicationRecord
|
||||
include Expireable
|
||||
include Redisable
|
||||
|
||||
enum action: { warn: 0, hide: 1 }, _suffix: :action
|
||||
enum :action, { warn: 0, hide: 1 }, suffix: :action
|
||||
|
||||
belongs_to :account
|
||||
has_many :keywords, class_name: 'CustomFilterKeyword', inverse_of: :custom_filter, dependent: :destroy
|
||||
|
@ -21,7 +21,7 @@ class DomainBlock < ApplicationRecord
|
||||
include DomainNormalizable
|
||||
include DomainMaterializable
|
||||
|
||||
enum severity: { silence: 0, suspend: 1, noop: 2 }
|
||||
enum :severity, { silence: 0, suspend: 1, noop: 2 }
|
||||
|
||||
validates :domain, presence: true, uniqueness: true, domain: true
|
||||
|
||||
|
@ -28,7 +28,7 @@ class Import < ApplicationRecord
|
||||
|
||||
belongs_to :account
|
||||
|
||||
enum type: { following: 0, blocking: 1, muting: 2, domain_blocking: 3, bookmarks: 4 }
|
||||
enum :type, { following: 0, blocking: 1, muting: 2, domain_blocking: 3, bookmarks: 4 }
|
||||
|
||||
validates :type, presence: true
|
||||
|
||||
|
@ -19,7 +19,7 @@ class IpBlock < ApplicationRecord
|
||||
include Expireable
|
||||
include Paginable
|
||||
|
||||
enum severity: {
|
||||
enum :severity, {
|
||||
sign_up_requires_approval: 5000,
|
||||
sign_up_block: 5500,
|
||||
no_access: 9999,
|
||||
|
@ -18,7 +18,7 @@ class List < ApplicationRecord
|
||||
|
||||
PER_ACCOUNT_LIMIT = 50
|
||||
|
||||
enum replies_policy: { list: 0, followed: 1, none: 2 }, _prefix: :show
|
||||
enum :replies_policy, { list: 0, followed: 1, none: 2 }, prefix: :show
|
||||
|
||||
belongs_to :account, optional: true
|
||||
|
||||
|
@ -16,7 +16,7 @@
|
||||
#
|
||||
|
||||
class LoginActivity < ApplicationRecord
|
||||
enum authentication_method: { password: 'password', otp: 'otp', webauthn: 'webauthn', sign_in_token: 'sign_in_token', omniauth: 'omniauth' }
|
||||
enum :authentication_method, { password: 'password', otp: 'otp', webauthn: 'webauthn', sign_in_token: 'sign_in_token', omniauth: 'omniauth' }
|
||||
|
||||
belongs_to :user
|
||||
|
||||
|
@ -34,8 +34,8 @@ class MediaAttachment < ApplicationRecord
|
||||
|
||||
include Attachmentable
|
||||
|
||||
enum type: { image: 0, gifv: 1, video: 2, unknown: 3, audio: 4 }
|
||||
enum processing: { queued: 0, in_progress: 1, complete: 2, failed: 3 }, _prefix: true
|
||||
enum :type, { image: 0, gifv: 1, video: 2, unknown: 3, audio: 4 }
|
||||
enum :processing, { queued: 0, in_progress: 1, complete: 2, failed: 3 }, prefix: true
|
||||
|
||||
MAX_DESCRIPTION_LENGTH = 1_500
|
||||
|
||||
|
@ -47,8 +47,8 @@ class PreviewCard < ApplicationRecord
|
||||
|
||||
self.inheritance_column = false
|
||||
|
||||
enum type: { link: 0, photo: 1, video: 2, rich: 3 }
|
||||
enum link_type: { unknown: 0, article: 1 }
|
||||
enum :type, { link: 0, photo: 1, video: 2, rich: 3 }
|
||||
enum :link_type, { unknown: 0, article: 1 }
|
||||
|
||||
has_many :preview_cards_statuses, dependent: :delete_all, inverse_of: :preview_card
|
||||
has_many :statuses, through: :preview_cards_statuses
|
||||
|
@ -15,7 +15,7 @@
|
||||
class Relay < ApplicationRecord
|
||||
validates :inbox_url, presence: true, uniqueness: true, url: true, if: :will_save_change_to_inbox_url?
|
||||
|
||||
enum state: { idle: 0, pending: 1, accepted: 2, rejected: 3 }
|
||||
enum :state, { idle: 0, pending: 1, accepted: 2, rejected: 3 }
|
||||
|
||||
scope :enabled, -> { accepted }
|
||||
|
||||
|
@ -55,7 +55,7 @@ class Report < ApplicationRecord
|
||||
# - app/javascript/mastodon/features/notifications/components/report.jsx
|
||||
# - app/javascript/mastodon/features/report/category.jsx
|
||||
# - app/javascript/mastodon/components/admin/ReportReasonSelector.jsx
|
||||
enum category: {
|
||||
enum :category, {
|
||||
other: 0,
|
||||
spam: 1_000,
|
||||
legal: 1_500,
|
||||
|
@ -16,7 +16,7 @@
|
||||
class SoftwareUpdate < ApplicationRecord
|
||||
self.inheritance_column = nil
|
||||
|
||||
enum type: { patch: 0, minor: 1, major: 2 }, _suffix: :type
|
||||
enum :type, { patch: 0, minor: 1, major: 2 }, suffix: :type
|
||||
|
||||
def gem_version
|
||||
Gem::Version.new(version)
|
||||
|
@ -52,7 +52,7 @@ class Status < ApplicationRecord
|
||||
update_index('statuses', :proper)
|
||||
update_index('public_statuses', :proper)
|
||||
|
||||
enum visibility: { public: 0, unlisted: 1, private: 2, direct: 3, limited: 4 }, _suffix: :visibility
|
||||
enum :visibility, { public: 0, unlisted: 1, private: 2, direct: 3, limited: 4 }, suffix: :visibility
|
||||
|
||||
belongs_to :application, class_name: 'Doorkeeper::Application', optional: true
|
||||
|
||||
|
@ -38,6 +38,8 @@ class UserRole < ApplicationRecord
|
||||
delete_user_data: (1 << 19),
|
||||
}.freeze
|
||||
|
||||
EVERYONE_ROLE_ID = -99
|
||||
|
||||
module Flags
|
||||
NONE = 0
|
||||
ALL = FLAGS.values.reduce(&:|)
|
||||
@ -94,7 +96,7 @@ class UserRole < ApplicationRecord
|
||||
|
||||
before_validation :set_position
|
||||
|
||||
scope :assignable, -> { where.not(id: -99).order(position: :asc) }
|
||||
scope :assignable, -> { where.not(id: EVERYONE_ROLE_ID).order(position: :asc) }
|
||||
|
||||
has_many :users, inverse_of: :role, foreign_key: 'role_id', dependent: :nullify
|
||||
|
||||
@ -103,9 +105,9 @@ class UserRole < ApplicationRecord
|
||||
end
|
||||
|
||||
def self.everyone
|
||||
UserRole.find(-99)
|
||||
UserRole.find(EVERYONE_ROLE_ID)
|
||||
rescue ActiveRecord::RecordNotFound
|
||||
UserRole.create!(id: -99, permissions: Flags::DEFAULT)
|
||||
UserRole.create!(id: EVERYONE_ROLE_ID, permissions: Flags::DEFAULT)
|
||||
end
|
||||
|
||||
def self.that_can(*any_of_privileges)
|
||||
@ -113,7 +115,7 @@ class UserRole < ApplicationRecord
|
||||
end
|
||||
|
||||
def everyone?
|
||||
id == -99
|
||||
id == EVERYONE_ROLE_ID
|
||||
end
|
||||
|
||||
def nobody?
|
||||
|
@ -1,8 +1,15 @@
|
||||
# frozen_string_literal: true
|
||||
|
||||
unless ENV.key?('RAILS_ENV')
|
||||
warn 'ERROR: Missing RAILS_ENV environment variable, please set it to "production", "development", or "test".'
|
||||
exit 1
|
||||
abort <<~ERROR
|
||||
The RAILS_ENV environment variable is not set.
|
||||
|
||||
Please set it correctly depending on context:
|
||||
|
||||
- Use "production" for a live deployment of the application
|
||||
- Use "development" for local feature work
|
||||
- Use "test" when running the automated spec suite
|
||||
ERROR
|
||||
end
|
||||
|
||||
ENV['BUNDLE_GEMFILE'] ||= File.expand_path('../Gemfile', __dir__)
|
||||
|
@ -7,6 +7,9 @@ user = ENV.fetch('ES_USER', nil).presence
|
||||
password = ENV.fetch('ES_PASS', nil).presence
|
||||
fallback_prefix = ENV.fetch('REDIS_NAMESPACE', nil).presence
|
||||
prefix = ENV.fetch('ES_PREFIX') { fallback_prefix }
|
||||
ca_file = ENV.fetch('ES_CA_FILE', nil).presence
|
||||
|
||||
transport_options = { ssl: { ca_file: ca_file } } if ca_file.present?
|
||||
|
||||
Chewy.settings = {
|
||||
host: "#{host}:#{port}",
|
||||
@ -18,6 +21,7 @@ Chewy.settings = {
|
||||
index: {
|
||||
number_of_replicas: ['single_node_cluster', nil].include?(ENV['ES_PRESET'].presence) ? 0 : 1,
|
||||
},
|
||||
transport_options: transport_options,
|
||||
}
|
||||
|
||||
# We use our own async strategy even outside the request-response
|
||||
|
14
config/locales/activerecord.tok.yml
Normal file
14
config/locales/activerecord.tok.yml
Normal file
@ -0,0 +1,14 @@
|
||||
---
|
||||
tok:
|
||||
activerecord:
|
||||
attributes:
|
||||
poll:
|
||||
expires_at: pini tenpo
|
||||
user/account:
|
||||
username: nimi jan
|
||||
errors:
|
||||
models:
|
||||
account:
|
||||
attributes:
|
||||
username:
|
||||
reserved: jan ante li jo e nimi ni
|
@ -1548,7 +1548,7 @@ ca:
|
||||
unrecognized_emoji: no és un emoji reconegut
|
||||
redirects:
|
||||
prompt: Si confieu en aquest enllaç, feu-hi clic per a continuar.
|
||||
title: Esteu sortint de %{instance}.
|
||||
title: Deixeu %{instance}.
|
||||
relationships:
|
||||
activity: Activitat del compte
|
||||
confirm_follow_selected_followers: Segur que vols seguir els seguidors seleccionats?
|
||||
|
@ -439,6 +439,7 @@ cs:
|
||||
view: Zobrazit blokaci domény
|
||||
email_domain_blocks:
|
||||
add_new: Přidat
|
||||
allow_registrations_with_approval: Povolit registrace se schválením
|
||||
attempts_over_week:
|
||||
few: "%{count} pokusy o registraci za poslední týden"
|
||||
many: "%{count} pokusů o registraci za poslední týden"
|
||||
@ -635,6 +636,7 @@ cs:
|
||||
created_at: Nahlášené
|
||||
delete_and_resolve: Smazat příspěvky
|
||||
forwarded: Přeposláno
|
||||
forwarded_replies_explanation: Toto hlášení je od uživatele z jiného serveru, a je o obsahu z jeho serveru. Byl převeden na vás, protože nahlášený obsah odpovídá jednomu z vašich uživatelů.
|
||||
forwarded_to: Přeposláno na %{domain}
|
||||
mark_as_resolved: Označit jako vyřešené
|
||||
mark_as_sensitive: Označit jako citlivé
|
||||
@ -645,7 +647,7 @@ cs:
|
||||
create_and_resolve: Vyřešit s poznámkou
|
||||
create_and_unresolve: Znovu otevřít s poznámkou
|
||||
delete: Smazat
|
||||
placeholder: Popište, jaké akce byly vykonány, nebo jakékoliv jiné související aktuality…
|
||||
placeholder: Popište, jaké akce byly vykonány, nebo jakékoliv jiné související aktuality...
|
||||
title: Poznámky
|
||||
notes_description_html: Zobrazit a zanechat poznámky pro ostatní moderátory i sebe v budoucnu
|
||||
processed_msg: Nahlášení č.%{id} bylo úspěšně zpracováno
|
||||
@ -714,7 +716,7 @@ cs:
|
||||
administrator_description: Uživatelé s tímto oprávněním obejdou všechna oprávnění
|
||||
delete_user_data: Mazat uživatelská data
|
||||
delete_user_data_description: Umožňuje uživatelům bezodkladně mazat data jiných uživatelů
|
||||
invite_users: Zvát uživatele
|
||||
invite_users: Pozvat uživatele
|
||||
invite_users_description: Umožňuje uživatelům zvát na server nové lidi
|
||||
manage_announcements: Spravovat oznámení
|
||||
manage_announcements_description: Umožňuje uživatelům spravovat oznámení na serveru
|
||||
@ -802,13 +804,16 @@ cs:
|
||||
open: Kdokoliv se může registrovat
|
||||
security:
|
||||
authorized_fetch: Vyžadovat autentizaci od federovaných serverů
|
||||
authorized_fetch_hint: Vyžadování ověřování pravosti od federalizovaných serverů umožňuje přísnější prosazování uživatelských i serverních bloků. K tomu však dochází k snížení výkonu, snižení dosah vašich odpovědí a můžou se zavést problémy s kompatibilitou s některými federálními službami. Kromě toho to nebude bránit oddaným uživatelům či robotům v načítání vašich veřejných příspěvků a účtů.
|
||||
authorized_fetch_overridden_hint: Momentálně nemůžete změnit toto nastavení, protože je přepsáno proměnnou prostředí.
|
||||
federation_authentication: Uplatnění ověřování pravosti federace
|
||||
title: Nastavení serveru
|
||||
site_uploads:
|
||||
delete: Odstranit nahraný soubor
|
||||
destroyed_msg: Upload stránky byl úspěšně smazán!
|
||||
software_updates:
|
||||
critical_update: Kritické — aktualizujte, prosím, co nejdříve
|
||||
description: Doporučujeme udržovat vaši instalaci Mastodonu aktuální, aby se využily nejnovější opravy a funkce. Kromě toho je někdy velmi důležité včas aktualizovat Mastodon, aby se předešlo bezpečnostním problémům. Z těchto důvodů Mastodon kontroluje aktualizace každých 30 minut a bude vás informovat podle nastavení e-mailových oznámení.
|
||||
documentation_link: Zjistit více
|
||||
release_notes: Poznámky k vydání
|
||||
title: Dostupné aktualizace
|
||||
@ -1072,8 +1077,12 @@ cs:
|
||||
hint_html: Ještě jedna věc! Musíme potvrdit, že jste člověk (to proto, abychom drželi stranou spam!). Vyřešte CAPTCHA níže a klikněte na "Pokračovat".
|
||||
title: Bezpečnostní kontrola
|
||||
confirmations:
|
||||
awaiting_review: Vaše e-mailová adresa je potvrzena! Pracovníci %{domain} nyní kontrolují vaši registraci. Pokud váš účet schválí, obdržíte e-mail!
|
||||
awaiting_review_title: Vaše registrace se ověřuje
|
||||
clicking_this_link: kliknutím na tento odkaz
|
||||
login_link: přihlásit se
|
||||
proceed_to_login_html: Nyní můžete pokračovat do %{login_link}.
|
||||
redirect_to_app_html: Měli byste být přesměrováni do aplikace <strong>%{app_name}</strong>. Pokud se tak nestalo, zkuste %{clicking_this_link} nebo ručně se vrátit do aplikace.
|
||||
registration_complete: Vaše registrace na %{domain} je hotová!
|
||||
welcome_title: Vítám uživatele %{name}!
|
||||
wrong_email_hint: Pokud není e-mail správný, můžete si ho změnit v nastavení účtu.
|
||||
@ -1244,7 +1253,7 @@ cs:
|
||||
date: Datum
|
||||
download: Stáhnout váš archiv
|
||||
hint_html: Můžete si vyžádat archiv vašich <strong>příspěvků a nahraných médií</strong>. Exportovaná data budou ve formátu ActivityPub a budou čitelná kterýmkoliv kompatibilním softwarem. Archiv si můžete vyžádat každých 7 dní.
|
||||
in_progress: Kompiluji váš archiv…
|
||||
in_progress: Kompilujeme váš archiv...
|
||||
request: Vyžádat váš archiv
|
||||
size: Velikost
|
||||
blocks: Blokujete
|
||||
@ -1354,6 +1363,20 @@ cs:
|
||||
merge_long: Ponechat existující záznamy a přidat nové
|
||||
overwrite: Přepsat
|
||||
overwrite_long: Nahradit aktuální záznamy novými
|
||||
overwrite_preambles:
|
||||
blocking_html: Chystáte se <strong>nahradit váš seznam bloků</strong> s <strong>%{total_items} účtami</strong> od <strong>%{filename}</strong>.
|
||||
bookmarks_html: Chystáte se <strong>nahradit své záložky</strong> s <strong>%{total_items} příspěvků</strong> z <strong>%{filename}</strong>.
|
||||
domain_blocking_html: Chystáte se <strong>nahradit seznam stránek</strong> s <strong>%{total_items} stránek</strong> z <strong>%{filename}</strong>.
|
||||
following_html: Chystáte se <strong>sledovat</strong> až <strong>%{total_items} účtů</strong> z <strong>%{filename}</strong> a <strong>přestanete sledovat všechny ostatní</strong>.
|
||||
lists_html: Chystáte se <strong>nahradit své seznamy</strong> obsahem <strong>%{filename}</strong>. Až <strong>%{total_items} účtů</strong> budou přidány do nových seznamů.
|
||||
muting_html: Chystáte se <strong>nahradit seznam skrytých účtů</strong> s <strong>%{total_items} účtami</strong> z <strong>%{filename}</strong>.
|
||||
preambles:
|
||||
blocking_html: Chystáte se <strong>blokovat</strong> až <strong>%{total_items} účtů</strong> z <strong>%{filename}</strong>.
|
||||
bookmarks_html: Chystáte se přidat až <strong>%{total_items} příspěvků</strong> z <strong>%{filename}</strong> do vašich <strong>záložek</strong>.
|
||||
domain_blocking_html: Chystáte se <strong>blokovat</strong> až <strong>%{total_items} stránek</strong> z <strong>%{filename}</strong>.
|
||||
following_html: Chystáte se <strong>sledovat</strong> až <strong>%{total_items} účtů</strong> z <strong>%{filename}</strong>.
|
||||
lists_html: Chystáte se přidat <strong>%{total_items} účtů</strong> z <strong>%{filename}</strong> do vaších <strong>seznamů</strong>. Nové seznamy budou vytvořeny, pokud neexistuje žádný seznam, do kterého by bylo možné přidat.
|
||||
muting_html: Chystáte se <strong>skrýt</strong> až <strong>%{total_items} účtů</strong> z <strong>%{filename}</strong>.
|
||||
preface: Můžete importovat data, která jste exportovali z jiného serveru, jako například seznam lidí, které sledujete či blokujete.
|
||||
recent_imports: Nedávné importy
|
||||
states:
|
||||
@ -1369,8 +1392,12 @@ cs:
|
||||
bookmarks: Import záložek
|
||||
domain_blocking: Import blokovaných domén
|
||||
following: Import sledovaných účtů
|
||||
muting: Import ztlumených účtů
|
||||
lists: Příjmání seznamů
|
||||
muting: Dovoz skrytých uživatelů
|
||||
type: Typ importu
|
||||
type_groups:
|
||||
constructive: Sledování a Záložky
|
||||
destructive: Bloky & skrytí
|
||||
types:
|
||||
blocking: Seznam blokovaných
|
||||
bookmarks: Záložky
|
||||
@ -1391,6 +1418,7 @@ cs:
|
||||
'86400': 1 den
|
||||
expires_in_prompt: Nikdy
|
||||
generate: Vygenerovat zvací odkaz
|
||||
invalid: Tato pozvánka není platná
|
||||
invited_by: 'Pozval váš uživatel:'
|
||||
max_uses:
|
||||
few: "%{count} použití"
|
||||
@ -1417,6 +1445,21 @@ cs:
|
||||
failed_sign_in_html: Neúspěšný pokus o přihlášení %{method} z %{ip} (%{browser})
|
||||
successful_sign_in_html: Úspěšné přihlášení %{method} z %{ip} (%{browser})
|
||||
title: Historie přihlášení
|
||||
mail_subscriptions:
|
||||
unsubscribe:
|
||||
action: Ano, odeberte odběr
|
||||
complete: Odběr byl odhlášen
|
||||
confirmation_html: Opravdu nechcete dostávat %{type} pro Mastodon na %{domain} na váš e-mail %{email}? Vždy se můžete opět přihlásit do <a href="%{settings_path}">nastavení e-mailových oznámení</a>.
|
||||
emails:
|
||||
notification_emails:
|
||||
favourite: e-mailové oznámení při oblíbení
|
||||
follow: e-mailové oznámení při sledování
|
||||
follow_request: e-mail při žádost o sledování
|
||||
mention: e-mailové oznámení při zmínění
|
||||
reblog: e-mailové oznámení při boostu
|
||||
resubscribe_html: Při omylu se můžete znovu přihlásit do vaších <a href="%{settings_path}">nastavení e-mailových oznámení</a>.
|
||||
success_html: Již nebudete dostávat %{type} pro Mastodon na %{domain} na vaší e-mailové adrese %{email}.
|
||||
title: Odhlásit odběr
|
||||
media_attachments:
|
||||
validations:
|
||||
images_and_video: K příspěvku, který již obsahuje obrázky, nelze připojit video
|
||||
@ -1496,6 +1539,7 @@ cs:
|
||||
update:
|
||||
subject: Uživatel %{name} upravil příspěvek
|
||||
notifications:
|
||||
administration_emails: E-mailová oznámení administrátora
|
||||
email_events: Události pro e-mailová oznámení
|
||||
email_events_hint: 'Vyberte události, pro které chcete dostávat oznámení:'
|
||||
other_settings: Další nastavení oznámení
|
||||
@ -1554,6 +1598,9 @@ cs:
|
||||
errors:
|
||||
limit_reached: Dosažen limit různých reakcí
|
||||
unrecognized_emoji: není známý smajlík
|
||||
redirects:
|
||||
prompt: Pokud tomuto odkazu důvěřujete, klikněte na něj a pokračujte.
|
||||
title: Odcházíte z %{instance}.
|
||||
relationships:
|
||||
activity: Aktivita účtu
|
||||
confirm_follow_selected_followers: Jste si jisti, že chcete sledovat vybrané sledující?
|
||||
@ -1616,6 +1663,7 @@ cs:
|
||||
unknown_browser: Neznámý prohlížeč
|
||||
weibo: Weibo
|
||||
current_session: Aktuální relace
|
||||
date: Datum
|
||||
description: "%{browser} na systému %{platform}"
|
||||
explanation: Tohle jsou webové prohlížeče aktuálně přihlášené na váš účet Mastodon.
|
||||
ip: IP adresa
|
||||
@ -1772,8 +1820,10 @@ cs:
|
||||
default: "%d. %b %Y, %H:%M"
|
||||
month: "%b %Y"
|
||||
time: "%H:%M"
|
||||
with_time_zone: "%b %d, %Y, %H:%M %Z"
|
||||
translation:
|
||||
errors:
|
||||
quota_exceeded: Byla vyčerpaná kvóta pro využívání překládací služby na úrovni serveru.
|
||||
too_many_requests: Na překladatelskou službu bylo zasláno v poslední době příliš mnoho požadavků.
|
||||
two_factor_authentication:
|
||||
add: Přidat
|
||||
@ -1792,16 +1842,27 @@ cs:
|
||||
webauthn: Bezpečnostní klíče
|
||||
user_mailer:
|
||||
appeal_approved:
|
||||
action: Možnosti Účtu
|
||||
explanation: Odvolání proti prohřešku vašeho účtu ze dne %{strike_date}, které jste podali %{appeal_date}, bylo schváleno. Váš účet je opět v pořádku.
|
||||
subject: Vaše odvolání ze dne %{date} bylo schváleno
|
||||
subtitle: Váš účet je opět v dobrém stavu.
|
||||
title: Odvolání schváleno
|
||||
appeal_rejected:
|
||||
explanation: Odvolání proti prohřešku vašeho účtu ze dne %{strike_date}, které jste podali %{appeal_date}, bylo zamítnuto.
|
||||
subject: Vaše odvolání z %{date} bylo zamítnuto
|
||||
subtitle: Vaše odvolání bylo zamítnuto.
|
||||
title: Odvolání zamítnuto
|
||||
backup_ready:
|
||||
explanation: Požádali jste o úplnou zálohu vašeho účtu Mastodon.
|
||||
extra: Nyní je připraven ke stažení!
|
||||
subject: Váš archiv je připraven ke stažení
|
||||
title: Stažení archivu
|
||||
failed_2fa:
|
||||
details: 'Zde jsou podrobnosti o pokusu o přihlášení:'
|
||||
explanation: Někdo se pokusil přihlásit k vašemu účtu, ale poskytl neplatný token Dvoufázového ověření.
|
||||
further_actions_html: Pokud jste to nebyl, doporučujeme vám okamžitě %{action}, protože váš účet mohl být napaden.
|
||||
subject: Druhý omyl při Dvoufázovém ověření
|
||||
title: Omyl při Dvoufázovém ověření
|
||||
suspicious_sign_in:
|
||||
change_password: změnit vaše heslo
|
||||
details: 'Tady jsou detaily přihášení:'
|
||||
@ -1855,10 +1916,13 @@ cs:
|
||||
go_to_sso_account_settings: Přejděte do nastavení účtu poskytovatele identity
|
||||
invalid_otp_token: Neplatný kód pro dvoufázové ověřování
|
||||
otp_lost_help_html: Pokud jste ztratili přístup k oběma, spojte se s %{email}
|
||||
rate_limited: Příliš mnoho pokusů o ověření, zkuste to znovu později.
|
||||
seamless_external_login: Jste přihlášeni přes externí službu, nastavení hesla a e-mailu proto nejsou dostupná.
|
||||
signed_in_as: 'Přihlášeni jako:'
|
||||
verification:
|
||||
extra_instructions_html: <strong>Tip:</strong> Odkaz na vaší webové stránce může být neviditelný. Důležitou součástí je <code>rel="me"</code>, která brání proti napodování vás na webových stránkách s obsahem vytvořeným uživatelem. Můžete dokonce použít <code>odkaz</code> v záhlaví stránky místo <code>a</code>, ale HTML musí být přístupné bez spuštění JavaScript.
|
||||
here_is_how: Jak na to
|
||||
hint_html: "<strong>Ověření Vaší identity na Mastodonu je pro každého výborné.</strong> Na základě otevřených webových standardů, nyní a navždy zdarma. Jediné, co potřebujete, je osobní webová stránka, na které vás lidé poznají. Když odkazujete na tuto stránku z vašeho profilu, zkontrolujeme, zda webové stránky odkazují na váš profil a zobrazí na něm vizuální indikátor."
|
||||
instructions_html: Zkopírujte a vložte níže uvedený kód do HTML vašeho webu. Poté přidejte adresu vašeho webu do jednoho z extra políček na vašem profilu na záložce "Upravit profil" a uložte změny.
|
||||
verification: Ověření
|
||||
verified_links: Vaše ověřené odkazy
|
||||
|
@ -979,7 +979,7 @@ de:
|
||||
next_steps: Du kannst dem Einspruch zustimmen, um die Moderationsentscheidung rückgängig zu machen, oder ihn ignorieren.
|
||||
subject: "%{username} hat Einspruch gegen eine Moderationsentscheidung auf %{instance} erhoben"
|
||||
new_critical_software_updates:
|
||||
body: Kritische Updates wurden für Mastodon veröffentlicht – du solltest so schnell wie möglich aktualisieren!
|
||||
body: ein neues Sicherheitsupdate wurde veröffentlicht. Du solltest Mastodon so schnell wie möglich aktualisieren!
|
||||
subject: Kritische Mastodon-Updates sind für %{instance} verfügbar!
|
||||
new_pending_account:
|
||||
body: Die Details von diesem neuem Konto sind unten. Du kannst die Anfrage akzeptieren oder ablehnen.
|
||||
@ -1023,7 +1023,7 @@ de:
|
||||
salutation: "%{name},"
|
||||
settings: 'E-Mail-Einstellungen ändern: %{link}'
|
||||
unsubscribe: Abbestellen
|
||||
view: 'Hier überprüfen:'
|
||||
view: 'Siehe:'
|
||||
view_profile: Profil anzeigen
|
||||
view_status: Beitrag anschauen
|
||||
applications:
|
||||
|
@ -12,6 +12,7 @@ be:
|
||||
last_attempt: У вас ёсць яшчэ адна спроба, перш чым ваш рахунак будзе заблакаваны
|
||||
locked: Ваш уліковы запіс заблакіраваны.
|
||||
not_found_in_database: Няправільны %{authentication_keys} або пароль.
|
||||
omniauth_user_creation_failure: Памылка пры стварэнні ўліковага запісу для гэтай асобы.
|
||||
pending: Ваш уліковы запіс яшчэ разглядаецца.
|
||||
timeout: Ваш сеанс скончыўся. Каб працягнуць, увайдзіце яшчэ раз.
|
||||
unauthenticated: Вам патрэбна зайсьці альбо зарэгістравацца, каб працягнуць
|
||||
|
@ -12,6 +12,7 @@ bg:
|
||||
last_attempt: Разполагате с още един опит преди акаунтът ви да се заключи.
|
||||
locked: Вашият акаунт е заключен.
|
||||
not_found_in_database: Невалиден %{authentication_keys} или парола.
|
||||
omniauth_user_creation_failure: Грешка, сътворявайки акаунт за тази самоличност.
|
||||
pending: Вашият акаунт все още е в процес на проверка.
|
||||
timeout: Заседанието ви изтече. Влезте пак, за да продължите.
|
||||
unauthenticated: Преди да продължите, трябва да влезете или да се регистрирате.
|
||||
|
@ -14,6 +14,7 @@ ca:
|
||||
last_attempt: Tens un intent més abans no es bloqui el teu compte.
|
||||
locked: El teu compte s'ha blocat.
|
||||
not_found_in_database: "%{authentication_keys} o contrasenya no són vàlids."
|
||||
omniauth_user_creation_failure: S'ha produït un error en crear un compte per a aquesta identitat.
|
||||
pending: El teu compte encara està en revisió.
|
||||
timeout: La teva sessió ha expirat. Torna a iniciar-la per a continuar.
|
||||
unauthenticated: Necessites iniciar sessió o registrar-te abans de continuar.
|
||||
|
@ -12,6 +12,7 @@ cs:
|
||||
last_attempt: Máte ještě jeden pokus, než bude váš účet uzamčen.
|
||||
locked: Váš účet je uzamčen.
|
||||
not_found_in_database: Neplatné %{authentication_keys} nebo heslo.
|
||||
omniauth_user_creation_failure: Při vytvoření účtu pro tuto identitu se nastala chyba.
|
||||
pending: Váš účet je stále posuzován.
|
||||
timeout: Vaše relace vypršela. Pro pokračování se prosím přihlaste znovu.
|
||||
unauthenticated: Před pokračováním se musíte přihlásit nebo zaregistrovat.
|
||||
@ -47,15 +48,20 @@ cs:
|
||||
subject: 'Mastodon: Instrukce pro obnovení hesla'
|
||||
title: Obnovení hesla
|
||||
two_factor_disabled:
|
||||
explanation: Přihlášení je nyní možné pouze pomocí emailové adresy a hesla.
|
||||
subject: 'Mastodon: Dvoufázové ověření bylo vypnuto'
|
||||
title: 2FA bylo vypnuto
|
||||
subtitle: Dvoufaktorové ověřování vašeho účtu bylo vypnuto.
|
||||
title: Dvoufázové ověření bylo vypnuto
|
||||
two_factor_enabled:
|
||||
explanation: Pro přihlášení bude vyžadován token generovaný spárovanou TOTP aplikací.
|
||||
subject: 'Mastodon: Dvoufázové ověření bylo zapnuto'
|
||||
title: 2FA bylo zapnuto
|
||||
subtitle: Dvoufaktorové ověřování vašeho účtu bylo zapnuto.
|
||||
title: Dvoufázové ověření bylo zapnuto
|
||||
two_factor_recovery_codes_changed:
|
||||
explanation: Předchozí záložní kódy byly zrušeny a byly vygenerovány nové.
|
||||
subject: 'Mastodon: Dvoufázové záložní kódy byly znovu vygenerovány'
|
||||
title: Záložní kódy pro 2FA byly změněny
|
||||
subject: 'Mastodon: Záložní kódy pro dvoufázové ověření byly znovu vygenerovány'
|
||||
subtitle: Předchozí záložní kódy byly zrušeny a byly vygenerovány nové.
|
||||
title: Záložní kódy pro dvoufázové ověření byly změněny
|
||||
unlock_instructions:
|
||||
subject: 'Mastodon: Instrukce pro odemčení účtu'
|
||||
webauthn_credential:
|
||||
@ -68,9 +74,13 @@ cs:
|
||||
subject: 'Mastodon: Bezpečnostní klíč byl smazán'
|
||||
title: Jeden z vašich bezpečnostních klíčů byl smazán
|
||||
webauthn_disabled:
|
||||
subject: 'Mastodon: Přihlašování bezpečnostními klíči bylo vypnuto'
|
||||
explanation: 'Mastodon: Přihlašování pomocí bezpečnostními klíčemi bylo pro váš účet vypnuto.'
|
||||
extra: Přihlášení je nyní možné pouze pomocí tokenem vygenerovaný spárovanou TOTP aplikací.
|
||||
subject: 'Mastodon: Přihlašování pomocí bezpečnostními klíčemi bylo vypnuto'
|
||||
title: Bezpečnostní klíče byly zakázány
|
||||
webauthn_enabled:
|
||||
explanation: 'Mastodon: Přihlašování bezpečnostními klíči bylo pro váš účet povoleno.'
|
||||
extra: Váš bezpečnostní klíč nyní může být použit pro přihlášení.
|
||||
subject: 'Mastodon: Přihlašování bezpečnostními klíči bylo povoleno'
|
||||
title: Bezpečnostní klíče byly povoleny
|
||||
omniauth_callbacks:
|
||||
|
@ -12,6 +12,7 @@ cy:
|
||||
last_attempt: Mae gennych un cyfle arall cyn i'ch cyfrif gael ei gloi.
|
||||
locked: Mae eich cyfrif wedi ei gloi.
|
||||
not_found_in_database: "%{authentication_keys} neu gyfrinair annilys."
|
||||
omniauth_user_creation_failure: Gwall wrth greu cyfrif ar gyfer yr hunaniaeth hon.
|
||||
pending: Mae eich cyfrif dal o dan adolygiad.
|
||||
timeout: Mae eich sesiwn wedi dod i ben. Mewngofnodwch eto i barhau.
|
||||
unauthenticated: Mae angen i chi fewngofnodi neu gofrestru cyn parhau.
|
||||
|
@ -12,6 +12,7 @@ da:
|
||||
last_attempt: Du har ét forsøg mere, før din konto bliver låst.
|
||||
locked: Din konto er låst.
|
||||
not_found_in_database: Ugyldig %{authentication_keys} eller adgangskode.
|
||||
omniauth_user_creation_failure: Fejl under oprettelse af konto for denne identitet.
|
||||
pending: Din konto er stadig under revision.
|
||||
timeout: Session udløbet. Log ind igen for at fortsætte.
|
||||
unauthenticated: Log ind eller tilmeld dig for at fortsætte.
|
||||
|
@ -12,6 +12,7 @@ de:
|
||||
last_attempt: Du hast nur noch einen Versuch, bevor dein Zugang gesperrt wird.
|
||||
locked: Dein Konto ist gesperrt.
|
||||
not_found_in_database: "%{authentication_keys} oder Passwort ungültig."
|
||||
omniauth_user_creation_failure: Fehler beim Erstellen eines Kontos für diese Identität.
|
||||
pending: Dein Konto wird weiterhin überprüft.
|
||||
timeout: Deine Sitzung ist abgelaufen. Bitte melde dich erneut an, um fortzufahren.
|
||||
unauthenticated: Du musst dich anmelden oder registrieren, bevor du fortfahren kannst.
|
||||
|
@ -12,6 +12,7 @@ es-AR:
|
||||
last_attempt: Tenés un intento más antes de que se bloquee tu cuenta.
|
||||
locked: Se bloqueó tu cuenta.
|
||||
not_found_in_database: "%{authentication_keys} o contraseña no válidas."
|
||||
omniauth_user_creation_failure: Error al crear una cuenta para esta identidad.
|
||||
pending: Tu cuenta todavía está bajo revisión.
|
||||
timeout: Venció tu sesión. Por favor, volvé a iniciar sesión para continuar.
|
||||
unauthenticated: Necesitás iniciar sesión o registrarte antes de continuar.
|
||||
|
@ -12,6 +12,7 @@ eu:
|
||||
last_attempt: Saiakera bat geratzen zaizu zure kontua giltzapetu aurretik.
|
||||
locked: Zure kontua giltzapetuta dago.
|
||||
not_found_in_database: Baliogabeko %{authentication_keys} edo pasahitza.
|
||||
omniauth_user_creation_failure: Errorea identitate honen kontu bat sortzean.
|
||||
pending: Zure kontua oraindik berrikusteke dago.
|
||||
timeout: Zure saioa iraungitu da. Hasi saioa berriro jarraitzeko.
|
||||
unauthenticated: Saioa hasi edo izena eman behar duzu jarraitu aurretik.
|
||||
|
@ -12,6 +12,7 @@ fi:
|
||||
last_attempt: Sinulla on vielä yksi yritys ennen kuin tilisi lukitaan.
|
||||
locked: Tilisi on lukittu.
|
||||
not_found_in_database: Virheellinen %{authentication_keys} tai salasana.
|
||||
omniauth_user_creation_failure: Virhe luotaessa tiliä tälle henkilöllisyydelle.
|
||||
pending: Tilisi on vielä tarkistamatta.
|
||||
timeout: Istuntosi on vanhentunut. Jatkaaksesi käyttöä, kirjaudu uudelleen.
|
||||
unauthenticated: Sinun on kirjauduttava tai rekisteröidyttävä ennen kuin voit jatkaa.
|
||||
|
@ -12,6 +12,7 @@ fo:
|
||||
last_attempt: Tú kanst royna einaferð afturat áðrenn kontan verður stongd.
|
||||
locked: Kontan hjá tær er læst.
|
||||
not_found_in_database: Ogyldigur %{authentication_keys} ella loyniorð.
|
||||
omniauth_user_creation_failure: Feilur í sambandi við, at ein konta fyri hendan samleikan bleiv stovnað.
|
||||
pending: Kontan hjá tær verður kannað enn.
|
||||
timeout: Tín innritan er útgingin. Innrita av nýggjum, fyri at hada fram.
|
||||
unauthenticated: Tú mást skriva teg inn aftur fyri at halda fram.
|
||||
|
@ -12,6 +12,7 @@ fy:
|
||||
last_attempt: Jo hawwe noch ien besykjen oer eardat jo account blokkearre wurdt.
|
||||
locked: Jo account is blokkearre.
|
||||
not_found_in_database: "%{authentication_keys} of wachtwurd ûnjildich."
|
||||
omniauth_user_creation_failure: Flater by it oanmeitsjen fan in account foar dizze identiteit.
|
||||
pending: Jo account moat noch hieltyd beoardiele wurde.
|
||||
timeout: Jo sesje is ferrûn. Meld jo opnij oan om troch te gean.
|
||||
unauthenticated: Jo moatte oanmelde of registrearje.
|
||||
|
@ -12,6 +12,7 @@ gl:
|
||||
last_attempt: Tes un intento máis antes de que a túa conta fique bloqueada.
|
||||
locked: A túa conta está bloqueada.
|
||||
not_found_in_database: "%{authentication_keys} ou contrasinal non válidos."
|
||||
omniauth_user_creation_failure: Erro ao crear unha conta para esta identidade.
|
||||
pending: A túa conta aínda está baixo revisión.
|
||||
timeout: A túa sesión caducou. Accede outra vez para continuar.
|
||||
unauthenticated: Precisas iniciar sesión ou rexistrarte antes de continuar.
|
||||
|
@ -12,6 +12,7 @@ he:
|
||||
last_attempt: יש לך עוד ניסיון אחד לפני נעילת החשבון.
|
||||
locked: חשבון זה נעול.
|
||||
not_found_in_database: "%{authentication_keys} או סיסמה לא נכונים."
|
||||
omniauth_user_creation_failure: שגיאה ביצירת חשבון לזהות הזו.
|
||||
pending: חשבונך נמצא עדיין בבדיקה.
|
||||
timeout: פג תוקף השהיה בחשבון. נא להכנס מחדש על מנת להמשיך.
|
||||
unauthenticated: יש להרשם או להכנס לחשבון על מנת להמשיך.
|
||||
|
@ -12,6 +12,7 @@ hu:
|
||||
last_attempt: Már csak egy próbálkozásod maradt, mielőtt a fiókodat zároljuk.
|
||||
locked: A fiókodat zároltuk.
|
||||
not_found_in_database: Helytelen %{authentication_keys} vagy jelszó.
|
||||
omniauth_user_creation_failure: Hiba történt a fiók létrehozása során ehhez az identitáshoz.
|
||||
pending: A fiókod még engedélyezésre vár.
|
||||
timeout: A munkameneted lejárt. A folytatáshoz jelentkezz be újra.
|
||||
unauthenticated: A folytatás előtt be kell jelentkezned vagy regisztrálnod kell.
|
||||
|
@ -39,6 +39,8 @@ ia:
|
||||
webauthn_enabled:
|
||||
title: Claves de securitate activate
|
||||
registrations:
|
||||
destroyed: A revider! Tu conto esseva cancellate con successo. Nos spera vider te novemente tosto.
|
||||
signed_up_but_pending: Un message con un ligamine de confirmation esseva inviate a tu conto de email. Post que tu clicca le ligamine, nos revidera tu application. Tu essera notificate si illo es approbate.
|
||||
updated: Tu conto ha essite actualisate con successo.
|
||||
unlocks:
|
||||
unlocked: Tu conto ha essite disblocate con successo. Initia session a continuar.
|
||||
|
@ -12,6 +12,7 @@ ie:
|
||||
last_attempt: Hay solmen un prova ante que tui conto deveni serrat.
|
||||
locked: Tui conto es serrat.
|
||||
not_found_in_database: Ínvalid %{authentication_keys} o passa-parol.
|
||||
omniauth_user_creation_failure: Errore in li creation de un conto por ti-ci identitá.
|
||||
pending: Tui conto es ancor sub revision.
|
||||
timeout: Tui session ha expirat. Ples reintrar denov por continuar.
|
||||
unauthenticated: Tu deve intrar o registrar te ante continuar.
|
||||
|
@ -12,6 +12,7 @@ is:
|
||||
last_attempt: Þú getur reynt einu sinni í viðbót áður en aðgangnum þínum verður læst.
|
||||
locked: Notandaaðgangurinn þinn er læstur.
|
||||
not_found_in_database: Ógilt %{authentication_keys} eða lykilorð.
|
||||
omniauth_user_creation_failure: Villa við að útbúa aðgang fyrir þetta auðkenni.
|
||||
pending: Notandaaðgangurinn þinn er enn til yfirferðar.
|
||||
timeout: Setan þín er útrunnin. Skráðu þig aftur inn til að halda áfram.
|
||||
unauthenticated: Þú þarft að skrá þig inn eða nýskrá þig áður en lengra er haldið.
|
||||
|
@ -12,6 +12,7 @@ it:
|
||||
last_attempt: Hai un altro tentativo, prima che il tuo profilo venga bloccato.
|
||||
locked: Il tuo profilo è bloccato.
|
||||
not_found_in_database: "%{authentication_keys} o password non valida."
|
||||
omniauth_user_creation_failure: Errore nella creazione di un account per questa identità.
|
||||
pending: Il tuo profilo è ancora in revisione.
|
||||
timeout: La tua sessione è scaduta. Sei pregato di accedere nuovamente per continuare.
|
||||
unauthenticated: Devi accedere o registrarti, per continuare.
|
||||
|
@ -13,13 +13,13 @@ kab:
|
||||
locked: Amiḍan-ik yettwargel.
|
||||
not_found_in_database: Tella tuccḍa deg %{authentication_keys} neγ deg wawal uffir.
|
||||
pending: Amiḍan-inek mazal-it deg ɛiwed n tmuγli.
|
||||
timeout: Tiγimit n tuqqna tezri. Ma ulac aγilif ɛiwed tuqqna akken ad tkemmleḍ.
|
||||
unauthenticated: Ilaq ad teqqneḍ neγ ad tjerrḍeḍ akken ad tkemmelḍ.
|
||||
timeout: Tiɣimit n tuqqna tezri. Ma ulac aɣilif ɛiwed tuqqna akken ad tkemmleḍ.
|
||||
unauthenticated: Ilaq ad teqqneḍ neɣ ad tjerrḍeḍ akken ad tkemmelḍ.
|
||||
unconfirmed: Ilaq ad wekdeḍ tansa-inek imayl akken ad tkemmelḍ.
|
||||
mailer:
|
||||
confirmation_instructions:
|
||||
action: Senqed tansa-inek imayl
|
||||
action_with_app: Wekked sakkin uγal γer %{app}
|
||||
action_with_app: Sentem sakkin uɣal ɣer %{app}
|
||||
explanation: Aqla-k terniḍ amiḍan deg %{host} s tansa imayl-agi. Mazal-ak yiwen utekki akken ad t-tremdeḍ. Ma mačči d kečč i yessutren ay-agi, ttxil-k ssinef izen-a.
|
||||
explanation_when_pending: Tsutreḍ-d ajerred deg %{host} s tansa-agi imayl. Ad nγeṛ asuter-ik ticki tsentmeḍ tansa-ik imayl. Send asentem, ur tezmireḍ ara ad teqqneḍ γer umiḍan-ik. Ma yella nugi asuter-ik, isefka-ik ad ttwakksen seg uqeddac, ihi ulac tigawt-nniḍen ara k-d-yettuqeblen. Ma mačči d kečč i yellan deffir n usuter-agi, ttxil-k ssinef izen-agi.
|
||||
extra_html: Ttxil-k ẓer daγen <a href="%{terms_path}">ilugan n uqeddac</a> akked <a href="%{policy_path}">twetlin n useqdec-nneγ</a>.
|
||||
@ -87,7 +87,7 @@ kab:
|
||||
unlocks:
|
||||
send_instructions: Deg kra n tesdatin, ad teṭṭfeḍ imayl deg-s iwellihen i yilaqen i userreḥ n umiḍan-ik·im. Ma yella ur tufiḍ ara izen-agi, ttxil-k·m ẓer deg ukaram spam.
|
||||
send_paranoid_instructions: Ma yella umiḍan-ik·im yella, ad teṭṭfeḍ imayl deg tesdatin i d-iteddun, deg-s iwellihen i yilaqen i userreḥ n umiḍan-ik·im. Ma yella ur tufiḍ ara izen-agi, ttxil-k·m ẓer deg ukaram spam.
|
||||
unlocked: Iserreḥ umiḍan-ik·im akken iwata. ttxil qqen akken ad tkemleḍ.
|
||||
unlocked: Iserreḥ umiḍan-ik·im akken iwata. Ttxil qqen akken ad tkemleḍ.
|
||||
errors:
|
||||
messages:
|
||||
already_confirmed: ittwasentem yakan, ttxil εreḍ ad teqneḍ
|
||||
|
@ -12,6 +12,7 @@ ko:
|
||||
last_attempt: 계정이 잠기기까지 한 번의 시도가 남았습니다.
|
||||
locked: 계정이 잠겼습니다.
|
||||
not_found_in_database: 올바르지 않은 %{authentication_keys} 혹은 암호입니다.
|
||||
omniauth_user_creation_failure: 이 신원으로 계정을 만드는데 실패했습니다.
|
||||
pending: 이 계정은 아직 검토 중입니다.
|
||||
timeout: 세션이 만료되었습니다. 다시 로그인 하세요.
|
||||
unauthenticated: 계속 하려면 로그인을 해야 합니다.
|
||||
|
@ -12,6 +12,7 @@ lad:
|
||||
last_attempt: Aprova una vez mas antes de ke tu kuento sea blokado.
|
||||
locked: Tu kuento esta blokado.
|
||||
not_found_in_database: Inkorekto %{authentication_keys} o kod.
|
||||
omniauth_user_creation_failure: Ay un error en kriyar un kuento para esta identita.
|
||||
pending: Tu kuento ainda esta basho revizyon.
|
||||
timeout: Tu sesyon tiene kadukado. Por favor konektate kon tu kuento de muevo para kontinuar.
|
||||
unauthenticated: Kale konektarte kon tu kuento o enregistrarte antes de kontinuar.
|
||||
@ -89,25 +90,25 @@ lad:
|
||||
no_token: No puedes akseder a esta pajina si no vienes dizde una posta elektronika de restablesimyento de kod. Si vienes dizde una posta elektronika de restablesimyento de kod, por favor asigurate de utilizar el URL kompleto embiado.
|
||||
send_instructions: Si tu adreso de posta elektronika existe en muestra baza de datos, risiviras un atadijo de rekuperasyon de kod en tu adreso de posta elektronika en pokos minutos. Por favor, komprova tu kuti de posta spam si no risives akeya posta elektronika.
|
||||
send_paranoid_instructions: Si tu adreso de posta elektronika existe en muestra baza de datos, risiviras un atadijo de rekuperasyon de kod en tu adreso de posta elektronika en pokos minutos. Por favor, komprova tu kuti de posta no deseado si no risives akeya posta elektronika.
|
||||
updated: Tu kod a sido trokado kon reusho. Tyenes entrado en kuento.
|
||||
updated_not_active: Tu kod se tiene trokado kon reusho.
|
||||
updated: Tu kod a sido trokado kon reushita. Tyenes entrado en kuento.
|
||||
updated_not_active: Tu kod se tiene trokado kon reushita.
|
||||
registrations:
|
||||
destroyed: Tu kuento a sido efasado kon reusho. Asperamos verte de muevo pronto.
|
||||
destroyed: Tu kuento a sido efasado kon reushita. Asperamos verte de muevo pronto.
|
||||
signed_up: Bienvenido! Te tienes enrejistrado djustamente.
|
||||
signed_up_but_inactive: Te tienes enrejistrado kon reusho. Entanto, no se pudio inisyar sesyon porke tu kuento ainda no esta aktivado.
|
||||
signed_up_but_locked: Te tienes enrejistrado kon reusho. Entanto, no pudites konektarte kon tu kuento porke tu kuento esta blokado.
|
||||
signed_up_but_inactive: Te tienes enrejistrado kon reushita. Entanto, no se pudio inisyar sesyon porke tu kuento ainda no esta aktivado.
|
||||
signed_up_but_locked: Te tienes enrejistrado kon reushita. Entanto, no pudites konektarte kon tu kuento porke tu kuento esta blokado.
|
||||
signed_up_but_pending: Un mesaj kon un atadijo de konfirmasyon a sido enviado a tu adreso de posta elektronika. Dempues de klikar en el atadijo, revizaremos tu solisitud. Seras avizado si se acheta.
|
||||
signed_up_but_unconfirmed: Un mesaj kon un atadijo de konfirmasyon a sido enviado a tu adreso de posta elektronika. Por favor, sigue el atadijo para aktivar tu kuento. Por favor, komprova tu kuti de posta spam si no risives akeya posta elektronika.
|
||||
update_needs_confirmation: Tienes aktualizado tu kuento kon reusho, pero kale verifikar tu muevo adreso de posta elektronika. Por favor, komprova tu posta elektronika i sige el atadijo de konfirmasyon para konfirmar tu muevo adreso de posta elektronika. Por favor, komprova tu kuti de posta spam si no risives akeya posta elektronika.
|
||||
updated: Tu kuento se aktualizo kon reusho.
|
||||
update_needs_confirmation: Tienes aktualizado tu kuento kon reushita, pero kale verifikar tu muevo adreso de posta elektronika. Por favor, komprova tu posta elektronika i sige el atadijo de konfirmasyon para konfirmar tu muevo adreso de posta elektronika. Por favor, komprova tu kuti de posta spam si no risives akeya posta elektronika.
|
||||
updated: Tu kuento se aktualizo kon reushita.
|
||||
sessions:
|
||||
already_signed_out: Salites del kuento kon reusho.
|
||||
signed_in: Konektates kon tu kuento kon reusho.
|
||||
signed_out: Salites del kuento kon reusho.
|
||||
already_signed_out: Salites del kuento kon reushita.
|
||||
signed_in: Konektates kon tu kuento kon reushita.
|
||||
signed_out: Salites del kuento kon reushita.
|
||||
unlocks:
|
||||
send_instructions: En unos minutos risiviras una posta elektronika kon instruksyones para dezblokar tu kuento. Por favor, komprova tu kuti de posta spam si no risives akeya posta elektronika.
|
||||
send_paranoid_instructions: Si tu kuento existe, en unos minutos risiviras una posta elektronika kon instruksyones para dezblokarlo. Por favor, reviza tu kuti de posta spam si no risives akeya posta elektronika.
|
||||
unlocked: Tu kuento fue dezblokado kon reusho. Por favor, konektate kon tu kuento para kontinuar.
|
||||
unlocked: Tu kuento fue dezblokado kon reushita. Por favor, konektate kon tu kuento para kontinuar.
|
||||
errors:
|
||||
messages:
|
||||
already_confirmed: ya estaba konfirmado, por favor aprova konektarte kon tu kuento
|
||||
|
@ -12,6 +12,7 @@ lt:
|
||||
last_attempt: Turi dar vieną bandymą, kol tavo paskyra bus užrakinta.
|
||||
locked: Tavo paskyra užrakinta.
|
||||
not_found_in_database: Netinkami %{authentication_keys} arba slaptažodis.
|
||||
omniauth_user_creation_failure: Klaida kuriant šios tapatybės paskyrą.
|
||||
pending: Tavo paskyra vis dar peržiūrima.
|
||||
timeout: Tavo seansas baigėsi. Norėdamas (-a) tęsti, prisijunk dar kartą.
|
||||
unauthenticated: Prieš tęsdamas (-a) turi prisijungti arba užsiregistruoti.
|
||||
|
@ -12,6 +12,7 @@ nl:
|
||||
last_attempt: Je hebt nog één poging over voordat jouw account wordt opgeschort.
|
||||
locked: Jouw account is opgeschort.
|
||||
not_found_in_database: "%{authentication_keys} of wachtwoord ongeldig."
|
||||
omniauth_user_creation_failure: Fout bij het aanmaken van een account voor deze identiteit.
|
||||
pending: Jouw account moet nog steeds worden beoordeeld.
|
||||
timeout: Jouw sessie is verlopen, log opnieuw in.
|
||||
unauthenticated: Je dient in te loggen of te registreren.
|
||||
|
@ -12,6 +12,7 @@ pl:
|
||||
last_attempt: Masz jeszcze jedną próbę; Twoje konto zostanie zablokowane jeśli się nie powiedzie.
|
||||
locked: Twoje konto zostało zablokowane.
|
||||
not_found_in_database: Nieprawidłowy %{authentication_keys} lub hasło.
|
||||
omniauth_user_creation_failure: Błąd przy tworzeniu konta dla tej tożsamości.
|
||||
pending: Twoje konto oczekuje na przegląd.
|
||||
timeout: Twoja sesja wygasła. Zaloguj się ponownie, aby kontynuować..
|
||||
unauthenticated: Zapisz się lub zaloguj, aby kontynuować.
|
||||
|
@ -12,6 +12,7 @@ pt-PT:
|
||||
last_attempt: Tem só mais uma tentativa antes da sua conta ser bloqueada.
|
||||
locked: A tua conta está bloqueada.
|
||||
not_found_in_database: "%{authentication_keys} ou palavra-passe inválida."
|
||||
omniauth_user_creation_failure: Erro ao criar uma conta para esta identidade.
|
||||
pending: A sua conta está ainda a aguardar revisão.
|
||||
timeout: A tua sessão expirou. Por favor, entra de novo para continuares.
|
||||
unauthenticated: Precisas de entrar na tua conta ou de te registares antes de continuar.
|
||||
|
@ -47,14 +47,19 @@ ro:
|
||||
subject: Instrucțiuni pentru resetarea parolei
|
||||
title: Resetare parolă
|
||||
two_factor_disabled:
|
||||
explanation: Conectarea este acum posibilă folosind doar adresa de e-mail și parola.
|
||||
subject: Autentificare cu doi factori dezactivată
|
||||
subtitle: Autentificarea cu doi factori pentru contul dvs. a fost dezactivată.
|
||||
title: 2FA dezactivat
|
||||
two_factor_enabled:
|
||||
explanation: Pentru autentificare va fi necesar un token generat de aplicația TOTP asociată.
|
||||
subject: Autentificare în doi pași activată
|
||||
subtitle: Autentificarea cu doi factori a fost activată pentru contul dvs.
|
||||
title: 2FA activat
|
||||
two_factor_recovery_codes_changed:
|
||||
explanation: Codurile anterioare de recuperare au fost invalidate și unele noi generate.
|
||||
subject: Recuperare în doi factori
|
||||
subtitle: Codurile de recuperare anterioare au fost invalidate și s-au generat altele noi.
|
||||
title: Coduri de recuperare 2FA modificate
|
||||
unlock_instructions:
|
||||
subject: Instrucțiuni de deblocare
|
||||
@ -68,9 +73,13 @@ ro:
|
||||
subject: 'Mastodon: Cheie de securitate ștearsă'
|
||||
title: Una dintre cheile tale de securitate a fost ștearsă
|
||||
webauthn_disabled:
|
||||
explanation: Autentificarea cu chei de securitate a fost dezactivată pentru contul dvs.
|
||||
extra: Conectarea este acum posibilă folosind doar token-ul generat de aplicația TOTP asociată.
|
||||
subject: 'Mastodon: Autentificarea cu chei de securitate dezactivată'
|
||||
title: Chei de securitate dezactivate
|
||||
webauthn_enabled:
|
||||
explanation: Autentificarea cu cheie de securitate a fost activată pentru contul dvs.
|
||||
extra: Cheia ta de securitate poate fi acum folosită pentru conectare.
|
||||
subject: 'Mastodon: Autentificarea cheii de securitate activată'
|
||||
title: Chei de securitate activate
|
||||
omniauth_callbacks:
|
||||
|
@ -12,6 +12,7 @@ sk:
|
||||
last_attempt: Máš posledný pokus pred zamknutím tvojho účtu.
|
||||
locked: Tvoj účet je zamknutý.
|
||||
not_found_in_database: Nesprávny %{authentication_keys}, alebo heslo.
|
||||
omniauth_user_creation_failure: Chyba pri vytváraní účtu pre túto identitu.
|
||||
pending: Tvoj účet je stále prehodnocovaný.
|
||||
timeout: Tvoja aktívna sezóna vypršala. Pre pokračovanie sa prosím prihlás znovu.
|
||||
unauthenticated: K pokračovaniu sa musíš zaregistrovať alebo prihlásiť.
|
||||
|
@ -12,6 +12,7 @@ sl:
|
||||
last_attempt: Pred zaklepom računa imate še en poskus.
|
||||
locked: Vaš račun je zaklenjen.
|
||||
not_found_in_database: Neveljavno %{authentication_keys} ali geslo.
|
||||
omniauth_user_creation_failure: Napaka pri ustvarjanju računa za to identiteto.
|
||||
pending: Vaš račun je še vedno pod drobnogledom.
|
||||
timeout: Vaša seja je potekla. Če želite nadaljevati, se znova prijavite.
|
||||
unauthenticated: Pred nadaljevanjem se morate prijaviti ali vpisati.
|
||||
|
@ -12,6 +12,7 @@ sq:
|
||||
last_attempt: Mund të provoni edhe një herë, përpara se llogaria juaj të kyçet.
|
||||
locked: Llogaria juaj është e kyçur.
|
||||
not_found_in_database: "%{authentication_keys} ose fjalëkalim i pavlefshëm."
|
||||
omniauth_user_creation_failure: Gabim në krijim llogarie për këtë identitet.
|
||||
pending: Llogaria juaj është ende nën shqyrtim.
|
||||
timeout: Sesioni juaj ka skaduar. Ju lutemi, që të vazhdohet, ribëni hyrjen.
|
||||
unauthenticated: Përpara se të vazhdohet më tej, lypset të bëni hyrjen ose të regjistroheni.
|
||||
|
@ -12,6 +12,7 @@ sr-Latn:
|
||||
last_attempt: Imate još jedan pokušaj pre nego što Vaš nalog bude zaključan.
|
||||
locked: Vaš nalog je zaključan.
|
||||
not_found_in_database: Neispravna %{authentication_keys} ili lozinka.
|
||||
omniauth_user_creation_failure: Greška pri kreiranju naloga za ovaj identitet.
|
||||
pending: Vaš račun je još uvek u pregledu.
|
||||
timeout: Vreme trajanja Vaše sesije je isteklo. Za nastavak prijavite se ponovo.
|
||||
unauthenticated: Za nastavak se morate prijaviti ili registrovati.
|
||||
|
@ -12,6 +12,7 @@ sr:
|
||||
last_attempt: Имате још један покушај пре него што Ваш налог буде закључан.
|
||||
locked: Ваш налог је закључан.
|
||||
not_found_in_database: Неисправна %{authentication_keys} или лозинка.
|
||||
omniauth_user_creation_failure: Грешка при креирању налога за овај идентитет.
|
||||
pending: Ваш налог се још увек прегледа.
|
||||
timeout: Ваша сесија је истекла. Пријавите се поново да бисте наставили.
|
||||
unauthenticated: Морате да се пријавите или региструјете пре него што наставите.
|
||||
|
@ -12,6 +12,7 @@ th:
|
||||
last_attempt: คุณลองได้อีกหนึ่งครั้งก่อนที่จะมีการล็อคบัญชีของคุณ
|
||||
locked: มีการล็อคบัญชีของคุณอยู่
|
||||
not_found_in_database: "%{authentication_keys} หรือรหัสผ่านไม่ถูกต้อง"
|
||||
omniauth_user_creation_failure: เกิดข้อผิดพลาดในการสร้างบัญชีสำหรับข้อมูลประจำตัวนี้
|
||||
pending: บัญชีของคุณยังคงอยู่ระหว่างการตรวจทาน
|
||||
timeout: เซสชันของคุณหมดอายุแล้ว โปรดเข้าสู่ระบบอีกครั้งเพื่อดำเนินการต่อ
|
||||
unauthenticated: คุณจำเป็นต้องเข้าสู่ระบบหรือลงทะเบียนก่อนดำเนินการต่อ
|
||||
|
1
config/locales/devise.tok.yml
Normal file
1
config/locales/devise.tok.yml
Normal file
@ -0,0 +1 @@
|
||||
tok:
|
@ -12,6 +12,7 @@ tr:
|
||||
last_attempt: Hesabınız kilitlenmeden önce bir kez daha denemeniz gerekir.
|
||||
locked: Hesabınız kilitlendi.
|
||||
not_found_in_database: Geçersiz %{authentication_keys} ya da parola.
|
||||
omniauth_user_creation_failure: Bu kimlik için hesap oluşturmada hata.
|
||||
pending: Hesabınız hala inceleniyor.
|
||||
timeout: Oturum süreniz sona erdi. Lütfen devam etmek için tekrar giriş yapınız.
|
||||
unauthenticated: Devam etmeden önce oturum açmanız veya kayıt olmanız gerek.
|
||||
|
@ -12,6 +12,7 @@ uk:
|
||||
last_attempt: У вас залишилась ще одна спроба, після якої ваш обліковий запис буде заблоковано.
|
||||
locked: Ваш обліковий запис заблоковано.
|
||||
not_found_in_database: Неправильний %{authentication_keys} або пароль.
|
||||
omniauth_user_creation_failure: Помилка створення облікового запису для цієї особи.
|
||||
pending: Ваш обліковий запис ще перебуває на розгляді.
|
||||
timeout: Час сеансу минув. Будь ласка, увійдіть знову, щоб продовжити.
|
||||
unauthenticated: Щоб продовжити, увійдіть або зареєструйтеся.
|
||||
|
@ -12,6 +12,7 @@ vi:
|
||||
last_attempt: Nếu thử sai lần nữa, tài khoản của bạn sẽ bị khóa.
|
||||
locked: Tài khoản của bạn bị khóa.
|
||||
not_found_in_database: "%{authentication_keys} không có trong dữ liệu."
|
||||
omniauth_user_creation_failure: Xảy ra lỗi khi tạo tài khoản này.
|
||||
pending: Tài khoản của bạn vẫn đang được xem xét.
|
||||
timeout: Phiên của bạn đã hết hạn. Vui lòng đăng nhập lại để tiếp tục.
|
||||
unauthenticated: Bạn cần đăng nhập để tiếp tục.
|
||||
|
@ -12,6 +12,7 @@ zh-CN:
|
||||
last_attempt: 你只有最后一次尝试机会,若未通过,帐号将被锁定。
|
||||
locked: 你的账户已被锁定。
|
||||
not_found_in_database: "%{authentication_keys}或密码错误。"
|
||||
omniauth_user_creation_failure: 为此身份创建账户时出错。
|
||||
pending: 你的账号仍在审核中。
|
||||
timeout: 你的会话已过期。请重新登录再继续操作。
|
||||
unauthenticated: 继续操作前请注册或者登录。
|
||||
|
@ -12,6 +12,7 @@ zh-HK:
|
||||
last_attempt: 若你再一次嘗試失敗,我們將鎖定你的帳號,以策安全。
|
||||
locked: 你的帳號已被鎖定。
|
||||
not_found_in_database: 不正確的%{authentication_keys}或密碼。
|
||||
omniauth_user_creation_failure: 為此身份建立帳號時出錯。
|
||||
pending: 你的帳號仍在審核中
|
||||
timeout: 你的登入階段已經過期,請重新登入以繼續使用。
|
||||
unauthenticated: 你必須先登入或登記,以繼續使用。
|
||||
|
@ -12,6 +12,7 @@ zh-TW:
|
||||
last_attempt: 帳號鎖定前,您還有最後一次嘗試機會。
|
||||
locked: 已鎖定您的帳號。
|
||||
not_found_in_database: 無效的 %{authentication_keys} 或密碼。
|
||||
omniauth_user_creation_failure: 以此身分新增帳號時發生錯誤。
|
||||
pending: 您的帳號仍在審核中。
|
||||
timeout: 登入階段逾時。請重新登入以繼續。
|
||||
unauthenticated: 您必須先登入或註冊才能繼續使用。
|
||||
|
@ -84,7 +84,7 @@ cs:
|
||||
credential_flow_not_configured: Proud Resource Owner Password Credentials selhal, protože Doorkeeper.configure.resource_owner_from_credentials nebylo nakonfigurováno.
|
||||
invalid_client: Ověření klienta selhalo kvůli neznámému klientovi, chybějící klientské autentizaci či nepodporované autentizační metodě.
|
||||
invalid_grant: Poskytnuté oprávnění je neplatné, vypršela jeho platnost, bylo odvoláno, neshoduje se s URI přesměrování použitým v požadavku o autorizaci, nebo bylo uděleno jinému klientu.
|
||||
invalid_redirect_uri: URI pro přesměrování není platné.
|
||||
invalid_redirect_uri: Zahrnutá přesměrovací URI není platná.
|
||||
invalid_request:
|
||||
missing_param: 'Chybí potřebný parametr: %{value}.'
|
||||
request_not_authorized: Požadavek musí být autorizován. Potřebný parametr pro autorizaci požadavku chybí nebo není platný.
|
||||
|
@ -34,6 +34,7 @@ ia:
|
||||
confirmations:
|
||||
revoke: Es tu secur?
|
||||
index:
|
||||
last_used_at: Ultime uso in %{date}
|
||||
never_used: Nunquam usate
|
||||
scopes: Permissiones
|
||||
title: Tu applicationes autorisate
|
||||
|
@ -36,7 +36,7 @@ kab:
|
||||
application: Asnas
|
||||
callback_url: URL n tririt n wawal
|
||||
delete: Kkes
|
||||
empty: Ulac γur-ek·em isnasen.
|
||||
empty: Ulac ɣur-k·m isnasen.
|
||||
name: Isem
|
||||
new: Asnas amaynut
|
||||
show: Ẓer
|
||||
@ -57,7 +57,7 @@ kab:
|
||||
new:
|
||||
title: Tlaq tsiregt
|
||||
show:
|
||||
title: Nγel tangalt n wurag sakkin senteḍ-itt deg usnas.
|
||||
title: Nɣel tangalt n wurag sakkin senteḍ-itt deg usnas.
|
||||
authorized_applications:
|
||||
buttons:
|
||||
revoke: Ḥwi
|
||||
@ -113,13 +113,13 @@ kab:
|
||||
read:notifications: ẓer tilγa-ik
|
||||
read:reports: ẓer ineqqisen-ik·im
|
||||
read:search: anadi deg umkan-ik·im
|
||||
read:statuses: ẓer meṛṛa tisuffaγ
|
||||
read:statuses: ẓer meṛṛa tisuffaɣ
|
||||
write: beddel meṛṛa isefka n umiḍan-ik
|
||||
write:accounts: ẓreg amaγnu-ik
|
||||
write:blocks: seḥbes imiḍanen d tγula
|
||||
write:bookmarks: ad yernu tisuffγin γer ticraḍ
|
||||
write:bookmarks: ad yernu tisuffaɣ ɣer ticraḍ
|
||||
write:filters: rnu-d imsizedgen
|
||||
write:follows: ḍfeṛ imdanen
|
||||
write:lists: ad yesnulfu tibdarin
|
||||
write:media: ad yessali ifayluyen n teγwalt
|
||||
write:media: ad yessali ifuyla n umidya
|
||||
write:notifications: sfeḍ tilɣa-k·m
|
||||
|
51
config/locales/doorkeeper.tok.yml
Normal file
51
config/locales/doorkeeper.tok.yml
Normal file
@ -0,0 +1,51 @@
|
||||
---
|
||||
tok:
|
||||
doorkeeper:
|
||||
applications:
|
||||
buttons:
|
||||
cancel: o pini
|
||||
destroy: o weka
|
||||
edit: o ante
|
||||
submit: o awen
|
||||
confirmations:
|
||||
destroy: ni li pona ala pona?
|
||||
edit:
|
||||
title: o ante e ilo nanpa
|
||||
form:
|
||||
error: 'pakala a! o lukin e ni: lipu sina li jo ala jo e pakala.'
|
||||
index:
|
||||
delete: o weka
|
||||
empty: sina li jo e ilo nanpa ala.
|
||||
name: nimi
|
||||
new: o pali e ilo nanpa sin
|
||||
title: ilo nanpa sina
|
||||
new:
|
||||
title: o pali e ilo nanpa sin
|
||||
show:
|
||||
title: ilo nanpa pi nimi %{name}
|
||||
authorizations:
|
||||
error:
|
||||
title: pakala li lon.
|
||||
authorized_applications:
|
||||
confirmations:
|
||||
revoke: ni li pona ala pona?
|
||||
index:
|
||||
scopes: ken
|
||||
errors:
|
||||
messages:
|
||||
invalid_request:
|
||||
missing_param: o pana e sona "%{value}".
|
||||
flash:
|
||||
applications:
|
||||
create:
|
||||
notice: sina pali e ilo nanpa.
|
||||
destroy:
|
||||
notice: sina weka e ilo nanpa.
|
||||
update:
|
||||
notice: sina ante e ilo nanpa.
|
||||
authorized_applications:
|
||||
destroy:
|
||||
notice: sina weka e ilo nanpa tawa sina.
|
||||
grouped_scopes:
|
||||
access:
|
||||
read: lukin taso
|
Some files were not shown because too many files have changed in this diff Show More
Loading…
Reference in New Issue
Block a user