Merge branch 'main' into feature/require-mfa-by-admin

This commit is contained in:
FredysFonseca 2025-08-08 01:23:32 -04:00 committed by GitHub
commit 4ce99fcf55
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
46 changed files with 945 additions and 100 deletions

View File

@ -1,18 +0,0 @@
# frozen_string_literal: true
module EmailHelper
def self.included(base)
base.extend(self)
end
def email_to_canonical_email(str)
username, domain = str.downcase.split('@', 2)
username, = username.delete('.').split('+', 2)
"#{username}@#{domain}"
end
def email_to_canonical_email_hash(str)
Digest::SHA2.new(256).hexdigest(email_to_canonical_email(str))
end
end

View File

@ -1,13 +1,15 @@
{ {
"about.blocks": "Moderasiya olunan serverlər", "about.blocks": "Moderasiya edilmiş serverlər",
"about.contact": "Əlaqə:", "about.contact": "Əlaqə:",
"about.disclaimer": "Mastodon pulsuz, açıq-mənbəli proqram təminatıdır və Mastodon gGmbH-nin əmtəə nişanıdır.", "about.default_locale": "İlkin",
"about.domain_blocks.no_reason_available": "Səbəb naməlumdur", "about.disclaimer": "Mastodon ödənişsiz, açıq-mənbəli yazılımdır və Mastodon gGmbH-nin əmtəə nişanıdır.",
"about.domain_blocks.preamble": "Mastodon adətən fediversedəki hər hansısa bir serverdən olan məzmuna baxmaq və istifadəçilərlə qarşılıqlı əlaqədə olmaq imkanı verir. Bunlar bu serverdə edilmiş istisnalardır.", "about.domain_blocks.no_reason_available": "Səbəb mövcud deyil",
"about.domain_blocks.preamble": "Mastodon, adətən fediverse-dəki hər hansısa bir serverdən məzmuna baxmağınıza və istifadəçilərlə qarşılıqlı əlaqədə olmağınıza imkanı verir. Bunlar, bu serverdə edilmiş istisnalardır.",
"about.domain_blocks.silenced.explanation": "Siz bu serverdəki profilləri və məzmunu xüsusi olaraq axtarmasanız və ya izləməsəniz ümumiyyətlə görməyəcəksiniz.", "about.domain_blocks.silenced.explanation": "Siz bu serverdəki profilləri və məzmunu xüsusi olaraq axtarmasanız və ya izləməsəniz ümumiyyətlə görməyəcəksiniz.",
"about.domain_blocks.silenced.title": "Məhdudlaşdırılmış", "about.domain_blocks.silenced.title": "Məhdudlaşdırılmış",
"about.domain_blocks.suspended.explanation": "Bu serverdən heç bir data emal edilməyəcək, saxlanılmayacaq və ya mübadilə edilməyəcək və bu serverdən olan istifadəçilərlə hər hansı qarşılıqlı əlaqə qeyri-mümkün olacaq.", "about.domain_blocks.suspended.explanation": "Bu serverdəki heç bir veri emal edilməyəcək, saxlanılmayacaq və ya mübadilə edilməyəcək, bu serverdəki istifadəçilərlə hər hansısa bir qarşılıqlı əlaqə və ya ünsiyyət mümkünsüz olacaq.",
"about.domain_blocks.suspended.title": "Qadağa qoyulub", "about.domain_blocks.suspended.title": "Qadağa qoyulub",
"about.language_label": "Dil",
"about.not_available": "Bu məlumat bu serverdə əlçatan edilməyib.", "about.not_available": "Bu məlumat bu serverdə əlçatan edilməyib.",
"about.powered_by": "{mastodon} tərəfindən təchiz edilən desentralizasiya edilmiş sosial media", "about.powered_by": "{mastodon} tərəfindən təchiz edilən desentralizasiya edilmiş sosial media",
"about.rules": "Server qaydaları", "about.rules": "Server qaydaları",
@ -19,6 +21,7 @@
"account.block_domain": "{domain} domenini blokla", "account.block_domain": "{domain} domenini blokla",
"account.block_short": "Blok", "account.block_short": "Blok",
"account.blocked": "Bloklanıb", "account.blocked": "Bloklanıb",
"account.blocking": "Əngəlləmə",
"account.cancel_follow_request": "İzləməni ləğv et", "account.cancel_follow_request": "İzləməni ləğv et",
"account.copy": "Profil linkini kopyala", "account.copy": "Profil linkini kopyala",
"account.direct": "@{name} istifadəçisini fərdi olaraq etiketlə", "account.direct": "@{name} istifadəçisini fərdi olaraq etiketlə",
@ -27,6 +30,11 @@
"account.edit_profile": "Profili redaktə et", "account.edit_profile": "Profili redaktə et",
"account.enable_notifications": "@{name} paylaşım edəndə mənə bildiriş göndər", "account.enable_notifications": "@{name} paylaşım edəndə mənə bildiriş göndər",
"account.endorse": "Profildə seçilmişlərə əlavə et", "account.endorse": "Profildə seçilmişlərə əlavə et",
"account.familiar_followers_many": "{name1}, {name2} və tanıdığınız digər {othersCount, plural, one {digər bir nəfər} other {# nəfər}} izləyir",
"account.familiar_followers_one": "{name1} izləyir",
"account.familiar_followers_two": "{name1} və {name2} izləyir",
"account.featured": "Seçilmiş",
"account.featured.accounts": "Profillər",
"account.featured.hashtags": "Etiketler", "account.featured.hashtags": "Etiketler",
"account.featured_tags.last_status_at": "Son paylaşım {date} tarixində olub", "account.featured_tags.last_status_at": "Son paylaşım {date} tarixində olub",
"account.featured_tags.last_status_never": "Paylaşım yoxdur", "account.featured_tags.last_status_never": "Paylaşım yoxdur",
@ -35,9 +43,11 @@
"account.followers": "İzləyicilər", "account.followers": "İzləyicilər",
"account.followers.empty": "Bu istifadəçini hələ ki, heç kim izləmir.", "account.followers.empty": "Bu istifadəçini hələ ki, heç kim izləmir.",
"account.followers_counter": "{count, plural, one {{counter} izləyici} other {{counter} izləyici}}", "account.followers_counter": "{count, plural, one {{counter} izləyici} other {{counter} izləyici}}",
"account.followers_you_know_counter": "bildiyiniz {counter}",
"account.following": "İzləyir", "account.following": "İzləyir",
"account.following_counter": "{count, plural, one {{counter} izləyir} other {{counter} izləyir}}", "account.following_counter": "{count, plural, one {{counter} izləyir} other {{counter} izləyir}}",
"account.follows.empty": "Bu istifadəçi hələ ki, heç kimi izləmir.", "account.follows.empty": "Bu istifadəçi hələ ki, heç kimi izləmir.",
"account.follows_you": "Sizi izləyir",
"account.go_to_profile": "Profilə get", "account.go_to_profile": "Profilə get",
"account.hide_reblogs": "@{name} istifadəçisindən olan gücləndirmələri gizlət", "account.hide_reblogs": "@{name} istifadəçisindən olan gücləndirmələri gizlət",
"account.in_memoriam": "Xatirə.", "account.in_memoriam": "Xatirə.",
@ -52,18 +62,23 @@
"account.mute_notifications_short": "Bildirişləri səssizləşdir", "account.mute_notifications_short": "Bildirişləri səssizləşdir",
"account.mute_short": "Səssizləşdir", "account.mute_short": "Səssizləşdir",
"account.muted": "Səssizləşdirilib", "account.muted": "Səssizləşdirilib",
"account.muting": "Səssizə alınır",
"account.mutual": "Bir-birinizi izləyirsiniz",
"account.no_bio": "Təsvir göstərilməyib.", "account.no_bio": "Təsvir göstərilməyib.",
"account.open_original_page": "Orijinal səhifəni aç", "account.open_original_page": "Orijinal səhifəni aç",
"account.posts": "Paylaşım", "account.posts": "Paylaşım",
"account.posts_with_replies": "Paylaşım və cavablar", "account.posts_with_replies": "Paylaşım və cavablar",
"account.remove_from_followers": "{name} - izləyicilərdən çıxart",
"account.report": "@{name} istifadəçisini şikayət et", "account.report": "@{name} istifadəçisini şikayət et",
"account.requested": "Təsdiq edilməsi gözlənilir. İzləmə sorğusunu ləğv etmək üçün kliklə", "account.requested": "Təsdiq edilməsi gözlənilir. İzləmə sorğusunu ləğv etmək üçün kliklə",
"account.requested_follow": "{name} sizi izləmək sorğusu göndərib", "account.requested_follow": "{name} sizi izləmək sorğusu göndərib",
"account.requests_to_follow_you": "Sizi izləmək istəyir",
"account.share": "@{name} profilini paylaş", "account.share": "@{name} profilini paylaş",
"account.show_reblogs": "@{name} istifadəçisindən olan gücləndirmələri göstər", "account.show_reblogs": "@{name} istifadəçisindən olan gücləndirmələri göstər",
"account.statuses_counter": "{count, plural, one {{counter} paylaşım} other {{counter} paylaşım}}", "account.statuses_counter": "{count, plural, one {{counter} paylaşım} other {{counter} paylaşım}}",
"account.unblock": "@{name} blokunu aç", "account.unblock": "@{name} blokunu aç",
"account.unblock_domain": "{domain} domeninin blokunu aç", "account.unblock_domain": "{domain} domeninin blokunu aç",
"account.unblock_domain_short": "Əngəldən çıxart",
"account.unblock_short": "Bloku aç", "account.unblock_short": "Bloku aç",
"account.unendorse": "Profildə seçilmişlərə əlavə etmə", "account.unendorse": "Profildə seçilmişlərə əlavə etmə",
"account.unfollow": "İzləmədən çıxar", "account.unfollow": "İzləmədən çıxar",
@ -162,11 +177,11 @@
"column.pins": "Bərkidilmiş paylaşımlar", "column.pins": "Bərkidilmiş paylaşımlar",
"column.public": "Federasiya zaman qrafiki", "column.public": "Federasiya zaman qrafiki",
"column_back_button.label": "Geriyə", "column_back_button.label": "Geriyə",
"column_header.hide_settings": "Parametrləri gizlət", "column_header.hide_settings": "Ayarları gizlət",
"column_header.moveLeft_settings": "Sütunu sola köçür", "column_header.moveLeft_settings": "Sütunu sola köçür",
"column_header.moveRight_settings": "Sütunu sağa köçür", "column_header.moveRight_settings": "Sütunu sağa köçür",
"column_header.pin": "Bərkit", "column_header.pin": "Bərkit",
"column_header.show_settings": "Parametrləri göstər", "column_header.show_settings": "Ayarları göstər",
"column_header.unpin": "Bərkitmə", "column_header.unpin": "Bərkitmə",
"column_search.cancel": "İmtina", "column_search.cancel": "İmtina",
"community.column_settings.local_only": "Sadəcə lokalda", "community.column_settings.local_only": "Sadəcə lokalda",
@ -192,7 +207,7 @@
"compose_form.poll.type": "Stil", "compose_form.poll.type": "Stil",
"compose_form.publish": "Paylaş", "compose_form.publish": "Paylaş",
"compose_form.reply": "Cavabla", "compose_form.reply": "Cavabla",
"compose_form.save_changes": "Yenilə", "compose_form.save_changes": "Güncəllə",
"compose_form.spoiler.marked": "Məzmun xəbərdarlığını sil", "compose_form.spoiler.marked": "Məzmun xəbərdarlığını sil",
"compose_form.spoiler.unmarked": "Məzmun xəbərdarlığı əlavə et", "compose_form.spoiler.unmarked": "Məzmun xəbərdarlığı əlavə et",
"compose_form.spoiler_placeholder": "Məzmun xəbərdarlığı (məcburi deyil)", "compose_form.spoiler_placeholder": "Məzmun xəbərdarlığı (məcburi deyil)",
@ -204,6 +219,13 @@
"confirmations.delete_list.confirm": "Sil", "confirmations.delete_list.confirm": "Sil",
"confirmations.delete_list.message": "Bu siyahını həmişəlik silmək istədiyinizə əminsiniz?", "confirmations.delete_list.message": "Bu siyahını həmişəlik silmək istədiyinizə əminsiniz?",
"confirmations.delete_list.title": "Siyahı silinsin?", "confirmations.delete_list.title": "Siyahı silinsin?",
"confirmations.discard_draft.confirm": "Silib davam et",
"confirmations.discard_draft.edit.cancel": "Düzəliş etməyə davam",
"confirmations.discard_draft.edit.message": "Davam etsəniz, hazırda düzəliş etdiyiniz göndərişdəki bütün dəyişikliklər silinəcək.",
"confirmations.discard_draft.edit.title": "Göndərişinizə etdiyiniz bütün dəyişikliklər silinsin?",
"confirmations.discard_draft.post.cancel": "Qaralama kimi davam etdir",
"confirmations.discard_draft.post.message": "Davam etsəniz, hazırda tərtib etdiyiniz göndəriş silinəcək.",
"confirmations.discard_draft.post.title": "Qaralama göndərişiniz silinsin?",
"confirmations.discard_edit_media.confirm": "Ləğv et", "confirmations.discard_edit_media.confirm": "Ləğv et",
"confirmations.discard_edit_media.message": "Media təsvirində və ya önizləmədə yadda saxlanmamış dəyişiklikləriniz var, ləğv edilsin?", "confirmations.discard_edit_media.message": "Media təsvirində və ya önizləmədə yadda saxlanmamış dəyişiklikləriniz var, ləğv edilsin?",
"confirmations.follow_to_list.confirm": "İzlə və siyahıya əlavə et", "confirmations.follow_to_list.confirm": "İzlə və siyahıya əlavə et",
@ -213,13 +235,19 @@
"confirmations.logout.message": ıxmaq istədiyinizə əminsiniz?", "confirmations.logout.message": ıxmaq istədiyinizə əminsiniz?",
"confirmations.logout.title": ıxış edilsin?", "confirmations.logout.title": ıxış edilsin?",
"confirmations.missing_alt_text.confirm": "Alternativ mətn əlavə et", "confirmations.missing_alt_text.confirm": "Alternativ mətn əlavə et",
"confirmations.missing_alt_text.message": "Paylaşımınız alternativ mətn ehtiva etmir. Təsvir əlavə etmək onun daha çox insan üçün əlçatan olmasına kömək edir.", "confirmations.missing_alt_text.message": "Göndərişinizdə alternativ mətn yoxdur. Daha çox insanın məzmununuza erişməsinə kömək etmək üçün açıqlama əlavə edin.",
"confirmations.missing_alt_text.secondary": "Yenə də paylaş", "confirmations.missing_alt_text.secondary": "Yenə də paylaş",
"confirmations.missing_alt_text.title": "Alternativ mətn əlavə edilsin?", "confirmations.missing_alt_text.title": "Alternativ mətn əlavə edilsin?",
"confirmations.mute.confirm": "Səssizləşdir", "confirmations.mute.confirm": "Səssizləşdir",
"confirmations.redraft.confirm": "Sil və qaralamaya köçür", "confirmations.redraft.confirm": "Sil və qaralamaya köçür",
"confirmations.redraft.message": "Bu paylaşımı silmək və qaralamaya köçürmək istədiyinizə əminsiniz? Bəyənmələr və gücləndirmələr itəcək və orijinal paylaşıma olan cavablar tənha qalacaq.", "confirmations.redraft.message": "Bu paylaşımı silmək və qaralamaya köçürmək istədiyinizə əminsiniz? Bəyənmələr və gücləndirmələr itəcək və orijinal paylaşıma olan cavablar tənha qalacaq.",
"confirmations.redraft.title": "Paylaşım silinsin & qaralamaya köçürülsün?", "confirmations.redraft.title": "Paylaşım silinsin & qaralamaya köçürülsün?",
"confirmations.remove_from_followers.confirm": "İzləyicini çıxart",
"confirmations.remove_from_followers.message": "{name} sizi izləməyəcək. Davam etmək istədiyinizə əminsiniz?",
"confirmations.remove_from_followers.title": "İzləyici çıxarılsın?",
"confirmations.revoke_quote.confirm": "Göndərişi sil",
"confirmations.revoke_quote.message": "Bu əməliyyatın geri dönüşü yoxdur.",
"confirmations.revoke_quote.title": "Göndəriş silinsin?",
"confirmations.unfollow.confirm": "İzləmədən çıxar", "confirmations.unfollow.confirm": "İzləmədən çıxar",
"confirmations.unfollow.message": "{name} izləmədən çıxmaq istədiyinizə əminsiniz?", "confirmations.unfollow.message": "{name} izləmədən çıxmaq istədiyinizə əminsiniz?",
"confirmations.unfollow.title": "İstifadəçi izləmədən çıxarılsın?", "confirmations.unfollow.title": "İstifadəçi izləmədən çıxarılsın?",
@ -232,12 +260,12 @@
"conversation.with": "{names} ilə", "conversation.with": "{names} ilə",
"copy_icon_button.copied": "Mübadilə buferinə köçürüldü", "copy_icon_button.copied": "Mübadilə buferinə köçürüldü",
"copypaste.copied": "Kopyalandı", "copypaste.copied": "Kopyalandı",
"copypaste.copy_to_clipboard": "Kopyala", "copypaste.copy_to_clipboard": "Lövhəyə kopyala",
"directory.federated": "Bilinən fediversedən", "directory.federated": "Bilinən fediversedən",
"directory.local": "Sadəcə {domain}", "directory.local": "Sadəcə {domain}",
"directory.new_arrivals": "Yeni gələnlər", "directory.new_arrivals": "Yeni gələnlər",
"directory.recently_active": "Bayaq aktiv olanlar", "directory.recently_active": "Bayaq aktiv olanlar",
"disabled_account_banner.account_settings": "Hesab parametrləri", "disabled_account_banner.account_settings": "Hesab ayarları",
"disabled_account_banner.text": "Sizin hesabınız {disabledAccount} hal-hazırda deaktiv edilib.", "disabled_account_banner.text": "Sizin hesabınız {disabledAccount} hal-hazırda deaktiv edilib.",
"dismissable_banner.community_timeline": "Bunlar, hesabları {domain} serverində yerləşən insanların ən son ictimai paylaşımlarıdır.", "dismissable_banner.community_timeline": "Bunlar, hesabları {domain} serverində yerləşən insanların ən son ictimai paylaşımlarıdır.",
"dismissable_banner.dismiss": "Bağla", "dismissable_banner.dismiss": "Bağla",
@ -273,7 +301,7 @@
"emoji_button.food": "Yemək və içki", "emoji_button.food": "Yemək və içki",
"emoji_button.label": "Emoji daxil et", "emoji_button.label": "Emoji daxil et",
"emoji_button.nature": "Təbiət", "emoji_button.nature": "Təbiət",
"emoji_button.not_found": "Uyğun emoji tapılmadı", "emoji_button.not_found": "Uyuşan emoji tapılmadı",
"emoji_button.objects": "Obyektlər", "emoji_button.objects": "Obyektlər",
"emoji_button.people": "İnsanlar", "emoji_button.people": "İnsanlar",
"emoji_button.recent": "Tez-tez istifadə edilən", "emoji_button.recent": "Tez-tez istifadə edilən",
@ -296,6 +324,232 @@
"empty_column.follow_requests": "İzləmə sorğularınız yoxdur. Qəbul etdikdə burada görəcəksiniz.", "empty_column.follow_requests": "İzləmə sorğularınız yoxdur. Qəbul etdikdə burada görəcəksiniz.",
"empty_column.followed_tags": "Heç bir heşteq izləmirsiniz. İzlədikdə burada görünəcək.", "empty_column.followed_tags": "Heç bir heşteq izləmirsiniz. İzlədikdə burada görünəcək.",
"empty_column.hashtag": "Bu heşteqdə hələ ki, heç nə yoxdur.", "empty_column.hashtag": "Bu heşteqdə hələ ki, heç nə yoxdur.",
"empty_column.notification_requests": "Hamısı hazırdır! Burada heç nə yoxdur. Yeni bildiriş aldığınız zaman, ayarlarınıza görə burada görünəcək.",
"errors.unexpected_crash.report_issue": "Problemi bildir",
"explore.suggested_follows": "İnsanlar",
"explore.title": "Trendlər",
"explore.trending_links": "Xəbərlər",
"explore.trending_statuses": "Göndərişlər",
"explore.trending_tags": "Mövzu etiketləri",
"featured_carousel.header": "{count, plural, one {Sancılmış göndəriş} other {Sancılmış göndərişlər}}",
"featured_carousel.next": "Növbəti",
"featured_carousel.post": "Göndəriş",
"featured_carousel.previous": "Əvvəlki",
"featured_carousel.slide": "{index}/{total}",
"filter_modal.added.context_mismatch_explanation": "Bu filtr kateqoriyası, bu göndərişdə erişdiyiniz kontekstə aid deyil. Əgər göndərişin bu kontekstdə də filtrlənməsini istəyirsinizsə, filtrə düzəliş etməyiniz lazımdır.",
"filter_modal.added.context_mismatch_title": "Kontekst uyuşmur!",
"filter_modal.added.expired_explanation": "Bu filtr kateqoriyasının vaxtı bitib, filtri tətbiq etmək üçün bitmə tarixini dəyişdirməlisiniz.",
"filter_modal.added.expired_title": "Vaxtı bitmiş filtr!",
"filter_modal.added.review_and_configure": "Bu filt kateqoriyasını incələmək və daha detallı konfiqurasiya etmək üçün {settings_link} ünvanına gedin.",
"filter_modal.added.review_and_configure_title": "Filtr ayarları",
"filter_modal.added.settings_link": "ayarlar səhifəsi",
"filter_modal.added.short_explanation": "Bu göndəriş, aşağıdakı filtr kateqoriyasına əlavə edilib: {title}.",
"filter_modal.added.title": "Filtr əlavə edilib!",
"filter_warning.matches_filter": "“<span>{title}</span>” filtri ilə uyuşur",
"follow_suggestions.hints.friends_of_friends": "Bu profil izlədiyiniz insanlar arasında populyardır.", "follow_suggestions.hints.friends_of_friends": "Bu profil izlədiyiniz insanlar arasında populyardır.",
"follow_suggestions.hints.most_followed": "Bu profil {domain} serverində ən çox izlənilənlərdən biridir." "follow_suggestions.hints.most_followed": "Bu profil {domain} serverində ən çox izlənilənlərdən biridir.",
"generic.saved": "Saxlanıldı",
"getting_started.heading": "Başlayaq",
"hashtag.admin_moderation": "#{name} üçün moderasiya interfeysini aç",
"hashtag.browse": "#{hashtag} göndərişlərinə bax",
"hashtag.browse_from_account": "@{name} - #{hashtag} göndərişlərinə bax",
"hashtag.column_header.tag_mode.all": "və {additional}",
"hashtag.column_header.tag_mode.any": "və ya {additional}",
"hashtag.column_header.tag_mode.none": "{additional} olmadan",
"hashtag.column_settings.select.no_options_message": "Heç bir təklif tapılmadı",
"hashtag.column_settings.select.placeholder": "Mövzu etiketlərini daxil edin…",
"hashtag.column_settings.tag_mode.all": "Bunların hamısı",
"hashtag.column_settings.tag_mode.any": "Bunlardan hər hansısa biri",
"hashtag.column_settings.tag_mode.none": "Bunların heç biri",
"hashtag.column_settings.tag_toggle": "Bu sütun üçün əlavə etiketləri daxil et",
"hashtag.counter_by_accounts": "{count, plural, one {{counter} iştirakçı} other {{counter} iştirakçı}}",
"hashtag.counter_by_uses": "{count, plural, one {{counter} göndəriş} other {{counter} göndəriş}}",
"hashtag.counter_by_uses_today": "Bu gün {count, plural, one {{counter} göndəriş} other {{counter} göndəriş}}",
"hashtag.follow": "Mövzu etiketini izlə",
"hashtag.mute": "#{hashtag} - səssizə al",
"hashtag.unfollow": "Mövzu etiketini izləmə",
"hashtags.and_other": "…və daha {count, plural, one {}other {# ədəd}}",
"hints.profiles.followers_may_be_missing": "Bu profilin izləyiciləri əskik ola bilər.",
"hints.profiles.follows_may_be_missing": "Bu profilin izləyənləri əskik ola bilər.",
"home.column_settings.show_quotes": "Sitatları göstər",
"home.column_settings.show_replies": "Cavabları göstər",
"home.hide_announcements": "Elanları gizlət",
"home.pending_critical_update.body": "Lütfən Mastodon serverinizi mümkün olan ən qısa müddətdə güncəlləyin!",
"home.pending_critical_update.link": "Güncəlləmələrə bax",
"home.pending_critical_update.title": "Kritik güvənlik güncəlləməsi mövcuddur!",
"home.show_announcements": "Elanları göstər",
"ignore_notifications_modal.ignore": "Bildirişləri yox say",
"ignore_notifications_modal.limited_accounts_title": "Moderasiya edilmiş hesabların bildirişləri yox sayılsın?",
"ignore_notifications_modal.new_accounts_title": "Yeni hesabların bildirişləri yox sayılsın?",
"ignore_notifications_modal.not_followers_title": "Sizi izləməyən şəxslərin bildirişləri yox sayılsın?",
"ignore_notifications_modal.not_following_title": "İzləmədiyiniz şəxslərin bildirişləri yox sayılsın?",
"ignore_notifications_modal.private_mentions_title": "İstənilməyən Şəxsi Adçəkmələrdən gələn bildirişlər yox sayılsın?",
"info_button.label": "Kömək",
"interaction_modal.action.favourite": "Davam etmək üçün hesabınızdan sevimlilərə əlavə etməlisiniz.",
"interaction_modal.action.follow": "Davam etmək üçün hesabınızdan izləməlisiniz.",
"interaction_modal.action.reblog": "Davam etmək üçün hesabınızdan təkrar göndərməlisiniz.",
"interaction_modal.action.reply": "Davam etmək üçün hesabınızdan cavab verməlisiniz.",
"interaction_modal.action.vote": "Davam etmək üçün hesabınızdan səs verməlisiniz.",
"keyboard_shortcuts.profile": "Müəllifin profilini aç",
"keyboard_shortcuts.reply": "Göndərişə cavab ver",
"learn_more_link.got_it": "Anladım",
"learn_more_link.learn_more": "Daha ətraflı",
"lightbox.close": "Bağla",
"lightbox.next": "Növbəti",
"lightbox.previous": "Əvvəlki",
"lightbox.zoom_in": "Həqiqi ölçüyə qayıt",
"limited_account_hint.action": "Yenə də profili göstər",
"limited_account_hint.title": "Bu profil, {domain} moderatorları tərəfindən gizlədildi.",
"navigation_bar.account_settings": "Parol və təhlükəsizlik",
"navigation_bar.moderation": "Moderasiya",
"not_signed_in_indicator.not_signed_in": "Bu resursa erişmək üçün giriş etməlisiniz.",
"notification.moderation-warning.learn_more": "Daha ətraflı",
"notification.moderation_warning": "Bir moderasiya xəbərdarlığı aldınız",
"notification.moderation_warning.action_delete_statuses": "Bəzi göndərişləriniz silindi.",
"notification.moderation_warning.action_disable": "Hesabınız sıradan çıxarılıb.",
"notification.moderation_warning.action_mark_statuses_as_sensitive": "Bəzi göndərişləriniz həssas olaraq işarələnib.",
"notification.moderation_warning.action_none": "Hesabınız bir moderasiya xəbərdarlığı aldı.",
"notification.moderation_warning.action_sensitive": "Göndərişləriniz artıq həssas olaraq işarələnəcək.",
"notification.moderation_warning.action_silence": "Hesabınız məhdudlaşdırılıb.",
"notification.moderation_warning.action_suspend": "Hesabınızın fəaliyyəti dayandırılıb.",
"notification_requests.confirm_dismiss_multiple.message": "{count, plural, one {bir bildiriş sorğusunu} other {# bildiriş sorğusunu}} bağlamaq üzrəsiniz. {count, plural, one {Ona} other {Onlara}} yenidən asanlıqla erişə bilməyəcəksiniz. Davam etmək istədiyinizə əminsiniz?",
"notification_requests.explainer_for_limited_account": "Hesab, bir moderator tərəfindən məhdudlaşdırıldığı üçün bu hesabın bildirişləri filtrləndi.",
"notification_requests.explainer_for_limited_remote_account": "Hesab və ya onun serveri, bir moderator tərəfindən məhdudlaşdırıldığı üçün bu hesabın bildirişləri filtrləndi.",
"notifications.filter.statuses": "İzlədiyiniz şəxslərdən güncəlləmələr",
"notifications.policy.filter_limited_accounts_hint": "Server moderatorları tərəfindən məhdudlaşdırılıb",
"notifications.policy.filter_limited_accounts_title": "Moderasiya edilmiş hesablar",
"password_confirmation.exceeds_maxlength": "Parol təsdiqi, maksimum parol uzunluğunu aşır",
"password_confirmation.mismatching": "Parol təsdiqi uyuşmur",
"privacy_policy.last_updated": "Son güncəlləmə {date}",
"report.category.subtitle": "Ən çox uyuşanı seçin",
"report_notification.categories.spam_sentence": "spam",
"report_notification.categories.violation": "Qayda pozuntusu",
"report_notification.categories.violation_sentence": "qayda pozuntusu",
"report_notification.open": "Hesabatı aç",
"search.clear": "Axtarışı təmizlə",
"search.no_recent_searches": "Son axtarışlar yoxdur",
"search.placeholder": "Axtar",
"search.quick_action.account_search": "Uyuşan profillər {x}",
"search.quick_action.go_to_account": "{x} profilinə get",
"search.quick_action.go_to_hashtag": "{x} mövzu etiketinə get",
"search.quick_action.open_url": "URL-ni Mastodon-da aç",
"search.quick_action.status_search": "Uyuşan göndərişlər {x}",
"search.search_or_paste": "Axtar və ya URL-ni yapışdır",
"search_popout.full_text_search_disabled_message": "{domain} domenində mövcud deyil.",
"search_popout.full_text_search_logged_out_message": "Yalnız giriş edildiyi zaman əlçatandır.",
"search_popout.language_code": "ISO dil kodu",
"search_popout.options": "Axtarış seçimləri",
"search_popout.quick_actions": "Cəld əməliyyatlar",
"search_popout.recent": "Son axtarışlar",
"search_popout.specific_date": "müəyyən tarix",
"search_popout.user": "istifadəçi",
"search_results.accounts": "Profillər",
"search_results.all": "Hamısı",
"search_results.hashtags": "Mövzu etiketləri",
"search_results.no_results": "Nəticə yoxdur.",
"search_results.no_search_yet": "Göndərişləri, profilləri və ya mövzu etiketlərini axtarmağa çalışın.",
"search_results.see_all": "Hamısına bax",
"search_results.statuses": "Göndərişlər",
"search_results.title": "\"{q}\" axtar",
"server_banner.about_active_users": "Son 30 gündə bu serveri istifadə edənlər (aylıq aktiv istifadəçilər)",
"server_banner.active_users": "aktiv istifadəçilər",
"server_banner.is_one_of_many": "{domain}, fediverse-də iştirak etmək üçün istifadə edə biləcəyiniz bir neçə müstəqil Mastodon serverlərindən biridir.",
"server_banner.server_stats": "Server statistikaları:",
"sign_in_banner.create_account": "Hesab yarat",
"sign_in_banner.follow_anyone": "fediverse-dəki hər kəsi izləyin və hamısına xronoloji ardıcıllıqla baxın. Heç bir alqoritm, reklam və ya klikləmə tələsi yoxdur.",
"sign_in_banner.mastodon_is": "Mastodon, baş verənlərdən xəbərdar olmağın ən yaxşı yoldur.",
"sign_in_banner.sign_in": "Giriş",
"sign_in_banner.sso_redirect": "Giriş və ya Qeydiyyat",
"status.admin_account": "@{name} üçün moderasiya interfeysini aç",
"status.admin_domain": "{domain} üçün moderasiya interfeysini aç",
"status.admin_status": "Moderasiya interfeysində bu göndərişi aç",
"status.block": "Əngəllə: @{name}",
"status.bookmark": "Əlfəcin",
"status.context.load_new_replies": "Yeni cavablar mövcuddur",
"status.context.loading": "Daha çox cavab yoxlanılır",
"status.delete": "Sil",
"status.direct": "Şəxsi olaraq adını çək: @{name}",
"status.direct_indicator": "Şəxsi olaraq adını çək",
"status.edit": "Düzəliş et",
"status.edited": "Son düzəliş {date}",
"status.edited_x_times": "{count, plural, one {{count} dəfə} other {{count} dəfə}} düzəliş edilib",
"status.favourite": "Sevimli",
"status.favourites": "{count, plural, one {sevimli} other {sevimli}}",
"status.filter": "Bu göndərişi filtrlə",
"status.history.created": "{name}, {date} yaratdı",
"status.history.edited": "{name}, {date} düzəliş etdi",
"status.load_more": "Daha çoxunu yüklə",
"status.media.open": "Açmaq üçün kliklə",
"status.media.show": "Göstərmək üçün kliklə",
"status.media_hidden": "Media gizlidir",
"status.mention": "Adını çək: @{name}",
"status.more": "Daha çox",
"status.mute": "@{name} - səssizə al",
"status.mute_conversation": "Danışığın səsini kəs",
"status.open": "Bu göndərişi genişləndir",
"status.quote_error.filtered": "Bəzi filtrlərinizə görə gizlidir",
"status.quote_error.not_available": "Göndəriş əlçatmazdır",
"status.quote_error.pending_approval": "Göndəriş gözləmədədir",
"status.read_more": "Daha çoxunu oxu",
"status.remove_bookmark": "Əlfəcini sil",
"status.remove_favourite": "Sevimlilərdən sil",
"status.replied_to": "Cavab verildi: {name}",
"status.reply": "Cavabla",
"status.report": "Bildir: @{name}",
"status.sensitive_warning": "Həssas məzmun",
"status.share": "Paylaş",
"status.show_less_all": "Hamısı üçün daha az göstər",
"status.show_more_all": "Hamısı üçün daha çox göstər",
"status.show_original": "Orijinalı göstər",
"status.translate": "Tərcümə et",
"status.translated_from_with": "{provider} ilə {lang} dilindən tərcümə edilib",
"status.uncached_media_warning": "Önizləmə mövcud deyil",
"status.unmute_conversation": "Danışığın səsini aç",
"subscribed_languages.save": "Dəyişiklikləri saxla",
"subscribed_languages.target": "{target} üçün abunə olunmuş dilləri dəyişdir",
"tabs_bar.home": "Ana səhifə",
"tabs_bar.menu": "Menyu",
"tabs_bar.notifications": "Bildirişlər",
"tabs_bar.publish": "Yeni göndəriş",
"tabs_bar.search": "Axtar",
"terms_of_service.effective_as_of": "{date} etibarilə qüvvədə",
"terms_of_service.title": "Xidmət Şərtləri",
"terms_of_service.upcoming_changes_on": "{date} tarixində ediləcək dəyişikliklər",
"time_remaining.days": "{number, plural, one {# gün} other {# gün}} qalıb",
"time_remaining.hours": "{number, plural, one {# saat} other {# saat}} qalıb",
"time_remaining.minutes": "{number, plural, one {# dəqiqə} other {# dəqiqə}} qalıb",
"time_remaining.moments": "Bir neçə dəqiqə qalıb",
"time_remaining.seconds": "{number, plural, one {# saniyə} other {# saniyə}} qalıb",
"trends.trending_now": "İndi trenddədir",
"ui.beforeunload": "Mastodon-u tərk etsəniz, qaralamanız itəcək.",
"units.short.billion": "{count} mlyrd",
"units.short.million": "{count} mlyn",
"units.short.thousand": "{count} min",
"upload_area.title": "Yükləmək üçün sürüklə və burax",
"upload_button.label": "Təsvir, video və ya səs faylı əlavə et",
"upload_error.limit": "Fayl yükləmə limiti aşılıb.",
"upload_error.poll": "Anketlərdə fayl yükləməyə icazə verilmir.",
"upload_form.drag_and_drop.instructions": "Bir media qoşmasını daşımaq üçün boşluq və ya enter düyməsinə basın. Sürükləmə zamanı, media qoşmasını hər hansısa bir yönə hərəkət etdirmək üçün ox düymələrini istifadə edin. Media qoşmasını yeni mövqeyinə buraxmaq üçün təkrar boşluq və ya enter düyməsinə basın, ləğv etmək üçün escape düyməsinə basın.",
"upload_form.drag_and_drop.on_drag_cancel": "Sürükləmə ləğv edilib. {item} media qoşması buraxıldı.",
"upload_form.drag_and_drop.on_drag_end": "{item} media qoşması buraxıldı.",
"upload_form.drag_and_drop.on_drag_over": "{item} media qoşması daşındı.",
"upload_form.drag_and_drop.on_drag_start": "{item} media qoşması alındı.",
"upload_form.edit": "Düzəliş et",
"upload_progress.label": "Yüklənir...",
"upload_progress.processing": "Emal edilir…",
"username.taken": "Bu istifadəçi adı götürülüb. Başqasını sınayın",
"video.close": "Videonu bağla",
"video.download": "Faylı endir",
"video.exit_fullscreen": "Tam ekrandan çıx",
"video.expand": "Videonu genişləndir",
"video.fullscreen": "Tam ekran",
"video.hide": "Videonu gizlət",
"video.mute": "Səsi kəs",
"video.pause": "Fasilə ver",
"video.play": "Oxut",
"video.skip_backward": "Geri ötür",
"video.skip_forward": "İrəli ötür",
"video.unmute": "Səsi aç",
"video.volume_down": "Həcmi azalt",
"video.volume_up": "Həcmi artır"
} }

