Merge pull request #1280 from ThibG/glitch-soc/merge-upstream

Merge upstream changes
main
ThibG 2020-02-09 12:56:12 +01:00 committed by GitHub
commit d3aaa08730
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
40 changed files with 461 additions and 228 deletions

View File

@ -3,7 +3,7 @@ Changelog
All notable changes to this project will be documented in this file.
## Unreleased
## [3.1.0] - 2020-02-09
### Added
- Add bookmarks ([ThibG](https://github.com/tootsuite/mastodon/pull/7107), [Gargron](https://github.com/tootsuite/mastodon/pull/12494), [Gomasy](https://github.com/tootsuite/mastodon/pull/12381))
@ -38,8 +38,9 @@ All notable changes to this project will be documented in this file.
- Add support for KaiOS arrow navigation to public pages ([nolanlawson](https://github.com/tootsuite/mastodon/pull/12251))
- Add `discoverable` to accounts in REST API ([trwnh](https://github.com/tootsuite/mastodon/pull/12508))
- Add admin setting to disable default follows ([ArisuOngaku](https://github.com/tootsuite/mastodon/pull/12566))
- Add support for LDAP and PAM in the OAuth password grant strategy ([ntl-purism](https://github.com/tootsuite/mastodon/pull/12390))
- Add support for LDAP and PAM in the OAuth password grant strategy ([ntl-purism](https://github.com/tootsuite/mastodon/pull/12390), [Gargron](https://github.com/tootsuite/mastodon/pull/12743))
- Allow support for `Accept`/`Reject` activities with a non-embedded object ([puckipedia](https://github.com/tootsuite/mastodon/pull/12199))
- Add "Show thread" button to public profiles ([Sasha-Sorokin](https://github.com/tootsuite/mastodon/pull/13000))
### Changed
@ -65,6 +66,7 @@ All notable changes to this project will be documented in this file.
- Change to fallback to to `Create` audience when `object` has no defined audience ([ThibG](https://github.com/tootsuite/mastodon/pull/12249))
- Change Twemoji library to 12.1.3 in web UI ([koyuawsmbrtn](https://github.com/tootsuite/mastodon/pull/12342))
- Change blocked users to be hidden from following/followers lists ([ThibG](https://github.com/tootsuite/mastodon/pull/12733))
- Change signature verification to ignore signatures with invalid host ([Gargron](https://github.com/tootsuite/mastodon/pull/13033))
### Removed
@ -92,14 +94,13 @@ All notable changes to this project will be documented in this file.
- Fix old migrations failing because of strong migrations update ([ThibG](https://github.com/tootsuite/mastodon/pull/12787), [ThibG](https://github.com/tootsuite/mastodon/pull/12692))
- Fix reuse of detailed status components in web UI ([ThibG](https://github.com/tootsuite/mastodon/pull/12792))
- Fix base64-encoded file uploads not being possible in REST API ([Gargron](https://github.com/tootsuite/mastodon/pull/12748), [Gargron](https://github.com/tootsuite/mastodon/pull/12857))
- Fix resource_owner_from_credentials in Doorkeeper initializer ([Gargron](https://github.com/tootsuite/mastodon/pull/12743))
- Fix error due to missing authentication call in filters controller ([Gargron](https://github.com/tootsuite/mastodon/pull/12746))
- Fix uncaught unknown format error in host meta controller ([Gargron](https://github.com/tootsuite/mastodon/pull/12747))
- Fix URL search not returning private toots user has access to ([ThibG](https://github.com/tootsuite/mastodon/pull/12742), [ThibG](https://github.com/tootsuite/mastodon/pull/12336))
- Fix cache digesting log noise on status embeds ([Gargron](https://github.com/tootsuite/mastodon/pull/12750))
- Fix slowness due to layout thrashing when reloading a large set of statuses in web UI ([panarom](https://github.com/tootsuite/mastodon/pull/12661), [panarom](https://github.com/tootsuite/mastodon/pull/12744), [Gargron](https://github.com/tootsuite/mastodon/pull/12712))
- Fix error when fetching followers/following from REST API when user has network hidden ([Gargron](https://github.com/tootsuite/mastodon/pull/12716))
- Fix IDN mentions not being processed, IDN domains not being rendered ([Gargron](https://github.com/tootsuite/mastodon/pull/12715))
- Fix IDN mentions not being processed, IDN domains not being rendered ([Gargron](https://github.com/tootsuite/mastodon/pull/12715), [Gargron](https://github.com/tootsuite/mastodon/pull/13035), [Gargron](https://github.com/tootsuite/mastodon/pull/13030))
- Fix error when searching for empty phrase ([Gargron](https://github.com/tootsuite/mastodon/pull/12711))
- Fix backups stopping due to read timeouts ([chr-1x](https://github.com/tootsuite/mastodon/pull/12281))
- Fix batch actions on non-pending tags in admin UI ([ThibG](https://github.com/tootsuite/mastodon/pull/12537))
@ -152,6 +153,13 @@ All notable changes to this project will be documented in this file.
- Fix voting issue with remote polls that contain trailing spaces ([ThibG](https://github.com/tootsuite/mastodon/pull/12515))
- Fix dynamic elements not working in pgHero due to CSP rules ([ykzts](https://github.com/tootsuite/mastodon/pull/12489))
- Fix overly verbose backtraces when delivering ActivityPub payloads ([zunda](https://github.com/tootsuite/mastodon/pull/12798))
- Fix rendering `<a>` without `href` when scheme unsupported ([Gargron](https://github.com/tootsuite/mastodon/pull/13040))
- Fix unfiltered params error when generating ActivityPub tag pagination ([Gargron](https://github.com/tootsuite/mastodon/pull/13049))
- Fix malformed HTML causing uncaught error ([Gargron](https://github.com/tootsuite/mastodon/pull/13042))
- Fix native share button not being displayed for unlisted toots ([ThibG](https://github.com/tootsuite/mastodon/pull/13045))
- Fix remote convertible media attachments (e.g. GIFs) not being saved ([Gargron](https://github.com/tootsuite/mastodon/pull/13032))
- Fix account query not using faster index ([abcang](https://github.com/tootsuite/mastodon/pull/13016))
- Fix error when sending moderation notification ([renatolond](https://github.com/tootsuite/mastodon/pull/13014))
### Security

View File

@ -61,7 +61,7 @@ gem 'htmlentities', '~> 4.3'
gem 'http', '~> 4.3'
gem 'http_accept_language', '~> 2.1'
gem 'http_parser.rb', '~> 0.6', git: 'https://github.com/tmm1/http_parser.rb', ref: '54b17ba8c7d8d20a16dfc65d1775241833219cf2', submodules: true
gem 'httplog', '~> 1.4.1'
gem 'httplog', '~> 1.4.2'
gem 'idn-ruby', require: 'idn'
gem 'kaminari', '~> 1.1'
gem 'link_header', '~> 0.0'

View File

@ -284,7 +284,7 @@ GEM
http-parser (1.2.1)
ffi-compiler (>= 1.0, < 2.0)
http_accept_language (2.1.1)
httplog (1.4.1)
httplog (1.4.2)
rack (>= 1.0)
rainbow (>= 2.0.0)
i18n (1.8.2)
@ -713,7 +713,7 @@ DEPENDENCIES
http (~> 4.3)
http_accept_language (~> 2.1)
http_parser.rb (~> 0.6)!
httplog (~> 1.4.1)
httplog (~> 1.4.2)
i18n-tasks (~> 0.9)
idn-ruby
iso-639

View File

@ -7,15 +7,21 @@ class Api::Web::EmbedsController < Api::Web::BaseController
def create
status = StatusFinder.new(params[:url]).status
return not_found if status.hidden?
render json: status, serializer: OEmbedSerializer, width: 400
rescue ActiveRecord::RecordNotFound
oembed = FetchOEmbedService.new.call(params[:url])
oembed[:html] = Formatter.instance.sanitize(oembed[:html], Sanitize::Config::MASTODON_OEMBED) if oembed[:html].present?
if oembed
render json: oembed
else
render json: {}, status: :not_found
return not_found if oembed.nil?
begin
oembed[:html] = Formatter.instance.sanitize(oembed[:html], Sanitize::Config::MASTODON_OEMBED)
rescue ArgumentError
return not_found
end
render json: oembed
end
end

View File

@ -25,7 +25,7 @@ class TagsController < ApplicationController
format.rss do
expires_in 0, public: true
@statuses = HashtagQueryService.new.call(@tag, params.slice(:any, :all, :none)).limit(PAGE_SIZE)
@statuses = HashtagQueryService.new.call(@tag, filter_params).limit(PAGE_SIZE)
@statuses = cache_collection(@statuses, Status)
render xml: RSS::TagSerializer.render(@tag, @statuses)
@ -34,7 +34,7 @@ class TagsController < ApplicationController
format.json do
expires_in 3.minutes, public: public_fetch_mode?
@statuses = HashtagQueryService.new.call(@tag, params.slice(:any, :all, :none), current_account, params[:local]).paginate_by_max_id(PAGE_SIZE, params[:max_id])
@statuses = HashtagQueryService.new.call(@tag, filter_params, current_account, params[:local]).paginate_by_max_id(PAGE_SIZE, params[:max_id])
@statuses = cache_collection(@statuses, Status)
render json: collection_presenter, serializer: ActivityPub::CollectionSerializer, adapter: ActivityPub::Adapter, content_type: 'application/activity+json'
@ -58,10 +58,14 @@ class TagsController < ApplicationController
def collection_presenter
ActivityPub::CollectionPresenter.new(
id: tag_url(@tag, params.slice(:any, :all, :none)),
id: tag_url(@tag, filter_params),
type: :ordered,
size: @tag.statuses.count,
items: @statuses.map { |s| ActivityPub::TagManager.instance.uri_for(s) }
)
end
def filter_params
params.slice(:any, :all, :none).permit(:any, :all, :none)
end
end

View File

@ -265,7 +265,7 @@ class StatusActionBar extends ImmutablePureComponent {
replyTitle = intl.formatMessage(messages.replyAll);
}
const shareButton = ('share' in navigator) && status.get('visibility') === 'public' && (
const shareButton = ('share' in navigator) && publicStatus && (
<IconButton className='status__action-bar-button' title={intl.formatMessage(messages.share)} icon='share-alt' onClick={this.handleShareClick} />
);

View File

@ -188,7 +188,7 @@ class ActionBar extends React.PureComponent {
}
}
const shareButton = ('share' in navigator) && status.get('visibility') === 'public' && (
const shareButton = ('share' in navigator) && publicStatus && (
<div className='detailed-status__button'><IconButton title={intl.formatMessage(messages.share)} icon='share-alt' onClick={this.handleShare} /></div>
);
@ -196,13 +196,12 @@ class ActionBar extends React.PureComponent {
//if (status.get('visibility') === 'direct') reblogIcon = 'envelope';
// else if (status.get('visibility') === 'private') reblogIcon = 'lock';
let reblog_disabled = (status.get('visibility') === 'direct' || (status.get('visibility') === 'private' && me !== status.getIn(['account', 'id'])));
let reblog_message = status.get('visibility') === 'private' ? messages.reblog_private : messages.reblog;
return (
<div className='detailed-status__action-bar'>
<div className='detailed-status__button'><IconButton title={intl.formatMessage(messages.reply)} icon={status.get('in_reply_to_id', null) === null ? 'reply' : 'reply-all'} onClick={this.handleReplyClick} /></div>
<div className='detailed-status__button'><IconButton disabled={reblog_disabled} active={status.get('reblogged')} title={reblog_disabled ? intl.formatMessage(messages.cannot_reblog) : intl.formatMessage(reblog_message)} icon={reblogIcon} onClick={this.handleReblogClick} /></div>
<div className='detailed-status__button'><IconButton disabled={!publicStatus} active={status.get('reblogged')} title={!publicStatus ? intl.formatMessage(messages.cannot_reblog) : intl.formatMessage(reblog_message)} icon={reblogIcon} onClick={this.handleReblogClick} /></div>
<div className='detailed-status__button'><IconButton className='star-icon' animate active={status.get('favourited')} title={intl.formatMessage(messages.favourite)} icon='star' onClick={this.handleFavouriteClick} /></div>
{shareButton}
<div className='detailed-status__button'><IconButton className='bookmark-icon' active={status.get('bookmarked')} title={intl.formatMessage(messages.bookmark)} icon='bookmark' onClick={this.handleBookmarkClick} /></div>

View File

@ -84,14 +84,13 @@
&__unread {
position: absolute;
top: 15px;
right: 15px;
display: inline-block;
top: 19px;
right: 19px;
display: block;
background: $highlight-text-color;
border-radius: 50%;
width: 0.625rem;
height: 0.625rem;
margin: 0 .15em;
}
}

View File

@ -319,7 +319,7 @@ class StatusActionBar extends ImmutablePureComponent {
replyTitle = intl.formatMessage(messages.replyAll);
}
const shareButton = ('share' in navigator) && status.get('visibility') === 'public' && (
const shareButton = ('share' in navigator) && publicStatus && (
<IconButton className='status__action-bar-button' title={intl.formatMessage(messages.share)} icon='share-alt' onClick={this.handleShareClick} />
);

View File

@ -250,7 +250,7 @@ class ActionBar extends React.PureComponent {
}
}
const shareButton = ('share' in navigator) && status.get('visibility') === 'public' && (
const shareButton = ('share' in navigator) && publicStatus && (
<div className='detailed-status__button'><IconButton title={intl.formatMessage(messages.share)} icon='share-alt' onClick={this.handleShare} /></div>
);
@ -265,12 +265,10 @@ class ActionBar extends React.PureComponent {
if (status.get('visibility') === 'direct') reblogIcon = 'envelope';
else if (status.get('visibility') === 'private') reblogIcon = 'lock';
let reblog_disabled = (status.get('visibility') === 'direct' || status.get('visibility') === 'private');
return (
<div className='detailed-status__action-bar'>
<div className='detailed-status__button'><IconButton title={intl.formatMessage(messages.reply)} icon={status.get('in_reply_to_account_id') === status.getIn(['account', 'id']) ? 'reply' : replyIcon} onClick={this.handleReplyClick} /></div>
<div className='detailed-status__button'><IconButton disabled={reblog_disabled} active={status.get('reblogged')} title={reblog_disabled ? intl.formatMessage(messages.cannot_reblog) : intl.formatMessage(messages.reblog)} icon={reblogIcon} onClick={this.handleReblogClick} /></div>
<div className='detailed-status__button'><IconButton disabled={!publicStatus} active={status.get('reblogged')} title={!publicStatus ? intl.formatMessage(messages.cannot_reblog) : intl.formatMessage(messages.reblog)} icon={reblogIcon} onClick={this.handleReblogClick} /></div>
<div className='detailed-status__button'><IconButton className='star-icon' animate active={status.get('favourited')} title={intl.formatMessage(messages.favourite)} icon='star' onClick={this.handleFavouriteClick} /></div>
{shareButton}
<div className='detailed-status__button'><IconButton className='bookmark-icon' active={status.get('bookmarked')} title={intl.formatMessage(messages.bookmark)} icon='bookmark' onClick={this.handleBookmarkClick} /></div>

View File

@ -184,8 +184,8 @@
"home.column_settings.basic": "الأساسية",
"home.column_settings.show_reblogs": "اعرض الترقيات",
"home.column_settings.show_replies": "اعرض الردود",
"home.hide_announcements": "Hide announcements",
"home.show_announcements": "Show announcements",
"home.hide_announcements": "إخفاء الإعلانات",
"home.show_announcements": "إظهار الإعلانات",
"intervals.full.days": "{number, plural, one {# يوم} other {# أيام}}",
"intervals.full.hours": "{number, plural, one {# ساعة} other {# ساعات}}",
"intervals.full.minutes": "{number, plural, one {# دقيقة} other {# دقائق}}",
@ -335,7 +335,7 @@
"relative_time.just_now": "الآن",
"relative_time.minutes": "{number}د",
"relative_time.seconds": "{number}ثا",
"relative_time.today": "today",
"relative_time.today": "اليوم",
"reply_indicator.cancel": "إلغاء",
"report.forward": "التحويل إلى {target}",
"report.forward_hint": "هذا الحساب ينتمي إلى خادوم آخَر. هل تودّ إرسال نسخة مجهولة مِن التقرير إلى هنالك أيضًا؟",

View File

@ -29,14 +29,14 @@
"account.never_active": "Enxamás",
"account.posts": "Barritos",
"account.posts_with_replies": "Barritos y rempuestes",
"account.report": "Informar de @{name}",
"account.report": "Report @{name}",
"account.requested": "Esperando pola aprobación. Calca pa encaboxar la solicitú de siguimientu",
"account.share": "Share @{name}'s profile",
"account.show_reblogs": "Show boosts from @{name}",
"account.show_reblogs": "Amosar les comparticiones de @{name}",
"account.unblock": "Desbloquiar a @{name}",
"account.unblock_domain": "Amosar {domain}",
"account.unendorse": "Nun destacar nel perfil",
"account.unfollow": "Unfollow",
"account.unfollow": "Dexar de siguir",
"account.unmute": "Unmute @{name}",
"account.unmute_notifications": "Unmute notifications from @{name}",
"alert.rate_limited.message": "Please retry after {retry_time, time, medium}.",
@ -84,7 +84,7 @@
"compose_form.poll.add_option": "Amestar una escoyeta",
"compose_form.poll.duration": "Poll duration",
"compose_form.poll.option_placeholder": "Escoyeta {number}",
"compose_form.poll.remove_option": "Remove this choice",
"compose_form.poll.remove_option": "Desaniciar esta escoyeta",
"compose_form.poll.switch_to_multiple": "Change poll to allow multiple choices",
"compose_form.poll.switch_to_single": "Change poll to allow for a single choice",
"compose_form.publish": "Barritar",
@ -96,30 +96,30 @@
"compose_form.spoiler.unmarked": "El testu nun va anubrise",
"compose_form.spoiler_placeholder": "Escribi equí l'alvertencia",
"confirmation_modal.cancel": "Encaboxar",
"confirmations.block.block_and_report": "Block & Report",
"confirmations.block.confirm": "Block",
"confirmations.block.block_and_report": "Bloquiar ya informar",
"confirmations.block.confirm": "Bloquiar",
"confirmations.block.message": "¿De xuru que quies bloquiar a {name}?",
"confirmations.delete.confirm": "Delete",
"confirmations.delete.confirm": "Desaniciar",
"confirmations.delete.message": "¿De xuru que quies desaniciar esti estáu?",
"confirmations.delete_list.confirm": "Desaniciar",
"confirmations.delete_list.message": "¿De xuru que quies desaniciar dafechu esta llista?",
"confirmations.domain_block.confirm": "Anubrir tol dominiu",
"confirmations.domain_block.message": "Are you really, really sure you want to block the entire {domain}? In most cases a few targeted blocks or mutes are sufficient and preferable. You will not see content from that domain in any public timelines or your notifications. Your followers from that domain will be removed.",
"confirmations.logout.confirm": "Log out",
"confirmations.logout.message": "Are you sure you want to log out?",
"confirmations.mute.confirm": "Mute",
"confirmations.mute.explanation": "This will hide posts from them and posts mentioning them, but it will still allow them to see your posts and follow you.",
"confirmations.domain_block.message": "¿De xuru xurísimu que quies bloquiar el dominiu {domain} enteru? Na mayoría de casos bloquiar o silenciar dalguna cuenta ye abondo y preferible. Nun vas ver el conteníu d'esi dominiu en nenguna llinia temporal pública o nos avisos, y van desanciase los tos siguidores d'esi dominiu.",
"confirmations.logout.confirm": "Zarrar sesión",
"confirmations.logout.message": "¿De xuru que quies zarrar la sesión?",
"confirmations.mute.confirm": "Silenciar",
"confirmations.mute.explanation": "Esto va anubrir los espublizamientos y les sos menciones pero entá va permiti-yos ver los tos espublizamientos y siguite.",
"confirmations.mute.message": "¿De xuru que quies silenciar a {name}?",
"confirmations.redraft.confirm": "Desaniciar y reeditar",
"confirmations.redraft.message": "¿De xuru que quies desaniciar esti estáu y reeditalu? Van perdese los favoritos y comparticiones, y les rempuestes al toot orixinal van quedar güérfanes.",
"confirmations.reply.confirm": "Reply",
"confirmations.reply.message": "Replying now will overwrite the message you are currently composing. Are you sure you want to proceed?",
"confirmations.unfollow.confirm": "Unfollow",
"confirmations.reply.confirm": "Responder",
"confirmations.reply.message": "Responder agora va sobrescribir el mensaxe que tas componiendo anguaño. ¿De xuru que quies siguir?",
"confirmations.unfollow.confirm": "Dexar de siguir",
"confirmations.unfollow.message": "¿De xuru que quies dexar de siguir a {name}?",
"conversation.delete": "Delete conversation",
"conversation.mark_as_read": "Mark as read",
"conversation.open": "View conversation",
"conversation.with": "With {names}",
"conversation.with": "Con {names}",
"directory.federated": "Dende'l fediversu",
"directory.local": "Dende {domain} namái",
"directory.new_arrivals": "Cuentes nueves",
@ -142,21 +142,21 @@
"emoji_button.travel": "Viaxes y llugares",
"empty_column.account_timeline": "¡Equí nun hai barritos!",
"empty_column.account_unavailable": "Profile unavailable",
"empty_column.blocks": "Entá nun bloquiesti a dengún usuariu.",
"empty_column.blocks": "Entá nun bloquiesti a nunengún usuariu.",
"empty_column.bookmarked_statuses": "Entá nun tienes nengún barritu en Marcadores. Cuando amiestes unu, va amosase equí.",
"empty_column.community": "The local timeline is empty. Write something publicly to get the ball rolling!",
"empty_column.direct": "Entá nun tienes dengún mensaxe direutu. Cuando unvies o recibas dalgún, va apaecer equí.",
"empty_column.direct": "Entá nun tienes nunengún mensaxe direutu. Cuando unvies o recibas dalgún, va apaecer equí.",
"empty_column.domain_blocks": "Entá nun hai dominios anubríos.",
"empty_column.favourited_statuses": "Entá nun tienes nengún barritu en Favoritos. Cuando amiestes unu, va amosase equí.",
"empty_column.favourites": "No one has favourited this toot yet. When someone does, they will show up here.",
"empty_column.follow_requests": "Entá nun tienes denguna solicitú de siguimientu. Cuando recibas una, va amosase equí.",
"empty_column.follow_requests": "Entá nun tienes nenguna solicitú de siguimientu. Cuando recibas una, va amosase equí.",
"empty_column.hashtag": "Entá nun hai nada nesta etiqueta.",
"empty_column.home": "¡Tienes la llinia temporal balera! Visita {public} o usa la gueta pa entamar y conocer a otros usuarios.",
"empty_column.home.public_timeline": "la llinia temporal pública",
"empty_column.list": "Entá nun hai nada nesta llista. Cuando los miembros d'esta llista espublicen estaos nuevos, van apaecer equí.",
"empty_column.lists": "Entá nun tienes denguna llista. Cuando crees una, va amosase equí.",
"empty_column.mutes": "Entá nun silenciesti a dengún usuariu.",
"empty_column.notifications": "Entá nun tienes dengún avisu. Interactúa con otros p'aniciar la conversación.",
"empty_column.lists": "Entá nun tienes nunenguna llista. Cuando crees una, va amosase equí.",
"empty_column.mutes": "Entá nun silenciesti a nunengún usuariu.",
"empty_column.notifications": "Entá nun tienes nunengún avisu. Interactúa con otros p'aniciar la conversación.",
"empty_column.public": "¡Equí nun hai nada! Escribi daqué público o sigui a usuarios d'otros sirvidores pa rellenar esto",
"error.unexpected_crash.explanation": "Pola mor d'un fallu nel códigu o un problema de compatibilidá del restolador, esta páxina nun pudo amosase correutamente.",
"error.unexpected_crash.next_steps": "Try refreshing the page. If that does not help, you may still be able to use Mastodon through a different browser or native app.",
@ -189,7 +189,7 @@
"intervals.full.days": "{number, plural, one {# día} other {# díes}}",
"intervals.full.hours": "{number, plural, one {# hora} other {# hores}}",
"intervals.full.minutes": "{number, plural, one {# minutu} other {# minutos}}",
"introduction.federation.action": "Next",
"introduction.federation.action": "Siguiente",
"introduction.federation.federated.headline": "Federated",
"introduction.federation.federated.text": "Los espublizamientos públicos de los demás sirvidores del fediversu van apaecer na llinia temporal federada.",
"introduction.federation.home.headline": "Home",
@ -198,12 +198,12 @@
"introduction.federation.local.text": "Public posts from people on the same server as you will appear in the local timeline.",
"introduction.interactions.action": "¡Finar el tutorial!",
"introduction.interactions.favourite.headline": "Favourite",
"introduction.interactions.favourite.text": "You can save a toot for later, and let the author know that you liked it, by favouriting it.",
"introduction.interactions.favourite.text": "Pues guardar un barritu pa dempués y facer que l'autor sepa que te prestó marcándolu como favoritu.",
"introduction.interactions.reblog.headline": "Boost",
"introduction.interactions.reblog.text": "You can share other people's toots with your followers by boosting them.",
"introduction.interactions.reply.headline": "Reply",
"introduction.interactions.reply.text": "You can reply to other people's and your own toots, which will chain them together in a conversation.",
"introduction.welcome.action": "Let's go!",
"introduction.welcome.action": "¡Vamos!",
"introduction.welcome.headline": "Primeros pasos",
"introduction.welcome.text": "¡Afáyate nel fediversu! Nun momentu vas ser a tresmitir mensaxes y falar colos collacios d'una montonera de sirvidores. Pero esti sirvidor, {domain}, ye especial: agospia'l to perfil, asina qu'alcuérdate de cómo se llama.",
"keyboard_shortcuts.back": "pa dir p'atrás",
@ -316,8 +316,8 @@
"poll.total_votes": "{count, plural, one {# votu} other {# votos}}",
"poll.vote": "Vote",
"poll.voted": "You voted for this answer",
"poll_button.add_poll": "Add a poll",
"poll_button.remove_poll": "Remove poll",
"poll_button.add_poll": "Amestar una encuesta",
"poll_button.remove_poll": "Desaniciar la encuesta",
"privacy.change": "Adjust status privacy",
"privacy.direct.long": "Post to mentioned users only",
"privacy.direct.short": "Direct",
@ -341,7 +341,7 @@
"report.forward_hint": "The account is from another server. Send an anonymized copy of the report there as well?",
"report.hint": "L'informe va unviase a los llendadores del to sirvidor. Embaxo, pues desplicar por qué informes d'esta cuenta:",
"report.placeholder": "Comentarios adicionales",
"report.submit": "Submit",
"report.submit": "Unviar",
"report.target": "Report {target}",
"search.placeholder": "Guetar",
"search_popout.search_format": "Formatu de gueta avanzada",
@ -362,7 +362,7 @@
"status.cancel_reblog_private": "Dexar de compartir",
"status.cannot_reblog": "Esti artículu nun pue compartise",
"status.copy": "Copiar l'enllaz al estáu",
"status.delete": "Delete",
"status.delete": "Desaniciar",
"status.detailed_status": "Detailed conversation view",
"status.direct": "Unviar un mensaxe direutu a @{name}",
"status.embed": "Empotrar",

View File

@ -158,8 +158,8 @@
"empty_column.mutes": "Encara no has silenciat cap usuari.",
"empty_column.notifications": "Encara no tens notificacions. Interactua amb altres per iniciar la conversa.",
"empty_column.public": "No hi ha res aquí! Escriu públicament alguna cosa o manualment segueix usuaris d'altres servidors per omplir-ho",
"error.unexpected_crash.explanation": "A causa d'un bug en el nostre codi o un problema de compatibilitat del navegador, aquesta pàgina no podria ser mostrada correctament.",
"error.unexpected_crash.next_steps": "Prova recarregant la pàgina. Si això no ajuda encara pots ser capaç d'utilitzar Mastodont a través d'un navegador diferent o app nativa.",
"error.unexpected_crash.explanation": "A causa d'un bug en el nostre codi o un problema de compatibilitat del navegador, aquesta pàgina podria no ser mostrada correctament.",
"error.unexpected_crash.next_steps": "Prova recarregant la pàgina. Si això no ajuda, encara podries ser capaç d'utilitzar Mastodon a través d'un navegador diferent o amb una app nativa.",
"errors.unexpected_crash.copy_stacktrace": "Còpia stacktrace al porta-retalls",
"errors.unexpected_crash.report_issue": "Informa d'un problema",
"follow_request.authorize": "Autoritzar",

View File

@ -184,8 +184,8 @@
"home.column_settings.basic": "Syml",
"home.column_settings.show_reblogs": "Dangos bŵstiau",
"home.column_settings.show_replies": "Dangos ymatebion",
"home.hide_announcements": "Hide announcements",
"home.show_announcements": "Show announcements",
"home.hide_announcements": "Cuddio cyhoeddiadau",
"home.show_announcements": "Dangos cyhoeddiadau",
"intervals.full.days": "{number, plural, one {# ddydd} other {# o ddyddiau}}",
"intervals.full.hours": "{number, plural, one {# awr} other {# o oriau}}",
"intervals.full.minutes": "{number, plural, one {# funud} other {# o funudau}}",
@ -335,7 +335,7 @@
"relative_time.just_now": "nawr",
"relative_time.minutes": "{number}munud",
"relative_time.seconds": "{number}eiliad",
"relative_time.today": "today",
"relative_time.today": "heddiw",
"reply_indicator.cancel": "Canslo",
"report.forward": "Ymlaen i {target}",
"report.forward_hint": "Mae'r cyfrif o weinydd arall. Anfon copi anhysbys o'r adroddiad yno hefyd?",

View File

@ -72,7 +72,7 @@
"column_header.moveRight_settings": "Mover columna cara a dereita",
"column_header.pin": "Fixar",
"column_header.show_settings": "Amosar axustes",
"column_header.unpin": "Desafixar",
"column_header.unpin": "Desapegar",
"column_subheading.settings": "Axustes",
"community.column_settings.media_only": "Só multimedia",
"compose_form.direct_message_warning": "Este toot só será enviado ás usuarias mencionadas.",
@ -118,7 +118,7 @@
"confirmations.unfollow.message": "Desexas deixar de seguir a {name}?",
"conversation.delete": "Eliminar conversa",
"conversation.mark_as_read": "Marcar como lido",
"conversation.open": "Ollar conversa",
"conversation.open": "Ver conversa",
"conversation.with": "Con {names}",
"directory.federated": "Do fediverso coñecido",
"directory.local": "Só de {domain}",
@ -129,7 +129,7 @@
"emoji_button.activity": "Actividade",
"emoji_button.custom": "Personalizado",
"emoji_button.flags": "Bandeiras",
"emoji_button.food": "Comida e bebida",
"emoji_button.food": "Comida e Bebida",
"emoji_button.label": "Inserir emoticona",
"emoji_button.nature": "Natureza",
"emoji_button.not_found": "Non hai emoticonas!! (╯°□°)╯︵ ┻━┻",
@ -139,11 +139,11 @@
"emoji_button.search": "Procurar...",
"emoji_button.search_results": "Resultados da procura",
"emoji_button.symbols": "Símbolos",
"emoji_button.travel": "Viaxes e lugares",
"emoji_button.travel": "Viaxes e Lugares",
"empty_column.account_timeline": "Non hai toots aquí!",
"empty_column.account_unavailable": "Perfil non dispoñíbel",
"empty_column.account_unavailable": "Perfil non dispoñible",
"empty_column.blocks": "Aínda non bloqueaches a ningún usuaria.",
"empty_column.bookmarked_statuses": "Aínda non marcaches ningún toot. Cando o fagas, amosaranse aquí.",
"empty_column.bookmarked_statuses": "Aínda non marcaches ningún toot. Cando o fagas, aparecerán aquí.",
"empty_column.community": "A cronoloxía local está baleira. Escribe algo de xeito público para espallalo!",
"empty_column.direct": "Aínda non tes mensaxes directas. Cando envíes ou recibas unha, amosarase aquí.",
"empty_column.domain_blocks": "Aínda non hai dominios agochados.",
@ -165,7 +165,7 @@
"follow_request.authorize": "Autorizar",
"follow_request.reject": "Rexeitar",
"getting_started.developers": "Desenvolvedores",
"getting_started.directory": "Directorio do perfil",
"getting_started.directory": "Directorio local",
"getting_started.documentation": "Documentación",
"getting_started.heading": "Primeiros pasos",
"getting_started.invite": "Convidar persoas",
@ -223,13 +223,13 @@
"keyboard_shortcuts.hotkey": "Tecla de atallo",
"keyboard_shortcuts.legend": "para amosar esta lenda",
"keyboard_shortcuts.local": "para abrir a cronoloxía local",
"keyboard_shortcuts.mention": "para mencionar ó autor",
"keyboard_shortcuts.mention": "para mencionar a autora",
"keyboard_shortcuts.muted": "abrir lista de usuarias acaladas",
"keyboard_shortcuts.my_profile": "para abrir o teu perfil",
"keyboard_shortcuts.notifications": "para abrir a columna das notificacións",
"keyboard_shortcuts.open_media": "para abrir o contido multimedia",
"keyboard_shortcuts.pinned": "para abrir a listaxe dos toots fixados",
"keyboard_shortcuts.profile": "para abrir o perfil do autor",
"keyboard_shortcuts.profile": "para abrir o perfil da autora",
"keyboard_shortcuts.reply": "para responder",
"keyboard_shortcuts.requests": "para abrir a listaxe das peticións de seguimento",
"keyboard_shortcuts.search": "para destacar a procura",
@ -313,7 +313,7 @@
"poll.closed": "Pechado",
"poll.refresh": "Actualizar",
"poll.total_people": "{count, plural,one {# persoa}other {# persoas}}",
"poll.total_votes": "{count, plural, one {# voto} outros {# votos}}",
"poll.total_votes": "{count, plural, one {# voto} other {# votos}}",
"poll.vote": "Votar",
"poll.voted": "Votaches por esta opción",
"poll_button.add_poll": "Engadir unha enquisa",
@ -357,14 +357,14 @@
"search_results.total": "{count, number} {count, plural, one {resultado} other {resultados}}",
"status.admin_account": "Abrir interface de moderación para @{name}",
"status.admin_status": "Abrir este estado na interface de moderación",
"status.block": "Bloquear @{name}",
"status.block": "Bloquear a @{name}",
"status.bookmark": "Marcar",
"status.cancel_reblog_private": "Desfacer compartido",
"status.cannot_reblog": "Esta publicación non pode ser promovida",
"status.copy": "Copiar ligazón ó estado",
"status.delete": "Eliminar",
"status.detailed_status": "Vista detallada da conversa",
"status.direct": "Mensaxe directa @{name}",
"status.direct": "Mensaxe directa a @{name}",
"status.embed": "Embeber nunha web",
"status.favourite": "Favorito",
"status.filtered": "Filtrado",

View File

@ -43,7 +43,7 @@
"alert.rate_limited.title": "Batasan tingkat",
"alert.unexpected.message": "Terjadi kesalahan yang tidak terduga.",
"alert.unexpected.title": "Oops!",
"announcement.announcement": "Announcement",
"announcement.announcement": "Pengumuman",
"autosuggest_hashtag.per_week": "{count} per minggu",
"boost_modal.combo": "Anda dapat menekan {combo} untuk melewati ini",
"bundle_column_error.body": "Kesalahan terjadi saat memuat komponen ini.",

View File

@ -28,7 +28,7 @@
"account.muted": "Yettwasgugem",
"account.never_active": "Werǧin",
"account.posts": "Tijewwaqin",
"account.posts_with_replies": "Tibarraḥin d tririyin",
"account.posts_with_replies": "Tijewwaqin akked tririyin",
"account.report": "Sewɛed @{name}",
"account.requested": "Di laɛḍil ad yettwaqbel. Ssit iwakken ad yefsex usuter n weḍfar",
"account.share": "Bḍu amaγnu n @{name}",
@ -41,7 +41,7 @@
"account.unmute_notifications": "Serreḥ ilγa sγur @{name}",
"alert.rate_limited.message": "Ma ulac aγilif ɛreḍ tikelt-nniḍen mbeɛd {retry_time, time, medium}.",
"alert.rate_limited.title": "Aktum s talast",
"alert.unexpected.message": "Tella-d tuccḍa i ɣef ur nedmi ara.",
"alert.unexpected.message": "Tella-d tuccḍa i γef ur nedmi ara.",
"alert.unexpected.title": "Ayhuh!",
"announcement.announcement": "Ulγu",
"autosuggest_hashtag.per_week": "{count} i yimalas",
@ -109,18 +109,18 @@
"confirmations.logout.message": "D tidet tebγiḍ ad teffγeḍ?",
"confirmations.mute.confirm": "Sgugem",
"confirmations.mute.explanation": "Aya ad yeffer iznan-is d wid i deg d-yettwabder neγ d-tettwabder, maca xas akka yezmer neγ tezmer awali n yiznan-inek d uḍfaṛ-ik.",
"confirmations.mute.message": "Tetḥeqqeḍ belli tebγiḍ asɛuggen n {name}?",
"confirmations.mute.message": "Tetḥeqqeḍ belli tebγiḍ ad ttegugmeḍ {name}?",
"confirmations.redraft.confirm": "Sfeḍ & Ɛiwed tira",
"confirmations.redraft.message": "Tetḥeqqeḍ belli tebγiḍ tuksa n waddad-agi iwakken ad s-tɛiwdeḍ tira? Ismenyifen d beḍḍuwat ad ṛuḥen, ma d tiririyin-is ad uγalent d tigujilin.",
"confirmations.reply.confirm": "Err",
"confirmations.reply.message": "Tiririt akka tura ad k-degger izen-agi i tettaruḍ. Tebγiḍ ad tkemmleḍ?",
"confirmations.unfollow.confirm": "Ur ḍḍafaṛ ara",
"confirmations.unfollow.message": "Tetḥeqqeḍ belli tebγiḍ ur teḍḍafaṛeḍ ara {name}?",
"confirmations.unfollow.message": "Tetḥeqqeḍ belli tebγiḍ ur teafaṛeḍ ara {name}?",
"conversation.delete": "Sfeḍ adiwenni",
"conversation.mark_as_read": "Creḍ yettwaγṛa",
"conversation.open": "Sken adiwenni",
"conversation.with": "Akked {names}",
"directory.federated": "Seg fedivers yettwasnen",
"directory.federated": "Deg fedivers yettwasnen",
"directory.local": "Seg {domain} kan",
"directory.new_arrivals": "Imaynuten id yewḍen",
"directory.recently_active": "Yermed xas melmi kan",
@ -205,7 +205,7 @@
"introduction.interactions.reply.text": "Tzemreḍ ad terreḍ γef tjewwakin-ik d tid n medden-nniḍen, d acu ara tent-id-iɛeqden ta deffir ta deg yiwen udiwenni.",
"introduction.welcome.action": "Bdu!",
"introduction.welcome.headline": "Isurifen imenza",
"introduction.welcome.text": "Anṣuf γer fediverse! Deg kra n yimiren, ad tizmireḍ ad tzzuzreḍ iznan neɣ ad tmeslayeḍ i yemddukkal deg waṭas n yiqeddacen. Maca aqeddac-agi, {domain}, mačči am wiyaḍ - deg-s i yella umaγnu-ik, ihi cfu γef yisem-is.",
"introduction.welcome.text": "Anṣuf γer fediverse! Deg kra n yimiren, ad tizmireḍ ad tzzuzreḍ iznan neγ ad tmeslayeḍ i yemddukkal deg waṭas n yiqeddacen. Maca aqeddac-agi, {domain}, mačči am wiyaḍ - deg-s i yella umaγnu-ik, ihi cfu γef yisem-is.",
"keyboard_shortcuts.back": "uγal ar deffir",
"keyboard_shortcuts.blocked": "akken ad teldiḍ tabdert n yimseqdacen yettwasḥebsen",
"keyboard_shortcuts.boost": "i beṭṭu tikelt-nniḍen",
@ -412,8 +412,8 @@
"trends.count_by_accounts": "{count} {rawCount, plural, one {n umdan} other {n yemdanen}} i yettmeslayen",
"trends.trending_now": "Trending now",
"ui.beforeunload": "Arewway-ik·im ad iruḥ ma yella tefeγ-ed deg Maṣṭudun.",
"upload_area.title": "Drag & drop to upload",
"upload_button.label": "Add media ({formats})",
"upload_area.title": "Zuḥeb rnu sers i tasalyt",
"upload_button.label": "Rnu Taγwalt ({formats})",
"upload_error.limit": "File upload limit exceeded.",
"upload_error.poll": "File upload not allowed with polls.",
"upload_form.audio_description": "Glem-d i yemdanen i yesɛan ugur deg tmesliwt",
@ -427,7 +427,7 @@
"upload_modal.detect_text": "Sefru-d aḍris seg tugna",
"upload_modal.edit_media": "Ẓreg taγwalt",
"upload_modal.hint": "Click or drag the circle on the preview to choose the focal point which will always be in view on all thumbnails.",
"upload_modal.preview_label": "Preview ({ratio})",
"upload_modal.preview_label": "Taskant ({ratio})",
"upload_progress.label": "Asali iteddu...",
"video.close": "Mdel tabidyutt",
"video.download": "Sidered afaylu",

View File

@ -1,7 +1,7 @@
{
"account.add_or_remove_from_list": "Dodaj lub usuń z list",
"account.badges.bot": "Bot",
"account.badges.group": "Group",
"account.badges.group": "Grupa",
"account.block": "Blokuj @{name}",
"account.block_domain": "Blokuj wszystko z {domain}",
"account.blocked": "Zablokowany(-a)",
@ -43,7 +43,7 @@
"alert.rate_limited.title": "Ograniczony czasowo",
"alert.unexpected.message": "Wystąpił nieoczekiwany błąd.",
"alert.unexpected.title": "O nie!",
"announcement.announcement": "Announcement",
"announcement.announcement": "Ogłoszenie",
"autosuggest_hashtag.per_week": "{count} co tydzień",
"boost_modal.combo": "Naciśnij {combo}, aby pominąć to następnym razem",
"bundle_column_error.body": "Coś poszło nie tak podczas ładowania tego składnika.",
@ -89,8 +89,8 @@
"compose_form.poll.duration": "Czas trwania głosowania",
"compose_form.poll.option_placeholder": "Opcja {number}",
"compose_form.poll.remove_option": "Usuń tę opcję",
"compose_form.poll.switch_to_multiple": "Change poll to allow multiple choices",
"compose_form.poll.switch_to_single": "Change poll to allow for a single choice",
"compose_form.poll.switch_to_multiple": "Pozwól na wybranie wielu opcji",
"compose_form.poll.switch_to_single": "Pozwól na wybranie tylko jednej opcji",
"compose_form.publish": "Wyślij",
"compose_form.publish_loud": "{publish}!",
"compose_form.sensitive.hide": "Oznacz multimedia jako wrażliwe",
@ -188,8 +188,8 @@
"home.column_settings.basic": "Podstawowe",
"home.column_settings.show_reblogs": "Pokazuj podbicia",
"home.column_settings.show_replies": "Pokazuj odpowiedzi",
"home.hide_announcements": "Hide announcements",
"home.show_announcements": "Show announcements",
"home.hide_announcements": "Ukryj ogłoszenia",
"home.show_announcements": "Pokaż ogłoszenia",
"intervals.full.days": "{number, plural, one {# dzień} few {# dni} many {# dni} other {# dni}}",
"intervals.full.hours": "{number, plural, one {# godzina} few {# godziny} many {# godzin} other {# godzin}}",
"intervals.full.minutes": "{number, plural, one {# minuta} few {# minuty} many {# minut} other {# minut}}",
@ -340,7 +340,7 @@
"relative_time.just_now": "teraz",
"relative_time.minutes": "{number} min.",
"relative_time.seconds": "{number} s.",
"relative_time.today": "today",
"relative_time.today": "dzisiaj",
"reply_indicator.cancel": "Anuluj",
"report.forward": "Przekaż na {target}",
"report.forward_hint": "To konto znajduje się na innej instancji. Czy chcesz wysłać anonimową kopię zgłoszenia rnież na nią?",
@ -421,11 +421,11 @@
"upload_button.label": "Dodaj zawartość multimedialną (JPEG, PNG, GIF, WebM, MP4, MOV)",
"upload_error.limit": "Przekroczono limit plików do wysłania.",
"upload_error.poll": "Dołączanie plików nie dozwolone z głosowaniami.",
"upload_form.audio_description": "Describe for people with hearing loss",
"upload_form.audio_description": "Opisz dla osób niesłyszących i niedosłyszących",
"upload_form.description": "Wprowadź opis dla niewidomych i niedowidzących",
"upload_form.edit": "Edytuj",
"upload_form.undo": "Usuń",
"upload_form.video_description": "Describe for people with hearing loss or visual impairment",
"upload_form.video_description": "Opisz dla osób niesłyszących, niedosłyszących, niewidomych i niedowidzących",
"upload_modal.analyzing_picture": "Analizowanie obrazu…",
"upload_modal.apply": "Zastosuj",
"upload_modal.description_placeholder": "Pchnąć w tę łódź jeża lub ośm skrzyń fig",

View File

@ -184,8 +184,8 @@
"home.column_settings.basic": "Základné",
"home.column_settings.show_reblogs": "Ukáž vyzdvihnuté",
"home.column_settings.show_replies": "Ukáž odpovede",
"home.hide_announcements": "Hide announcements",
"home.show_announcements": "Show announcements",
"home.hide_announcements": "Skry oboznámenia",
"home.show_announcements": "Ukáž oboznámenia",
"intervals.full.days": "{number, plural, one {# deň} few {# dní} many {# dní} other {# dní}}",
"intervals.full.hours": "{number, plural, one {# hodina} few {# hodín} many {# hodín} other {# hodín}}",
"intervals.full.minutes": "{number, plural, one {# minúta} few {# minút} many {# minút} other {# minút}}",
@ -335,7 +335,7 @@
"relative_time.just_now": "teraz",
"relative_time.minutes": "{number}min",
"relative_time.seconds": "{number}sek",
"relative_time.today": "today",
"relative_time.today": "dnes",
"reply_indicator.cancel": "Zrušiť",
"report.forward": "Posuň ku {target}",
"report.forward_hint": "Tento účet je z iného serveru. Chceš poslať anonymnú kópiu hlásenia aj tam?",

View File

@ -47,7 +47,7 @@
"autosuggest_hashtag.per_week": "ஒவ்வொரு வாரம் {count}",
"boost_modal.combo": "நீங்கள் இதை அடுத்தமுறை தவிர்க்க {combo} வை அழுத்தவும்",
"bundle_column_error.body": "இக்கூற்றை ஏற்றம் செய்யும்பொழுது ஏதோ தவறு ஏற்பட்டுள்ளது.",
"bundle_column_error.retry": "மீண்டும் முயல்க",
"bundle_column_error.retry": "மீண்டும் முயற்சிக்கவும்",
"bundle_column_error.title": "பிணையப் பிழை",
"bundle_modal_error.close": "மூடுக",
"bundle_modal_error.message": "இக்கூற்றை ஏற்றம் செய்யும்பொழுது ஏதோ தவறு ஏற்பட்டுள்ளது.",
@ -65,70 +65,70 @@
"column.mutes": "மௌனத் தடை செய்யப்பட்ட பயனர்கள்",
"column.notifications": "அறிவிப்புகள்",
"column.pins": "பொருத்தப்பட்ட டூட்டுகள்",
"column.public": "கூட்டாட்சி காலக்கெடு",
"column.public": "ஆலமரத்தில் நிகழ்பவை",
"column_back_button.label": "திரும்பு",
"column_header.hide_settings": "அமைப்புகளை மறை",
"column_header.moveLeft_settings": "நெடுவரிசையை இடதுபுறமாக நகர்த்தம்",
"column_header.moveRight_settings": "நெடுவரிசை வலது புறமாக நகர்த்து",
"column_header.pin": "குண்டூசி",
"column_header.moveLeft_settings": "நெடுவரிசையை இடதுபுறமாக நகர்த்து",
"column_header.moveRight_settings": "நெடுவரிசையை வலதுபுறமாக நகர்த்து",
"column_header.pin": "பொருத்து",
"column_header.show_settings": "அமைப்புகளைக் காட்டு",
"column_header.unpin": "பொருத்தப்படாத",
"column_header.unpin": "கழட்டு",
"column_subheading.settings": "அமைப்புகள்",
"community.column_settings.media_only": "படங்கள் மட்டுமே",
"compose_form.direct_message_warning": "This toot will only be sent to all the mentioned users.",
"compose_form.direct_message_warning_learn_more": "மேலும் அறி",
"compose_form.hashtag_warning": "இந்த toot பட்டியலிடப்படாதது போல எந்த ஹேஸ்டேக்கின் கீழ் பட்டியலிடப்படாது. ஹேஸ்டேக் மூலம் பொது டோட்டல்கள் மட்டுமே தேட முடியும்.",
"compose_form.lock_disclaimer": "உங்கள் கணக்கு அல்ல {locked}. உங்களுடைய பின்தொடர்பவர் மட்டும் இடுகைகளை யாராவது காணலாம்.",
"compose_form.lock_disclaimer.lock": "ாழிடு",
"compose_form.placeholder": "What is on your mind?",
"compose_form.poll.add_option": "ஒரு விருப்பத்தைச் சேர்க்கவும்",
"compose_form.poll.duration": "வாக்கெடுப்பு காலம்",
"compose_form.poll.option_placeholder": "தேர்ந்தெடுப்ப {number}",
"compose_form.poll.remove_option": "இந்த விருப்பத்தை அகற்றம்",
"compose_form.direct_message_warning": "இந்த டூட் இதில் குறிப்பிடப்பட்டுள்ள பயனர்களுக்கு மட்டுமே அனுப்பப்படும்.",
"compose_form.direct_message_warning_learn_more": "மேலும் அறி",
"compose_form.hashtag_warning": "இது ஒரு பட்டியலிடப்படாத டூட் என்பதால் எந்த ஹேஷ்டேகின் கீழும் வராது. ஹேஷ்டேகின் மூலம் பொதுவில் உள்ள டூட்டுகளை மட்டுமே தேட முடியும்.",
"compose_form.lock_disclaimer": "உங்கள் கணக்கு {locked} செய்யப்படவில்லை. உங்கள் பதிவுகளை யார் வேண்டுமானாலும் பின்தொடர்ந்து காணலாம்.",
"compose_form.lock_disclaimer.lock": "பூட்டப்பட்டது",
"compose_form.placeholder": "உங்கள் மனதில் என்ன இருக்கிறது?",
"compose_form.poll.add_option": "தேர்வை சேர்",
"compose_form.poll.duration": "கருத்துக்கணிப்பின் கால அளவு",
"compose_form.poll.option_placeholder": "தேர்வு எண் {number}",
"compose_form.poll.remove_option": "இந்தத் ேர்வை அகற்று",
"compose_form.poll.switch_to_multiple": "பல தேர்வுகளை அனுமதிக்குமாறு மாற்று",
"compose_form.poll.switch_to_single": "ஒரே ஒரு தேர்வை மட்டும் அனுமதிக்குமாறு மாற்று",
"compose_form.publish": "டூட் செய்க",
"compose_form.publish": "டூட்",
"compose_form.publish_loud": "{publish}!",
"compose_form.sensitive.hide": "அனைவருக்கும் ஏற்ற ஊடகம் இல்லை எனக் குறியிடு",
"compose_form.sensitive.marked": "ஊடகம் உணர்திறன் என குறிக்கப்பட்டுள்ளது",
"compose_form.sensitive.unmarked": "ஊடகம் உணர்திறன் என குறிக்கப்படவில்லை",
"compose_form.spoiler.marked": "எச்சரிக்கை பின்னால் உரை மறைக்கப்பட்டுள்ளது",
"compose_form.spoiler.unmarked": "உரை மறைக்கப்படவில்லை",
"compose_form.spoiler_placeholder": "இங்கே உங்கள் எச்சரிக்கையை எழுதுங்கள்",
"confirmation_modal.cancel": "எதிராணை",
"compose_form.sensitive.hide": "அனைவருக்கும் ஏற்றப் படம் இல்லை எனக் குறியிடு",
"compose_form.sensitive.marked": "இப்படம் அனைவருக்கும் ஏற்றதல்ல எனக் குறியிடப்பட்டுள்ளது",
"compose_form.sensitive.unmarked": "இப்படம் அனைவருக்கும் ஏற்றதல்ல எனக் குறியிடப்படவில்லை",
"compose_form.spoiler.marked": "எச்சரிக்கையின் பின்னால் பதிவு மறைக்கப்பட்டுள்ளது",
"compose_form.spoiler.unmarked": "பதிவு மறைக்கப்படவில்லை",
"compose_form.spoiler_placeholder": "உங்கள் எச்சரிக்கையை இங்கு எழுதவும்",
"confirmation_modal.cancel": "ரத்து",
"confirmations.block.block_and_report": "தடுத்துப் புகாரளி",
"confirmations.block.confirm": "தடு",
"confirmations.block.message": "நீங்கள் நிச்சயமாக தடைசெய்ய விரும்புகிறீர்களா {name}?",
"confirmations.delete.confirm": "அழி",
"confirmations.delete.message": "இந்த நிலையை நிச்சயமாக நீக்க விரும்புகிறீர்களா?",
"confirmations.delete_list.confirm": "அழி",
"confirmations.delete_list.message": "இந்த பட்டியலில் நிரந்தரமாக நீக்க விரும்புகிறீர்களா?",
"confirmations.domain_block.confirm": "முழு டொமைனை மறை",
"confirmations.domain_block.message": "நீங்கள் உண்மையில், நிச்சயமாக நீங்கள் முழு தடுக்க வேண்டும் நிச்சயமாக {domain}? பெரும்பாலான சந்தர்ப்பங்களில் ஒரு சில இலக்குகள் அல்லது மியூட்கள் போதுமானவை மற்றும் சிறந்தவை. எந்த பொது நேரத்திலும் அல்லது உங்கள் அறிவிப்புகளிலும் அந்தக் களத்திலிருந்து உள்ளடக்கத்தை நீங்கள் பார்க்க மாட்டீர்கள். அந்த களத்தில் இருந்து உங்கள் ஆதரவாளர்கள் அகற்றப்படுவார்கள்.",
"confirmations.block.message": "{name}-ஐ நிச்சயமாகத் தடுக்க விரும்புகிறீர்களா?",
"confirmations.delete.confirm": "நீக்கு",
"confirmations.delete.message": "இப்பதிவை நிச்சயமாக நீக்க விரும்புகிறீர்களா?",
"confirmations.delete_list.confirm": "நீக்கு",
"confirmations.delete_list.message": "இப்பட்டியலை நிரந்தரமாக நீக்க நிச்சயம் விரும்புகிறீர்களா?",
"confirmations.domain_block.confirm": "முழு களத்தையும் மறை",
"confirmations.domain_block.message": "நீங்கள் முழு {domain} களத்தையும் நிச்சயமாக, நிச்சயமாகத் தடுக்க விரும்புகிறீர்களா? பெரும்பாலும் சில குறிப்பிட்ட பயனர்களைத் தடுப்பதே போதுமானது. முழு களத்தையும் தடுத்தால், அதிலிருந்து வரும் எந்தப் பதிவையும் உங்களால் காண முடியாது, மேலும் அப்பதிவுகள் குறித்த அறிவிப்புகளும் உங்களுக்கு வராது. அந்தக் களத்தில் இருக்கும் பின்தொடர்பவர்கள் உங்கள் பக்கத்திலிருந்து நீக்கப்படுவார்கள்.",
"confirmations.logout.confirm": "வெளியேறு",
"confirmations.logout.message": "கண்டிப்பாக வெளியேறத்தான் வேண்டுமா?",
"confirmations.mute.confirm": "ஊமையான",
"confirmations.mute.explanation": "இது அவர்களின் பதிவுகளையும், அவர்களைக் குறிப்பிடும் பதிவுகளையும் மறைத்துவிடும். ஆனால் அவர்கள் உங்கள் பதிவுகளைப் பார்க்கவும், உங்களைப் பின் தொடரவும் அனுமதிக்கப்படுவார்கள்.",
"confirmations.mute.message": "நிச்சயமாக நீங்கள் முடக்க விரும்புகிறீர்களா {name}?",
"confirmations.redraft.confirm": "நீக்கு & redraft",
"confirmations.redraft.message": "நிச்சயமாக இந்த நிலையை நீக்கி, அதை மறுபடியும் உருவாக்க வேண்டுமா? பிடித்தவை மற்றும் ஊக்கங்கள் இழக்கப்படும், மற்றும் அசல் இடுகையில் பதில்கள் அனாதையான இருக்கும்.",
"confirmations.reply.confirm": "பதில்",
"confirmations.reply.message": "இப்போது பதில், தற்போது நீங்கள் உருவாக்கும் செய்தி மேலெழுதப்படும். நீங்கள் தொடர விரும்புகிறீர்களா?",
"confirmations.unfollow.confirm": "பின்தொடராட்",
"confirmations.unfollow.message": "நிச்சயமாக நீங்கள் பின்தொடர விரும்புகிறீர்களா {name}?",
"conversation.delete": "உரையாடலை அழிக்கவும்",
"confirmations.logout.message": "நிச்சயமாக நீங்கள் வெளியேற விரும்புகிறீர்களா?",
"confirmations.mute.confirm": "அமைதியாக்கு",
"confirmations.mute.explanation": "இந்த் தேர்வு அவர்களின் பதிவுகளையும், அவர்களைக் குறிப்பிடும் பதிவுகளையும் மறைத்துவிடும். ஆனால், அவர்களால் உங்களைப் பின்தொடர்ந்து உங்கள் பதிவுகளைக் காண முடியும்.",
"confirmations.mute.message": "{name}-ஐ நிச்சயமாக நீங்கள் அமைதியாக்க விரும்புகிறீர்களா?",
"confirmations.redraft.confirm": "பதிவை நீக்கி மறுவரைவு செய்",
"confirmations.redraft.message": "நிச்சயமாக நீங்கள் இந்தப் பதிவை நீக்கி மறுவரைவு செய்ய விரும்புகிறீர்களா? விருப்பங்களும் பகிர்வுகளும் அழிந்துபோகும், மேலும் மூலப் பதிவிற்கு வந்த மறுமொழிகள் தனித்துவிடப்படும்.",
"confirmations.reply.confirm": "மறுமொழி",
"confirmations.reply.message": "ஏற்கனவே ஒரு பதிவு எழுதப்பட்டுக்கொண்டிருக்கிறது. இப்பொழுது பதில் எழுத முனைந்தால் அது அழிக்கப்படும். பரவாயில்லையா?",
"confirmations.unfollow.confirm": "விலகு",
"confirmations.unfollow.message": "{name}-ஐப் பின்தொடர்வதை நிச்சயமாக நீங்கள் நிறுத்த விரும்புகிறீர்களா?",
"conversation.delete": "உரையாடலை அழி",
"conversation.mark_as_read": "படிக்கபட்டதாகக் குறி",
"conversation.open": "உரையாடலைக் காண்க",
"conversation.open": "உரையாடலைக் காட்டு",
"conversation.with": "{names} உடன்",
"directory.federated": "தெரிந்த ஃபெடிவெர்சிலிருந்து",
"directory.local": "{domain} இல் இருந்து மட்டும்",
"directory.federated": "ஆலமரத்தின் அறியப்பட்டப் பகுதியிலிருந்து",
"directory.local": "{domain} களத்திலிருந்து மட்டும்",
"directory.new_arrivals": "புதிய வரவு",
"directory.recently_active": "தற்பொழுது இயாக்கதிலிருப்பவர்கள்",
"embed.instructions": "கீழே உள்ள குறியீட்டை நகலெடுப்பதன் மூலம் உங்கள் இணையதளத்தில் இந்த நிலையை உட்பொதிக்கவும்.",
"embed.preview": "இது போன்ற தோற்றத்தை இங்கு காணலாம்:",
"emoji_button.activity": "நடவடிக்கை",
"emoji_button.custom": "வழக்கம்",
"emoji_button.flags": "கொடி",
"directory.recently_active": "சற்றுமுன் செயல்பாட்டில் இருந்தவர்கள்",
"embed.instructions": "இந்தப் பதிவை உங்கள் வலைதளத்தில் பொதிக்கக் கீழே உள்ள வரிகளை காப்பி செய்யவும்.",
"embed.preview": "பார்க்க இப்படி இருக்கும்:",
"emoji_button.activity": "செயல்பாடு",
"emoji_button.custom": "தனிப்பயன்",
"emoji_button.flags": "கொடிகள்",
"emoji_button.food": "உணவு மற்றும் பானம்",
"emoji_button.label": "குறுப்படங்களை உள்ளிடு",
"emoji_button.nature": "இயற்கை",

View File

@ -6697,14 +6697,13 @@ noscript {
&__unread {
position: absolute;
top: 15px;
right: 15px;
display: inline-block;
top: 19px;
right: 19px;
display: block;
background: $highlight-text-color;
border-radius: 50%;
width: 0.625rem;
height: 0.625rem;
margin: 0 .15em;
}
}

View File

@ -77,6 +77,8 @@ class Formatter
def reformat(html)
sanitize(html, Sanitize::Config::MASTODON_STRICT)
rescue ArgumentError
''
end
def plaintext(status)

View File

@ -2,7 +2,23 @@
class Sanitize
module Config
HTTP_PROTOCOLS ||= ['http', 'https', 'dat', 'dweb', 'ipfs', 'ipns', 'ssb', 'gopher', 'xmpp', 'magnet', :relative].freeze
HTTP_PROTOCOLS = %w(
http
https
).freeze
LINK_PROTOCOLS = %w(
http
https
dat
dweb
ipfs
ipns
ssb
gopher
xmpp
magnet
).freeze
CLASS_WHITELIST_TRANSFORMER = lambda do |env|
node = env[:node]
@ -38,6 +54,22 @@ class Sanitize
end
end
UNSUPPORTED_HREF_TRANSFORMER = lambda do |env|
return unless env[:node_name] == 'a'
current_node = env[:node]
scheme = begin
if current_node['href'] =~ Sanitize::REGEX_PROTOCOL
Regexp.last_match(1).downcase
else
:relative
end
end
current_node.replace(current_node.text) unless LINK_PROTOCOLS.include?(scheme)
end
MASTODON_STRICT ||= freeze_config(
elements: %w(p br span a abbr del pre blockquote code b strong u sub sup i em h1 h2 h3 h4 h5 ul ol li),
@ -56,13 +88,14 @@ class Sanitize
},
protocols: {
'a' => { 'href' => HTTP_PROTOCOLS },
'blockquote' => { 'cite' => HTTP_PROTOCOLS },
'a' => { 'href' => LINK_PROTOCOLS },
'blockquote' => { 'cite' => LINK_PROTOCOLS },
},
transformers: [
CLASS_WHITELIST_TRANSFORMER,
IMG_TAG_TRANSFORMER,
UNSUPPORTED_HREF_TRANSFORMER,
]
)

View File

@ -250,6 +250,7 @@ ar:
create: إنشاء إعلان
title: إعلان جديد
published_msg: تم نشر الإعلان بنجاح!
scheduled_for: بُرمِج على %{time}
scheduled_msg: تمت جدولة نشر الإعلان!
title: الإعلانات
unpublished_msg: تم إلغاء نشر الإعلان بنجاح!
@ -1074,6 +1075,7 @@ ar:
zero: بدون صوت %{count}
vote: صوّت
show_more: أظهر المزيد
show_thread: اعرض خيط المحادثة
sign_in_to_participate: قم بتسجيل الدخول للمشاركة في هذه المحادثة
title: '%{name}: "%{quote}"'
visibilities:

View File

@ -40,7 +40,6 @@ ast:
one: Siguidor
other: Siguidores
joined: Xunióse en %{date}
last_active: última actividá
moved_html: "%{name} mudóse a %{new_profile_link}:"
network_hidden: Esta información nun ta disponible
never_active: Enxamás
@ -73,6 +72,7 @@ ast:
reject_all: Refugar too
resend_confirmation:
already_confirmed: Esti usuariu yá ta confirmáu
send: Reunviar les instrucciones
role: Permisos
roles:
admin: Alministrador
@ -92,6 +92,7 @@ ast:
disable_custom_emoji: "%{name} desactivó'l fustaxe %{target}"
disable_user: "%{name} desactivó l'aniciu de sesión del usuariu %{target}"
enable_custom_emoji: "%{name} activó'l fustaxe %{target}"
enable_user: "%{name} activó l'aniciu de sesión del usuariu %{target}"
promote_user: "%{name} ascendió al usuariu %{target}"
remove_avatar_user: "%{name} desanició l'avatar de %{target}"
reopen_report: "%{name} reabrió l'informe de %{target}"
@ -147,6 +148,7 @@ ast:
other: "%{count} informes"
are_you_sure: "¿De xuru?"
status: Estáu
title: Informes
settings:
registrations:
min_invite_role:
@ -167,6 +169,7 @@ ast:
new_pending_account:
body: Los detalles de la cuenta nueva tán embaxo. Pues aprobar o refugar esta aplicación.
new_report:
body: "%{reporter} informó de %{target}"
body_remote: Daquién dende %{domain} informó de %{target}
new_trending_tag:
body: 'Güei la etiqueta #%{name} ye tendencia pero nun se revisó anteriormente. Nun va amosase públicamente a nun ser que lo permitas o guardes el formulariu como ta pa nun saber más d''ello.'
@ -180,6 +183,7 @@ ast:
body: Mastodon tradúcenlu voluntarios,
guide_link: https://crowdin.com/project/mastodon
guide_link_text: tol mundu pue collaborar.
sensitive_content: Conteníu sensible
toot_layout: Distribución de los barritos
applications:
invalid_url: La URL apurrida nun ye válida
@ -192,6 +196,7 @@ ast:
delete_account_html: Si deseyes desaniciar la to cuenta, pues <a href="%{path}">siguir equí</a>. Va pidísete la confirmación.
description:
suffix: "¡Con una cuenta, vas ser a siguir a persones, espublizar anovamientos ya intercambiar mensaxes con usuarios de cualesquier sirvidor de Mastodon y más!"
didnt_get_confirmation: "¿Nun recibiesti les instrucciones de confirmación?"
forgot_password: "¿Escaeciesti la contraseña?"
login: Aniciar sesión
migrate_account: Mudase a otra cuenta
@ -221,6 +226,7 @@ ast:
email_contact_html: Si entá nun aportó, pues unviar un corréu a<a href="mailto:%{email}">%{email}</a> pa más ayuda
more_details_html: Pa más detalles, mira la <a href="%{terms_path}">política de privacidá</a>.
directories:
directory: Direutoriu de perfiles
explanation: y descubri a usuarios según los sos intereses
explore_mastodon: Esplora %{title}
errors:
@ -266,15 +272,22 @@ ast:
generic:
all: Too
changes_saved_msg: "¡Los cambeos guardáronse con ésitu!"
order_by: Clasificación
save_changes: Guardar cambeos
identity_proofs:
authorize: Sí, autorizar
i_am_html: Soi %{username} de %{service}.
identity: Identidá
imports:
modes:
merge: Mecíu
merge_long: Caltién los rexistros esistentes y amesta otros nuevos
overwrite: Sobrescritura
overwrite_long: Troca los rexistros actuales por otros nuevos
preface: Pues importar los datos qu'esportares dende otra instancia, como por exemplu la llista de persones que bloquiares o tuvieres siguiendo.
types:
blocking: Llista de xente bloquiao
domain_blocking: Llista de dominios bloquiaos
following: Llista de siguidores
muting: Llista de xente silenciao
upload: Xubir
@ -345,10 +358,12 @@ ast:
preferences:
public_timelines: Llinies temporales públiques
relationships:
activity: Actividá
followers: Siguidores
most_recent: Lo más recién
relationship: Rellación
remove_selected_follows: Dexar de siguir a los usuarios esbillaos
status: Estáu
remote_follow:
acct: Introduz el nome_usuariu@dominiu dende'l que lo quies facer
no_account_html: "¿Nun tienes una cuenta? Pues <a href='%{sign_up_path}' target='_blank'>rexistrate equí</a>"

View File

@ -1157,6 +1157,7 @@ cy:
zero: "%{count} pleidlais"
vote: Pleidleisio
show_more: Dangos mwy
show_thread: Dangos edefyn
sign_in_to_participate: Mengofnodwch i gymryd rhan yn y sgwrs
title: '%{name}: "%{quote}"'
visibilities:

View File

@ -8,21 +8,21 @@ kab:
failure:
already_authenticated: Aqla-k teqqneḍ yakan.
inactive: Amiḍan-inek mazal ur yermed ara.
invalid: Tella tuccḍa deg %{authentication_keys} neɣ deg wawal uffir.
last_attempt: Ɣur-k yiwen n uɛraḍ-nniḍen kan qbel ad yettucekkel umiḍan-ik.
invalid: Tella tuccḍa deg %{authentication_keys} neγ deg wawal uffir.
last_attempt: Γur-k yiwen n uɛraḍ-nniḍen kan send ad yettucekkel umiḍan-ik.
locked: Amiḍan-ik yewḥel.
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ḍ.
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ḍ.
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: Wekked 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</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</a>.
subject: 'Maṣṭudun: Asentem n ujerred deg uqeddac %{instance}'
title: Senqed tansa-inek imayl
email_changed:
@ -43,7 +43,7 @@ kab:
explanation: Tessutreḍ awal uffir amaynut i umiḍan-ik.
title: Aɛiwed n wawal uffir
passwords:
send_paranoid_instructions: Ma nufa tansa-inek imayl tella deg uzadur-nneɣ n yisefka, ad n-teṭṭfeḍ izen deg kra n tesdatin, deg-s assaɣ i uɛawed n wawal uffir. Ma ur k-in-yewwiḍ ara yizen, ttxil-k ẓer deg ukaram spam.
send_paranoid_instructions: Ma nufa tansa-inek imayl tella deg uzadur-nneγ n yisefka, ad n-teṭṭfeḍ izen deg kra n tesdatin, deg-s assaγ i uɛawed n wawal uffir. Ma ur k-in-yewwiḍ ara yizen, ttxil-k ẓer deg ukaram spam.
updated: Awal-ik uffir yettwabeddel mebla ugur. Aqla-k tura tjerrḍeḍ.
updated_not_active: Awal-ik uffir yettwabeddel mebla ugur.
registrations:
@ -51,7 +51,7 @@ kab:
signed_up: Anṣuf! Aqla-k tkecmeḍ.
sessions:
signed_in: Aqla-k teqqneḍ.
signed_out: Aqla-k teffɣeḍ.
signed_out: Aqla-k teffγeḍ.
errors:
messages:
not_found: ulac-it

View File

@ -46,6 +46,18 @@ pl:
extra: Jeżeli to nie Ty, zignoruj tą wiadomość. Twoje hasło nie ulegnie zmianie, jeżeli nie wykorzystasz powyższego odnośnika i nie utworzysz nowego hasła.
subject: 'Mastodon: Instrukcje ustawienia nowego hasła'
title: Przywracanie hasła
two_factor_disabled:
explanation: Uwierzytelnianie dwuskładnikowe dla Twojego konta zostało wyłączone. Możesz się teraz logować korzystając z samego adresu e-mail i hasła.
subject: Mastodon wyłączono uwierzytelnianie dwustopniowe
title: Wyłączono 2FA
two_factor_enabled:
explanation: Uwierzytelnianie dwuskładnikowe dla Twojego konta zostało włączone. Logując się, będziesz potrzebować tokenu z połączonej aplikacji TOTP.
subject: Mastodon włączono uwierzytelnianie dwustopniowe
title: Włączono 2FA
two_factor_recovery_codes_changed:
explanation: Poprzednie kody zapasowe zostały unieważnione, a nowe zostały wygenerowane.
subject: Mastodon wygenerowano nowe kody ratunkowe 2FA
title: Zmieniono kody odzyskiwania 2FA
unlock_instructions:
subject: 'Mastodon: Instrukcje odblokowania konta'
omniauth_callbacks:

View File

@ -77,7 +77,7 @@ ast:
scopes:
admin:read: lleer tolos datos del sirvidor
admin:read:accounts: lleer la información sensible de toles cuentes
admin:read:reports: lleer la información sensible de tolos informe y cuentes informaes
admin:read:reports: lleer la información sensible de tolos informes y cuentes informaes
admin:write: modificar tolos datos del sirvidor
read: lleer tolos datos de la to cuenta
read:accounts: ver información de cuentes

View File

@ -12,7 +12,7 @@ kab:
attributes:
redirect_uri:
fragment_present: ur yezmir ad yegber afrur.
invalid_uri: ilaq ad tili d tansa URL tameɣtut.
invalid_uri: ilaq ad tili d tansa URL tameγtut.
relative_uri: ilaq ad yili d URI amagdaz.
secured_uri: ilaq URI ad yili HTTPS/SSL.
doorkeeper:
@ -56,19 +56,23 @@ kab:
title: Tella-d tuccḍa
new:
able_to: Asnas-agi yezmer
prompt: Eǧǧ i %{client_name} ad yekcem ɣer umiḍan-ik
prompt: Eǧǧ i %{client_name} ad yekcem γer umiḍan-ik
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
confirmations:
revoke: Tetḥeqqeḍ?
index:
application: Asnas
created_at: Yettussireg
date_format: "%d-%m-%Y %H:%M:%S"
title: Isnasen-ik·im yettusirgen
errors:
messages:
invalid_redirect_uri: URI n uwelleh mačči d ameɣtu.
invalid_redirect_uri: URI n uwelleh mačči d ameγtu.
flash:
applications:
create:
@ -77,16 +81,21 @@ kab:
notice: Asnan yettwakkes.
update:
notice: Asnan yettwalqem.
authorized_applications:
destroy:
notice: Yettwaḥwi wesnas.
layouts:
admin:
nav:
applications: Isnasen
application:
title: Tlaq tsiregt n OAuth
scopes:
admin:read: ɣeṛ akk isefka ɣef uqeddac
admin:write: ẓreg akk isefka ɣef uqeddac
follow: beddel assaɣen n umiḍan
push: ṭṭef-d tilɣa-ik yettwademren
read: ɣeṛ akk isefka n umiḍan-ik
admin:read: γeṛ akk isefka γef uqeddac
admin:write: ẓreg akk isefka γef uqeddac
follow: beddel assaγen n umiḍan
push: ṭṭef-d tilγa-ik yettwademren
read: γeṛ akk isefka n umiḍan-ik
read:accounts: ẓer isallen n yimiḍanen
read:blocks: ẓer imiḍanen i tesḥebseḍ
read:bookmarks: ẓer ticraḍ-ik
@ -95,12 +104,13 @@ kab:
read:follows: ẓer imeḍfaṛen-ik
read:lists: ẓer tibdarin-ik
read:mutes: ẓer wid i tesgugmeḍ
read:notifications: ẓer tilɣa-ik
read:statuses: ẓer meṛṛa tisuffaɣ
read:notifications: ẓer tilγa-ik
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:accounts: ẓreg amaγnu-ik
write:blocks: seḥbes imiḍanen d tγula
write:bookmarks: ad yernu tisuffγin γer ticraḍ
write:filters: rnu-d imsizedgen
write:follows: ḍfeṛ imdanen
write:lists: rnu-d tibdarin
write:media: ad yessali ifayluyen n teγwalt

View File

@ -38,6 +38,7 @@ pl:
application: Aplikacja
callback_url: URL wywołania zwrotnego (callback)
delete: Usuń
empty: Nie masz aplikacji.
name: Nazwa
new: Nowa aplikacja
scopes: Zakres
@ -125,6 +126,7 @@ pl:
read: możliwość odczytu wszystkich danych konta
read:accounts: dostęp do informacji o koncie
read:blocks: dostęp do listy blokowanych
read:bookmarks: dostęp do zakładek
read:favourites: dostęp do listy ulubionych
read:filters: dostęp do filtrów
read:follows: dostęp do listy śledzonych
@ -137,6 +139,7 @@ pl:
write: możliwość modyfikowania wszystkich danych o koncie
write:accounts: możliwość modyfikowania informacji o koncie
write:blocks: możliwość blokowania domen i użytkowników
write:bookmarks: możliwość dodawania wpisów do zakładek
write:favourites: możliwość dodawnia wpisów do ulubionych
write:filters: możliwość tworzenia filtrów
write:follows: możliwość śledzenia ludzi

View File

@ -743,8 +743,10 @@ id:
add_new: Tambah baru
errors:
limit: Anda sudah menampilkan tagar unggulan dengan jumlah maksimum
hint_html: "<strong>Apa itu tagar yang diunggulkan?</strong> Mereka ditampilkan secara mencolok di profil publik Anda dan mengizinkan orang-orang untuk menjelajahi kiriman publik khususnya yang ada di bawah tagar tersebut. Mereka adalah alat yang bagus untuk melacak pekerjaan kreatif atau proyek jangka panjang."
filters:
contexts:
account: Profil
home: Beranda
notifications: Notifikasi
public: Linimasa publik
@ -768,6 +770,8 @@ id:
all: Semua
changes_saved_msg: Perubahan berhasil disimpan!
copy: Salin
delete: Hapus
no_batch_actions_available: Tindakan batch tidak tersedia di halaman ini
order_by: Urut berdasarkan
save_changes: Simpan perubahan
validation_errors:

View File

@ -1,12 +1,12 @@
---
kab:
about:
about_hashtag_html: Tigi d tijewwiqin tizuyaz, γur-sent <strong>#%{hashtag}</strong>. Tzemreḍ ad tesdemreḍ akked yid-sent ma tesɛiḍ amiḍan deg kra n umḍiq deg fediverse.
about_hashtag_html: Tigi d tijewwiqin tizuyaz, γur-sent <strong>#%{hashtag}</strong>. Tzemreḍ ad tesdemreḍ akked yid-sent ma tesɛiḍ amiḍan deg kra n umḍiq deg fedivers.
about_mastodon_html: 'Azeṭṭa ametti n uzekka: Ulac deg-s asussen, ulac taɛessast n tsuddiwin fell-ak, yebna γef leqder d ttrebga, daγen d akeslemmas! Akked Maṣṭudun, isefka-inek ad qimen inek!'
about_this: Γef
active_count_after: d urmid
active_footnote: Imseqdacen yekkren s wayyur (MAU)
administered_by: 'Yettwadbel sɣur:'
administered_by: 'Yettwadbel sγur:'
api: API
apps: Isnasen izirazen
apps_platforms: Seqdec Maṣṭudun deg iOS, Android d tγeṛγṛin-nniḍen
@ -22,18 +22,18 @@ kab:
privacy_policy: Tasertit tabaḍnit
see_whats_happening: Ẓer d acu i iḍerrun
server_stats: 'Tidaddanin n uqeddac:'
source_code: Tangalt n uɣbalu
source_code: Tangalt Taγbalut
status_count_after:
one: n tsuffeɣt
other: n tsuffɣin
status_count_before: I d-yessuffɣen
one: n tsuffeγt
other: n tsuffγin
status_count_before: I d-yessuffγen
tagline: Ḍfeṛ imddukkal-ik tissineḍ-d wiyaḍ
terms: Tiwetlin n useqdec
unavailable_content: Ulac agbur
unavailable_content_description:
domain: Aqeddac
reason: Taγzent
silenced: 'Tisuffɣin ara d-yekken seg yiqeddacen-agi ad ttwaffrent deg tsuddmin tizuyaz d yidiwenniten, daɣen ur ttilin ara telɣa ɣef usedmer n yimseqdacen-nsen, skud ur ten-teḍfiṛeḍ ara:'
silenced: 'Tisuffγin ara d-yekken seg yiqeddacen-agi ad ttwaffrent deg tsuddmin tizuyaz d yidiwenniten, daγen ur ttilin ara telγa γef usedmer n yimseqdacen-nsen, skud ur ten-teḍfiṛeḍ ara:'
unavailable_content_html: Maṣṭudun s umata yeḍmen-ak ad teẓreḍ agbur, ad tesdemreḍ akked yimseqdacen-nniḍen seg yal aqeddac deg fedivers. Ha-tent-an γur-k tsuraf i yellan deg uqeddac-agi.
user_count_after:
one: amseqdac
@ -46,10 +46,10 @@ kab:
one: Ameḍfaṛ
other: Imeḍfaṛen
following: Yeṭafaṛ
joined: Yettwarna-d deg %{date}
joined: Ikcemed deg %{date}
last_active: armud aneggaru
media: Taγwalt
moved_html: "%{name} ibeddel amiḍan ɣer %{new_profile_link}:"
moved_html: 'ibeddel %{name} amiḍan γer %{new_profile_link}:'
network_hidden: Ulac isalli-agi
never_active: Werǧin
nothing_here: Ulac kra da!
@ -59,13 +59,13 @@ kab:
one: Tajewwiqt
other: Tijewwiqin
posts_tab_heading: Tiberraḥin
posts_with_replies: Tibarraḥin d tririyin
posts_with_replies: Tijewwaqin akked tririyin
reserved_username: Isem-agi n umseqdac yettwaṭṭef yakan
roles:
admin: Anedbal
bot: Aṛubut
group: Agraw
unavailable: Ur nufi ara amaɣnu-a
unavailable: Ur nufi ara amaγnu-a
unfollow: Ur ṭṭafaṛ ara
admin:
account_moderation_notes:
@ -76,7 +76,7 @@ kab:
approve_all: Qbel kullec
are_you_sure: Tetḥeqqeḍ?
avatar: Tugna n wummuγ
by_domain: Taɣult
by_domain: Taγult
change_email:
changed_msg: Imayl n umiḍan yettwabeddel mebla ugur!
current_email: Imayl n tura
@ -92,7 +92,7 @@ kab:
disable_two_factor_authentication: Gdel 2FA
disabled: Yensa
display_name: Isem ara d-yettwaskanen
domain: Taɣult
domain: Taγult
edit: Ẓreg
email: Imayl
email_status: Addad n imayl
@ -103,7 +103,7 @@ kab:
header: Ixef
inbox_url: URL n yinekcam
ip: Tansa IP
joined: Yettwarna-d
joined: Ikcemed deg
location:
all: Akk
local: Adigan
@ -121,7 +121,7 @@ kab:
no_limits_imposed: War tilisa
protocol: Aneggaf
public: Azayez
redownload: Smiren amaɣnu
redownload: Smiren amaγnu
reject: Ggami
reject_all: Ggami-ten akk
remove_avatar: Kkes tugna n wummuγ
@ -131,6 +131,7 @@ kab:
success: Imayl n usentem yettwazen mebla ugur!
reset: Wennez
reset_password: Beddel awal uffir
role: Tisirag
roles:
admin: Anedbal
staff: Tarbaɛt
@ -153,16 +154,16 @@ kab:
actions:
change_email_user: "%{name} ibeddel imayl n umseqdac %{target}"
confirm_user: "%{name} isentem tansa imayl n umseqdac %{target}"
create_account_warning: "%{name} yuzen alɣu i %{target}"
create_account_warning: "%{name} yuzen alγu i %{target}"
create_custom_emoji: "%{name} yessuli-d imujiten imaynuten %{target}"
create_domain_allow: "%{name} yerna taɣult %{target} ɣer tebdart tamellalt"
create_domain_block: "%{name} yesseḥbes taɣult %{target}"
create_email_domain_block: "%{name} yerna taɣult n imayl %{target} ɣer tebdart taberkant"
create_domain_allow: "%{name} yerna taγult %{target} γer tebdart tamellalt"
create_domain_block: "%{name} yesseḥbes taγult %{target}"
create_email_domain_block: "%{name} yerna taγult n imayl %{target} γer tebdart taberkant"
destroy_custom_emoji: "%{name} ihudd imuji %{target}"
destroy_domain_allow: "%{name} yekkes taɣult %{target} seg tebdart tamellalt"
destroy_domain_block: "%{name} yekkes aseḥbes n taɣult %{target}"
destroy_email_domain_block: "%{name} yerna taɣult n imayl %{target} ɣer tebdart tamellalt"
destroy_status: "%{name} yekkes tasuffeɣt n %{target}"
destroy_domain_allow: "%{name} yekkes taγult %{target} seg tebdart tamellalt"
destroy_domain_block: "%{name} yekkes aseḥbes n taγult %{target}"
destroy_email_domain_block: "%{name} yerna taγult n imayl %{target} γer tebdart tamellalt"
destroy_status: "%{name} yekkes tasuffeγt n %{target}"
disable_custom_emoji: "%{name} yessens imuji %{target}"
disable_user: "%{name} yessens tuqqna i umseqdac %{target}"
enable_custom_emoji: "%{name} yermed imuji %{target}"
@ -171,8 +172,8 @@ kab:
silence_account: "%{name} yesgugem amiḍan n %{target}"
unsilence_account: "%{name} yekkes asgugem n umiḍan n %{target}"
update_custom_emoji: "%{name} yelqem imuji %{target}"
update_status: "%{name} yelqem tasuffeɣt n %{target}"
deleted_status: "(tasuffeɣt tettwakkes)"
update_status: "%{name} yelqem tasuffeγt n %{target}"
deleted_status: "(tasuffeγt tettwakkes)"
announcements:
edit:
title: Ẓreg ulγu
@ -200,6 +201,7 @@ kab:
list: Tabdart
new:
title: Timerna n imuji udmawan amaynut
overwrite: Semselsi
title: Imujiten udmawanen
unlist: Kkes si tabdert
unlisted: Yettwakkes si tabdert
@ -218,9 +220,9 @@ kab:
week_users_active: yermed deg yimalas-agi
week_users_new: imseqdacen deg yimalas-agi
domain_allows:
add_new: Timerna n taɣult ɣer tebdart tamellalt
created_msg: Taɣult-a tettwarna ɣer tebdart tamellalt mebla ugur
destroyed_msg: Taɣult-a tettwakkes seg tebdart tamellalt
add_new: Timerna n taγult γer tebdart tamellalt
created_msg: Taγult-a tettwarna γer tebdart tamellalt mebla ugur
destroyed_msg: Taγult-a tettwakkes seg tebdart tamellalt
undo: Kkes seg tebdart tamellalt
domain_blocks:
domain: Taγult
@ -228,6 +230,8 @@ kab:
severity:
noop: Ula yiwen
silence: Sgugem
private_comment: Awennit uslig
public_comment: Awennit azayez
severity:
silence: yettwasgugem
show:
@ -238,7 +242,7 @@ kab:
domain: Taγult
new:
create: Rnu taγult
title: Timerna n taɣult tamaynut n imayl ɣer tebdart taberkant
title: Timerna n taγult tamaynut n imayl γer tebdart taberkant
title: Tabdart taberkant n imayl
instances:
by_domain: Taγult
@ -248,7 +252,10 @@ kab:
other: "%{count} n yimiḍanen i yettwassnen"
moderation:
all: Akk
total_blocked_by_us: Ttwasḥebsen sɣur-neɣ
private_comment: Awennit uslig
public_comment: Awennit azayez
title: Tamatut
total_blocked_by_us: Ttwasḥebsen sγur-neγ
total_followed_by_them: Ṭtafaṛen-t
total_followed_by_us: Neṭṭafaṛ-it
invites:
@ -264,6 +271,7 @@ kab:
enable: Rmed
enabled: Yermed
save_and_enable: Sekles rnu rmed-it
status: Addad
reports:
account:
reports:
@ -279,17 +287,18 @@ kab:
delete: Kkes
report: 'Aneqqis #%{id}'
resolved: Fran
status: Addad
title: Ineqqisen
unresolved: Ur yefra ara
updated_at: Yettwaleqqem
settings:
custom_css:
desc_html: Beddel aɣan s CSS ara d-yettwasalayen deg yal asebter
desc_html: Beddel aγan s CSS ara d-yettwasalayen deg yal asebter
title: CSS udmawan
domain_blocks:
all: Ɣef medden akk
disabled: Ɣef yiwen ala
users: Ɣef yimseqdacen idiganen i yeqqnen
all: I medden akk
disabled: Γef ula yiwen
users: Γef yimseqdacen idiganen i yeqqnen
profile_directory:
title: Rmed akaram n imaγnuten
registrations:
@ -315,6 +324,7 @@ kab:
tags:
directory: Deg ukaram
in_directory: "%{count} deg ukaram"
last_active: Armud aneggaru
most_popular: Ittwasnen aṭas
most_recent: Melmi kan
warning_presets:
@ -325,6 +335,7 @@ kab:
new_report:
subject: Aneqqis amaynut i %{instance} (#%{id})
appearance:
discovery: Asnirem
localization:
guide_link: https://crowdin.com/project/mastodon
guide_link_text: Yal yiwen·t y·tezmer a ttekki.
@ -349,6 +360,9 @@ kab:
reset_password: Wennez awal uffir
security: Taγellist
set_new_password: Egr-ed awal uffir amaynut
status:
account_status: Addad n umiḍan
functional: Amiḍan-inek·m yettwaheyya.
trouble_logging_in: Γur-k uguren n tuqqna?
authorize_follow:
already_following: Teṭafareḍ ya kan amiḍan-a
@ -394,12 +408,15 @@ kab:
'429': Throttled
'500':
'503': The page could not be served due to a temporary server failure.
existing_username_validator:
not_found_multiple: ur yezmir ara ad yaf %{usernames}
exports:
archive_takeout:
date: Azemz
size: Teγzi
csv: CSV
lists: Tibdarin
mutes: Wid tesgugmeḍ
featured_tags:
add_new: Rnu amaynut
filters:
@ -407,8 +424,14 @@ kab:
account: Imuγna
notifications: Tilγa
thread: Idiwenniyen
edit:
title: Ẓreg amzizdig
index:
delete: Kkes
empty: Ur tesɛid ara imzizdigen.
title: Imzizdigen
new:
title: Rnu yiwen umzizdig amaynut
footer:
developers: Ineflayen
more: Ugar…
@ -416,13 +439,21 @@ kab:
all: Akk
copy: Nγel
delete: Kkes
order_by: Sizwer s
save_changes: Sekles ibeddilen
identity_proofs:
active: Yermed
authorize: Ih, ssireg
i_am_html: Nekki d %{username} deg %{service}.
identity: Tamagit
inactive: D arurmid
publicize_checkbox: 'Tjewqeḍ aya:'
imports:
modes:
overwrite: Semselsi
types:
following: Tabdart n wid teṭafareḍ
upload: Sali
invites:
expires_in:
'1800': 30 n tisdatin
@ -435,16 +466,23 @@ kab:
title: Ɛreḍ-d kra n yimdanen
migrations:
acct: Ibeddel γer
incoming_migrations: Tusiḍ-ed seg umiḍan nniḍen
notification_mailer:
digest:
action: Wali akk tilγa
mention: 'Yuder-ik-id %{name} deg:'
follow:
body: "%{name} yeṭafaṛ-ik-id tura!"
subject: "%{name} yeṭafaṛ-ik-id tura"
title: Ameḍfaṛ amaynut
mention:
action: Err
notifications:
other_settings: Iγewwaṛen nniḍen n tilγa
pagination:
newer: Amaynut
next: Wayed
older: Aqbuṛ
prev: Win iɛeddan
truncate: d
preferences:
@ -452,9 +490,12 @@ kab:
relationships:
followers: Imeḍfaṛen
following: Yeṭafaṛ
moved: Igujj
status: Addad n umiḍan
remote_follow:
no_account_html: Ur tesɛid ara amiḍan? Tzmreḍ <a href='%{sign_up_path}' target='_blank'>ad jerdeḍ da</a>
sessions:
activity: Armud aneggaru
browser: Iminig
browsers:
alipay: Alipay
@ -463,8 +504,14 @@ kab:
edge: Microsoft Edge
electron: Electron
firefox: Firefox
generic: Iminig arusin
ie: Internet Explorer
micro_messenger: MicroMessenger
nokia: Nokia S40 Ovi Browser
opera: Opera
otter: Otter
phantom_js: PhantomJS
qq: QQ Browser
safari: Safari
uc_browser: UCBrowser
weibo: Weibo
@ -482,13 +529,19 @@ kab:
mac: Mac
windows: Windows
windows_mobile: Windows Mobile
windows_phone: Tiliγri Windows Phone
revoke: Ḥwi
settings:
account: Amiḍan
account_settings: Iγewwaṛen n umiḍan
appearance: Udem
authorized_apps: Isnasen yettussirgen
back: Uγal γer Maṣṭudun
development: Taneflit
edit_profile: Ẓreg amaγnu
export: Taktert n yisefka
import: Kter
import_and_export: Taktert d usifeḍ
notifications: Tilγa
preferences: Imenyafen
profile: Ameγnu
@ -511,8 +564,10 @@ kab:
title: '%{name}: "%{quote}"'
visibilities:
private: Imeḍfaṛen kan
private_long: Sken i ymeḍfaṛen kan
public_long: Yal yiwen·t yezmer at iwali
stream_entries:
pinned: Tijewwiqt yettwasentḍen
sensitive_content: Agbur amḥulfu
terms:
title: Tiwtilin n useqdec akked tsertit tabaḍnit n %{instance}
@ -535,6 +590,7 @@ kab:
full_handle: Tansa umiḍan-ik takemmalit
review_preferences_action: Beddel imenyafen
subject: Ansuf γer Maṣṭudun
tips: Tixbaluyin
title: Ansuf yessek·em, %{name}!
users:
signed_in_as: 'Teqqneḍ amzun d:'

View File

@ -39,7 +39,7 @@ nl:
unavailable_content_description:
domain: Server
reason: 'Reden:'
rejecting_media: Mediabestanden van deze server worden niet verwerkt en er worden geen thumbnails getoond. Je moet handmatig naar deze server doorklikken om de mediabestanden te kunnen bekijken.
rejecting_media: 'Mediabestanden van deze server worden niet verwerkt en er worden geen thumbnails getoond. Je moet handmatig naar deze server doorklikken om de mediabestanden te kunnen bekijken:'
silenced: Toots van deze server worden nergens weergegeven, behalve op jouw eigen starttijdlijn wanneer je het account volgt.
suspended: Je bent niet in staat om iemand van deze server te volgen, en er worden geen gegevens van deze server verwerkt of opgeslagen, en met deze server uitgewisseld.
unavailable_content_html: Met Mastodon kun je in het algemeen berichten bekijken van en communiceren met gebruikers van elke andere server in de fediverse. Dit zijn de uitzonderingen die door deze server zijn gemaakt en expliciet alleen hier gelden.
@ -953,8 +953,8 @@ nl:
public_timelines: Openbare tijdlijnen
reactions:
errors:
limit_reached: Limiet van verschillende reacties bereikt
unrecognized_emoji: is geen bestaande emoji
limit_reached: Limiet van verschillende emoji-reacties bereikt
unrecognized_emoji: is geen bestaande emoji-reactie
relationships:
activity: Accountactiviteit
dormant: Sluimerend

View File

@ -11,6 +11,7 @@ pl:
apps: Aplikacje
apps_platforms: Korzystaj z Mastodona z poziomu iOS-a, Androida i innych
browse_directory: Przeglądaj katalog profilów i filtruj z uwzględnieniem zainteresowań
browse_local_posts: Przeglądaj strumień publicznych wpisów z tego serwera
browse_public_posts: Przeglądaj strumień publicznych wpisów na Mastodonie na żywo
contact: Kontakt
contact_missing: Nie ustawiono
@ -85,6 +86,7 @@ pl:
roles:
admin: Administrator
bot: Bot
group: Grupa
moderator: Moderator
unavailable: Profil niedostępny
unfollow: Przestań śledzić
@ -204,11 +206,15 @@ pl:
change_email_user: "%{name} zmienił(a) adres e-mail użytkownika %{target}"
confirm_user: "%{name} potwierdził(a) adres e-mail użytkownika %{target}"
create_account_warning: "%{name} wysłał(a) ostrzeżenie do %{target}"
create_announcement: "%{name} utworzył(a) nowe ogłoszenie %{target}"
create_custom_emoji: "%{name} dodał(a) nowe emoji %{target}"
create_domain_allow: "%{name} dodał(a) na białą listę domenę %{target}"
create_domain_block: "%{name} zablokował(a) domenę %{target}"
create_email_domain_block: "%{name} dodał(a) domenę e-mail %{target} na czarną listę"
demote_user: "%{name} zdegradował(a) użytkownika %{target}"
destroy_announcement: "%{name} usunął(-ęła) ogłoszenie %{target}"
destroy_custom_emoji: "%{name} usunął(-ęła) emoji %{target}"
destroy_domain_allow: "%{name} usunął(-ęła) domenę %{target} z białej listy"
destroy_domain_block: "%{name} odblokował(a) domenę %{target}"
destroy_email_domain_block: "%{name} usunął(-ęła) domenę e-mail %{target} z czarnej listy"
destroy_status: "%{name} usunął(-ęła) wpis użytkownika %{target}"
@ -228,10 +234,26 @@ pl:
unassigned_report: "%{name} cofnął(-ęła) przypisanie zgłoszenia %{target}"
unsilence_account: "%{name} cofnął(-ęła) wyciszenie konta %{target}"
unsuspend_account: "%{name} cofnął(-ęła) zawieszenie konta %{target}"
update_announcement: "%{name} zaktualizował(-a) ogłoszenie %{target}"
update_custom_emoji: "%{name} zaktualizował(a) emoji %{target}"
update_status: "%{name} zaktualizował(a) wpis użytkownika %{target}"
deleted_status: "(usunięty wpis)"
title: Dziennik działań administracyjnych
announcements:
destroyed_msg: Pomyślnie usunięto ogłoszenie!
edit:
title: Edytuj ogłoszenie
empty: Nie znaleziono ogłoszeń.
live: Na żywo
new:
create: Utwórz ogłoszenie
title: Nowe ogłoszenie
published_msg: Pomyślnie opublikowano ogłoszenie!
scheduled_for: Zaplanowano na %{time}
scheduled_msg: Zaplanowano publikację ogłoszenia!
title: Ogłoszenia
unpublished_msg: Pomyślnie wycofano publikację ogłoszenia!
updated_msg: Pomyślnie zaktualizowano ogłoszenie!
custom_emojis:
assign_category: Ustaw kategorię
by_domain: Domeny
@ -243,9 +265,11 @@ pl:
delete: Usuń
destroyed_msg: Pomyślnie usunięto emoji!
disable: Wyłącz
disabled: Wyłączone
disabled_msg: Pomyślnie wyłączono emoji
emoji: Emotikona
enable: Włącz
enabled: Włączone
enabled_msg: Pomyślnie przywrócono emoji
image_hint: Plik PNG ważący do 50KB
list: Dodaj do listy
@ -314,6 +338,7 @@ pl:
private_comment: Prywatny komentarz
private_comment_hint: Komentarz na temat ograniczeń dla tej domeny do wewnętrznej informacji dla moderatorów.
public_comment: Publiczny komentarz
public_comment_hint: Komentarz dotyczący tego ograniczenia domeny widoczny publicznie, jeżeli wyświetlanie listy ograniczonych domen jest włączone.
reject_media: Odrzucaj pliki multimedialne
reject_media_hint: Usuwa przechowywane lokalnie pliki multimedialne i nie pozwala na ich pobieranie. Nieprzydatne przy zawieszeniu
reject_reports: Odrzucaj zgłoszenia
@ -342,6 +367,7 @@ pl:
delete: Usuń
destroyed_msg: Pomyślnie usunięto blokadę domeny e-mail
domain: Domena
empty: Żadna domena e-mail nie znajduje się obecnie na czarnej liście.
new:
create: Utwórz blokadę
title: Nowa blokada domeny e-mail
@ -376,6 +402,8 @@ pl:
title: Zaproszenia
pending_accounts:
title: Oczekujące konta (%{count})
relationships:
title: Relacje %{acct}
relays:
add_new: Dodaj nowy
delete: Usuń
@ -400,6 +428,7 @@ pl:
are_you_sure: Czy na pewno?
assign_to_self: Przypisz do siebie
assigned: Przypisany moderator
by_target_domain: Domena zgłaszanego konta
comment:
none: Brak
created_at: Zgłoszono

View File

@ -5,27 +5,29 @@ kab:
account_alias:
acct: Specify the username@domain of the account you want to move from
account_migration:
acct: Sekcem isem n umseqdac@taɣult n umiḍan wuɣur tebɣiḍ ad tuɣaleḍ
acct: Sekcem isem n umseqdac@taγult n umiḍan anida itebγiḍ ad gujjeḍ
admin_account_action:
send_email_notification: Amseqdac ad t-id-yewweḍ usefhem ɣef wayen yeḍran akked umiḍan-is
send_email_notification: Amseqdac ad t-id-yewweḍ usefhem γef wayen yeḍran akked umiḍan-is
type_html: Fren d acu ara txedmeḍ s <strong>%{acct}</strong>
defaults:
autofollow: Imdanen ara ijerrden s usnebgi-inek, ad k-ḍefṛen s wudem awurman
discoverable: Tabdert n yimaɣnuten d udem-nniḍen i umiḍan-ik akken ad yettwassen ugar
discoverable: Tabdert n yimaγnuten d udem-nniḍen i umiḍan-ik akken ad yettwassen ugar
email: Ad n-teṭṭfeḍ imayl i usentem
irreversible: Tibarraḥin i tessazedgeḍ ad ttwakksent i lebda, ula ma tekkseḍ imsizdeg-nni ar zdat
locale: Tutlayt n ugrudem, imaylen d tilɣa
irreversible: Tijewwaqin i tessazedgeḍ ad ttwakksent i lebda, ula ma tekkseḍ imsizdeg-nni ar zdat
locale: Tutlayt n ugrudem, imaylen d tilγa
password: Seqdec ma drus 8 n yisekkilen
setting_hide_network: Wid i teṭṭafaṛeḍ d wid i k-yeṭṭafaṛen ur d-ttwaseknen ara deg umaɣnu-inek
setting_hide_network: Wid i teṭṭafaṛeḍ d wid i k-yeṭṭafaṛen ur d-ttwaseknen ara deg umaγnu-inek
username: Isem-ik n umseqdac ad yili d ayiwen, ulac am netta deg %{domain}
featured_tag:
name: 'Ahat ad tebɣuḍ ad tesqedceḍ yiwen gar-asen:'
name: 'Ahat ad tebγuḍ ad tesqedceḍ yiwen gar-asen:'
imports:
data: Afaylu CSV id yusan seg uqeddac-nniḍen n Maṣṭudun
labels:
account:
fields:
value: Agbur
account_migration:
acct: Tansa n umiḍan amaynut
admin_account_action:
types:
silence: Sgugem
@ -49,6 +51,7 @@ kab:
setting_display_media_hide_all: Ffer kullec
setting_display_media_show_all: Sken kullec
setting_hide_network: Ffer azetta-k·m
setting_theme: Asental n wesmel
username: Isem n useqdac
username_or_email: Isem n useqdac neγ imal
whole_word: Awal akk
@ -57,7 +60,7 @@ kab:
invite:
comment: Awennit
invite_request:
text: Acimi tebɣiḍ ad ternuḍ iman-ik?
text: Acimi tebγiḍ ad ternuḍ iman-ik?
'no': Ala
required:
mark: "*"

View File

@ -39,12 +39,16 @@ pl:
whole_word: Jeśli słowo lub fraza składa się jedynie z liter lub cyfr, filtr będzie zastosowany tylko do pełnych wystąpień
featured_tag:
name: 'Sugerujemy użycie jednego z następujących:'
form_challenge:
current_password: Wchodzisz w strefę bezpieczną
imports:
data: Plik CSV wyeksportowany z innego serwera Mastodona
invite_request:
text: To pomoże nam w recenzji Twojej aplikacji
sessions:
otp: 'Wprowadź kod weryfikacji dwuetapowej z telefonu lub wykorzystaj jeden z kodów zapasowych:'
tag:
name: Możesz zmieniać tylko wielkość liter, np. aby były bardziej widoczne
user:
chosen_languages: Jeżeli zaznaczone, tylko wpisy w wybranych językach będą wyświetlane na publicznych osiach czasu
labels:
@ -52,9 +56,14 @@ pl:
fields:
name: Nazwa
value: Zawartość
account_alias:
acct: Nazwa starego konta
account_migration:
acct: Nazwa nowego konta
account_warning_preset:
text: Tekst szablonu
admin_account_action:
include_statuses: Uwzględniaj zgłoszone wpisy w wiadomości e-mail
send_email_notification: Powiadom użytkownika mailem
text: Niestandardowe ostrzeżenie
type: Działanie
@ -64,6 +73,12 @@ pl:
silence: Wycisz
suspend: Zawieś i nieodwracalnie usuń dane konta
warning_preset_id: Użyj szablonu ostrzeżenia
announcement:
all_day: Wydarzenie całodniowe
ends_at: Koniec wydarzenia
scheduled_at: Zaplanuj publikację
starts_at: Początek wydarzenia
text: Ogłoszenie
defaults:
autofollow: Zapraszaj do śledzenia swojego konta
avatar: Awatar
@ -94,6 +109,7 @@ pl:
setting_aggregate_reblogs: Grupuj podbicia na osiach czasu
setting_auto_play_gif: Automatycznie odtwarzaj animowane GIFy
setting_boost_modal: Pytaj o potwierdzenie przed podbiciem
setting_crop_images: Przycinaj obrazki w nierozwiniętych wpisach do 16x9
setting_default_language: Język wpisów
setting_default_privacy: Widoczność wpisów
setting_default_sensitive: Zawsze oznaczaj zawartość multimedialną jako wrażliwą
@ -110,8 +126,11 @@ pl:
setting_show_application: Informuj o aplikacji z której wysłano wpisy
setting_skin: Motyw
setting_system_font_ui: Używaj domyślnej czcionki systemu
setting_theme: Motyw strony
setting_trends: Pokazuj dzisiejsze „Na czasie”
setting_unfollow_modal: Pytaj o potwierdzenie przed cofnięciem śledzenia
setting_use_blurhash: Pokazuj kolorowe gradienty dla ukrytej zawartości multimedialnej
setting_use_pending_items: Tryb spowolniony
severity: Priorytet
type: Importowane dane
username: Nazwa użytkownika
@ -123,6 +142,8 @@ pl:
must_be_follower: Nie wyświetlaj powiadomień od osób, które Cię nie śledzą
must_be_following: Nie wyświetlaj powiadomień od osób, których nie śledzisz
must_be_following_dm: Nie wyświetlaj wiadomości bezpośrednich od osób, których nie śledzisz
invite:
comment: Komentarz
invite_request:
text: Czemu chcesz dołączyć?
notification_emails:
@ -134,6 +155,12 @@ pl:
pending_account: Wyślij e-mail kiedy nowe konto potrzebuje recenzji
reblog: Powiadamiaj mnie e-mailem, gdy ktoś podbije mój wpis
report: Powiadamiaj mnie e-mailem, gdy zostanie utworzone nowe zgłoszenie
trending_tag: Nieprzejrzany hashtag jest na czasie
tag:
listable: Pozwól, aby ten hashtag pojawiał się w wynikach wyszukiwania i katalogu profilów
name: Hashtag
trendable: Pozwól na wyświetlanie tego hashtagu w „Na czasie”
usable: Pozwól na umieszczanie tego hashtagu we wpisach
'no': Nie
recommended: Polecane
required:

View File

@ -357,6 +357,7 @@ sk:
delete: Vymaž
destroyed_msg: Emailová doména bola úspešne vymazaná zo zoznamu zakázaných
domain: Doména
empty: Žiadné emailové domény niesú v súčasnosti na čiernej listine.
new:
create: Pridaj doménu
title: Nový email na zablokovanie
@ -391,6 +392,8 @@ sk:
title: Pozvánky
pending_accounts:
title: Čakajúcich účtov (%{count})
relationships:
title: Vzťahy užívateľa %{acct}
relays:
add_new: Pridaj nový federovací mostík
delete: Vymaž
@ -467,6 +470,8 @@ sk:
users: Prihláseným, miestnym užívateľom
domain_blocks_rationale:
title: Ukáž zdôvodnenie
enable_bootstrap_timeline_accounts:
title: Novým užívateľom povoľ východiskové následovania
hero:
desc_html: Zobrazuje sa na hlavnej stránke. Doporučené je rozlišenie aspoň 600x100px. Pokiaľ nič nieje dodané, bude nastavený základný orázok serveru.
title: Obrázok hrdinu
@ -594,6 +599,7 @@ sk:
confirmation_dialogs: Potvrdzovacie dialógy
discovery: Nájdenie
localization:
body: Mastodon je prekladaný dobrovoľníkmi.
guide_link_text: Prispievať môže každý.
sensitive_content: Chúlostivý obsah
toot_layout: Rozloženie príspevkov
@ -938,6 +944,7 @@ sk:
dormant: Spiace
followers: Následovatelia
following: Následovaní
invited: Pozvaný/á
last_active: Naposledy aktívny
most_recent: Najnovšie
moved: Presunuli sa

View File

@ -17,7 +17,7 @@ module Mastodon
end
def flags
'rc2'
''
end
def suffix

View File

@ -14,5 +14,21 @@ describe Sanitize::Config do
it 'keeps ul' do
expect(Sanitize.fragment('<p>Check out:</p><ul><li>Foo</li><li>Bar</li></ul>', subject)).to eq '<p>Check out:</p><ul><li>Foo</li><li>Bar</li></ul>'
end
it 'removes a without href' do
expect(Sanitize.fragment('<a>Test</a>', subject)).to eq 'Test'
end
it 'removes a without href and only keeps text content' do
expect(Sanitize.fragment('<a><span class="invisible">foo&amp;</span><span>Test</span></a>', subject)).to eq 'foo&amp;Test'
end
it 'removes a with unsupported scheme in href' do
expect(Sanitize.fragment('<a href="foo://bar">Test</a>', subject)).to eq 'Test'
end
it 'keeps a with href' do
expect(Sanitize.fragment('<a href="http://example.com">Test</a>', subject)).to eq '<a href="http://example.com" rel="nofollow noopener tag noreferrer" target="_blank">Test</a>'
end
end
end