Merge branch 'master' into glitch-soc/merge-upstream

th-downstream
Thibaut Girka 6 years ago
commit 86d2a9d480

@ -31,7 +31,7 @@ class StatusesIndex < Chewy::Index
},
}
define_type ::Status.without_reblogs do
define_type ::Status.unscoped.without_reblogs do
crutch :mentions do |collection|
data = ::Mention.where(status_id: collection.map(&:id)).pluck(:status_id, :account_id)
data.each.with_object({}) { |(id, name), result| (result[id] ||= []).push(name) }

@ -44,14 +44,8 @@ module Admin
when 'resolve'
@report.resolve!(current_account)
log_action :resolve, @report
when 'suspend'
Admin::SuspensionWorker.perform_async(@report.target_account.id)
log_action :resolve, @report
log_action :suspend, @report.target_account
resolve_all_target_account_reports
when 'silence'
@report.resolve!(current_account)
@report.target_account.update!(silenced: true)
log_action :resolve, @report

@ -4,11 +4,24 @@ module Admin
class SuspensionsController < BaseController
before_action :set_account
def new
@suspension = Form::AdminSuspensionConfirmation.new(report_id: params[:report_id])
end
def create
authorize @account, :suspend?
Admin::SuspensionWorker.perform_async(@account.id)
log_action :suspend, @account
redirect_to admin_accounts_path
@suspension = Form::AdminSuspensionConfirmation.new(suspension_params)
if suspension_params[:acct] == @account.acct
resolve_report! if suspension_params[:report_id]
perform_suspend!
mark_reports_resolved!
redirect_to admin_accounts_path
else
flash.now[:alert] = I18n.t('admin.suspensions.bad_acct_msg')
render :new
end
end
def destroy
@ -23,5 +36,25 @@ module Admin
def set_account
@account = Account.find(params[:account_id])
end
def suspension_params
params.require(:form_admin_suspension_confirmation).permit(:acct, :report_id)
end
def resolve_report!
report = Report.find(suspension_params[:report_id])
report.resolve!(current_account)
log_action :resolve, report
end
def perform_suspend!
@account.suspend!
Admin::SuspensionWorker.perform_async(@account.id)
log_action :suspend, @account
end
def mark_reports_resolved!
Report.where(target_account: @account).unresolved.update_all(action_taken: true, action_taken_by_account_id: current_account.id)
end
end
end

@ -33,7 +33,7 @@ module Admin::ActionLogsHelper
when 'DomainBlock', 'EmailDomainBlock'
link_to attributes['domain'], "https://#{attributes['domain']}"
when 'Status'
tmp_status = Status.new(attributes)
tmp_status = Status.new(attributes.except('reblogs_count', 'favourites_count'))
if tmp_status.account
link_to tmp_status.account&.acct || "##{tmp_status.account_id}", admin_account_path(tmp_status.account_id)
else

@ -73,8 +73,10 @@ module JsonLdHelper
end
end
def body_to_json(body)
body.is_a?(String) ? Oj.load(body, mode: :strict) : body
def body_to_json(body, compare_id: nil)
json = body.is_a?(String) ? Oj.load(body, mode: :strict) : body
return if compare_id.present? && json['id'] != compare_id
json
rescue Oj::ParseError
nil
end

@ -7,7 +7,7 @@
"account.disclaimer_full": "قد لا تعكس المعلومات أدناه الملف الشخصي الكامل للمستخدم.",
"account.domain_blocked": "النطاق مخفي",
"account.edit_profile": "تعديل الملف الشخصي",
"account.endorse": "Feature on profile",
"account.endorse": "إبرازه على الملف الشخصي",
"account.follow": "تابِع",
"account.followers": "المتابعون",
"account.follows": "يتبع",
@ -27,7 +27,7 @@
"account.show_reblogs": "عرض ترقيات @{name}",
"account.unblock": "إلغاء الحظر عن @{name}",
"account.unblock_domain": "فك حظر {domain}",
"account.unendorse": "Don't feature on profile",
"account.unendorse": "إزالة ترويجه مِن الملف الشخصي",
"account.unfollow": "إلغاء المتابعة",
"account.unmute": "إلغاء الكتم عن @{name}",
"account.unmute_notifications": "إلغاء كتم إخطارات @{name}",
@ -90,7 +90,7 @@
"confirmations.redraft.message": "هل أنت متأكد من أنك تريد حذف هذا المنشور و إعادة صياغته ؟ سوف تفقد جميع الردود و الترقيات و المفضلة المتصلة به.",
"confirmations.unfollow.confirm": "إلغاء المتابعة",
"confirmations.unfollow.message": "متأكد من أنك تريد إلغاء متابعة {name} ؟",
"embed.instructions": "يمكنكم إدماج هذه الحالة على موقعكم الإلكتروني عن طريق نسخ الشفرة أدناه.",
"embed.instructions": "يمكنكم إدماج هذا المنشور على موقعكم الإلكتروني عن طريق نسخ الشفرة أدناه.",
"embed.preview": "هكذا ما سوف يبدو عليه :",
"emoji_button.activity": "الأنشطة",
"emoji_button.custom": "مخصص",
@ -109,7 +109,7 @@
"empty_column.community": "الخط الزمني المحلي فارغ. أكتب شيئا ما للعامة كبداية !",
"empty_column.direct": "لم تتلق أية رسالة خاصة مباشِرة بعد. سوف يتم عرض الرسائل المباشرة هنا إن قمت بإرسال واحدة أو تلقيت البعض منها.",
"empty_column.hashtag": "ليس هناك بعدُ أي محتوى ذو علاقة بهذا الوسم.",
"empty_column.home": "إنك لا تتبع بعد أي شخص إلى حد الآن. زر {public} أو استخدام حقل البحث لكي تبدأ على التعرف على مستخدمين آخرين.",
"empty_column.home": "إنّ الخيط الزمني لصفحتك الرئيسية فارغ. قم بزيارة {public} أو استخدم حقل البحث لكي تكتشف مستخدمين آخرين.",
"empty_column.home.public_timeline": "الخيط العام",
"empty_column.list": "هذه القائمة فارغة مؤقتا و لكن سوف تمتلئ تدريجيا عندما يبدأ الأعضاء المُنتَمين إليها بنشر تبويقات.",
"empty_column.notifications": "لم تتلق أي إشعار بعدُ. تفاعل مع المستخدمين الآخرين لإنشاء محادثة.",
@ -162,6 +162,7 @@
"missing_indicator.label": "تعذر العثور عليه",
"missing_indicator.sublabel": "تعذر العثور على هذا المورد",
"mute_modal.hide_notifications": "هل تود إخفاء الإخطارات القادمة من هذا المستخدم ؟",
"navigation_bar.apps": "Mobile apps",
"navigation_bar.blocks": "الحسابات المحجوبة",
"navigation_bar.community_timeline": "الخيط العام المحلي",
"navigation_bar.direct": "الرسائل المباشِرة",
@ -181,7 +182,7 @@
"navigation_bar.preferences": "التفضيلات",
"navigation_bar.public_timeline": "الخيط العام الموحد",
"navigation_bar.security": "الأمان",
"notification.favourite": "{name} أعجب بمنشورك",
"notification.favourite": "أُعجِب {name} بمنشورك",
"notification.follow": "{name} يتابعك",
"notification.mention": "{name} ذكرك",
"notification.reblog": "{name} قام بترقية تبويقك",
@ -272,7 +273,7 @@
"status.pinned": "تبويق مثبَّت",
"status.reblog": "رَقِّي",
"status.reblog_private": "القيام بالترقية إلى الجمهور الأصلي",
"status.reblogged_by": "{name} رقى",
"status.reblogged_by": "رقّاه {name}",
"status.redraft": "إزالة و إعادة الصياغة",
"status.reply": "ردّ",
"status.replyAll": "رُد على الخيط",

@ -162,6 +162,7 @@
"missing_indicator.label": "Not found",
"missing_indicator.sublabel": "This resource could not be found",
"mute_modal.hide_notifications": "Hide notifications from this user?",
"navigation_bar.apps": "Mobile apps",
"navigation_bar.blocks": "Blocked users",
"navigation_bar.community_timeline": "Local timeline",
"navigation_bar.direct": "Direct messages",

@ -162,6 +162,7 @@
"missing_indicator.label": "Not found",
"missing_indicator.sublabel": "This resource could not be found",
"mute_modal.hide_notifications": "Hide notifications from this user?",
"navigation_bar.apps": "Mobile apps",
"navigation_bar.blocks": "Blocked users",
"navigation_bar.community_timeline": "Local timeline",
"navigation_bar.direct": "Direct messages",

@ -162,6 +162,7 @@
"missing_indicator.label": "No trobat",
"missing_indicator.sublabel": "Aquest recurs no pot ser trobat",
"mute_modal.hide_notifications": "Amagar notificacions d'aquest usuari?",
"navigation_bar.apps": "Mobile apps",
"navigation_bar.blocks": "Usuaris bloquejats",
"navigation_bar.community_timeline": "Línia de temps Local",
"navigation_bar.direct": "Missatges directes",

@ -162,6 +162,7 @@
"missing_indicator.label": "Micca trovu",
"missing_indicator.sublabel": "Ùn era micca pussivule di truvà sta risorsa",
"mute_modal.hide_notifications": "Piattà nutificazione da st'utilizatore?",
"navigation_bar.apps": "Mobile apps",
"navigation_bar.blocks": "Utilizatori bluccati",
"navigation_bar.community_timeline": "Linea pubblica lucale",
"navigation_bar.direct": "Missaghji diretti",

@ -7,7 +7,7 @@
"account.disclaimer_full": "Níže uvedené informace nemusejí zcela odrážet profil uživatele.",
"account.domain_blocked": "Doména skryta",
"account.edit_profile": "Upravit profil",
"account.endorse": "Feature on profile",
"account.endorse": "Představit na profilu",
"account.follow": "Sleduj",
"account.followers": "Sledovatelé",
"account.follows": "Sleduje",
@ -27,7 +27,7 @@
"account.show_reblogs": "Zobrazit boosty od uživatele @{name}",
"account.unblock": "Odblokovat uživatele @{name}",
"account.unblock_domain": "Odkrýt doménu {domain}",
"account.unendorse": "Don't feature on profile",
"account.unendorse": "Nepředstavit na profilu",
"account.unfollow": "Přestat sledovat",
"account.unmute": "Přestat ignorovat uživatele @{name}",
"account.unmute_notifications": "Odtišit oznámení od uživatele @{name}",
@ -162,6 +162,7 @@
"missing_indicator.label": "Nenalezeno",
"missing_indicator.sublabel": "Tento zdroj se nepodařilo najít",
"mute_modal.hide_notifications": "Skrýt oznámení před tímto uživatelem?",
"navigation_bar.apps": "Mobile apps",
"navigation_bar.blocks": "Blokovaní uživatelé",
"navigation_bar.community_timeline": "Místní časová osa",
"navigation_bar.direct": "Přímé zprávy",
@ -229,11 +230,11 @@
"privacy.unlisted.short": "Nezobrazované",
"regeneration_indicator.label": "Načítám…",
"regeneration_indicator.sublabel": "Váš domovský proud se připravuje!",
"relative_time.days": "{number}d",
"relative_time.hours": "{number}h",
"relative_time.days": "{number} d",
"relative_time.hours": "{number} h",
"relative_time.just_now": "teď",
"relative_time.minutes": "{number}m",
"relative_time.seconds": "{number}s",
"relative_time.minutes": "{number} m",
"relative_time.seconds": "{number} s",
"reply_indicator.cancel": "Zrušit",
"report.forward": "Přeposlat k {target}",
"report.forward_hint": "Tento účet je z jiného serveru. Chcete na něj také poslat anonymizovanou kopii?",

@ -7,27 +7,27 @@
"account.disclaimer_full": "Nedenstående oplysninger reflekterer ikke nødvendigvis brugerens profil fuldstændigt.",
"account.domain_blocked": "Domænet er blevet skjult",
"account.edit_profile": "Rediger profil",
"account.endorse": "Feature on profile",
"account.endorse": "Fremhæv på profil",
"account.follow": "Følg",
"account.followers": "Følgere",
"account.follows": "Følger",
"account.follows_you": "Følger dig",
"account.hide_reblogs": "Skjul fremhævelserne fra @{name}",
"account.media": "Multimedier",
"account.media": "Medie",
"account.mention": "Nævn @{name}",
"account.moved_to": "{name} er flyttet til:",
"account.mute": "Dæmp @{name}",
"account.mute_notifications": "Dæmp notifikationer fra @{name}",
"account.muted": "Dæmpet",
"account.posts": "Dyt",
"account.posts_with_replies": "Toots og svar",
"account.posts": "Trut",
"account.posts_with_replies": "Trut samt svar",
"account.report": "Rapporter @{name}",
"account.requested": "Afventer godkendelse. Tryk for at annullere følgeanmodning",
"account.share": "Del @{name}s profil",
"account.show_reblogs": "Vis fremhævelserne fra @{name}",
"account.unblock": "Fjern blokeringen af @{name}",
"account.unblock_domain": "Skjul ikke længere {domain}",
"account.unendorse": "Don't feature on profile",
"account.unendorse": "Fremhæv ikke på profil",
"account.unfollow": "Følg ikke længere",
"account.unmute": "Fjern dæmpningen af @{name}",
"account.unmute_notifications": "Fjern dæmpningen af notifikationer fra @{name}",
@ -83,7 +83,7 @@
"confirmations.delete_list.confirm": "Slet",
"confirmations.delete_list.message": "Er du sikker på, du vil slette denne liste?",
"confirmations.domain_block.confirm": "Skjul helt domæne",
"confirmations.domain_block.message": "Are you really, really sure you want to block the entire {domain}? In most cases a few targeted blocks or mutes are sufficient and preferable. You will not see content from that domain in any public timelines or your notifications. Your followers from that domain will be removed.",
"confirmations.domain_block.message": "Er du helt sikker på du vil blokere hele {domain} domænet? I de fleste tilfælde vil få specifikke blokeringer eller dæmpninger være nok og at fortrække. Du vil ikke se indhold fra det domæne hverken på offentlige tidslinjer eller i dine notifikationer. Dine følgere fra det domæne vil blive fjernet.",
"confirmations.mute.confirm": "Dæmp",
"confirmations.mute.message": "Er du sikker på, du vil dæmpe {name}?",
"confirmations.redraft.confirm": "Slet & omskriv",
@ -103,7 +103,7 @@
"emoji_button.people": "Mennesker",
"emoji_button.recent": "Oftest brugt",
"emoji_button.search": "Søg...",
"emoji_button.search_results": "Søgeresultat",
"emoji_button.search_results": "Søgeresultater",
"emoji_button.symbols": "Symboler",
"emoji_button.travel": "Rejser & steder",
"empty_column.community": "Den lokale tidslinje er tom. Skriv noget offentligt for at starte lavinen!",
@ -139,7 +139,7 @@
"keyboard_shortcuts.hotkey": "Hurtigtast",
"keyboard_shortcuts.legend": "for at vise denne legende",
"keyboard_shortcuts.mention": "for at nævne forfatteren",
"keyboard_shortcuts.profile": "to open author's profile",
"keyboard_shortcuts.profile": "til profil af åben forfatter",
"keyboard_shortcuts.reply": "for at svare",
"keyboard_shortcuts.search": "for at fokusere søgningen",
"keyboard_shortcuts.toggle_hidden": "for at vise/skjule tekst bag CW",
@ -162,6 +162,7 @@
"missing_indicator.label": "Ikke fundet",
"missing_indicator.sublabel": "Denne ressource kunne ikke blive fundet",
"mute_modal.hide_notifications": "Skjul notifikationer fra denne bruger?",
"navigation_bar.apps": "Mobile apps",
"navigation_bar.blocks": "Blokerede brugere",
"navigation_bar.community_timeline": "Lokal tidslinje",
"navigation_bar.direct": "Direkte beskeder",
@ -215,8 +216,8 @@
"onboarding.page_six.read_guidelines": "Læs venligst {domain}s {guidelines}!",
"onboarding.page_six.various_app": "apps til mobilen",
"onboarding.page_three.profile": "Rediger din profil for at ændre profilbillede, beskrivelse og visningsnavn. Der vil du også finde andre indstillinger.",
"onboarding.page_three.search": "Use the search bar to find people and look at hashtags, such as {illustration} and {introductions}. To look for a person who is not on this instance, use their full handle.",
"onboarding.page_two.compose": "Write posts from the compose column. You can upload images, change privacy settings, and add content warnings with the icons below.",
"onboarding.page_three.search": "Brug søgefeltdet for at finde folk og at kigge på hashtags, så som {illustration} and {introductions}. For at finde en person der ikke er på denne instans, brug deres fulde brugernavn.",
"onboarding.page_two.compose": "Skriv opslag fra skrive kolonnen. Du kan uploade billeder, ændre privatlivsindstillinger, og tilføje indholds advarsler med ikoner forneden.",
"onboarding.skip": "Spring over",
"privacy.change": "Ændre status privatliv",
"privacy.direct.long": "Post til kun de nævnte brugere",
@ -243,7 +244,7 @@
"report.target": "Anmelder {target}",
"search.placeholder": "Søg",
"search_popout.search_format": "Avanceret søgeformat",
"search_popout.tips.full_text": "Simple text returns statuses you have written, favourited, boosted, or have been mentioned in, as well as matching usernames, display names, and hashtags.",
"search_popout.tips.full_text": "Simpel tekst returnerer statusser du har skrevet, favoriseret, fremhævet, eller er blevet nævnt i, lige så vel som matchende brugernavne, visningsnavne, og hashtags.",
"search_popout.tips.hashtag": "emnetag",
"search_popout.tips.status": "status",
"search_popout.tips.text": "Simpelt tekst returnerer passende visningsnavne, brugernavne og hashtags",
@ -275,7 +276,7 @@
"status.reblogged_by": "{name} fremhævede",
"status.redraft": "Slet og omskriv",
"status.reply": "Svar",
"status.replyAll": "Svar tråd",
"status.replyAll": "Svar samtale",
"status.report": "Anmeld @{name}",
"status.sensitive_toggle": "Tryk for at se",
"status.sensitive_warning": "Følsomt indhold",
@ -291,11 +292,11 @@
"tabs_bar.local_timeline": "Lokal",
"tabs_bar.notifications": "Notifikationer",
"tabs_bar.search": "Søg",
"trends.count_by_accounts": "{count} {rawCount, flere, en {person} flere {people}} snakker",
"trends.count_by_accounts": "{count} {rawCount, plural, one {person} other {people}} snakker",
"ui.beforeunload": "Din kladde vil gå tabt hvis du forlader Mastodon.",
"upload_area.title": "Træk og slip for at uploade",
"upload_button.label": "Tilføj multimedier",
"upload_form.description": "Beskrivelse for de svagtseende",
"upload_button.label": "Tilføj medie",
"upload_form.description": "Beskriv for de svagtseende",
"upload_form.focus": "Beskær",
"upload_form.undo": "Slet",
"upload_progress.label": "Uploader...",

@ -162,6 +162,7 @@
"missing_indicator.label": "Nicht gefunden",
"missing_indicator.sublabel": "Die Ressource konnte nicht gefunden werden",
"mute_modal.hide_notifications": "Benachrichtigungen von diesem Account verbergen?",
"navigation_bar.apps": "Mobile apps",
"navigation_bar.blocks": "Blockierte Profile",
"navigation_bar.community_timeline": "Lokale Zeitleiste",
"navigation_bar.direct": "Direktnachrichten",