View File

@ -245,6 +245,7 @@
"confirmations.remove_from_followers.confirm": "Elimina el seguidor", "confirmations.remove_from_followers.confirm": "Elimina el seguidor",
"confirmations.remove_from_followers.message": "{name} deixarà de seguir-vos. Tirem endavant?", "confirmations.remove_from_followers.message": "{name} deixarà de seguir-vos. Tirem endavant?",
"confirmations.remove_from_followers.title": "Eliminem el seguidor?", "confirmations.remove_from_followers.title": "Eliminem el seguidor?",
"confirmations.revoke_quote.message": "Aquesta acció no es pot desfer.",
"confirmations.unfollow.confirm": "Deixa de seguir", "confirmations.unfollow.confirm": "Deixa de seguir",
"confirmations.unfollow.message": "Segur que vols deixar de seguir {name}?", "confirmations.unfollow.message": "Segur que vols deixar de seguir {name}?",
"confirmations.unfollow.title": "Deixar de seguir l'usuari?", "confirmations.unfollow.title": "Deixar de seguir l'usuari?",
@ -657,6 +658,7 @@
"notifications.column_settings.mention": "Mencions:", "notifications.column_settings.mention": "Mencions:",
"notifications.column_settings.poll": "Resultats de lenquesta:", "notifications.column_settings.poll": "Resultats de lenquesta:",
"notifications.column_settings.push": "Notificacions push", "notifications.column_settings.push": "Notificacions push",
"notifications.column_settings.quote": "Cites:",
"notifications.column_settings.reblog": "Impulsos:", "notifications.column_settings.reblog": "Impulsos:",
"notifications.column_settings.show": "Mostra a la columna", "notifications.column_settings.show": "Mostra a la columna",
"notifications.column_settings.sound": "Reprodueix so", "notifications.column_settings.sound": "Reprodueix so",
@ -894,6 +896,7 @@
"status.reply": "Respon", "status.reply": "Respon",
"status.replyAll": "Respon al fil", "status.replyAll": "Respon al fil",
"status.report": "Denuncia @{name}", "status.report": "Denuncia @{name}",
"status.revoke_quote": "Elimina la meva publicació de la de @{name}",
"status.sensitive_warning": "Contingut sensible", "status.sensitive_warning": "Contingut sensible",
"status.share": "Comparteix", "status.share": "Comparteix",
"status.show_less_all": "Mostra'n menys per a tot", "status.show_less_all": "Mostra'n menys per a tot",

