diff options
author | Claire <claire.github-309c@sitedethib.com> | 2022-05-26 18:34:27 +0200 |
---|---|---|
committer | Claire <claire.github-309c@sitedethib.com> | 2022-05-26 18:34:27 +0200 |
commit | f13d910f3ea3af1e6b5ff2ebfa084a86b1d7dfde (patch) | |
tree | 6e373aa9ced74f68ee366cc50e23d14a524c36f9 /app | |
parent | 444b65009411a08ddab95ec60b86b3cf63086c2e (diff) | |
parent | 088dc0ec5a383006952c0b15508af882a4c1109c (diff) |
Merge branch 'main' into glitch-soc/merge-upstream
Diffstat (limited to 'app')
-rw-r--r-- | app/controllers/api/v1/accounts_controller.rb | 10 | ||||
-rw-r--r-- | app/javascript/mastodon/locales/ckb.json | 88 | ||||
-rw-r--r-- | app/javascript/mastodon/locales/defaultMessages.json | 4 | ||||
-rw-r--r-- | app/javascript/mastodon/locales/en.json | 2 | ||||
-rw-r--r-- | app/javascript/mastodon/locales/eo.json | 8 | ||||
-rw-r--r-- | app/javascript/mastodon/locales/et.json | 84 | ||||
-rw-r--r-- | app/javascript/mastodon/locales/gd.json | 10 | ||||
-rw-r--r-- | app/javascript/mastodon/locales/hy.json | 8 | ||||
-rw-r--r-- | app/javascript/mastodon/locales/io.json | 54 | ||||
-rw-r--r-- | app/models/account.rb | 9 | ||||
-rw-r--r-- | app/models/poll.rb | 5 | ||||
-rw-r--r-- | app/models/status.rb | 2 | ||||
-rw-r--r-- | app/services/process_mentions_service.rb | 3 |
13 files changed, 152 insertions, 135 deletions
diff --git a/app/controllers/api/v1/accounts_controller.rb b/app/controllers/api/v1/accounts_controller.rb index 5134bfb94..5537cc9b0 100644 --- a/app/controllers/api/v1/accounts_controller.rb +++ b/app/controllers/api/v1/accounts_controller.rb @@ -9,6 +9,8 @@ class Api::V1::AccountsController < Api::BaseController before_action :require_user!, except: [:show, :create] before_action :set_account, except: [:create] + before_action :check_account_approval, except: [:create] + before_action :check_account_confirmation, except: [:create] before_action :check_enabled_registrations, only: [:create] skip_before_action :require_authenticated_user!, only: :create @@ -74,6 +76,14 @@ class Api::V1::AccountsController < Api::BaseController @account = Account.find(params[:id]) end + def check_account_approval + raise(ActiveRecord::RecordNotFound) if @account.local? && @account.user_pending? + end + + def check_account_confirmation + raise(ActiveRecord::RecordNotFound) if @account.local? && !@account.user_confirmed? + end + def relationships(**options) AccountRelationshipsPresenter.new([@account.id], current_user.account_id, **options) end diff --git a/app/javascript/mastodon/locales/ckb.json b/app/javascript/mastodon/locales/ckb.json index 1ade0d5ef..a642c8a81 100644 --- a/app/javascript/mastodon/locales/ckb.json +++ b/app/javascript/mastodon/locales/ckb.json @@ -19,7 +19,7 @@ "account.followers.empty": "کەسێک شوێن ئەم بەکارهێنەرە نەکەوتووە", "account.followers_counter": "{count, plural, one {{counter} شوێنکەوتوو} other {{counter} شوێنکەوتوو}}", "account.following": "دواکەوتن", - "account.following_counter": "{count, plural, one {{counter} Following} other {{counter} Following}}", + "account.following_counter": "{count, plural, one {{counter} شوێنکەوتوو} other {{counter} شوێنکەوتوو}}", "account.follows.empty": "ئەم بەکارهێنەرە تا ئێستا شوێن کەس نەکەوتووە.", "account.follows_you": "شوێنکەوتووەکانت", "account.hide_reblogs": "داشاردنی بووستەکان لە @{name}", @@ -48,9 +48,9 @@ "account.unmute_notifications": "بێدەنگکردنی هۆشیارییەکان لە @{name}", "account.unmute_short": "بێدەنگی مەکە", "account_note.placeholder": "کرتەبکە بۆ زیادکردنی تێبینی", - "admin.dashboard.daily_retention": "User retention rate by day after sign-up", - "admin.dashboard.monthly_retention": "User retention rate by month after sign-up", - "admin.dashboard.retention.average": "Average", + "admin.dashboard.daily_retention": "ڕێژەی مانەوەی بەکارهێنەر بەپێی ڕۆژ دوای ناو تۆمارکردن", + "admin.dashboard.monthly_retention": "ڕێژەی مانەوەی بەکارهێنەر بەپێی مانگ دوای ناو تۆمارکردن", + "admin.dashboard.retention.average": "ڕێژە", "admin.dashboard.retention.cohort": "چوونەژوورەوەی مانگانە", "admin.dashboard.retention.cohort_size": "ئەندامی نوێ", "alert.rate_limited.message": "تکایە هەوڵبدەرەوە دوای {retry_time, time, medium}.", @@ -123,8 +123,8 @@ "confirmations.delete.message": "ئایا دڵنیایت لەوەی دەتەوێت ئەم توتە بسڕیتەوە?", "confirmations.delete_list.confirm": "سڕینەوە", "confirmations.delete_list.message": "ئایا دڵنیایت لەوەی دەتەوێت بە هەمیشەیی ئەم لیستە بسڕیتەوە?", - "confirmations.discard_edit_media.confirm": "Discard", - "confirmations.discard_edit_media.message": "You have unsaved changes to the media description or preview, discard them anyway?", + "confirmations.discard_edit_media.confirm": "ڕەتکردنەوە", + "confirmations.discard_edit_media.message": "گۆڕانکاریت لە وەسف یان پێشبینی میدیادا هەڵنەگیراوە، بەهەر حاڵ فڕێیان بدە؟", "confirmations.domain_block.confirm": "بلۆککردنی هەموو دۆمەینەکە", "confirmations.domain_block.message": "ئایا بەڕاستی، بەڕاستی تۆ دەتەوێت هەموو {domain} بلۆک بکەیت؟ لە زۆربەی حاڵەتەکاندا چەند بلۆکێکی ئامانجدار یان بێدەنگەکان پێویست و پەسەندن. تۆ ناوەڕۆک ێک نابینیت لە دۆمەینەکە لە هیچ هێڵی کاتی گشتی یان ئاگانامەکانت. شوێنکەوتوانی تۆ لەو دۆمەینەوە لادەبرێن.", "confirmations.logout.confirm": "چوونە دەرەوە", @@ -149,7 +149,7 @@ "embed.instructions": "ئەم توتە بنچین بکە لەسەر وێب سایتەکەت بە کۆپیکردنی کۆدەکەی خوارەوە.", "embed.preview": "ئەمە ئەو شتەیە کە لە شێوەی خۆی دەچێت:", "emoji_button.activity": "چالاکی", - "emoji_button.clear": "Clear", + "emoji_button.clear": "ڕوون", "emoji_button.custom": "ئاسایی", "emoji_button.flags": "ئاڵاکان", "emoji_button.food": "خواردن& خواردنەوە", @@ -169,12 +169,12 @@ "empty_column.blocks": "تۆ هێشتا هیچ بەکارهێنەرێکت بلۆک نەکردووە.", "empty_column.bookmarked_statuses": "تۆ هێشتا هیچ توتێکی دیاریکراوت نیە کاتێک نیشانەیەک نیشان دەکەیت، لێرە دەرئەکەویت.", "empty_column.community": "هێڵی کاتی ناوخۆیی بەتاڵە. شتێک بە ئاشکرا بنووسە بۆ ئەوەی تۆپەکە بسووڕێت!", - "empty_column.direct": "You don't have any direct messages yet. When you send or receive one, it will show up here.", + "empty_column.direct": "تا ئێستا هیچ نامەیەکی ڕاستەوخۆت نییە. کاتێک یەکێکیان دەنێری یان وەریدەگریت، لێرە دەردەکەوێت.", "empty_column.domain_blocks": "هێشتا هیچ دۆمەینێکی بلۆک کراو نییە.", - "empty_column.explore_statuses": "Nothing is trending right now. Check back later!", + "empty_column.explore_statuses": "لە ئێستادا هیچ شتێک ترێند نییە. دواتر سەیری بکە!", "empty_column.favourited_statuses": "تۆ هێشتا هیچ توتێکی دڵخوازت نییە، کاتێک حەزت لە دانەیەکی باشە، لێرە دەرئەکەویت.", "empty_column.favourites": "کەس ئەم توتەی دڵخواز نەکردووە،کاتێک کەسێک وا بکات، لێرە دەرئەکەون.", - "empty_column.follow_recommendations": "Looks like no suggestions could be generated for you. You can try using search to look for people you might know or explore trending hashtags.", + "empty_column.follow_recommendations": "پێدەچێت هیچ پێشنیارێک بۆ تۆ دروست نەکرێت. دەتوانیت هەوڵبدەیت گەڕان بەکاربهێنیت بۆ گەڕان بەدوای ئەو کەسانەی کە ڕەنگە بیانناسیت یان بەدوای هاشتاگە ڕەوتەکاندا بگەڕێیت.", "empty_column.follow_requests": "تۆ هێشتا هیچ داواکارییەکی بەدواداچووت نیە. کاتێک یەکێکت بۆ هات، لێرە دەرئەکەویت.", "empty_column.hashtag": "هێشتا هیچ شتێک لەم هاشتاگەدا نییە.", "empty_column.home": "تایم لاینی ماڵەوەت بەتاڵە! سەردانی {public} بکە یان گەڕان بەکاربێنە بۆ دەستپێکردن و بینینی بەکارهێنەرانی تر.", @@ -267,8 +267,8 @@ "lightbox.expand": "فراوانکردنی سندوقی بینینی وێنە", "lightbox.next": "داهاتوو", "lightbox.previous": "پێشوو", - "limited_account_hint.action": "Show profile anyway", - "limited_account_hint.title": "This profile has been hidden by the moderators of your server.", + "limited_account_hint.action": "بەهەر حاڵ پڕۆفایلی پیشان بدە", + "limited_account_hint.title": "ئەم پرۆفایلییە لەلایەن بەڕێوەبەرانی سێرڤەرەکەتەوە شاراوەتەوە.", "lists.account.add": "زیادکردن بۆ لیست", "lists.account.remove": "لابردن لە لیست", "lists.delete": "سڕینەوەی لیست", @@ -282,7 +282,7 @@ "lists.replies_policy.title": "پیشاندانی وەڵامەکان بۆ:", "lists.search": "بگەڕێ لەناو ئەو کەسانەی کە شوێنیان کەوتویت", "lists.subheading": "لیستەکانت", - "load_pending": "{count, plural, one {# new item} other {# new items}}", + "load_pending": "{count, plural, one {# بەڕگەی نوێ} other {# بەڕگەی نوێ}}", "loading_indicator.label": "بارکردن...", "media_gallery.toggle_visible": "شاردنەوەی {number, plural, one {image} other {images}}", "missing_indicator.label": "نەدۆزرایەوە", @@ -341,22 +341,22 @@ "notifications.column_settings.show": "لە ستووندا پیشان بدە", "notifications.column_settings.sound": "لێدانی دەنگ", "notifications.column_settings.status": "توتەکانی نوێ:", - "notifications.column_settings.unread_notifications.category": "Unread notifications", - "notifications.column_settings.unread_notifications.highlight": "Highlight unread notifications", + "notifications.column_settings.unread_notifications.category": "ئاگاداریی نەبینراو", + "notifications.column_settings.unread_notifications.highlight": "تیشک بخە سەر ئاگاداری نەخوێنراو", "notifications.column_settings.update": "دەستکاری:", "notifications.filter.all": "هەموو", "notifications.filter.boosts": "دووبارەتوتەکان", "notifications.filter.favourites": "دڵخوازەکان", - "notifications.filter.follows": "شوێنکەوتن", + "notifications.filter.follows": "بەدواداچوون", "notifications.filter.mentions": "ئاماژەکان", "notifications.filter.polls": "ئەنجامەکانی ڕاپرسی", "notifications.filter.statuses": "نوێکردنەوەکان ئەو کەسانەی کە پەیڕەوی دەکەیت", - "notifications.grant_permission": "Grant permission.", + "notifications.grant_permission": "مۆڵەت بدە.", "notifications.group": "{count} ئاگانامە", "notifications.mark_as_read": "هەموو ئاگانامەکان وەک خوێندراوەتەوە نیشان بکە", "notifications.permission_denied": "ناتوانرێت ئاگانامەکانی دێسکتۆپ چالاک بکرێت وەک ڕێپێدان ڕەتکرایەوە.", "notifications.permission_denied_alert": "ناتوانرێت ئاگانامەکانی دێسکتۆپ چالاک بکرێت، چونکە پێشتر مۆڵەتی وێبگەڕ ڕەتکرایەوە", - "notifications.permission_required": "Desktop notifications are unavailable because the required permission has not been granted.", + "notifications.permission_required": "ئاگادارکردنەوەکانی سەر مێز بەردەست نین چونکە مۆڵەتی پێویست نەدراوە.", "notifications_permission_banner.enable": "چالاککردنی ئاگانامەکانی دێسکتۆپ", "notifications_permission_banner.how_to_control": "بۆ وەرگرتنی ئاگانامەکان کاتێک ماستۆدۆن نەکراوەیە، ئاگانامەکانی دێسکتۆپ چالاک بکە. دەتوانیت بە وردی کۆنترۆڵی جۆری کارلێکەکان بکەیت کە ئاگانامەکانی دێسکتۆپ دروست دەکەن لە ڕێگەی دوگمەی {icon} لەسەرەوە کاتێک چالاک دەکرێن.", "notifications_permission_banner.title": "هەرگیز شتێک لە دەست مەدە", @@ -367,27 +367,27 @@ "poll.total_votes": "{count, plural, one {# دەنگ} other {# دەنگ}}\n", "poll.vote": "دەنگ", "poll.voted": "تۆ دەنگت بەو وەڵامە دا", - "poll.votes": "{votes, plural, one {# vote} other {# votes}}", + "poll.votes": "{votes, plural, one {# دەنگ} other {# دەنگ}}", "poll_button.add_poll": "ڕاپرسییەک زیاد بکە", "poll_button.remove_poll": "دهنگدان بسڕهوه", "privacy.change": "ڕێکخستنی تایبەتمەندی توت", "privacy.direct.long": "تەنیا بۆ بەکارهێنەرانی ناوبراو", - "privacy.direct.short": "Direct", + "privacy.direct.short": "تەنها کەسانی باس کراو", "privacy.private.long": "بینراو تەنها بۆ شوێنکەوتوان", - "privacy.private.short": "Followers-only", - "privacy.public.long": "Visible for all", + "privacy.private.short": "تەنیا شوێنکەوتووان", + "privacy.public.long": "بۆ هەمووان دیارە", "privacy.public.short": "گشتی", - "privacy.unlisted.long": "Visible for all, but opted-out of discovery features", + "privacy.unlisted.long": "بۆ هەمووان دیارە، بەڵام لە تایبەتمەندییەکانی دۆزینەوە دەرچووە", "privacy.unlisted.short": "لە لیست نەکراو", "refresh": "نوێکردنەوە", "regeneration_indicator.label": "بارکردن…", "regeneration_indicator.sublabel": "ڕاگەیەنەری ماڵەوەت ئامادە دەکرێت!", "relative_time.days": "{number}ڕۆژ", - "relative_time.full.days": "{number, plural, one {# day} other {# days}} ago", - "relative_time.full.hours": "{number, plural, one {# hour} other {# hours}} ago", - "relative_time.full.just_now": "just now", - "relative_time.full.minutes": "{number, plural, one {# minute} other {# minutes}} ago", - "relative_time.full.seconds": "{number, plural, one {# second} other {# seconds}} ago", + "relative_time.full.days": "{number, plural, one {# ڕۆژ} other {# ڕۆژ}} ماوە", + "relative_time.full.hours": "{number, plural, one {# کاتژمێر} other {# کاتژمێر}} ماوە", + "relative_time.full.just_now": "ئێستا", + "relative_time.full.minutes": "{number, plural, one {# خولەک} other {# خولەک}} ماوە", + "relative_time.full.seconds": "{number, plural, one {# چرکە} other {# چرکە}} ماوە", "relative_time.hours": "{number}کات", "relative_time.just_now": "ئێستا", "relative_time.minutes": "{number}کات", @@ -418,19 +418,19 @@ "report.reasons.spam": "ئەوە سپامە", "report.reasons.spam_description": "لینکە خراپەکان، بەشداری ساختە، یان وەڵامدانەوەی دووبارە", "report.reasons.violation": "یاساکانی سێرڤەر پێشێل دەکات", - "report.reasons.violation_description": "You are aware that it breaks specific rules", - "report.rules.subtitle": "Select all that apply", - "report.rules.title": "Which rules are being violated?", - "report.statuses.subtitle": "Select all that apply", - "report.statuses.title": "Are there any posts that back up this report?", + "report.reasons.violation_description": "ئاگاداری ئەوەن کە یاسا تایبەتەکان دەشکێنێت", + "report.rules.subtitle": "هەموو ئەوانەی کە کاریان پێدەکرێت هەڵبژێرە", + "report.rules.title": "کام یاسا پێشێل دەکرێت؟", + "report.statuses.subtitle": "هەموو ئەوانەی کە کاریان پێدەکرێت هەڵبژێرە", + "report.statuses.title": "ئایا هیچ پۆستێک هەیە کە پشتگیری ئەم ڕاپۆرتە بکات؟", "report.submit": "ناردن", "report.target": "گوزارشتکردنی{target}", - "report.thanks.take_action": "Here are your options for controlling what you see on Mastodon:", - "report.thanks.take_action_actionable": "While we review this, you can take action against @{name}:", - "report.thanks.title": "Don't want to see this?", - "report.thanks.title_actionable": "Thanks for reporting, we'll look into this.", - "report.unfollow": "Unfollow @{name}", - "report.unfollow_explanation": "You are following this account. To not see their posts in your home feed anymore, unfollow them.", + "report.thanks.take_action": "لێرەدا بژاردەکانت بۆ کۆنترۆڵکردنی ئەو شتانە دەخەینەڕوو کە لە ماستۆدۆن دەیبینیت:", + "report.thanks.take_action_actionable": "لە کاتێکدا ئێمە پێداچوونەوە بەم بابەتە دەکەین، دەتوانیت ڕێوشوێن بگریتەبەر دژی @{name}:", + "report.thanks.title": "ناتەوێت ئەمە ببینیت؟", + "report.thanks.title_actionable": "سوپاس بۆ ڕاپۆرتکردن، ئێمە سەیری ئەم بابەتە دەکەین.", + "report.unfollow": "بەدوادانەچوو@{name}", + "report.unfollow_explanation": "تۆ شوێنکەوتووی ئەم هەژماررەی دەکەیت. بۆ ئەوەی چیتر نووسراوەکانیان لە هۆم فیدی خۆت نەبینی، بەدوایان مەچۆ.", "search.placeholder": "گەڕان", "search_popout.search_format": "شێوەی گەڕانی پێشکەوتوو", "search_popout.tips.full_text": "گەڕانێکی دەقی سادە دەتوانێت توتەکانی ئێوە کە، نووسیوتانە،پەسەنتان کردووە، دووبارەتانکردووە، یان ئەو توتانە کە باسی ئێوەی تێدا کراوە پەیدا دەکا. هەروەها ناوی بەکارهێنەران، ناوی پیشاندراو و هەشتەگەکانیش لە خۆ دەگرێت.", @@ -457,12 +457,12 @@ "status.direct": "پەیامی ڕاستەوخۆ @{name}", "status.edit": "دەستکاری", "status.edited": "بەشداری {date}", - "status.edited_x_times": "Edited {count, plural, one {{count} time} other {{count} times}}", + "status.edited_x_times": "دەستکاریکراوە {count, plural, one {{count} کات} other {{count} کات}}", "status.embed": "نیشتەجێ بکە", "status.favourite": "دڵخواز", "status.filtered": "پاڵاوتن", - "status.history.created": "{name} created {date}", - "status.history.edited": "{name} edited {date}", + "status.history.created": "{name} دروستکراوە لە{date}", + "status.history.edited": "{name} دروستکاریکراوە لە{date}", "status.load_more": "زیاتر بار بکە", "status.media_hidden": "میدیای شاراوە", "status.mention": "ناوبنێ @{name}", @@ -520,14 +520,14 @@ "upload_error.poll": "فایل و ڕاپرسی پێکەوە ڕێپێنەدراون.", "upload_form.audio_description": "پەیامەکەت بۆ نابیستەکان", "upload_form.description": "پەیامەکەت بۆ نابیناکان", - "upload_form.description_missing": "No description added", + "upload_form.description_missing": "هیچ وەسفێک زیاد نەکراوە", "upload_form.edit": "دەستکاری", "upload_form.thumbnail": "گۆڕانی وینۆچکە", "upload_form.undo": "بیسڕەوە", "upload_form.video_description": "پەیامەکەت بۆ نابیست و نابیناکان", "upload_modal.analyzing_picture": "وێنەکە شی دەکرێتەوە…", "upload_modal.apply": "بیسەپێنە", - "upload_modal.applying": "Applying…", + "upload_modal.applying": "داواکاری…", "upload_modal.choose_image": "وێنە هەڵبژێرە", "upload_modal.description_placeholder": "بە دڵ کەین با بە نەشئەی مەی غوباری میحنەتی دونیا", "upload_modal.detect_text": "نووسینی ناو وێنەکە دەستنیشان بکە", diff --git a/app/javascript/mastodon/locales/defaultMessages.json b/app/javascript/mastodon/locales/defaultMessages.json index ffaf05605..56266e9e2 100644 --- a/app/javascript/mastodon/locales/defaultMessages.json +++ b/app/javascript/mastodon/locales/defaultMessages.json @@ -1546,7 +1546,7 @@ "id": "compose_form.hashtag_warning" }, { - "defaultMessage": "Posts on Mastodon are not end-to-end encrypted. Do not share any dangerous information over Mastodon.", + "defaultMessage": "Posts on Mastodon are not end-to-end encrypted. Do not share any sensitive information over Mastodon.", "id": "compose_form.encryption_warning" }, { @@ -3724,4 +3724,4 @@ ], "path": "app/javascript/mastodon/features/video/index.json" } -] \ No newline at end of file +] diff --git a/app/javascript/mastodon/locales/en.json b/app/javascript/mastodon/locales/en.json index 1efa93967..6a361a265 100644 --- a/app/javascript/mastodon/locales/en.json +++ b/app/javascript/mastodon/locales/en.json @@ -99,7 +99,7 @@ "compose.language.change": "Change language", "compose.language.search": "Search languages...", "compose_form.direct_message_warning_learn_more": "Learn more", - "compose_form.encryption_warning": "Posts on Mastodon are not end-to-end encrypted. Do not share any dangerous information over Mastodon.", + "compose_form.encryption_warning": "Posts on Mastodon are not end-to-end encrypted. Do not share any sensitive information over Mastodon.", "compose_form.hashtag_warning": "This post won't be listed under any hashtag as it is unlisted. Only public posts can be searched by hashtag.", "compose_form.lock_disclaimer": "Your account is not {locked}. Anyone can follow you to view your follower-only posts.", "compose_form.lock_disclaimer.lock": "locked", diff --git a/app/javascript/mastodon/locales/eo.json b/app/javascript/mastodon/locales/eo.json index 0eb9ee682..917994561 100644 --- a/app/javascript/mastodon/locales/eo.json +++ b/app/javascript/mastodon/locales/eo.json @@ -18,7 +18,7 @@ "account.followers": "Sekvantoj", "account.followers.empty": "Ankoraŭ neniu sekvas tiun uzanton.", "account.followers_counter": "{count, plural, one{{counter} Sekvanto} other {{counter} Sekvantoj}}", - "account.following": "Following", + "account.following": "Sekvantaj", "account.following_counter": "{count, plural, one {{counter} Sekvato} other {{counter} Sekvatoj}}", "account.follows.empty": "Tiu uzanto ankoraŭ ne sekvas iun.", "account.follows_you": "Sekvas vin", @@ -149,7 +149,7 @@ "embed.instructions": "Enkorpigu ĉi tiun mesaĝon en vian retejon per kopio de la suba kodo.", "embed.preview": "Ĝi aperos tiel:", "emoji_button.activity": "Agadoj", - "emoji_button.clear": "Clear", + "emoji_button.clear": "Forviŝi", "emoji_button.custom": "Propraj", "emoji_button.flags": "Flagoj", "emoji_button.food": "Manĝi kaj trinki", @@ -267,7 +267,7 @@ "lightbox.expand": "Pligrandigi bildan vidkeston", "lightbox.next": "Sekva", "lightbox.previous": "Antaŭa", - "limited_account_hint.action": "Show profile anyway", + "limited_account_hint.action": "Montru profilon ĉiukaze", "limited_account_hint.title": "This profile has been hidden by the moderators of your server.", "lists.account.add": "Aldoni al la listo", "lists.account.remove": "Forigi de la listo", @@ -331,7 +331,7 @@ "notifications.column_settings.favourite": "Stelumoj:", "notifications.column_settings.filter_bar.advanced": "Montri ĉiujn kategoriojn", "notifications.column_settings.filter_bar.category": "Rapida filtra breto", - "notifications.column_settings.filter_bar.show_bar": "Show filter bar", + "notifications.column_settings.filter_bar.show_bar": "Montru filtrilon", "notifications.column_settings.follow": "Novaj sekvantoj:", "notifications.column_settings.follow_request": "Novaj petoj de sekvado:", "notifications.column_settings.mention": "Mencioj:", diff --git a/app/javascript/mastodon/locales/et.json b/app/javascript/mastodon/locales/et.json index 8c25a6af5..e7c153681 100644 --- a/app/javascript/mastodon/locales/et.json +++ b/app/javascript/mastodon/locales/et.json @@ -1,5 +1,5 @@ { - "account.account_note_header": "Note", + "account.account_note_header": "Märge", "account.add_or_remove_from_list": "Lisa või Eemalda nimekirjadest", "account.badges.bot": "Robot", "account.badges.group": "Grupp", @@ -8,7 +8,7 @@ "account.blocked": "Blokeeritud", "account.browse_more_on_origin_server": "Browse more on the original profile", "account.cancel_follow_request": "Tühista jälgimistaotlus", - "account.direct": "Otsesõnum @{name}", + "account.direct": "Saada otsesõnum @{name}'ile", "account.disable_notifications": "Stop notifying me when @{name} posts", "account.domain_blocked": "Domeen peidetud", "account.edit_profile": "Muuda profiili", @@ -17,28 +17,28 @@ "account.follow": "Jälgi", "account.followers": "Jälgijad", "account.followers.empty": "Keegi ei jälgi seda kasutajat veel.", - "account.followers_counter": "{count, plural, one {{counter} Follower} other {{counter} Followers}}", + "account.followers_counter": "{count, plural, one {{counter} jälgija} other {{counter} jälgijat}}", "account.following": "Following", - "account.following_counter": "{count, plural, one {{counter} Following} other {{counter} Following}}", + "account.following_counter": "{count, plural, one {{counter} jälgitav} other {{counter} jälgitavat}}", "account.follows.empty": "See kasutaja ei jälgi veel kedagi.", "account.follows_you": "Jälgib Teid", "account.hide_reblogs": "Peida upitused kasutajalt @{name}", - "account.joined": "Joined {date}", + "account.joined": "Liitus {date}", "account.link_verified_on": "Selle lingi autorsust kontrolliti {date}", "account.locked_info": "Selle konto privaatsussätteks on lukustatud. Omanik vaatab manuaalselt üle, kes teda jägida saab.", "account.media": "Meedia", - "account.mention": "Maini @{name}", + "account.mention": "Maini @{name}'i", "account.moved_to": "{name} on kolinud:", "account.mute": "Vaigista @{name}", "account.mute_notifications": "Vaigista teated kasutajalt @{name}", "account.muted": "Vaigistatud", - "account.posts": "Tuututused", - "account.posts_with_replies": "Tuututused ja vastused", + "account.posts": "Postitused", + "account.posts_with_replies": "Postitused ja vastused", "account.report": "Raporteeri @{name}", "account.requested": "Ootab kinnitust. Klõpsa jälgimise soovi tühistamiseks", "account.share": "Jaga @{name} profiili", "account.show_reblogs": "Näita kasutaja @{name} upitusi", - "account.statuses_counter": "{count, plural, one {{counter} Toot} other {{counter} Toots}}", + "account.statuses_counter": "{count, plural, one {{counter} postitus} other {{counter} postitust}}", "account.unblock": "Eemalda blokeering @{name}", "account.unblock_domain": "Tee {domain} nähtavaks", "account.unblock_short": "Unblock", @@ -47,7 +47,7 @@ "account.unmute": "Ära vaigista @{name}", "account.unmute_notifications": "Ära vaigista teateid kasutajalt @{name}", "account.unmute_short": "Unmute", - "account_note.placeholder": "Click to add a note", + "account_note.placeholder": "Klõpsa märkme lisamiseks", "admin.dashboard.daily_retention": "User retention rate by day after sign-up", "admin.dashboard.monthly_retention": "User retention rate by month after sign-up", "admin.dashboard.retention.average": "Average", @@ -99,14 +99,14 @@ "compose_form.hashtag_warning": "Seda tuuti ei kuvata ühegi sildi all, sest see on kirjendamata. Ainult avalikud tuutid on sildi järgi otsitavad.", "compose_form.lock_disclaimer": "Teie konto ei ole {locked}. Igaüks saab Teid jälgida ja näha Teie ainult-jälgijatele postitusi.", "compose_form.lock_disclaimer.lock": "lukus", - "compose_form.placeholder": "Millest mõtlete?", + "compose_form.placeholder": "Millest mõtled?", "compose_form.poll.add_option": "Lisa valik", "compose_form.poll.duration": "Küsitluse kestus", "compose_form.poll.option_placeholder": "Valik {number}", "compose_form.poll.remove_option": "Eemalda see valik", "compose_form.poll.switch_to_multiple": "Muuda küsitlust lubamaks mitut valikut", "compose_form.poll.switch_to_single": "Muuda küsitlust lubamaks ainult ühte valikut", - "compose_form.publish": "Tuut", + "compose_form.publish": "Tuututa", "compose_form.publish_loud": "{publish}!", "compose_form.save_changes": "Save changes", "compose_form.sensitive.hide": "Märgista meedia tundlikuks", @@ -152,7 +152,7 @@ "emoji_button.clear": "Clear", "emoji_button.custom": "Mugandatud", "emoji_button.flags": "Lipud", - "emoji_button.food": "Toit & Jook", + "emoji_button.food": "Toit & jook", "emoji_button.label": "Sisesta emoji", "emoji_button.nature": "Loodus", "emoji_button.not_found": "Ei ole emojosi!! (╯°□°)╯︵ ┻━┻", @@ -162,7 +162,7 @@ "emoji_button.search": "Otsi...", "emoji_button.search_results": "Otsitulemused", "emoji_button.symbols": "Sümbolid", - "emoji_button.travel": "Reisimine & Kohad", + "emoji_button.travel": "Reisimine & kohad", "empty_column.account_suspended": "Account suspended", "empty_column.account_timeline": "Siin tuute ei ole!", "empty_column.account_unavailable": "Profiil pole saadaval", @@ -171,11 +171,11 @@ "empty_column.community": "Kohalik ajajoon on tühi. Kirjutage midagi avalikult, et pall veerema ajada!", "empty_column.direct": "You don't have any direct messages yet. When you send or receive one, it will show up here.", "empty_column.domain_blocks": "Siin ei ole veel peidetud domeene.", - "empty_column.explore_statuses": "Nothing is trending right now. Check back later!", + "empty_column.explore_statuses": "Ükski postitus pole hetkel populaarne. Tule hiljem tagasi!", "empty_column.favourited_statuses": "Teil pole veel lemmikuid tuute. Kui märgite mõne, näete neid siin.", "empty_column.favourites": "Keegi pole veel seda tuuti lemmikuks märkinud. Kui seegi seda teeb, näed seda siin.", "empty_column.follow_recommendations": "Looks like no suggestions could be generated for you. You can try using search to look for people you might know or explore trending hashtags.", - "empty_column.follow_requests": "Teil pole veel ühtegi jälgimise taotlust. Kui saate mõne, näete neid siin.", + "empty_column.follow_requests": "Teil pole hetkel ühtegi jälgimistaotlust. Kui saate mõne, näete neid siin.", "empty_column.hashtag": "Selle sildiga pole veel midagi.", "empty_column.home": "Teie kodu ajajoon on tühi! Külastage {public} või kasutage otsingut alustamaks ja kohtamaks teisi kasutajaid.", "empty_column.home.suggestions": "See some suggestions", @@ -190,12 +190,12 @@ "error.unexpected_crash.next_steps_addons": "Try disabling them and refreshing the page. If that does not help, you may still be able to use Mastodon through a different browser or native app.", "errors.unexpected_crash.copy_stacktrace": "Kopeeri stacktrace lõikelauale", "errors.unexpected_crash.report_issue": "Teavita veast", - "explore.search_results": "Search results", - "explore.suggested_follows": "For you", - "explore.title": "Explore", - "explore.trending_links": "News", - "explore.trending_statuses": "Posts", - "explore.trending_tags": "Hashtags", + "explore.search_results": "Otsingutulemused", + "explore.suggested_follows": "Sinu jaoks", + "explore.title": "Avasta", + "explore.trending_links": "Uudised", + "explore.trending_statuses": "Postitused", + "explore.trending_tags": "Sildid", "follow_recommendations.done": "Done", "follow_recommendations.heading": "Follow people you'd like to see posts from! Here are some suggestions.", "follow_recommendations.lead": "Posts from people you follow will show up in chronological order on your home feed. Don't be afraid to make mistakes, you can unfollow people just as easily any time!", @@ -236,7 +236,7 @@ "keyboard_shortcuts.description": "Kirjeldus", "keyboard_shortcuts.direct": "to open direct messages column", "keyboard_shortcuts.down": "liikumaks nimstus alla", - "keyboard_shortcuts.enter": "staatuse avamiseks", + "keyboard_shortcuts.enter": "Ava postitus", "keyboard_shortcuts.favourite": "lemmikuks märkimiseks", "keyboard_shortcuts.favourites": "avamaks lemmikute nimistut", "keyboard_shortcuts.federated": "avamaks föderatsiooni ajajoont", @@ -284,13 +284,13 @@ "lists.subheading": "Teie nimistud", "load_pending": "{count, plural, one {# uus kirje} other {# uut kirjet}}", "loading_indicator.label": "Laeb..", - "media_gallery.toggle_visible": "Lülita nähtavus", + "media_gallery.toggle_visible": "{number, plural, one {Varja pilt} other {Varja pildid}}", "missing_indicator.label": "Ei leitud", "missing_indicator.sublabel": "Seda ressurssi ei leitud", "mute_modal.duration": "Duration", "mute_modal.hide_notifications": "Kas peita teated sellelt kasutajalt?", "mute_modal.indefinite": "Indefinite", - "navigation_bar.apps": "Mobiilrakendused", + "navigation_bar.apps": "Mobiilirakendused", "navigation_bar.blocks": "Blokeeritud kasutajad", "navigation_bar.bookmarks": "Järjehoidjad", "navigation_bar.community_timeline": "Kohalik ajajoon", @@ -299,7 +299,7 @@ "navigation_bar.discover": "Avasta", "navigation_bar.domain_blocks": "Peidetud domeenid", "navigation_bar.edit_profile": "Muuda profiili", - "navigation_bar.explore": "Explore", + "navigation_bar.explore": "Avasta", "navigation_bar.favourites": "Lemmikud", "navigation_bar.filters": "Vaigistatud sõnad", "navigation_bar.follow_requests": "Jälgimistaotlused", @@ -364,13 +364,13 @@ "poll.closed": "Suletud", "poll.refresh": "Värskenda", "poll.total_people": "{count, plural,one {# inimene} other {# inimest}}", - "poll.total_votes": "{count, plural, one {# hääl} other {# hääli}}", + "poll.total_votes": "{count, plural, one {# hääl} other {# häält}}", "poll.vote": "Hääleta", "poll.voted": "Teie hääletasite selle poolt", - "poll.votes": "{votes, plural, one {# vote} other {# votes}}", + "poll.votes": "{votes, plural, one {# hääl} other {# häält}}", "poll_button.add_poll": "Lisa küsitlus", "poll_button.remove_poll": "Eemalda küsitlus", - "privacy.change": "Muuda staatuse privaatsust", + "privacy.change": "Muuda postituse nähtavust", "privacy.direct.long": "Postita ainult mainitud kasutajatele", "privacy.direct.short": "Direct", "privacy.private.long": "Postita ainult jälgijatele", @@ -384,7 +384,7 @@ "regeneration_indicator.sublabel": "Teie kodu voog on ettevalmistamisel!", "relative_time.days": "{number}p", "relative_time.full.days": "{number, plural, one {# day} other {# days}} ago", - "relative_time.full.hours": "{number, plural, one {# hour} other {# hours}} ago", + "relative_time.full.hours": "{number, plural, one {# tund} other {# tundi}} tagasi", "relative_time.full.just_now": "just now", "relative_time.full.minutes": "{number, plural, one {# minute} other {# minutes}} ago", "relative_time.full.seconds": "{number, plural, one {# second} other {# seconds}} ago", @@ -439,7 +439,7 @@ "search_popout.tips.text": "Lihtne tekst toob esile kattuvad kuvanimed, kasutajanimed ning sildid", "search_popout.tips.user": "kasutaja", "search_results.accounts": "Inimesed", - "search_results.all": "All", + "search_results.all": "Kõik", "search_results.hashtags": "Sildid", "search_results.nothing_found": "Could not find anything for these search terms", "search_results.statuses": "Tuudid", @@ -451,10 +451,10 @@ "status.bookmark": "Järjehoidja", "status.cancel_reblog_private": "Äraupita", "status.cannot_reblog": "Seda postitust ei saa upitada", - "status.copy": "Kopeeri link staatusesse", + "status.copy": "Kopeeri postituse link", "status.delete": "Kustuta", "status.detailed_status": "Detailne vestluskuva", - "status.direct": "Otsesõnum @{name}", + "status.direct": "Saada otsesõnum @{name}'ile", "status.edit": "Edit", "status.edited": "Edited {date}", "status.edited_x_times": "Edited {count, plural, one {{count} time} other {{count} times}}", @@ -463,13 +463,13 @@ "status.filtered": "Filtreeritud", "status.history.created": "{name} created {date}", "status.history.edited": "{name} edited {date}", - "status.load_more": "Lae veel", + "status.load_more": "Lae rohkem", "status.media_hidden": "Meedia peidetud", - "status.mention": "Mainimine @{name}", + "status.mention": "Maini @{name}'i", "status.more": "Veel", "status.mute": "Vaigista @{name}", "status.mute_conversation": "Vaigista vestlus", - "status.open": "Laienda see staatus", + "status.open": "Laienda see postitus", "status.pin": "Kinnita profiilile", "status.pinned": "Kinnitatud tuut", "status.read_more": "Loe veel", @@ -481,7 +481,7 @@ "status.remove_bookmark": "Eemalda järjehoidja", "status.reply": "Vasta", "status.replyAll": "Vasta lõimele", - "status.report": "Raport @{name}", + "status.report": "Raporteeri @{name}", "status.sensitive_warning": "Tundlik sisu", "status.share": "Jaga", "status.show_less": "Näita vähem", @@ -499,17 +499,17 @@ "tabs_bar.local_timeline": "Kohalik", "tabs_bar.notifications": "Teated", "tabs_bar.search": "Otsi", - "time_remaining.days": "{number, plural, one {# päev} other {# päeva}} left", - "time_remaining.hours": "{number, plural, one {# tund} other {# tundi}} left", - "time_remaining.minutes": "{number, plural, one {# minut} other {# minutit}} left", + "time_remaining.days": "{number, plural, one {# päev} other {# päeva}} jäänud", + "time_remaining.hours": "{number, plural, one {# tund} other {# tundi}} jäänud", + "time_remaining.minutes": "{number, plural, one {# minut} other {# minutit}} jäänud", "time_remaining.moments": "Hetked jäänud", - "time_remaining.seconds": "{number, plural, one {# sekund} other {# sekundit}} left", + "time_remaining.seconds": "{number, plural, one {# sekund} other {# sekundit}} jäänud", "timeline_hint.remote_resource_not_displayed": "{resource} from other servers are not displayed.", "timeline_hint.resources.followers": "Followers", "timeline_hint.resources.follows": "Follows", "timeline_hint.resources.statuses": "Older toots", "trends.counter_by_accounts": "{count, plural, one {{counter} person} other {{counter} people}} talking", - "trends.trending_now": "Praegu populaarne", + "trends.trending_now": "Hetkel populaarne", "ui.beforeunload": "Teie mustand läheb kaotsi, kui lahkute Mastodonist.", "units.short.billion": "{count}B", "units.short.million": "{count}M", diff --git a/app/javascript/mastodon/locales/gd.json b/app/javascript/mastodon/locales/gd.json index 0f5ffab04..4294cee84 100644 --- a/app/javascript/mastodon/locales/gd.json +++ b/app/javascript/mastodon/locales/gd.json @@ -92,8 +92,8 @@ "community.column_settings.local_only": "Feadhainn ionadail a-mhàin", "community.column_settings.media_only": "Meadhanan a-mhàin", "community.column_settings.remote_only": "Feadhainn chèin a-mhàin", - "compose.language.change": "Change language", - "compose.language.search": "Search languages...", + "compose.language.change": "Atharraich an cànan", + "compose.language.search": "Lorg cànan…", "compose_form.direct_message_warning_learn_more": "Barrachd fiosrachaidh", "compose_form.encryption_warning": "Chan eil crioptachadh ceann gu ceann air postaichean Mhastodon. Na co-roinn fiosrachadh cunnartach idir le Mastodon.", "compose_form.hashtag_warning": "Cha nochd am post seo fon taga hais on a tha e falaichte o liostaichean. Cha ghabh ach postaichean poblach a lorg a-rèir an tagaichean hais.", @@ -149,7 +149,7 @@ "embed.instructions": "Leabaich am post seo san làrach-lìn agad is tu a’ dèanamh lethbhreac dhen chòd gu h-ìosal.", "embed.preview": "Seo an coltas a bhios air:", "emoji_button.activity": "Gnìomhachd", - "emoji_button.clear": "Clear", + "emoji_button.clear": "Falamhaich", "emoji_button.custom": "Gnàthaichte", "emoji_button.flags": "Brataichean", "emoji_button.food": "Biadh ⁊ deoch", @@ -206,7 +206,7 @@ "getting_started.developers": "Luchd-leasachaidh", "getting_started.directory": "Eòlaire nam pròifil", "getting_started.documentation": "Docamaideadh", - "getting_started.heading": "Dèan toiseach-tòiseachaidh", + "getting_started.heading": "Toiseach", "getting_started.invite": "Thoir cuireadh do dhaoine", "getting_started.open_source_notice": "’S e bathar-bog le bun-tùs fosgailte a th’ ann am Mastodon. ’S urrainn dhut cuideachadh leis no aithris a dhèanamh air duilgheadasan air GitHub fo {github}.", "getting_started.security": "Roghainnean a’ chunntais", @@ -256,7 +256,7 @@ "keyboard_shortcuts.requests": "Fosgail liosta nan iarrtasan leantainn", "keyboard_shortcuts.search": "Cuir am fòcas air a’ bhàr-luirg", "keyboard_shortcuts.spoilers": "Seall/Falaich raon an rabhaidh susbainte", - "keyboard_shortcuts.start": "Fosgail an colbh “dèan toiseach-tòiseachaidh”", + "keyboard_shortcuts.start": "Fosgail an colbh “Toiseach”", "keyboard_shortcuts.toggle_hidden": "Seall/Falaich an teacsa fo rabhadh susbainte", "keyboard_shortcuts.toggle_sensitivity": "Seall/Falaich na meadhanan", "keyboard_shortcuts.toot": "Tòisich air post ùr", diff --git a/app/javascript/mastodon/locales/hy.json b/app/javascript/mastodon/locales/hy.json index 493deba27..1285403fc 100644 --- a/app/javascript/mastodon/locales/hy.json +++ b/app/javascript/mastodon/locales/hy.json @@ -70,7 +70,7 @@ "column.blocks": "Արգելափակուած օգտատէրեր", "column.bookmarks": "Էջանիշեր", "column.community": "Տեղական հոսք", - "column.direct": "Direct messages", + "column.direct": "Հասցէագրուած", "column.directory": "Զննել անձնական էջերը", "column.domain_blocks": "Թաքցուած տիրոյթները", "column.favourites": "Հաւանածներ", @@ -95,7 +95,7 @@ "compose.language.change": "Change language", "compose.language.search": "Search languages...", "compose_form.direct_message_warning_learn_more": "Իմանալ աւելին", - "compose_form.encryption_warning": "Posts on Mastodon are not end-to-end encrypted. Do not share any dangerous information over Mastodon.", + "compose_form.encryption_warning": "Մաստոդոնում գրառումները ծայրից-ծայր գաղտնագրուող չեն։ Գաղտնիք պարունակող նամակներ մի ուղարկէք։", "compose_form.hashtag_warning": "Այս գրառումը չի հաշուառուի որեւէ պիտակի տակ, քանզի այն ծածուկ է։ Միայն հրապարակային թթերը հնարաւոր է որոնել պիտակներով։", "compose_form.lock_disclaimer": "Քո հաշիւը {locked} չէ։ Իւրաքանչիւրութիւն ոք կարող է հետեւել քեզ եւ տեսնել միայն հետեւողների համար նախատեսուած գրառումները։", "compose_form.lock_disclaimer.lock": "փակ", @@ -169,7 +169,7 @@ "empty_column.blocks": "Դու դեռ ոչ մէկի չես արգելափակել։", "empty_column.bookmarked_statuses": "Դու դեռ չունես որեւէ էջանշուած գրառում։ Երբ էջանշես, դրանք կը երեւան այստեղ։", "empty_column.community": "Տեղական հոսքը դատարկ է։ Հրապարակային մի բան գրի՛ր շարժիչը գործարկելու համար։", - "empty_column.direct": "You don't have any direct messages yet. When you send or receive one, it will show up here.", + "empty_column.direct": "Դու դեռ չունես ոչ մի հասցէագրուած հաղորդագրութիւն։ Երբ ուղարկես կամ ստանաս որեւէ անձնական նամակ, այն կերեւայ այստեղ։", "empty_column.domain_blocks": "Թաքցուած տիրոյթներ դեռ չկան։", "empty_column.explore_statuses": "Nothing is trending right now. Check back later!", "empty_column.favourited_statuses": "Դու դեռ չունես որեւէ հաւանած գրառում։ Երբ հաւանես, դրանք կերեւան այստեղ։", @@ -295,7 +295,7 @@ "navigation_bar.bookmarks": "Էջանիշեր", "navigation_bar.community_timeline": "Տեղական հոսք", "navigation_bar.compose": "Ստեղծել նոր գրառում", - "navigation_bar.direct": "Direct messages", + "navigation_bar.direct": "Հասցէագրուած նամակներ", "navigation_bar.discover": "Բացայայտել", "navigation_bar.domain_blocks": "Թաքցուած տիրոյթներ", "navigation_bar.edit_profile": "Խմբագրել անձնական էջը", diff --git a/app/javascript/mastodon/locales/io.json b/app/javascript/mastodon/locales/io.json index 27dc52ce9..bb13779f3 100644 --- a/app/javascript/mastodon/locales/io.json +++ b/app/javascript/mastodon/locales/io.json @@ -6,7 +6,7 @@ "account.block": "Blokusar @{name}", "account.block_domain": "Hide everything from {domain}", "account.blocked": "Restriktita", - "account.browse_more_on_origin_server": "Videz plu che originala profilo", + "account.browse_more_on_origin_server": "Videz pluse che originala profilo", "account.cancel_follow_request": "Removez sequodemando", "account.direct": "Direct Message @{name}", "account.disable_notifications": "Cesez avizar me kande @{name} postas", @@ -94,7 +94,7 @@ "community.column_settings.remote_only": "Fora nur", "compose.language.change": "Chanjez linguo", "compose.language.search": "Trovez linguo...", - "compose_form.direct_message_warning_learn_more": "Lernez plu", + "compose_form.direct_message_warning_learn_more": "Lernez pluse", "compose_form.encryption_warning": "Posti di Mastodon ne intersequante chifrigesas. Ne partigez irga danjera informo che Mastodon.", "compose_form.hashtag_warning": "This toot won't be listed under any hashtag as it is unlisted. Only public toots can be searched by hashtag.", "compose_form.lock_disclaimer": "Vua konto ne esas {locked}. Irgu povas sequar vu por vidar vua sequanto-nura posti.", @@ -109,14 +109,14 @@ "compose_form.publish": "Siflar", "compose_form.publish_loud": "{publish}!", "compose_form.save_changes": "Sparez chanji", - "compose_form.sensitive.hide": "{count, plural,one {Markigez medii quale privata} other {Markigez medii quale privata}}", - "compose_form.sensitive.marked": "{count, plural,one {Medii markigesis quale privata} other {Medii markigesis quale privata}}", - "compose_form.sensitive.unmarked": "{count, plural,one {Medii ne markigesis quale privata} other {Medii ne markigesis quale privata}}", + "compose_form.sensitive.hide": "{count, plural,one {Markizez medii quale privata} other {Markizez medii quale privata}}", + "compose_form.sensitive.marked": "{count, plural,one {Medii markizesis quale privata} other {Medii markizesis quale privata}}", + "compose_form.sensitive.unmarked": "{count, plural,one {Medii ne markizesis quale privata} other {Medii ne markizesis quale privata}}", "compose_form.spoiler.marked": "Text is hidden behind warning", "compose_form.spoiler.unmarked": "Text is not hidden", "compose_form.spoiler_placeholder": "Averto di kontenajo", - "confirmation_modal.cancel": "Extingez", - "confirmations.block.block_and_report": "Restriktez e Raportigez", + "confirmation_modal.cancel": "Anulez", + "confirmations.block.block_and_report": "Restriktez e Raportizez", "confirmations.block.confirm": "Restriktez", "confirmations.block.message": "Ka vu certe volas restrikar {name}?", "confirmations.delete.confirm": "Efacez", @@ -139,7 +139,7 @@ "confirmations.unfollow.confirm": "Desequez", "confirmations.unfollow.message": "Ka vu certe volas desequar {name}?", "conversation.delete": "Efacez konverso", - "conversation.mark_as_read": "Markigez quale lektita", + "conversation.mark_as_read": "Markizez quale lektita", "conversation.open": "Videz konverso", "conversation.with": "Kun {names}", "directory.federated": "De savita fediverso", @@ -184,7 +184,7 @@ "empty_column.mutes": "Vu ne silencigis irga uzanti til nun.", "empty_column.notifications": "Tu havas ankore nula savigo. Komunikez kun altri por debutar la konverso.", "empty_column.public": "Esas nulo hike! Skribez ulo publike, o manuale sequez uzeri de altra instaluri por plenigar ol.", - "error.unexpected_crash.explanation": "Pro eroro en nia numero o vidilkonciliebloproblemo, ca pagino ne povas korekte montresar.", + "error.unexpected_crash.explanation": "Pro eroro en nia kodexo o vidilkonciliebloproblemo, ca pagino ne povas korekte montresar.", "error.unexpected_crash.explanation_addons": "Ca pagino ne povas korekte montresar. Ca eroro posible kauzigesas vidilplusajo o automata tradukutensili.", "error.unexpected_crash.next_steps": "Probez rifreshar pagino. Se to ne helpas, vu forsan ankore povas uzar Mastodon per diferenta vidilo o provizita softwaro.", "error.unexpected_crash.next_steps_addons": "Probez desaktivigar e rifreshar pagino. Se to ne helpas, vu forsan ankore povas uzar Mastodon per diferenta vidilo o provizita softwaro.", @@ -286,11 +286,11 @@ "loading_indicator.label": "Kargante...", "media_gallery.toggle_visible": "Chanjar videbleso", "missing_indicator.label": "Ne trovita", - "missing_indicator.sublabel": "Ca resurso ne existas", + "missing_indicator.sublabel": "Ca moyeno ne existas", "mute_modal.duration": "Durado", "mute_modal.hide_notifications": "Celez avizi de ca uzanto?", "mute_modal.indefinite": "Nedefinitiva", - "navigation_bar.apps": "Telefonprogrami", + "navigation_bar.apps": "Smartfonsoftwari", "navigation_bar.blocks": "Blokusita uzeri", "navigation_bar.bookmarks": "Libromarki", "navigation_bar.community_timeline": "Lokala tempolineo", @@ -353,7 +353,7 @@ "notifications.filter.statuses": "Niuz de personi quon vu sequas", "notifications.grant_permission": "Donez permiso.", "notifications.group": "{count} avizi", - "notifications.mark_as_read": "Markigez singla avizi quale lektita", + "notifications.mark_as_read": "Markizez singla avizi quale lektita", "notifications.permission_denied": "Desktopavizi esas nedisplonebla pro antea refuzita vidilpermisdemando", "notifications.permission_denied_alert": "Desktopavizi ne povas aktivigesar pro ke vidilpermiso refuzesis", "notifications.permission_required": "Desktopavizi esas nedisplonebla pro ke bezonata permiso ne donesis.", @@ -398,7 +398,7 @@ "report.block_explanation": "Vu ne vidos olia posti. Oli ne povas vidar vua posti o sequar vu. Oli savos ke oli restriktesis.", "report.categories.other": "Altra", "report.categories.spam": "Spamo", - "report.categories.violation": "Kontenaj nesequas 1 o plu servilreguli", + "report.categories.violation": "Kontenaj nesequas servilregulo", "report.category.subtitle": "Selektez maxim bona parigato", "report.category.title": "Savigez ni pri quo eventas kun ca {type}", "report.category.title_account": "profilo", @@ -428,11 +428,11 @@ "report.thanks.take_action": "Co esas vua opcioni por regularar quo vu vidas che Mastodon:", "report.thanks.take_action_actionable": "Dum ke ni kontrolas co, vu povas demarshar kontra @{name}:", "report.thanks.title": "Ka vu ne volas vidar co?", - "report.thanks.title_actionable": "Danko por raportigar, ni kontrolos co.", + "report.thanks.title_actionable": "Danko por raportizar, ni kontrolos co.", "report.unfollow": "Desequez @{name}", - "report.unfollow_explanation": "Vu sequas ca konto. Por ne vidar olia posti en vua hemniuzeto plu, desequez oli.", + "report.unfollow_explanation": "Vu sequas ca konto. Por ne vidar olia posti en vua hemniuzeto pluse, desequez oli.", "search.placeholder": "Serchez", - "search_popout.search_format": "Avance trovformato", + "search_popout.search_format": "Avancata trovformato", "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.hashtag": "hashtago", "search_popout.tips.status": "status", @@ -466,13 +466,13 @@ "status.load_more": "Kargar pluse", "status.media_hidden": "Kontenajo celita", "status.mention": "Mencionar @{name}", - "status.more": "Plu", + "status.more": "Pluse", "status.mute": "Silencigez @{name}", "status.mute_conversation": "Silencigez konverso", "status.open": "Detaligar ca mesajo", "status.pin": "Pinglagez che profilo", "status.pinned": "Pinned toot", - "status.read_more": "Lektez plu", + "status.read_more": "Lektez pluse", "status.reblog": "Repetar", "status.reblog_private": "Bustez kun originala videbleso", "status.reblogged_by": "{name} repetita", @@ -487,7 +487,7 @@ "status.show_less": "Montrar mine", "status.show_less_all": "Montrez min por omno", "status.show_more": "Montrar plue", - "status.show_more_all": "Montrez plu por omno", + "status.show_more_all": "Montrez pluse por omno", "status.show_thread": "Montrez postaro", "status.uncached_media_warning": "Nedisplonebla", "status.unmute_conversation": "Desilencigez konverso", @@ -516,23 +516,23 @@ "units.short.thousand": "{count}K", "upload_area.title": "Tranar faligar por kargar", "upload_button.label": "Adjuntar kontenajo", - "upload_error.limit": "Failcharglimito ecesesis.", - "upload_error.poll": "Failchargo ne permisesas kun votposti.", - "upload_form.audio_description": "Deskriptez por personi kun min audkapableso", - "upload_form.description": "Deskriptez por personi kun min vidkapableso", + "upload_error.limit": "Failadcharglimito ecesesis.", + "upload_error.poll": "Failadchargo ne permisesas kun votposti.", + "upload_form.audio_description": "Deskriptez por personi kun audnekapableso", + "upload_form.description": "Deskriptez por personi kun vidnekapableso", "upload_form.description_missing": "Deskriptajo ne insertesis", "upload_form.edit": "Modifikez", - "upload_form.thumbnail": "Chanjez mikroimajo", + "upload_form.thumbnail": "Chanjez imajeto", "upload_form.undo": "Desfacar", - "upload_form.video_description": "Deskriptez por personi kun min audkapableso o min vidkapableso", + "upload_form.video_description": "Deskriptez por personi kun audnekapableso o vidnekapableso", "upload_modal.analyzing_picture": "Analizas imajo…", "upload_modal.apply": "Aplikez", "upload_modal.applying": "Aplikas…", "upload_modal.choose_image": "Selektez imajo", - "upload_modal.description_placeholder": "Rapida bruna foxo saltas super indolenta hundo", + "upload_modal.description_placeholder": "Rapida bruna foxo saltas super la indolenta hundo", "upload_modal.detect_text": "Deskovrez texto de imajo", "upload_modal.edit_media": "Modifikez medii", - "upload_modal.hint": "Kliktez o tirez cirklo che prevido por selektar central punto quo sempre montresas kun omna mikroimaji.", + "upload_modal.hint": "Kliktez o tirez cirklo che prevido por selektar centrala punto quo sempre montresas kun omna imajeti.", "upload_modal.preparing_ocr": "Preparas OCR…", "upload_modal.preview_label": "Previdez ({ratio})", "upload_progress.label": "Kargante...", diff --git a/app/models/account.rb b/app/models/account.rb index f4fc32153..7c81e07d9 100644 --- a/app/models/account.rb +++ b/app/models/account.rb @@ -113,7 +113,8 @@ class Account < ApplicationRecord scope :matches_username, ->(value) { where(arel_table[:username].matches("#{value}%")) } scope :matches_display_name, ->(value) { where(arel_table[:display_name].matches("#{value}%")) } scope :matches_domain, ->(value) { where(arel_table[:domain].matches("%#{value}%")) } - scope :searchable, -> { without_suspended.where(moved_to_account_id: nil) } + scope :without_unapproved, -> { left_outer_joins(:user).remote.or(left_outer_joins(:user).merge(User.approved.confirmed)) } + scope :searchable, -> { without_unapproved.without_suspended.where(moved_to_account_id: nil) } scope :discoverable, -> { searchable.without_silenced.where(discoverable: true).left_outer_joins(:account_stat) } scope :followable_by, ->(account) { joins(arel_table.join(Follow.arel_table, Arel::Nodes::OuterJoin).on(arel_table[:id].eq(Follow.arel_table[:target_account_id]).and(Follow.arel_table[:account_id].eq(account.id))).join_sources).where(Follow.arel_table[:id].eq(nil)).joins(arel_table.join(FollowRequest.arel_table, Arel::Nodes::OuterJoin).on(arel_table[:id].eq(FollowRequest.arel_table[:target_account_id]).and(FollowRequest.arel_table[:account_id].eq(account.id))).join_sources).where(FollowRequest.arel_table[:id].eq(nil)) } scope :by_recent_status, -> { order(Arel.sql('(case when account_stats.last_status_at is null then 1 else 0 end) asc, account_stats.last_status_at desc, accounts.id desc')) } @@ -197,7 +198,7 @@ class Account < ApplicationRecord end def searchable? - !(suspended? || moved?) + !(suspended? || moved?) && (!local? || (approved? && confirmed?)) end def possibly_stale? @@ -463,9 +464,11 @@ class Account < ApplicationRecord accounts.*, ts_rank_cd(#{TEXTSEARCH}, to_tsquery('simple', :tsquery), 32) AS rank FROM accounts + LEFT JOIN users ON accounts.id = users.account_id WHERE to_tsquery('simple', :tsquery) @@ #{TEXTSEARCH} AND accounts.suspended_at IS NULL AND accounts.moved_to_account_id IS NULL + AND (accounts.domain IS NOT NULL OR (users.approved = TRUE AND users.confirmed_at IS NOT NULL)) ORDER BY rank DESC LIMIT :limit OFFSET :offset SQL @@ -541,9 +544,11 @@ class Account < ApplicationRecord (count(f.id) + 1) * ts_rank_cd(#{TEXTSEARCH}, to_tsquery('simple', :tsquery), 32) AS rank FROM accounts LEFT OUTER JOIN follows AS f ON (accounts.id = f.account_id AND f.target_account_id = :id) OR (accounts.id = f.target_account_id AND f.account_id = :id) + LEFT JOIN users ON accounts.id = users.account_id WHERE to_tsquery('simple', :tsquery) @@ #{TEXTSEARCH} AND accounts.suspended_at IS NULL AND accounts.moved_to_account_id IS NULL + AND (accounts.domain IS NOT NULL OR (users.approved = TRUE AND users.confirmed_at IS NOT NULL)) GROUP BY accounts.id ORDER BY rank DESC LIMIT :limit OFFSET :offset diff --git a/app/models/poll.rb b/app/models/poll.rb index ba08309a1..1a326e452 100644 --- a/app/models/poll.rb +++ b/app/models/poll.rb @@ -39,13 +39,12 @@ class Poll < ApplicationRecord before_validation :prepare_options, if: :local? before_validation :prepare_votes_count - - after_initialize :prepare_cached_tallies + before_validation :prepare_cached_tallies after_commit :reset_parent_cache, on: :update def loaded_options - options.map.with_index { |title, key| Option.new(self, key.to_s, title, show_totals_now? ? cached_tallies[key] : nil) } + options.map.with_index { |title, key| Option.new(self, key.to_s, title, show_totals_now? ? (cached_tallies[key] || 0) : nil) } end def possibly_stale? diff --git a/app/models/status.rb b/app/models/status.rb index 21a574a71..3efa23ae2 100644 --- a/app/models/status.rb +++ b/app/models/status.rb @@ -511,7 +511,7 @@ class Status < ApplicationRecord end def set_poll_id - update_column(:poll_id, poll.id) unless poll.nil? + update_column(:poll_id, poll.id) if association(:poll).loaded? && poll.present? end def set_visibility diff --git a/app/services/process_mentions_service.rb b/app/services/process_mentions_service.rb index 9d239fc65..8c63b611d 100644 --- a/app/services/process_mentions_service.rb +++ b/app/services/process_mentions_service.rb @@ -37,6 +37,9 @@ class ProcessMentionsService < BaseService mentioned_account = Account.find_remote(username, domain) + # Unapproved and unconfirmed accounts should not be mentionable + next if mentioned_account&.local? && !(mentioned_account.user_confirmed? && mentioned_account.user_approved?) + # If the account cannot be found or isn't the right protocol, # first try to resolve it if mention_undeliverable?(mentioned_account) |