@ -1174,6 +1174,10 @@
"defaultMessage": "About this instance",
"id": "navigation_bar.info"
},
{
"defaultMessage": "Mobile apps",
"id": "navigation_bar.apps"
},
{
"defaultMessage": "Terms of service",
"id": "getting_started.terms"

@ -162,6 +162,7 @@
"missing_indicator.label": "Δε βρέθηκε",
"missing_indicator.sublabel": "Αδύνατη η εύρεση αυτού του πόρου",
"mute_modal.hide_notifications": "Απόκρυψη ειδοποιήσεων αυτού του χρήστη;",
"navigation_bar.apps": "Mobile apps",
"navigation_bar.blocks": "Αποκλεισμένοι χρήστες",
"navigation_bar.community_timeline": "Τοπική ροή",
"navigation_bar.direct": "Προσωπικά μηνύματα",

@ -166,6 +166,7 @@
"missing_indicator.label": "Not found",
"missing_indicator.sublabel": "This resource could not be found",
"mute_modal.hide_notifications": "Hide notifications from this user?",
"navigation_bar.apps": "Mobile apps",
"navigation_bar.blocks": "Blocked users",
"navigation_bar.community_timeline": "Local timeline",
"navigation_bar.direct": "Direct messages",

@ -7,7 +7,7 @@
"account.disclaimer_full": "Subaj informoj povas reflekti la profilon de la uzanto nekomplete.",
"account.domain_blocked": "Domajno kaŝita",
"account.edit_profile": "Redakti profilon",
"account.endorse": "Feature on profile",
"account.endorse": "Montri en profilo",
"account.follow": "Sekvi",
"account.followers": "Sekvantoj",
"account.follows": "Sekvatoj",
@ -27,7 +27,7 @@
"account.show_reblogs": "Montri diskonigojn de @{name}",
"account.unblock": "Malbloki @{name}",
"account.unblock_domain": "Malkaŝi {domain}",
"account.unendorse": "Don't feature on profile",
"account.unendorse": "Ne montri en profilo",
"account.unfollow": "Ne plu sekvi",
"account.unmute": "Malsilentigi @{name}",
"account.unmute_notifications": "Malsilentigi sciigojn de @{name}",
@ -139,7 +139,7 @@
"keyboard_shortcuts.hotkey": "Rapidklavo",
"keyboard_shortcuts.legend": "por montri ĉi tiun noton",
"keyboard_shortcuts.mention": "por mencii la aŭtoron",
"keyboard_shortcuts.profile": "to open author's profile",
"keyboard_shortcuts.profile": "por malfermi la profilon de la aŭtoro",
"keyboard_shortcuts.reply": "por respondi",
"keyboard_shortcuts.search": "por fokusigi la serĉilon",
"keyboard_shortcuts.toggle_hidden": "por montri/kaŝi tekston malantaŭ enhava averto",
@ -162,6 +162,7 @@
"missing_indicator.label": "Ne trovita",
"missing_indicator.sublabel": "Ĉi tiu elemento ne estis trovita",
"mute_modal.hide_notifications": "Ĉu vi volas kaŝi la sciigojn el ĉi tiu uzanto?",
"navigation_bar.apps": "Mobile apps",
"navigation_bar.blocks": "Blokitaj uzantoj",
"navigation_bar.community_timeline": "Loka tempolinio",
"navigation_bar.direct": "Rektaj mesaĝoj",
@ -169,7 +170,7 @@
"navigation_bar.domain_blocks": "Kaŝitaj domajnoj",
"navigation_bar.edit_profile": "Redakti profilon",
"navigation_bar.favourites": "Stelumoj",
"navigation_bar.filters": "Muted words",
"navigation_bar.filters": "Silentigitaj vortoj",
"navigation_bar.follow_requests": "Petoj de sekvado",
"navigation_bar.info": "Pri ĉi tiu nodo",
"navigation_bar.keyboard_shortcuts": "Rapidklavoj",
@ -260,7 +261,7 @@
"status.direct": "Rekte mesaĝi @{name}",
"status.embed": "Enkorpigi",
"status.favourite": "Stelumi",
"status.filtered": "Filtered",
"status.filtered": "Filtrita",
"status.load_more": "Ŝargi pli",
"status.media_hidden": "Aŭdovidaĵo kaŝita",
"status.mention": "Mencii @{name}",

@ -162,6 +162,7 @@
"missing_indicator.label": "No encontrado",
"missing_indicator.sublabel": "No se encontró este recurso",
"mute_modal.hide_notifications": "Ocultar notificaciones de este usuario?",
"navigation_bar.apps": "Mobile apps",
"navigation_bar.blocks": "Usuarios bloqueados",
"navigation_bar.community_timeline": "Historia local",
"navigation_bar.direct": "Direct messages",

@ -7,7 +7,7 @@
"account.disclaimer_full": "Baliteke beheko informazioak erabiltzailearen profilaren zati bat baino ez erakustea.",
"account.domain_blocked": "Ezkutatutako domeinua",
"account.edit_profile": "Aldatu profila",
"account.endorse": "Feature on profile",
"account.endorse": "Nabarmendu profilean",
"account.follow": "Jarraitu",
"account.followers": "Jarraitzaileak",
"account.follows": "Jarraitzen",
@ -27,7 +27,7 @@
"account.show_reblogs": "Erakutsi @{name}(r)en bultzadak",
"account.unblock": "Desblokeatu @{name}",
"account.unblock_domain": "Berriz erakutsi {domain}",
"account.unendorse": "Don't feature on profile",
"account.unendorse": "Ez nabarmendu profilean",
"account.unfollow": "Jarraitzeari utzi",
"account.unmute": "Desmututu @{name}",
"account.unmute_notifications": "Desmututu @{name}(r)en jakinarazpenak",
@ -162,6 +162,7 @@
"missing_indicator.label": "Ez aurkitua",
"missing_indicator.sublabel": "Baliabide hau ezin izan da aurkitu",
"mute_modal.hide_notifications": "Ezkutatu erabiltzaile honen jakinarazpenak?",
"navigation_bar.apps": "Mobile apps",
"navigation_bar.blocks": "Blokeatutako erabiltzaileak",
"navigation_bar.community_timeline": "Denbora-lerro lokala",
"navigation_bar.direct": "Mezu zuzenak",

@ -7,7 +7,7 @@
"account.disclaimer_full": "اطلاعات زیر ممکن است نمایهٔ این کاربر را به تمامی نشان ندهد.",
"account.domain_blocked": "دامین پنهان‌شده",
"account.edit_profile": "ویرایش نمایه",
"account.endorse": "Feature on profile",
"account.endorse": "نمایش در نمایه",
"account.follow": "پی بگیرید",
"account.followers": "پیگیران",
"account.follows": "پی می‌گیرد",
@ -27,7 +27,7 @@
"account.show_reblogs": "نشان‌دادن بازبوق‌های @{name}",
"account.unblock": "رفع انسداد @{name}",
"account.unblock_domain": "رفع پنهان‌سازی از {domain}",
"account.unendorse": "Don't feature on profile",
"account.unendorse": "نهفتن از نمایه",
"account.unfollow": "پایان پیگیری",
"account.unmute": "باصدا کردن @{name}",
"account.unmute_notifications": "باصداکردن اعلان‌ها از طرف @{name}",
@ -139,7 +139,7 @@
"keyboard_shortcuts.hotkey": "میان‌بر",
"keyboard_shortcuts.legend": "برای نمایش این راهنما",
"keyboard_shortcuts.mention": "برای نام‌بردن از نویسنده",
"keyboard_shortcuts.profile": "to open author's profile",
"keyboard_shortcuts.profile": "گشودن نمایهٔ نویسنده",
"keyboard_shortcuts.reply": "برای پاسخ‌دادن",
"keyboard_shortcuts.search": "برای فعال‌کردن جستجو",
"keyboard_shortcuts.toggle_hidden": "برای نمایش/نهفتن نوشتهٔ پشت هشدار محتوا",
@ -162,6 +162,7 @@
"missing_indicator.label": "پیدا نشد",
"missing_indicator.sublabel": "این منبع پیدا نشد",
"mute_modal.hide_notifications": "اعلان‌های این کاربر پنهان شود؟",
"navigation_bar.apps": "Mobile apps",
"navigation_bar.blocks": "کاربران مسدودشده",
"navigation_bar.community_timeline": "نوشته‌های محلی",
"navigation_bar.direct": "پیغام‌های خصوصی",

@ -162,6 +162,7 @@
"missing_indicator.label": "Ei löytynyt",
"missing_indicator.sublabel": "Tätä resurssia ei löytynyt",
"mute_modal.hide_notifications": "Piilota tältä käyttäjältä tulevat ilmoitukset?",
"navigation_bar.apps": "Mobile apps",
"navigation_bar.blocks": "Estetyt käyttäjät",
"navigation_bar.community_timeline": "Paikallinen aikajana",
"navigation_bar.direct": "Viestit",

@ -7,7 +7,7 @@
"account.disclaimer_full": "Les données ci-dessous peuvent ne pas refléter ce profil dans sa totalité.",
"account.domain_blocked": "Domaine caché",
"account.edit_profile": "Modifier le profil",
"account.endorse": "Feature on profile",
"account.endorse": "Figure sur le profil",
"account.follow": "Suivre",
"account.followers": "Abonné⋅e⋅s",
"account.follows": "Abonnements",
@ -27,7 +27,7 @@
"account.show_reblogs": "Afficher les partages de @{name}",
"account.unblock": "Débloquer",
"account.unblock_domain": "Ne plus masquer {domain}",
"account.unendorse": "Don't feature on profile",
"account.unendorse": "Ne figure pas sur le profil",
"account.unfollow": "Ne plus suivre",
"account.unmute": "Ne plus masquer",
"account.unmute_notifications": "Réactiver les notifications de @{name}",
@ -162,6 +162,7 @@
"missing_indicator.label": "Non trouvé",
"missing_indicator.sublabel": "Ressource introuvable",
"mute_modal.hide_notifications": "Masquer les notifications de cette personne?",
"navigation_bar.apps": "Mobile apps",
"navigation_bar.blocks": "Comptes bloqués",
"navigation_bar.community_timeline": "Fil public local",
"navigation_bar.direct": "Messages directs",

@ -86,8 +86,8 @@
"confirmations.domain_block.message": "Realmente está segura de que quere bloquear por completo o dominio {domain}? Normalmente é suficiente, e preferible, bloquear de xeito selectivo varios elementos. Non verá contidos de ese dominio en ningunha liña temporal ou nas notificacións. As súas seguidoras en ese dominio serán eliminadas.",
"confirmations.mute.confirm": "Acalar",
"confirmations.mute.message": "Está segura de que quere acalar a {name}?",
"confirmations.redraft.confirm": "Delete & redraft",
"confirmations.redraft.message": "Are you sure you want to delete this status and re-draft it? You will lose all replies, boosts and favourites to it.",
"confirmations.redraft.confirm": "Eliminar e reescribir",
"confirmations.redraft.message": "Está segura de querer eliminar este estado e voltalo a escribir? Perderá todas as réplicas, promocións e favoritas da mensaxe.",
"confirmations.unfollow.confirm": "Deixar de seguir",
"confirmations.unfollow.message": "Quere deixar de seguir a {name}?",
"embed.instructions": "Copie o código inferior para incrustar no seu sitio web este estado.",
@ -162,6 +162,7 @@
"missing_indicator.label": "Non atopado",
"missing_indicator.sublabel": "Non se puido atopar o recurso",
"mute_modal.hide_notifications": "Esconder notificacións deste usuario?",
"navigation_bar.apps": "Mobile apps",
"navigation_bar.blocks": "Usuarias bloqueadas",
"navigation_bar.community_timeline": "Liña temporal local",
"navigation_bar.direct": "Mensaxes directas",

@ -23,17 +23,17 @@
"account.posts_with_replies": "Toots with replies",
"account.report": "לדווח על @{name}",
"account.requested": "בהמתנה לאישור",
"account.share": "לשתף את אודות @{name}",
"account.share": "לשתף את הפרופיל של @{name}",
"account.show_reblogs": "להראות הדהודים מאת @{name}",
"account.unblock": "הסרת חסימה מעל @{name}",
"account.unblock_domain": "הסר חסימה מקהילת {domain}",
"account.unendorse": "Don't feature on profile",
"account.unendorse": "לא להציג בפרופיל",
"account.unfollow": "הפסקת מעקב",
"account.unmute": "הפסקת השתקת @{name}",
"account.unmute_notifications": "להפסיק הסתרת הודעות מעם @{name}",
"account.view_full_profile": ראה אודות מלאות",
"alert.unexpected.message": "An unexpected error occurred.",
"alert.unexpected.title": "Oops!",
"account.view_full_profile": צגת פרופיל מלא",
"alert.unexpected.message": "אירעה שגיאה בלתי צפויה.",
"alert.unexpected.title": "אופס!",
"boost_modal.combo": "ניתן להקיש {combo} כדי לדלג בפעם הבאה",
"bundle_column_error.body": "משהו השתבש בעת הצגת הרכיב הזה.",
"bundle_column_error.retry": "לנסות שוב",
@ -162,6 +162,7 @@
"missing_indicator.label": "לא נמצא",
"missing_indicator.sublabel": "This resource could not be found",
"mute_modal.hide_notifications": "להסתיר הודעות מחשבון זה?",
"navigation_bar.apps": "Mobile apps",
"navigation_bar.blocks": "חסימות",
"navigation_bar.community_timeline": "ציר זמן מקומי",
"navigation_bar.direct": "Direct messages",

@ -162,6 +162,7 @@
"missing_indicator.label": "Nije nađen",
"missing_indicator.sublabel": "This resource could not be found",
"mute_modal.hide_notifications": "Hide notifications from this user?",
"navigation_bar.apps": "Mobile apps",
"navigation_bar.blocks": "Blokirani korisnici",
"navigation_bar.community_timeline": "Lokalni timeline",
"navigation_bar.direct": "Direct messages",

@ -162,6 +162,7 @@
"missing_indicator.label": "Nincs találat",
"missing_indicator.sublabel": "Ezen forrás nem található",
"mute_modal.hide_notifications": "Értesítések elrejtése ezen felhasználótól?",
"navigation_bar.apps": "Mobile apps",
"navigation_bar.blocks": "Tiltott felhasználók",
"navigation_bar.community_timeline": "Helyi idővonal",
"navigation_bar.direct": "Direct messages",

@ -162,6 +162,7 @@
"missing_indicator.label": "Չգտնվեց",
"missing_indicator.sublabel": "This resource could not be found",
"mute_modal.hide_notifications": "Թաքցնե՞լ ցանուցումներն այս օգտատիրոջից։",
"navigation_bar.apps": "Mobile apps",
"navigation_bar.blocks": "Արգելափակված օգտատերեր",
"navigation_bar.community_timeline": "Տեղական հոսք",
"navigation_bar.direct": "Direct messages",

@ -162,6 +162,7 @@
"missing_indicator.label": "Tidak ditemukan",
"missing_indicator.sublabel": "This resource could not be found",
"mute_modal.hide_notifications": "Hide notifications from this user?",
"navigation_bar.apps": "Mobile apps",
"navigation_bar.blocks": "Pengguna diblokir",
"navigation_bar.community_timeline": "Linimasa lokal",
"navigation_bar.direct": "Direct messages",

@ -162,6 +162,7 @@
"missing_indicator.label": "Ne trovita",
"missing_indicator.sublabel": "This resource could not be found",
"mute_modal.hide_notifications": "Hide notifications from this user?",
"navigation_bar.apps": "Mobile apps",
"navigation_bar.blocks": "Blokusita uzeri",
"navigation_bar.community_timeline": "Lokala tempolineo",
"navigation_bar.direct": "Direct messages",

@ -139,7 +139,7 @@
"keyboard_shortcuts.hotkey": "Tasto di scelta rapida",
"keyboard_shortcuts.legend": "per mostrare questa spiegazione",
"keyboard_shortcuts.mention": "per menzionare l'autore",
"keyboard_shortcuts.profile": "to open author's profile",
"keyboard_shortcuts.profile": "per aprire il profilo dell'autore",
"keyboard_shortcuts.reply": "per rispondere",
"keyboard_shortcuts.search": "per spostare il focus sulla ricerca",
"keyboard_shortcuts.toggle_hidden": "per mostrare/nascondere il testo dei CW",
@ -162,6 +162,7 @@
"missing_indicator.label": "Non trovato",
"missing_indicator.sublabel": "Risorsa non trovata",
"mute_modal.hide_notifications": "Nascondere le notifiche da quest'utente?",
"navigation_bar.apps": "Mobile apps",
"navigation_bar.blocks": "Utenti bloccati",
"navigation_bar.community_timeline": "Timeline locale",
"navigation_bar.direct": "Messaggi diretti",

@ -7,7 +7,7 @@
"account.disclaimer_full": "以下の情報は不正確な可能性があります。",
"account.domain_blocked": "ドメイン非表示中",
"account.edit_profile": "プロフィールを編集",
"account.endorse": "Feature on profile",
"account.endorse": "プロフィールで紹介する",
"account.follow": "フォロー",
"account.followers": "フォロワー",
"account.follows": "フォロー",
@ -27,7 +27,7 @@
"account.show_reblogs": "@{name}さんからのブーストを表示",
"account.unblock": "@{name}さんのブロックを解除",
"account.unblock_domain": "{domain}を表示",
"account.unendorse": "Don't feature on profile",
"account.unendorse": "プロフィールから外す",
"account.unfollow": "フォロー解除",
"account.unmute": "@{name}さんのミュートを解除",
"account.unmute_notifications": "@{name}さんからの通知を受け取るようにする",
@ -166,6 +166,7 @@
"missing_indicator.label": "見つかりません",
"missing_indicator.sublabel": "見つかりませんでした",
"mute_modal.hide_notifications": "このユーザーからの通知を隠しますか?",
"navigation_bar.apps": "Mobile apps",
"navigation_bar.blocks": "ブロックしたユーザー",
"navigation_bar.community_timeline": "ローカルタイムライン",
"navigation_bar.direct": "ダイレクトメッセージ",

@ -162,6 +162,7 @@
"missing_indicator.label": "არაა ნაპოვნი",
"missing_indicator.sublabel": "ამ რესურსის პოვნა ვერ მოხერხდა",
"mute_modal.hide_notifications": "დავმალოთ შეტყობინებები ამ მომხმარებლისგან?",
"navigation_bar.apps": "Mobile apps",
"navigation_bar.blocks": "დაბლოკილი მომხმარებლები",
"navigation_bar.community_timeline": "ლოკალური თაიმლაინი",
"navigation_bar.direct": "პირდაპირი წერილები",

@ -162,6 +162,7 @@
"missing_indicator.label": "찾을 수 없습니다",
"missing_indicator.sublabel": "이 리소스를 찾을 수 없었습니다",
"mute_modal.hide_notifications": "이 사용자로부터의 알림을 뮤트하시겠습니까?",
"navigation_bar.apps": "Mobile apps",
"navigation_bar.blocks": "차단한 사용자",
"navigation_bar.community_timeline": "로컬 타임라인",
"navigation_bar.direct": "다이렉트 메시지",

@ -7,7 +7,7 @@
"account.disclaimer_full": "De informatie hieronder kan mogelijk een incompleet beeld geven van dit gebruikersprofiel.",
"account.domain_blocked": "Domein verborgen",
"account.edit_profile": "Profiel bewerken",
"account.endorse": "Feature on profile",
"account.endorse": "Op profiel weergeven",
"account.follow": "Volgen",
"account.followers": "Volgers",
"account.follows": "Volgt",
@ -27,7 +27,7 @@
"account.show_reblogs": "Toon boosts van @{name}",
"account.unblock": "Deblokkeer @{name}",
"account.unblock_domain": "{domain} niet langer negeren",
"account.unendorse": "Don't feature on profile",
"account.unendorse": "Niet op profiel weergeven",
"account.unfollow": "Ontvolgen",
"account.unmute": "@{name} niet langer negeren",
"account.unmute_notifications": "@{name} meldingen niet langer negeren",
@ -162,6 +162,7 @@
"missing_indicator.label": "Niet gevonden",
"missing_indicator.sublabel": "Deze hulpbron kan niet gevonden worden",
"mute_modal.hide_notifications": "Verberg meldingen van deze persoon?",
"navigation_bar.apps": "Mobile apps",
"navigation_bar.blocks": "Geblokkeerde gebruikers",
"navigation_bar.community_timeline": "Lokale tijdlijn",
"navigation_bar.direct": "Directe berichten",

@ -162,6 +162,7 @@
"missing_indicator.label": "Ikke funnet",
"missing_indicator.sublabel": "Denne ressursen ble ikke funnet",
"mute_modal.hide_notifications": "Skjul varslinger fra denne brukeren?",
"navigation_bar.apps": "Mobile apps",
"navigation_bar.blocks": "Blokkerte brukere",
"navigation_bar.community_timeline": "Lokal tidslinje",
"navigation_bar.direct": "Direct messages",

@ -162,6 +162,7 @@
"missing_indicator.label": "Pas trobat",
"missing_indicator.sublabel": "Aquesta ressorsa es pas estada trobada",
"mute_modal.hide_notifications": "Rescondre las notificacions daquesta persona?",
"navigation_bar.apps": "Mobile apps",
"navigation_bar.blocks": "Personas blocadas",
"navigation_bar.community_timeline": "Flux public local",
"navigation_bar.direct": "Messatges dirèctes",

@ -166,6 +166,7 @@
"missing_indicator.label": "Nie znaleziono",
"missing_indicator.sublabel": "Nie można odnaleźć tego zasobu",
"mute_modal.hide_notifications": "Chcesz ukryć powiadomienia od tego użytkownika?",
"navigation_bar.apps": "Mobile apps",
"navigation_bar.blocks": "Zablokowani użytkownicy",
"navigation_bar.community_timeline": "Lokalna oś czasu",
"navigation_bar.direct": "Wiadomości bezpośrednie",

@ -162,6 +162,7 @@
"missing_indicator.label": "Não encontrado",
"missing_indicator.sublabel": "Esse recurso não pôde ser encontrado",
"mute_modal.hide_notifications": "Esconder notificações deste usuário?",
"navigation_bar.apps": "Mobile apps",
"navigation_bar.blocks": "Usuários bloqueados",
"navigation_bar.community_timeline": "Local",
"navigation_bar.direct": "Mensagens diretas",

@ -162,6 +162,7 @@
"missing_indicator.label": "Não encontrado",
"missing_indicator.sublabel": "Este recurso não foi encontrado",
"mute_modal.hide_notifications": "Esconder notificações deste utilizador?",
"navigation_bar.apps": "Mobile apps",
"navigation_bar.blocks": "Utilizadores bloqueados",
"navigation_bar.community_timeline": "Local",
"navigation_bar.direct": "Direct messages",

@ -162,6 +162,7 @@
"missing_indicator.label": "Не найдено",
"missing_indicator.sublabel": "Запрашиваемый ресурс не найден",
"mute_modal.hide_notifications": "Убрать уведомления от этого пользователя?",
"navigation_bar.apps": "Mobile apps",
"navigation_bar.blocks": "Список блокировки",
"navigation_bar.community_timeline": "Локальная лента",
"navigation_bar.direct": "Личные сообщения",

@ -162,6 +162,7 @@
"missing_indicator.label": "Nenájdené",
"missing_indicator.sublabel": "Tento zdroj sa nepodarilo nájsť",
"mute_modal.hide_notifications": "Skryť notifikácie od tohoto užívateľa?",
"navigation_bar.apps": "Mobile apps",
"navigation_bar.blocks": "Blokovaní užívatelia",
"navigation_bar.community_timeline": "Lokálna časová os",
"navigation_bar.direct": "Súkromné správy",

@ -162,6 +162,7 @@
"missing_indicator.label": "Not found",
"missing_indicator.sublabel": "This resource could not be found",
"mute_modal.hide_notifications": "Hide notifications from this user?",
"navigation_bar.apps": "Mobile apps",
"navigation_bar.blocks": "Blocked users",
"navigation_bar.community_timeline": "Local timeline",
"navigation_bar.direct": "Direct messages",

@ -162,6 +162,7 @@
"missing_indicator.label": "Nije pronađeno",
"missing_indicator.sublabel": "This resource could not be found",
"mute_modal.hide_notifications": "Sakrij obaveštenja od ovog korisnika?",
"navigation_bar.apps": "Mobile apps",
"navigation_bar.blocks": "Blokirani korisnici",
"navigation_bar.community_timeline": "Lokalna lajna",
"navigation_bar.direct": "Direct messages",

@ -162,6 +162,7 @@
"missing_indicator.label": "Није пронађено",
"missing_indicator.sublabel": "This resource could not be found",
"mute_modal.hide_notifications": "Сакриј обавештења од овог корисника?",
"navigation_bar.apps": "Mobile apps",
"navigation_bar.blocks": "Блокирани корисници",
"navigation_bar.community_timeline": "Локална лајна",
"navigation_bar.direct": "Direct messages",

@ -3,9 +3,9 @@
"account.block": "Blockera @{name}",
"account.block_domain": "Dölj allt från {domain}",
"account.blocked": "Blockerad",
"account.direct": "Direct Message @{name}",
"account.direct": "Direktmeddelande @{name}",
"account.disclaimer_full": "Informationen nedan kan spegla användarens profil ofullständigt.",
"account.domain_blocked": "Domän gömd",
"account.domain_blocked": "Domän dold",
"account.edit_profile": "Redigera profil",
"account.endorse": "Feature on profile",
"account.follow": "Följ",
@ -162,6 +162,7 @@
"missing_indicator.label": "Hittades inte",
"missing_indicator.sublabel": "Den här resursen kunde inte hittas",
"mute_modal.hide_notifications": "Dölj notifikationer från denna användare?",
"navigation_bar.apps": "Mobile apps",
"navigation_bar.blocks": "Blockerade användare",
"navigation_bar.community_timeline": "Lokal tidslinje",
"navigation_bar.direct": "Direktmeddelanden",

@ -162,6 +162,7 @@
"missing_indicator.label": "దొరకలేదు",
"missing_indicator.sublabel": "ఈ వనరు కనుగొనబడలేదు",
"mute_modal.hide_notifications": "ఈ వినియోగదారు నుండి నోటిఫికేషన్లను దాచాలా?",
"navigation_bar.apps": "Mobile apps",
"navigation_bar.blocks": "బ్లాక్ చేయబడిన వినియోగదారులు",
"navigation_bar.community_timeline": "స్థానిక కాలక్రమం",
"navigation_bar.direct": "ప్రత్యక్ష సందేశాలు",

@ -162,6 +162,7 @@
"missing_indicator.label": "Not found",
"missing_indicator.sublabel": "This resource could not be found",
"mute_modal.hide_notifications": "Hide notifications from this user?",
"navigation_bar.apps": "Mobile apps",
"navigation_bar.blocks": "Blocked users",
"navigation_bar.community_timeline": "Local timeline",
"navigation_bar.direct": "Direct messages",

@ -162,6 +162,7 @@
"missing_indicator.label": "Bulunamadı",
"missing_indicator.sublabel": "This resource could not be found",
"mute_modal.hide_notifications": "Hide notifications from this user?",
"navigation_bar.apps": "Mobile apps",
"navigation_bar.blocks": "Engellenen kullanıcılar",
"navigation_bar.community_timeline": "Yerel zaman tüneli",
"navigation_bar.direct": "Direct messages",

@ -162,6 +162,7 @@
"missing_indicator.label": "Не знайдено",
"missing_indicator.sublabel": "Ресурс не знайдений",
"mute_modal.hide_notifications": "Приховати сповіщення від користувача?",
"navigation_bar.apps": "Mobile apps",
"navigation_bar.blocks": "Заблоковані користувачі",
"navigation_bar.community_timeline": "Локальна стрічка",
"navigation_bar.direct": "Прямі повідомлення",

@ -162,6 +162,7 @@
"missing_indicator.label": "找不到内容",
"missing_indicator.sublabel": "无法找到此资源",
"mute_modal.hide_notifications": "同时隐藏来自这个用户的通知",
"navigation_bar.apps": "Mobile apps",
"navigation_bar.blocks": "已屏蔽的用户",
"navigation_bar.community_timeline": "本站时间轴",
"navigation_bar.direct": "私信",

@ -162,6 +162,7 @@
"missing_indicator.label": "找不到內容",
"missing_indicator.sublabel": "無法找到內容",
"mute_modal.hide_notifications": "隱藏來自這用戶的通知嗎?",
"navigation_bar.apps": "Mobile apps",
"navigation_bar.blocks": "被你封鎖的用戶",
"navigation_bar.community_timeline": "本站時間軸",
"navigation_bar.direct": "個人訊息",

@ -162,6 +162,7 @@
"missing_indicator.label": "找不到",
"missing_indicator.sublabel": "找不到此資源",
"mute_modal.hide_notifications": "隱藏來自這個使用者的通知?",
"navigation_bar.apps": "Mobile apps",
"navigation_bar.blocks": "封鎖的使用者",
"navigation_bar.community_timeline": "本地時間軸",
"navigation_bar.direct": "私訊",

@ -50,6 +50,12 @@ code {
color: $highlight-text-color;
}
}
code {
border-radius: 3px;
padding: 0.2em 0.4em;
background: darken($ui-base-color, 12%);
}
}
.card {

@ -7,7 +7,7 @@ class OStatus::Activity::Creation < OStatus::Activity::Base
return [nil, false]
end
return [nil, false] if @account.suspended?
return [nil, false] if @account.suspended? || invalid_origin?
RedisLock.acquire(lock_options) do |lock|
if lock.acquired?
@ -204,6 +204,15 @@ class OStatus::Activity::Creation < OStatus::Activity::Base
end
end
def invalid_origin?
return false unless id.start_with?('http') # Legacy IDs cannot be checked
needle = Addressable::URI.parse(id).normalized_host
!(needle.casecmp(@account.domain).zero? ||
needle.casecmp(Addressable::URI.parse(@account.remote_url.presence || @account.uri).normalized_host).zero?)
end
def lock_options
{ redis: Redis.current, key: "create:#{id}" }
end

@ -196,6 +196,13 @@ class Account < ApplicationRecord
ResolveAccountService.new.call(acct)
end
def suspend!
transaction do
user&.disable! if local?
update!(suspended: true)
end
end
def unsuspend!
transaction do
user&.enable! if local?

@ -0,0 +1,7 @@
# frozen_string_literal: true
class Form::AdminSuspensionConfirmation
include ActiveModel::Model
attr_accessor :acct, :report_id
end

@ -395,7 +395,8 @@ class Status < ApplicationRecord
def account_silencing_filter(account)
if account.silenced?
including_silenced_accounts
including_myself = left_outer_joins(:account).where(account_id: account.id).references(:accounts)
excluding_silenced_accounts.or(including_myself)
else
excluding_silenced_accounts
end

@ -11,7 +11,7 @@ class ActivityPub::FetchRemoteAccountService < BaseService
@json = if prefetched_body.nil?
fetch_resource(uri, id)
else
body_to_json(prefetched_body)
body_to_json(prefetched_body, compare_id: id ? uri : nil)
end
return if !supported_context? || !expected_type? || (break_on_redirect && @json['movedTo'].present?)

@ -17,7 +17,7 @@ class ActivityPub::FetchRemoteKeyService < BaseService
@json = fetch_resource(uri, id)
end
else
@json = body_to_json(prefetched_body)
@json = body_to_json(prefetched_body, compare_id: id ? uri : nil)
end
return unless supported_context?(@json) && expected_type?

@ -8,7 +8,7 @@ class ActivityPub::FetchRemoteStatusService < BaseService
@json = if prefetched_body.nil?
fetch_resource(uri, id, on_behalf_of)
else
body_to_json(prefetched_body)
body_to_json(prefetched_body, compare_id: id ? uri : nil)
end
return unless supported_context? && expected_type?

@ -44,6 +44,7 @@ class BackupService < BaseService
Gem::Package::TarWriter.new(gz) do |tar|
dump_media_attachments!(tar)
dump_outbox!(tar)
dump_likes!(tar)
dump_actor!(tar)
end
end
@ -82,6 +83,8 @@ class BackupService < BaseService
actor[:icon][:url] = 'avatar' + File.extname(actor[:icon][:url]) if actor[:icon]
actor[:image][:url] = 'header' + File.extname(actor[:image][:url]) if actor[:image]
actor[:outbox] = 'outbox.json'
actor[:likes] = 'likes.json'
download_to_tar(tar, account.avatar, 'avatar' + File.extname(account.avatar.path)) if account.avatar.exists?
download_to_tar(tar, account.header, 'header' + File.extname(account.header.path)) if account.header.exists?
@ -91,15 +94,30 @@ class BackupService < BaseService
tar.add_file_simple('actor.json', 0o444, json.bytesize) do |io|
io.write(json)
end
end
def dump_likes!(tar)
collection = serialize(ActivityPub::CollectionPresenter.new(id: 'likes.json', type: :ordered, size: 0, items: []), ActivityPub::CollectionSerializer)
Status.reorder(nil).joins(:favourites).includes(:account).merge(account.favourites).find_in_batches do |statuses|
statuses.each do |status|
collection[:totalItems] += 1
collection[:orderedItems] << ActivityPub::TagManager.instance.uri_for(status)
end
tar.add_file_simple('key.pem', 0o444, account.private_key.bytesize) do |io|
io.write(account.private_key)
GC.start
end
json = Oj.dump(collection)
tar.add_file_simple('likes.json', 0o444, json.bytesize) do |io|
io.write(json)
end
end
def collection_presenter
ActivityPub::CollectionPresenter.new(
id: account_outbox_url(account),
id: 'outbox.json',
type: :ordered,
size: account.statuses_count,
items: []

@ -27,7 +27,7 @@ class FetchRemoteAccountService < BaseService
account = author_from_xml(xml.at_xpath('/xmlns:feed', xmlns: OStatus::TagManager::XMLNS), false)
UpdateRemoteProfileService.new.call(xml, account) unless account.nil?
UpdateRemoteProfileService.new.call(xml, account) if account.present? && trusted_domain?(url, account)
account
rescue TypeError
@ -37,4 +37,9 @@ class FetchRemoteAccountService < BaseService
Rails.logger.debug 'Invalid XML or missing namespace'
nil
end
def trusted_domain?(url, account)
domain = Addressable::URI.parse(url).normalized_host
domain.casecmp(account.domain).zero? || domain.casecmp(Addressable::URI.parse(account.remote_url.presence || account.uri).normalized_host).zero?
end
end

@ -17,11 +17,11 @@
.information-board__section
%span= t 'about.user_count_before'
%strong= number_with_delimiter @instance_presenter.user_count
%span= t 'about.user_count_after'
%span= t 'about.user_count_after', count: @instance_presenter.user_count
.information-board__section
%span= t 'about.status_count_before'
%strong= number_with_delimiter @instance_presenter.status_count
%span= t 'about.status_count_after'
%span= t 'about.status_count_after', count: @instance_presenter.status_count
.row__mascot
.landing-page__mascot
= image_tag asset_pack_path('elephant_ui_plane.svg')

@ -55,11 +55,11 @@
.information-board__section
%span= t 'about.user_count_before'
%strong= number_with_delimiter @instance_presenter.user_count
%span= t 'about.user_count_after'
%span= t 'about.user_count_after', count: @instance_presenter.user_count
.information-board__section
%span= t 'about.status_count_before'
%strong= number_with_delimiter @instance_presenter.status_count
%span= t 'about.status_count_after'
%span= t 'about.status_count_after', count: @instance_presenter.status_count
.row__mascot
.landing-page__mascot
= image_tag asset_pack_path('elephant_ui_plane.svg')
@ -87,11 +87,11 @@
.information-board__section
%span= t 'about.user_count_before'
%strong= number_with_delimiter @instance_presenter.user_count
%span= t 'about.user_count_after'
%span= t 'about.user_count_after', count: @instance_presenter.user_count
.information-board__section
%span= t 'about.status_count_before'
%strong= number_with_delimiter @instance_presenter.status_count
%span= t 'about.status_count_after'
%span= t 'about.status_count_after', count: @instance_presenter.status_count
.row__mascot
.landing-page__mascot
= image_tag asset_pack_path('elephant_ui_plane.svg')

@ -123,7 +123,7 @@
- if @account.suspended?
= link_to t('admin.accounts.undo_suspension'), admin_account_suspension_path(@account.id), method: :delete, class: 'button' if can?(:unsuspend, @account)
- else
= link_to t('admin.accounts.perform_full_suspension'), admin_account_suspension_path(@account.id), method: :post, data: { confirm: t('admin.accounts.are_you_sure') }, class: 'button' if can?(:suspend, @account)
= link_to t('admin.accounts.perform_full_suspension'), new_admin_account_suspension_path(@account.id), class: 'button' if can?(:suspend, @account)
- if !@account.local? && @account.hub_url.present?
%hr.spacer/

@ -5,7 +5,7 @@
- if @report.unresolved?
%div{ style: 'float: right' }
= link_to t('admin.reports.silence_account'), admin_report_path(@report, outcome: 'silence'), method: :put, class: 'button'
= link_to t('admin.reports.suspend_account'), admin_report_path(@report, outcome: 'suspend'), method: :put, class: 'button'
= link_to t('admin.reports.suspend_account'), new_admin_account_suspension_path(@report.target_account_id, report_id: @report.id), class: 'button'
%div{ style: 'float: left' }
= link_to t('admin.reports.mark_as_resolved'), admin_report_path(@report, outcome: 'resolve'), method: :put, class: 'button'
- else

@ -0,0 +1,25 @@
- content_for :page_title do
= t('admin.suspensions.title', acct: @account.acct)
= simple_form_for @suspension, url: admin_account_suspension_path(@account.id), method: :post do |f|
%p.hint= t('admin.suspensions.warning_html')
.fields-group
%ul
%li.negative-hint
= number_to_human @account.statuses_count, strip_insignificant_zeros: true
= t('accounts.posts')
%li.negative-hint
= number_to_human @account.following_count, strip_insignificant_zeros: true
= t('accounts.following')
%li.negative-hint
= number_to_human @account.followers_count, strip_insignificant_zeros: true
= t('accounts.followers')
%p.hint= t('admin.suspensions.hint_html', value: content_tag(:code, @account.acct))
= f.input :acct
= f.input_field :report_id, as: :hidden
.actions
= f.button :button, t('admin.suspensions.proceed'), type: :submit, class: 'negative'

@ -1,22 +1,25 @@
---
ar:
about:
about_hashtag_html: هذه هي الرسائل العامة مع الكلمات الدلالية <strong> 1#%{hashtag}</strong>. يمكنك التفاعل معهم إذا كان لديك حساب في أي مكان على الإنترنت المتحد.
about_mastodon_html: ماستدون شبكة إجتماعية <em>حرة و مفتوحة المصدر</em>. هو بديل <em>لامركزي</em> لمنصات تجارية ، يمكنك من تجنب احتكار شركة واحدة للإتصالات الخاصة بك. يمكنك اختيار أي خادم تثق فيه. أيهما تختار، يمكنك التفاعل مع أي شخص آخر على الشبكة. يمكن لأي شخص تنصيب و تشغيل خادم ماستدون خاص به والمشاركة في <em>الشبكات الاجتماعية</em> بكل شفافية.
about_hashtag_html: هذه تبويقات متاحة للجمهور تحتوي على الكلمات الدلالية <strong>#%{hashtag}</strong>. يمكنك التفاعل معها إن كان لديك حساب في أي مكان على الفديفرس.
about_mastodon_html: ماستدون شبكة إجتماعية مبنية على أسُس بروتوكولات برمجيات الويب الحرة و مفتوحة المصدر. و هو لامركزي تمامًا كالبريد الإلكتروني.
about_this: عن مثيل الخادوم هذا
administered_by: 'يديره :'
closed_registrations: التسجيلات في مثيل الخادوم هذا مُغلقة حاليًا.
administered_by: 'يُديره :'
api: واجهة برمجة التطبيقات
apps: تطبيقات الأجهزة المحمولة
closed_registrations: التسجيلات في مثيل الخادوم هذا مُغلقة حاليًا. غير أنه بامكانك العثور على خادم آخر لإنشاء حسابك و مِن ثم النفاذ إلى نفس الشبكة مِن هناك.
contact: للتواصل معنا
contact_missing: غير محدد
contact_missing: لم يتم تعيينه
contact_unavailable: غير متوفر
documentation: الدليل
extended_description_html: |
<h3>مكان جيد للقواعد</h3>
<p>لا يوجد تفصيل طويل حتى الآن.</p>
<p>لم يتم بعد إدخال الوصف الطويل.</p>
features:
humane_approach_body: تعلُّمًا مِن فشل الشبكات الأخرى، غاية ماستدون هي بلوغ الخيارات الأخلاقية في التصميم لمُحارَبة إسائة إستعمال شبكات التواصل الإجتماعية.
humane_approach_title: أسلوب يعيد الإعتبار للإنسان
humane_approach_title: أسلوب يُعيد الإعتبار للفَرد
not_a_product_body: ماستدون ليس شبكة تجارية. لا يحتوي على إعلانات و لا يقوم باستغلال البيانات و لا هو بِبُستان مُسيَّج. لا تحكم فيه وليس له أية هيئةٍ مركزيةٍ.
not_a_product_title: إنك إنسان و لست سلعة
not_a_product_title: إنك فرد و لست سلعة
real_conversation_body: يُمكنكم التعبير عن آرائكم بكل حرية بفضل 500 حرف و انتقاء دقيق للمحتوى و الوسائط بفضل أدوات التحذير التي هي بين أيديكم.
real_conversation_title: مبني لتحقيق تواصل حقيقي
within_reach_body: إبقوا على اتصال دائم بأصدقائكم حيثما كانوا عبر عدة تطبيقات لنظام آي أواس و أندرويد و عدة منصات أخرى بفضل واجهة برمجية للتطبيقات و بيئة صديقة للتطوير.
@ -25,22 +28,28 @@ ar:
hosted_on: ماستدون مُستضاف على %{domain}
learn_more: تعلم المزيد
other_instances: خوادم أخرى
privacy_policy: سياسة الخصوصية
source_code: الشفرة المصدرية
status_count_after: منشورا
status_count_before: نشروا
terms: شروط الخدمة
user_count_after: مستخدم
user_count_before: يستضيف
what_is_mastodon: ما هو ماستدون ؟
accounts:
choices_html: 'توصيات %{name} :'
follow: إتبع
followers: متابِعون
following: يتابعون
joined: انضم·ت في %{date}
media: الوسائط
moved_html: "%{name} إنتقلَ إلى %{new_profile_link} :"
network_hidden: إنّ المعطيات غير متوفرة
nothing_here: لا يوجد أي شيء هنا !
people_followed_by: الأشخاص الذين يتبعهم %{name}
people_who_follow: الأشخاص الذين يتبعون %{name}
pin_errors:
following: يجب أن تكون مِن متابعي حساب الشخص الذي تريد إبرازه
posts: منشورات
posts_with_replies: التبويقات و الردود
reserved_username: إسم المستخدم محجوز
@ -176,6 +185,7 @@ ar:
unsuspend_account: لقد قام %{name} بإلغاء التعليق المفروض على حساب %{target}
update_custom_emoji: "%{name} قام بتحديث الإيموجي %{target}"
update_status: لقد قام %{name} بتحديث منشور %{target}
deleted_status: "(منشور محذوف)"
title: سِجلّ التفتيش و المعاينة
custom_emojis:
by_domain: النطاق
@ -203,15 +213,24 @@ ar:
updated_msg: تم تحديث الإيموجي بنجاح !
upload: رفع
dashboard:
backlog: الأعمال المتراكمة
config: الإعداد
feature_deletions: الحسابات المحذوفة
feature_invites: روابط الدعوات
feature_registrations: التسجيلات
feature_relay: المُرحّل الفديرالي
features: الميّزات
hidden_service: الفيديرالية مع الخدمات الخفية
open_reports: فتح التقريرات
recent_users: أحدث المستخدِمين
search: البحث النصي الكامل
single_user_mode: وضع المستخدِم الأوحد
software: البرنامج
space: المساحة المستخدَمة
title: لوح المراقبة
total_users: إجمالي المستخدِمين
trends: المؤشرات
week_interactions: تفاعُلات هذا الأسبوع
week_users_active: نشط هذا الأسبوع
week_users_new: مستخدِمين هذا الأسبوع
domain_blocks:
@ -263,6 +282,7 @@ ar:
search: البحث
title: مثيلات الخوادم المعروفة
invites:
deactivate_all: تعطيلها كافة
filter:
all: الكل
available: المتوفرة
@ -271,6 +291,7 @@ ar:
title: الدعوات
relays:
add_new: إضافة مُرحّل جديد
enable_hint: عندما تقوم بتنشيط هذه الميزة، سوف يشترك خادومك في جميع التبويقات القادمة مِن هذا المُرحِّل و سيشرع كذلك بإرسال كافة التبويقات العمومية إليه.
inbox_url: رابط المُرحّل
setup: إعداد اتصال بمُرحّل
status: الحالة
@ -332,6 +353,8 @@ ar:
peers_api_enabled:
desc_html: أسماء النطاقات التي إلتقى بها مثيل الخادوم على البيئة الموحَّدة فيديفرس
title: نشر عدد مثيلات الخوادم التي تم مصادفتها
preview_sensitive_media:
title: إظهار الصور الحساسة في مُعاينات أوبن غراف
registrations:
closed_message:
desc_html: يتم عرضه على الصفحة الرئيسية عندما يتم غلق تسجيل الحسابات الجديدة. يمكنكم إستخدام علامات الأيتش تي أم أل HTML
@ -357,6 +380,9 @@ ar:
site_description_extended:
desc_html: مكان جيد لمدونة قواعد السلوك والقواعد والإرشادات وغيرها من الأمور التي تحدد حالتك. يمكنك استخدام علامات HTML
title: الوصف المُفصّل للموقع
site_short_description:
desc_html: يتم عرضه في لوحة جانبية و في البيانات الوصفية. قم بوصف ماستدون و ما يميز هذا السيرفر عن الآخرين في فقرة موجزة. إن تركت الحقل فارغا فسوف يتم عرض الوصف الإفتراضي لمثيل الخادوم.
title: مقدمة وصفية قصيرة عن مثيل الخادوم
site_terms:
desc_html: يمكنك كتابة سياسة الخصوصية الخاصة بك ، شروط الخدمة أو غيرها من القوانين. يمكنك استخدام علامات HTML
title: شروط الخدمة المخصصة
@ -378,6 +404,7 @@ ar:
media:
title: الوسائط
no_media: لا يوجد وسائط
no_status_selected: لم يطرأ أي تغيير على أي منشور بما أنه لم يتم اختيار أي واحد
title: منشورات الحساب
with_media: بالوسائط
subscriptions:
@ -509,7 +536,13 @@ ar:
success:
one: جارية عملية حظر المتابِعين بسلاسة من نطاق آخر ...
other: جارية عملية حظر المتابِعين بسلاسة من %{count} نطاقات أخرى ...
true_privacy_html: تذكر دائمًا أنّ <strong>الخصوصية التامة لا يمكن بلوغها إلّا بالتعمية و التشفير من طرف إلى آخَر</strong>.
unlocked_warning_html: يمكن لأي كان متابعة حسابك و الإطلاع مباشرة على تبويقاتك. إستخدِم %{lock_link} لمُعاينة أو رفض طلبات المتابِعين الجُدُد.
unlocked_warning_title: إنّ حسابك غير مقفل
footer:
developers: المطورون
more: المزيد …
resources: الموارد
generic:
changes_saved_msg: تم حفظ التعديلات بنجاح !
save_changes: حفظ التغييرات
@ -524,6 +557,7 @@ ar:
following: قائمة المستخدمين المتبوعين
muting: قائمة الكتم
upload: تحميل
in_memoriam_html: في ذكرى.
invites:
delete: تعطيل
expired: إنتهت صلاحيتها
@ -617,11 +651,14 @@ ar:
publishing: النشر
web: الويب
remote_follow:
acct: قم بإدخال عنوان حسابك username@domain الذي من خلاله تود المتابعة
acct: قم بإدخال عنوان حسابك username@domain الذي من خلاله تود النشاط
missing_resource: تعذر العثور على رابط التحويل المطلوب الخاص بحسابك
no_account_html: أليس عندك حساب بعدُ ؟ يُمْكنك <a href='%{sign_up_path}' target='_blank'>التسجيل مِن هنا</a>
proceed: أكمل المتابعة
prompt: 'إنك بصدد متابعة :'
remote_interaction:
proceed: إبدأ التفاعل
prompt: 'تريد التفاعُل مع هذا التبويق:'
remote_unfollow:
error: خطأ
title: العنوان
@ -691,6 +728,7 @@ ar:
video:
one: "%{count} فيديو"
other: "%{count} فيديوهات"
boosted_from_html: تم إعادة ترقيته مِن %{acct_link}
content_warning: 'تحذير عن المحتوى : %{warning}'
disallowed_hashtags:
one: 'يحتوي على وسم ممنوع : %{tags}'
@ -701,9 +739,10 @@ ar:
pin_errors:
limit: لقد بلغت الحد الأقصى للتبويقات المدبسة
ownership: لا يمكن تدبيس تبويق نشره شخص آخر
private: لا يمكن تثبيت تبويق لم يُنشر للعامة
private: لا يمكن تدبيس تبويق لم يُنشر للعامة
reblog: لا يمكن تثبيت ترقية
show_more: أظهر المزيد
sign_in_to_participate: قم بتسجيل الدخول للمشاركة في هذه المحادثة
title: '%{name} : "%{quote}"'
visibilities:
private: إعرض فقط لمتتبعيك
@ -725,6 +764,7 @@ ar:
time:
formats:
default: "%b %d, %Y, %H:%M"
month: "%b %Y"
two_factor_authentication:
code_hint: قم بإدخال الرمز المُوَلّد عبر تطبيق المصادقة للتأكيد
description_html: في حال تفعيل <strong>المصادقة بخطوتين </strong>، فتسجيل الدخول يتطلب منك أن يكون بحوزتك هاتفك النقال قصد توليد الرمز الذي سيتم إدخاله.
@ -734,6 +774,7 @@ ar:
enabled_success: تم تفعيل المصادقة بخطوتين بنجاح
generate_recovery_codes: توليد رموز الإسترجاع
instructions_html: "<strong>قم بمسح رمز الكيو آر عبر Google Authenticator أو أي تطبيق TOTP على جهازك</strong>. من الآن فصاعدا سوف يقوم ذاك التطبيق بتوليد رموز يجب عليك إدخالها عند تسجيل الدخول."
lost_recovery_codes: تُمكّنك رموز الإسترجاع الإحتاطية مِن استرجاع النفاذ إلى حسابك في حالة فقدان جهازك المحمول. إن ضاعت منك هذه الرموز فبإمكانك إعادة توليدها مِن هنا و إبطال الرموز القديمة.
manual_instructions: 'في حالة تعذّر مسح رمز الكيو آر أو طُلب منك إدخال يدوي، يُمْكِنك إدخال هذا النص السري على التطبيق :'
recovery_codes: النسخ الإحتياطي لرموز الإسترجاع
recovery_codes_regenerated: تم إعادة توليد رموز الإسترجاع الإحتياطية بنجاح
@ -741,16 +782,22 @@ ar:
wrong_code: الرمز الذي أدخلته غير صالح ! تحقق من صحة الوقت على الخادم و الجهاز ؟
user_mailer:
backup_ready:
explanation: ''
explanation: لقد قمت بطلب نسخة كاملة لحسابك على ماستدون. إنها متوفرة الآن للتنزيل !
subject: نسخة بيانات حسابك جاهزة للتنزيل
title: المغادرة بأرشيف الحساب
welcome:
edit_profile_action: تهيئة الملف الشخصي
explanation: ها هي بعض النصائح قبل بداية الإستخدام
final_action: اشرَع في النشر
final_step: |-
يمكنك الشروع في النشر في الحين ! حتى و إن لم كنت لا تمتلك متابِعين بعدُ، يمكن للآخرين الإطلاع على منشوراتك الموجهة للجمهور على الخيط المحلي أو إن قمت باستخدام وسوم.
إبدأ بتقديم نفسك باستعمال وسم #introductions.
full_handle: عنوانك الكامل
full_handle_hint: هذا هو ما يجب تقديمه لأصدقائك قصد أن يكون بإمكانهم متابَعتك أو مُراسَلتك حتى و إن كانت حساباتهم على خوادم أخرى.
review_preferences_action: تعديل التفضيلات
subject: أهلًا بك على ماستدون
tip_bridge_html: إن كنت قادما مِن تويتر، باستطاعتك العثور على أصدقائك على ماستدون باستخدام <a href="%{bridge_url}">تطبيق الجسر</a> بشرط أن يكون أصدقاؤك قد سجلوا حساباتهم على الجسر مِن قبل، و إلّا فلن تنجح العملية !
tip_following: أنت تتبع تلقائيا مديري و مديرات الخادم. للعثور على أشخاص مميزين أو قد تهمك حساباتهم بإمكانك الإطلاع على الخيوط المحلية و كذا الفدرالية.
tips: نصائح
title: أهلاً بك، %{name} !
users:

@ -6,6 +6,7 @@ cs:
about_this: O této instanci
administered_by: 'Server spravuje:'
api: API
apps: Mobilní aplikace
closed_registrations: Registrace na této instanci jsou momentálně uzavřené. Můžete si však najít jinou instanci, vytvořit si na ní účet a získat z ní přístup do naprosto stejné sítě.
contact: Kontakt
contact_missing: Nenastaveno
@ -36,6 +37,7 @@ cs:
user_count_before: Domov
what_is_mastodon: Co je Mastodon?
accounts:
choices_html: 'Volby uživatele %{name}:'
follow: Sledovat
followers: Sledovatelé
following: Sleduje
@ -46,6 +48,8 @@ cs:
nothing_here: Tady nic není!
people_followed_by: Lidé, které %{name} sleduje
people_who_follow: Lidé, kteří sledují uživatele %{name}
pin_errors:
following: Musíte již sledovat osobu, kterou chcete podpořit
posts: Tooty
posts_with_replies: Tooty a odpovědi
reserved_username: Toto uživatelské jméno je rezervováno
@ -181,6 +185,7 @@ cs:
unsuspend_account: "%{name} zrušil/a suspenzaci účtu uživatele %{target}"
update_custom_emoji: "%{name} aktualizoval/a emoji %{target}"
update_status: "%{name} aktualizoval/a příspěvek uživatele %{target}"
deleted_status: "(smazaný příspěvek)"
title: Záznam auditu
custom_emojis:
by_domain: Doména
@ -277,6 +282,7 @@ cs:
search: Hledat
title: Známé instance
invites:
deactivate_all: Deaktivovat vše
filter:
all: Vše
available: Dostupné
@ -398,6 +404,7 @@ cs:
media:
title: Média
no_media: Žádná média
no_status_selected: Nebyly změněny žádné příspěvky, neboť žádné nebyly vybrány
title: Příspěvky účtu
with_media: S médii
subscriptions:
@ -649,11 +656,14 @@ cs:
publishing: Publikování
web: Web
remote_follow:
acct: Napište svou přezdívku@doménu, ze které chcete sledovat
acct: Napište svou přezdívku@doménu, ze které chcete jednat
missing_resource: Nemůžeme najít požadované přesměrovací URL pro váš účet
no_account_html: Ještě nemáte účet? Můžete se <a href='%{sign_up_path}' target='_blank'>registrovat zde</a>
proceed: Pokračujte pro sledování
prompt: 'Budete sledovat:'
remote_interaction:
proceed: Pokračujte k interakci
prompt: 'Chcete interagovat s tímto tootem:'
remote_unfollow:
error: Chyba
title: Nadpis
@ -737,6 +747,7 @@ cs:
private: Nelze připnout neveřejné tooty
reblog: Nelze připnout boostnutí
show_more: Zobrazit více
sign_in_to_participate: Chcete-li se účastnit této konverzace, přihlaste se
title: '%{name}: "%{quote}"'
visibilities:
private: Pouze pro sledovatele
@ -748,7 +759,7 @@ cs:
stream_entries:
pinned: Připnutý toot
reblogged: boostnutý
sensitive_content: CItlivý obsah
sensitive_content: Citlivý obsah
terms:
body_html: |
<h2>Zásady soukromí</h2>

@ -6,6 +6,7 @@ da:
about_this: Om
administered_by: 'Administreret af:'
api: API
apps: Apps til mobilen
closed_registrations: Registreringer er på nuværrende tidspunkt lukkede for denne instans. Du kan dog finde andre instanser du kan oprette dig på og få adgang til det samme netværk derfra.
contact: Kontakt
contact_missing: Ikke sat
@ -36,6 +37,7 @@ da:
user_count_before: Hjem til
what_is_mastodon: Hvad er Mastodon?
accounts:
choices_html: "%{name}s valg:"
follow: Følg
followers: Følgere
following: Følger
@ -46,6 +48,8 @@ da:
nothing_here: Der er intet her!
people_followed_by: Folk som %{name} følger
people_who_follow: Folk der følger %{name}
pin_errors:
following: Du er nødt til at følge den person du ønsker at støtte
posts: Trut
posts_with_replies: Trut og svar
reserved_username: Brugernavnet er allerede taget
@ -181,6 +185,7 @@ da:
unsuspend_account: "%{name} fjernede udelukkelsen fra %{target}s konto"
update_custom_emoji: "%{name} opdaterede humørikonet %{target}"
update_status: "%{name} opdaterede status for %{target}"
deleted_status: "(slettet status)"
title: Revisionslog
custom_emojis:
by_domain: Domæne
@ -266,6 +271,7 @@ da:
domain: Domæne
new:
create: Tilføj domæne
title: Ny email blokade opslag
title: Email sortliste
instances:
account_count: Kendte konti
@ -274,6 +280,7 @@ da:
search: Søg
title: Kendte instanser
invites:
deactivate_all: Deaktiver alle
filter:
all: Alle
available: Tilgængelig
@ -318,19 +325,26 @@ da:
suspend_account: Udeluk konto
target: Mål
title: Anmeldelser
unassign: Utildel
unresolved: Uløst
updated_at: Opdateret
view: Se
settings:
bootstrap_timeline_accounts:
title: Standard følger for nye brugere
contact_information:
email: Forretnings email
username: Kontakt brugernavn
hero:
desc_html: Vist på forsiden. Mindst 600x100px anbefales. Hvis ikke sat, vil dette falde tilbage til billedet for instansen
title: Billede af helt
peers_api_enabled:
title: Udgiv liste over opdagede instanser
preview_sensitive_media:
title: Vis følsomt medie i OpenGraph forhåndsvisninger
registrations:
closed_message:
desc_html: Vist på forsiden når registreringer er lukkede. Du kan bruge HTML tags
title: Besked for lukkede registreringer
deletion:
desc_html: Tillad alle at slette deres konto
@ -341,6 +355,8 @@ da:
open:
desc_html: Tillad alle at oprette en konto
title: Åben registrering
show_known_fediverse_at_about_page:
title: Vis kendte fedivers på tidslinje forhåndsvisning
show_staff_badge:
desc_html: Vis personale emblem på en brugerside
title: Vis personale emblem
@ -351,6 +367,7 @@ da:
site_title: Navn på instans
timeline_preview:
desc_html: Vis offentlig tidslinje på landingssiden
title: Tidslinje forhåndsvisning
title: Indstillinger for side
statuses:
back_to_account: Tilbage til kontosiden
@ -455,6 +472,7 @@ da:
csv: CSV
follows: Du følger
mutes: Du dæmper
storage: Medie lager
filters:
contexts:
home: Hjemme tidslinje
@ -537,11 +555,13 @@ da:
favourite:
body: 'Din status blev favoriseret af %{name}:'
subject: "%{name} favoriserede din status"
title: Ny favorit
follow:
body: "%{name} følger dig nu!"
subject: "%{name} følger dig nu"
title: Ny følger
follow_request:
action: Håndter følgeranmodninger
body: "%{name} har anmodet om at følge dig"
mention:
action: Svar
@ -576,6 +596,8 @@ da:
no_account_html: Har du ikke en konto? Du kan <a href='%{sign_up_path}' target='_blank'>oprette dig her</a>
proceed: Fortsæt for at følge
prompt: 'Du er ved at følge:'
remote_interaction:
prompt: 'Du ønsker at interagere med dette trut:'
remote_unfollow:
error: Fejl
title: Titel
@ -609,6 +631,7 @@ da:
delete: Sletning af konto
development: Udvikling
edit_profile: Rediger profil
export: Data exportering
followers: Godkendte følgere
import: Importer
migrate: Konto migrering
@ -633,10 +656,11 @@ da:
over_character_limit: grænsen på %{max} tegn er overskredet
pin_errors:
limit: Du har allerede fastgjort det maksimale antal trut
ownership: Dun kan ikke fastgøre en anden persons toot
ownership: Du kan ikke fastgøre en anden persons trut
private: Ikke offentlige trut kan ikke blive fastgjort
reblog: Fremhævede trut kan ikke fastgøres
show_more: Vis mere
sign_in_to_participate: Log ind for at deltage i samtalen
title: '%{name}: "%{quote}"'
visibilities:
private: Kun-følgere
@ -646,7 +670,7 @@ da:
unlisted: Ikke listet
unlisted_long: Alle kan se, men vil ikke være listet på offentlige tidslinjer
stream_entries:
pinned: Fastgjort toot
pinned: Fastgjort trut
reblogged: fremhævede
sensitive_content: Følsomt indhold
terms:
@ -680,10 +704,12 @@ da:
edit_profile_action: Opsæt profil
explanation: Her er nogle råd til at starte med
final_action: Kom igang med at poste
final_step: 'Start med at skrive opslag! Selv uden følgere vil dine offentlige beskeder kunne ses af andre, foreksempel på den lokale tidslinje og i hashtags. Måske kunne du tænke dig at introducere dig selv på #introductions hashtagget.'
full_handle: Dit fulde brugernavn
full_handle_hint: Dette er hvad du vil fortælle dine venner så de kan sende dig beskeder eller følge dig fra andre instanser.
review_preferences_action: Ændre præferencer
subject: Velkommen til Mastodon
tip_bridge_html: Hvis du kommer fra Twitter, kan du finde dine venner på Mastodon ved at bruge <a href="%{bridge_url}">bridge appen</a>. Den virker dog kun hvis de også bruger bridge appen!
tip_following: Du følger som standard administratoren(e) for den server du er på. For at finde flere folk, tjek både den lokale og fælles tidslinje.
tip_local_timeline: Den lokale tidslinje er et have af folk i %{instance}. Disse er dine umiddelbare naboer!
tip_mobile_webapp: Hvis din mobil browser tilbyder dig at tilføje Mastodon til din hjemmeskærm, kan du modtage push meddelelser. Dette opfører sig på mange måder ligesom en almindelig app!

@ -4,6 +4,7 @@ da:
confirmations:
confirmed: Din email adresse er blevet succesfuldt bekræftet.
send_instructions: Du vil modtage en mail med instrukser for hvordan du bekræfter din email adresse om få minutter. Tjek venligst din spam mappe hvis du ikke har modtaget denne email.
send_paranoid_instructions: Hvis din email adresse allerede findes i vores database, vil du modtage en email med instrukser for hvordan du bekræfter din email adresse om få minutter. Tjek gerne din spam mappe hvis du ikke modtager denne email.
failure:
already_authenticated: Du er allerede logget ind.
inactive: Din konto er endnu ikke aktiveret.
@ -33,14 +34,32 @@ da:
title: Kodeordet er blevet ændret
reconfirmation_instructions:
explanation: Bekræft den nye adresse for at ændre din email.
extra: Hvis denne ændring ikke blev foretaget af dig, ignorer denne email. Email adressen for denne Mastodon konto vil ikke blive ændret før du følger linket foroven.
subject: 'Mastodon: Bekræft email for %{instance}'
title: Bekræft email adresse
reset_password_instructions:
action: Ændre kodeord
explanation: Du anmodede om et nyt kodeord for din konto.
explanation: Du anmodede om en ny adgangskode for din konto.
extra: Hvis du ikke har anmodet om dette, ignorer denne email. Din adgangskode vil ikke blive ændret før du har fulgt linket foroven og oprettet en ny.
subject: 'Mastodon: Instrukser for nulstilling af adgangskode'
title: Kodeordet er blevet nulstillet
unlock_instructions:
subject: 'Mastodon: Instruktioner for oplåsning'
omniauth_callbacks:
failure: Kunne ikke godkende dig fra %{kind} fordi "%{reason}".
success: Godkendelse fra %{kind} konto lykkedes.
passwords:
no_token: Du kan ikke tilgå denne side uden at komme fra en email om nulstilling af adgangskode. Hvis du kommer fra en email om nulstilling af adgangskode, tjek om du brugte det fulde link der blev angivet.
send_instructions: Hvis din email adresse allerede findes i vores database, vil du modtage et link til nulstilling af adgangskode til din email adresse om få minutter. Tjek din spam mappe hvis du ikke har modtaget denne email.
send_paranoid_instructions: Hvis din email adresse allerede findes i vores database, vil du modtage et link til nulstilling af adgangskode til din email adresse om få minutter. Tjek din spam mappe hvis du ikke har modtaget denne email.
updated: Din adgangskode er nu blevet ændret. Du er nu logget ind.
updated_not_active: Din adgangskode blev ændret.
registrations:
destroyed: Farvel! Din konto er nu annulleret. Vi håber snart at se dig igen.
signed_up: Velkommen! Du har nu tilmeldt dig.
signed_up_but_inactive: Du har nu oprettet dig. Vi kunne dog ikke logge dig ind da din konto endnu ikke er aktiveret.
signed_up_but_locked: Du har nu oprettet dig. Vi kunne dog ikke logge dig ind da din konto er låst.
signed_up_but_unconfirmed: En besked med et bekræftelses link er nu blevet sendt til din email adresse. Følg linket for at aktivere din konti. Tjek din spam mappe hvis du ikke har modtaget denne email.
update_needs_confirmation: Du har succesfuldt opdateret din konto, men vi er nødt til at bekræfte din email adresse. Tjek venligst din email og følg bekræftelses linket for at bekræfte din nye email adresse. Tjek venligst din spam mappe hvis du ikke har modtaget denne email.
updated: Din konto er nu blevet opdateret.
sessions:

@ -78,14 +78,19 @@ da:
errors:
messages:
access_denied: Ejeren af ressourcen eller godkendelses serveren afviste anmodningen.
credential_flow_not_configured: Flytning af ressourceejers adgangskode mislykkedes grundet Doorkeeper.configure.resource_owner_from_credentials ikke er opsat.
invalid_client: Klient autentikationen mislykkedes grundet en ukendt klient, ingen klient autentikation fulgte med, eller en ikke-understøttet metode.
invalid_grant: Autoriseringen er ugyldig, udløbet, ophævet, passer ikke med den henvisnings URI der blev brugt i autoriserings anmodningen, eller blev givet til en anden klient.
invalid_redirect_uri: Ormdirigerings-uri'en der blev angivet er ikke gyldig.
invalid_request: Anmodningen mangler en parametre, inkluderer en ikke understøttet parametre værdi eller er på en eller anden måde deformeret.
invalid_resource_owner: De angivne ressource ejer kredentialer er ikke gyldige, eller ressource ejeren kunne ikke blive fundet
invalid_scope: Det anmodede omfang er ugyldigt, ukendt eller deformeret.
invalid_token:
expired: Adgangs-beviset er udløbet
revoked: Adgangs-beviset er blevet ophævet
unknown: Adgangs-beviset er ugyldigt
resource_owner_authenticator_not_configured: Ressource ejeren kunne ikke blive fundet grundet Doorkeeper.configure.resource_owner_authenticator ikke er konfigureret.
server_error: Autoriserings serveren blev mødt med en uventet betingelse der forhindrede den i at færdiggøre anmodningen.
unauthorized_client: Klienten er ikke godkendt til at udføre denne anmodning ved at bruge denne metode.
unsupported_response_type: Godkendelses serveren understøtter ikke denne type respons.
flash:

@ -5,6 +5,8 @@ uk:
doorkeeper/application:
name: Ім'я
redirect_uri: URI перенаправлення
scopes: Рамки
website: Веб-сайт додатку
errors:
models:
doorkeeper/application:

@ -6,6 +6,7 @@ el:
about_this: Σχετικά
administered_by: 'Διαχειρίζεται από:'
api: API
apps: Εφαρμογές κινητών
closed_registrations: Αυτή τη στιγμή οι εγγραφές σε αυτό τον κόμβο είναι κλειστές. Αλλά! Μπορείς να βρεις έναν άλλο κόμβο για να ανοίξεις λογαριασμό και να έχεις πρόσβαση από εκεί στο ίδιο ακριβώς δίκτυο.
contact: Επικοινωνία
contact_missing: Δεν έχει οριστεί
@ -36,6 +37,7 @@ el:
user_count_before: Σπίτι για
what_is_mastodon: Τι είναι το Mastodon;
accounts:
choices_html: 'Επιλογές του/της %{name}:'
follow: Ακολούθησε
followers: Ακόλουθοι
following: Ακολουθεί
@ -46,6 +48,8 @@ el:
nothing_here: Δεν υπάρχει τίποτα εδώ!
people_followed_by: Χρήστες που ακολουθεί ο/η %{name}
people_who_follow: Χρήστες που ακολουθούν τον/την %{name}
pin_errors:
following: Πρέπει ήδη να ακολουθείς το άτομο που θέλεις να επιδοκιμάσεις
posts: Τουτ
posts_with_replies: Τουτ και απαντήσεις
reserved_username: Το όνομα χρήστη είναι κατειλημμένο
@ -181,6 +185,7 @@ el:
unsuspend_account: Ο/Η %{name} ήρε την παύση του λογαριασμού του χρήστη %{target}
update_custom_emoji: Ο/Η %{name} ενημέρωσε το emoji %{target}
update_status: Ο/Η %{name} ενημέρωσε την κατάσταση του/της %{target}
deleted_status: "(διαγραμμένη δημοσίευση)"
title: Αρχείο ελέγχου
custom_emojis:
by_domain: Τομέας
@ -277,6 +282,7 @@ el:
search: Αναζήτηση
title: Γνωστοί κόμβοι
invites:
deactivate_all: Απενεργοποίηση όλων
filter:
all: Όλες
available: Διαθέσιμες
@ -398,6 +404,7 @@ el:
media:
title: Πολυμέσα
no_media: Χωρίς πολυμέσα
no_status_selected: Καμία δημοσίευση δεν άλλαξε αφού καμία δεν ήταν επιλεγμένη
title: Καταστάσεις λογαριασμού
with_media: Με πολυμέσα
subscriptions:
@ -649,11 +656,14 @@ el:
publishing: Δημοσίευση
web: Διαδίκτυο
remote_follow:
acct: Γράψε το ΌνομαΧρήστη@τομέας από όπου θέλεις να ακολουθήσεις
acct: Γράψε το ΌνομαΧρήστη@τομέα από όπου θέλεις να εκτελέσεις την ενέργεια αυτή
missing_resource: Δεν βρέθηκε το απαιτούμενο URL ανακατεύθυνσης για το λογαριασμό σου
no_account_html: Δεν έχεις λογαριασμό; Μπορείς <a href='%{sign_up_path}' target='_blank'>να γραφτείς εδώ</a>
proceed: Συνέχισε για να ακολουθήσεις
prompt: 'Θα ακολουθήσεις:'
remote_interaction:
proceed: Συνέχισε για να αλληλεπιδράσεις
prompt: 'Θέλεις να αλληλεπιδράσεις με αυτό το τουτ:'
remote_unfollow:
error: Σφάλμα
title: Τίτλος
@ -737,6 +747,7 @@ el:
private: Τα μη δημόσια τουτ δεν καρφιτσώνονται
reblog: Οι προωθήσεις δεν καρφιτσώνονται
show_more: Δείξε περισσότερα
sign_in_to_participate: Εγγράφου για να συμμετάσχεις στη συζήτηση
title: '%{name}: "%{quote}"'
visibilities:
private: Μόνο ακόλουθοι

@ -30,10 +30,14 @@ en:
other_instances: Instance list
privacy_policy: Privacy policy
source_code: Source code
status_count_after: statuses
status_count_after:
one: status
other: statuses
status_count_before: Who authored
terms: Terms of service
user_count_after: users
user_count_after:
one: user
other: users
user_count_before: Home to
what_is_mastodon: What is Mastodon?
accounts:
@ -414,6 +418,12 @@ en:
last_delivery: Last delivery
title: WebSub
topic: Topic
suspensions:
bad_acct_msg: The confirmation value didn't match up. Are you suspending the right account?
hint_html: 'To confirm the suspension of the account, please enter %{value} into the field below:'
proceed: Proceed
title: Suspend %{acct}
warning_html: 'Suspending this account will <strong>irreversibly</strong> delete data from this account, which includes:'
title: Administration
admin_mailer:
new_report:

@ -5,10 +5,13 @@ eo:
about_mastodon_html: Mastodon estas socia reto bazita sur malfermitaj retaj protokoloj kaj sur libera malfermitkoda programo. Ĝi estas sencentra kiel retmesaĝoj.
about_this: Pri
administered_by: 'Administrata de:'
api: API
apps: Poŝtelefonaj aplikaĵoj
closed_registrations: Registriĝoj estas nuntempe fermitaj en ĉi tiu nodo. Tamen, vi povas trovi alian nodon por fari konton kaj aliri al la sama reto de tie.
contact: Kontakti
contact_missing: Ne elektita
contact_unavailable: Ne disponebla
documentation: Dokumentado
extended_description_html: |
<h3>Bona loko por reguloj</h3>
<p>La detala priskribo ne estis elektita.</p>
@ -25,22 +28,28 @@ eo:
hosted_on: "%{domain} estas nodo de Mastodon"
learn_more: Lerni pli
other_instances: Listo de nodoj
privacy_policy: Privateca politiko
source_code: Fontkodo
status_count_after: mesaĝoj
status_count_before: Kie skribiĝis
terms: Uzkondiĉoj
user_count_after: uzantoj
user_count_before: Hejmo de
what_is_mastodon: Kio estas Mastodon?
accounts:
choices_html: 'Proponoj de %{name}:'
follow: Sekvi
followers: Sekvantoj
following: Sekvatoj
joined: Aliĝis je %{date}
media: Aŭdovidaĵoj
moved_html: "%{name} moviĝis al %{new_profile_link}:"
network_hidden: Tiu informo ne estas disponebla
nothing_here: Estas nenio ĉi tie!
people_followed_by: Sekvatoj de %{name}
people_who_follow: Sekvantoj de %{name}
pin_errors:
following: Vi devas sekvi la homon, kiun vi volas proponi
posts: Mesaĝoj
posts_with_replies: Mesaĝoj kaj respondoj
reserved_username: La uzantnomo estas rezervita
@ -176,6 +185,7 @@ eo:
unsuspend_account: "%{name} malhaltigis la konton de %{target}"
update_custom_emoji: "%{name} ĝisdatigis emoĝion %{target}"
update_status: "%{name} ĝisdatigis mesaĝon de %{target}"
deleted_status: "(forigita mesaĝo)"
title: Kontrola protokolo
custom_emojis:
by_domain: Domajno
@ -202,6 +212,27 @@ eo:
update_failed_msg: Ĝisdatigi tiun emoĝion ne eblis
updated_msg: Emoĝio sukcese ĝisdatigita!
upload: Alŝuti
dashboard:
backlog: postigitaj taskoj
config: Agordado
feature_deletions: Forigo de kontoj
feature_invites: Invitaj ligiloj
feature_registrations: Registriĝoj
feature_relay: Federacia ripetilo
features: Funkcioj
hidden_service: Federacio kun kaŝitaj servoj
open_reports: nefermitaj raportoj
recent_users: Lastatempaj uzantoj
search: Tutteksta serĉado
single_user_mode: Unuuzanta reĝimo
software: Programo
space: Memorspaca uzado
title: Kontrolpanelo
total_users: uzantoj sume
trends: Furoroj
week_interactions: interagoj tiusemajne
week_users_active: aktivaj tiusemajne
week_users_new: uzantoj tiusemajne
domain_blocks:
add_new: Aldoni novan
created_msg: Domajna blokado en traktado
@ -251,6 +282,7 @@ eo:
search: Serĉi
title: Konataj nodoj
invites:
deactivate_all: Malaktivigi ĉion
filter:
all: Ĉio
available: Disponebla
@ -343,11 +375,14 @@ eo:
desc_html: Montri teaman insignon en paĝo de uzanto
title: Montri teaman insignon
site_description:
desc_html: Enkonduka alineo en la ĉefpaĝo kaj en informaj etikedoj. Vi povas uzi HTML-etikedojn, kiel <code>&lt;a&gt;</code> kaj <code>&lt;em&gt;</code>.
desc_html: Enkonduka alineo en la ĉefpaĝo. Priskribu la unikaĵojn de ĉi tiu nodo de Mastodon, kaj ĉiujn aliajn gravaĵojn. Vi povas uzi HTML-etikedojn, kiel <code>&lt;a&gt;</code> kaj <code>&lt;em&gt;</code>.
title: Priskribo de la nodo
site_description_extended:
desc_html: Bona loko por viaj sintenaj reguloj, aliaj reguloj, gvidlinioj kaj aliaj aferoj, kiuj apartigas vian nodon. Vi povas uzi HTML-etikedojn
title: Propraj detalaj informoj
site_short_description:
desc_html: Afiŝita en la flankpanelo kaj metadatumaj etikedoj. Priskribu kio estas Mastodon, kaj kio specialas en ĉi tiu nodo, per unu alineo. Se malplena, la priskribo de la nodo estos uzata.
title: Mallonga priskribo de la nodo
site_terms:
desc_html: Vi povas skribi vian propran privatecan politikon, viajn uzkondiĉojn aŭ aliajn leĝaĵojn. Vi povas uzi HTML-etikedojn
title: Propraj uzkondiĉoj
@ -369,6 +404,7 @@ eo:
media:
title: Aŭdovidaĵoj
no_media: Neniu aŭdovidaĵo
no_status_selected: Neniu mesaĝo estis ŝanĝita ĉar neniu estis elektita
title: Mesaĝoj de la konto
with_media: Kun aŭdovidaĵoj
subscriptions:
@ -511,6 +547,10 @@ eo:
true_privacy_html: Bonvolu atenti, ke <strong>vera privateco povas esti atingita nur per ĉifrado de komenco al fino</strong>.
unlocked_warning_html: Iu ajn povas eksekvi vin por tuj vidi viajn privatajn mesaĝojn. %{lock_link} por povi akcepti kaj rifuzi petojn de sekvado.
unlocked_warning_title: Via konto ne estas ŝlosita
footer:
developers: Programistoj
more: Pli…
resources: Rimedoj
generic:
changes_saved_msg: Ŝanĝoj sukcese konservitaj!
save_changes: Konservi ŝanĝojn
@ -619,11 +659,14 @@ eo:
publishing: Publikado
web: Reto
remote_follow:
acct: Enmetu vian uzantnomo@domajno de kie vi volas sekvi
acct: Enmetu vian uzantnomo@domajno de kie vi volas agi
missing_resource: La URL de plusendado ne estis trovita
no_account_html: Ĉu vi ne havas konton? Vi povas <a href='%{sign_up_path}' target='_blank'>registriĝi tie</a>
proceed: Daŭrigi por eksekvi
prompt: 'Vi eksekvos:'
remote_interaction:
proceed: Efektivigi la interagon
prompt: 'Vi volas interagi kun ĉi tiu mesaĝo:'
remote_unfollow:
error: Eraro
title: Titolo
@ -707,6 +750,7 @@ eo:
private: Mesaĝo nepublika ne povas esti alpinglita
reblog: Diskonigo ne povas esti alpinglita
show_more: Montri pli
sign_in_to_participate: Ensaluti por partopreni en la konversacio
title: '%{name}: "%{quote}"'
visibilities:
private: Montri nur al sekvantoj

@ -36,6 +36,7 @@ eu:
user_count_before: Hemen
what_is_mastodon: Zer da Mastodon?
accounts:
choices_html: "%{name}(r)en aukerak:"
follow: Jarraitu
followers: Jarraitzaile
following: Jarraitzen
@ -46,6 +47,8 @@ eu:
nothing_here: Ez dago ezer hemen!
people_followed_by: "%{name}(e)k jarraitzen dituenak"
people_who_follow: "%{name} jarraitzen dutenak"
pin_errors:
following: Onetsi nahi duzun pertsona aurretik jarraitu behar duzu
posts: Toot-ak
posts_with_replies: Toot eta erantzunak
reserved_username: Erabiltzaile-izena erreserbatuta dago
@ -340,6 +343,9 @@ eu:
peers_api_enabled:
desc_html: Instantzia honek fedibertsuan aurkitutako domeinu-izenak
title: Argitaratu aurkitutako instantzien zerrenda
preview_sensitive_media:
desc_html: Beste webguneetako esteken aurrebistak iruditxoa izango du multimedia hunkigarri gisa markatzen bada ere
title: Erakutsi multimedia hunkigarria OpenGraph aurrebistetan
registrations:
closed_message:
desc_html: Azaleko orrian bistaratua izen ematea ixten denean. HTML etiketak erabili ditzakezu
@ -360,11 +366,13 @@ eu:
desc_html: Erakutsi langile banda erabiltzailearen orrian
title: Erakutsi langile banda
site_description:
desc_html: Azaleko orrian eta meta etiketetan agertuko den sarrera paragrafoa. HTML etiketak erabili ditzakezu, zehazki <code>&lt;a&gt;</code> eta <code>&lt;em&gt;</code>.
desc_html: Azaleko orrian agertuko den sarrera paragrafoa. Azaldu zerk egiten duen berezi Mastodon zerbitzari hau eta garrantzizko beste edozer. HTML etiketak erabili ditzakezu, zehazki <code>&lt;a&gt;</code> eta <code>&lt;em&gt;</code>.
title: Instantziaren deskripzioa
site_description_extended:
desc_html: Zure jokabide-koderako toki on bat, arauak, gidalerroak eta zure instantzia desberdin egiten duten bestelakoak. HTML etiketak erabili ditzakezu
title: Informazio hedatu pertsonalizatua
site_short_description:
title: Instantziaren deskripzio laburra
site_terms:
desc_html: Zure pribatutasun politika, erabilera baldintzak eta bestelako testu legalak idatzi ditzakezu. HTML etiketak erabili ditzakezu
title: Erabilera baldintza pertsonalizatuak
@ -498,6 +506,22 @@ eu:
follows: Zuk jarraitutakoak
mutes: Zuk mututukoak
storage: Multimedia biltegiratzea
filters:
contexts:
home: Hasierako denbora-lerroa
notifications: Jakinarazpenak
public: Denbora-lerro publikoak
thread: Elkarrizketak
edit:
title: Editatu iragazkia
errors:
invalid_context: Testuinguru baliogabe edo hutsa eman da
invalid_irreversible: Behin betiko iragazketa hasiera edo jakinarazpenen testuinguruan besterik ez dabil
index:
delete: Ezabatu
title: Iragazkiak
new:
title: Gehitu iragazki berria
followers:
domain: Domeinua
explanation_html: Zure mezuen pribatutasuna bermatu nahi baduzu, nork jarraitzen zaituen jakin behar duzu. <strong>Zure mezu pribatuak zure jarraitzaileak dituzten instantzia guztietara bidaltzen dira</strong>. Instantzia bateko langileek edo softwareak zure pribatutasunari dagokion begirunea ez dutela izango uste baduzu, berrikusi eta kendu jarraitzaileak.
@ -510,6 +534,10 @@ eu:
true_privacy_html: Kontuan izan <strong>egiazko pribatutasuna lortzeko muturretik muturrerako zifratzea ezinbestekoa dela</strong>.
unlocked_warning_html: Edonork jarraitu zaitzake eta berehala zure mezu pribatuak ikusi. %{lock_link} jarraitzaileak berrikusi eta ukatu ahal izateko.
unlocked_warning_title: Zure kontua ez dago giltzapetuta
footer:
developers: Garatzaileak
more: Gehiago…
resources: Baliabideak
generic:
changes_saved_msg: Aldaketak ongi gorde dira!
save_changes: Gorde aldaketak
@ -620,6 +648,7 @@ eu:
remote_follow:
acct: Sartu jarraitzeko erabili nahi duzun erabiltzaile@domeinua
missing_resource: Ezin izan da zure konturako behar den birbideratze URL-a
no_account_html: Ez duzu konturik? <a href='%{sign_up_path}' target='_blank'>Izena eman</a> dezakezu
proceed: Ekin jarraitzeari
prompt: 'Hau jarraituko duzu:'
remote_unfollow:

@ -5,10 +5,12 @@ fa:
about_mastodon_html: ماستدون (Mastodon) یک شبکهٔ اجتماعی است که بر اساس پروتکل‌های آزاد وب و نرم‌افزارهای آزاد و کدباز ساخته شده است. این شبکه مانند ایمیل غیرمتمرکز است.
about_this: درباره
administered_by: 'با مدیریت:'
api: رابط برنامه‌نویسی کاربردی
closed_registrations: ثبت‌نام روی این سرور هم‌اینک فعال نیست. اما شما می‌توانید سرور دیگری بیابید و با حسابی که آن‌جا می‌سازید دقیقاً به همین شبکه دسترسی داشته باشید.
contact: تماس
contact_missing: تعیین نشده
contact_unavailable: موجود نیست
documentation: مستندات
extended_description_html: |
<h3>جای خوبی برای قانون‌ها</h3>
<p>توضیحات تکمیلی نوشته نشده است.</p>
@ -25,22 +27,28 @@ fa:
hosted_on: ماستدون، میزبانی‌شده روی %{domain}
learn_more: بیشتر بدانید
other_instances: فهرست سرورها
privacy_policy: سیاست رازداری
source_code: کدهای منبع
status_count_after: چیز نوشته‌اند
status_count_before: که جمعاً
terms: شرایط کاربری
user_count_after: کاربر
user_count_before: دارای
what_is_mastodon: ماستدون چیست؟
accounts:
choices_html: 'انتخاب‌های %{name}:'
follow: پی بگیرید
followers: پیگیران
following: پی می‌گیرد
joined: کاربر از %{date}
media: عکس و ویدیو
moved_html: "%{name} حساب خود را به %{new_profile_link} منتقل کرده است:"
network_hidden: این اطلاعات در دسترس نیست
nothing_here: این‌جا چیزی نیست!
people_followed_by: کسانی که %{name} پی می‌گیرد
people_who_follow: کسانی که %{name} را پی می‌گیرند
pin_errors:
following: شما باید پیگیر کاربری باشید که می‌خواهید ثابت کنید
posts: نوشته‌ها
posts_with_replies: نوشته‌ها و پاسخ‌ها
reserved_username: این نام کاربری در دسترس نیست
@ -176,6 +184,7 @@ fa:
unsuspend_account: "%{name} حساب کاربر %{target} را از تعلیق خارج کرد"
update_custom_emoji: "%{name} شکلک %{target} را به‌روز کرد"
update_status: "%{name} نوشتهٔ %{target} را به‌روز کرد"
deleted_status: "(بوق پاک‌شده)"
title: سیاههٔ بازرسی
custom_emojis:
by_domain: دامین
@ -364,11 +373,14 @@ fa:
desc_html: نمایش علامت همکار روی صفحهٔ کاربر
title: نمایش علامت همکار
site_description:
desc_html: معرفی کوتاهی که روی صفحهٔ اصلی و همچنین به عنوان فرادادهٔ صفحه‌ها نمایش می‌یابد. می‌توانید HTML بنویسید, به‌ویژه <code>&lt;a&gt;</code> و <code>&lt;em&gt;</code>.
desc_html: معرفی کوتاهی که روی صفحهٔ اصلی نمایش می‌یابد. دربارهٔ این که چه چیزی دربارهٔ این سرور ماستدون ویژه است یا هر چیز مهم دیگری بنویسید. می‌توانید HTML بنویسید، به‌ویژه <code>&lt;a&gt;</code> و <code>&lt;em&gt;</code>.
title: دربارهٔ سایت
site_description_extended:
desc_html: جای خوبی برای نوشتن سیاست‌های کاربری، قانون‌ها، راهنماها، و هر چیزی که ویژهٔ این سرور است. تگ‌های HTML هم مجاز است
title: اطلاعات تکمیلی سفارشی
site_short_description:
desc_html: روی نوار کناری و همچنین به عنوان فرادادهٔ صفحه‌ها نمایش می‌یابد. در یک بند توضیح دهید که ماستدون چیست و چرا این سرور با بقیه فرق دارد. اگر خالی بگذارید، به جایش «دربارهٔ سایت» نمایش می‌یابد.
title: توضیح کوتاه دربارهٔ سایت
site_terms:
desc_html: می‌توانید سیاست رازداری، شرایط استفاده، یا سایر مسائل قانونی را به دلخواه خود بنویسید. تگ‌های HTML هم مجاز است
title: شرایط استفادهٔ سفارشی
@ -390,6 +402,7 @@ fa:
media:
title: رسانه
no_media: بدون عکس یا ویدیو
no_status_selected: هیچ بوقی تغییری نکرد زیرا هیچ‌کدام از آن‌ها انتخاب نشده بودند
title: نوشته‌های حساب
with_media: دارای عکس یا ویدیو
subscriptions:
@ -530,6 +543,10 @@ fa:
true_privacy_html: لطفاً بدانید که <strong>داشتن حریم خصوصی واقعی تنها با رمزگذاری سرتاسر (end-to-end encryption) ممکن است</strong>.
unlocked_warning_html: هر کسی می‌تواند پیگیر شما شود تا بلافاصله نوشته‌های خصوصی شما را ببیند. اگر %{lock_link} خواهید توانست درخواست‌های پیگیری را بررسی کرده و نپذیرید.
unlocked_warning_title: حساب شما خصوصی نیست
footer:
developers: برنامه‌نویسان
more: بیشتر…
resources: منابع
generic:
changes_saved_msg: تغییرات با موفقیت ذخیره شدند!
save_changes: ذخیرهٔ تغییرات
@ -747,6 +764,7 @@ fa:
time:
formats:
default: "%d %b %Y, %H:%M"
month: "%b %Y"
two_factor_authentication:
code_hint: برای تأیید، کدی را که برنامهٔ تأییدکننده ساخته است وارد کنید
description_html: اگر <strong>ورود دومرحله‌ای</strong> را فعال کنید، برای ورود به سیستم به تلفن خود نیاز خواهید داشت تا برایتان یک کد موقتی بسازد.

@ -6,6 +6,7 @@ fr:
about_this: À propos
administered_by: 'Administré par :'
api: API
apps: Applications mobiles
closed_registrations: Les inscriptions sont actuellement fermées sur cette instance. Cependant, vous pouvez trouver une autre instance sur laquelle vous créer un compte et à partir de laquelle vous pourrez accéder au même réseau.
contact: Contact
contact_missing: Manquant
@ -27,13 +28,16 @@ fr:
hosted_on: Instance Mastodon hébergée par %{domain}
learn_more: En savoir plus
other_instances: Liste des instances
privacy_policy: Politique de vie privée
source_code: Code source
status_count_after: statuts
status_count_before: Ayant publié
terms: Conditions d'utilisation
user_count_after: utilisateur⋅ice⋅s
user_count_before: Abrite
what_is_mastodon: Quest-ce que Mastodon?
accounts:
choices_html: 'Sélection de %{name} :'
follow: Suivre
followers: Abonné⋅e⋅s
following: Abonnements
@ -207,6 +211,7 @@ fr:
dashboard:
config: Configuration
feature_invites: Liens d'invitation
feature_registrations: Inscriptions
feature_relay: Relais de fédération
features: Fonctionnalités
hidden_service: Fédération avec des services cachés
@ -270,6 +275,7 @@ fr:
search: Rechercher
title: Instances connues
invites:
deactivate_all: Tout désactiver
filter:
all: Tout
available: Disponible

@ -6,6 +6,7 @@ gl:
about_this: Sobre
administered_by: 'Administrada por:'
api: API
apps: Apps móbiles
closed_registrations: O rexistro en esta instancia está pechado en este intre. Porén! Pode atopar unha instancia diferente para obter unha conta e ter acceso exactamente a misma rede desde alí.
contact: Contacto
contact_missing: Non establecido
@ -36,6 +37,7 @@ gl:
user_count_before: Fogar de
what_is_mastodon: Qué é Mastodon?
accounts:
choices_html: 'Eleccións de %{name}:'
follow: Seguir
followers: Seguidoras
following: Seguindo
@ -46,6 +48,8 @@ gl:
nothing_here: Nada por aquí!
people_followed_by: Personas que segue %{name}
people_who_follow: Personas que seguen a %{name}
pin_errors:
following: Debe seguir a persoa que intenta recomendar
posts: Mensaxes
posts_with_replies: Toots e respostas
reserved_username: O nome de usuaria está reservado
@ -181,6 +185,7 @@ gl:
unsuspend_account: "%{name} activou a conta de %{target}"
update_custom_emoji: "%{name} actualizou emoji %{target}"
update_status: "%{name} actualizou un estado de %{target}"
deleted_status: "(estado eliminado)"
title: Rexistro de auditoría
custom_emojis:
by_domain: Dominio
@ -208,6 +213,7 @@ gl:
updated_msg: Actualizouse correctamente o emoji!
upload: Subir
dashboard:
backlog: backlogged jobs
config: Axustes
feature_deletions: Borrado de contas
feature_invites: Ligazóns de convite
@ -276,6 +282,7 @@ gl:
search: Buscar
title: Instancias coñecidas
invites:
deactivate_all: Desactivar todo
filter:
all: Todo
available: Dispoñible
@ -368,11 +375,14 @@ gl:
desc_html: Mostrar unha insignia de membresía nunha páxina de usuaria
title: Mostrar insigna de membresía
site_description:
desc_html: Parágrafo de presentación na páxina principal e nas meta etiquetas. Pode utilizar etiquetas HTML, en particular <code>&lt;a&gt;</code> e <code>&lt;em&gt;</code>.
desc_html: Parágrafo de presentación na páxina principal. Describe o que fai especial a este servidor Mastodon e calquera outra ouca importante. Pode utilizar etiquetas HTML, en particular <code>&lt;a&gt;</code> e <code>&lt;em&gt;</code>.
title: Descrición da instancia
site_description_extended:
desc_html: Un bo lugar para o seu código de conducta, regras, guías e outras cousas que distingan a súa instancia. Pode utilizar etiquetas HTML
title: Información extendida da personalización
site_short_description:
desc_html: Mostrado na barra lateral e nas etiquetas meta. Describe o que é Mastodon e que fai especial a este servidor nun só parágrafo. Si está baldeiro, mostrará a descrición da instancia.
title: Descrición curta da instancia
site_terms:
desc_html: Pode escribir a súa propia política de intimidade, termos de servizo ou aclaracións legais. Pode utilizar etiquetas HTML
title: Termos de servizo personalizados
@ -394,6 +404,7 @@ gl:
media:
title: Medios
no_media: Sen medios
no_status_selected: Non se cambiou ningún estado xa que ningún foi seleccionado
title: Estados da conta
with_media: con medios
subscriptions:
@ -646,11 +657,14 @@ gl:
publishing: Publicando
web: Web
remote_follow:
acct: Introduza o seu nomedeusuaria@dominio desde onde quere facer seguimento
acct: Introduza o seu usuaria@servidor desde onde quere interactuar
missing_resource: Non se puido atopar o URL de redirecionamento requerido para a súa conta
no_account_html: Non ten unha conta? Pode <a href='%{sign_up_path}' target='_blank'>rexistrarse aquí</a>
proceed: Proceda para seguir
prompt: 'Vostede vai seguir:'
remote_interaction:
proceed: Proceda para interactuar
prompt: 'Vostede quere interactuar con este toot:'
remote_unfollow:
error: Fallo
title: Título
@ -734,6 +748,7 @@ gl:
private: As mensaxes non-públicas non poden ser fixadas
reblog: Non se poden fixar as mensaxes promovidas
show_more: Mostrar máis
sign_in_to_participate: Conéctese para participar na conversa
title: '%{name}: "%{quote}"'
visibilities:
private: Só seguidoras

@ -4,10 +4,13 @@ he:
about_hashtag_html: אלו סטטוסים פומביים המתוייגים בתור<strong>#%{hashtag}</strong>. ניתן להגיב, להדהד או לחבב אותם אם יש לך חשבון בכל מקום בפדרציה.
about_mastodon_html: מסטודון היא רשת חברתית <em>חופשית, מבוססת תוכנה חופשית ("קוד פתוח")</em>. כאלטרנטיבה <em>בלתי ריכוזית</em> לפלטפרומות המסחריות, מסטודון מאפשרת להמנע מהסיכונים הנלווים להפקדת התקשורת שלך בידי חברה יחידה. שמת את מבטחך בשרת אחד &mdash; לא משנה במי בחרת, תמיד אפשר לדבר עם כל שאר המשתמשים. לכל מי שרוצה יש את האפשרות להקים שרת מסטודון עצמאי, ולהשתתף ב<em>רשת החברתית</em> באופן חלק.
about_this: אודות שרת זה
api: API
apps: יישומונים לנייד
closed_registrations: הרשמות סגורות לשרת זה לעת עתה.
contact: צור קשר
contact_missing: אין
contact: יצירת קשר
contact_missing: ללא הגדרה
contact_unavailable: לא רלוונטי/חסר
documentation: תיעוד
extended_description_html: |
<h3>מקום טוב לכללים</h3>
<p>התיאור המורחב טרם הוגדר.</p>

@ -5,45 +5,54 @@ it:
about_mastodon_html: Mastodon è un social network <em>gratuito e open-source</em>. Un'alternativa <em>decentralizzata</em> alle piattaforme commerciali che evita che una singola compagnia monopolizzi il tuo modo di comunicare. Scegli un server di cui ti fidi &mdash; qualunque sia la tua scelta, potrai interagire con chiunque altro. Chiunque può sviluppare un suo server Mastodon e partecipare alla vita del <em>social network</em>.
about_this: A proposito di questo server
administered_by: 'Amministrato da:'
closed_registrations: Al momento le iscrizioni a questo server sono chiuse. Tuttavia! Puoi provare a cercare un istanza diversa su cui creare un account ed avere accesso alla stessa identica rete di questa.
api: API
apps: Applicazioni Mobile
closed_registrations: Al momento le iscrizioni a questo server sono chiuse. Tuttavia! Puoi provare a cercare un istanza diversa su cui creare un account ed avere accesso alla stessa identica rete.
contact: Contatti
contact_missing: Non impostato
contact_unavailable: N/D
documentation: Documentazione
extended_description_html: |
<h3>Un buon posto per le regole</h3>
<p>La descrizione estesa non è ancora stata preparata.</p>
features:
humane_approach_body: Imparando dai fallimenti degli altri networks, Mastodon mira a fare scelte di design etico per combattere l'abuso dei social media.
humane_approach_body: Imparando dai fallimenti degli altri networks, Mastodon mira a fare scelte etiche di design per combattere l'abuso dei social media.
humane_approach_title: Un approccio più umano
not_a_product_body: Mastodon non è una rete commerciale. Niente pubblicità, niente data mining, nessun giardino murato. Non c'è nessuna autorità centrale.
not_a_product_body: Mastodon non è una rete commerciale. Niente pubblicità, niente data mining, nessun recinto dorato. Non c'è nessuna autorità centrale.
not_a_product_title: Tu sei una persona, non un prodotto
real_conversation_body: Con 500 caratteri a disposizione, un supporto per i contenuti granulari ed avvisi sui media potrai esprimerti nel modo desiderato.
real_conversation_title: Creato per conversazioni reali
within_reach_body: Apps per iOS, Android ed altre piattaforme, realizzate grazie ad un ecosistema di API adatto agli sviluppatori, ti consentono di poter stare ovunque al passo con i tuoi amici.
within_reach_body: Apps per iOS, Android ed altre piattaforme, realizzate grazie ad un ecosistema di API adatto agli sviluppatori, ti consentono di poter stare in contatto con i tuoi amici ovunque ti trovi.
within_reach_title: Sempre a portata di mano
generic_description: "%{domain} è un server nella rete"
hosted_on: Mastodon ospitato su %{domain}
learn_more: Scopri altro
other_instances: Elenco istanze
privacy_policy: Policy su la Privacy
source_code: Codice sorgente
status_count_after: stati
status_count_before: Che hanno pubblicato
terms: Termini di Servizio
user_count_after: utenti
user_count_before: Home di
what_is_mastodon: Che cos'è Mastodon?
accounts:
choices_html: 'Suggerimenti da %{name}:'
follow: Segui
followers: Seguaci
following: Segui
joined: Dal %{date}
media: Media
moved_html: "%{name} è stato spostato su %{new_profile_link}:"
network_hidden: Questa informazione non e' disponibile
nothing_here: Qui non c'è nulla!
people_followed_by: Persone seguite da %{name}
people_who_follow: Persone che seguono %{name}
pin_errors:
following: Devi gia seguire la persona che vuoi promuovere
posts: Posts
posts_with_replies: Toot e risposte
reserved_username: Il nome utente è riservato
reserved_username: Il nome utente è gia stato preso
roles:
admin: Amministratore
bot: Bot
@ -171,9 +180,13 @@ it:
resolve_report: "%{name} ha risolto il rapporto %{target}"
silence_account: "%{name} ha silenziato l'account di %{target}"
suspend_account: "%{name} ha sospeso l'account di %{target}"
unassigned_report: "%{name} report non assegnato %{target}"
unsilence_account: "%{name} ha de-silenziato l'account di %{target}"
unsuspend_account: "%{name} ha annullato la sospensione dell'account di %{target}"
update_custom_emoji: "%{name} ha aggiornato l'emoji %{target}"
update_status: "%{name} stato aggiornato da %{target}"
deleted_status: "(stato cancellato)"
title: Audit log
custom_emojis:
by_domain: Dominio
copied_msg: Creata con successo una copia locale dell'emoji
@ -199,6 +212,25 @@ it:
update_failed_msg: Impossibile aggiornare questa emojii
updated_msg: Emoji aggiornata con successo!
upload: Carica
dashboard:
backlog: backlogged jobs
config: Configurazione
feature_invites: Link di invito
feature_registrations: Registrazioni
features: Funzionalità
hidden_service: Federazione con servizi nascosti
open_reports: apri report
recent_users: Utenti Recenti
search: Ricerca testo intero
single_user_mode: Modalita utente singolo
software: Software
space: Utilizzo dello spazio
title: Dashboard
total_users: utenti totali
trends: Trends
week_interactions: interazioni per questa settimana
week_users_active: attivi questa settimana
week_users_new: utenti questa settimana
domain_blocks:
add_new: Aggiungi nuovo
created_msg: Il blocco del dominio sta venendo processato
@ -206,11 +238,14 @@ it:
domain: Dominio
new:
create: Crea blocco
hint: Il blocco dominio non previene la creazione di utenti nel database, ma applicherà automaticamente e retroattivamente metodi di moderazione specifici su quegli account.
severity:
noop: Nessuno
silence: Silenzia
suspend: Sospendi
title: Nuovo blocco dominio
reject_media: Rifiuta file media
reject_media_hint: Rimuovi i file media salvati in locale e blocca i download futuri. Irrilevante per le sospensioni
severities:
noop: Nessuno
silence: Silenzia
@ -243,12 +278,15 @@ it:
search: Cerca
title: Istanze conosciute
invites:
deactivate_all: Disattiva tutto
filter:
all: Tutto
available: Disponibile
expired: Scaduto
title: Filtro
title: Inviti
relays:
inbox_url: Url Relay
reports:
account:
note: note

@ -6,6 +6,7 @@ ja:
about_this: 詳細情報
administered_by: '管理者:'
api: API
apps: アプリ
closed_registrations: 現在このインスタンスでの新規登録は受け付けていません。しかし、他のインスタンスにアカウントを作成しても全く同じネットワークに参加することができます。
contact: 連絡先
contact_missing: 未設定
@ -36,6 +37,7 @@ ja:
user_count_before: ユーザー数
what_is_mastodon: Mastodon とは?
accounts:
choices_html: "%{name} によるおすすめ:"
follow: フォロー
followers: フォロワー
following: フォロー中
@ -46,6 +48,8 @@ ja:
nothing_here: 何もありません!
people_followed_by: "%{name} さんがフォロー中のアカウント"
people_who_follow: "%{name} さんをフォロー中のアカウント"
pin_errors:
following: 推薦したい人はあなたが既にフォローしている必要があります
posts: トゥート
posts_with_replies: トゥートと返信
reserved_username: このユーザー名は予約されています
@ -181,6 +185,7 @@ ja:
unsuspend_account: "%{name} さんが %{target} さんの停止を解除しました"
update_custom_emoji: "%{name} さんがカスタム絵文字 %{target} を更新しました"
update_status: "%{name} さんが %{target} さんの投稿を更新しました"
deleted_status: "(削除されました)"
title: 操作履歴
custom_emojis:
by_domain: ドメイン
@ -277,6 +282,7 @@ ja:
search: 検索
title: 既知のインスタンス
invites:
deactivate_all: すべて無効化
filter:
all: すべて
available: 使用可能
@ -398,6 +404,7 @@ ja:
media:
title: メディア
no_media: メディアなし
no_status_selected: 何も選択されていないため、変更されていません
title: トゥート一覧
with_media: メディアあり
subscriptions:
@ -656,6 +663,9 @@ ja:
no_account_html: アカウントをお持ちではないですか?<a href='%{sign_up_path}' target='_blank'>こちら</a>からサインアップできます
proceed: フォローする
prompt: 'フォローしようとしています:'
remote_interaction:
proceed: 進む
prompt: 'このトゥートに返信しようとしています:'
remote_unfollow:
error: エラー
title: タイトル
@ -740,6 +750,7 @@ ja:
private: 非公開のトゥートを固定することはできません
reblog: ブーストされたトゥートを固定することはできません
show_more: もっと見る
sign_in_to_participate: ログインして会話に参加
title: '%{name}: "%{quote}"'
visibilities:
private: フォロワー限定

@ -6,6 +6,7 @@ nl:
about_this: Over deze server
administered_by: 'Beheerd door:'
api: API
apps: Mobiele apps
closed_registrations: Registreren op deze server is momenteel niet mogelijk. Je kunt echter een andere server vinden om zo toegang te krijgen tot het netwerk.
contact: Contact
contact_missing: Niet ingesteld
@ -36,6 +37,7 @@ nl:
user_count_before: Thuisbasis van
what_is_mastodon: Wat is Mastodon?
accounts:
choices_html: 'Aanbevelingen van %{name}:'
follow: Volgen
followers: Volgers
following: Volgend
@ -46,6 +48,8 @@ nl:
nothing_here: Hier is niets!
people_followed_by: Mensen die %{name} volgen
people_who_follow: Mensen die %{name} volgen
pin_errors:
following: Je moet dit account wel al volgen, alvorens je het kan aanbevelen
posts: Toots
posts_with_replies: Toots en reacties
reserved_username: Deze gebruikersnaam is gereserveerd
@ -181,6 +185,7 @@ nl:
unsuspend_account: Opschorten van account %{target} is door %{name} opgeheven
update_custom_emoji: Emoji %{target} is door %{name} bijgewerkt
update_status: De toots van %{target} zijn door %{name} bijgewerkt
deleted_status: "(verwijderde toot}"
title: Auditlog
custom_emojis:
by_domain: Domein
@ -277,6 +282,7 @@ nl:
search: Zoeken
title: Bekende servers
invites:
deactivate_all: Alles deactiveren
filter:
all: Alles
available: Beschikbaar
@ -398,6 +404,7 @@ nl:
media:
title: Media
no_media: Geen media
no_status_selected: Er werden geen toots gewijzigd, omdat er geen enkele werd geselecteerd
title: Toots van account
with_media: Met media
subscriptions:
@ -650,11 +657,14 @@ nl:
publishing: Publiceren
web: Webapp
remote_follow:
acct: Geef jouw account@domein.tld op waarvandaan je wilt volgen
acct: Geef jouw account@domein op die je wilt gebruiken
missing_resource: Kon vereiste doorverwijzings-URL voor jouw account niet vinden
no_account_html: Heb je geen account? Je kunt er <a href='%{sign_up_path}' target='_blank'>hier een registreren</a>
proceed: Ga door om te volgen
prompt: 'Jij gaat volgen:'
remote_interaction:
proceed: Ga de interactie aan
prompt: 'Jij wilt de interactie aangaan met deze toot:'
remote_unfollow:
error: Fout
title: Titel
@ -738,6 +748,7 @@ nl:
private: Alleen openbare toots kunnen worden vastgezet
reblog: Een boost kan niet worden vastgezet
show_more: Meer tonen
sign_in_to_participate: Meld je aan om aan dit gesprek mee te doen
title: '%{name}: "%{quote}"'
visibilities:
private: Alleen volgers

@ -6,6 +6,7 @@ oc:
about_this: A prepaus daquesta instància
administered_by: 'Gerida per:'
api: API
apps: Aplicacions per mobil
closed_registrations: Las inscripcions son clavadas pel moment sus aquesta instància.
contact: Contacte
contact_missing: Pas parametrat
@ -36,6 +37,7 @@ oc:
user_count_before: Ostal de
what_is_mastodon: Ques Mastodon?
accounts:
choices_html: 'Recomandacion de %{name} :'
follow: Sègre
followers: Seguidors
following: Abonaments
@ -46,6 +48,8 @@ oc:
nothing_here: I a pas res aquí!
people_followed_by: Lo monde que %{name} sèc
people_who_follow: Lo monde que sègon %{name}
pin_errors:
following: Vos cal den primièr sègre las personas que volètz promòure
posts: Tuts
posts_with_replies: Tuts e responsas
reserved_username: Aqueste nom dutilizaire es reservat
@ -182,6 +186,7 @@ oc:
unsuspend_account: "%{name} restabliguèt lo compte a %{target}"
update_custom_emoji: "%{name} metèt a jorn lemoji %{target}"
update_status: "%{name} metèt a jorn lestatut a %{target}"
deleted_status: "(estatut suprimit)"
title: Audit dels jornals
custom_emojis:
by_domain: Domeni
@ -278,6 +283,7 @@ oc:
search: Cercar
title: Instàncias conegudas
invites:
deactivate_all: O desactivar tot
filter:
all: Totes
available: Disponibles
@ -399,6 +405,7 @@ oc:
media:
title: Mèdia
no_media: Cap de mèdia
no_status_selected: Cap destatut pas cambiat estant que cap èra pas seleccionat
title: Estatuts del compte
with_media: Amb mèdia
subscriptions:
@ -712,6 +719,8 @@ oc:
no_account_html: Avètz pas cap de compte? Podètz <a href='%{sign_up_path}' target='_blank'>vos marcar aquí</a>
proceed: Clicatz per sègre
prompt: 'Sètz per sègre:'
remote_interaction:
prompt: 'Volètz interagir amb aqueste tut :'
remote_unfollow:
error: Error
title: Títol
@ -795,6 +804,7 @@ oc:
private: Se pòt pas penjar los tuts pas publics
reblog: Se pòt pas penjar un tut partejat
show_more: Ne veire mai
sign_in_to_participate: Inscrivètz-vos per participar a la conversacion
title: '%{name}: "%{quote}"'
visibilities:
private: Seguidors solament
@ -850,6 +860,7 @@ oc:
time:
formats:
default: Lo %d %b de %Y a %Ho%M
month: "%b %Y"
two_factor_authentication:
code_hint: Picatz lo còdi generat per vòstra aplicacion dautentificacion per confirmar
description_html: Sactivatz <strong> lautentificacion two-factor</strong>, vos caldrà vòstre mobil per vos connectar perque generarà un geton per vos daissar dintrar.

@ -878,7 +878,7 @@ pl:
wrong_code: Wprowadzony kod jest niepoprawny! Czy czas serwera i urządzenia jest poprawny?
user_mailer:
backup_ready:
explanation: Zażądałeś pełnej kopii zapasowej konta na Mastodonie. Jest ono dostępne do pobrania
explanation: Zażądałeś pełnej kopii zapasowej konta na Mastodonie. Jest ona dostępna do pobrania!
subject: Twoje archiwum jest gotowe do pobrania
title: Odbiór archiwum
welcome:

@ -6,6 +6,7 @@ pt-BR:
about_this: Sobre
administered_by: 'Administrado por:'
api: API
apps: Apps
closed_registrations: Os cadastros estão atualmente fechados nesta instância. No entanto, você pode procurar uma instância diferente na qual possa criar uma conta e acessar a mesma rede por lá.
contact: Contato
contact_missing: Não definido
@ -31,11 +32,12 @@ pt-BR:
source_code: Código-fonte
status_count_after: publicações
status_count_before: Autores de
terms: Termos de Serviço
terms: Termos de serviço
user_count_after: usuários
user_count_before: Casa de
what_is_mastodon: O que é Mastodon?
accounts:
choices_html: 'Escolhas de %{name}:'
follow: Seguir
followers: Seguidores
following: Seguindo
@ -46,6 +48,8 @@ pt-BR:
nothing_here: Não há nada aqui!
people_followed_by: Pessoas que %{name} segue
people_who_follow: Pessoas que seguem %{name}
pin_errors:
following: Você tem que estar seguindo a pessoa que você quer sugerir
posts: Toots
posts_with_replies: Toots e respostas
reserved_username: Este usuário está reservado
@ -181,6 +185,7 @@ pt-BR:
unsuspend_account: "%{name} desativou a suspensão de %{target}"
update_custom_emoji: "%{name} atualizou o emoji %{target}"
update_status: "%{name} atualizou o estado de %{target}"
deleted_status: "(status deletado)"
title: Auditar relatório
custom_emojis:
by_domain: Domínio
@ -277,6 +282,7 @@ pt-BR:
search: Buscar
title: Instâncias conhecidas
invites:
deactivate_all: Desativar todos
filter:
all: Todos
available: Disponíveis
@ -398,6 +404,7 @@ pt-BR:
media:
title: Mídia
no_media: Não há mídia
no_status_selected: Nenhum status foi modificado porque nenhum estava selecionado
title: Postagens da conta
with_media: Com mídia
subscriptions:
@ -650,11 +657,14 @@ pt-BR:
publishing: Publicação
web: Web
remote_follow:
acct: Insira o seu usuário@domínio do qual você quer seguir
acct: Insira o seu usuário@domínio a partir do qual você deseja agir
missing_resource: Não foi possível encontrar a URL de direcionamento para a sua conta
no_account_html: Não tem uma conta? Você pode <a href='%{sign_up_path}' target='_blank'>cadastrar-se aqui</a>
proceed: Prosseguir para seguir
prompt: 'Você irá seguir:'
remote_interaction:
proceed: Continue para interagir
prompt: 'Você quer interagir com este toot:'
remote_unfollow:
error: Erro
title: Título
@ -738,6 +748,7 @@ pt-BR:
private: Toot não-público não pode ser fixado
reblog: Um compartilhamento não pode ser fixado
show_more: Mostrar mais
sign_in_to_participate: Entre para participar dessa conversa
title: '%{name}: "%{quote}"'
visibilities:
private: Apenas seguidores

@ -16,6 +16,7 @@ ar:
locale: لغة واجهة المستخدم و الرسائل الإلكترونية و الإشعارات
locked: يتطلب منك الموافقة يدويا على طلبات المتابعة
note: <span class="note-counter">%{count}</span> حرف باق
phrase: سوف يتم العثور عليه مهما كان نوع النص أو حتى و إن كان داخل الويب فيه تحذير عن المحتوى
scopes: ما هي المجالات المسموح بها في التطبيق ؟ إن قمت باختيار أعلى المجالات فيمكنك الإستغناء عن الخَيار اليدوي.
setting_default_language: يمكن الكشف التلقائي للّغة اللتي استخدمتها في تحرير تبويقاتك ، غيرَ أنّ العملية ليست دائما دقيقة
setting_hide_network: الحسابات التي تُتابعها و التي تُتابِعك على حد سواء لن تُعرَض على صفحتك الشخصية
@ -47,6 +48,7 @@ ar:
expires_in: تنتهي مدة صلاحيته بعد
fields: واصفات بيانات الملف الشخصي
header: الرأسية
inbox_url: عنوان رابط صندوق المُرَحِّل
irreversible: إسقاط بدلا من إخفائها
locale: لغة الواجهة
locked: تجميد الحساب

@ -14,25 +14,25 @@ da:
fields: Du kan have op til 4 ting vist som en tabel på din profil
header: PNG, GIF eller JPG. Højest %{size}. Vil blive skaleret ned til %{dimensions}px
inbox_url: Kopiere linket fra forsiden af den relay som du ønsker at bruge
irreversible: Filtrerede toots vil forsvinde fulstændigt, selv hvis filteret senere skulle blive fjernet
irreversible: Filtrerede trut vil forsvinde fulstændigt, selv hvis filteret senere skulle blive fjernet
locale: Sproget på interfacet, emails og push beskeder
locked: Kræver, at du godkender følgere manuelt
note:
one: <span class="note-counter">1</span> tegn tilbage
other: <span class="note-counter">%{count}</span> tegn tilbage
phrase: Vil blive parret uanset om der er store eller små bogstaver i teksten eller om der er en advarsel om en toot
phrase: Vil blive parret uanset om der er store eller små bogstaver i teksten eller om der er en advarsel om et trut
scopes: Hvilke APIs applikationen vil få adgang til. Hvis du vælger et højtlevel omfang, behøver du ikke vælge enkeltstående.
setting_default_language: Sproget for dine toots kan blive fundet automatisk, men det er ikke altid præcist
setting_default_language: Sproget for dine trut kan blive fundet automatisk, men det er ikke altid præcist
setting_hide_network: Hvem du følger og hvem der følger dig vil ikke blive vist på din profil
setting_noindex: Påvirker din offentlige profil og status sider
setting_theme: Påvirker hvordan Mastodon ser ud nåt du er logget ind via en hvilken som helst enhed.
whole_word: Når nøgle ordet eller udtrykket kun er alfabetisk, vil det kun blive brugt hvis det passer hele ordet
setting_theme: Påvirker hvordan Mastodon ser ud når du er logget ind via en hvilken som helst enhed.
whole_word: Når nøgle ordet eller udtrykket kun er alfanumerisk, vil det kun blive brugt hvis det passer hele ordet
imports:
data: CSV fil eksporteret fra en anden Mastodon instans
sessions:
otp: 'Indtast to-faktor koden der generes af appen på din fon eller brug en af din genoprettelses koder:'
otp: 'Indtast to-faktor koden der generes af appen af appen på din telefon eller brug en af din genoprettelses koder:'
user:
chosen_languages: Når markeret, vil kun toots i de valgte sprog blive vist på offentlige tidslinjer
chosen_languages: Når markeret, vil kun trut i de valgte sprog blive vist på offentlige tidslinjer
labels:
account:
fields:
@ -41,12 +41,12 @@ da:
defaults:
autofollow: Inviter til at følge din konto
avatar: Profilbillede
bot: Dette er en bot konto
bot: Dette er en robot konto
chosen_languages: Filtrer sprog
confirm_new_password: Bekræft dit nye kodeord
confirm_password: Bekræft kodeord
confirm_new_password: Bekræft din nye adgangskode
confirm_password: Bekræft adgangskode
context: Filtrer sammenhænge
current_password: Nuværende kodeord
current_password: Nuværende adgangskode
data: Data
display_name: Visningsnavn
email: E-mail adresse
@ -58,17 +58,17 @@ da:
locale: Sprog på interface
locked: Lås konto
max_uses: Højeste antal benyttelser
new_password: Nyt kodeord
new_password: Ny adgangskode
note: Biografi
otp_attempt: To-faktor kode
password: Kodeord
password: Adgangskode
phrase: Nøgleord eller sætning
setting_auto_play_gif: Afspil automatisk animerede GIFs
setting_boost_modal: Vis bekræftelses dialog før du fremhæver
setting_default_language: Sprog for opslag
setting_default_privacy: Privatliv
setting_default_sensitive: Marker altid multimedia som værende følsomt
setting_delete_modal: Vis bekræftelses dialog før du sletter et toot
setting_delete_modal: Vis bekræftelses dialog før du sletter et trut
setting_display_sensitive_media: Vis altid multimedier markeret som værende følsomt
setting_hide_network: Skjul dit netværk
setting_noindex: Frameld dig søgemaskiners indeksering

@ -20,10 +20,12 @@ eu:
one: Karaktere<span class="note-counter">1</span> geratzen da
other: <span class="note-counter"> %{count}</span> karaktere geratzen dira
phrase: Bat egingo du Maiuskula/minuskula kontuan hartu gabe eta edukiaren abisua kontuan hartu gabe
scopes: Zeintzuk API atzitu ditzakeen aplikazioak. Goi mailako arloa aukeratzen baduzu, ez dituzu azpikoak aukeratu behar.
setting_default_language: Zure toot-en hizkuntza automatikoki antzeman daiteke, baina ez da beti zehatza
setting_hide_network: Nor jarraitzen duzun eta nork jarraitzen zaituen ez da bistaratuko zure profilean
setting_noindex: Zure profil publiko eta toot orrietan eragina du
setting_theme: Edozein gailutik konektatzean Mastodon-en itxuran eragiten du.
whole_word: Hitz eta esaldi gakoa alfanumerikoa denean, hitz osoarekin bat datorrenean besterik ez da aplikatuko
imports:
data: Beste Mastodon instantzia batetik esportatutako CSV fitxategia
sessions:
@ -42,6 +44,7 @@ eu:
chosen_languages: Iragazi hizkuntzak
confirm_new_password: Berretsi pasahitz berria
confirm_password: Berretsi pasahitza
context: Iragazkiaren testuinguruak
current_password: Oraingo pasahitza
data: Datuak
display_name: Pantaila-izena
@ -49,6 +52,7 @@ eu:
expires_in: Iraungitzea
fields: Profilaren metadatuak
header: Goiburua
irreversible: Baztertu ezkutatu ordez
locale: Interfazearen hizkuntza
locked: Giltzapetu kontua
max_uses: Gehieneko erabiltzaile kopurua
@ -56,6 +60,7 @@ eu:
note: Biografia
otp_attempt: Bi faktoreetako kodea
password: Pasahitza
phrase: Hitz edo esaldi gakoa
setting_auto_play_gif: Erreproduzitu GIF animatuak automatikoki
setting_boost_modal: Erakutsi baieztapen elkarrizketa-koadroa bultzada eman aurretik
setting_default_language: Argitalpenen hizkuntza
@ -73,6 +78,7 @@ eu:
type: Inportazio mota
username: Erabiltzaile-izena
username_or_email: Erabiltzaile-izena edo e-mail helbidea
whole_word: Hitz osoa
interactions:
must_be_follower: Blokeatu jarraitzaile ez direnen jakinarazpenak
must_be_following: Blokeatu zuk jarraitzen ez dituzunen jakinarazpenak

@ -4,7 +4,7 @@ fa:
hints:
defaults:
autofollow: کسانی که از راه دعوت‌نامه عضو می‌شوند به طور خودکار پیگیر شما خواهند شد
avatar: یکی از قالب‌های PNG یا GIF یا JPG. بیشترین اندازه ۲ مگابایت. تصویر به اندازهٔ ۴۰۰×۴۰۰ پیکسل تبدیل خواهد شد
avatar: یکی از قالب‌های PNG یا GIF یا JPG. بیشترین اندازه %{size}. تصویر به اندازهٔ %{dimensions} پیکسل تبدیل خواهد شد
bot: این حساب بیشتر به طور خودکار فعالیت می‌کند و نظارت پیوسته‌ای روی آن وجود ندارد
context: یک یا چند زمینه که فیلتر باید در آن‌ها اعمال شود
digest: تنها وقتی فرستاده می‌شود که مدتی طولانی فعالیتی نداشته باشید و در این مدت برای شما پیغام خصوصی‌ای نوشته شده باشد
@ -12,7 +12,7 @@ fa:
one: <span class="name-counter">1</span> حرف باقی مانده
other: <span class="name-counter">%{count}</span> حرف باقی مانده
fields: شما می‌توانید تا چهار مورد را در یک جدول در نمایهٔ خود نمایش دهید
header: یکی از قالب‌های PNG یا GIF یا JPG. بیشترین اندازه ۲ مگابایت. تصویر به اندازهٔ ۳۳۵×۷۰۰ پیکسل تبدیل خواهد شد
header: یکی از قالب‌های PNG یا GIF یا JPG. بیشترین اندازه %{size}. تصویر به اندازهٔ %{dimensions} پیکسل تبدیل خواهد شد
inbox_url: نشانی صفحهٔ اصلی رله‌ای را که می‌خواهید به کار ببرید کپی کنید
irreversible: بوق‌های فیلترشده به طور برگشت‌ناپذیری ناپدید می‌شوند، حتی اگر فیلتر را بعداً بردارید
locale: زبان محیط کاربری، ایمیل‌ها، و اعلان‌ها

@ -4,6 +4,7 @@ uk:
hints:
defaults:
avatar: PNG, GIF, або JPG. Максимум - 2МБ. Буде зменшено до %{dimensions}px
bot: Цей аккаунт в основному виконує автоматичні дії та може не відстежуватіся
display_name: 'Залишилося символів: <span class="name-counter">%{count}</span>'
header: PNG, GIF, або JPG. Максимум - 2МБ. Буде зменшено до %{dimensions}px
locked: Буде вимагати від Вас самостійного підтверждення підписників, змінить приватність постів за замовчуванням на "тільки для підписників"

@ -19,6 +19,7 @@ uk:
humane_approach_title: Більш людський підхід
not_a_product_body: Mastodon - це некомерційна мережа. Ніякої реклами, збору даних і залізних стін. Тут немає центральної влади.
not_a_product_title: Ви - особистість, а не продукт
real_conversation_body: Висловлюйте свої думки себе у будь-який спосіб маючи в розпорядженні 500 символів з підтримкою гранульованого контенту та попереджень медіа.
real_conversation_title: Побудований для справжньої розмови
within_reach_body: Велика кількість застосунків для iOS, Android та інших платформ, завдяки дружній до розробника екосистемі дозволяє бути на звязку з друзями звідусіль.
within_reach_title: Завжди на звязку

@ -177,7 +177,7 @@ Rails.application.routes.draw do
resource :change_email, only: [:show, :update]
resource :reset, only: [:create]
resource :silence, only: [:create, :destroy]
resource :suspension, only: [:create, :destroy]
resource :suspension, only: [:new, :create, :destroy]
resources :statuses, only: [:index, :create, :update, :destroy]
resource :confirmation, only: [:create] do

@ -0,0 +1,16 @@
# frozen_string_literal: true
class AddForeignKeyIndices < ActiveRecord::Migration[5.2]
disable_ddl_transaction!
def change
add_index :follows, :target_account_id, algorithm: :concurrently
add_index :blocks, :target_account_id, algorithm: :concurrently
add_index :mutes, :target_account_id, algorithm: :concurrently
add_index :notifications, :from_account_id, algorithm: :concurrently
add_index :accounts, :moved_to_account_id, algorithm: :concurrently
add_index :statuses, :in_reply_to_account_id, algorithm: :concurrently
add_index :session_activations, :access_token_id, algorithm: :concurrently
add_index :oauth_access_grants, :resource_owner_id, algorithm: :concurrently
end
end

@ -10,7 +10,7 @@
#
# It's strongly recommended that you check this file into your version control system.
ActiveRecord::Schema.define(version: 2018_08_14_171349) do
ActiveRecord::Schema.define(version: 2018_08_20_232245) do
# These are extensions that must be enabled in order to support this database
enable_extension "plpgsql"
@ -88,6 +88,7 @@ ActiveRecord::Schema.define(version: 2018_08_14_171349) do
t.string "actor_type"
t.index "(((setweight(to_tsvector('simple'::regconfig, (display_name)::text), 'A'::\"char\") || setweight(to_tsvector('simple'::regconfig, (username)::text), 'B'::\"char\")) || setweight(to_tsvector('simple'::regconfig, (COALESCE(domain, ''::character varying))::text), 'C'::\"char\")))", name: "search_index", using: :gin
t.index "lower((username)::text), lower((domain)::text)", name: "index_accounts_on_username_and_domain_lower", unique: true
t.index ["moved_to_account_id"], name: "index_accounts_on_moved_to_account_id"
t.index ["uri"], name: "index_accounts_on_uri"
t.index ["url"], name: "index_accounts_on_url"
end
@ -122,6 +123,7 @@ ActiveRecord::Schema.define(version: 2018_08_14_171349) do
t.bigint "target_account_id", null: false
t.string "uri"
t.index ["account_id", "target_account_id"], name: "index_blocks_on_account_id_and_target_account_id", unique: true
t.index ["target_account_id"], name: "index_blocks_on_target_account_id"
end
create_table "bookmarks", force: :cascade do |t|
@ -219,6 +221,7 @@ ActiveRecord::Schema.define(version: 2018_08_14_171349) do
t.boolean "show_reblogs", default: true, null: false
t.string "uri"
t.index ["account_id", "target_account_id"], name: "index_follows_on_account_id_and_target_account_id", unique: true
t.index ["target_account_id"], name: "index_follows_on_target_account_id"
end
create_table "identities", id: :serial, force: :cascade do |t|
@ -307,6 +310,7 @@ ActiveRecord::Schema.define(version: 2018_08_14_171349) do
t.bigint "account_id", null: false
t.bigint "target_account_id", null: false
t.index ["account_id", "target_account_id"], name: "index_mutes_on_account_id_and_target_account_id", unique: true
t.index ["target_account_id"], name: "index_mutes_on_target_account_id"
end
create_table "notifications", force: :cascade do |t|
@ -319,6 +323,7 @@ ActiveRecord::Schema.define(version: 2018_08_14_171349) do
t.index ["account_id", "activity_id", "activity_type"], name: "account_activity", unique: true
t.index ["account_id", "id"], name: "index_notifications_on_account_id_and_id", order: { id: :desc }
t.index ["activity_id", "activity_type"], name: "index_notifications_on_activity_id_and_activity_type"
t.index ["from_account_id"], name: "index_notifications_on_from_account_id"
end
create_table "oauth_access_grants", force: :cascade do |t|
@ -330,6 +335,7 @@ ActiveRecord::Schema.define(version: 2018_08_14_171349) do
t.string "scopes"
t.bigint "application_id", null: false
t.bigint "resource_owner_id", null: false
t.index ["resource_owner_id"], name: "index_oauth_access_grants_on_resource_owner_id"
t.index ["token"], name: "index_oauth_access_grants_on_token", unique: true
end
@ -433,6 +439,7 @@ ActiveRecord::Schema.define(version: 2018_08_14_171349) do
t.bigint "access_token_id"
t.bigint "user_id", null: false
t.bigint "web_push_subscription_id"
t.index ["access_token_id"], name: "index_session_activations_on_access_token_id"
t.index ["session_id"], name: "index_session_activations_on_session_id", unique: true
t.index ["user_id"], name: "index_session_activations_on_user_id"
end
@ -497,6 +504,7 @@ ActiveRecord::Schema.define(version: 2018_08_14_171349) do
t.bigint "in_reply_to_account_id"
t.boolean "local_only"
t.index ["account_id", "id", "visibility", "updated_at"], name: "index_statuses_20180106", order: { id: :desc }
t.index ["in_reply_to_account_id"], name: "index_statuses_on_in_reply_to_account_id"
t.index ["in_reply_to_id"], name: "index_statuses_on_in_reply_to_id"
t.index ["reblog_of_id", "account_id"], name: "index_statuses_on_reblog_of_id_and_account_id"
t.index ["uri"], name: "index_statuses_on_uri", unique: true

@ -68,21 +68,6 @@ describe Admin::ReportsController do
end
end
describe 'with an outcome of `suspend`' do
it 'suspends the reported account' do
report = Fabricate(:report)
allow(Admin::SuspensionWorker).to receive(:perform_async)
put :update, params: { id: report, outcome: 'suspend' }
expect(response).to redirect_to(admin_reports_path)
report.reload
expect(report.action_taken_by_account).to eq user.account
expect(report.action_taken).to eq true
expect(Admin::SuspensionWorker).
to have_received(:perform_async).with(report.target_account_id)
end
end
describe 'with an outsome of `silence`' do
it 'silences the reported account' do
report = Fabricate(:report)

@ -12,7 +12,7 @@ describe Admin::SuspensionsController do
account = Fabricate(:account, suspended: false)
expect(Admin::SuspensionWorker).to receive(:perform_async).with(account.id)
post :create, params: { account_id: account.id }
post :create, params: { account_id: account.id, form_admin_suspension_confirmation: { acct: account.acct } }
expect(response).to redirect_to(admin_accounts_path)
end

@ -610,17 +610,6 @@ RSpec.describe Status, type: :model do
expect(results).to include(es_status)
end
end
context 'where that account is silenced' do
it 'includes statuses from other accounts that are silenced' do
@account.update(silenced: true)
other_silenced_account = Fabricate(:account, silenced: true)
other_status = Fabricate(:status, account: other_silenced_account)
results = Status.as_public_timeline(@account)
expect(results).to include(other_status)
end
end
end
context 'with local-only statuses' do

@ -59,7 +59,6 @@ RSpec.describe ActivityPub::FetchRemoteAccountService, type: :service do
it 'returns nil' do
expect(account).to be_nil
end
end
context 'when URI and WebFinger share the same host' do
@ -119,5 +118,11 @@ RSpec.describe ActivityPub::FetchRemoteAccountService, type: :service do
include_examples 'sets profile data'
end
context 'with wrong id' do
it 'does not create account' do
expect(subject.call('https://fake.address/@foo', prefetched_body: Oj.dump(actor))).to be_nil
end
end
end
end

Some files were not shown because too many files have changed in this diff Show More

Loading…
Cancel
Save