View File

@ -245,6 +245,9 @@
"confirmations.remove_from_followers.confirm": "Odstranit sledujícího", "confirmations.remove_from_followers.confirm": "Odstranit sledujícího",
"confirmations.remove_from_followers.message": "{name} vás přestane sledovat. Jste si jisti, že chcete pokračovat?", "confirmations.remove_from_followers.message": "{name} vás přestane sledovat. Jste si jisti, že chcete pokračovat?",
"confirmations.remove_from_followers.title": "Odstranit sledujícího?", "confirmations.remove_from_followers.title": "Odstranit sledujícího?",
"confirmations.revoke_quote.confirm": "Odstranit příspěvek",
"confirmations.revoke_quote.message": "Tuto akci nelze vrátit zpět.",
"confirmations.revoke_quote.title": "Odstranit příspěvek?",
"confirmations.unfollow.confirm": "Přestat sledovat", "confirmations.unfollow.confirm": "Přestat sledovat",
"confirmations.unfollow.message": "Opravdu chcete {name} přestat sledovat?", "confirmations.unfollow.message": "Opravdu chcete {name} přestat sledovat?",
"confirmations.unfollow.title": "Přestat sledovat uživatele?", "confirmations.unfollow.title": "Přestat sledovat uživatele?",
@ -896,6 +899,7 @@
"status.reply": "Odpovědět", "status.reply": "Odpovědět",
"status.replyAll": "Odpovědět na vlákno", "status.replyAll": "Odpovědět na vlákno",
"status.report": "Nahlásit @{name}", "status.report": "Nahlásit @{name}",
"status.revoke_quote": "Odstranit můj příspěvek z příspěvku @{name}",
"status.sensitive_warning": "Citlivý obsah", "status.sensitive_warning": "Citlivý obsah",
"status.share": "Sdílet", "status.share": "Sdílet",
"status.show_less_all": "Zobrazit méně pro všechny", "status.show_less_all": "Zobrazit méně pro všechny",

View File

@ -245,6 +245,9 @@
"confirmations.remove_from_followers.confirm": "Fjern følger", "confirmations.remove_from_followers.confirm": "Fjern følger",
"confirmations.remove_from_followers.message": "{name} vil ikke længere følge dig. Er du sikker på, at du vil fortsætte?", "confirmations.remove_from_followers.message": "{name} vil ikke længere følge dig. Er du sikker på, at du vil fortsætte?",
"confirmations.remove_from_followers.title": "Fjern følger?", "confirmations.remove_from_followers.title": "Fjern følger?",
"confirmations.revoke_quote.confirm": "Fjern indlæg",
"confirmations.revoke_quote.message": "Denne handling kan ikke fortrydes.",
"confirmations.revoke_quote.title": "Fjern indlæg?",
"confirmations.unfollow.confirm": "Følg ikke længere", "confirmations.unfollow.confirm": "Følg ikke længere",
"confirmations.unfollow.message": "Er du sikker på, at du ikke længere vil følge {name}?", "confirmations.unfollow.message": "Er du sikker på, at du ikke længere vil følge {name}?",
"confirmations.unfollow.title": "Følg ikke længere bruger?", "confirmations.unfollow.title": "Følg ikke længere bruger?",
@ -896,6 +899,7 @@
"status.reply": "Besvar", "status.reply": "Besvar",
"status.replyAll": "Svar alle", "status.replyAll": "Svar alle",
"status.report": "Anmeld @{name}", "status.report": "Anmeld @{name}",
"status.revoke_quote": "Fjern mit indlæg fra @{name}'s indlæg",
"status.sensitive_warning": "Følsomt indhold", "status.sensitive_warning": "Følsomt indhold",
"status.share": "Del", "status.share": "Del",
"status.show_less_all": "Vis mindre for alle", "status.show_less_all": "Vis mindre for alle",

View File

@ -245,6 +245,9 @@
"confirmations.remove_from_followers.confirm": "Follower entfernen", "confirmations.remove_from_followers.confirm": "Follower entfernen",
"confirmations.remove_from_followers.message": "{name} wird dir nicht länger folgen. Bist du dir sicher?", "confirmations.remove_from_followers.message": "{name} wird dir nicht länger folgen. Bist du dir sicher?",
"confirmations.remove_from_followers.title": "Follower entfernen?", "confirmations.remove_from_followers.title": "Follower entfernen?",
"confirmations.revoke_quote.confirm": "Beitrag entfernen",
"confirmations.revoke_quote.message": "Diese Aktion kann nicht rückgängig gemacht werden.",
"confirmations.revoke_quote.title": "Beitrag entfernen?",
"confirmations.unfollow.confirm": "Entfolgen", "confirmations.unfollow.confirm": "Entfolgen",
"confirmations.unfollow.message": "Möchtest du {name} wirklich entfolgen?", "confirmations.unfollow.message": "Möchtest du {name} wirklich entfolgen?",
"confirmations.unfollow.title": "Profil entfolgen?", "confirmations.unfollow.title": "Profil entfolgen?",
@ -362,7 +365,7 @@
"filter_modal.select_filter.subtitle": "Einem vorhandenen Filter hinzufügen oder einen neuen erstellen", "filter_modal.select_filter.subtitle": "Einem vorhandenen Filter hinzufügen oder einen neuen erstellen",
"filter_modal.select_filter.title": "Diesen Beitrag filtern", "filter_modal.select_filter.title": "Diesen Beitrag filtern",
"filter_modal.title.status": "Beitrag per Filter ausblenden", "filter_modal.title.status": "Beitrag per Filter ausblenden",
"filter_warning.matches_filter": "Übereinstimmend mit dem Filter „<span>{title}</span>“", "filter_warning.matches_filter": "Ausgeblendet wegen des Filters „<span>{title}</span>“",
"filtered_notifications_banner.pending_requests": "Von {count, plural, =0 {keinem Profil, das dir möglicherweise bekannt ist} one {einem Profil, das dir möglicherweise bekannt ist} other {# Profilen, die dir möglicherweise bekannt sind}}", "filtered_notifications_banner.pending_requests": "Von {count, plural, =0 {keinem Profil, das dir möglicherweise bekannt ist} one {einem Profil, das dir möglicherweise bekannt ist} other {# Profilen, die dir möglicherweise bekannt sind}}",
"filtered_notifications_banner.title": "Gefilterte Benachrichtigungen", "filtered_notifications_banner.title": "Gefilterte Benachrichtigungen",
"firehose.all": "Alle Server", "firehose.all": "Alle Server",
@ -896,6 +899,7 @@
"status.reply": "Antworten", "status.reply": "Antworten",
"status.replyAll": "Allen antworten", "status.replyAll": "Allen antworten",
"status.report": "@{name} melden", "status.report": "@{name} melden",
"status.revoke_quote": "Meinen zitierten Beitrag aus dem Beitrag von @{name} entfernen",
"status.sensitive_warning": "Inhaltswarnung", "status.sensitive_warning": "Inhaltswarnung",
"status.share": "Teilen", "status.share": "Teilen",
"status.show_less_all": "Alles einklappen", "status.show_less_all": "Alles einklappen",

View File

@ -40,6 +40,7 @@
"account.followers": "Sekvantoj", "account.followers": "Sekvantoj",
"account.followers.empty": "Ankoraŭ neniu sekvas ĉi tiun uzanton.", "account.followers.empty": "Ankoraŭ neniu sekvas ĉi tiun uzanton.",
"account.followers_counter": "{count, plural, one{{counter} sekvanto} other {{counter} sekvantoj}}", "account.followers_counter": "{count, plural, one{{counter} sekvanto} other {{counter} sekvantoj}}",
"account.followers_you_know_counter": "Vi scias {counter}",
"account.following": "Sekvatoj", "account.following": "Sekvatoj",
"account.following_counter": "{count, plural, one {{counter} sekvato} other {{counter} sekvatoj}}", "account.following_counter": "{count, plural, one {{counter} sekvato} other {{counter} sekvatoj}}",
"account.follows.empty": "La uzanto ankoraŭ ne sekvas iun ajn.", "account.follows.empty": "La uzanto ankoraŭ ne sekvas iun ajn.",
@ -215,6 +216,11 @@
"confirmations.delete_list.confirm": "Forigi", "confirmations.delete_list.confirm": "Forigi",
"confirmations.delete_list.message": "Ĉu vi certas, ke vi volas porĉiame forigi ĉi tiun liston?", "confirmations.delete_list.message": "Ĉu vi certas, ke vi volas porĉiame forigi ĉi tiun liston?",
"confirmations.delete_list.title": "Ĉu forigi liston?", "confirmations.delete_list.title": "Ĉu forigi liston?",
"confirmations.discard_draft.confirm": "Forĵetu kaj daŭrigu",
"confirmations.discard_draft.edit.cancel": "Daŭrigi redaktadon",
"confirmations.discard_draft.edit.title": "Ĉu forĵeti ŝanĝojn al via afiŝo?",
"confirmations.discard_draft.post.cancel": "Daŭrigi malneton",
"confirmations.discard_draft.post.title": "Ĉu forĵeti vian malneton?",
"confirmations.discard_edit_media.confirm": "Forĵeti", "confirmations.discard_edit_media.confirm": "Forĵeti",
"confirmations.discard_edit_media.message": "Vi havas nekonservitajn ŝanĝojn de la priskribo aŭ la antaŭvidigo de la vidaŭdaĵo, ĉu vi forĵetu ilin malgraŭe?", "confirmations.discard_edit_media.message": "Vi havas nekonservitajn ŝanĝojn de la priskribo aŭ la antaŭvidigo de la vidaŭdaĵo, ĉu vi forĵetu ilin malgraŭe?",
"confirmations.follow_to_list.confirm": "Sekvi kaj aldoni al listo", "confirmations.follow_to_list.confirm": "Sekvi kaj aldoni al listo",
@ -234,6 +240,9 @@
"confirmations.remove_from_followers.confirm": "Forigi sekvanton", "confirmations.remove_from_followers.confirm": "Forigi sekvanton",
"confirmations.remove_from_followers.message": "{name} ne plu sekvos vin. Ĉu vi certas ke vi volas daŭri?", "confirmations.remove_from_followers.message": "{name} ne plu sekvos vin. Ĉu vi certas ke vi volas daŭri?",
"confirmations.remove_from_followers.title": "Forigi sekvanton?", "confirmations.remove_from_followers.title": "Forigi sekvanton?",
"confirmations.revoke_quote.confirm": "Forigi afiŝon",
"confirmations.revoke_quote.message": "Ĉi tiu ago ne povas esti malfarita.",
"confirmations.revoke_quote.title": "Ĉu forigi afiŝon?",
"confirmations.unfollow.confirm": "Ne plu sekvi", "confirmations.unfollow.confirm": "Ne plu sekvi",
"confirmations.unfollow.message": "Ĉu vi certas, ke vi volas ĉesi sekvi {name}?", "confirmations.unfollow.message": "Ĉu vi certas, ke vi volas ĉesi sekvi {name}?",
"confirmations.unfollow.title": "Ĉu ĉesi sekvi uzanton?", "confirmations.unfollow.title": "Ĉu ĉesi sekvi uzanton?",
@ -484,6 +493,8 @@
"keyboard_shortcuts.translate": "Traduki afiŝon", "keyboard_shortcuts.translate": "Traduki afiŝon",
"keyboard_shortcuts.unfocus": "Senfokusigi verki tekstareon/serĉon", "keyboard_shortcuts.unfocus": "Senfokusigi verki tekstareon/serĉon",
"keyboard_shortcuts.up": "Movu supren en la listo", "keyboard_shortcuts.up": "Movu supren en la listo",
"learn_more_link.got_it": "Komprenite",
"learn_more_link.learn_more": "Lernu pli",
"lightbox.close": "Fermi", "lightbox.close": "Fermi",
"lightbox.next": "Antaŭen", "lightbox.next": "Antaŭen",
"lightbox.previous": "Malantaŭen", "lightbox.previous": "Malantaŭen",
@ -577,6 +588,7 @@
"notification.label.mention": "Mencii", "notification.label.mention": "Mencii",
"notification.label.private_mention": "Privata mencio", "notification.label.private_mention": "Privata mencio",
"notification.label.private_reply": "Privata respondo", "notification.label.private_reply": "Privata respondo",
"notification.label.quote": "{name} citis vian afiŝon",
"notification.label.reply": "Respondi", "notification.label.reply": "Respondi",
"notification.mention": "Mencii", "notification.mention": "Mencii",
"notification.mentioned_you": "{name} menciis vin", "notification.mentioned_you": "{name} menciis vin",
@ -634,6 +646,7 @@
"notifications.column_settings.mention": "Mencioj:", "notifications.column_settings.mention": "Mencioj:",
"notifications.column_settings.poll": "Balotenketaj rezultoj:", "notifications.column_settings.poll": "Balotenketaj rezultoj:",
"notifications.column_settings.push": "Puŝsciigoj", "notifications.column_settings.push": "Puŝsciigoj",
"notifications.column_settings.quote": "Citaĵoj:",
"notifications.column_settings.reblog": "Diskonigoj:", "notifications.column_settings.reblog": "Diskonigoj:",
"notifications.column_settings.show": "Montri en kolumno", "notifications.column_settings.show": "Montri en kolumno",
"notifications.column_settings.sound": "Eligi sonon", "notifications.column_settings.sound": "Eligi sonon",
@ -851,6 +864,9 @@
"status.mute_conversation": "Silentigi konversacion", "status.mute_conversation": "Silentigi konversacion",
"status.open": "Pligrandigu ĉi tiun afiŝon", "status.open": "Pligrandigu ĉi tiun afiŝon",
"status.pin": "Alpingli al la profilo", "status.pin": "Alpingli al la profilo",
"status.quote_error.not_available": "Afiŝo ne disponebla",
"status.quote_error.pending_approval": "Pritraktata afiŝo",
"status.quote_error.pending_approval_popout.title": "Ĉu pritraktata citaĵo? Restu trankvila",
"status.read_more": "Legi pli", "status.read_more": "Legi pli",
"status.reblog": "Diskonigi", "status.reblog": "Diskonigi",
"status.reblog_private": "Diskonigi kun la sama videbleco", "status.reblog_private": "Diskonigi kun la sama videbleco",

View File

@ -245,6 +245,9 @@
"confirmations.remove_from_followers.confirm": "Quitar seguidor", "confirmations.remove_from_followers.confirm": "Quitar seguidor",
"confirmations.remove_from_followers.message": "{name} dejará de seguirte. ¿Estás seguro de que querés continuar?", "confirmations.remove_from_followers.message": "{name} dejará de seguirte. ¿Estás seguro de que querés continuar?",
"confirmations.remove_from_followers.title": "¿Quitar seguidor?", "confirmations.remove_from_followers.title": "¿Quitar seguidor?",
"confirmations.revoke_quote.confirm": "Eliminar mensaje",
"confirmations.revoke_quote.message": "Esta acción no se puede deshacer.",
"confirmations.revoke_quote.title": "¿Eliminar mensaje?",
"confirmations.unfollow.confirm": "Dejar de seguir", "confirmations.unfollow.confirm": "Dejar de seguir",
"confirmations.unfollow.message": "¿Estás seguro que querés dejar de seguir a {name}?", "confirmations.unfollow.message": "¿Estás seguro que querés dejar de seguir a {name}?",
"confirmations.unfollow.title": "¿Dejar de seguir al usuario?", "confirmations.unfollow.title": "¿Dejar de seguir al usuario?",
@ -896,6 +899,7 @@
"status.reply": "Responder", "status.reply": "Responder",
"status.replyAll": "Responder al hilo", "status.replyAll": "Responder al hilo",
"status.report": "Denunciar a @{name}", "status.report": "Denunciar a @{name}",
"status.revoke_quote": "Eliminar mi mensaje de la cita de @{name}",
"status.sensitive_warning": "Contenido sensible", "status.sensitive_warning": "Contenido sensible",
"status.share": "Compartir", "status.share": "Compartir",
"status.show_less_all": "Mostrar menos para todo", "status.show_less_all": "Mostrar menos para todo",

View File

@ -245,6 +245,9 @@
"confirmations.remove_from_followers.confirm": "Eliminar seguidor", "confirmations.remove_from_followers.confirm": "Eliminar seguidor",
"confirmations.remove_from_followers.message": "{name} dejará de seguirte. ¿Estás seguro de que quieres continuar?", "confirmations.remove_from_followers.message": "{name} dejará de seguirte. ¿Estás seguro de que quieres continuar?",
"confirmations.remove_from_followers.title": "¿Eliminar seguidor?", "confirmations.remove_from_followers.title": "¿Eliminar seguidor?",
"confirmations.revoke_quote.confirm": "Eliminar publicación",
"confirmations.revoke_quote.message": "Esta acción no se puede deshacer.",
"confirmations.revoke_quote.title": "¿Deseas eliminar la publicación?",
"confirmations.unfollow.confirm": "Dejar de seguir", "confirmations.unfollow.confirm": "Dejar de seguir",
"confirmations.unfollow.message": "¿Estás seguro de que quieres dejar de seguir a {name}?", "confirmations.unfollow.message": "¿Estás seguro de que quieres dejar de seguir a {name}?",
"confirmations.unfollow.title": "¿Dejar de seguir al usuario?", "confirmations.unfollow.title": "¿Dejar de seguir al usuario?",
@ -896,6 +899,7 @@
"status.reply": "Responder", "status.reply": "Responder",
"status.replyAll": "Responder al hilo", "status.replyAll": "Responder al hilo",
"status.report": "Reportar @{name}", "status.report": "Reportar @{name}",
"status.revoke_quote": "Eliminar mi publicación de la cita de @{name}",
"status.sensitive_warning": "Contenido sensible", "status.sensitive_warning": "Contenido sensible",
"status.share": "Compartir", "status.share": "Compartir",
"status.show_less_all": "Mostrar menos para todo", "status.show_less_all": "Mostrar menos para todo",

View File

@ -245,6 +245,9 @@
"confirmations.remove_from_followers.confirm": "Eliminar seguidor", "confirmations.remove_from_followers.confirm": "Eliminar seguidor",
"confirmations.remove_from_followers.message": "{name} dejará de seguirte. ¿Estás seguro de que quieres continuar?", "confirmations.remove_from_followers.message": "{name} dejará de seguirte. ¿Estás seguro de que quieres continuar?",
"confirmations.remove_from_followers.title": "¿Eliminar seguidor?", "confirmations.remove_from_followers.title": "¿Eliminar seguidor?",
"confirmations.revoke_quote.confirm": "Eliminar publicación",
"confirmations.revoke_quote.message": "Esta acción no tiene vuelta atrás.",
"confirmations.revoke_quote.title": "¿Eliminar la publicación?",
"confirmations.unfollow.confirm": "Dejar de seguir", "confirmations.unfollow.confirm": "Dejar de seguir",
"confirmations.unfollow.message": "¿Seguro que quieres dejar de seguir a {name}?", "confirmations.unfollow.message": "¿Seguro que quieres dejar de seguir a {name}?",
"confirmations.unfollow.title": "¿Dejar de seguir al usuario?", "confirmations.unfollow.title": "¿Dejar de seguir al usuario?",
@ -896,6 +899,7 @@
"status.reply": "Responder", "status.reply": "Responder",
"status.replyAll": "Responder al hilo", "status.replyAll": "Responder al hilo",
"status.report": "Reportar a @{name}", "status.report": "Reportar a @{name}",
"status.revoke_quote": "Eliminar mi publicación de la cita de {name}",
"status.sensitive_warning": "Contenido sensible", "status.sensitive_warning": "Contenido sensible",
"status.share": "Compartir", "status.share": "Compartir",
"status.show_less_all": "Mostrar menos para todo", "status.show_less_all": "Mostrar menos para todo",

View File

@ -245,6 +245,9 @@
"confirmations.remove_from_followers.confirm": "برداشتن پی‌گیرنده", "confirmations.remove_from_followers.confirm": "برداشتن پی‌گیرنده",
"confirmations.remove_from_followers.message": "دیگر {name} پیتان نخواهد گرفت. مطمئنید که می‌خواهید ادامه دهید؟", "confirmations.remove_from_followers.message": "دیگر {name} پیتان نخواهد گرفت. مطمئنید که می‌خواهید ادامه دهید؟",
"confirmations.remove_from_followers.title": "برداشتن پی‌گیرنده؟", "confirmations.remove_from_followers.title": "برداشتن پی‌گیرنده؟",
"confirmations.revoke_quote.confirm": "حذف فرسته",
"confirmations.revoke_quote.message": "این اقدام قابل بازگشت نیست.",
"confirmations.revoke_quote.title": "آیا فرسته را حذف کنم؟",
"confirmations.unfollow.confirm": "پی‌نگرفتن", "confirmations.unfollow.confirm": "پی‌نگرفتن",
"confirmations.unfollow.message": "مطمئنید که می‌خواهید به پی‌گیری از {name} پایان دهید؟", "confirmations.unfollow.message": "مطمئنید که می‌خواهید به پی‌گیری از {name} پایان دهید؟",
"confirmations.unfollow.title": "ناپی‌گیری کاربر؟", "confirmations.unfollow.title": "ناپی‌گیری کاربر؟",
@ -498,6 +501,8 @@
"keyboard_shortcuts.translate": "برای ترجمه یک پست", "keyboard_shortcuts.translate": "برای ترجمه یک پست",
"keyboard_shortcuts.unfocus": "برداشتن تمرکز از ناحیهٔ نوشتن یا جست‌وجو", "keyboard_shortcuts.unfocus": "برداشتن تمرکز از ناحیهٔ نوشتن یا جست‌وجو",
"keyboard_shortcuts.up": "بالا بردن در سیاهه", "keyboard_shortcuts.up": "بالا بردن در سیاهه",
"learn_more_link.got_it": "متوجه شدم",
"learn_more_link.learn_more": "دانستن بیش‌تر",
"lightbox.close": "بستن", "lightbox.close": "بستن",
"lightbox.next": "بعدی", "lightbox.next": "بعدی",
"lightbox.previous": "قبلی", "lightbox.previous": "قبلی",
@ -598,6 +603,7 @@
"notification.label.mention": "اشاره", "notification.label.mention": "اشاره",
"notification.label.private_mention": "اشارهٔ خصوصی", "notification.label.private_mention": "اشارهٔ خصوصی",
"notification.label.private_reply": "پاسخ خصوصی", "notification.label.private_reply": "پاسخ خصوصی",
"notification.label.quote": "{name} فرسته‌تان را نقل کرد",
"notification.label.reply": "پاسخ", "notification.label.reply": "پاسخ",
"notification.mention": "اشاره", "notification.mention": "اشاره",
"notification.mentioned_you": "{name} از شما نام برد", "notification.mentioned_you": "{name} از شما نام برد",
@ -655,6 +661,7 @@
"notifications.column_settings.mention": "اشاره‌ها:", "notifications.column_settings.mention": "اشاره‌ها:",
"notifications.column_settings.poll": "نتایج نظرسنجی:", "notifications.column_settings.poll": "نتایج نظرسنجی:",
"notifications.column_settings.push": "آگاهی‌های ارسالی", "notifications.column_settings.push": "آگاهی‌های ارسالی",
"notifications.column_settings.quote": "نقل‌قول‌ها:",
"notifications.column_settings.reblog": "تقویت‌ها:", "notifications.column_settings.reblog": "تقویت‌ها:",
"notifications.column_settings.show": "نمایش در ستون", "notifications.column_settings.show": "نمایش در ستون",
"notifications.column_settings.sound": "پخش صدا", "notifications.column_settings.sound": "پخش صدا",
@ -873,6 +880,9 @@
"status.open": "گسترش این فرسته", "status.open": "گسترش این فرسته",
"status.pin": "سنجاق به نمایه", "status.pin": "سنجاق به نمایه",
"status.quote_error.filtered": "نهفته بنا بر یکی از پالایه‌هایتان", "status.quote_error.filtered": "نهفته بنا بر یکی از پالایه‌هایتان",
"status.quote_error.not_available": "فرسته در دسترس نیست",
"status.quote_error.pending_approval_popout.body": "نقل‌قول‌هایی که در سراسر فدیورس هم‌رسانی می‌شوند ممکن است زمان‌بر باشند تا نمایش داده شوند، چون کارسازهای مختلف از شیوه‌نامه‌های متفاوتی استفاده می‌کنند.",
"status.quote_post_author": "فرسته‌ای از @{name} نقل شد",
"status.read_more": "بیشتر بخوانید", "status.read_more": "بیشتر بخوانید",
"status.reblog": "تقویت", "status.reblog": "تقویت",
"status.reblog_private": "تقویت برای مخاطبان نخستین", "status.reblog_private": "تقویت برای مخاطبان نخستین",
@ -887,6 +897,7 @@
"status.reply": "پاسخ", "status.reply": "پاسخ",
"status.replyAll": "پاسخ به رشته", "status.replyAll": "پاسخ به رشته",
"status.report": "گزارش @{name}", "status.report": "گزارش @{name}",
"status.revoke_quote": "حذف فرسته‌ام از فرسته @{name}",
"status.sensitive_warning": "محتوای حساس", "status.sensitive_warning": "محتوای حساس",
"status.share": "هم‌رسانی", "status.share": "هم‌رسانی",
"status.show_less_all": "نمایش کمتر همه", "status.show_less_all": "نمایش کمتر همه",

View File

@ -245,6 +245,9 @@
"confirmations.remove_from_followers.confirm": "Strika fylgjara", "confirmations.remove_from_followers.confirm": "Strika fylgjara",
"confirmations.remove_from_followers.message": "{name} fer ikki longur at fylgja tær. Er tú vís/ur í at tú vilt halda fram?", "confirmations.remove_from_followers.message": "{name} fer ikki longur at fylgja tær. Er tú vís/ur í at tú vilt halda fram?",
"confirmations.remove_from_followers.title": "Strika fylgjara?", "confirmations.remove_from_followers.title": "Strika fylgjara?",
"confirmations.revoke_quote.confirm": "Strika post",
"confirmations.revoke_quote.message": "Hendan atgerðin kann ikki angrast.",
"confirmations.revoke_quote.title": "Strika post?",
"confirmations.unfollow.confirm": "Fylg ikki", "confirmations.unfollow.confirm": "Fylg ikki",
"confirmations.unfollow.message": "Ert tú vís/ur í, at tú vil steðga við at fylgja {name}?", "confirmations.unfollow.message": "Ert tú vís/ur í, at tú vil steðga við at fylgja {name}?",
"confirmations.unfollow.title": "Gevst at fylgja brúkara?", "confirmations.unfollow.title": "Gevst at fylgja brúkara?",
@ -600,6 +603,7 @@
"notification.label.mention": "Umrøða", "notification.label.mention": "Umrøða",
"notification.label.private_mention": "Privat umrøða", "notification.label.private_mention": "Privat umrøða",
"notification.label.private_reply": "Privat svar", "notification.label.private_reply": "Privat svar",
"notification.label.quote": "{name} siteraði postin hjá tær",
"notification.label.reply": "Svara", "notification.label.reply": "Svara",
"notification.mention": "Umrøð", "notification.mention": "Umrøð",
"notification.mentioned_you": "{name} nevndi teg", "notification.mentioned_you": "{name} nevndi teg",
@ -657,6 +661,7 @@
"notifications.column_settings.mention": "Umrøður:", "notifications.column_settings.mention": "Umrøður:",
"notifications.column_settings.poll": "Úrslit frá atkvøðugreiðslu:", "notifications.column_settings.poll": "Úrslit frá atkvøðugreiðslu:",
"notifications.column_settings.push": "Trýstifráboðanir", "notifications.column_settings.push": "Trýstifráboðanir",
"notifications.column_settings.quote": "Sitatir:",
"notifications.column_settings.reblog": "Stimbranir:", "notifications.column_settings.reblog": "Stimbranir:",
"notifications.column_settings.show": "Vís í teigi", "notifications.column_settings.show": "Vís í teigi",
"notifications.column_settings.sound": "Spæl ljóð", "notifications.column_settings.sound": "Spæl ljóð",
@ -894,6 +899,7 @@
"status.reply": "Svara", "status.reply": "Svara",
"status.replyAll": "Svara tráðnum", "status.replyAll": "Svara tráðnum",
"status.report": "Melda @{name}", "status.report": "Melda @{name}",
"status.revoke_quote": "Strika postin hjá mær frá postinum hjá @{name}",
"status.sensitive_warning": "Viðkvæmt tilfar", "status.sensitive_warning": "Viðkvæmt tilfar",
"status.share": "Deil", "status.share": "Deil",
"status.show_less_all": "Vís øllum minni", "status.show_less_all": "Vís øllum minni",

View File

@ -600,6 +600,7 @@
"notification.label.mention": "Luaigh", "notification.label.mention": "Luaigh",
"notification.label.private_mention": "Lua príobháideach", "notification.label.private_mention": "Lua príobháideach",
"notification.label.private_reply": "Freagra príobháideach", "notification.label.private_reply": "Freagra príobháideach",
"notification.label.quote": "Luaigh {name} do phost",
"notification.label.reply": "Freagra", "notification.label.reply": "Freagra",
"notification.mention": "Luaigh", "notification.mention": "Luaigh",
"notification.mentioned_you": "Luaigh {name} tú", "notification.mentioned_you": "Luaigh {name} tú",
@ -657,6 +658,7 @@
"notifications.column_settings.mention": "Tráchtanna:", "notifications.column_settings.mention": "Tráchtanna:",
"notifications.column_settings.poll": "Torthaí suirbhéanna:", "notifications.column_settings.poll": "Torthaí suirbhéanna:",
"notifications.column_settings.push": "Brúfhógraí", "notifications.column_settings.push": "Brúfhógraí",
"notifications.column_settings.quote": "Luachain:",
"notifications.column_settings.reblog": "Moltaí:", "notifications.column_settings.reblog": "Moltaí:",
"notifications.column_settings.show": "Taispeáin i gcolún", "notifications.column_settings.show": "Taispeáin i gcolún",
"notifications.column_settings.sound": "Seinn an fhuaim", "notifications.column_settings.sound": "Seinn an fhuaim",

View File

@ -245,6 +245,9 @@
"confirmations.remove_from_followers.confirm": "Quitar seguidora", "confirmations.remove_from_followers.confirm": "Quitar seguidora",
"confirmations.remove_from_followers.message": "{name} vai deixar de seguirte. É isto o que queres?", "confirmations.remove_from_followers.message": "{name} vai deixar de seguirte. É isto o que queres?",
"confirmations.remove_from_followers.title": "Quitar seguidora?", "confirmations.remove_from_followers.title": "Quitar seguidora?",
"confirmations.revoke_quote.confirm": "Eliminar publicación",
"confirmations.revoke_quote.message": "Esta acción non se pode desfacer.",
"confirmations.revoke_quote.title": "Eliminar publicación?",
"confirmations.unfollow.confirm": "Deixar de seguir", "confirmations.unfollow.confirm": "Deixar de seguir",
"confirmations.unfollow.message": "Tes certeza de querer deixar de seguir a {name}?", "confirmations.unfollow.message": "Tes certeza de querer deixar de seguir a {name}?",
"confirmations.unfollow.title": "Deixar de seguir á usuaria?", "confirmations.unfollow.title": "Deixar de seguir á usuaria?",
@ -658,6 +661,7 @@
"notifications.column_settings.mention": "Mencións:", "notifications.column_settings.mention": "Mencións:",
"notifications.column_settings.poll": "Resultados da enquisa:", "notifications.column_settings.poll": "Resultados da enquisa:",
"notifications.column_settings.push": "Notificacións emerxentes", "notifications.column_settings.push": "Notificacións emerxentes",
"notifications.column_settings.quote": "Citacións:",
"notifications.column_settings.reblog": "Promocións:", "notifications.column_settings.reblog": "Promocións:",
"notifications.column_settings.show": "Amosar en columna", "notifications.column_settings.show": "Amosar en columna",
"notifications.column_settings.sound": "Reproducir son", "notifications.column_settings.sound": "Reproducir son",
@ -895,6 +899,7 @@
"status.reply": "Responder", "status.reply": "Responder",
"status.replyAll": "Responder ao tema", "status.replyAll": "Responder ao tema",
"status.report": "Denunciar @{name}", "status.report": "Denunciar @{name}",
"status.revoke_quote": "Retirar a miña publicación da cita de @{name}",
"status.sensitive_warning": "Contido sensíbel", "status.sensitive_warning": "Contido sensíbel",
"status.share": "Compartir", "status.share": "Compartir",
"status.show_less_all": "Amosar menos para todos", "status.show_less_all": "Amosar menos para todos",

View File

@ -245,6 +245,9 @@
"confirmations.remove_from_followers.confirm": "הסרת עוקב", "confirmations.remove_from_followers.confirm": "הסרת עוקב",
"confirmations.remove_from_followers.message": "{name} יוסר/תוסר ממעקב אחריך. האם להמשיך?", "confirmations.remove_from_followers.message": "{name} יוסר/תוסר ממעקב אחריך. האם להמשיך?",
"confirmations.remove_from_followers.title": "להסיר עוקב/עוקבת?", "confirmations.remove_from_followers.title": "להסיר עוקב/עוקבת?",
"confirmations.revoke_quote.confirm": "הסרת הודעה",
"confirmations.revoke_quote.message": "פעולה זו אינה הפיכה.",
"confirmations.revoke_quote.title": "הסרת הודעה?",
"confirmations.unfollow.confirm": "הפסקת מעקב", "confirmations.unfollow.confirm": "הפסקת מעקב",
"confirmations.unfollow.message": "להפסיק מעקב אחרי {name}?", "confirmations.unfollow.message": "להפסיק מעקב אחרי {name}?",
"confirmations.unfollow.title": "לבטל מעקב אחר המשתמש.ת?", "confirmations.unfollow.title": "לבטל מעקב אחר המשתמש.ת?",
@ -658,6 +661,7 @@
"notifications.column_settings.mention": "פניות:", "notifications.column_settings.mention": "פניות:",
"notifications.column_settings.poll": "תוצאות סקר:", "notifications.column_settings.poll": "תוצאות סקר:",
"notifications.column_settings.push": "התראות בדחיפה", "notifications.column_settings.push": "התראות בדחיפה",
"notifications.column_settings.quote": "ציטוטים:",
"notifications.column_settings.reblog": "הדהודים:", "notifications.column_settings.reblog": "הדהודים:",
"notifications.column_settings.show": "הצגה בטור", "notifications.column_settings.show": "הצגה בטור",
"notifications.column_settings.sound": "שמע מופעל", "notifications.column_settings.sound": "שמע מופעל",
@ -895,6 +899,7 @@
"status.reply": "תגובה", "status.reply": "תגובה",
"status.replyAll": "תגובה לשרשור", "status.replyAll": "תגובה לשרשור",
"status.report": "דיווח על @{name}", "status.report": "דיווח על @{name}",
"status.revoke_quote": "הסירו את הודעתי מההודעה של @{name}",
"status.sensitive_warning": "תוכן רגיש", "status.sensitive_warning": "תוכן רגיש",
"status.share": "שיתוף", "status.share": "שיתוף",
"status.show_less_all": "להציג פחות מהכל", "status.show_less_all": "להציג פחות מהכל",

View File

@ -658,6 +658,7 @@
"notifications.column_settings.mention": "Megemlítések:", "notifications.column_settings.mention": "Megemlítések:",
"notifications.column_settings.poll": "Szavazási eredmények:", "notifications.column_settings.poll": "Szavazási eredmények:",
"notifications.column_settings.push": "Leküldéses értesítések", "notifications.column_settings.push": "Leküldéses értesítések",
"notifications.column_settings.quote": "Idézetek:",
"notifications.column_settings.reblog": "Megtolások:", "notifications.column_settings.reblog": "Megtolások:",
"notifications.column_settings.show": "Megjelenítés az oszlopban", "notifications.column_settings.show": "Megjelenítés az oszlopban",
"notifications.column_settings.sound": "Hang lejátszása", "notifications.column_settings.sound": "Hang lejátszása",

View File

@ -245,6 +245,9 @@
"confirmations.remove_from_followers.confirm": "Fjarlægja fylgjanda", "confirmations.remove_from_followers.confirm": "Fjarlægja fylgjanda",
"confirmations.remove_from_followers.message": "{name} mun hætta að fylgjast með þér. Ertu viss um að þú viljir halda áfram?", "confirmations.remove_from_followers.message": "{name} mun hætta að fylgjast með þér. Ertu viss um að þú viljir halda áfram?",
"confirmations.remove_from_followers.title": "Fjarlægja fylgjanda?", "confirmations.remove_from_followers.title": "Fjarlægja fylgjanda?",
"confirmations.revoke_quote.confirm": "Fjarlægja færslu",
"confirmations.revoke_quote.message": "Þessa aðgerð er ekki hægt að afturkalla.",
"confirmations.revoke_quote.title": "Fjarlægja færslu?",
"confirmations.unfollow.confirm": "Hætta að fylgja", "confirmations.unfollow.confirm": "Hætta að fylgja",
"confirmations.unfollow.message": "Ertu viss um að þú viljir hætta að fylgjast með {name}?", "confirmations.unfollow.message": "Ertu viss um að þú viljir hætta að fylgjast með {name}?",
"confirmations.unfollow.title": "Hætta að fylgjast með viðkomandi?", "confirmations.unfollow.title": "Hætta að fylgjast með viðkomandi?",
@ -896,6 +899,7 @@
"status.reply": "Svara", "status.reply": "Svara",
"status.replyAll": "Svara þræði", "status.replyAll": "Svara þræði",
"status.report": "Kæra @{name}", "status.report": "Kæra @{name}",
"status.revoke_quote": "Fjarlægja færsluna mína úr færslu frá @{name}",
"status.sensitive_warning": "Viðkvæmt efni", "status.sensitive_warning": "Viðkvæmt efni",
"status.share": "Deila", "status.share": "Deila",
"status.show_less_all": "Sýna minna fyrir allt", "status.show_less_all": "Sýna minna fyrir allt",

View File

@ -245,6 +245,9 @@
"confirmations.remove_from_followers.confirm": "Volger verwijderen", "confirmations.remove_from_followers.confirm": "Volger verwijderen",
"confirmations.remove_from_followers.message": "{name} zal je niet meer volgen. Weet je zeker dat je wilt doorgaan?", "confirmations.remove_from_followers.message": "{name} zal je niet meer volgen. Weet je zeker dat je wilt doorgaan?",
"confirmations.remove_from_followers.title": "Volger verwijderen?", "confirmations.remove_from_followers.title": "Volger verwijderen?",
"confirmations.revoke_quote.confirm": "Bericht verwijderen",
"confirmations.revoke_quote.message": "Deze actie kan niet ongedaan worden gemaakt.",
"confirmations.revoke_quote.title": "Bericht verwijderen?",
"confirmations.unfollow.confirm": "Ontvolgen", "confirmations.unfollow.confirm": "Ontvolgen",
"confirmations.unfollow.message": "Weet je het zeker dat je {name} wilt ontvolgen?", "confirmations.unfollow.message": "Weet je het zeker dat je {name} wilt ontvolgen?",
"confirmations.unfollow.title": "Gebruiker ontvolgen?", "confirmations.unfollow.title": "Gebruiker ontvolgen?",
@ -896,6 +899,7 @@
"status.reply": "Reageren", "status.reply": "Reageren",
"status.replyAll": "Op iedereen reageren", "status.replyAll": "Op iedereen reageren",
"status.report": "@{name} rapporteren", "status.report": "@{name} rapporteren",
"status.revoke_quote": "Mijn bericht uit het bericht van @{name} verwijderen",
"status.sensitive_warning": "Gevoelige inhoud", "status.sensitive_warning": "Gevoelige inhoud",
"status.share": "Delen", "status.share": "Delen",
"status.show_less_all": "Alles minder tonen", "status.show_less_all": "Alles minder tonen",

View File

@ -245,6 +245,9 @@
"confirmations.remove_from_followers.confirm": "Remover seguidor", "confirmations.remove_from_followers.confirm": "Remover seguidor",
"confirmations.remove_from_followers.message": "{name} vai parar de seguir-te. Tens a certeza que prentedes continuar?", "confirmations.remove_from_followers.message": "{name} vai parar de seguir-te. Tens a certeza que prentedes continuar?",
"confirmations.remove_from_followers.title": "Remover seguidor?", "confirmations.remove_from_followers.title": "Remover seguidor?",
"confirmations.revoke_quote.confirm": "Remover publicação",
"confirmations.revoke_quote.message": "Esta ação é irreversível.",
"confirmations.revoke_quote.title": "Remover publicação?",
"confirmations.unfollow.confirm": "Deixar de seguir", "confirmations.unfollow.confirm": "Deixar de seguir",
"confirmations.unfollow.message": "De certeza que queres deixar de seguir {name}?", "confirmations.unfollow.message": "De certeza que queres deixar de seguir {name}?",
"confirmations.unfollow.title": "Deixar de seguir o utilizador?", "confirmations.unfollow.title": "Deixar de seguir o utilizador?",
@ -896,6 +899,7 @@
"status.reply": "Responder", "status.reply": "Responder",
"status.replyAll": "Responder à conversa", "status.replyAll": "Responder à conversa",
"status.report": "Denunciar @{name}", "status.report": "Denunciar @{name}",
"status.revoke_quote": "Remover a minha publicação da publicação de @{name}",
"status.sensitive_warning": "Conteúdo sensível", "status.sensitive_warning": "Conteúdo sensível",
"status.share": "Partilhar", "status.share": "Partilhar",
"status.show_less_all": "Ocultar conteúdo sensível em todas", "status.show_less_all": "Ocultar conteúdo sensível em todas",

View File

@ -245,6 +245,9 @@
"confirmations.remove_from_followers.confirm": "Takipçi kaldır", "confirmations.remove_from_followers.confirm": "Takipçi kaldır",
"confirmations.remove_from_followers.message": "{name} sizi takip etmeyi bırakacaktır. Devam etmek istediğinize emin misiniz?", "confirmations.remove_from_followers.message": "{name} sizi takip etmeyi bırakacaktır. Devam etmek istediğinize emin misiniz?",
"confirmations.remove_from_followers.title": "Takipçiyi kaldır?", "confirmations.remove_from_followers.title": "Takipçiyi kaldır?",
"confirmations.revoke_quote.confirm": "Gönderiyi kaldır",
"confirmations.revoke_quote.message": "Bu işlem geri alınamaz.",
"confirmations.revoke_quote.title": "Gönderiyi silmek ister misiniz?",
"confirmations.unfollow.confirm": "Takibi bırak", "confirmations.unfollow.confirm": "Takibi bırak",
"confirmations.unfollow.message": "{name} adlı kullanıcıyı takibi bırakmak istediğinden emin misin?", "confirmations.unfollow.message": "{name} adlı kullanıcıyı takibi bırakmak istediğinden emin misin?",
"confirmations.unfollow.title": "Kullanıcıyı takipten çık?", "confirmations.unfollow.title": "Kullanıcıyı takipten çık?",
@ -658,6 +661,7 @@
"notifications.column_settings.mention": "Bahsetmeler:", "notifications.column_settings.mention": "Bahsetmeler:",
"notifications.column_settings.poll": "Anket sonuçları:", "notifications.column_settings.poll": "Anket sonuçları:",
"notifications.column_settings.push": "Anlık bildirimler", "notifications.column_settings.push": "Anlık bildirimler",
"notifications.column_settings.quote": "Alıntılar:",
"notifications.column_settings.reblog": "Yeniden paylaşanlar:", "notifications.column_settings.reblog": "Yeniden paylaşanlar:",
"notifications.column_settings.show": "Sütunda göster", "notifications.column_settings.show": "Sütunda göster",
"notifications.column_settings.sound": "Ses çal", "notifications.column_settings.sound": "Ses çal",
@ -895,6 +899,7 @@
"status.reply": "Yanıtla", "status.reply": "Yanıtla",
"status.replyAll": "Konuyu yanıtla", "status.replyAll": "Konuyu yanıtla",
"status.report": "@{name} adlı kişiyi bildir", "status.report": "@{name} adlı kişiyi bildir",
"status.revoke_quote": "@{name}'nin gönderisinden benim gönderimi kaldır",
"status.sensitive_warning": "Hassas içerik", "status.sensitive_warning": "Hassas içerik",
"status.share": "Paylaş", "status.share": "Paylaş",
"status.show_less_all": "Hepsi için daha az göster", "status.show_less_all": "Hepsi için daha az göster",

View File

@ -227,6 +227,9 @@
"confirmations.redraft.confirm": "Видалити та виправити", "confirmations.redraft.confirm": "Видалити та виправити",
"confirmations.redraft.message": "Ви впевнені, що хочете видалити цей допис та переписати його? Додавання у вибране та поширення буде втрачено, а відповіді на оригінальний допис залишаться без першоджерела.", "confirmations.redraft.message": "Ви впевнені, що хочете видалити цей допис та переписати його? Додавання у вибране та поширення буде втрачено, а відповіді на оригінальний допис залишаться без першоджерела.",
"confirmations.redraft.title": "Видалити та переробити допис?", "confirmations.redraft.title": "Видалити та переробити допис?",
"confirmations.revoke_quote.confirm": "Видалити публікацію",
"confirmations.revoke_quote.message": "Цю дію не можна скасувати.",
"confirmations.revoke_quote.title": "Видалити публікацію?",
"confirmations.unfollow.confirm": "Відписатися", "confirmations.unfollow.confirm": "Відписатися",
"confirmations.unfollow.message": "Ви впевнені, що хочете відписатися від {name}?", "confirmations.unfollow.message": "Ви впевнені, що хочете відписатися від {name}?",
"confirmations.unfollow.title": "Відписатися від користувача?", "confirmations.unfollow.title": "Відписатися від користувача?",
@ -862,6 +865,7 @@
"status.reply": "Відповісти", "status.reply": "Відповісти",
"status.replyAll": "Відповісти на ланцюжок", "status.replyAll": "Відповісти на ланцюжок",
"status.report": "Поскаржитися на @{name}", "status.report": "Поскаржитися на @{name}",
"status.revoke_quote": "Видалити мою публікацію з допису @{name}",
"status.sensitive_warning": "Делікатний вміст", "status.sensitive_warning": "Делікатний вміст",
"status.share": "Поділитися", "status.share": "Поділитися",
"status.show_less_all": "Згорнути для всіх", "status.show_less_all": "Згорнути для всіх",

View File

@ -245,6 +245,9 @@
"confirmations.remove_from_followers.confirm": "Xóa người theo dõi", "confirmations.remove_from_followers.confirm": "Xóa người theo dõi",
"confirmations.remove_from_followers.message": "{name} sẽ không còn theo dõi bạn.Bạn có chắc tiếp tục?", "confirmations.remove_from_followers.message": "{name} sẽ không còn theo dõi bạn.Bạn có chắc tiếp tục?",
"confirmations.remove_from_followers.title": "Xóa người theo dõi?", "confirmations.remove_from_followers.title": "Xóa người theo dõi?",
"confirmations.revoke_quote.confirm": "Gỡ tút",
"confirmations.revoke_quote.message": "Hành động này không thể hoàn tác.",
"confirmations.revoke_quote.title": "Gỡ tút?",
"confirmations.unfollow.confirm": "Bỏ theo dõi", "confirmations.unfollow.confirm": "Bỏ theo dõi",
"confirmations.unfollow.message": "Bạn có chắc muốn bỏ theo dõi {name}?", "confirmations.unfollow.message": "Bạn có chắc muốn bỏ theo dõi {name}?",
"confirmations.unfollow.title": "Bỏ theo dõi", "confirmations.unfollow.title": "Bỏ theo dõi",
@ -896,6 +899,7 @@
"status.reply": "Trả lời", "status.reply": "Trả lời",
"status.replyAll": "Trả lời", "status.replyAll": "Trả lời",
"status.report": "Báo cáo @{name}", "status.report": "Báo cáo @{name}",
"status.revoke_quote": "Gỡ tút của tôi khỏi trích dẫn của @{name}",
"status.sensitive_warning": "Nhạy cảm", "status.sensitive_warning": "Nhạy cảm",
"status.share": "Chia sẻ", "status.share": "Chia sẻ",
"status.show_less_all": "Thu gọn", "status.show_less_all": "Thu gọn",

View File

@ -245,6 +245,9 @@
"confirmations.remove_from_followers.confirm": "移除跟隨者", "confirmations.remove_from_followers.confirm": "移除跟隨者",
"confirmations.remove_from_followers.message": "{name} 將會停止跟隨您。您確定要繼續嗎?", "confirmations.remove_from_followers.message": "{name} 將會停止跟隨您。您確定要繼續嗎?",
"confirmations.remove_from_followers.title": "是否移除該跟隨者?", "confirmations.remove_from_followers.title": "是否移除該跟隨者?",
"confirmations.revoke_quote.confirm": "移除嘟文",
"confirmations.revoke_quote.message": "此動作無法復原。",
"confirmations.revoke_quote.title": "您是否確定移除嘟文?",
"confirmations.unfollow.confirm": "取消跟隨", "confirmations.unfollow.confirm": "取消跟隨",
"confirmations.unfollow.message": "您確定要取消跟隨 {name} 嗎?", "confirmations.unfollow.message": "您確定要取消跟隨 {name} 嗎?",
"confirmations.unfollow.title": "是否取消跟隨該使用者?", "confirmations.unfollow.title": "是否取消跟隨該使用者?",
@ -896,6 +899,7 @@
"status.reply": "回覆", "status.reply": "回覆",
"status.replyAll": "回覆討論串", "status.replyAll": "回覆討論串",
"status.report": "檢舉 @{name}", "status.report": "檢舉 @{name}",
"status.revoke_quote": "將我的嘟文自 @{name} 之嘟文中移除",
"status.sensitive_warning": "敏感內容", "status.sensitive_warning": "敏感內容",
"status.share": "分享", "status.share": "分享",
"status.show_less_all": "隱藏所有內容警告與額外標籤", "status.show_less_all": "隱藏所有內容警告與額外標籤",

View File

@ -61,6 +61,7 @@ class ActivityPub::Activity::Delete < ActivityPub::Activity
ActivityPub::Forwarder.new(@account, @json, @quote.status).forward! ActivityPub::Forwarder.new(@account, @json, @quote.status).forward!
@quote.reject! @quote.reject!
DistributionWorker.perform_async(@quote.status_id, { 'update' => true })
end end
def forwarder def forwarder

View File

@ -19,13 +19,13 @@ class ActivityPub::Activity::QuoteRequest < ActivityPub::Activity
private private
def accept_quote_request!(quoted_status) def accept_quote_request!(quoted_status)
status = status_from_uri(@json['instrument']) status = status_from_uri(instrument_uri)
# TODO: import inlined quote post if possible status ||= import_instrument(quoted_status)
status ||= ActivityPub::FetchRemoteStatusService.new.call(@json['instrument'], on_behalf_of: @account.followers.local.first, request_id: @options[:request_id]) status ||= ActivityPub::FetchRemoteStatusService.new.call(instrument_uri, on_behalf_of: quoted_status.account, request_id: @options[:request_id])
# TODO: raise if status is nil # TODO: raise if status is nil
# Sanity check # Sanity check
return unless status.quote.quoted_status == quoted_status return unless status.quote.quoted_status == quoted_status && status.account == @account
status.quote.ensure_quoted_access status.quote.ensure_quoted_access
status.quote.update!(activity_uri: @json['id']) status.quote.update!(activity_uri: @json['id'])
@ -35,15 +35,30 @@ class ActivityPub::Activity::QuoteRequest < ActivityPub::Activity
ActivityPub::DeliveryWorker.perform_async(json, quoted_status.account_id, @account.inbox_url) ActivityPub::DeliveryWorker.perform_async(json, quoted_status.account_id, @account.inbox_url)
end end
def import_instrument(quoted_status)
return unless @json['instrument'].is_a?(Hash)
# NOTE: Replacing the object's context by that of the parent activity is
# not sound, but it's consistent with the rest of the codebase
instrument = @json['instrument'].merge({ '@context' => @json['@context'] })
return if non_matching_uri_hosts?(instrument['id'], @account.uri)
ActivityPub::FetchRemoteStatusService.new.call(instrument['id'], prefetched_body: instrument, on_behalf_of: quoted_status.account, request_id: @options[:request_id])
end
def reject_quote_request!(quoted_status) def reject_quote_request!(quoted_status)
quote = Quote.new( quote = Quote.new(
quoted_status: quoted_status, quoted_status: quoted_status,
quoted_account: quoted_status.account, quoted_account: quoted_status.account,
status: Status.new(account: @account, uri: @json['instrument']), status: Status.new(account: @account, uri: instrument_uri),
account: @account, account: @account,
activity_uri: @json['id'] activity_uri: @json['id']
) )
json = Oj.dump(serialize_payload(quote, ActivityPub::RejectQuoteRequestSerializer)) json = Oj.dump(serialize_payload(quote, ActivityPub::RejectQuoteRequestSerializer))
ActivityPub::DeliveryWorker.perform_async(json, quoted_status.account_id, @account.inbox_url) ActivityPub::DeliveryWorker.perform_async(json, quoted_status.account_id, @account.inbox_url)
end end
def instrument_uri
value_or_id(@json['instrument'])
end
end end

View File

@ -12,24 +12,29 @@
# #
class CanonicalEmailBlock < ApplicationRecord class CanonicalEmailBlock < ApplicationRecord
include EmailHelper include CanonicalEmail
include Paginable include Paginable
belongs_to :reference_account, class_name: 'Account', optional: true belongs_to :reference_account, class_name: 'Account', optional: true
validates :canonical_email_hash, presence: true, uniqueness: true validates :canonical_email_hash, presence: true, uniqueness: true
scope :matching_email, ->(email) { where(canonical_email_hash: email_to_canonical_email_hash(email)) } scope :matching_email, ->(email) { where(canonical_email_hash: digest(normalize_value_for(:email, email))) }
def self.block?(email)
matching_email(email).exists?
end
def self.digest(value)
Digest::SHA256.hexdigest(value)
end
def to_log_human_identifier def to_log_human_identifier
canonical_email_hash canonical_email_hash
end end
def email=(email) def email=(email)
self.canonical_email_hash = email_to_canonical_email_hash(email) super
end self.canonical_email_hash = self.class.digest(self.email)
def self.block?(email)
matching_email(email).exists?
end end
end end

View File

@ -0,0 +1,27 @@
# frozen_string_literal: true
module CanonicalEmail
extend ActiveSupport::Concern
included do
normalizes :email, with: ->(value) { canonicalize_email(value) }
end
class_methods do
def canonicalize_email(email)
email
.downcase
.split('@', 2)
.then { |local, domain| [canonical_username(local), domain] }
.join('@')
end
def canonical_username(username)
username
.to_s
.delete('.')
.split('+', 2)
.first
end
end
end

View File

@ -1,11 +1,22 @@
# frozen_string_literal: true # frozen_string_literal: true
class ActivityPub::QuoteRequestSerializer < ActivityPub::Serializer class ActivityPub::QuoteRequestSerializer < ActivityPub::Serializer
def self.serializer_for(model, options)
case model.class.name
when 'Status'
ActivityPub::NoteSerializer
else
super
end
end
context_extensions :quote_requests context_extensions :quote_requests
attributes :id, :type, :actor, :instrument attributes :id, :type, :actor
attribute :virtual_object, key: :object attribute :virtual_object, key: :object
has_one :instrument
def id def id
object.activity_uri object.activity_uri
end end
@ -23,7 +34,6 @@ class ActivityPub::QuoteRequestSerializer < ActivityPub::Serializer
end end
def instrument def instrument
# TODO: inline object? instance_options[:allow_post_inlining] && object.status.local? ? object.status : ActivityPub::TagManager.instance.uri_for(object.status)
ActivityPub::TagManager.instance.uri_for(object.status)
end end
end end

View File

@ -8,11 +8,18 @@ class RevokeQuoteService < BaseService
@account = quote.quoted_account @account = quote.quoted_account
@quote.reject! @quote.reject!
distribute_update!
distribute_stamp_deletion! distribute_stamp_deletion!
end end
private private
def distribute_update!
return if @quote.status_id.nil?
DistributionWorker.perform_async(@quote.status_id, { 'update' => true })
end
def distribute_stamp_deletion! def distribute_stamp_deletion!
ActivityPub::DeliveryWorker.push_bulk(inboxes, limit: 1_000) do |inbox_url| ActivityPub::DeliveryWorker.push_bulk(inboxes, limit: 1_000) do |inbox_url|
[signed_activity_json, @account.id, inbox_url] [signed_activity_json, @account.id, inbox_url]

View File

@ -17,6 +17,6 @@ class ActivityPub::QuoteRequestWorker < ActivityPub::RawDistributionWorker
end end
def payload def payload
@payload ||= Oj.dump(serialize_payload(@quote, ActivityPub::QuoteRequestSerializer, signer: @account)) @payload ||= Oj.dump(serialize_payload(@quote, ActivityPub::QuoteRequestSerializer, signer: @account, allow_post_inlining: true))
end end
end end

View File

@ -1 +1,77 @@
---
az: az:
activerecord:
attributes:
poll:
expires_at: Son tarix
options: Seçimlər
user:
agreement: Xidmət razılaşması
email: E-poçt ünvanı
locale: Lokal
password: Parol
user/account:
username: İstifadəçi adı
user/invite_request:
text: Səbəb
errors:
attributes:
domain:
invalid: yararlı bir domen adı deyil
messages:
invalid_domain_on_line: "%{value} yararlı bir domen adı deyil"
models:
account:
attributes:
fields:
fields_with_values_missing_labels: əskik etiketli dəyərlər ehtiva edir
username:
invalid: yalnız hərf, rəqəm və altdan xətt ehtiva etməlidir
reserved: rezerv edilib
admin/webhook:
attributes:
url:
invalid: yararlı bir URL deyil
doorkeeper/application:
attributes:
website:
invalid: yararlı bir URL deyil
import:
attributes:
data:
malformed: yanlış formatdadır
list_account:
attributes:
account_id:
taken: artıq siyahıdadır
must_be_following: izlənilən bir hesab olmalıdır
status:
attributes:
reblog:
taken: göndərişi artıq mövcuddur
terms_of_service:
attributes:
effective_date:
too_soon: çox tezdir, %{date} tarixindən sonra olmalıdır
user:
attributes:
date_of_birth:
below_limit: yaş limitinin altındadır
email:
blocked: icazə verilməyən bir e-poçt provayderi istifadə edir
unreachable: mövcud olaraq görünmür
role_id:
elevated: hazırkı rolunuzdan yüksək ola bilməz
user_role:
attributes:
permissions_as_keys:
dangerous: təməl rol üçün güvənli olmayan icazələri ehtiva edir
elevated: hazırkı rolunuzun sahib olmadığı icazələri ehtiva edə bilməz
own_role: hazırkı rolunuzla dəyişdirilə bilməz
position:
elevated: hazırkı rolunuzdan yüksək ola bilməz
own_role: hazırkı rolunuzla dəyişdirilə bilməz
webhook:
attributes:
events:
invalid_permissions: hüquqlarınız olmayan tədbirləri ehtiva edə bilməz

View File

@ -1 +1,168 @@
---
az: az:
about:
about_mastodon_html: 'Gələcəyin sosial şəbəkəsi: Reklam yoxdur, korporativ müşahidə yoxdur, etik dizayn və mərkəziyyətsizlik! Mastodon ilə öz verilərinizə sahib çıxın!'
admin:
account_actions:
title: "%{acct} üzərində moderasiya əməliyyatını icra et"
account_moderation_notes:
created_msg: Moderasiya notu uğurla yaradıldı!
destroyed_msg: Moderasiya notu uğurla məhv edildi!
accounts:
delete: Veriləri sil
destroyed_msg: "%{username} - verilərinin tezliklə silinməsi növbədədir"
moderation:
title: Moderasiya
moderation_notes: Moderasiya notları
remote_suspension_irreversible: Bu hesabın veriləri geri qaytarılmayacaq şəkildə silinib.
remote_suspension_reversible_hint_html: Hesabın fəaliyyəti öz serverində dayandırılıb və verilər %{date} tarixində tamamilə silinəcək. O vaxta qədər, uzaq server hər hansısa mənfi təsir olmadan bu hesabı bərpa edə bilər. Hesabın bütün verilərini dərhal silmək istəyirsinizsə, bunu aşağıdan edə bilərsiniz.
reset_password: Parolu sıfırla
security_measures:
only_password: Yalnız parol
password_and_2fa: Parol və 2FA
suspension_irreversible: Bu hesabın veriləri geri qaytarılmayacaq şəkildə silinib. Hesabı istifadəyə yararlı etmək üçün hesab fəaliyyətinin dayandırılma prosesini ləğv edə bilərsiniz, ancaq daha əvvəl sahib olduğunuz heç bir veri geri qaytarılmayacaq.
action_logs:
action_types:
reset_password_user: Parolu sıfırla
actions:
approve_appeal_html: "%{name}, moderasiya qərarına %{target} tərəfindən verilən etirazı təsdiqlədi"
reject_appeal_html: "%{name}, moderasiya qərarına %{target} tərəfindən verilən etirazı rədd etdi"
reset_password_user_html: "%{name}, %{target} istifadəçisinin parolunu sıfırladı"
dashboard:
software: Yazılım
instances:
moderation:
title: Moderasiya
moderation_notes:
create: Moderasiya notu əlavə et
description_html: Notlara baxın, gələcəkdə özünüz və digər moderatorlar üçün notlar buraxın
title: Moderasiya notları
reports:
actions:
suspend_description_html: Hesab və onun bütün məzmunları əlçatmaz olacaq və nəticədə silinəcək və onunla əlaqə qurmaq mümkün olmayacaq. 30 gün ərzində geri qaytarıla bilər. Bu hesaba aid bütün hesabatları bağlayır.
assigned: Təyin edilmiş moderator
confirm_action: "@%{acct} üzərindəki moderasiya əməliyyatını təsdiqlə"
notes_description_html: Notlara baxın, gələcəkdə özünüz və digər moderatorlar üçün notlar buraxın
quick_actions_description_html: 'Cəld bir əməliyyat edin və ya bildirilən məzmuna baxmaq üçün aşağı diyirlərin:'
roles:
categories:
moderation: Moderasiya
privileges:
delete_user_data: İstifadəçi verilərini sil
delete_user_data_description: İstifadəçilərin, digər istifadəçilərin verilərini gecikmə olmadan silməsinə icazə verir
manage_appeals_description: İstifadəçilərin moderasiya əməliyyatlarına etdiyi etirazları incələməsinə icazə verir
manage_reports_description: İstifadəçilərin hesabatları incələməsinə və bunlara qarşı moderasiya əməliyyatlarını icra etməsinə icazə verir
manage_settings: Ayarları idarə et
manage_settings_description: İstifadəçilərin sayt ayarlarını dəyişdirməsinə icazə verir
manage_taxonomies_description: İstifadəçilərin trend məzmunu incələməsinə və mövzu etiketləri ayarlarını güncəlləməsinə icazə verir
manage_user_access: İstifadəçi erişimini idarə et
manage_user_access_description: İstifadəçilərin, digər istifadəçilərin iki faktorlu kimlik doğrulamasını sıradan çıxartmasına, onların e-poçt ünvanlarını dəyişdirməsinə və onların parolunu sıfırlamasına icazə verir
manage_users_description: İstifadəçilərin digər istifadəçilərin detallarını görməsinə və onlara qarşı moderasiya əməliyyatlarını icra etməsinə icazə verir
view_dashboard_description: İstifadəçilərin idarəetmə lövhəsinə və müxtəlif metriklərə erişməsinə icazə verir
view_devops_description: İstifadəçilərin Sidekiq və pgHero idarəetmə lövhələrinə erişməsinə icazə verir
settings:
registrations:
moderation_recommandation: Hər kəs üçün qeydiyyatı açmazdan əvvəl lütfən əmin olun ki, adekvat və reaktiv moderasiya komandanız var!
registrations_mode:
warning_hint: Moderasiya komandanızın spam və zərərli qeydiyyatları vaxtında idarə edə biləcəyinə əmin deyilsinizsə, “Qeydiyyat üçün təsdiq tələb olunur”dan istifadə etməyi tövsiyə edirik.
title: Server ayarları
statuses:
metadata: Meta veri
system_checks:
elasticsearch_version_check:
message_html: 'Uyumlu olmayan Elasticsearch versiyası: %{value}'
tags:
updated_msg: Mövzu etiketi ayarları uğurla güncəlləndi
admin_mailer:
auto_close_registrations:
body: Son vaxtlarda moderator fəaliyyətinin olmamasına görə, %{instance} üzərindəki qeydiyyatlar avtomatik olaraq manual yoxlanış tələb edəcək şəkildə dəyişdirilib, beləliklə %{instance} potensial zərərli aktyorlar tərəfindən istifadə edilən platforma çevrilməyəcək. İstənilən vaxt açıq qeydiyyat rejiminə qaytara bilərsiniz.
new_appeal:
body: "%{target}, %{date} tarixində %{action_taken_by} tərəfindən verilmiş %{type} moderasiya qərarına etiraz edir. Yazılanlar:"
next_steps: Moderasiya qərarını geri almaq üçün etirazı təsdiqləyə, ya da etirazı yox saya bilərsiniz.
subject: "%{username}, %{instance} üzərindəki bir moderasiya qərarına etiraz edir"
appearance:
animations_and_accessibility: Animasiyalar və erişiləbilənlik
applications:
regenerate_token: Erişim tokenini təkrar yarat
token_regenerated: Erişim tokeni uğurla yaradıldı
your_token: Erişim tokeniniz
auth:
confirmations:
wrong_email_hint: Əgər bu e-poçt ünvanı doğru deyilsə, hesab ayarlarında onu dəyişdirə bilərsiniz.
forgot_password: Parolunuzu unutmusunuz?
invalid_reset_password_token: Parol sıfırlama tokeni yararsızdır və ya vaxtı bitib. Lütfən yenisini tələb edin.
link_to_otp: Telefonunuzdan iki faktorlu kodu və ya bir geri qaytarma kodunu daxil edin
reset_password: Parolu sıfırla
rules:
preamble: Bunlar, %{domain} moderatorları tərəfindən təyin edilib və tətbiq edilib.
preamble_invited: Davam etməzdən əvvəl, lütfən %{domain} moderatorları tərəfindən təyin edilmiş qaydaları nəzərdən keçirin.
set_new_password: Yeni parol təyin et
status:
self_destruct: "%{domain} bağlandığı üçün, hesabınıza yalnız məhdud erişiminiz olacaq."
challenge:
hint_html: "<strong>İpucu:</strong> Sonrakı bir saat ərzində sizdən parolu soruşmayacağıq."
invalid_password: Yararsız parol
prompt: Davam etmək üçün parolu təsdiqlə
deletes:
confirm_password: Kimliyinizi doğrulamaq üçün hazırkı parolunuzu daxil edin
exports:
archive_takeout:
hint_html: "<strong>Göndərişlərinizin və yüklədiyiniz medianın</strong> bir arxivini tələb edə bilərsiniz. Xaricə köçürülmüş verilər, istənilən uyumlu yazılım tərəfindən oxuna bilən ActivityPub formatında olacaq. Hər 7 gündə bir dəfə arxiv tələb edə bilərsiniz."
filters:
edit:
statuses_hint_html: Bu filtr, aşağıdakı açar sözləri ilə uyuşmasından asılı olmayaraq fərdi göndərişləri seçmək üçün tətbiq olunur. <a href="%{path}">Göndərişləri incələyin və ya filtrdən silin</a>.
generic:
all_matching_items_selected_html:
one: Axtarışınızla uyuşan <strong>%{count}</strong> element seçilib.
other: Axtarışınızla uyuşan <strong>%{count}</strong> element seçilib.
select_all_matching_items:
one: Axtarışınızla uyuşan <0>%{count}</0> elementi seçin.
other: Axtarışınızla uyuşan <0>%{count}</0> elementi seçin.
imports:
errors:
incompatible_type: Seçilmiş daxilə köçürmə növü ilə uyumlu deyil
invites:
prompt: Bu serverə erişim icazəsi vermək üçün keçid yaradın və başqaları ilə paylaşın
login_activities:
authentication_methods:
password: parol
description_html: Əgər tanımadığınız bir fəaliyyəti görsəniz, parolunuzu dəyişdirməyi və iki faktorlu kimlik doğrulamanı fəallaşdırmağı düşünə bilərsiniz
migrations:
warning:
disabled_account: Hazırkı hesabınız daha sonra istifadəyə yararsız olacaq. Ancaq, verilərin xaricə köçürülməsinə, həmçinin təkrar aktivləşdirmə prosesinə erişə biləcəksiniz.
moderation:
title: Moderasiya
sessions:
browsers:
edge: Microsoft Edge
settings:
account_settings: Hesab ayarları
development: Gəlişdirmə
strikes: Moderasiya pozuntuları
statuses_cleanup:
enabled_hint: Aşağıdakı istisnalardan heç birinə uyuşmadığı müddətcə, göndərişləriniz qeyd edilmiş yaş həddinə çatdıqda avtomatik silinir
tags:
does_not_match_previous_name: əvvəlki adla uyuşmur
two_factor_authentication:
generate_recovery_codes: Geri qaytarma kodlarını yarat
lost_recovery_codes: Geri qaytarma kodları, telefonunuzu itirdiyiniz halda hesabınıza yenidən erişməyinizə imkan verir. Geri qaytarma kodlarınızı itirsəniz, onları təkrar yarada bilərsiniz. Köhnə geri qaytarma kodlarınız yararsız sayılacaq.
recovery_codes: Geri qaytarma kodlarını nüsxələ
recovery_codes_regenerated: Geri qaytarma kodları uğurla yaradıldı
recovery_instructions_html: Telefonunuza erişə bilmirsinizsə, hesabınıza təkrar erişə bilmək üçün aşağıdakı geri qaytarma kodlarından birini istifadə edə bilərsiniz. <strong>Geri qaytarma kodlarını etibarlı yerdə saxlayın</strong>. Misal üçün, bunları çap edib digər vacib sənədlərin yanında saxlaya bilərsiniz.
user_mailer:
appeal_approved:
action: Hesab ayarları
suspicious_sign_in:
change_password: parolu dəyişdir
subject: Hesabınıza yeni bir IP ünvanından erişildi
warning:
explanation:
disable: Artıq hesabınızı istifadə edə bilməzsiniz, ancaq profiliniz və digər veriləriniz olduğu kimi qalacaq. Verilərinizin bir nüsxəsini tələb edə, hesab ayarlarınızı dəyişdirə və ya hesabınızı silə bilərsiniz.
suspend: Hesabınızı artıq istifadə edə bilməzsiniz, profiliniz və digər veriləriniz artıq əlçatmazdır. Təxminən 30 gün ərzində verilər tamamilə silinənə qədər verilərinizin bir nüsxəsini tələb etmək üçün hələ də hesabınıza giriş edə bilərsiniz, ancaq hesab fəaliyyətinin dayandırılması prosesini ləğv etməyinizi önləmək üçün bəzi təməl veriləri saxlayacağıq.
welcome:
feature_creativity: Mastodon özünüzü onlayn mühitdə ifadə etməyinizə kömək edəcək səs, video və şəkil göndərişləri, erişiləbilənlik açıqlamaları, anketlər, məzmun xəbərdarlıqları, animasiyalı avatarlar, özəl emojilər, kiçik şəkli kəsmə nəzarəti və daha çoxunu dəstəkləyir. Öz sənətinizi, musiqinizi və ya podkastınızı dərc edirsinizsə, Mastodon sizin üçün buradadır.
feature_moderation_title: Olmalı olduğu şəkildə moderasiya
users:
go_to_sso_account_settings: Kimlik provayderinizin hesab ayarlarına gedin
otp_lost_help_html: Hər ikisinə də erişə bilmirsinizsə, %{email} ilə əlaqə saxlayın
seamless_external_login: Xarici bir server üzərindən giriş etdiyiniz üçün parol və e-poçt ayarları mövcud deyil.

View File

@ -4,16 +4,16 @@ az:
confirmations: confirmations:
confirmed: E-poçt ünvanınız uğurla təsdiqləndi. confirmed: E-poçt ünvanınız uğurla təsdiqləndi.
send_instructions: Bir neçə dəqiqə ərzində e-poçt ünvanınızı necə təsdiqləyəcəyinizə dair təlimatları olan bir e-məktub alacaqsınız. Bu e-məktubu almamısınızsa, spam qovluğunuzu yoxlayın. send_instructions: Bir neçə dəqiqə ərzində e-poçt ünvanınızı necə təsdiqləyəcəyinizə dair təlimatları olan bir e-məktub alacaqsınız. Bu e-məktubu almamısınızsa, spam qovluğunuzu yoxlayın.
send_paranoid_instructions: E-poçt ünvanınız verilənlər bazamızda varsa, bir neçə dəqiqədən sonra e-poçt ünvanınızı necə təsdiqləyəcəyinizə dair təlimatları olan bir e-məktub alacaqsınız. Bu e-məktubu almamısınızsa, spam qovluğunuzu yoxlayın. send_paranoid_instructions: E-poçt ünvanınız veri bazamızda varsa, bir neçə dəqiqə sonra e-poçt ünvanınızı necə təsdiqləyəcəyinizə dair təlimatları olan bir e-poçt alacaqsınız. Bu e-poçtu almamısınızsa, spam qovluğunuzu yoxlayın.
failure: failure:
already_authenticated: Siz artıq daxil olmusunuz. already_authenticated: Siz artıq daxil olmusunuz.
inactive: Hesabınız hələ aktivləşdirilməyib. inactive: Hesabınız hələ aktivləşdirilməyib.
invalid: Səhv %{authentication_keys} və ya parol. invalid: Yararsız %{authentication_keys} və ya parol.
last_attempt: Hesabınız blok olmamışdan əvvəl bir dəfə də cəhdiniz var. last_attempt: Hesabınız blok olmamışdan əvvəl bir dəfə də cəhdiniz var.
locked: Hesabınız bloklandı. locked: Hesabınız kilidlənib.
not_found_in_database: Səhv %{authentication_keys} və ya parol. not_found_in_database: Yararsız %{authentication_keys} və ya parol.
omniauth_user_creation_failure: Bu kimlik üçün hesab yaradarkən xəta. omniauth_user_creation_failure: Bu kimlik üçün hesab yaradarkən xəta.
pending: Hesabınız hələ yoxlanışdadır. pending: Hesabınız hələ incələnir.
timeout: Sessiyanın vaxtı bitdi. Xahiş edirik davam etmək üçün yenidən daxil olun. timeout: Sessiyanın vaxtı bitdi. Xahiş edirik davam etmək üçün yenidən daxil olun.
unauthenticated: Davam etmək üçün daxil olmaq və ya qeydiyyatdan keçmək lazımdır. unauthenticated: Davam etmək üçün daxil olmaq və ya qeydiyyatdan keçmək lazımdır.
unconfirmed: Davam etmək üçün e-poçt ünvanınızı təsdiqləməlisiniz. unconfirmed: Davam etmək üçün e-poçt ünvanınızı təsdiqləməlisiniz.
@ -22,25 +22,81 @@ az:
action: E-poçt ünvanını təsdiqlə action: E-poçt ünvanını təsdiqlə
action_with_app: Təsdiqlə və %{app}-a geri qayıt action_with_app: Təsdiqlə və %{app}-a geri qayıt
explanation: Siz %{host} saytında bu e-poçt ilə hesab yaratmısınız. Onu aktivləşdirməkdən bir klik uzaqlıqdasınız. Əgər bu siz olmamısınızsa, zəhmət olmasa, bu e-məktuba məhəl qoymayın. explanation: Siz %{host} saytında bu e-poçt ilə hesab yaratmısınız. Onu aktivləşdirməkdən bir klik uzaqlıqdasınız. Əgər bu siz olmamısınızsa, zəhmət olmasa, bu e-məktuba məhəl qoymayın.
explanation_when_pending: Bu e-poçt ünvanı ilə %{host} saytına dəvət üçün müraciət etmisiniz. Siz e-poçt ünvanınızı təsdiqlədikdən sonra müraciətinizi nəzərdən keçirəcəyik. Siz məlumatlarınızı dəyişdirmək və ya hesabınızı silmək üçün daxil ola bilərsiniz, lakin hesabınız təsdiqlənənə qədər əksər funksiyaları istifadə edə bilməzsiniz. Müraciətiniz rədd edilərsə, məlumatlarınız silinəcək, buna görə də sizdən heç bir tədbir tələb olunmayacaq. Əgər bu siz deyildinizsə, zəhmət, bu e-məktuba məhəl qoymayın. explanation_when_pending: Bu e-poçt ünvanı ilə %{host} ünvanına dəvət üçün müraciət etmisiniz. E-poçt ünvanınızı təsdiqlədikdən sonra müraciətinizi nəzərdən keçirəcəyik. Hesab məlumatlarını dəyişdirmək və ya hesabınızı silmək üçün giriş edə bilərsiniz, ancaq hesabınız təsdiqlənənə qədər əksər funksiyalara erişə bilməyəcəksiniz. Müraciətinizə rədd cavabı gəlsə, veriləriniz silinəcək, sizdən heç bir əməliyyat etməyiniz istənilməyəcək. Əgər bu siz deyilsinizsə, lütfən bu e-poçtu yox sayın.
extra_html: Həmçinin zəhmət olmasa, <a href="%{terms_path}">serverin qaydalarını</a> və <a href="%{policy_path}">istifadə şərtlərini</a> oxuyun. extra_html: Həmçinin zəhmət olmasa, <a href="%{terms_path}">serverin qaydalarını</a> və <a href="%{policy_path}">istifadə şərtlərini</a> oxuyun.
subject: 'Mastodon: %{instance} üçün təsdiqlənmə təlimatları' subject: 'Mastodon: %{instance} üçün təsdiqlənmə təlimatları'
title: E-poçt ünvanını təsdiqlə title: E-poçt ünvanını təsdiqlə
email_changed: email_changed:
explanation: 'Hesabınız üçün e-poçt ünvanı buna dəyişdirilir:' explanation: 'Hesabınız üçün e-poçt ünvanı buna dəyişdirilir:'
extra: E-poçtunuzu dəyişməmisinizsə, çox güman ki, kimsə hesabınıza giriş əldə edib. Zəhmət olmasa, parolunuzu dərhal dəyişdirin və ya hesabınıza daxil ola bilməyəcəksinizsə, server admini ilə əlaqə saxlayın. extra: E-poçtunuzu dəyişməmisinizsə, çox güman ki, kimsə hesabınıza erişib. Hesabınıza giriş edə bilmirsinizsə, lütfən parolunuzu dərhal dəyişdirin və ya server admini ilə əlaqə saxlayın.
subject: 'Mastodon: E-poçt dəyişdirildi' subject: 'Mastodon: E-poçt dəyişdirildi'
title: Yeni e-poçt ünvanı title: Yeni e-poçt ünvanı
password_change: password_change:
explanation: Hesabınızın parolu dəyişdirilib. explanation: Hesabınızın parolu dəyişdirilib.
extra: Parolunuzu dəyişməmisinizsə, çox güman ki, kimsə hesabınıza giriş əldə edib. Zəhmət olmasa, parolunuzu dərhal dəyişdirin və ya hesabınıza daxil ola bilməyəcəksinizsə, server admini ilə əlaqə saxlayın. extra: Parolunuzu dəyişməmisinizsə, çox güman ki, kimsə hesabınıza erişib. Hesabınıza giriş edə bilmirsinizsə, lütfən parolunuzu dərhal dəyişdirin və ya server admini ilə əlaqə saxlayın.
subject: 'Mastodon: Parol dəyişdirildi' subject: 'Mastodon: Parol dəyişdirildi'
title: Parol dəyişdirildi title: Parol dəyişdirildi
reconfirmation_instructions: reconfirmation_instructions:
explanation: E-poçtunuzu dəyişdirmək üçün yeni ünvanı təsdiqləyin. explanation: E-poçtunuzu dəyişdirmək üçün yeni ünvanı təsdiqləyin.
extra: Əgər bu dəyişiklik sizin tərəfinizdən deyilsə, zəhmət olmasa, bu e-məktuba məhəl qoymayın. Siz yuxarıdakı linkə daxil olana qədər Mastodon hesabının e-poçt ünvanı dəyişməyəcək. extra: Bu dəyişikliyi siz etməmisinizsə, lütfən bu e-poçtu yox sayın. Yuxarıdakı keçidə erişənə qədər Mastodon hesabının e-poçt ünvanı dəyişməyəcək.
subject: 'Mastodon: %{instance} üçün e-poçtu təsdiqlə' subject: 'Mastodon: %{instance} üçün e-poçtu təsdiqlə'
title: E-poçt ünvanını təsdiqlə title: E-poçt ünvanını təsdiqlə
reset_password_instructions: reset_password_instructions:
action: Parolu dəyiş action: Parolu dəyiş
explanation: Siz hesabınız üçün yeni parol tələb etmisiniz. explanation: Siz hesabınız üçün yeni parol tələb etmisiniz.
extra: Bunu siz tələb etməmisinizsə, lütfən bu e-poçtu yox sayın. Parolunuz, yuxarıdakı keçidə erişənə və siz yeni birini yaradana qədər dəyişməyəcək.
subject: 'Mastodon: Parol sıfırlama təlimatları'
title: Parolu sıfırla
two_factor_disabled:
explanation: Giriş etmək, indi yalnız e-poçt ünvanı və parol ilə mümkündür.
subject: 'Mastodon: İki faktorlu kimlik doğrulama sıradan çıxarılıb'
subtitle: İki faktorlu kimlik doğrulama hesabınız üçün sıradan çıxarılıb.
title: 2FA sıradan çıxarılıb
two_factor_enabled:
explanation: Giriş etmək üçün cütləşdirilmiş TOTP tətbiqi tərəfindən yaradılmış bir token tələb olunur.
subject: 'Mastodon: İki faktorlu kimlik doğrulama fəaldır'
subtitle: İki faktorlu kimlik doğrulama hesabınız üçün fəallaşdırılıb.
title: 2FA fəaldır
two_factor_recovery_codes_changed:
explanation: Əvvəlki geri qaytarma kodları yararsız sayıldı və yeniləri yaradıldı.
subject: 'Mastodon: İki faktorlu geri qaytarma kodları təkrar yaradılıb'
subtitle: Əvvəlki geri qaytarma kodları yararsız sayıldı və yeniləri yaradıldı.
title: 2FA geri qaytarma kodları dəyişdirilib
unlock_instructions:
subject: 'Mastodon: Kilid açma təlimatları'
webauthn_credential:
added:
explanation: Aşağıdakı güvənlik açarı, hesabınıza əlavə edilib
subject: 'Mastodon: Yeni güvənlik açarı'
title: Yeni bir güvənlik açarı əlavə edilib
deleted:
explanation: Aşağıdakı güvənlik açarı, hesabınızdan silinib
subject: 'Mastodon: Güvənlik açarı silindi'
title: Güvənlik açarlarınızdan biri silinib
webauthn_disabled:
explanation: Güvənlik açarı ilə kimlik doğrulama hesabınız üçün sıradan çıxarılıb.
extra: Giriş, artıq yalnız cütləşdirilmiş TOTP tətbiqi tərəfindən yaradılmış token ilə mümkündür.
subject: 'Mastodon: Güvənlik açarları ilə kimlik doğrulama sıradan çıxarılıb'
title: Güvənlik açarları sıradan çıxarılıb
webauthn_enabled:
explanation: Güvənlik açarı ilə kimlik doğrulama hesabınız üçün fəallaşdırılıb.
extra: Güvənlik açarınız artıq giriş üçün istifadə edilə bilər
subject: 'Mastodon: Güvənlik açarı ilə kimlik doğrulama fəaldır'
title: Güvənlik açarları fəaldır
omniauth_callbacks:
failure: '%{kind} üzərindən kimliyiniz doğrulana bilmədi, çünki "%{reason}".'
success: "%{kind} hesabından kimliyiniz uğurla doğrulandı."
passwords:
no_token: Parol sıfırlama e-poçtunu istifadə etmədən bu səhifəyə erişə bilməzsiniz. Əgər parol sıfırlama e-poçtu ilə bura gəlmisinizsə, lütfən verilmiş tam URL-ni istifadə etdiyinizə əmin olun.
send_instructions: E-poçt ünvanınız veri bazamızda varsa, bir neçə dəqiqə sonra e-poçt ünvanınızda parolu geri qaytarma keçidini alacaqsınız. Bu e-poçtu almamısınızsa, spam qovluğunuzu yoxlayın.
send_paranoid_instructions: E-poçt ünvanınız veri bazamızda varsa, bir neçə dəqiqə sonra e-poçt ünvanınızda parolu geri qaytarma keçidini alacaqsınız. Bu e-poçtu almamısınızsa, spam qovluğunuzu yoxlayın.
updated: Parolunuz uğurla dəyişdirildi. Artıq hesabınıza daxil olmusunuz.
updated_not_active: Parolunuz uğurla dəyişdirildi.
registrations:
destroyed: Xudahafiz! Hesabınız uğurla ləğv edilib. Sizi tezliklə yenidən görməyi ümid edirik.
update_needs_confirmation: Hesabınızı uğurla güncəllədiniz, ancaq yeni e-poçt ünvanını doğrulamağımız lazımdır. Lütfən e-poçtunuzu yoxlayın, yeni e-poçt ünvanınızı təsdiqləmək üçün təsdiq keçidini izləyin. Əgər bu e-poçtu almamısınızsa spam qovluğunu yoxlayın.
updated: Hesabınız uğurla güncəllənib.
sessions:
already_signed_out: Uğurla hesabdan çıxış edildi.
signed_in: Uğurla hesaba daxil olundu.
signed_out: Uğurla hesabdan çıxış edildi.

View File

@ -1 +1,26 @@
---
az: az:
doorkeeper:
errors:
messages:
invalid_token:
expired: Erişim tokeninin vaxtı bitib
revoked: Erişim tokeni ləğv edilib
unknown: Erişim tokeni yararsızdır
grouped_scopes:
access:
read: Yalnız oxuma erişimi
read/write: Oxuma və yazma erişimi
write: Yalnız yazma erişimi
title:
all: Mastodon hesabınıza tam erişim
scopes:
admin:read: serverdəki bütün veriləri oxuma
admin:write: serverdəki bütün veriləri dəyişdirmə
admin:write:accounts: hesablarda moderasiya əməliyyatlarını icra et
admin:write:canonical_email_blocks:
admin:write:domain_allows: domen icazələri üzərində moderasiya əməliyyatlarını icra et
admin:write:ip_blocks: IP əngəlləmələri üzrə moderasiya əməliyyatlarını icra et
admin:write:reports: hesabatlarda moderasiya əməliyyatlarını icra et
read: hesabınızın bütün verilərini oxuma
write: hesabınızın bütün verilərini dəyişdirmə

View File

@ -190,6 +190,7 @@ fa:
create_relay: ایجاد رله create_relay: ایجاد رله
create_unavailable_domain: ایجاد دامنهٔ ناموجود create_unavailable_domain: ایجاد دامنهٔ ناموجود
create_user_role: ایجاد نقش create_user_role: ایجاد نقش
create_username_block: ایجاد قانون نام‌کاربری
demote_user: تنزل کاربر demote_user: تنزل کاربر
destroy_announcement: حذف اعلامیه destroy_announcement: حذف اعلامیه
destroy_canonical_email_block: حذف انسداد رایانامه destroy_canonical_email_block: حذف انسداد رایانامه
@ -203,6 +204,7 @@ fa:
destroy_status: حذف وضعیت destroy_status: حذف وضعیت
destroy_unavailable_domain: حذف دامنهٔ ناموجود destroy_unavailable_domain: حذف دامنهٔ ناموجود
destroy_user_role: نابودی نقش destroy_user_role: نابودی نقش
destroy_username_block: حذف قانون نام‌کاربری
disable_2fa_user: از کار انداختن ورود دومرحله‌ای disable_2fa_user: از کار انداختن ورود دومرحله‌ای
disable_custom_emoji: از کار انداختن شکلک سفارشی disable_custom_emoji: از کار انداختن شکلک سفارشی
disable_relay: غیرفعال‌سازی رله disable_relay: غیرفعال‌سازی رله
@ -237,6 +239,7 @@ fa:
update_report: به‌روز رسانی گزارش update_report: به‌روز رسانی گزارش
update_status: به‌روز رسانی وضعیت update_status: به‌روز رسانی وضعیت
update_user_role: به روزرسانی نقش update_user_role: به روزرسانی نقش
update_username_block: به‌روزرسانی قانون نام‌کاربری
actions: actions:
approve_appeal_html: "%{name} درخواست تجدیدنظر تصمیم مدیر را از %{target} پذیرفت" approve_appeal_html: "%{name} درخواست تجدیدنظر تصمیم مدیر را از %{target} پذیرفت"
approve_user_html: "%{name} ثبت نام %{target} را تایید کرد" approve_user_html: "%{name} ثبت نام %{target} را تایید کرد"
@ -1085,6 +1088,8 @@ fa:
other: در هفته گذشته توسط %{count} نفر استفاده شده است other: در هفته گذشته توسط %{count} نفر استفاده شده است
title: توصیه ها و روندها title: توصیه ها و روندها
trending: پرطرفدار trending: پرطرفدار
username_blocks:
delete: حذف
warning_presets: warning_presets:
add_new: افزودن تازه add_new: افزودن تازه
delete: زدودن delete: زدودن
@ -1662,6 +1667,10 @@ fa:
title: اشارهٔ جدید title: اشارهٔ جدید
poll: poll:
subject: نظرسنجی‌ای از %{name} پایان یافت subject: نظرسنجی‌ای از %{name} پایان یافت
quote:
body: 'فرسته‌تان توسط %{name} نقل شد:'
subject: "%{name} فرسته‌تان را نقل کرد"
title: نقل‌قول جدید
reblog: reblog:
body: "%{name} فرستهٔ شما را تقویت کرد:" body: "%{name} فرستهٔ شما را تقویت کرد:"
subject: "%{name} فرستهٔ شما را تقویت کرد" subject: "%{name} فرستهٔ شما را تقویت کرد"
@ -1880,6 +1889,8 @@ fa:
ownership: نوشته‌های دیگران را نمی‌توان ثابت کرد ownership: نوشته‌های دیگران را نمی‌توان ثابت کرد
reblog: تقویت نمی‌تواند سنجاق شود reblog: تقویت نمی‌تواند سنجاق شود
quote_policies: quote_policies:
followers: تنها پی‌گیرندگانتان
nobody: هیچ‌کس
public: هرکسی public: هرکسی
title: "%{name}: «%{quote}»" title: "%{name}: «%{quote}»"
visibilities: visibilities:

View File

@ -1687,6 +1687,10 @@ fo:
title: Nýggj umrøða title: Nýggj umrøða
poll: poll:
subject: Ein spurnarkanning hjá %{name} er endað subject: Ein spurnarkanning hjá %{name} er endað
quote:
body: 'Postur tín var siteraður av %{name}:'
subject: "%{name} siteraði postin hjá tær"
title: Nýggj sitering
reblog: reblog:
body: 'Postur tín var stimbraður av %{name}:' body: 'Postur tín var stimbraður av %{name}:'
subject: "%{name} stimbraði tín post" subject: "%{name} stimbraði tín post"

View File

@ -1804,6 +1804,10 @@ ga:
title: Lua nua title: Lua nua
poll: poll:
subject: Tháinig deireadh le vótaíocht le %{name} subject: Tháinig deireadh le vótaíocht le %{name}
quote:
body: 'Luaigh %{name} do phost:'
subject: Luaigh %{name} do phost
title: Luachan nua
reblog: reblog:
body: 'Treisíodh do phostáil le %{name}:' body: 'Treisíodh do phostáil le %{name}:'
subject: Mhol %{name} do phostáil subject: Mhol %{name} do phostáil

View File

@ -188,6 +188,7 @@ lt:
create_relay: Kurti perdavimą create_relay: Kurti perdavimą
create_unavailable_domain: Kurti nepasiekiamą domeną create_unavailable_domain: Kurti nepasiekiamą domeną
create_user_role: Kurti vaidmenį create_user_role: Kurti vaidmenį
create_username_block: Kurti naudotojo vardo taisyklę
demote_user: Pažeminti naudotoją demote_user: Pažeminti naudotoją
destroy_announcement: Ištrinti skelbimą destroy_announcement: Ištrinti skelbimą
destroy_custom_emoji: Ištrinti pasirinktinį jaustuką destroy_custom_emoji: Ištrinti pasirinktinį jaustuką
@ -199,6 +200,7 @@ lt:
destroy_status: Ištrinti įrašą destroy_status: Ištrinti įrašą
destroy_unavailable_domain: Ištrinti nepasiekiamą domeną destroy_unavailable_domain: Ištrinti nepasiekiamą domeną
destroy_user_role: Sunaikinti vaidmenį destroy_user_role: Sunaikinti vaidmenį
destroy_username_block: Ištrinti naudotojo vardo taisyklę
disable_2fa_user: Išjungti 2FA disable_2fa_user: Išjungti 2FA
disable_custom_emoji: Išjungti pasirinktinį jaustuką disable_custom_emoji: Išjungti pasirinktinį jaustuką
disable_relay: Išjungti perdavimą disable_relay: Išjungti perdavimą
@ -231,6 +233,7 @@ lt:
update_report: Atnaujinti ataskaitą update_report: Atnaujinti ataskaitą
update_status: Atnaujinti įrašą update_status: Atnaujinti įrašą
update_user_role: Atnaujinti vaidmenį update_user_role: Atnaujinti vaidmenį
update_username_block: Atnaujinti naudotojo vardo taisyklę
actions: actions:
approve_appeal_html: "%{name} patvirtino prižiūjimo veiksmo apeliaciją iš %{target}" approve_appeal_html: "%{name} patvirtino prižiūjimo veiksmo apeliaciją iš %{target}"
approve_user_html: "%{name} patvirtino registraciją iš %{target}" approve_user_html: "%{name} patvirtino registraciją iš %{target}"
@ -245,6 +248,7 @@ lt:
create_relay_html: "%{name} sukūrė perdavimą %{target}" create_relay_html: "%{name} sukūrė perdavimą %{target}"
create_unavailable_domain_html: "%{name} sustabdė tiekimą į domeną %{target}" create_unavailable_domain_html: "%{name} sustabdė tiekimą į domeną %{target}"
create_user_role_html: "%{name} sukūrė %{target} vaidmenį" create_user_role_html: "%{name} sukūrė %{target} vaidmenį"
create_username_block_html: "%{name} pridėjo taisyklę naudotojo vardams, turintiems %{target}"
demote_user_html: "%{name} pažemino naudotoją %{target}" demote_user_html: "%{name} pažemino naudotoją %{target}"
destroy_announcement_html: "%{name} ištrynė skelbimą %{target}" destroy_announcement_html: "%{name} ištrynė skelbimą %{target}"
destroy_custom_emoji_html: "%{name} ištrynė jaustuką %{target}" destroy_custom_emoji_html: "%{name} ištrynė jaustuką %{target}"
@ -256,6 +260,7 @@ lt:
destroy_status_html: "%{name} pašalino įrašą %{target}" destroy_status_html: "%{name} pašalino įrašą %{target}"
destroy_unavailable_domain_html: "%{name} pratęsė tiekimą į domeną %{target}" destroy_unavailable_domain_html: "%{name} pratęsė tiekimą į domeną %{target}"
destroy_user_role_html: "%{name} ištrynė %{target} vaidmenį" destroy_user_role_html: "%{name} ištrynė %{target} vaidmenį"
destroy_username_block_html: "%{name} pašalino taisyklę naudotojo vardams, turintiems %{target}"
disable_2fa_user_html: "%{name} išjungė dviejų veiksnių reikalavimą naudotojui %{target}" disable_2fa_user_html: "%{name} išjungė dviejų veiksnių reikalavimą naudotojui %{target}"
disable_custom_emoji_html: "%{name} išjungė jaustuką %{target}" disable_custom_emoji_html: "%{name} išjungė jaustuką %{target}"
disable_relay_html: "%{name} išjungė perdavimą %{target}" disable_relay_html: "%{name} išjungė perdavimą %{target}"
@ -287,6 +292,7 @@ lt:
update_report_html: "%{name} atnaujino ataskaitą %{target}" update_report_html: "%{name} atnaujino ataskaitą %{target}"
update_status_html: "%{name} atnaujino įrašą %{target}" update_status_html: "%{name} atnaujino įrašą %{target}"
update_user_role_html: "%{name} pakeitė %{target} vaidmenį" update_user_role_html: "%{name} pakeitė %{target} vaidmenį"
update_username_block_html: "%{name} atnaujino taisyklę naudotojo vardams, turintiems %{target}"
deleted_account: ištrinta paskyra deleted_account: ištrinta paskyra
empty: Žurnalų nerasta. empty: Žurnalų nerasta.
filter_by_action: Filtruoti pagal veiksmą filter_by_action: Filtruoti pagal veiksmą
@ -746,6 +752,22 @@ lt:
trending_rank: 'Tendencinga #%{rank}' trending_rank: 'Tendencinga #%{rank}'
title: Rekomendacijos ir tendencijos title: Rekomendacijos ir tendencijos
trending: Tendencinga trending: Tendencinga
username_blocks:
add_new: Pridėti naują
block_registrations: Blokuoti registracijas
comparison:
contains: Yra
equals: Lygus
contains_html: Yra %{string}
created_msg: Sėkmingai sukurta naudotojo vardo taisyklė.
delete: Ištrinti
edit:
title: Redaguoti naudotojo vardo taisyklę
matches_exactly_html: Lygus %{string}
new:
create: Kurti taisyklę
title: Kurti naują naudotojo vardo taisyklę
no_username_block_selected: Jokios naudotojo vardo taisyklės nebuvo pakeistos, nes nė viena buvo pasirinkta.
warning_presets: warning_presets:
add_new: Pridėti naują add_new: Pridėti naują
delete: Ištrinti delete: Ištrinti

View File

@ -1945,25 +1945,25 @@ ru:
unlisted_long: Доступен кому угодно, но не отображается в публичных лентах unlisted_long: Доступен кому угодно, но не отображается в публичных лентах
statuses_cleanup: statuses_cleanup:
enabled: Автоматически удалять старые посты enabled: Автоматически удалять старые посты
enabled_hint: Автоматически удаляет ваши посты после того, как они достигли определённого возрастного порога, за некоторыми исключениями ниже. enabled_hint: По истечении определённого срока с момента публикации ваши посты, кроме соответствующих отмеченным ниже исключениям, будут автоматически удалены
exceptions: Исключения exceptions: Исключения
explanation: Из-за того, что удаление постов — это ресурсоёмкий процесс, оно производится медленно со временем, когда сервер менее всего загружен. По этой причине, посты могут удаляться не сразу, а спустя определённое время, по достижению возрастного порога. explanation: Удаление постов — это ресурсоёмкий процесс, поэтому оно производится постепенно, с течением времени, когда сервер менее всего загружен. По этой причине посты могут удаляться не сразу по прошествии установленного срока, а спустя некоторое время.
ignore_favs: Игнорировать избранное ignore_favs: Не учитывать добавление в избранное
ignore_reblogs: Игнорировать продвижения ignore_reblogs: Не учитывать продвижения
interaction_exceptions: Исключения на основе взаимодействий interaction_exceptions: Исключения на основе взаимодействий
interaction_exceptions_explanation: 'Обратите внимание: нет никаких гарантий, что посты будут удалены, после того, как они единожды перешли порог по отметкам «избранного» или продвижений.' interaction_exceptions_explanation: 'Обратите внимание: нет никаких гарантий, что посты будут удалены, после того, как они единожды перешли порог по отметкам «избранного» или продвижений.'
keep_direct: Не удалять адресованные посты keep_direct: Не удалять личные сообщения
keep_direct_hint: Не удалять ваши посты с «адресованной» видимостью. keep_direct_hint: Те ваши посты, которые видны только упомянутым в них людям, не будут удалены
keep_media: Не удалять посты с вложениями keep_media: Не удалять посты с вложениями
keep_media_hint: Не удалять ваши посты, содержащие любые медийные вложения. keep_media_hint: Те ваши посты, которые содержат медиавложения, не будут удалены
keep_pinned: Не удалять закреплённые посты keep_pinned: Не удалять закреплённые посты
keep_pinned_hint: Не удалять ваши посты, которые закреплены в профиле. keep_pinned_hint: Те ваши посты, которые вы закрепили в своём профиле, не будут удалены
keep_polls: Не удалять опросы keep_polls: Не удалять опросы
keep_polls_hint: Не удалять ваши посты с опросами. keep_polls_hint: Те ваши посты, которые содержат опросы, не будут удалены
keep_self_bookmark: Не удалять закладки keep_self_bookmark: Не удалять посты, добавленные в закладки
keep_self_bookmark_hint: Не удалять ваши посты с закладками. keep_self_bookmark_hint: Те ваши посты, которые вы добавили в закладки, не будут удалены
keep_self_fav: Оставить посты, отмеченные «избранными» keep_self_fav: Не удалять посты, добавленные в избранное
keep_self_fav_hint: Не удалять ваши посты, если вы отметили их как «избранные». keep_self_fav_hint: Те ваши посты, которые вы добавили в избранное, не будут удалены
min_age: min_age:
'1209600': 2 недели '1209600': 2 недели
'15778476': 6 месяцев '15778476': 6 месяцев
@ -1973,11 +1973,11 @@ ru:
'604800': 1 неделя '604800': 1 неделя
'63113904': 2 года '63113904': 2 года
'7889238': 3 месяца '7889238': 3 месяца
min_age_label: Возрастной порог min_age_label: Интервал между публикацией и удалением поста
min_favs: Порог отметок «избранного» min_favs: Количество звёздочек, при котором пост не будет удалён
min_favs_hint: Не удалять ваши посты, у которых количество отметок «избранного» достигло указанного выше значения. Оставьте поле пустым, чтобы удалять посты независимо от количества отметок min_favs_hint: Те ваши посты, которые были добавлены в избранное столько раз, сколько вы укажете выше, не будут удалены. Оставьте поле пустым, чтобы удалять посты без учёта количества звёздочек
min_reblogs: Порог продвижений min_reblogs: Количество продвижений, при котором пост не будет удалён
min_reblogs_hint: Не удаляет ваши посты, количество продвижений которых достигло указанного выше значения. Оставьте поле пустым, чтобы удалять посты независимо от количества продвижений. min_reblogs_hint: Те ваши посты, которые были продвинуты столько раз, сколько вы укажете выше, не будут удалены. Оставьте поле пустым, чтобы удалять посты без учёта количества продвижений
stream_entries: stream_entries:
sensitive_content: Содержимое деликатного характера sensitive_content: Содержимое деликатного характера
strikes: strikes:

View File

@ -1 +1,32 @@
---
az: az:
simple_form:
hints:
admin_account_action:
include_statuses: İstifadəçi, hansı göndərişlərin moderasiya əməliyyatına və ya xəbərdarlığına səbəb olduğunu görəcək
defaults:
current_password: Təhlükəsizlik səbəblərinə görə lütfən hazırkı hesabın parolunu daxil edin
phrase: Mətndəki böyük-kiçik hərfdən və ya göndərişin məzmun xəbərdarlığından asılı olmayaraq uyuşdurulacaq
ip_block:
severities:
no_access: Bütün resurslara erişimi əngəllə
sessions:
otp: 'Telefon tətbiqiniz tərəfindən yaradılmış iki faktorlu kodu daxil edin və ya geri qaytarma kodlarınızdan birini istifadə edin:'
user_role:
permissions_as_keys: Bu rola sahib istifadəçilər bunlara erişə biləcək...
labels:
defaults:
confirm_new_password: Yeni parolu təsdiqlə
confirm_password: Parolu təsdiqlə
current_password: Hazırkı parol
data: Veri
new_password: Yeni parol
password: Parol
setting_system_scrollbars_ui: Sistemin ilkin diyircəyini istifadə edin
ip_block:
severities:
no_access: Erişimi əngəllə
notification_emails:
appeal: Kimsə, bir moderasiya qərarına etiraz edir
username_block:
username: Uyuşacaq söz

View File

@ -56,6 +56,7 @@ fa:
scopes: واسط‌های برنامه‌نویسی که این برنامه به آن دسترسی دارد. اگر بالاترین سطح دسترسی را انتخاب کنید، دیگر نیازی به انتخاب سطح‌های پایینی ندارید. scopes: واسط‌های برنامه‌نویسی که این برنامه به آن دسترسی دارد. اگر بالاترین سطح دسترسی را انتخاب کنید، دیگر نیازی به انتخاب سطح‌های پایینی ندارید.
setting_aggregate_reblogs: برای تقویت‌هایی که به تازگی برایتان نمایش داده شده‌اند، تقویت‌های بیشتر را نمایش نده (فقط روی تقویت‌های اخیر تأثیر می‌گذارد) setting_aggregate_reblogs: برای تقویت‌هایی که به تازگی برایتان نمایش داده شده‌اند، تقویت‌های بیشتر را نمایش نده (فقط روی تقویت‌های اخیر تأثیر می‌گذارد)
setting_always_send_emails: در حالت عادی آگاهی‌های رایانامه‌ای هنگامی که فعّالانه از ماستودون استفاده می‌کنید فرستاده نمی‌شوند setting_always_send_emails: در حالت عادی آگاهی‌های رایانامه‌ای هنگامی که فعّالانه از ماستودون استفاده می‌کنید فرستاده نمی‌شوند
setting_default_quote_policy: این تنظیمات تنها روی فرسته‌هایی ایجاد شده با نگارش بعدی Mastodon اعمال خواهد شد، اما می‌توانی ترجیحات خود را از قبل انتخاب کنید.
setting_default_sensitive: تصاویر حساس به طور پیش‌فرض پنهان هستند و می‌توانند با یک کلیک آشکار شوند setting_default_sensitive: تصاویر حساس به طور پیش‌فرض پنهان هستند و می‌توانند با یک کلیک آشکار شوند
setting_display_media_default: تصویرهایی را که به عنوان حساس علامت زده شده‌اند پنهان کن setting_display_media_default: تصویرهایی را که به عنوان حساس علامت زده شده‌اند پنهان کن
setting_display_media_hide_all: همیشه همهٔ عکس‌ها و ویدیوها را پنهان کن setting_display_media_hide_all: همیشه همهٔ عکس‌ها و ویدیوها را پنهان کن
@ -324,6 +325,7 @@ fa:
follow_request: شخصی خواست پیتان بگیرد follow_request: شخصی خواست پیتان بگیرد
mention: شخصی از شما نام برد mention: شخصی از شما نام برد
pending_account: حساب تازهٔ نیازمند بررسی pending_account: حساب تازهٔ نیازمند بررسی
quote: شخصی شما را نقل کرد
reblog: شخصی فرسته‌تان را تقویت کرد reblog: شخصی فرسته‌تان را تقویت کرد
report: گزارش جدیدی فرستاده شد report: گزارش جدیدی فرستاده شد
software_updates: software_updates:

View File

@ -329,6 +329,7 @@ fo:
follow_request: Onkur biður um at fylgja tær follow_request: Onkur biður um at fylgja tær
mention: Onkur nevndi teg mention: Onkur nevndi teg
pending_account: Nýggj konta krevur viðgerð pending_account: Nýggj konta krevur viðgerð
quote: Onkur siteraði teg
reblog: Onkur stimbraði postin hjá tær reblog: Onkur stimbraði postin hjá tær
report: Nýggj melding er send inn report: Nýggj melding er send inn
software_updates: software_updates:

View File

@ -332,6 +332,7 @@ ga:
follow_request: D'iarr duine éigin tú a leanúint follow_request: D'iarr duine éigin tú a leanúint
mention: Luaigh duine éigin tú mention: Luaigh duine éigin tú
pending_account: Ní mór athbhreithniú a dhéanamh ar chuntas nua pending_account: Ní mór athbhreithniú a dhéanamh ar chuntas nua
quote: Luaigh duine éigin thú
reblog: Mhol duine éigin do phostáil reblog: Mhol duine éigin do phostáil
report: Tá tuairisc nua curtha isteach report: Tá tuairisc nua curtha isteach
software_updates: software_updates:

View File

@ -8,6 +8,7 @@ RSpec.describe ActivityPub::Activity::QuoteRequest, feature: :outgoing_quotes do
let(:quoted_post) { Fabricate(:status, account: recipient) } let(:quoted_post) { Fabricate(:status, account: recipient) }
let(:request_uri) { 'https://example.com/missing-ui' } let(:request_uri) { 'https://example.com/missing-ui' }
let(:quoted_uri) { ActivityPub::TagManager.instance.uri_for(quoted_post) } let(:quoted_uri) { ActivityPub::TagManager.instance.uri_for(quoted_post) }
let(:instrument) { 'https://example.com/unknown-status' }
let(:json) do let(:json) do
{ {
@ -21,8 +22,30 @@ RSpec.describe ActivityPub::Activity::QuoteRequest, feature: :outgoing_quotes do
type: 'QuoteRequest', type: 'QuoteRequest',
actor: ActivityPub::TagManager.instance.uri_for(sender), actor: ActivityPub::TagManager.instance.uri_for(sender),
object: quoted_uri, object: quoted_uri,
instrument: 'https://example.com/unknown-status', instrument: instrument,
}.with_indifferent_access }.deep_stringify_keys
end
let(:status_json) do
{
'@context': [
'https://www.w3.org/ns/activitystreams',
{
'@id': 'https://w3id.org/fep/044f#quote',
'@type': '@id',
},
{
'@id': 'https://w3id.org/fep/044f#quoteAuthorization',
'@type': '@id',
},
],
id: 'https://example.com/unknown-status',
type: 'Note',
summary: 'Show more',
content: 'Hello universe',
quote: ActivityPub::TagManager.instance.uri_for(quoted_post),
attributedTo: ActivityPub::TagManager.instance.uri_for(sender),
}.deep_stringify_keys
end end
describe '#perform' do describe '#perform' do
@ -48,29 +71,20 @@ RSpec.describe ActivityPub::Activity::QuoteRequest, feature: :outgoing_quotes do
end end
end end
context 'when trying to quote a quotable local status' do context 'when trying to quote an unquotable local status with an inlined instrument' do
let(:status_json) do let(:instrument) { status_json.without('@context') }
{
'@context': [
'https://www.w3.org/ns/activitystreams',
{
'@id': 'https://w3id.org/fep/044f#quote',
'@type': '@id',
},
{
'@id': 'https://w3id.org/fep/044f#quoteAuthorization',
'@type': '@id',
},
],
id: 'https://example.com/unknown-status',
type: 'Note',
summary: 'Show more',
content: 'Hello universe',
quote: ActivityPub::TagManager.instance.uri_for(quoted_post),
attributedTo: ActivityPub::TagManager.instance.uri_for(sender),
}.deep_stringify_keys
end
it 'sends a Reject activity' do
expect { subject.perform }
.to enqueue_sidekiq_job(ActivityPub::DeliveryWorker)
.with(satisfying do |body|
outgoing_json = Oj.load(body)
outgoing_json['type'] == 'Reject' && json['instrument']['id'] == outgoing_json['object']['instrument'] && %w(type id actor object).all? { |key| json[key] == outgoing_json['object'][key] }
end, recipient.id, sender.inbox_url)
end
end
context 'when trying to quote a quotable local status' do
before do before do
stub_request(:get, 'https://example.com/unknown-status').to_return(status: 200, body: Oj.dump(status_json), headers: { 'Content-Type': 'application/activity+json' }) stub_request(:get, 'https://example.com/unknown-status').to_return(status: 200, body: Oj.dump(status_json), headers: { 'Content-Type': 'application/activity+json' })
quoted_post.update(quote_approval_policy: Status::QUOTE_APPROVAL_POLICY_FLAGS[:public] << 16) quoted_post.update(quote_approval_policy: Status::QUOTE_APPROVAL_POLICY_FLAGS[:public] << 16)
@ -86,5 +100,23 @@ RSpec.describe ActivityPub::Activity::QuoteRequest, feature: :outgoing_quotes do
end, recipient.id, sender.inbox_url) end, recipient.id, sender.inbox_url)
end end
end end
context 'when trying to quote a quotable local status with an inlined instrument' do
let(:instrument) { status_json.without('@context') }
before do
quoted_post.update(quote_approval_policy: Status::QUOTE_APPROVAL_POLICY_FLAGS[:public] << 16)
end
it 'accepts the quote and sends an Accept activity' do
expect { subject.perform }
.to change { quoted_post.reload.quotes.accepted.count }.by(1)
.and enqueue_sidekiq_job(ActivityPub::DeliveryWorker)
.with(satisfying do |body|
outgoing_json = Oj.load(body)
outgoing_json['type'] == 'Accept' && json['instrument']['id'] == outgoing_json['object']['instrument'] && %w(type id actor object).all? { |key| json[key] == outgoing_json['object'][key] }
end, recipient.id, sender.inbox_url)
end
end
end end
end end

View File

@ -7,6 +7,14 @@ RSpec.describe CanonicalEmailBlock do
it { is_expected.to belong_to(:reference_account).class_name('Account').optional } it { is_expected.to belong_to(:reference_account).class_name('Account').optional }
end end
describe 'Normalizations' do
describe 'email' do
it { is_expected.to normalize(:email).from('TEST@HOST.EXAMPLE').to('test@host.example') }
it { is_expected.to normalize(:email).from('test+more@host.example').to('test@host.example') }
it { is_expected.to normalize(:email).from('test.user@host.example').to('testuser@host.example') }
end
end
describe 'Scopes' do describe 'Scopes' do
describe '.matching_email' do describe '.matching_email' do
subject { described_class.matching_email(email) } subject { described_class.matching_email(email) }

View File

@ -23,7 +23,9 @@ RSpec.describe ActivityPub::QuoteRequestWorker do
type: 'QuoteRequest', type: 'QuoteRequest',
actor: ActivityPub::TagManager.instance.uri_for(quote.account), actor: ActivityPub::TagManager.instance.uri_for(quote.account),
object: ActivityPub::TagManager.instance.uri_for(quoted_status), object: ActivityPub::TagManager.instance.uri_for(quoted_status),
instrument: anything # TODO: inline post in request? instrument: a_hash_including(
id: ActivityPub::TagManager.instance.uri_for(status)
)
) )
end end
end end